monomind 1.10.0 → 1.10.2
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/commands/monomind/understand.md +111 -70
- package/.claude/settings.local.json +1 -2
- package/package.json +1 -1
- package/packages/@monomind/cli/bundled-graph/dist/src/analyze.d.ts +32 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/analyze.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/analyze.js +297 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/analyze.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/build.d.ts +8 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/build.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/build.js +73 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/build.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/cache.d.ts +12 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/cache.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/cache.js +43 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/cache.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/cluster.d.ts +5 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/cluster.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/cluster.js +120 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/cluster.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/detect.d.ts +21 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/detect.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/detect.js +195 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/detect.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/export.d.ts +21 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/export.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/export.js +68 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/export.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/index.d.ts +20 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/index.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/index.js +158 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/index.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/c.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/c.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/c.js +88 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/c.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/cpp.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/cpp.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/cpp.js +121 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/cpp.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/csharp.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/csharp.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/csharp.js +121 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/csharp.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/go.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/go.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/go.js +181 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/go.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/java.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/java.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/java.js +117 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/java.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/kotlin.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/kotlin.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/kotlin.js +112 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/kotlin.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/php.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/php.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/php.js +130 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/php.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/python.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/python.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/python.js +230 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/python.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/ruby.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/ruby.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/ruby.js +120 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/ruby.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/rust.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/rust.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/rust.js +195 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/rust.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/scala.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/scala.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/scala.js +110 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/scala.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/swift.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/swift.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/swift.js +122 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/swift.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/typescript.d.ts +3 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/typescript.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/typescript.js +295 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/typescript.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/semantic.d.ts +38 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/semantic.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/semantic.js +242 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/semantic.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts +48 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/tree-sitter-runner.js +137 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/tree-sitter-runner.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/types.d.ts +7 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/types.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/types.js +2 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/extract/types.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/index.d.ts +28 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/index.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/index.js +26 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/index.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/pipeline.d.ts +27 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/pipeline.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/pipeline.js +269 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/pipeline.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/report.d.ts +26 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/report.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/report.js +214 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/report.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/types.d.ts +124 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/types.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/types.js +2 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/types.js.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/visualize.d.ts +4 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/visualize.d.ts.map +1 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/visualize.js +574 -0
- package/packages/@monomind/cli/bundled-graph/dist/src/visualize.js.map +1 -0
- package/packages/@monomind/cli/dist/src/agents/halt-signal.d.ts +25 -0
- package/packages/@monomind/cli/dist/src/agents/halt-signal.js +76 -0
- package/packages/@monomind/cli/dist/src/agents/index.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/agents/index.js +13 -0
- package/packages/@monomind/cli/dist/src/agents/managed-agent.d.ts +41 -0
- package/packages/@monomind/cli/dist/src/agents/managed-agent.js +69 -0
- package/packages/@monomind/cli/dist/src/agents/prompt-experiment.d.ts +23 -0
- package/packages/@monomind/cli/dist/src/agents/prompt-experiment.js +49 -0
- package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.d.ts +22 -0
- package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.js +80 -0
- package/packages/@monomind/cli/dist/src/agents/registry-builder.d.ts +36 -0
- package/packages/@monomind/cli/dist/src/agents/registry-builder.js +200 -0
- package/packages/@monomind/cli/dist/src/agents/registry-query.d.ts +71 -0
- package/packages/@monomind/cli/dist/src/agents/registry-query.js +125 -0
- package/packages/@monomind/cli/dist/src/agents/score-decay.d.ts +19 -0
- package/packages/@monomind/cli/dist/src/agents/score-decay.js +22 -0
- package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.js +40 -0
- package/packages/@monomind/cli/dist/src/agents/specialization-scorer.d.ts +54 -0
- package/packages/@monomind/cli/dist/src/agents/specialization-scorer.js +212 -0
- package/packages/@monomind/cli/dist/src/agents/termination-watcher.d.ts +30 -0
- package/packages/@monomind/cli/dist/src/agents/termination-watcher.js +84 -0
- package/packages/@monomind/cli/dist/src/agents/trigger-index.d.ts +20 -0
- package/packages/@monomind/cli/dist/src/agents/trigger-index.js +38 -0
- package/packages/@monomind/cli/dist/src/agents/trigger-scanner.d.ts +64 -0
- package/packages/@monomind/cli/dist/src/agents/trigger-scanner.js +308 -0
- package/packages/@monomind/cli/dist/src/agents/version-diff.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/agents/version-diff.js +64 -0
- package/packages/@monomind/cli/dist/src/agents/version-store.d.ts +60 -0
- package/packages/@monomind/cli/dist/src/agents/version-store.js +235 -0
- package/packages/@monomind/cli/dist/src/autopilot-state.d.ts +77 -0
- package/packages/@monomind/cli/dist/src/autopilot-state.js +330 -0
- package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.d.ts +87 -0
- package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.js +273 -0
- package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.d.ts +36 -0
- package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.js +114 -0
- package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.d.ts +58 -0
- package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.js +404 -0
- package/packages/@monomind/cli/dist/src/commands/agent-wasm.d.ts +14 -0
- package/packages/@monomind/cli/dist/src/commands/agent-wasm.js +333 -0
- package/packages/@monomind/cli/dist/src/commands/agent.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/agent.js +943 -0
- package/packages/@monomind/cli/dist/src/commands/analyze.d.ts +19 -0
- package/packages/@monomind/cli/dist/src/commands/analyze.js +2048 -0
- package/packages/@monomind/cli/dist/src/commands/appliance-advanced.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/commands/appliance-advanced.js +238 -0
- package/packages/@monomind/cli/dist/src/commands/appliance.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/appliance.js +406 -0
- package/packages/@monomind/cli/dist/src/commands/autopilot.d.ts +15 -0
- package/packages/@monomind/cli/dist/src/commands/autopilot.js +362 -0
- package/packages/@monomind/cli/dist/src/commands/benchmark.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/benchmark.js +571 -0
- package/packages/@monomind/cli/dist/src/commands/claims.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/claims.js +632 -0
- package/packages/@monomind/cli/dist/src/commands/cleanup.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/commands/cleanup.js +218 -0
- package/packages/@monomind/cli/dist/src/commands/completions.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/completions.js +539 -0
- package/packages/@monomind/cli/dist/src/commands/config.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/config.js +460 -0
- package/packages/@monomind/cli/dist/src/commands/daemon.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/daemon.js +671 -0
- package/packages/@monomind/cli/dist/src/commands/deployment.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/deployment.js +691 -0
- package/packages/@monomind/cli/dist/src/commands/doctor.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/doctor.js +647 -0
- package/packages/@monomind/cli/dist/src/commands/embeddings.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/commands/embeddings.js +1652 -0
- package/packages/@monomind/cli/dist/src/commands/guidance.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/guidance.js +560 -0
- package/packages/@monomind/cli/dist/src/commands/hive-mind.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/hive-mind.js +1238 -0
- package/packages/@monomind/cli/dist/src/commands/hooks.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/hooks.js +4446 -0
- package/packages/@monomind/cli/dist/src/commands/index.d.ts +119 -0
- package/packages/@monomind/cli/dist/src/commands/index.js +404 -0
- package/packages/@monomind/cli/dist/src/commands/init.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/init.js +853 -0
- package/packages/@monomind/cli/dist/src/commands/issues.d.ts +21 -0
- package/packages/@monomind/cli/dist/src/commands/issues.js +567 -0
- package/packages/@monomind/cli/dist/src/commands/mcp.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/mcp.js +705 -0
- package/packages/@monomind/cli/dist/src/commands/memory.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/memory.js +1596 -0
- package/packages/@monomind/cli/dist/src/commands/migrate.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/migrate.js +790 -0
- package/packages/@monomind/cli/dist/src/commands/monograph.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/monograph.js +526 -0
- package/packages/@monomind/cli/dist/src/commands/neural.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/neural.js +1494 -0
- package/packages/@monomind/cli/dist/src/commands/performance.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/performance.js +601 -0
- package/packages/@monomind/cli/dist/src/commands/plugins.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/plugins.js +796 -0
- package/packages/@monomind/cli/dist/src/commands/process.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/process.js +718 -0
- package/packages/@monomind/cli/dist/src/commands/progress.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/progress.js +259 -0
- package/packages/@monomind/cli/dist/src/commands/providers.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/providers.js +391 -0
- package/packages/@monomind/cli/dist/src/commands/replay.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/replay.js +60 -0
- package/packages/@monomind/cli/dist/src/commands/route.d.ts +16 -0
- package/packages/@monomind/cli/dist/src/commands/route.js +939 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/backup.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/backup.js +746 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/benchmark.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/benchmark.js +489 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/import.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/import.js +359 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/index.d.ts +29 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/index.js +129 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/init.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/init.js +481 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/migrate.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/migrate.js +497 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/optimize.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/optimize.js +504 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/setup.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/setup.js +765 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/status.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/status.js +491 -0
- package/packages/@monomind/cli/dist/src/commands/security.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/security.js +943 -0
- package/packages/@monomind/cli/dist/src/commands/session.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/session.js +793 -0
- package/packages/@monomind/cli/dist/src/commands/start.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/start.js +432 -0
- package/packages/@monomind/cli/dist/src/commands/status.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/status.js +591 -0
- package/packages/@monomind/cli/dist/src/commands/swarm.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/swarm.js +812 -0
- package/packages/@monomind/cli/dist/src/commands/task.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/task.js +671 -0
- package/packages/@monomind/cli/dist/src/commands/tokens.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/tokens.js +107 -0
- package/packages/@monomind/cli/dist/src/commands/transfer-store.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/commands/transfer-store.js +428 -0
- package/packages/@monomind/cli/dist/src/commands/ui.js +68 -0
- package/packages/@monomind/cli/dist/src/commands/update.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/update.js +276 -0
- package/packages/@monomind/cli/dist/src/commands/workflow.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/workflow.js +644 -0
- package/packages/@monomind/cli/dist/src/config-adapter.d.ts +16 -0
- package/packages/@monomind/cli/dist/src/config-adapter.js +186 -0
- package/packages/@monomind/cli/dist/src/consensus/audit-writer.d.ts +50 -0
- package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +142 -0
- package/packages/@monomind/cli/dist/src/consensus/index.d.ts +7 -0
- package/packages/@monomind/cli/dist/src/consensus/index.js +6 -0
- package/packages/@monomind/cli/dist/src/consensus/vote-signer.d.ts +36 -0
- package/packages/@monomind/cli/dist/src/consensus/vote-signer.js +71 -0
- package/packages/@monomind/cli/dist/src/context/context-provider.d.ts +44 -0
- package/packages/@monomind/cli/dist/src/context/context-provider.js +25 -0
- package/packages/@monomind/cli/dist/src/context/git-state-provider.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/context/git-state-provider.js +34 -0
- package/packages/@monomind/cli/dist/src/context/index.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/context/index.js +12 -0
- package/packages/@monomind/cli/dist/src/context/project-conventions-provider.d.ts +15 -0
- package/packages/@monomind/cli/dist/src/context/project-conventions-provider.js +19 -0
- package/packages/@monomind/cli/dist/src/context/prompt-assembler.d.ts +26 -0
- package/packages/@monomind/cli/dist/src/context/prompt-assembler.js +93 -0
- package/packages/@monomind/cli/dist/src/context/task-history-provider.d.ts +24 -0
- package/packages/@monomind/cli/dist/src/context/task-history-provider.js +32 -0
- package/packages/@monomind/cli/dist/src/context/user-preferences-provider.d.ts +14 -0
- package/packages/@monomind/cli/dist/src/context/user-preferences-provider.js +27 -0
- package/packages/@monomind/cli/dist/src/dlq/dlq-reader.d.ts +31 -0
- package/packages/@monomind/cli/dist/src/dlq/dlq-reader.js +81 -0
- package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.d.ts +27 -0
- package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.js +90 -0
- package/packages/@monomind/cli/dist/src/dlq/dlq-writer.d.ts +24 -0
- package/packages/@monomind/cli/dist/src/dlq/dlq-writer.js +65 -0
- package/packages/@monomind/cli/dist/src/dlq/index.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/dlq/index.js +7 -0
- package/packages/@monomind/cli/dist/src/eval/dataset-manager.d.ts +33 -0
- package/packages/@monomind/cli/dist/src/eval/dataset-manager.js +107 -0
- package/packages/@monomind/cli/dist/src/eval/dataset-runner.d.ts +23 -0
- package/packages/@monomind/cli/dist/src/eval/dataset-runner.js +59 -0
- package/packages/@monomind/cli/dist/src/eval/index.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/eval/index.js +7 -0
- package/packages/@monomind/cli/dist/src/eval/trace-collector.d.ts +40 -0
- package/packages/@monomind/cli/dist/src/eval/trace-collector.js +102 -0
- package/packages/@monomind/cli/dist/src/index.d.ts +82 -0
- package/packages/@monomind/cli/dist/src/index.js +580 -0
- package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
- package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.js +264 -0
- package/packages/@monomind/cli/dist/src/init/claudemd-generator.d.ts +25 -0
- package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +558 -0
- package/packages/@monomind/cli/dist/src/init/executor.d.ts +38 -0
- package/packages/@monomind/cli/dist/src/init/executor.js +2172 -0
- package/packages/@monomind/cli/dist/src/init/helpers-generator.d.ts +60 -0
- package/packages/@monomind/cli/dist/src/init/helpers-generator.js +1235 -0
- package/packages/@monomind/cli/dist/src/init/index.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/init/index.js +15 -0
- package/packages/@monomind/cli/dist/src/init/mcp-generator.d.ts +26 -0
- package/packages/@monomind/cli/dist/src/init/mcp-generator.js +99 -0
- package/packages/@monomind/cli/dist/src/init/settings-generator.d.ts +14 -0
- package/packages/@monomind/cli/dist/src/init/settings-generator.js +417 -0
- package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.d.ts +38 -0
- package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.js +586 -0
- package/packages/@monomind/cli/dist/src/init/statusline-generator.d.ts +25 -0
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +1171 -0
- package/packages/@monomind/cli/dist/src/init/types.d.ts +315 -0
- package/packages/@monomind/cli/dist/src/init/types.js +254 -0
- package/packages/@monomind/cli/dist/src/interactive/interrupt.d.ts +22 -0
- package/packages/@monomind/cli/dist/src/interactive/interrupt.js +71 -0
- package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.d.ts +25 -0
- package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.js +48 -0
- package/packages/@monomind/cli/dist/src/mcp/tool-registry.d.ts +61 -0
- package/packages/@monomind/cli/dist/src/mcp/tool-registry.js +246 -0
- package/packages/@monomind/cli/dist/src/mcp-client.d.ts +92 -0
- package/packages/@monomind/cli/dist/src/mcp-client.js +270 -0
- package/packages/@monomind/cli/dist/src/mcp-server.d.ts +170 -0
- package/packages/@monomind/cli/dist/src/mcp-server.js +829 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/a2a-tools.d.ts +14 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/a2a-tools.js +244 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.js +607 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/agentdb-tools.js +596 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.js +326 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.d.ts +83 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.js +129 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.js +237 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.js +729 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.js +797 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.js +381 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/coordination-tools.js +728 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/daa-tools.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/daa-tools.js +509 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +823 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.js +485 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.js +49 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.d.ts +15 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +646 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +957 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.d.ts +44 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +3440 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +39 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/index.js +41 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.d.ts +14 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +530 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +6306 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.d.ts +16 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +718 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.d.ts +16 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.js +656 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/progress-tools.d.ts +14 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/progress-tools.js +350 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.d.ts +17 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.js +30 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/ruvllm-tools.js +295 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.js +434 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.js +378 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.js +317 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.js +552 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.js +446 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.js +309 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.js +401 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/types.d.ts +37 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/types.js +14 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.js +230 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +631 -0
- package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.d.ts +295 -0
- package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.js +632 -0
- package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +338 -0
- package/packages/@monomind/cli/dist/src/memory/intelligence.js +1049 -0
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +410 -0
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +1654 -0
- package/packages/@monomind/cli/dist/src/memory/memory-initializer.d.ts +414 -0
- package/packages/@monomind/cli/dist/src/memory/memory-initializer.js +2284 -0
- package/packages/@monomind/cli/dist/src/memory/sona-optimizer.d.ts +234 -0
- package/packages/@monomind/cli/dist/src/memory/sona-optimizer.js +650 -0
- package/packages/@monomind/cli/dist/src/model/complexity-scorer.d.ts +21 -0
- package/packages/@monomind/cli/dist/src/model/complexity-scorer.js +106 -0
- package/packages/@monomind/cli/dist/src/model/index.d.ts +4 -0
- package/packages/@monomind/cli/dist/src/model/index.js +4 -0
- package/packages/@monomind/cli/dist/src/model/model-settings.d.ts +22 -0
- package/packages/@monomind/cli/dist/src/model/model-settings.js +33 -0
- package/packages/@monomind/cli/dist/src/model/model-tier-resolver.d.ts +24 -0
- package/packages/@monomind/cli/dist/src/model/model-tier-resolver.js +65 -0
- package/packages/@monomind/cli/dist/src/observability/replay-reader.d.ts +40 -0
- package/packages/@monomind/cli/dist/src/observability/replay-reader.js +138 -0
- package/packages/@monomind/cli/dist/src/orchestration/index.d.ts +7 -0
- package/packages/@monomind/cli/dist/src/orchestration/index.js +6 -0
- package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.js +31 -0
- package/packages/@monomind/cli/dist/src/orchestration/routing-modes.d.ts +68 -0
- package/packages/@monomind/cli/dist/src/orchestration/routing-modes.js +180 -0
- package/packages/@monomind/cli/dist/src/output.d.ts +133 -0
- package/packages/@monomind/cli/dist/src/output.js +514 -0
- package/packages/@monomind/cli/dist/src/parser.d.ts +59 -0
- package/packages/@monomind/cli/dist/src/parser.js +459 -0
- package/packages/@monomind/cli/dist/src/plugins/manager.d.ts +133 -0
- package/packages/@monomind/cli/dist/src/plugins/manager.js +493 -0
- package/packages/@monomind/cli/dist/src/plugins/store/discovery.d.ts +88 -0
- package/packages/@monomind/cli/dist/src/plugins/store/discovery.js +859 -0
- package/packages/@monomind/cli/dist/src/plugins/store/index.d.ts +76 -0
- package/packages/@monomind/cli/dist/src/plugins/store/index.js +141 -0
- package/packages/@monomind/cli/dist/src/plugins/store/search.d.ts +46 -0
- package/packages/@monomind/cli/dist/src/plugins/store/search.js +230 -0
- package/packages/@monomind/cli/dist/src/plugins/store/types.d.ts +274 -0
- package/packages/@monomind/cli/dist/src/plugins/store/types.js +7 -0
- package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
- package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.js +126 -0
- package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.js +188 -0
- package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
- package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.js +206 -0
- package/packages/@monomind/cli/dist/src/production/circuit-breaker.d.ts +101 -0
- package/packages/@monomind/cli/dist/src/production/circuit-breaker.js +248 -0
- package/packages/@monomind/cli/dist/src/production/error-handler.d.ts +94 -0
- package/packages/@monomind/cli/dist/src/production/error-handler.js +321 -0
- package/packages/@monomind/cli/dist/src/production/index.d.ts +23 -0
- package/packages/@monomind/cli/dist/src/production/index.js +18 -0
- package/packages/@monomind/cli/dist/src/production/monitoring.d.ts +161 -0
- package/packages/@monomind/cli/dist/src/production/monitoring.js +360 -0
- package/packages/@monomind/cli/dist/src/production/rate-limiter.d.ts +80 -0
- package/packages/@monomind/cli/dist/src/production/rate-limiter.js +209 -0
- package/packages/@monomind/cli/dist/src/production/retry.d.ts +48 -0
- package/packages/@monomind/cli/dist/src/production/retry.js +179 -0
- package/packages/@monomind/cli/dist/src/prompt.d.ts +44 -0
- package/packages/@monomind/cli/dist/src/prompt.js +501 -0
- package/packages/@monomind/cli/dist/src/runtime/headless.d.ts +60 -0
- package/packages/@monomind/cli/dist/src/runtime/headless.js +284 -0
- package/packages/@monomind/cli/dist/src/ruvector/agent-wasm.d.ts +182 -0
- package/packages/@monomind/cli/dist/src/ruvector/agent-wasm.js +316 -0
- package/packages/@monomind/cli/dist/src/ruvector/ast-analyzer.d.ts +67 -0
- package/packages/@monomind/cli/dist/src/ruvector/ast-analyzer.js +277 -0
- package/packages/@monomind/cli/dist/src/ruvector/coverage-router.d.ts +160 -0
- package/packages/@monomind/cli/dist/src/ruvector/coverage-router.js +539 -0
- package/packages/@monomind/cli/dist/src/ruvector/coverage-tools.d.ts +33 -0
- package/packages/@monomind/cli/dist/src/ruvector/coverage-tools.js +157 -0
- package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.d.ts +176 -0
- package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.js +718 -0
- package/packages/@monomind/cli/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
- package/packages/@monomind/cli/dist/src/ruvector/enhanced-model-router.js +551 -0
- package/packages/@monomind/cli/dist/src/ruvector/flash-attention.d.ts +195 -0
- package/packages/@monomind/cli/dist/src/ruvector/flash-attention.js +643 -0
- package/packages/@monomind/cli/dist/src/ruvector/graph-analyzer.d.ts +187 -0
- package/packages/@monomind/cli/dist/src/ruvector/graph-analyzer.js +929 -0
- package/packages/@monomind/cli/dist/src/ruvector/index.d.ts +39 -0
- package/packages/@monomind/cli/dist/src/ruvector/index.js +76 -0
- package/packages/@monomind/cli/dist/src/ruvector/lora-adapter.d.ts +218 -0
- package/packages/@monomind/cli/dist/src/ruvector/lora-adapter.js +455 -0
- package/packages/@monomind/cli/dist/src/ruvector/model-router.d.ts +222 -0
- package/packages/@monomind/cli/dist/src/ruvector/model-router.js +512 -0
- package/packages/@monomind/cli/dist/src/ruvector/moe-router.d.ts +213 -0
- package/packages/@monomind/cli/dist/src/ruvector/moe-router.js +649 -0
- package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.d.ts +217 -0
- package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.js +712 -0
- package/packages/@monomind/cli/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
- package/packages/@monomind/cli/dist/src/ruvector/ruvllm-wasm.js +363 -0
- package/packages/@monomind/cli/dist/src/ruvector/semantic-router.d.ts +77 -0
- package/packages/@monomind/cli/dist/src/ruvector/semantic-router.js +178 -0
- package/packages/@monomind/cli/dist/src/ruvector/vector-db.d.ts +69 -0
- package/packages/@monomind/cli/dist/src/ruvector/vector-db.js +243 -0
- package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.d.ts +50 -0
- package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.js +95 -0
- package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +206 -0
- package/packages/@monomind/cli/dist/src/services/claim-service.js +849 -0
- package/packages/@monomind/cli/dist/src/services/config-file-manager.d.ts +51 -0
- package/packages/@monomind/cli/dist/src/services/config-file-manager.js +312 -0
- package/packages/@monomind/cli/dist/src/services/container-worker-pool.d.ts +197 -0
- package/packages/@monomind/cli/dist/src/services/container-worker-pool.js +623 -0
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +311 -0
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +1167 -0
- package/packages/@monomind/cli/dist/src/services/index.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/services/index.js +11 -0
- package/packages/@monomind/cli/dist/src/services/registry-api.d.ts +58 -0
- package/packages/@monomind/cli/dist/src/services/registry-api.js +199 -0
- package/packages/@monomind/cli/dist/src/services/ruvector-training.d.ts +222 -0
- package/packages/@monomind/cli/dist/src/services/ruvector-training.js +696 -0
- package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +248 -0
- package/packages/@monomind/cli/dist/src/services/worker-daemon.js +1083 -0
- package/packages/@monomind/cli/dist/src/services/worker-queue.d.ts +201 -0
- package/packages/@monomind/cli/dist/src/services/worker-queue.js +594 -0
- package/packages/@monomind/cli/dist/src/suggest.d.ts +53 -0
- package/packages/@monomind/cli/dist/src/suggest.js +209 -0
- package/packages/@monomind/cli/dist/src/swarm/communication-graph.d.ts +25 -0
- package/packages/@monomind/cli/dist/src/swarm/communication-graph.js +77 -0
- package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.d.ts +31 -0
- package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.js +61 -0
- package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.d.ts +19 -0
- package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.js +68 -0
- package/packages/@monomind/cli/dist/src/transfer/anonymization/index.d.ts +25 -0
- package/packages/@monomind/cli/dist/src/transfer/anonymization/index.js +177 -0
- package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.js +205 -0
- package/packages/@monomind/cli/dist/src/transfer/export.d.ts +25 -0
- package/packages/@monomind/cli/dist/src/transfer/export.js +115 -0
- package/packages/@monomind/cli/dist/src/transfer/index.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/transfer/index.js +31 -0
- package/packages/@monomind/cli/dist/src/transfer/ipfs/client.d.ts +109 -0
- package/packages/@monomind/cli/dist/src/transfer/ipfs/client.js +384 -0
- package/packages/@monomind/cli/dist/src/transfer/ipfs/upload.d.ts +95 -0
- package/packages/@monomind/cli/dist/src/transfer/ipfs/upload.js +420 -0
- package/packages/@monomind/cli/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/packages/@monomind/cli/dist/src/transfer/models/seraphine.js +373 -0
- package/packages/@monomind/cli/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/packages/@monomind/cli/dist/src/transfer/serialization/cfp.js +183 -0
- package/packages/@monomind/cli/dist/src/transfer/storage/gcs.d.ts +82 -0
- package/packages/@monomind/cli/dist/src/transfer/storage/gcs.js +281 -0
- package/packages/@monomind/cli/dist/src/transfer/storage/index.d.ts +6 -0
- package/packages/@monomind/cli/dist/src/transfer/storage/index.js +6 -0
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +91 -0
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +437 -0
- package/packages/@monomind/cli/dist/src/transfer/store/download.d.ts +79 -0
- package/packages/@monomind/cli/dist/src/transfer/store/download.js +423 -0
- package/packages/@monomind/cli/dist/src/transfer/store/index.d.ts +84 -0
- package/packages/@monomind/cli/dist/src/transfer/store/index.js +153 -0
- package/packages/@monomind/cli/dist/src/transfer/store/publish.d.ts +76 -0
- package/packages/@monomind/cli/dist/src/transfer/store/publish.js +293 -0
- package/packages/@monomind/cli/dist/src/transfer/store/registry.d.ts +58 -0
- package/packages/@monomind/cli/dist/src/transfer/store/registry.js +301 -0
- package/packages/@monomind/cli/dist/src/transfer/store/search.d.ts +54 -0
- package/packages/@monomind/cli/dist/src/transfer/store/search.js +232 -0
- package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.js +190 -0
- package/packages/@monomind/cli/dist/src/transfer/store/types.d.ts +193 -0
- package/packages/@monomind/cli/dist/src/transfer/store/types.js +6 -0
- package/packages/@monomind/cli/dist/src/transfer/test-seraphine.d.ts +6 -0
- package/packages/@monomind/cli/dist/src/transfer/test-seraphine.js +105 -0
- package/packages/@monomind/cli/dist/src/transfer/tests/test-store.d.ts +7 -0
- package/packages/@monomind/cli/dist/src/transfer/tests/test-store.js +214 -0
- package/packages/@monomind/cli/dist/src/transfer/types.d.ts +245 -0
- package/packages/@monomind/cli/dist/src/transfer/types.js +6 -0
- package/packages/@monomind/cli/dist/src/types.d.ts +198 -0
- package/packages/@monomind/cli/dist/src/types.js +38 -0
- package/packages/@monomind/cli/dist/src/update/checker.d.ts +34 -0
- package/packages/@monomind/cli/dist/src/update/checker.js +198 -0
- package/packages/@monomind/cli/dist/src/update/executor.d.ts +32 -0
- package/packages/@monomind/cli/dist/src/update/executor.js +186 -0
- package/packages/@monomind/cli/dist/src/update/index.d.ts +33 -0
- package/packages/@monomind/cli/dist/src/update/index.js +64 -0
- package/packages/@monomind/cli/dist/src/update/rate-limiter.d.ts +31 -0
- package/packages/@monomind/cli/dist/src/update/rate-limiter.js +116 -0
- package/packages/@monomind/cli/dist/src/update/validator.d.ts +17 -0
- package/packages/@monomind/cli/dist/src/update/validator.js +118 -0
- package/packages/@monomind/cli/dist/src/utils/parse-jsonl.d.ts +6 -0
- package/packages/@monomind/cli/dist/src/utils/parse-jsonl.js +22 -0
- package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.js +82 -0
- package/packages/@monomind/cli/dist/src/workflow/context-resolver.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/workflow/context-resolver.js +23 -0
- package/packages/@monomind/cli/dist/src/workflow/dag-builder.d.ts +17 -0
- package/packages/@monomind/cli/dist/src/workflow/dag-builder.js +129 -0
- package/packages/@monomind/cli/dist/src/workflow/dag-executor.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/workflow/dag-executor.js +116 -0
- package/packages/@monomind/cli/dist/src/workflow/dag-types.d.ts +41 -0
- package/packages/@monomind/cli/dist/src/workflow/dag-types.js +8 -0
- package/packages/@monomind/cli/dist/src/workflow/dsl-parser.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/workflow/dsl-parser.js +20 -0
- package/packages/@monomind/cli/dist/src/workflow/dsl-schema.d.ts +165 -0
- package/packages/@monomind/cli/dist/src/workflow/dsl-schema.js +82 -0
- package/packages/@monomind/cli/dist/src/workflow/index.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/workflow/index.js +11 -0
- package/packages/@monomind/cli/dist/src/workflow/template-engine.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/workflow/template-engine.js +40 -0
- package/packages/@monomind/cli/dist/src/workflow/workflow-executor.d.ts +29 -0
- package/packages/@monomind/cli/dist/src/workflow/workflow-executor.js +227 -0
- package/packages/@monomind/cli/package.json +2 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config File Manager
|
|
3
|
+
* Shared JSON config file persistence with atomic writes and Zod validation
|
|
4
|
+
*/
|
|
5
|
+
export declare class ConfigFileManager {
|
|
6
|
+
private configPath;
|
|
7
|
+
private config;
|
|
8
|
+
/** Find config file in search paths starting from cwd */
|
|
9
|
+
findConfig(cwd: string): string | null;
|
|
10
|
+
/** Load config from file, returns null if not found */
|
|
11
|
+
load(cwd: string): Record<string, unknown> | null;
|
|
12
|
+
/** Get the current config, loading if needed */
|
|
13
|
+
getConfig(cwd: string): Record<string, unknown>;
|
|
14
|
+
/** Get a nested config value by dot-separated key */
|
|
15
|
+
get(cwd: string, key: string): unknown;
|
|
16
|
+
/** Set a nested config value by dot-separated key.
|
|
17
|
+
* Enforces top-level section allowlist (mirroring importFrom) and recursively
|
|
18
|
+
* sanitises the value to strip prototype-pollution keys before persistence.
|
|
19
|
+
*
|
|
20
|
+
* Re-reads the file from disk inside the write to guard against the
|
|
21
|
+
* read-modify-write credential-clobber race. Without the re-read, two
|
|
22
|
+
* concurrent `monomind providers configure` calls would each see the
|
|
23
|
+
* original config, mutate locally, and the second writer would silently
|
|
24
|
+
* drop the first writer's API key.
|
|
25
|
+
*/
|
|
26
|
+
set(cwd: string, key: string, value: unknown): void;
|
|
27
|
+
/** Create a new config file with defaults */
|
|
28
|
+
create(cwd: string, overrides?: Record<string, unknown>, force?: boolean): string;
|
|
29
|
+
/** Reset config to defaults */
|
|
30
|
+
reset(cwd: string): string;
|
|
31
|
+
/** Export config to a specific path */
|
|
32
|
+
exportTo(cwd: string, exportPath: string): void;
|
|
33
|
+
/** Import config from a specific path */
|
|
34
|
+
importFrom(cwd: string, importPath: string): void;
|
|
35
|
+
/** Get the path to the current config file */
|
|
36
|
+
getConfigPath(): string | null;
|
|
37
|
+
/** Get default config */
|
|
38
|
+
getDefaults(): Record<string, unknown>;
|
|
39
|
+
/** Atomic write with restrictive 0o600 mode.
|
|
40
|
+
* SECURITY: this config file may contain API keys (per `commands/providers.ts`).
|
|
41
|
+
* Without explicit mode the file inherits the umask (typically 0o644 →
|
|
42
|
+
* world-readable). Set 0o600 on tmp file BEFORE rename, then re-chmod after
|
|
43
|
+
* rename in case the rename target had a more permissive mode.
|
|
44
|
+
*/
|
|
45
|
+
private writeAtomic;
|
|
46
|
+
}
|
|
47
|
+
/** Parse a string value to the appropriate type */
|
|
48
|
+
export declare function parseConfigValue(value: string): unknown;
|
|
49
|
+
/** Singleton instance */
|
|
50
|
+
export declare const configManager: ConfigFileManager;
|
|
51
|
+
//# sourceMappingURL=config-file-manager.d.ts.map
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config File Manager
|
|
3
|
+
* Shared JSON config file persistence with atomic writes and Zod validation
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
/** Config file search paths in priority order */
|
|
8
|
+
const CONFIG_FILENAMES = [
|
|
9
|
+
'monomind.config.json',
|
|
10
|
+
'.monomind/config.json',
|
|
11
|
+
];
|
|
12
|
+
/** Default config values */
|
|
13
|
+
const DEFAULT_CONFIG = {
|
|
14
|
+
version: '3.5',
|
|
15
|
+
agents: {
|
|
16
|
+
defaultType: 'coder',
|
|
17
|
+
autoSpawn: false,
|
|
18
|
+
maxConcurrent: 8,
|
|
19
|
+
timeout: 300000,
|
|
20
|
+
providers: [],
|
|
21
|
+
},
|
|
22
|
+
swarm: {
|
|
23
|
+
topology: 'hierarchical',
|
|
24
|
+
maxAgents: 8,
|
|
25
|
+
autoScale: false,
|
|
26
|
+
coordinationStrategy: 'leader',
|
|
27
|
+
healthCheckInterval: 30000,
|
|
28
|
+
},
|
|
29
|
+
memory: {
|
|
30
|
+
backend: 'hybrid',
|
|
31
|
+
persistPath: './data/memory',
|
|
32
|
+
cacheSize: 1000,
|
|
33
|
+
enableHNSW: true,
|
|
34
|
+
vectorDimension: 384,
|
|
35
|
+
},
|
|
36
|
+
mcp: {
|
|
37
|
+
serverHost: 'localhost',
|
|
38
|
+
serverPort: 3000,
|
|
39
|
+
autoStart: false,
|
|
40
|
+
transportType: 'stdio',
|
|
41
|
+
tools: [],
|
|
42
|
+
},
|
|
43
|
+
cli: {
|
|
44
|
+
colorOutput: true,
|
|
45
|
+
interactive: true,
|
|
46
|
+
verbosity: 'normal',
|
|
47
|
+
outputFormat: 'text',
|
|
48
|
+
progressStyle: 'spinner',
|
|
49
|
+
},
|
|
50
|
+
hooks: {
|
|
51
|
+
enabled: true,
|
|
52
|
+
autoExecute: true,
|
|
53
|
+
hooks: [],
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
export class ConfigFileManager {
|
|
57
|
+
configPath = null;
|
|
58
|
+
config = null;
|
|
59
|
+
/** Find config file in search paths starting from cwd */
|
|
60
|
+
findConfig(cwd) {
|
|
61
|
+
for (const filename of CONFIG_FILENAMES) {
|
|
62
|
+
const candidate = path.resolve(cwd, filename);
|
|
63
|
+
if (fs.existsSync(candidate)) {
|
|
64
|
+
return candidate;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Check env var — must resolve within project root
|
|
68
|
+
const envPath = process.env.MONOMIND_CONFIG;
|
|
69
|
+
if (envPath) {
|
|
70
|
+
const resolved = path.resolve(envPath);
|
|
71
|
+
const projectRoot = path.resolve(cwd);
|
|
72
|
+
if ((resolved.startsWith(projectRoot + path.sep) || resolved === projectRoot) && fs.existsSync(resolved)) {
|
|
73
|
+
return resolved;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
/** Load config from file, returns null if not found */
|
|
79
|
+
load(cwd) {
|
|
80
|
+
this.configPath = this.findConfig(cwd);
|
|
81
|
+
if (!this.configPath) {
|
|
82
|
+
this.config = null;
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
const content = fs.readFileSync(this.configPath, 'utf-8');
|
|
87
|
+
const parsed = JSON.parse(content);
|
|
88
|
+
this.config = sanitizeConfigObject(parsed);
|
|
89
|
+
return this.config;
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
this.config = null;
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** Get the current config, loading if needed */
|
|
97
|
+
getConfig(cwd) {
|
|
98
|
+
if (this.config === null) {
|
|
99
|
+
this.load(cwd);
|
|
100
|
+
}
|
|
101
|
+
return this.config ?? { ...DEFAULT_CONFIG };
|
|
102
|
+
}
|
|
103
|
+
/** Get a nested config value by dot-separated key */
|
|
104
|
+
get(cwd, key) {
|
|
105
|
+
const config = this.getConfig(cwd);
|
|
106
|
+
return getNestedValue(config, key);
|
|
107
|
+
}
|
|
108
|
+
/** Set a nested config value by dot-separated key.
|
|
109
|
+
* Enforces top-level section allowlist (mirroring importFrom) and recursively
|
|
110
|
+
* sanitises the value to strip prototype-pollution keys before persistence.
|
|
111
|
+
*
|
|
112
|
+
* Re-reads the file from disk inside the write to guard against the
|
|
113
|
+
* read-modify-write credential-clobber race. Without the re-read, two
|
|
114
|
+
* concurrent `monomind providers configure` calls would each see the
|
|
115
|
+
* original config, mutate locally, and the second writer would silently
|
|
116
|
+
* drop the first writer's API key.
|
|
117
|
+
*/
|
|
118
|
+
set(cwd, key, value) {
|
|
119
|
+
const KNOWN_SET_SECTIONS = new Set(['version', 'agents', 'swarm', 'memory', 'mcp', 'cli', 'hooks']);
|
|
120
|
+
const topSection = String(key).split('.')[0];
|
|
121
|
+
if (!KNOWN_SET_SECTIONS.has(topSection)) {
|
|
122
|
+
throw new Error(`Unknown config section: "${topSection}". Allowed: ${[...KNOWN_SET_SECTIONS].join(', ')}`);
|
|
123
|
+
}
|
|
124
|
+
const sanitisedValue = sanitizeConfigObject(value);
|
|
125
|
+
const targetPath = this.configPath ?? this.findConfig(cwd) ?? path.resolve(cwd, CONFIG_FILENAMES[0]);
|
|
126
|
+
// Re-read from disk inside the write window so we operate on the latest
|
|
127
|
+
// bytes, not on a possibly-stale this.config cache. This still isn't
|
|
128
|
+
// cross-process atomic without an OS-level flock, but combined with the
|
|
129
|
+
// O_EXCL atomic rename it prevents the most common credential-clobber
|
|
130
|
+
// window where two CLIs interleave their getConfig→set→write cycles.
|
|
131
|
+
let onDisk = { ...DEFAULT_CONFIG };
|
|
132
|
+
if (fs.existsSync(targetPath)) {
|
|
133
|
+
try {
|
|
134
|
+
const parsed = JSON.parse(fs.readFileSync(targetPath, 'utf-8'));
|
|
135
|
+
onDisk = sanitizeConfigObject(parsed);
|
|
136
|
+
}
|
|
137
|
+
catch { /* fall through to defaults */ }
|
|
138
|
+
}
|
|
139
|
+
setNestedValue(onDisk, key, sanitisedValue);
|
|
140
|
+
this.writeAtomic(targetPath, onDisk);
|
|
141
|
+
this.config = onDisk;
|
|
142
|
+
this.configPath = targetPath;
|
|
143
|
+
}
|
|
144
|
+
/** Create a new config file with defaults */
|
|
145
|
+
create(cwd, overrides, force) {
|
|
146
|
+
const targetPath = path.resolve(cwd, CONFIG_FILENAMES[0]);
|
|
147
|
+
if (fs.existsSync(targetPath) && !force) {
|
|
148
|
+
throw new Error(`Config file already exists: ${targetPath}. Use --force to overwrite.`);
|
|
149
|
+
}
|
|
150
|
+
const config = { ...DEFAULT_CONFIG, ...(overrides ? sanitizeConfigObject(overrides) : {}) };
|
|
151
|
+
this.writeAtomic(targetPath, config);
|
|
152
|
+
this.config = config;
|
|
153
|
+
this.configPath = targetPath;
|
|
154
|
+
return targetPath;
|
|
155
|
+
}
|
|
156
|
+
/** Reset config to defaults */
|
|
157
|
+
reset(cwd) {
|
|
158
|
+
const targetPath = this.configPath ?? path.resolve(cwd, CONFIG_FILENAMES[0]);
|
|
159
|
+
this.writeAtomic(targetPath, DEFAULT_CONFIG);
|
|
160
|
+
this.config = { ...DEFAULT_CONFIG };
|
|
161
|
+
this.configPath = targetPath;
|
|
162
|
+
return targetPath;
|
|
163
|
+
}
|
|
164
|
+
/** Export config to a specific path */
|
|
165
|
+
exportTo(cwd, exportPath) {
|
|
166
|
+
const config = this.getConfig(cwd);
|
|
167
|
+
const resolved = path.resolve(cwd, exportPath);
|
|
168
|
+
const projectRoot = path.resolve(cwd);
|
|
169
|
+
if (!resolved.startsWith(projectRoot + path.sep) && resolved !== projectRoot) {
|
|
170
|
+
throw new Error('Export path must be within the project directory');
|
|
171
|
+
}
|
|
172
|
+
this.writeAtomic(resolved, config);
|
|
173
|
+
}
|
|
174
|
+
/** Import config from a specific path */
|
|
175
|
+
importFrom(cwd, importPath) {
|
|
176
|
+
const resolved = path.resolve(cwd, importPath);
|
|
177
|
+
if (!fs.existsSync(resolved)) {
|
|
178
|
+
throw new Error(`Import file not found: ${resolved}`);
|
|
179
|
+
}
|
|
180
|
+
const content = fs.readFileSync(resolved, 'utf-8');
|
|
181
|
+
let importedRaw;
|
|
182
|
+
try {
|
|
183
|
+
importedRaw = JSON.parse(content);
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
throw new Error(`Invalid JSON in import file: ${resolved}`);
|
|
187
|
+
}
|
|
188
|
+
if (typeof importedRaw !== 'object' || importedRaw === null || Array.isArray(importedRaw)) {
|
|
189
|
+
throw new Error('Import file must contain a JSON object');
|
|
190
|
+
}
|
|
191
|
+
// Recursively strip prototype-pollution keys at every nesting level —
|
|
192
|
+
// KNOWN_SECTIONS only validates top-level keys, leaving nested
|
|
193
|
+
// {agents:{providers:[{__proto__:{...}}]}} unsanitized.
|
|
194
|
+
const imported = sanitizeConfigObject(importedRaw);
|
|
195
|
+
const KNOWN_SECTIONS = new Set(['version', 'agents', 'swarm', 'memory', 'mcp', 'cli', 'hooks']);
|
|
196
|
+
for (const key of Object.keys(imported)) {
|
|
197
|
+
if (!KNOWN_SECTIONS.has(key)) {
|
|
198
|
+
throw new Error(`Unknown config section: "${key}"`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
const targetPath = this.configPath ?? path.resolve(cwd, CONFIG_FILENAMES[0]);
|
|
202
|
+
this.writeAtomic(targetPath, imported);
|
|
203
|
+
this.config = imported;
|
|
204
|
+
this.configPath = targetPath;
|
|
205
|
+
}
|
|
206
|
+
/** Get the path to the current config file */
|
|
207
|
+
getConfigPath() {
|
|
208
|
+
return this.configPath;
|
|
209
|
+
}
|
|
210
|
+
/** Get default config */
|
|
211
|
+
getDefaults() {
|
|
212
|
+
return { ...DEFAULT_CONFIG };
|
|
213
|
+
}
|
|
214
|
+
/** Atomic write with restrictive 0o600 mode.
|
|
215
|
+
* SECURITY: this config file may contain API keys (per `commands/providers.ts`).
|
|
216
|
+
* Without explicit mode the file inherits the umask (typically 0o644 →
|
|
217
|
+
* world-readable). Set 0o600 on tmp file BEFORE rename, then re-chmod after
|
|
218
|
+
* rename in case the rename target had a more permissive mode.
|
|
219
|
+
*/
|
|
220
|
+
writeAtomic(filePath, data) {
|
|
221
|
+
const dir = path.dirname(filePath);
|
|
222
|
+
if (!fs.existsSync(dir)) {
|
|
223
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
224
|
+
}
|
|
225
|
+
const tmpPath = `${filePath}.${process.pid}.tmp`;
|
|
226
|
+
fs.writeFileSync(tmpPath, JSON.stringify(data, null, 2) + '\n', { mode: 0o600 });
|
|
227
|
+
fs.renameSync(tmpPath, filePath);
|
|
228
|
+
try {
|
|
229
|
+
fs.chmodSync(filePath, 0o600);
|
|
230
|
+
}
|
|
231
|
+
catch { /* best effort */ }
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
const FORBIDDEN_KEY_SEGMENTS = new Set(['__proto__', 'constructor', 'prototype']);
|
|
235
|
+
/**
|
|
236
|
+
* Recursively strip prototype-pollution keys from a parsed JSON object before
|
|
237
|
+
* it lands in this.config or is persisted back to disk. JSON.parse alone does
|
|
238
|
+
* not pollute, but downstream consumers that shallow-merge config values
|
|
239
|
+
* (Object.assign, spread) would propagate poisoned keys; persisting them back
|
|
240
|
+
* to disk also makes the pollution survive restarts.
|
|
241
|
+
*/
|
|
242
|
+
function sanitizeConfigObject(value, depth = 0) {
|
|
243
|
+
if (depth > 32)
|
|
244
|
+
return null;
|
|
245
|
+
if (Array.isArray(value))
|
|
246
|
+
return value.map(v => sanitizeConfigObject(v, depth + 1));
|
|
247
|
+
if (value !== null && typeof value === 'object') {
|
|
248
|
+
const out = {};
|
|
249
|
+
for (const [k, v] of Object.entries(value)) {
|
|
250
|
+
if (FORBIDDEN_KEY_SEGMENTS.has(k))
|
|
251
|
+
continue;
|
|
252
|
+
out[k] = sanitizeConfigObject(v, depth + 1);
|
|
253
|
+
}
|
|
254
|
+
return out;
|
|
255
|
+
}
|
|
256
|
+
return value;
|
|
257
|
+
}
|
|
258
|
+
/** Get a nested value by dot-separated key */
|
|
259
|
+
function getNestedValue(obj, key) {
|
|
260
|
+
const parts = key.split('.');
|
|
261
|
+
for (const part of parts) {
|
|
262
|
+
if (FORBIDDEN_KEY_SEGMENTS.has(part))
|
|
263
|
+
return undefined;
|
|
264
|
+
}
|
|
265
|
+
let current = obj;
|
|
266
|
+
for (const part of parts) {
|
|
267
|
+
if (current === null || current === undefined || typeof current !== 'object') {
|
|
268
|
+
return undefined;
|
|
269
|
+
}
|
|
270
|
+
current = current[part];
|
|
271
|
+
}
|
|
272
|
+
return current;
|
|
273
|
+
}
|
|
274
|
+
/** Set a nested value by dot-separated key */
|
|
275
|
+
function setNestedValue(obj, key, value) {
|
|
276
|
+
const parts = key.split('.');
|
|
277
|
+
for (const part of parts) {
|
|
278
|
+
if (FORBIDDEN_KEY_SEGMENTS.has(part)) {
|
|
279
|
+
throw new Error(`Forbidden config key segment: "${part}"`);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
let current = obj;
|
|
283
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
284
|
+
const part = parts[i];
|
|
285
|
+
if (!(part in current) || typeof current[part] !== 'object' || current[part] === null) {
|
|
286
|
+
current[part] = {};
|
|
287
|
+
}
|
|
288
|
+
current = current[part];
|
|
289
|
+
}
|
|
290
|
+
current[parts[parts.length - 1]] = value;
|
|
291
|
+
}
|
|
292
|
+
/** Parse a string value to the appropriate type */
|
|
293
|
+
export function parseConfigValue(value) {
|
|
294
|
+
if (value === 'true')
|
|
295
|
+
return true;
|
|
296
|
+
if (value === 'false')
|
|
297
|
+
return false;
|
|
298
|
+
if (/^\d+$/.test(value))
|
|
299
|
+
return parseInt(value, 10);
|
|
300
|
+
if (/^\d+\.\d+$/.test(value))
|
|
301
|
+
return parseFloat(value);
|
|
302
|
+
try {
|
|
303
|
+
const parsed = JSON.parse(value);
|
|
304
|
+
if (typeof parsed === 'object')
|
|
305
|
+
return parsed;
|
|
306
|
+
}
|
|
307
|
+
catch { /* not JSON, use as string */ }
|
|
308
|
+
return value;
|
|
309
|
+
}
|
|
310
|
+
/** Singleton instance */
|
|
311
|
+
export const configManager = new ConfigFileManager();
|
|
312
|
+
//# sourceMappingURL=config-file-manager.js.map
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Container Worker Pool
|
|
3
|
+
* Docker-based worker pool for high-throughput headless execution.
|
|
4
|
+
*
|
|
5
|
+
* ADR-020: Headless Worker Integration Architecture - Phase 3
|
|
6
|
+
* - Manages pool of Docker containers for isolated worker execution
|
|
7
|
+
* - Supports dynamic scaling based on workload
|
|
8
|
+
* - Provides container lifecycle management
|
|
9
|
+
* - Integrates with WorkerQueue for task distribution
|
|
10
|
+
*
|
|
11
|
+
* Key Features:
|
|
12
|
+
* - Container pooling with configurable size
|
|
13
|
+
* - Health checking and auto-recovery
|
|
14
|
+
* - Resource limits (CPU, memory)
|
|
15
|
+
* - Volume mounting for workspace access
|
|
16
|
+
* - Network isolation per worker type
|
|
17
|
+
*/
|
|
18
|
+
import { EventEmitter } from 'events';
|
|
19
|
+
import type { HeadlessWorkerType, HeadlessExecutionResult, SandboxMode } from './headless-worker-executor.js';
|
|
20
|
+
/**
|
|
21
|
+
* Container state
|
|
22
|
+
*/
|
|
23
|
+
export type ContainerState = 'creating' | 'ready' | 'busy' | 'unhealthy' | 'terminated';
|
|
24
|
+
/**
|
|
25
|
+
* Container info
|
|
26
|
+
*/
|
|
27
|
+
export interface ContainerInfo {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
state: ContainerState;
|
|
31
|
+
createdAt: Date;
|
|
32
|
+
lastUsedAt?: Date;
|
|
33
|
+
workerType?: HeadlessWorkerType;
|
|
34
|
+
executionCount: number;
|
|
35
|
+
healthCheckFailures: number;
|
|
36
|
+
pid?: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Container pool configuration
|
|
40
|
+
*/
|
|
41
|
+
export interface ContainerPoolConfig {
|
|
42
|
+
/** Maximum number of containers in the pool */
|
|
43
|
+
maxContainers: number;
|
|
44
|
+
/** Minimum number of containers to keep warm */
|
|
45
|
+
minContainers: number;
|
|
46
|
+
/** Docker image to use */
|
|
47
|
+
image: string;
|
|
48
|
+
/** Container resource limits */
|
|
49
|
+
resources: {
|
|
50
|
+
cpus: string;
|
|
51
|
+
memory: string;
|
|
52
|
+
};
|
|
53
|
+
/** Health check interval in ms */
|
|
54
|
+
healthCheckIntervalMs: number;
|
|
55
|
+
/** Container idle timeout in ms */
|
|
56
|
+
idleTimeoutMs: number;
|
|
57
|
+
/** Workspace volume mount path */
|
|
58
|
+
workspacePath: string;
|
|
59
|
+
/** State persistence path */
|
|
60
|
+
statePath: string;
|
|
61
|
+
/** Network name for container isolation */
|
|
62
|
+
network?: string;
|
|
63
|
+
/** Environment variables for containers */
|
|
64
|
+
env?: Record<string, string>;
|
|
65
|
+
/** Default sandbox mode */
|
|
66
|
+
defaultSandbox: SandboxMode;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Container execution options
|
|
70
|
+
*/
|
|
71
|
+
export interface ContainerExecutionOptions {
|
|
72
|
+
workerType: HeadlessWorkerType;
|
|
73
|
+
prompt: string;
|
|
74
|
+
contextPatterns?: string[];
|
|
75
|
+
sandbox?: SandboxMode;
|
|
76
|
+
model?: string;
|
|
77
|
+
timeoutMs?: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Pool status
|
|
81
|
+
*/
|
|
82
|
+
export interface ContainerPoolStatus {
|
|
83
|
+
totalContainers: number;
|
|
84
|
+
readyContainers: number;
|
|
85
|
+
busyContainers: number;
|
|
86
|
+
unhealthyContainers: number;
|
|
87
|
+
queuedTasks: number;
|
|
88
|
+
containers: ContainerInfo[];
|
|
89
|
+
dockerAvailable: boolean;
|
|
90
|
+
lastHealthCheck?: Date;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* ContainerWorkerPool - Manages Docker containers for headless worker execution
|
|
94
|
+
*/
|
|
95
|
+
export declare class ContainerWorkerPool extends EventEmitter {
|
|
96
|
+
private config;
|
|
97
|
+
private projectRoot;
|
|
98
|
+
private containers;
|
|
99
|
+
private taskQueue;
|
|
100
|
+
private healthCheckTimer?;
|
|
101
|
+
private idleCheckTimer?;
|
|
102
|
+
private dockerAvailable;
|
|
103
|
+
private initialized;
|
|
104
|
+
private isShuttingDown;
|
|
105
|
+
private exitHandlersRegistered;
|
|
106
|
+
constructor(projectRoot: string, config?: Partial<ContainerPoolConfig>);
|
|
107
|
+
/**
|
|
108
|
+
* Initialize the container pool
|
|
109
|
+
*/
|
|
110
|
+
initialize(): Promise<boolean>;
|
|
111
|
+
/**
|
|
112
|
+
* Register process exit handlers to clean up containers
|
|
113
|
+
*/
|
|
114
|
+
private registerExitHandlers;
|
|
115
|
+
/**
|
|
116
|
+
* Execute a worker in a container
|
|
117
|
+
*/
|
|
118
|
+
execute(options: ContainerExecutionOptions): Promise<HeadlessExecutionResult>;
|
|
119
|
+
/**
|
|
120
|
+
* Scale pool for batch execution
|
|
121
|
+
*/
|
|
122
|
+
scaleForBatch(workerCount: number): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Get pool status
|
|
125
|
+
*/
|
|
126
|
+
getStatus(): ContainerPoolStatus;
|
|
127
|
+
/**
|
|
128
|
+
* Shutdown the pool
|
|
129
|
+
*/
|
|
130
|
+
shutdown(): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Check if Docker is available (async)
|
|
133
|
+
*/
|
|
134
|
+
private checkDockerAvailable;
|
|
135
|
+
/**
|
|
136
|
+
* Ensure the container image exists (async)
|
|
137
|
+
*/
|
|
138
|
+
private ensureImage;
|
|
139
|
+
/**
|
|
140
|
+
* Create a new container
|
|
141
|
+
*/
|
|
142
|
+
private createContainer;
|
|
143
|
+
/**
|
|
144
|
+
* Terminate a container (async)
|
|
145
|
+
*/
|
|
146
|
+
private terminateContainer;
|
|
147
|
+
/**
|
|
148
|
+
* Get a ready container
|
|
149
|
+
*/
|
|
150
|
+
private getReadyContainer;
|
|
151
|
+
/**
|
|
152
|
+
* Scale to minimum containers
|
|
153
|
+
*/
|
|
154
|
+
private scaleToMinimum;
|
|
155
|
+
/**
|
|
156
|
+
* Execute worker in a specific container
|
|
157
|
+
*/
|
|
158
|
+
private executeInContainer;
|
|
159
|
+
/**
|
|
160
|
+
* Execute command in container
|
|
161
|
+
*/
|
|
162
|
+
private execInContainer;
|
|
163
|
+
/**
|
|
164
|
+
* Build worker command for container execution
|
|
165
|
+
*/
|
|
166
|
+
private buildWorkerCommand;
|
|
167
|
+
/**
|
|
168
|
+
* Process queued tasks
|
|
169
|
+
*/
|
|
170
|
+
private processQueue;
|
|
171
|
+
/**
|
|
172
|
+
* Start health check timer
|
|
173
|
+
*/
|
|
174
|
+
private startHealthChecks;
|
|
175
|
+
/**
|
|
176
|
+
* Run health checks on all containers
|
|
177
|
+
*/
|
|
178
|
+
private runHealthChecks;
|
|
179
|
+
/**
|
|
180
|
+
* Start idle check timer
|
|
181
|
+
*/
|
|
182
|
+
private startIdleChecks;
|
|
183
|
+
/**
|
|
184
|
+
* Terminate idle containers above minimum
|
|
185
|
+
*/
|
|
186
|
+
private runIdleChecks;
|
|
187
|
+
/**
|
|
188
|
+
* Try to parse JSON from output
|
|
189
|
+
*/
|
|
190
|
+
private tryParseJson;
|
|
191
|
+
/**
|
|
192
|
+
* Create an error result
|
|
193
|
+
*/
|
|
194
|
+
private createErrorResult;
|
|
195
|
+
}
|
|
196
|
+
export default ContainerWorkerPool;
|
|
197
|
+
//# sourceMappingURL=container-worker-pool.d.ts.map
|