@monoes/monomindcli 2.9.21 → 2.9.23
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/.claude/agents/consensus/quorum-manager.md +35 -54
- package/.claude/agents/core/coordinator.md +14 -18
- package/.claude/agents/core/researcher.md +1 -1
- package/.claude/agents/github/issue-tracker.md +3 -3
- package/.claude/agents/github/{code-review-swarm.md → monoswarm-code-review.md} +1 -1
- package/.claude/agents/github/{swarm-issue.md → monoswarm-issue.md} +1 -1
- package/.claude/agents/github/{multi-repo-swarm.md → monoswarm-multi-repo.md} +1 -1
- package/.claude/agents/github/{swarm-pr.md → monoswarm-pr.md} +1 -1
- package/.claude/agents/github/pr-manager.md +1 -1
- package/.claude/agents/github/release-manager.md +1 -1
- package/.claude/agents/github/repo-architect.md +1 -1
- package/.claude/agents/github/sync-coordinator.md +4 -4
- package/.claude/agents/{hive-mind → monoswarm}/collective-intelligence-coordinator.md +9 -16
- package/.claude/agents/{swarm → monoswarm}/mesh-coordinator.md +19 -24
- package/.claude/agents/{hive-mind/swarm-memory-manager.md → monoswarm/monoswarm-memory-manager.md} +1 -1
- package/.claude/agents/templates/{coordinator-swarm-init.md → coordinator-monoswarm-init.md} +1 -1
- package/.claude/agents/testing/{tdd-london-swarm.md → tdd-london-monoswarm.md} +2 -2
- package/.claude/commands/agents/agent-coordination.md +3 -3
- package/.claude/commands/agents/agent-types.md +1 -1
- package/.claude/commands/automation/self-healing.md +1 -1
- package/.claude/commands/automation/smart-spawn.md +1 -1
- package/.claude/commands/coordination/README.md +1 -1
- package/.claude/commands/coordination/{swarm-init.md → monoswarm-init.md} +2 -2
- package/.claude/commands/coordination/task-orchestrate.md +4 -4
- package/.claude/commands/github/README.md +1 -1
- package/.claude/commands/github/issue-tracker.md +2 -2
- package/.claude/commands/github/pr-manager.md +1 -1
- package/.claude/commands/github/release-manager.md +1 -1
- package/.claude/commands/github/repo-architect.md +1 -1
- package/.claude/commands/github/sync-coordinator.md +2 -2
- package/.claude/commands/hooks/README.md +1 -2
- package/.claude/commands/hooks/overview.md +1 -2
- package/.claude/commands/hooks/setup.md +0 -3
- package/.claude/commands/mastermind/createtask.md +2 -2
- package/.claude/commands/mastermind/do.md +3 -3
- package/.claude/commands/mastermind/help.md +2 -2
- package/.claude/commands/mastermind/ideate.md +1 -1
- package/.claude/commands/mastermind/improve.md +1 -1
- package/.claude/commands/mastermind/memory.md +2 -2
- package/.claude/commands/mastermind/{swarm.md → monoswarm.md} +13 -26
- package/.claude/commands/mastermind/topology.md +1 -1
- package/.claude/commands/memory/README.md +2 -2
- package/.claude/commands/memory/memory-search.md +1 -1
- package/.claude/commands/monoswarm/README.md +59 -0
- package/.claude/commands/monoswarm/consensus.md +61 -0
- package/.claude/commands/monoswarm/init.md +68 -0
- package/.claude/commands/monoswarm/memory.md +55 -0
- package/.claude/commands/monoswarm/monoswarm.md +139 -0
- package/.claude/commands/{swarm → monoswarm}/research.md +2 -2
- package/.claude/commands/monoswarm/spawn.md +49 -0
- package/.claude/commands/monoswarm/status.md +48 -0
- package/.claude/commands/monoswarm/stop.md +46 -0
- package/.claude/commands/optimization/auto-topology.md +9 -9
- package/.claude/commands/stream-chain/run.md +1 -1
- package/.claude/commands/workflows/development.md +1 -1
- package/.claude/commands/workflows/research.md +2 -2
- package/.claude/helpers/audit-log-writer.cjs +72 -0
- package/.claude/helpers/control-start.cjs +84 -26
- package/.claude/helpers/handlers/agent-start-handler.cjs +5 -5
- package/.claude/helpers/handlers/gates-handler.cjs +31 -10
- package/.claude/helpers/handlers/session-restore-handler.cjs +1 -1
- package/.claude/helpers/handlers/task-handler.cjs +4 -4
- package/.claude/helpers/skill-registry.json +4718 -3669
- package/.claude/helpers/statusline.cjs +21 -21
- package/.claude/helpers/token-tracker.cjs +0 -6
- package/.claude/settings.json +2 -3
- package/.claude/skills/hooks-automation/SKILL.md +5 -5
- package/.claude/skills/mastermind-createorg/SKILL.md +26 -3
- package/.claude/skills/mastermind-protocol/SKILL.md +3 -3
- package/.claude/skills/memory-toolkit/SKILL.md +2 -2
- package/.claude/skills/{swarm-orchestration → monoswarm}/SKILL.md +106 -42
- package/.claude/skills/specialagent/SKILL.md +1 -1
- package/README.md +31 -12
- package/dist/src/autopilot-state.d.ts +0 -16
- package/dist/src/autopilot-state.d.ts.map +1 -1
- package/dist/src/autopilot-state.js +0 -15
- package/dist/src/autopilot-state.js.map +1 -1
- package/dist/src/browser/dashboard/server.js +3 -3
- package/dist/src/browser/dashboard/server.js.map +1 -1
- package/dist/src/browser/dashboard/ui.html +2 -2
- package/dist/src/capabilities/cap-documents.d.ts.map +1 -1
- package/dist/src/capabilities/cap-documents.js +49 -38
- package/dist/src/capabilities/cap-documents.js.map +1 -1
- package/dist/src/commands/agent-lifecycle.d.ts.map +1 -1
- package/dist/src/commands/agent-lifecycle.js +4 -9
- package/dist/src/commands/agent-lifecycle.js.map +1 -1
- package/dist/src/commands/agent-ops.d.ts.map +1 -1
- package/dist/src/commands/agent-ops.js +37 -24
- package/dist/src/commands/agent-ops.js.map +1 -1
- package/dist/src/commands/analyze-ast.d.ts +1 -1
- package/dist/src/commands/analyze-ast.d.ts.map +1 -1
- package/dist/src/commands/analyze-ast.js +8 -27
- package/dist/src/commands/analyze-ast.js.map +1 -1
- package/dist/src/commands/analyze-imports.d.ts.map +1 -1
- package/dist/src/commands/analyze-imports.js +18 -17
- package/dist/src/commands/analyze-imports.js.map +1 -1
- package/dist/src/commands/analyze-symbols.d.ts.map +1 -1
- package/dist/src/commands/analyze-symbols.js +10 -24
- package/dist/src/commands/analyze-symbols.js.map +1 -1
- package/dist/src/commands/analyze.d.ts +19 -6
- package/dist/src/commands/analyze.d.ts.map +1 -1
- package/dist/src/commands/analyze.js +61 -15
- package/dist/src/commands/analyze.js.map +1 -1
- package/dist/src/commands/autopilot.d.ts.map +1 -1
- package/dist/src/commands/autopilot.js +4 -89
- package/dist/src/commands/autopilot.js.map +1 -1
- package/dist/src/commands/browse.d.ts +1 -1
- package/dist/src/commands/cleanup.d.ts.map +1 -1
- package/dist/src/commands/cleanup.js +4 -2
- package/dist/src/commands/cleanup.js.map +1 -1
- package/dist/src/commands/completions.d.ts.map +1 -1
- package/dist/src/commands/completions.js +0 -1
- package/dist/src/commands/completions.js.map +1 -1
- package/dist/src/commands/config.js +7 -7
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/doctor-project-checks.d.ts +7 -0
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +37 -5
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +9 -3
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/events.d.ts +9 -0
- package/dist/src/commands/events.d.ts.map +1 -0
- package/dist/src/commands/events.js +89 -0
- package/dist/src/commands/events.js.map +1 -0
- package/dist/src/commands/hooks-routing-commands.d.ts +1 -2
- package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-routing-commands.js +1 -101
- package/dist/src/commands/hooks-routing-commands.js.map +1 -1
- package/dist/src/commands/hooks-workers.d.ts.map +1 -1
- package/dist/src/commands/hooks-workers.js +19 -71
- package/dist/src/commands/hooks-workers.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +4 -7
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.d.ts +2 -2
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +4 -3
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init-subcommands.d.ts.map +1 -1
- package/dist/src/commands/init-subcommands.js +4 -0
- package/dist/src/commands/init-subcommands.js.map +1 -1
- package/dist/src/commands/init-wizard.d.ts.map +1 -1
- package/dist/src/commands/init-wizard.js +0 -8
- package/dist/src/commands/init-wizard.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +53 -23
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/mcp.d.ts +1 -0
- package/dist/src/commands/mcp.d.ts.map +1 -1
- package/dist/src/commands/mcp.js +111 -60
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/memory-crud.d.ts.map +1 -1
- package/dist/src/commands/memory-crud.js +33 -20
- package/dist/src/commands/memory-crud.js.map +1 -1
- package/dist/src/commands/monoswarm.d.ts +8 -0
- package/dist/src/commands/monoswarm.d.ts.map +1 -0
- package/dist/src/commands/{swarm.js → monoswarm.js} +83 -297
- package/dist/src/commands/monoswarm.js.map +1 -0
- package/dist/src/commands/neural-core.d.ts.map +1 -1
- package/dist/src/commands/neural-core.js +9 -1
- package/dist/src/commands/neural-core.js.map +1 -1
- package/dist/src/commands/neural-optimize.d.ts.map +1 -1
- package/dist/src/commands/neural-optimize.js +30 -110
- package/dist/src/commands/neural-optimize.js.map +1 -1
- package/dist/src/commands/neural-registry.d.ts +1 -2
- package/dist/src/commands/neural-registry.d.ts.map +1 -1
- package/dist/src/commands/neural-registry.js +21 -168
- package/dist/src/commands/neural-registry.js.map +1 -1
- package/dist/src/commands/org-observe.d.ts +34 -3
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +213 -45
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org.d.ts +14 -0
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +118 -20
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/commands/performance.d.ts.map +1 -1
- package/dist/src/commands/performance.js +38 -31
- package/dist/src/commands/performance.js.map +1 -1
- package/dist/src/commands/security-misc.d.ts.map +1 -1
- package/dist/src/commands/security-misc.js +220 -90
- package/dist/src/commands/security-misc.js.map +1 -1
- package/dist/src/commands/security-scan.d.ts +13 -0
- package/dist/src/commands/security-scan.d.ts.map +1 -1
- package/dist/src/commands/security-scan.js +96 -27
- package/dist/src/commands/security-scan.js.map +1 -1
- package/dist/src/commands/security.js +1 -1
- package/dist/src/commands/security.js.map +1 -1
- package/dist/src/commands/start.d.ts.map +1 -1
- package/dist/src/commands/start.js +17 -96
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/status.d.ts.map +1 -1
- package/dist/src/commands/status.js +72 -64
- package/dist/src/commands/status.js.map +1 -1
- package/dist/src/commands/tokens.d.ts.map +1 -1
- package/dist/src/commands/tokens.js +4 -5
- package/dist/src/commands/tokens.js.map +1 -1
- package/dist/src/consensus/audit-writer.d.ts +2 -2
- package/dist/src/consensus/audit-writer.d.ts.map +1 -1
- package/dist/src/consensus/audit-writer.js +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -10
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +32 -31
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/codex-generator.d.ts +10 -0
- package/dist/src/init/codex-generator.d.ts.map +1 -0
- package/dist/src/init/codex-generator.js +67 -0
- package/dist/src/init/codex-generator.js.map +1 -0
- package/dist/src/init/copy-assets.d.ts.map +1 -1
- package/dist/src/init/copy-assets.js +4 -8
- package/dist/src/init/copy-assets.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +9 -2
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.js +1 -1
- package/dist/src/init/index.d.ts +1 -0
- package/dist/src/init/index.d.ts.map +1 -1
- package/dist/src/init/index.js +1 -0
- package/dist/src/init/index.js.map +1 -1
- package/dist/src/init/opencode-generator.js +2 -2
- package/dist/src/init/opencode-generator.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +1 -2
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/shared.d.ts.map +1 -1
- package/dist/src/init/shared.js +3 -7
- package/dist/src/init/shared.js.map +1 -1
- package/dist/src/init/statusline-generator.js +19 -19
- package/dist/src/init/types.d.ts +9 -10
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +8 -6
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/init/upgrade.js +5 -5
- package/dist/src/init/upgrade.js.map +1 -1
- package/dist/src/init/write-capabilities.d.ts.map +1 -1
- package/dist/src/init/write-capabilities.js +36 -49
- package/dist/src/init/write-capabilities.js.map +1 -1
- package/dist/src/init/write-claude.js +1 -1
- package/dist/src/init/write-claude.js.map +1 -1
- package/dist/src/init/write-codex.d.ts +4 -0
- package/dist/src/init/write-codex.d.ts.map +1 -0
- package/dist/src/init/write-codex.js +57 -0
- package/dist/src/init/write-codex.js.map +1 -0
- package/dist/src/init/write-runtime-config.d.ts.map +1 -1
- package/dist/src/init/write-runtime-config.js +4 -5
- package/dist/src/init/write-runtime-config.js.map +1 -1
- package/dist/src/knowledge/eval/golden-set.js +15 -15
- package/dist/src/knowledge/eval/golden-set.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +1 -2
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.js +1 -1
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +3 -3
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/autopilot-tools.d.ts +1 -1
- package/dist/src/mcp-tools/autopilot-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/autopilot-tools.js +4 -62
- package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
- package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/guidance-tools.js +21 -31
- package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-intelligence.d.ts +0 -1
- package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-intelligence.js +56 -103
- package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.d.ts +1 -2
- package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +78 -152
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +2 -4
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +1 -2
- package/dist/src/mcp-tools/index.d.ts.map +1 -1
- package/dist/src/mcp-tools/index.js +1 -2
- package/dist/src/mcp-tools/index.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +10 -10
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph/query-tools.js +9 -9
- package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
- package/dist/src/mcp-tools/monoswarm-tools.d.ts +17 -0
- package/dist/src/mcp-tools/monoswarm-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/monoswarm-tools.js +1153 -0
- package/dist/src/mcp-tools/monoswarm-tools.js.map +1 -0
- package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/performance-tools.js +32 -25
- package/dist/src/mcp-tools/performance-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +30 -13
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.d.ts +8 -12
- package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.js +9 -13
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
- package/dist/src/memory/embedding-operations.d.ts.map +1 -1
- package/dist/src/memory/embedding-operations.js +0 -37
- package/dist/src/memory/embedding-operations.js.map +1 -1
- package/dist/src/memory/hnsw-operations.d.ts +14 -74
- package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
- package/dist/src/memory/hnsw-operations.js +22 -262
- package/dist/src/memory/hnsw-operations.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts +2 -2
- package/dist/src/memory/intelligence.d.ts.map +1 -1
- package/dist/src/memory/intelligence.js +8 -7
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +24 -24
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +33 -34
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-crud.d.ts.map +1 -1
- package/dist/src/memory/memory-crud.js +0 -20
- package/dist/src/memory/memory-crud.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts +2 -3
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/memory-initializer.js +2 -3
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/memory-read.d.ts.map +1 -1
- package/dist/src/memory/memory-read.js +5 -14
- package/dist/src/memory/memory-read.js.map +1 -1
- package/dist/src/memory/sona-optimizer.d.ts +1 -1
- package/dist/src/memory/sona-optimizer.js +1 -1
- package/dist/src/monovector/model-outcomes.d.ts +25 -0
- package/dist/src/monovector/model-outcomes.d.ts.map +1 -0
- package/dist/src/monovector/model-outcomes.js +113 -0
- package/dist/src/monovector/model-outcomes.js.map +1 -0
- package/dist/src/orgrt/agent-runner.d.ts +8 -2
- package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
- package/dist/src/orgrt/agent-runner.js.map +1 -1
- package/dist/src/orgrt/antigravity-runner.d.ts +25 -2
- package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
- package/dist/src/orgrt/antigravity-runner.js +265 -124
- package/dist/src/orgrt/antigravity-runner.js.map +1 -1
- package/dist/src/orgrt/approvals.d.ts +16 -1
- package/dist/src/orgrt/approvals.d.ts.map +1 -1
- package/dist/src/orgrt/approvals.js +47 -2
- package/dist/src/orgrt/approvals.js.map +1 -1
- package/dist/src/orgrt/checkpoint-ops.d.ts +10 -16
- package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
- package/dist/src/orgrt/checkpoint-ops.js +12 -18
- package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
- package/dist/src/orgrt/checkpoint.d.ts +12 -1
- package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
- package/dist/src/orgrt/checkpoint.js +19 -3
- package/dist/src/orgrt/checkpoint.js.map +1 -1
- package/dist/src/orgrt/codex-runner.d.ts +26 -2
- package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
- package/dist/src/orgrt/codex-runner.js +359 -128
- package/dist/src/orgrt/codex-runner.js.map +1 -1
- package/dist/src/orgrt/copilot-runner.d.ts +14 -0
- package/dist/src/orgrt/copilot-runner.d.ts.map +1 -0
- package/dist/src/orgrt/copilot-runner.js +260 -0
- package/dist/src/orgrt/copilot-runner.js.map +1 -0
- package/dist/src/orgrt/cross-org.d.ts.map +1 -1
- package/dist/src/orgrt/cross-org.js +11 -0
- package/dist/src/orgrt/cross-org.js.map +1 -1
- package/dist/src/orgrt/crush-runner.d.ts +27 -0
- package/dist/src/orgrt/crush-runner.d.ts.map +1 -0
- package/dist/src/orgrt/crush-runner.js +263 -0
- package/dist/src/orgrt/crush-runner.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +68 -16
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +212 -29
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/decisions.d.ts +1 -0
- package/dist/src/orgrt/decisions.d.ts.map +1 -1
- package/dist/src/orgrt/decisions.js +20 -0
- package/dist/src/orgrt/decisions.js.map +1 -1
- package/dist/src/orgrt/grok-runner.d.ts +18 -0
- package/dist/src/orgrt/grok-runner.d.ts.map +1 -0
- package/dist/src/orgrt/grok-runner.js +348 -0
- package/dist/src/orgrt/grok-runner.js.map +1 -0
- package/dist/src/orgrt/kimicode-runner.d.ts +53 -7
- package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
- package/dist/src/orgrt/kimicode-runner.js +246 -144
- package/dist/src/orgrt/kimicode-runner.js.map +1 -1
- package/dist/src/orgrt/mailbox.d.ts +26 -1
- package/dist/src/orgrt/mailbox.d.ts.map +1 -1
- package/dist/src/orgrt/mailbox.js +74 -2
- package/dist/src/orgrt/mailbox.js.map +1 -1
- package/dist/src/orgrt/pi-rpc-runner.d.ts +68 -0
- package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -0
- package/dist/src/orgrt/pi-rpc-runner.js +385 -0
- package/dist/src/orgrt/pi-rpc-runner.js.map +1 -0
- package/dist/src/orgrt/pi-runner.d.ts +16 -0
- package/dist/src/orgrt/pi-runner.d.ts.map +1 -0
- package/dist/src/orgrt/pi-runner.js +264 -0
- package/dist/src/orgrt/pi-runner.js.map +1 -0
- package/dist/src/orgrt/policy.d.ts +11 -0
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +25 -2
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/provider.d.ts +29 -1
- package/dist/src/orgrt/provider.d.ts.map +1 -1
- package/dist/src/orgrt/provider.js +62 -2
- package/dist/src/orgrt/provider.js.map +1 -1
- package/dist/src/orgrt/qwen-rpc-runner.d.ts +56 -0
- package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -0
- package/dist/src/orgrt/qwen-rpc-runner.js +346 -0
- package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -0
- package/dist/src/orgrt/qwen-runner.d.ts +18 -0
- package/dist/src/orgrt/qwen-runner.d.ts.map +1 -0
- package/dist/src/orgrt/qwen-runner.js +270 -0
- package/dist/src/orgrt/qwen-runner.js.map +1 -0
- package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
- package/dist/src/orgrt/scheduler-integration.js +7 -0
- package/dist/src/orgrt/scheduler-integration.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +29 -1
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +87 -18
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/task-dag.d.ts +29 -1
- package/dist/src/orgrt/task-dag.d.ts.map +1 -1
- package/dist/src/orgrt/task-dag.js +54 -0
- package/dist/src/orgrt/task-dag.js.map +1 -1
- package/dist/src/orgrt/test-loop.d.ts.map +1 -1
- package/dist/src/orgrt/test-loop.js +86 -9
- package/dist/src/orgrt/test-loop.js.map +1 -1
- package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
- package/dist/src/orgrt/tool-fence.js +15 -0
- package/dist/src/orgrt/tool-fence.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +50 -1
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +47 -4
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/src/orgrt/usage-proxy.d.ts +32 -0
- package/dist/src/orgrt/usage-proxy.d.ts.map +1 -0
- package/dist/src/orgrt/usage-proxy.js +226 -0
- package/dist/src/orgrt/usage-proxy.js.map +1 -0
- package/dist/src/pricing/model-pricing.d.ts.map +1 -1
- package/dist/src/pricing/model-pricing.js +0 -4
- package/dist/src/pricing/model-pricing.js.map +1 -1
- package/dist/src/security/audit-log.d.ts +47 -0
- package/dist/src/security/audit-log.d.ts.map +1 -0
- package/dist/src/security/audit-log.js +84 -0
- package/dist/src/security/audit-log.js.map +1 -0
- package/dist/src/services/config-file-manager.d.ts +2 -2
- package/dist/src/services/config-file-manager.d.ts.map +1 -1
- package/dist/src/services/config-file-manager.js +6 -7
- package/dist/src/services/config-file-manager.js.map +1 -1
- package/dist/src/suggest.d.ts.map +1 -1
- package/dist/src/suggest.js +4 -5
- package/dist/src/suggest.js.map +1 -1
- package/dist/src/transfer/anonymization/index.d.ts +1 -1
- package/dist/src/transfer/anonymization/index.js +1 -1
- package/dist/src/types.d.ts +3 -3
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/ui/collector.mjs +9 -13
- package/dist/src/ui/dashboard.html +93 -10
- package/dist/src/ui/data/agent-avatars.html +0 -12
- package/dist/src/ui/data/agent-avatars.json +10 -26
- package/dist/src/ui/orgs.html +8 -1
- package/dist/src/ui/routes-org.mjs +85 -16
- package/dist/src/ui/server.mjs +50 -23
- package/dist/src/utils/json-file.d.ts +12 -0
- package/dist/src/utils/json-file.d.ts.map +1 -1
- package/dist/src/utils/json-file.js +11 -0
- package/dist/src/utils/json-file.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
- package/.claude/commands/hive-mind/README.md +0 -42
- package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
- package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
- package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
- package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
- package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
- package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
- package/.claude/commands/hive-mind/hive-mind.md +0 -87
- package/.claude/commands/swarm/README.md +0 -40
- package/.claude/commands/swarm/swarm.md +0 -79
- package/.claude/skills/hive-mind-advanced/SKILL.md +0 -347
- package/.claude/skills/swarm-advanced/SKILL.md +0 -936
- package/dist/src/commands/swarm.d.ts +0 -8
- package/dist/src/commands/swarm.d.ts.map +0 -1
- package/dist/src/commands/swarm.js.map +0 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -17
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +0 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +0 -1239
- package/dist/src/mcp-tools/hive-mind-tools.js.map +0 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts +0 -9
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +0 -1
- package/dist/src/mcp-tools/swarm-tools.js +0 -411
- package/dist/src/mcp-tools/swarm-tools.js.map +0 -1
- package/dist/src/ui/data/avatars/crdt-synchronizer.svg +0 -53
- package/dist/src/ui/data/avatars/gossip-coordinator.svg +0 -54
- package/scripts/deploy-ipfs-node.sh +0 -153
- package/scripts/setup-ipfs-registry.md +0 -365
- /package/.claude/agents/{hive-mind → monoswarm}/scout-explorer.md +0 -0
- /package/.claude/agents/{hive-mind → monoswarm}/worker-specialist.md +0 -0
- /package/.claude/commands/{swarm → monoswarm}/analysis.md +0 -0
- /package/.claude/commands/{swarm → monoswarm}/development.md +0 -0
- /package/.claude/commands/{swarm → monoswarm}/examples.md +0 -0
- /package/.claude/commands/{swarm → monoswarm}/maintenance.md +0 -0
- /package/.claude/commands/{swarm → monoswarm}/optimization.md +0 -0
- /package/.claude/commands/{swarm → monoswarm}/testing.md +0 -0
- /package/dist/src/ui/data/avatars/{code-review-swarm.svg → monoswarm-code-review.svg} +0 -0
|
@@ -11,6 +11,25 @@
|
|
|
11
11
|
* AI Pro / Google AI Ultra consumer subscriptions flow through this credential
|
|
12
12
|
* cache. No env vars needed.
|
|
13
13
|
*
|
|
14
|
+
* Streaming / liveness — WHY INCREMENTAL:
|
|
15
|
+
* agy turns routinely run many minutes when a role reads large dossiers or
|
|
16
|
+
* chains tool steps. session.ts races the FIRST pull from this runner
|
|
17
|
+
* against a 4-minute silent-stream watchdog (SILENT_SESSION_MS), so
|
|
18
|
+
* buffering stdout until process exit (the original design) meant any turn
|
|
19
|
+
* longer than 4 minutes yielded zero messages in time — abort, retry, kill,
|
|
20
|
+
* circuit breaker, stalled org (observed live: "SDK stream silent for 240s
|
|
21
|
+
* with zero messages" every ~4 minutes on antigravity roles). This runner
|
|
22
|
+
* therefore parses stdout LINE BY LINE as data arrives: a liveness
|
|
23
|
+
* `tool_use` message is yielded the moment the subprocess spawns
|
|
24
|
+
* (deterministically winning the first-pull race regardless of
|
|
25
|
+
* model-thinking latency), assistant text is yielded at agent_response DONE
|
|
26
|
+
* boundaries, and agy's own tool steps (step_type 'tool' with tool_info)
|
|
27
|
+
* are forwarded as `tool_use` liveness messages so the StateDetector/idle
|
|
28
|
+
* watchdog see a working agent throughout the turn. Tool_call fences are
|
|
29
|
+
* still collected from the raw texts and parsed at end of turn (fence
|
|
30
|
+
* parsing needs the complete text — agy's per-token deltas would split a
|
|
31
|
+
* fence across many events).
|
|
32
|
+
*
|
|
14
33
|
* Org tools (org_send, knowledge_search, ask_human, …) — FENCE PROTOCOL:
|
|
15
34
|
* Same approach as kimi/opencode/codex. Tools are rendered INTO the first
|
|
16
35
|
* prompt; the model emits ```tool_call fences; this runner parses them out
|
|
@@ -39,6 +58,7 @@
|
|
|
39
58
|
*/
|
|
40
59
|
import { spawn } from 'node:child_process';
|
|
41
60
|
import { buildToolProtocol, parseToolCalls, executeToolCall, formatToolResults, MAX_TOOL_ROUNDS, TOOL_CALL_RE } from './tool-fence.js';
|
|
61
|
+
import { classifyStderr } from './kimicode-runner.js';
|
|
42
62
|
const TURN_TIMEOUT_MS = 2 * 60 * 60 * 1000; // 2 hours, matching kimi/codex runners
|
|
43
63
|
export class AntigravityAgentRunner {
|
|
44
64
|
agyBin;
|
|
@@ -64,22 +84,44 @@ export class AntigravityAgentRunner {
|
|
|
64
84
|
const promptWithSystem = (round === 0 && !conversationId)
|
|
65
85
|
? `${args.systemPrompt}${buildToolProtocol(args.tools)}\n\n---\n\n${nextPrompt}`
|
|
66
86
|
: nextPrompt;
|
|
67
|
-
|
|
87
|
+
// Filled in by streamTurn as the subprocess runs and when it exits.
|
|
88
|
+
const outcome = {
|
|
89
|
+
exitCode: 1, stderrTail: '', timedOut: false, inputTokens: 0, outputTokens: 0,
|
|
90
|
+
};
|
|
91
|
+
// Raw assistant texts (fences intact) for end-of-turn tool-call
|
|
92
|
+
// parsing — fence parsing needs the complete text, so fences are
|
|
93
|
+
// collected here while the stripped prose streams out live below.
|
|
94
|
+
const rawTexts = [];
|
|
95
|
+
for await (const ev of this.streamTurn(bin, promptWithSystem, conversationId, args, outcome)) {
|
|
96
|
+
if (ev.conversationId)
|
|
97
|
+
conversationId = ev.conversationId;
|
|
98
|
+
if (ev.kind === 'assistant' && ev.rawText !== undefined) {
|
|
99
|
+
rawTexts.push(ev.rawText);
|
|
100
|
+
// Yield assistant prose AS IT ARRIVES (per agent_response DONE
|
|
101
|
+
// boundary, not after process exit): an agy turn can run many
|
|
102
|
+
// minutes, and session.ts's watchdog must see messages DURING
|
|
103
|
+
// the turn. Note this means partial output may already be
|
|
104
|
+
// yielded when a turn later exits non-zero — preferable to
|
|
105
|
+
// losing it entirely.
|
|
106
|
+
if (ev.text)
|
|
107
|
+
yield { type: 'assistant', session_id: conversationId, text: ev.text };
|
|
108
|
+
}
|
|
109
|
+
else if (ev.kind === 'tool') {
|
|
110
|
+
// Liveness for agy's own tool activity: session.ts never
|
|
111
|
+
// renders tool_use as chat — it only feeds the StateDetector
|
|
112
|
+
// ('tool-call' state) and refreshes last-activity.
|
|
113
|
+
yield { type: 'tool_use', session_id: conversationId, text: ev.toolName };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
68
116
|
if (outcome.conversationId)
|
|
69
117
|
conversationId = outcome.conversationId;
|
|
70
118
|
if (outcome.exitCode !== 0 || outcome.error) {
|
|
71
|
-
throw
|
|
72
|
-
(outcome.error ? `: ${outcome.error}` : '') +
|
|
73
|
-
(outcome.stderrTail ? `\nstderr: ${outcome.stderrTail.slice(-500)}` : ''));
|
|
74
|
-
}
|
|
75
|
-
for (const t of outcome.texts) {
|
|
76
|
-
if (t.trim())
|
|
77
|
-
yield { type: 'assistant', session_id: conversationId, text: t };
|
|
119
|
+
throw turnError(outcome, round, bin);
|
|
78
120
|
}
|
|
79
121
|
turnInputTokens += outcome.inputTokens;
|
|
80
122
|
turnOutputTokens += outcome.outputTokens;
|
|
81
123
|
const malformed = [];
|
|
82
|
-
const calls = parseToolCalls(
|
|
124
|
+
const calls = parseToolCalls(rawTexts, (raw, err) => malformed.push(`[monomind] ignored malformed tool_call fence (${err}): ${raw.slice(0, 200)}`));
|
|
83
125
|
for (const note of malformed) {
|
|
84
126
|
yield { type: 'assistant', session_id: conversationId, text: note };
|
|
85
127
|
}
|
|
@@ -120,131 +162,230 @@ export class AntigravityAgentRunner {
|
|
|
120
162
|
throw err;
|
|
121
163
|
}
|
|
122
164
|
}
|
|
123
|
-
/**
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
165
|
+
/**
|
|
166
|
+
* Run one `agy` invocation and stream its stream-json output
|
|
167
|
+
* INCREMENTALLY: each parsed event is yielded as soon as its line arrives
|
|
168
|
+
* on stdout (see the header's "Streaming / liveness" note for why buffering
|
|
169
|
+
* until process exit was a bug). End-of-turn facts (exit code, stderr tail,
|
|
170
|
+
* conversation id, usage, error, timeout flag) are written into `outcome`,
|
|
171
|
+
* which the caller reads after this generator completes.
|
|
172
|
+
*/
|
|
173
|
+
async *streamTurn(bin, prompt, conversationId, args, outcome) {
|
|
174
|
+
// ARG ORDER (from agy headless docs):
|
|
175
|
+
// agy -p "<prompt>" --output-format stream-json
|
|
176
|
+
// [--model X] [--dangerously-skip-permissions]
|
|
177
|
+
// [--continue | --conversation <id>]
|
|
178
|
+
const cliArgs = ['-p', prompt, '--output-format', 'stream-json'];
|
|
179
|
+
if (args.model)
|
|
180
|
+
cliArgs.push('--model', args.model);
|
|
181
|
+
cliArgs.push('--dangerously-skip-permissions');
|
|
182
|
+
if (conversationId) {
|
|
183
|
+
cliArgs.push('--conversation', conversationId);
|
|
184
|
+
}
|
|
185
|
+
const child = spawn(bin, cliArgs, {
|
|
186
|
+
cwd: args.cwd,
|
|
187
|
+
env: { ...process.env, ...args.env },
|
|
188
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
189
|
+
});
|
|
190
|
+
let stderrTail = '';
|
|
191
|
+
child.stderr?.on('data', (c) => {
|
|
192
|
+
stderrTail = (stderrTail + c.toString()).slice(-4000);
|
|
193
|
+
});
|
|
194
|
+
// Arm the turn timeout BEFORE consuming stdout — a hung CLI must be
|
|
195
|
+
// killed while we're still reading, not after it finishes.
|
|
196
|
+
let timedOut = false;
|
|
197
|
+
const KILL_GRACE_MS = 5000;
|
|
198
|
+
let killTimer;
|
|
199
|
+
const timer = setTimeout(() => {
|
|
200
|
+
timedOut = true;
|
|
201
|
+
child.kill('SIGTERM');
|
|
202
|
+
// A wedged CLI that ignores SIGTERM must not leak a zombie per turn:
|
|
203
|
+
// escalate to SIGKILL after a short grace period.
|
|
204
|
+
killTimer = setTimeout(() => { try {
|
|
205
|
+
child.kill('SIGKILL');
|
|
136
206
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
.then(({ events, exitCode }) => {
|
|
192
|
-
const outcome = {
|
|
193
|
-
texts: [], rawTexts: [], conversationId, exitCode, stderrTail, timedOut,
|
|
194
|
-
inputTokens: 0, outputTokens: 0,
|
|
195
|
-
};
|
|
196
|
-
// Accumulate text_delta fragments per turn — agy streams per-token
|
|
197
|
-
// via step_update events with step_type === 'agent_response'. We
|
|
198
|
-
// accumulate the full text before stripping fences (unlike codex/kimi
|
|
199
|
-
// which receive whole items; agy's per-token deltas would split a
|
|
200
|
-
// ```tool_call fence across many events, making per-delta stripping
|
|
201
|
-
// unreliable). The bus sees one assistant message per turn with the
|
|
202
|
-
// complete cleaned text — matching kimi/codex behavior.
|
|
203
|
-
let rawAccumulated = '';
|
|
204
|
-
for (const ev of events) {
|
|
205
|
-
if (ev.event === 'init' && ev.conversation_id) {
|
|
206
|
-
outcome.conversationId = ev.conversation_id;
|
|
207
|
-
}
|
|
208
|
-
else if (ev.event === 'step_update' && ev.step_update) {
|
|
209
|
-
const step = ev.step_update;
|
|
210
|
-
if (step.step_type === 'agent_response' && typeof step.text_delta === 'string') {
|
|
211
|
-
rawAccumulated += step.text_delta;
|
|
207
|
+
catch { /* already gone */ } }, KILL_GRACE_MS);
|
|
208
|
+
killTimer.unref?.();
|
|
209
|
+
}, TURN_TIMEOUT_MS);
|
|
210
|
+
// Attach the exit promise BEFORE consuming stdout: on a spawn failure
|
|
211
|
+
// (ENOENT, bad binary) the 'error' event fires almost immediately —
|
|
212
|
+
// if no listener is attached yet it escapes as an unhandled 'error'
|
|
213
|
+
// event and crashes the process instead of reaching our catch block.
|
|
214
|
+
const exitPromise = new Promise((res, rej) => {
|
|
215
|
+
child.on('error', rej);
|
|
216
|
+
child.on('close', (code) => res(code ?? 1));
|
|
217
|
+
});
|
|
218
|
+
// Prevent an unhandled-rejection crash if the stdout loop below throws
|
|
219
|
+
// before we await exitPromise (the await still sees the rejection).
|
|
220
|
+
exitPromise.catch(() => { });
|
|
221
|
+
let lastConversationId = conversationId;
|
|
222
|
+
// Per-token text_delta fragments are accumulated per agent_response step
|
|
223
|
+
// and flushed as ONE assistant event at the step's DONE boundary (or at
|
|
224
|
+
// end of stream if no DONE arrives). Fence stripping needs the complete
|
|
225
|
+
// text — per-token deltas would split a ```tool_call fence across events.
|
|
226
|
+
let pendingText = '';
|
|
227
|
+
let pendingStepIndex;
|
|
228
|
+
let sawStreamedText = false;
|
|
229
|
+
let resultResponse;
|
|
230
|
+
// Flush the accumulated agent_response text as one assistant event.
|
|
231
|
+
// Defined as a closure returning the event (or null) so both the DONE
|
|
232
|
+
// boundary and the end-of-stream path share the exact same logic.
|
|
233
|
+
const flushText = () => {
|
|
234
|
+
if (!pendingText)
|
|
235
|
+
return null;
|
|
236
|
+
const raw = pendingText;
|
|
237
|
+
pendingText = '';
|
|
238
|
+
pendingStepIndex = undefined;
|
|
239
|
+
const stripped = raw.replace(TOOL_CALL_RE, '').trim();
|
|
240
|
+
return { kind: 'assistant', rawText: raw, text: stripped || undefined, conversationId: lastConversationId };
|
|
241
|
+
};
|
|
242
|
+
// Normalize one parsed wire event: capture the conversation id from ANY
|
|
243
|
+
// event that carries it (resume needs it on the next turn), record result
|
|
244
|
+
// envelope state, and return the AgyStreamEvent to yield (or null).
|
|
245
|
+
// init and other event kinds matter only for the conversation id.
|
|
246
|
+
const handleEvent = (ev) => {
|
|
247
|
+
const cid = ev.conversation_id ?? ev.step_update?.conversation_id ?? ev.result?.conversation_id;
|
|
248
|
+
if (cid)
|
|
249
|
+
lastConversationId = cid;
|
|
250
|
+
if (ev.event === 'step_update' && ev.step_update) {
|
|
251
|
+
const step = ev.step_update;
|
|
252
|
+
if (step.step_type === 'agent_response') {
|
|
253
|
+
if (pendingStepIndex !== undefined && step.step_index !== undefined && step.step_index !== pendingStepIndex) {
|
|
254
|
+
// A new response step started — flush the previous one.
|
|
255
|
+
const flushed = flushText();
|
|
256
|
+
if (step.step_index !== undefined)
|
|
257
|
+
pendingStepIndex = step.step_index;
|
|
258
|
+
if (typeof step.text_delta === 'string') {
|
|
259
|
+
sawStreamedText = true;
|
|
260
|
+
pendingText += step.text_delta;
|
|
212
261
|
}
|
|
262
|
+
return flushed;
|
|
213
263
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
264
|
+
if (step.step_index !== undefined)
|
|
265
|
+
pendingStepIndex = step.step_index;
|
|
266
|
+
if (typeof step.text_delta === 'string') {
|
|
267
|
+
sawStreamedText = true;
|
|
268
|
+
// A DONE step can carry the step's FULL text after ACTIVE
|
|
269
|
+
// deltas streamed the same content per-token — replace
|
|
270
|
+
// instead of double-appending when the accumulated text is
|
|
271
|
+
// a prefix of the DONE payload.
|
|
272
|
+
if (step.state === 'DONE' && pendingText && step.text_delta.startsWith(pendingText)) {
|
|
273
|
+
pendingText = step.text_delta;
|
|
220
274
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
outcome.outputTokens = result.usage.output_tokens ?? 0;
|
|
275
|
+
else {
|
|
276
|
+
pendingText += step.text_delta;
|
|
224
277
|
}
|
|
225
278
|
}
|
|
279
|
+
if (step.state === 'DONE')
|
|
280
|
+
return flushText();
|
|
226
281
|
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
if (rawAccumulated) {
|
|
230
|
-
outcome.rawTexts.push(rawAccumulated);
|
|
231
|
-
const stripped = rawAccumulated.replace(TOOL_CALL_RE, '').trim();
|
|
232
|
-
if (stripped)
|
|
233
|
-
outcome.texts.push(stripped);
|
|
282
|
+
else if (step.step_type === 'tool' && step.tool_info?.name) {
|
|
283
|
+
return { kind: 'tool', toolName: step.tool_info.name.slice(0, 200), conversationId: lastConversationId };
|
|
234
284
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
285
|
+
}
|
|
286
|
+
else if (ev.event === 'result' && ev.result) {
|
|
287
|
+
const result = ev.result;
|
|
288
|
+
if (result.status && result.status !== 'SUCCESS') {
|
|
289
|
+
outcome.error = result.error ?? `status: ${result.status}`;
|
|
290
|
+
}
|
|
291
|
+
if (result.usage) {
|
|
292
|
+
outcome.inputTokens = result.usage.input_tokens ?? 0;
|
|
293
|
+
outcome.outputTokens = result.usage.output_tokens ?? 0;
|
|
294
|
+
}
|
|
295
|
+
if (result.response)
|
|
296
|
+
resultResponse = result.response;
|
|
297
|
+
}
|
|
298
|
+
return null;
|
|
299
|
+
};
|
|
300
|
+
try {
|
|
301
|
+
// Immediate liveness yield: session.ts races the FIRST pull against a
|
|
302
|
+
// 4-minute silent-stream watchdog, and the model's first event can
|
|
303
|
+
// itself take minutes (long thinking chains, large file reads).
|
|
304
|
+
// Yielding at spawn wins that race deterministically instead of
|
|
305
|
+
// depending on agy's latency.
|
|
306
|
+
yield { kind: 'tool', toolName: 'turn started', conversationId };
|
|
307
|
+
let buf = '';
|
|
308
|
+
for await (const chunk of child.stdout) {
|
|
309
|
+
buf += chunk.toString();
|
|
310
|
+
const parts = buf.split('\n');
|
|
311
|
+
buf = parts.pop() ?? '';
|
|
312
|
+
for (const line of parts) {
|
|
313
|
+
const trimmed = line.trim();
|
|
314
|
+
if (!trimmed || !trimmed.startsWith('{'))
|
|
315
|
+
continue;
|
|
316
|
+
let ev;
|
|
317
|
+
try {
|
|
318
|
+
ev = JSON.parse(trimmed);
|
|
243
319
|
}
|
|
320
|
+
catch {
|
|
321
|
+
continue;
|
|
322
|
+
}
|
|
323
|
+
const out = handleEvent(ev);
|
|
324
|
+
if (out)
|
|
325
|
+
yield out;
|
|
244
326
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
327
|
+
}
|
|
328
|
+
const tail = buf.trim();
|
|
329
|
+
if (tail && tail.startsWith('{')) {
|
|
330
|
+
try {
|
|
331
|
+
const out = handleEvent(JSON.parse(tail));
|
|
332
|
+
if (out)
|
|
333
|
+
yield out;
|
|
334
|
+
}
|
|
335
|
+
catch { /* not JSON, skip */ }
|
|
336
|
+
}
|
|
337
|
+
// Flush any trailing text whose DONE boundary never arrived.
|
|
338
|
+
const flushed = flushText();
|
|
339
|
+
if (flushed)
|
|
340
|
+
yield flushed;
|
|
341
|
+
// Fallback for agy versions that only return result.response (no
|
|
342
|
+
// streaming): surface it as the turn's assistant text.
|
|
343
|
+
if (!sawStreamedText && resultResponse) {
|
|
344
|
+
const stripped = resultResponse.replace(TOOL_CALL_RE, '').trim();
|
|
345
|
+
yield { kind: 'assistant', rawText: resultResponse, text: stripped || undefined, conversationId: lastConversationId };
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
finally {
|
|
349
|
+
clearTimeout(timer);
|
|
350
|
+
if (killTimer)
|
|
351
|
+
clearTimeout(killTimer);
|
|
352
|
+
// If the consumer abandons this stream mid-turn (session.ts's
|
|
353
|
+
// silent-abort calls iterator.return(), the mailbox closes, or an
|
|
354
|
+
// error is thrown downstream), don't leak the CLI subprocess.
|
|
355
|
+
if (child.exitCode === null && !child.killed) {
|
|
356
|
+
try {
|
|
357
|
+
child.kill('SIGTERM');
|
|
358
|
+
}
|
|
359
|
+
catch { /* already gone */ }
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
const exitCode = await exitPromise;
|
|
363
|
+
outcome.conversationId = lastConversationId;
|
|
364
|
+
outcome.exitCode = exitCode;
|
|
365
|
+
outcome.stderrTail = stderrTail;
|
|
366
|
+
outcome.timedOut = timedOut;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
/** Build the actionable error for a failed agy turn. */
|
|
370
|
+
function turnError(outcome, round, bin) {
|
|
371
|
+
if (outcome.timedOut) {
|
|
372
|
+
return new Error(`AntigravityAgentRunner: agy turn (tool round ${round}) exceeded the ${Math.round(TURN_TIMEOUT_MS / 60000)}min ` +
|
|
373
|
+
`turn timeout and was killed.${outcome.stderrTail ? ` stderr: ${outcome.stderrTail.slice(-500)}` : ''}`);
|
|
374
|
+
}
|
|
375
|
+
// Fatal provider errors (auth/permission/quota — classified from the result
|
|
376
|
+
// envelope's error string AND stderr): report what actually happened, and
|
|
377
|
+
// tag the error so the daemon does NOT restart into the same guaranteed
|
|
378
|
+
// failure (a restart on quota exhaustion can only hang or fail again).
|
|
379
|
+
const cls = classifyStderr(`${outcome.error ?? ''}\n${outcome.stderrTail}`);
|
|
380
|
+
if (cls.fatal) {
|
|
381
|
+
const err = new Error(`AntigravityAgentRunner: FATAL provider error (${cls.label}) on turn ${round} — not retrying.` +
|
|
382
|
+
(outcome.error ? ` error: ${outcome.error}` : '') +
|
|
383
|
+
(outcome.stderrTail ? ` stderr: ${outcome.stderrTail.slice(-500)}` : ''));
|
|
384
|
+
err.fatal = true;
|
|
385
|
+
return err;
|
|
248
386
|
}
|
|
387
|
+
return new Error(`AntigravityAgentRunner: agy failed (exit ${outcome.exitCode})` +
|
|
388
|
+
(outcome.error ? `: ${outcome.error}` : '') +
|
|
389
|
+
(outcome.stderrTail ? `\nstderr: ${outcome.stderrTail.slice(-500)}` : ''));
|
|
249
390
|
}
|
|
250
391
|
//# sourceMappingURL=antigravity-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity-runner.js","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"antigravity-runner.js","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvI,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,uCAAuC;AAwEnF,MAAM,OAAO,sBAAsB;IACb,MAAM;IAA1B,YAAoB,MAAe;sBAAf,MAAM;IAAY,CAAC;IAEvC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAkB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,KAAK,CAAC;QACpE,IAAI,cAAc,GAAuB,IAAI,CAAC,MAAM,CAAC;QAErD,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClF,IAAI,UAAU,GAAG,IAAI,CAAC;gBACtB,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;gBAEzB,yEAAyE;gBACzE,uEAAuE;gBACvE,kCAAkC;gBAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC;oBACtD,iEAAiE;oBACjE,mEAAmE;oBACnE,sDAAsD;oBACtD,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;wBACvD,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,UAAU,EAAE;wBAChF,CAAC,CAAC,UAAU,CAAC;oBAEf,oEAAoE;oBACpE,MAAM,OAAO,GAAgB;wBAC3B,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;qBAC9E,CAAC;oBACF,gEAAgE;oBAChE,iEAAiE;oBACjE,kEAAkE;oBAClE,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAE9B,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC7F,IAAI,EAAE,CAAC,cAAc;4BAAE,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC;wBAC1D,IAAI,EAAE,CAAC,IAAI,KAAK,WAAW,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;4BACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;4BAC1B,+DAA+D;4BAC/D,8DAA8D;4BAC9D,8DAA8D;4BAC9D,0DAA0D;4BAC1D,2DAA2D;4BAC3D,sBAAsB;4BACtB,IAAI,EAAE,CAAC,IAAI;gCAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;wBACtF,CAAC;6BAAM,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC9B,yDAAyD;4BACzD,6DAA6D;4BAC7D,mDAAmD;4BACnD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;wBAC5E,CAAC;oBACH,CAAC;oBACD,IAAI,OAAO,CAAC,cAAc;wBAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;oBAEpE,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;wBAC5C,MAAM,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;oBACvC,CAAC;oBACD,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC;oBACvC,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;oBAEzC,MAAM,SAAS,GAAa,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CACjE,iDAAiD,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC9E,CAAC,CAAC;oBACH,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;wBAC7B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACtE,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE,MAAM;oBAE9B,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;wBAC9B,MAAM;4BACJ,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc;4BAC7C,IAAI,EAAE,mCAAmC,eAAe,wBAAwB,KAAK,CAAC,MAAM,uBAAuB;yBACpH,CAAC;wBACF,MAAM;oBACR,CAAC;oBAED,yDAAyD;oBACzD,MAAM,OAAO,GAAa,EAAE,CAAC;oBAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,OAAO,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBACzE,CAAC;oBACD,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC;gBAED,qEAAqE;gBACrE,gDAAgD;gBAChD,MAAM;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,cAAc;oBAC1B,OAAO,EAAE,SAAS;oBAClB,YAAY,EAAE,eAAe;oBAC7B,aAAa,EAAE,gBAAgB;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CACb,qEAAqE;oBACrE,2EAA2E;oBAC3E,6EAA6E;oBAC7E,qCAAqC,CACtC,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,CAAC,UAAU,CACvB,GAAW,EACX,MAAc,EACd,cAAkC,EAClC,IAAkB,EAClB,OAAoB;QAEpB,sCAAsC;QACtC,kDAAkD;QAClD,qDAAqD;QACrD,2CAA2C;QAC3C,MAAM,OAAO,GAAa,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/C,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE;YAChC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;YACpC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACrC,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,oEAAoE;QACpE,2DAA2D;QAC3D,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC;QAC3B,IAAI,SAAoD,CAAC;QACzD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,qEAAqE;YACrE,kDAAkD;YAClD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAC7G,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;QACtB,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,sEAAsE;QACtE,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,WAAW,GAAG,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACnD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACvB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,uEAAuE;QACvE,oEAAoE;QACpE,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE5B,IAAI,kBAAkB,GAAuB,cAAc,CAAC;QAC5D,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,gBAAoC,CAAC;QACzC,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,cAAkC,CAAC;QAEvC,oEAAoE;QACpE,sEAAsE;QACtE,kEAAkE;QAClE,MAAM,SAAS,GAAG,GAA0B,EAAE;YAC5C,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC9B,MAAM,GAAG,GAAG,WAAW,CAAC;YACxB,WAAW,GAAG,EAAE,CAAC;YACjB,gBAAgB,GAAG,SAAS,CAAC;YAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,IAAI,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QAC9G,CAAC,CAAC;QAEF,wEAAwE;QACxE,0EAA0E;QAC1E,oEAAoE;QACpE,kEAAkE;QAClE,MAAM,WAAW,GAAG,CAAC,EAAY,EAAyB,EAAE;YAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;YAChG,IAAI,GAAG;gBAAE,kBAAkB,GAAG,GAAG,CAAC;YAElC,IAAI,EAAE,CAAC,KAAK,KAAK,aAAa,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC;gBAC5B,IAAI,IAAI,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;oBACxC,IAAI,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;wBAC5G,wDAAwD;wBACxD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;wBAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;4BAAE,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC;wBACtE,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;4BAAC,eAAe,GAAG,IAAI,CAAC;4BAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;wBAAC,CAAC;wBACpG,OAAO,OAAO,CAAC;oBACjB,CAAC;oBACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;wBAAE,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC;oBACtE,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;wBACxC,eAAe,GAAG,IAAI,CAAC;wBACvB,0DAA0D;wBAC1D,uDAAuD;wBACvD,2DAA2D;wBAC3D,gCAAgC;wBAChC,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;4BACpF,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACN,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;wBACjC,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;wBAAE,OAAO,SAAS,EAAE,CAAC;gBAChD,CAAC;qBAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;oBAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;gBAC3G,CAAC;YACH,CAAC;iBAAM,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;gBACzB,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACjD,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7D,CAAC;gBACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;oBACrD,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ;oBAAE,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;YACxD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,sEAAsE;YACtE,mEAAmE;YACnE,gEAAgE;YAChE,gEAAgE;YAChE,8BAA8B;YAC9B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;YAEjE,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,MAA+B,EAAE,CAAC;gBAChE,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;wBAAE,SAAS;oBACnD,IAAI,EAAY,CAAC;oBACjB,IAAI,CAAC;wBAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACjE,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC5B,IAAI,GAAG;wBAAE,MAAM,GAAG,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC,CAAC;oBACtD,IAAI,GAAG;wBAAE,MAAM,GAAG,CAAC;gBACrB,CAAC;gBAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAClC,CAAC;YAED,6DAA6D;YAC7D,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAE3B,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,eAAe,IAAI,cAAc,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,IAAI,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YACxH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,8DAA8D;YAC9D,kEAAkE;YAClE,8DAA8D;YAC9D,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;QACnC,OAAO,CAAC,cAAc,GAAG,kBAAkB,CAAC;QAC5C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC;CACF;AAED,wDAAwD;AACxD,SAAS,SAAS,CAAC,OAAoB,EAAE,KAAa,EAAE,GAAW;IACjE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,IAAI,KAAK,CACd,gDAAgD,KAAK,kBAAkB,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM;YAChH,+BAA+B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxG,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5E,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,iDAAiD,GAAG,CAAC,KAAK,aAAa,KAAK,kBAAkB;YAC9F,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACzE,CAAC;QACD,GAAmC,CAAC,KAAK,GAAG,IAAI,CAAC;QAClD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,KAAK,CACd,4CAA4C,OAAO,CAAC,QAAQ,GAAG;QAC/D,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1E,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import type { OrgDaemon } from './daemon.js';
|
|
2
|
+
/** Discard every approval — pending or resolved — left over from a previous
|
|
3
|
+
* run. Call on a fresh (non-resume) startOrg.
|
|
4
|
+
*
|
|
5
|
+
* approvals.json is keyed per-org, not per-run, and daemon.approvals is an
|
|
6
|
+
* in-memory Map that starts empty in every fresh CLI process. A pending
|
|
7
|
+
* approval queued by a role in a PREVIOUS run — never resolved before that
|
|
8
|
+
* run ended — otherwise survives on disk forever: it looks "pending" to
|
|
9
|
+
* anything reading the file directly (dashboard, status checks, even
|
|
10
|
+
* `org approve`'s own live-delivery-then-fallback path), but the role that
|
|
11
|
+
* requested it is gone and no live daemon will ever have a matching
|
|
12
|
+
* in-memory record for it, so `org approve`'s live path always 404s with
|
|
13
|
+
* "No pending approval found" and silently falls back to patching a ghost
|
|
14
|
+
* entry nobody is listening for. A fresh start means every previous
|
|
15
|
+
* approval is moot for this run. */
|
|
16
|
+
export declare function clearApprovalsForFreshStart(daemon: OrgDaemon, org: string): void;
|
|
2
17
|
/** Check if an action requires human approval (beforeTool hook for guardrails). Returns
|
|
3
18
|
* the approval decision: true = approved, false = denied, null = pending (requires human input).
|
|
4
19
|
*
|
|
5
20
|
* R5: serialized per-org via withApprovalLock() — concurrent checkApproval and
|
|
6
21
|
* setApproval calls previously raced on this.approvals + approvals.json. */
|
|
7
|
-
export declare function checkApproval(daemon: OrgDaemon, org: string, role: string,
|
|
22
|
+
export declare function checkApproval(daemon: OrgDaemon, org: string, role: string, rawAction: string): Promise<boolean | null>;
|
|
8
23
|
/** Approve or deny a pending action (called by dashboard or CLI).
|
|
9
24
|
* R5: serialized per-org via withApprovalLock(). */
|
|
10
25
|
export declare function setApproval(daemon: OrgDaemon, org: string, role: string, action: string, approved: boolean): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../../../src/orgrt/approvals.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../../../src/orgrt/approvals.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAmB7C;;;;;;;;;;;;;qCAaqC;AACrC,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAIhF;AAED;;;;6EAI6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAmCtH;AAED;qDACqD;AACrD,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCvK"}
|
|
@@ -1,15 +1,52 @@
|
|
|
1
1
|
// packages/@monomind/cli/src/orgrt/approvals.ts
|
|
2
2
|
// Extracted from daemon.ts — approval checking and setting for org tool calls.
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
import { mkdirSync } from 'node:fs';
|
|
4
|
+
import { existsSync, mkdirSync } from 'node:fs';
|
|
5
5
|
import { writeJsonFileAtomic } from '../utils/json-file.js';
|
|
6
6
|
import { ORG_DIR } from './types.js';
|
|
7
|
+
/** Custom org-runtime tools (org_complete, org_send, org_task, ...) are
|
|
8
|
+
* registered as an SDK MCP server named 'org' (createSdkMcpServer({ name:
|
|
9
|
+
* 'org', ... }) in agent-runner.ts), so the SDK always presents them to
|
|
10
|
+
* canUseTool/policy.decide under the namespaced form `mcp__org__<name>` —
|
|
11
|
+
* unlike genuine SDK built-ins (Bash/WebFetch/WebSearch), which always
|
|
12
|
+
* arrive as their bare name. checkApproval's sensitiveActions list (and any
|
|
13
|
+
* role's policy.autoApproveTools) is written against the bare, human-facing
|
|
14
|
+
* name — 'org_complete', not 'mcp__org__org_complete' — so without this,
|
|
15
|
+
* 'org_complete' NEVER matched and silently fell through to auto-approve
|
|
16
|
+
* unconditionally on every single call. Of the four originally-intended
|
|
17
|
+
* sensitive actions, the one whose approval mattered most (org_complete ends
|
|
18
|
+
* the entire run) was the one that was never actually gated. */
|
|
19
|
+
function normalizeToolAction(rawAction) {
|
|
20
|
+
const prefix = 'mcp__org__';
|
|
21
|
+
return rawAction.startsWith(prefix) ? rawAction.slice(prefix.length) : rawAction;
|
|
22
|
+
}
|
|
23
|
+
/** Discard every approval — pending or resolved — left over from a previous
|
|
24
|
+
* run. Call on a fresh (non-resume) startOrg.
|
|
25
|
+
*
|
|
26
|
+
* approvals.json is keyed per-org, not per-run, and daemon.approvals is an
|
|
27
|
+
* in-memory Map that starts empty in every fresh CLI process. A pending
|
|
28
|
+
* approval queued by a role in a PREVIOUS run — never resolved before that
|
|
29
|
+
* run ended — otherwise survives on disk forever: it looks "pending" to
|
|
30
|
+
* anything reading the file directly (dashboard, status checks, even
|
|
31
|
+
* `org approve`'s own live-delivery-then-fallback path), but the role that
|
|
32
|
+
* requested it is gone and no live daemon will ever have a matching
|
|
33
|
+
* in-memory record for it, so `org approve`'s live path always 404s with
|
|
34
|
+
* "No pending approval found" and silently falls back to patching a ghost
|
|
35
|
+
* entry nobody is listening for. A fresh start means every previous
|
|
36
|
+
* approval is moot for this run. */
|
|
37
|
+
export function clearApprovalsForFreshStart(daemon, org) {
|
|
38
|
+
daemon.approvals.delete(org);
|
|
39
|
+
const approvalsPath = join(daemon.root, ORG_DIR, org, 'approvals.json');
|
|
40
|
+
if (existsSync(approvalsPath))
|
|
41
|
+
writeJsonFileAtomic(approvalsPath, { approvals: [] });
|
|
42
|
+
}
|
|
7
43
|
/** Check if an action requires human approval (beforeTool hook for guardrails). Returns
|
|
8
44
|
* the approval decision: true = approved, false = denied, null = pending (requires human input).
|
|
9
45
|
*
|
|
10
46
|
* R5: serialized per-org via withApprovalLock() — concurrent checkApproval and
|
|
11
47
|
* setApproval calls previously raced on this.approvals + approvals.json. */
|
|
12
|
-
export function checkApproval(daemon, org, role,
|
|
48
|
+
export function checkApproval(daemon, org, role, rawAction) {
|
|
49
|
+
const action = normalizeToolAction(rawAction);
|
|
13
50
|
return withApprovalLock(daemon, org, async () => {
|
|
14
51
|
const pending = daemon.approvals.get(org) ?? [];
|
|
15
52
|
const existing = pending.find(a => a.roleId === role && a.action === action);
|
|
@@ -61,6 +98,14 @@ export async function setApproval(daemon, org, role, action, approved) {
|
|
|
61
98
|
agent.mailbox.push(`[approval] ${action}: ${approved ? 'APPROVED' : 'DENIED'}`);
|
|
62
99
|
}
|
|
63
100
|
running?.bus.emit({ type: 'status', from: role, msg: `Approval ${approved ? 'granted' : 'denied'} for ${action}` });
|
|
101
|
+
// ORG-1: an approval resolving (approve or reject) is a natural decision
|
|
102
|
+
// point — record it so `org decisions` shows real traces.
|
|
103
|
+
daemon.recordDecision(org, role, {
|
|
104
|
+
type: 'approval',
|
|
105
|
+
context: `approval request: ${action}`,
|
|
106
|
+
reasoning: approved ? 'approved by human' : 'rejected by human',
|
|
107
|
+
outcome: approved ? 'approved' : 'rejected',
|
|
108
|
+
});
|
|
64
109
|
return { ok: true };
|
|
65
110
|
});
|
|
66
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../../src/orgrt/approvals.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,+EAA+E;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../../src/orgrt/approvals.ts"],"names":[],"mappings":"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"}
|