@monoes/monomindcli 2.9.22 → 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-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/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 +1 -1
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +2 -2
- 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 +13 -3
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +134 -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 +98 -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.map +1 -1
- package/dist/src/orgrt/approvals.js +8 -0
- 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.map +1 -1
- package/dist/src/orgrt/copilot-runner.js +12 -2
- package/dist/src/orgrt/copilot-runner.js.map +1 -1
- 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 +4 -1
- package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
- package/dist/src/orgrt/crush-runner.js +42 -30
- package/dist/src/orgrt/crush-runner.js.map +1 -1
- package/dist/src/orgrt/daemon.d.ts +38 -25
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +150 -28
- 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.map +1 -1
- package/dist/src/orgrt/grok-runner.js +39 -14
- package/dist/src/orgrt/grok-runner.js.map +1 -1
- 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.map +1 -1
- package/dist/src/orgrt/pi-rpc-runner.js +76 -91
- package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
- 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.map +1 -1
- package/dist/src/orgrt/qwen-runner.js +11 -8
- package/dist/src/orgrt/qwen-runner.js.map +1 -1
- 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 +32 -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/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 +30 -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/routes-org.mjs +59 -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 +4 -4
- 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
|
@@ -1,197 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Neural registry commands —
|
|
2
|
+
* Neural registry commands — import pattern sets from a local file
|
|
3
3
|
*/
|
|
4
4
|
import { output } from '../output.js';
|
|
5
|
-
|
|
6
|
-
export const listCommand = {
|
|
7
|
-
name: 'list',
|
|
8
|
-
description: 'List available pattern sets from the official registry',
|
|
9
|
-
options: [
|
|
10
|
-
{ name: 'category', type: 'string', description: 'Filter by category (security, quality, performance, etc.)' },
|
|
11
|
-
{ name: 'format', short: 'f', type: 'string', description: 'Output format: table, json, simple', default: 'table' },
|
|
12
|
-
{ name: 'cid', type: 'string', description: 'Custom registry CID (default: official registry)' },
|
|
13
|
-
],
|
|
14
|
-
examples: [
|
|
15
|
-
{ command: 'monomind hooks intelligence list', description: 'List all available models' },
|
|
16
|
-
{ command: 'monomind hooks intelligence list --category security', description: 'List only security models' },
|
|
17
|
-
{ command: 'monomind hooks intelligence list -f json', description: 'Output as JSON' },
|
|
18
|
-
],
|
|
19
|
-
action: async (ctx) => {
|
|
20
|
-
const category = ctx.flags.category;
|
|
21
|
-
const format = ctx.flags.format || 'table';
|
|
22
|
-
const customCid = ctx.flags.cid;
|
|
23
|
-
const registryCid = customCid || 'QmNr1yYMKi7YBaL8JSztQyuB5ZUaTdRMLxJC1pBpGbjsTc';
|
|
24
|
-
output.writeln();
|
|
25
|
-
output.writeln(output.bold('Pre-trained Model Registry'));
|
|
26
|
-
output.writeln(output.dim('─'.repeat(60)));
|
|
27
|
-
const spinner = output.createSpinner({ text: 'Fetching model registry...', spinner: 'dots' });
|
|
28
|
-
spinner.start();
|
|
29
|
-
try {
|
|
30
|
-
const gateways = ['https://gateway.pinata.cloud', 'https://ipfs.io', 'https://dweb.link'];
|
|
31
|
-
let registry = null;
|
|
32
|
-
for (const gateway of gateways) {
|
|
33
|
-
try {
|
|
34
|
-
const response = await fetch(`${gateway}/ipfs/${registryCid}`, {
|
|
35
|
-
signal: AbortSignal.timeout(15000),
|
|
36
|
-
headers: { 'Accept': 'application/json' },
|
|
37
|
-
});
|
|
38
|
-
if (response.ok) {
|
|
39
|
-
const MAX_REGISTRY_BYTES = 50 * 1024 * 1024;
|
|
40
|
-
const buf = await response.arrayBuffer();
|
|
41
|
-
if (buf.byteLength > MAX_REGISTRY_BYTES)
|
|
42
|
-
throw new Error(`Registry response too large: ${buf.byteLength} bytes`);
|
|
43
|
-
registry = JSON.parse(new TextDecoder().decode(buf));
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (!registry || !registry.models) {
|
|
52
|
-
spinner.fail('Could not fetch model registry');
|
|
53
|
-
return { success: false, exitCode: 1 };
|
|
54
|
-
}
|
|
55
|
-
let models = registry.models;
|
|
56
|
-
if (category) {
|
|
57
|
-
models = models.filter(m => m.category === category ||
|
|
58
|
-
m.id.includes(category) ||
|
|
59
|
-
m.name.toLowerCase().includes(category.toLowerCase()));
|
|
60
|
-
spinner.succeed(`Found ${models.length} models matching "${category}"`);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
spinner.succeed(`Found ${registry.models.length} models`);
|
|
64
|
-
}
|
|
65
|
-
if (models.length === 0) {
|
|
66
|
-
output.writeln(output.warning(`No models found for category: ${category}`));
|
|
67
|
-
output.writeln(output.dim('Available categories: security, quality, performance, testing, api, debugging, refactoring, documentation'));
|
|
68
|
-
return { success: false, exitCode: 1 };
|
|
69
|
-
}
|
|
70
|
-
output.writeln();
|
|
71
|
-
if (format === 'json') {
|
|
72
|
-
output.writeln(JSON.stringify(models, null, 2));
|
|
73
|
-
}
|
|
74
|
-
else if (format === 'simple') {
|
|
75
|
-
for (const model of models) {
|
|
76
|
-
output.writeln(`${model.id} (${model.category}) - ${model.patterns.length} patterns, ${(model.metadata.accuracy * 100).toFixed(0)}% accuracy`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
output.printTable({
|
|
81
|
-
columns: [
|
|
82
|
-
{ key: 'id', header: 'Model ID', width: 35 },
|
|
83
|
-
{ key: 'category', header: 'Category', width: 14 },
|
|
84
|
-
{ key: 'patterns', header: 'Patterns', width: 10 },
|
|
85
|
-
{ key: 'accuracy', header: 'Accuracy', width: 10 },
|
|
86
|
-
{ key: 'usage', header: 'Usage', width: 10 },
|
|
87
|
-
],
|
|
88
|
-
data: models.map(m => ({
|
|
89
|
-
id: m.id, category: m.category,
|
|
90
|
-
patterns: String(m.patterns.length),
|
|
91
|
-
accuracy: `${(m.metadata.accuracy * 100).toFixed(0)}%`,
|
|
92
|
-
usage: m.metadata.totalUsage.toLocaleString(),
|
|
93
|
-
})),
|
|
94
|
-
});
|
|
95
|
-
output.writeln();
|
|
96
|
-
output.writeln(output.dim('Registry CID: ' + registryCid));
|
|
97
|
-
output.writeln();
|
|
98
|
-
output.writeln(output.bold('Import Commands:'));
|
|
99
|
-
output.writeln(output.dim(' All models: ') + `monomind hooks intelligence import --cid ${registryCid}`);
|
|
100
|
-
if (category) {
|
|
101
|
-
output.writeln(output.dim(` ${category} only: `) + `monomind hooks intelligence import --cid ${registryCid} --category ${category}`);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
output.writeln(output.dim(' By category: ') + `monomind hooks intelligence import --cid ${registryCid} --category <category>`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return { success: true };
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
spinner.fail(`Failed to list models: ${error instanceof Error ? error.message : String(error)}`);
|
|
111
|
-
return { success: false, exitCode: 1 };
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
};
|
|
5
|
+
import { mergeRecordsById } from '../utils/json-file.js';
|
|
115
6
|
// ─── import subcommand ───────────────────────────────────────────────────────
|
|
116
7
|
export const importCommand = {
|
|
117
8
|
name: 'import',
|
|
118
|
-
description: 'Import pattern sets from
|
|
9
|
+
description: 'Import pattern sets from a local file, with signature verification',
|
|
119
10
|
options: [
|
|
120
|
-
{ name: 'cid', short: 'c', type: 'string', description: 'IPFS CID to import from' },
|
|
121
11
|
{ name: 'file', short: 'f', type: 'string', description: 'Local file to import' },
|
|
122
12
|
{ name: 'verify', short: 'v', type: 'boolean', description: 'Verify Ed25519 signature', default: 'true' },
|
|
123
13
|
{ name: 'merge', type: 'boolean', description: 'Merge with existing patterns (vs replace)', default: 'true' },
|
|
124
14
|
{ name: 'category', type: 'string', description: 'Only import patterns from specific category' },
|
|
125
15
|
],
|
|
126
16
|
examples: [
|
|
127
|
-
{ command: 'monomind hooks intelligence import --cid QmXxx...', description: 'Import from IPFS' },
|
|
128
17
|
{ command: 'monomind hooks intelligence import -f ./patterns.json --verify', description: 'Import from file' },
|
|
129
|
-
{ command: 'monomind hooks intelligence import
|
|
18
|
+
{ command: 'monomind hooks intelligence import -f ./patterns.json --category security', description: 'Import only security patterns' },
|
|
130
19
|
],
|
|
131
20
|
action: async (ctx) => {
|
|
132
|
-
const cid = ctx.flags.cid;
|
|
133
21
|
const file = ctx.flags.file;
|
|
134
22
|
const verifySignature = ctx.flags.verify !== false;
|
|
135
23
|
const merge = ctx.flags.merge !== false;
|
|
136
24
|
const categoryFilter = ctx.flags.category;
|
|
137
|
-
if (!
|
|
138
|
-
output.writeln(output.error('
|
|
25
|
+
if (!file) {
|
|
26
|
+
output.writeln(output.error('--file is required'));
|
|
139
27
|
return { success: false, exitCode: 1 };
|
|
140
28
|
}
|
|
141
29
|
output.writeln();
|
|
142
30
|
output.writeln(output.bold('Secure Pattern Import'));
|
|
143
31
|
output.writeln(output.dim('─'.repeat(50)));
|
|
144
|
-
const spinner = output.createSpinner({ text: '
|
|
32
|
+
const spinner = output.createSpinner({ text: 'Reading import file...', spinner: 'dots' });
|
|
145
33
|
spinner.start();
|
|
146
34
|
try {
|
|
147
35
|
const fs = await import('fs');
|
|
148
36
|
const path = await import('path');
|
|
149
37
|
const crypto = await import('crypto');
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
for (const gateway of gateways) {
|
|
154
|
-
try {
|
|
155
|
-
spinner.setText(`Fetching from ${gateway}...`);
|
|
156
|
-
const response = await fetch(`${gateway}/ipfs/${cid}`, {
|
|
157
|
-
signal: AbortSignal.timeout(30000),
|
|
158
|
-
headers: { 'Accept': 'application/json' },
|
|
159
|
-
});
|
|
160
|
-
if (response.ok) {
|
|
161
|
-
const MAX_IMPORT_BYTES = 50 * 1024 * 1024;
|
|
162
|
-
const importBuf = await response.arrayBuffer();
|
|
163
|
-
if (importBuf.byteLength > MAX_IMPORT_BYTES)
|
|
164
|
-
throw new Error(`Import response too large: ${importBuf.byteLength} bytes`);
|
|
165
|
-
importData = JSON.parse(new TextDecoder().decode(importBuf));
|
|
166
|
-
break;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
catch {
|
|
170
|
-
continue;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
if (!importData) {
|
|
174
|
-
spinner.fail('Could not fetch from any IPFS gateway');
|
|
175
|
-
return { success: false, exitCode: 1 };
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
if (!fs.existsSync(file)) {
|
|
180
|
-
spinner.fail(`File not found: ${file}`);
|
|
181
|
-
return { success: false, exitCode: 1 };
|
|
182
|
-
}
|
|
183
|
-
const stat = fs.statSync(file);
|
|
184
|
-
const MAX_IMPORT_BYTES = 50 * 1024 * 1024;
|
|
185
|
-
if (stat.size > MAX_IMPORT_BYTES) {
|
|
186
|
-
spinner.fail(`Import file too large: ${stat.size} bytes (max ${MAX_IMPORT_BYTES})`);
|
|
187
|
-
return { success: false, exitCode: 1 };
|
|
188
|
-
}
|
|
189
|
-
importData = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
38
|
+
if (!fs.existsSync(file)) {
|
|
39
|
+
spinner.fail(`File not found: ${file}`);
|
|
40
|
+
return { success: false, exitCode: 1 };
|
|
190
41
|
}
|
|
191
|
-
|
|
192
|
-
|
|
42
|
+
const stat = fs.statSync(file);
|
|
43
|
+
const MAX_IMPORT_BYTES = 50 * 1024 * 1024;
|
|
44
|
+
if (stat.size > MAX_IMPORT_BYTES) {
|
|
45
|
+
spinner.fail(`Import file too large: ${stat.size} bytes (max ${MAX_IMPORT_BYTES})`);
|
|
193
46
|
return { success: false, exitCode: 1 };
|
|
194
47
|
}
|
|
48
|
+
const importData = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
195
49
|
// SECURITY: Verify signature — fail-CLOSED (no bypass if missing or malformed)
|
|
196
50
|
if (verifySignature) {
|
|
197
51
|
if (!importData.signature || !importData.publicKey) {
|
|
@@ -205,7 +59,8 @@ export const importCommand = {
|
|
|
205
59
|
const publicKeyBytes = Buffer.from(publicKeyHex, 'hex');
|
|
206
60
|
const signatureBytes = Buffer.from(importData.signature, 'hex');
|
|
207
61
|
const publicKey = await webcrypto.subtle.importKey('raw', publicKeyBytes, { name: 'Ed25519' }, false, ['verify']);
|
|
208
|
-
const
|
|
62
|
+
const { signature: _sig, publicKey: _pk, ...signedContent } = importData;
|
|
63
|
+
const dataBytes = new TextEncoder().encode(JSON.stringify(signedContent));
|
|
209
64
|
const valid = await webcrypto.subtle.verify('Ed25519', publicKey, signatureBytes, dataBytes);
|
|
210
65
|
if (!valid) {
|
|
211
66
|
spinner.fail('Signature verification FAILED - data may be tampered');
|
|
@@ -220,9 +75,8 @@ export const importCommand = {
|
|
|
220
75
|
}
|
|
221
76
|
}
|
|
222
77
|
spinner.setText('Importing patterns...');
|
|
223
|
-
const content = importData.pinataContent || importData;
|
|
224
78
|
let patterns = [];
|
|
225
|
-
const registry =
|
|
79
|
+
const registry = importData;
|
|
226
80
|
if (registry.models && Array.isArray(registry.models)) {
|
|
227
81
|
for (const model of registry.models) {
|
|
228
82
|
if (!categoryFilter || model.category === categoryFilter || model.id.includes(categoryFilter)) {
|
|
@@ -233,7 +87,7 @@ export const importCommand = {
|
|
|
233
87
|
}
|
|
234
88
|
}
|
|
235
89
|
else {
|
|
236
|
-
patterns =
|
|
90
|
+
patterns = importData.patterns || [];
|
|
237
91
|
}
|
|
238
92
|
if (categoryFilter && patterns.length > 0) {
|
|
239
93
|
patterns = patterns.filter(p => p.category === categoryFilter || p.trigger.includes(categoryFilter));
|
|
@@ -255,9 +109,8 @@ export const importCommand = {
|
|
|
255
109
|
if (merge && fs.existsSync(patternsFile) && fs.statSync(patternsFile).size <= 50 * 1024 * 1024) {
|
|
256
110
|
existingPatterns = JSON.parse(fs.readFileSync(patternsFile, 'utf8'));
|
|
257
111
|
}
|
|
258
|
-
const
|
|
259
|
-
const
|
|
260
|
-
const finalPatterns = merge ? [...existingPatterns, ...newPatterns] : validPatterns;
|
|
112
|
+
const { merged: mergedPatterns, added: newPatterns } = mergeRecordsById(existingPatterns, validPatterns);
|
|
113
|
+
const finalPatterns = merge ? mergedPatterns : validPatterns;
|
|
261
114
|
const tmpPatterns = `${patternsFile}.${process.pid}.${Date.now()}.tmp`;
|
|
262
115
|
fs.writeFileSync(tmpPatterns, JSON.stringify(finalPatterns, null, 2), { flag: 'wx' });
|
|
263
116
|
fs.renameSync(tmpPatterns, patternsFile);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neural-registry.js","sourceRoot":"","sources":["../../../src/commands/neural-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"neural-registry.js","sourceRoot":"","sources":["../../../src/commands/neural-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,11 +52,21 @@ export declare const flowAction: (ctx: CommandContext, name: string) => Promise<
|
|
|
52
52
|
export declare const approveAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
53
53
|
/** `org deny <org> <role> <action>` — deny a pending tool/action approval */
|
|
54
54
|
export declare const denyAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
55
|
-
/** `org replay <org> <run-id>` — time-travel debugging:
|
|
55
|
+
/** `org replay <org> <run-id>` — time-travel debugging: re-emit a past run's bus
|
|
56
|
+
* events into a fresh replay run for inspection. This is event-log replay only —
|
|
57
|
+
* it does not restart agent execution or restore live sessions. To actually
|
|
58
|
+
* resume an org's execution from where it left off, use `org run --resume`. */
|
|
56
59
|
export declare const replayAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
57
|
-
/** `org resume-from <org
|
|
60
|
+
/** `org resume-from <org>` — resume live execution from the org's persisted
|
|
61
|
+
* checkpoint (runtime.json): restores mailbox queues, policy/token counters,
|
|
62
|
+
* and session state, subject to checkpoint TTL and checksum validation. Unlike
|
|
63
|
+
* `replay`, this restarts real agent execution via `startOrg(..., { resume: true })`. */
|
|
58
64
|
export declare const resumeFromAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
59
|
-
/** `org branch <org> <run-id> <branch-name>` —
|
|
65
|
+
/** `org branch <org> <run-id> <branch-name>` — snapshot a run's event log for replay.
|
|
66
|
+
* This is NOT an executable what-if scenario: it copies bus.jsonl into a new
|
|
67
|
+
* run directory tagged with a `.branch-source` marker so it can be inspected
|
|
68
|
+
* or replayed later; it does not fork or re-run agent execution.
|
|
69
|
+
* Delegates to the shared, atomic (tmp+rename) implementation in checkpoint-ops.ts. */
|
|
60
70
|
export declare const branchAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
61
71
|
/** `org decisions <org> [--run id]` — show Rifft-style decision traces */
|
|
62
72
|
export declare const decisionsAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org-observe.d.ts","sourceRoot":"","sources":["../../../src/commands/org-observe.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"org-observe.d.ts","sourceRoot":"","sources":["../../../src/commands/org-observe.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAYjE;;wFAEwF;AACxF,eAAO,MAAM,cAAc,QAAe,cAAc,KAAG,OAAO,CAAC,aAAa,CAyC/E,CAAC;AAWF,oKAAoK;AACpK,eAAO,MAAM,UAAU,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CA0CzF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,WAAW,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAmD1F,CAAC;AAEF,qHAAqH;AACrH,eAAO,MAAM,YAAY,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAoJ3F,CAAC;AA4BF,kFAAkF;AAClF,eAAO,MAAM,eAAe,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAqB9F,CAAC;AAEF;;oFAEoF;AACpF,eAAO,MAAM,YAAY,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAqF3F,CAAC;AAEF;;;;;;0CAM0C;AAC1C,eAAO,MAAM,WAAW,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CA8E1F,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,YAAY,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAwD3F,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,WAAW,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CA+E1F,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,UAAU,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAgDzF,CAAC;AAoDF,mFAAmF;AACnF,eAAO,MAAM,aAAa,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAO5F,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,UAAU,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAOzF,CAAC;AAEF;;;gFAGgF;AAChF,eAAO,MAAM,YAAY,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAgC3F,CAAC;AAEF;;;0FAG0F;AAC1F,eAAO,MAAM,gBAAgB,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAe/F,CAAC;AAEF;;;;wFAIwF;AACxF,eAAO,MAAM,YAAY,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAc3F,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,eAAe,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAuC9F,CAAC;AAiCF,eAAO,MAAM,WAAW,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAoB1F,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAe,cAAc,QAAQ,MAAM,YAAY,OAAO,KAAG,OAAO,CAAC,aAAa,CAmEnH,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
// packages/@monomind/cli/src/commands/org-observe.ts
|
|
2
2
|
// Read-side org subcommands (logs / report) + template scaffolding (create).
|
|
3
3
|
// Kept out of org.ts to respect the 500-line file ceiling.
|
|
4
|
-
import { existsSync,
|
|
4
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import { output } from '../output.js';
|
|
7
7
|
import { ORG_DIR, OrgDefSchema } from '../orgrt/types.js';
|
|
8
8
|
import { formatEvent, listRunDirs, readHistory, readRunEvents, summarizeRun } from '../orgrt/reporting.js';
|
|
9
9
|
import { ORG_TEMPLATES, buildFromTemplate } from '../orgrt/templates.js';
|
|
10
10
|
import { checkOrgStructure } from '../orgrt/migrate.js';
|
|
11
|
+
import { resolveModel } from '../orgrt/session.js';
|
|
12
|
+
import { branchCheckpoint } from '../orgrt/checkpoint-ops.js';
|
|
11
13
|
import { listOrgConfigFiles, validateOrgName } from './org.js';
|
|
12
14
|
const log = (text) => { console.log(text); };
|
|
13
15
|
/** Validate org config(s) against OrgDefSchema — the exact parse `org run`/`org serve`
|
|
@@ -612,11 +614,40 @@ export const createAction = async (ctx, name) => {
|
|
|
612
614
|
return { success: false, message: 'org exists' };
|
|
613
615
|
}
|
|
614
616
|
OrgDefSchema.parse(def); // templates must always produce a runnable config
|
|
617
|
+
// Per-role model — the single most consequential setting the template picked on
|
|
618
|
+
// the user's behalf. Mirror resolveModel() (same helper `org run`'s cost estimate
|
|
619
|
+
// uses) so a role relying on its runtime/vendor default isn't mislabeled here.
|
|
620
|
+
const modelRows = def.roles.map((r) => {
|
|
621
|
+
const explicit = r.adapter_config?.model;
|
|
622
|
+
return {
|
|
623
|
+
id: r.id,
|
|
624
|
+
model: String(explicit ?? resolveModel(r, r.runtime ?? def.runtime, r.provider?.vendor)),
|
|
625
|
+
explicit: !!explicit,
|
|
626
|
+
};
|
|
627
|
+
});
|
|
628
|
+
const printModels = () => {
|
|
629
|
+
log(output.bold(' Models:'));
|
|
630
|
+
for (const r of modelRows) {
|
|
631
|
+
log(` ${r.id.padEnd(20)} ${r.model}${r.explicit ? '' : ' (default)'}`);
|
|
632
|
+
}
|
|
633
|
+
};
|
|
634
|
+
if (ctx.interactive && ctx.flags['yes'] !== true) {
|
|
635
|
+
log(output.bold(`\nAbout to create org "${name}" from template "${templateName}" (${def.roles.length} roles):`));
|
|
636
|
+
printModels();
|
|
637
|
+
const { confirm } = await import('../prompt.js');
|
|
638
|
+
const proceed = await confirm({ message: 'Create this org?', default: true });
|
|
639
|
+
if (!proceed) {
|
|
640
|
+
log(output.info('Cancelled — no file written. Adjust --template/--goal, or edit the template, then retry (pass --yes to skip this prompt).'));
|
|
641
|
+
return { success: false, message: 'cancelled by user' };
|
|
642
|
+
}
|
|
643
|
+
}
|
|
615
644
|
const { mkdirSync } = await import('node:fs');
|
|
616
645
|
mkdirSync(join(ctx.cwd, ORG_DIR), { recursive: true });
|
|
617
646
|
writeFileSync(file, JSON.stringify(def, null, 2) + '\n', 'utf8');
|
|
618
647
|
log(output.success(`Org "${name}" created from template "${templateName}" (${def.roles.length} roles).`));
|
|
619
648
|
log(output.info(` Budget: ${def.run_config.budget_tokens} tokens · Turn limit: ${def.run_config.max_turns_per_message} per message (effectively unlimited by default — set run_config.max_turns_per_message, or a role's own max_turns_per_message, to cap it).`));
|
|
649
|
+
if (!ctx.interactive || ctx.flags['yes'] === true)
|
|
650
|
+
printModels();
|
|
620
651
|
log(output.info(` Edit the goal/roles in ${file}, then: monomind org run ${name}`));
|
|
621
652
|
return { success: true };
|
|
622
653
|
};
|
|
@@ -795,7 +826,10 @@ export const denyAction = async (ctx, name) => {
|
|
|
795
826
|
}
|
|
796
827
|
return resolveApproval(ctx, name, role, action, false);
|
|
797
828
|
};
|
|
798
|
-
/** `org replay <org> <run-id>` — time-travel debugging:
|
|
829
|
+
/** `org replay <org> <run-id>` — time-travel debugging: re-emit a past run's bus
|
|
830
|
+
* events into a fresh replay run for inspection. This is event-log replay only —
|
|
831
|
+
* it does not restart agent execution or restore live sessions. To actually
|
|
832
|
+
* resume an org's execution from where it left off, use `org run --resume`. */
|
|
799
833
|
export const replayAction = async (ctx, name) => {
|
|
800
834
|
const run = ctx.args[1];
|
|
801
835
|
if (!run) {
|
|
@@ -809,61 +843,52 @@ export const replayAction = async (ctx, name) => {
|
|
|
809
843
|
if (!existsSync(busFile)) {
|
|
810
844
|
return { success: false, message: `no bus events found for run ${run}` };
|
|
811
845
|
}
|
|
812
|
-
log(output.info(`
|
|
813
|
-
// Create daemon and
|
|
846
|
+
log(output.info(`Replaying org ${name} events from checkpoint ${run}...`));
|
|
847
|
+
// Create daemon and replay the bus events for debugging/inspection
|
|
814
848
|
const { OrgDaemon } = await import('../orgrt/daemon.js');
|
|
815
849
|
const daemon = new OrgDaemon(ctx.cwd, { forward: false });
|
|
816
850
|
const resumed = await daemon.replayFrom(name, run);
|
|
817
851
|
if (!resumed) {
|
|
818
852
|
return { success: false, message: `replay failed - check bus.jsonl and org config for ${name} are valid` };
|
|
819
853
|
}
|
|
820
|
-
log(output.success(`Org ${name}
|
|
854
|
+
log(output.success(`Org ${name} events replayed from ${run} as run ${resumed.run}`));
|
|
821
855
|
log(output.info(`Use: monomind org logs ${name} --run ${resumed.run} to inspect events.`));
|
|
822
|
-
log(output.info(`
|
|
823
|
-
return { success: true, message: `
|
|
856
|
+
log(output.info(`This is debug replay only — it does not restart agent execution. To resume live execution, use: monomind org run ${name} --resume`));
|
|
857
|
+
return { success: true, message: `replayed events from checkpoint ${run} as ${resumed.run}` };
|
|
824
858
|
};
|
|
825
|
-
/** `org resume-from <org
|
|
859
|
+
/** `org resume-from <org>` — resume live execution from the org's persisted
|
|
860
|
+
* checkpoint (runtime.json): restores mailbox queues, policy/token counters,
|
|
861
|
+
* and session state, subject to checkpoint TTL and checksum validation. Unlike
|
|
862
|
+
* `replay`, this restarts real agent execution via `startOrg(..., { resume: true })`. */
|
|
826
863
|
export const resumeFromAction = async (ctx, name) => {
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
864
|
+
log(output.info(`Resuming org ${name} from checkpoint...`));
|
|
865
|
+
const { OrgDaemon } = await import('../orgrt/daemon.js');
|
|
866
|
+
const daemon = new OrgDaemon(ctx.cwd, { forward: false });
|
|
867
|
+
const resumed = await daemon.resumeOrg(name);
|
|
868
|
+
if (!resumed) {
|
|
869
|
+
return { success: false, message: `resume failed for ${name} - check runtime.json checkpoint is present, unexpired, and valid` };
|
|
830
870
|
}
|
|
831
|
-
|
|
832
|
-
|
|
871
|
+
log(output.success(`Org ${name} resumed - ${resumed.agents.size} role(s) restored`));
|
|
872
|
+
log(output.info(`Stop with: monomind org stop ${name}`));
|
|
873
|
+
return { success: true, message: `resumed ${name} - ${resumed.agents.size} role(s) restored` };
|
|
833
874
|
};
|
|
834
|
-
/** `org branch <org> <run-id> <branch-name>` —
|
|
875
|
+
/** `org branch <org> <run-id> <branch-name>` — snapshot a run's event log for replay.
|
|
876
|
+
* This is NOT an executable what-if scenario: it copies bus.jsonl into a new
|
|
877
|
+
* run directory tagged with a `.branch-source` marker so it can be inspected
|
|
878
|
+
* or replayed later; it does not fork or re-run agent execution.
|
|
879
|
+
* Delegates to the shared, atomic (tmp+rename) implementation in checkpoint-ops.ts. */
|
|
835
880
|
export const branchAction = async (ctx, name) => {
|
|
836
881
|
const run = ctx.args[1];
|
|
837
882
|
const branchName = ctx.args[2];
|
|
838
883
|
if (!run || !branchName) {
|
|
839
884
|
return { success: false, message: 'usage: org branch <org> <run-id> <branch-name>' };
|
|
840
885
|
}
|
|
841
|
-
const
|
|
842
|
-
if (!
|
|
843
|
-
return { success: false, message:
|
|
844
|
-
}
|
|
845
|
-
const branchRun = `branch-${new Date().toISOString().replace(/[-:T]/g, '').slice(0, 14)}-${Math.random().toString(36).slice(2, 6)}`;
|
|
846
|
-
const branchDir = join(ctx.cwd, ORG_DIR, name, branchRun);
|
|
847
|
-
try {
|
|
848
|
-
mkdirSync(branchDir, { recursive: true });
|
|
849
|
-
// Copy bus.jsonl to branch
|
|
850
|
-
const busFile = join(runDir, 'bus.jsonl');
|
|
851
|
-
if (existsSync(busFile)) {
|
|
852
|
-
const busContent = readFileSync(busFile, 'utf8');
|
|
853
|
-
writeFileSync(join(branchDir, 'bus.jsonl'), busContent);
|
|
854
|
-
}
|
|
855
|
-
// Create branch marker file
|
|
856
|
-
writeFileSync(join(branchDir, '.branch-source'), JSON.stringify({
|
|
857
|
-
from: run,
|
|
858
|
-
branchedAt: new Date().toISOString(),
|
|
859
|
-
name: branchName
|
|
860
|
-
}, null, 2));
|
|
861
|
-
log(output.success(`Created branch "${branchName}" from ${run} as ${branchRun}`));
|
|
862
|
-
return { success: true, message: `branch ${branchName} created as ${branchRun}` };
|
|
863
|
-
}
|
|
864
|
-
catch (err) {
|
|
865
|
-
return { success: false, message: `failed to create branch: ${err instanceof Error ? err.message : String(err)}` };
|
|
886
|
+
const result = branchCheckpoint(ctx.cwd, name, run, branchName);
|
|
887
|
+
if (!result.ok) {
|
|
888
|
+
return { success: false, message: result.error };
|
|
866
889
|
}
|
|
890
|
+
log(output.success(`Created branch "${branchName}" from ${run} as ${result.branchRun}`));
|
|
891
|
+
return { success: true, message: `branch ${branchName} created as ${result.branchRun}` };
|
|
867
892
|
};
|
|
868
893
|
/** `org decisions <org> [--run id]` — show Rifft-style decision traces */
|
|
869
894
|
export const decisionsAction = async (ctx, name) => {
|
|
@@ -906,6 +931,35 @@ function readGatesFile(cwd, org) {
|
|
|
906
931
|
return { gates: [] };
|
|
907
932
|
}
|
|
908
933
|
}
|
|
934
|
+
/** Read gates.json for a write path. A MISSING file legitimately means "no gates" → [].
|
|
935
|
+
* Any other failure (unreadable, malformed — e.g. a partial daemon write) THROWS:
|
|
936
|
+
* gateResolveAction rewrites this file from what this returns, so silently coercing a
|
|
937
|
+
* failed read to [] would surface a real I/O error as "gate not found" and a
|
|
938
|
+
* subsequent write would replace every recorded gate with just this one. */
|
|
939
|
+
function readGatesFileStrict(cwd, org) {
|
|
940
|
+
const path = join(cwd, ORG_DIR, org, 'gates.json');
|
|
941
|
+
let raw;
|
|
942
|
+
try {
|
|
943
|
+
raw = readFileSync(path, 'utf8');
|
|
944
|
+
}
|
|
945
|
+
catch (err) {
|
|
946
|
+
if (err.code === 'ENOENT')
|
|
947
|
+
return { gates: [] };
|
|
948
|
+
throw new Error(`cannot read ${path}: ${err instanceof Error ? err.message : String(err)}`);
|
|
949
|
+
}
|
|
950
|
+
let parsed;
|
|
951
|
+
try {
|
|
952
|
+
parsed = JSON.parse(raw);
|
|
953
|
+
}
|
|
954
|
+
catch (err) {
|
|
955
|
+
throw new Error(`${path} is not valid JSON (${err instanceof Error ? err.message : String(err)})`);
|
|
956
|
+
}
|
|
957
|
+
if (parsed?.gates === undefined || parsed.gates === null)
|
|
958
|
+
return { gates: [] };
|
|
959
|
+
if (!Array.isArray(parsed.gates))
|
|
960
|
+
throw new Error(`${path}: "gates" is not an array`);
|
|
961
|
+
return { gates: parsed.gates };
|
|
962
|
+
}
|
|
909
963
|
export const gatesAction = async (ctx, name) => {
|
|
910
964
|
const data = readGatesFile(ctx.cwd, name);
|
|
911
965
|
const showAll = ctx.flags['all'] === true;
|
|
@@ -931,7 +985,14 @@ export const gateResolveAction = async (ctx, name, approved) => {
|
|
|
931
985
|
const resolution = ctx.args.slice(2).join(' ') || undefined;
|
|
932
986
|
if (!gateId)
|
|
933
987
|
return { success: false, message: `usage: monomind org gate-${approved ? 'approve' : 'reject'} ${name} <gate-id> [resolution]` };
|
|
934
|
-
|
|
988
|
+
let data;
|
|
989
|
+
try {
|
|
990
|
+
data = readGatesFileStrict(ctx.cwd, name);
|
|
991
|
+
}
|
|
992
|
+
catch (err) {
|
|
993
|
+
log(output.error(`Cannot read gates for org ${name}: ${err instanceof Error ? err.message : String(err)}`));
|
|
994
|
+
return { success: false, message: 'gates.json unreadable — gate not resolved' };
|
|
995
|
+
}
|
|
935
996
|
const gate = data.gates.find(g => g.id === gateId);
|
|
936
997
|
if (!gate)
|
|
937
998
|
return { success: false, message: `gate "${gateId}" not found for org "${name}"` };
|
|
@@ -952,14 +1013,42 @@ export const gateResolveAction = async (ctx, name, approved) => {
|
|
|
952
1013
|
log(output.success(`Gate ${gateId} ${approved ? 'approved' : 'rejected'} (live).`));
|
|
953
1014
|
return { success: true, message: `gate ${approved ? 'approved' : 'rejected'}` };
|
|
954
1015
|
}
|
|
955
|
-
log(output.
|
|
956
|
-
return { success: false, message: d.error ?? `HTTP ${res.status}` };
|
|
1016
|
+
log(output.warning(`Live resolution rejected (${d.error ?? res.status}) — falling back to offline queue.`));
|
|
957
1017
|
}
|
|
958
1018
|
catch (err) {
|
|
959
|
-
log(output.
|
|
960
|
-
return { success: false, message: 'daemon unreachable — gate can only be resolved while the org is running' };
|
|
1019
|
+
log(output.warning(`Hosting daemon unreachable (${err instanceof Error ? err.message : 'error'}) — falling back to offline queue.`));
|
|
961
1020
|
}
|
|
962
1021
|
}
|
|
963
|
-
|
|
1022
|
+
// Offline path: no live daemon hosts this org (or the live call failed) —
|
|
1023
|
+
// resolve gates.json directly, same as resolveApproval's offline branch.
|
|
1024
|
+
// Re-read fresh (mirrors answerAction/resolveApproval) in case a live
|
|
1025
|
+
// daemon resolved this gate concurrently while the live call above was
|
|
1026
|
+
// in flight or timing out.
|
|
1027
|
+
const { writeGates } = await import('../orgrt/decisions.js');
|
|
1028
|
+
let fresh;
|
|
1029
|
+
try {
|
|
1030
|
+
fresh = readGatesFileStrict(ctx.cwd, name);
|
|
1031
|
+
}
|
|
1032
|
+
catch (err) {
|
|
1033
|
+
log(output.error(`Refusing to rewrite gates.json — ${err instanceof Error ? err.message : String(err)}`));
|
|
1034
|
+
log(output.warning(`The gate was NOT resolved. Fix or restore ${join(ctx.cwd, ORG_DIR, name, 'gates.json')}, then retry.`));
|
|
1035
|
+
return { success: false, message: 'gates.json unreadable — gate not resolved' };
|
|
1036
|
+
}
|
|
1037
|
+
const idx = fresh.gates.findIndex(g => g.id === gateId);
|
|
1038
|
+
if (idx === -1)
|
|
1039
|
+
return { success: false, message: `gate "${gateId}" not found for org "${name}"` };
|
|
1040
|
+
if (fresh.gates[idx].status !== 'pending') {
|
|
1041
|
+
return { success: false, message: `gate "${gateId}" already resolved (${fresh.gates[idx].status})` };
|
|
1042
|
+
}
|
|
1043
|
+
fresh.gates[idx] = {
|
|
1044
|
+
...fresh.gates[idx],
|
|
1045
|
+
status: approved ? 'approved' : 'rejected',
|
|
1046
|
+
resolvedAt: Date.now(),
|
|
1047
|
+
resolvedBy: 'human',
|
|
1048
|
+
resolution,
|
|
1049
|
+
};
|
|
1050
|
+
writeGates(ctx.cwd, name, fresh);
|
|
1051
|
+
log(output.success(`Gate ${gateId} ${approved ? 'approved' : 'rejected'} — ${name} picks it up on its next cycle.`));
|
|
1052
|
+
return { success: true, message: `gate ${approved ? 'approved' : 'rejected'} (queued)` };
|
|
964
1053
|
};
|
|
965
1054
|
//# sourceMappingURL=org-observe.js.map
|