monomind 1.7.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/design/design-monodesign.md +121 -0
- package/.claude/agents/github/issue-tracker.md +12 -12
- package/.claude/agents/github/pr-manager.md +10 -10
- package/.claude/agents/github/release-manager.md +49 -105
- package/.claude/agents/github/repo-architect.md +73 -92
- package/.claude/agents/github/sync-coordinator.md +55 -123
- package/.claude/agents/marketing/marketing-competitive-content.md +155 -0
- package/.claude/agents/marketing/marketing-content-creator.md +13 -0
- package/.claude/agents/marketing/marketing-cro-specialist.md +147 -0
- package/.claude/agents/marketing/marketing-email-specialist.md +90 -0
- package/.claude/agents/marketing/marketing-launch-strategist.md +129 -0
- package/.claude/agents/marketing/marketing-pricing-strategist.md +127 -0
- package/.claude/agents/specialists/integration-architect.md +94 -0
- package/.claude/commands/agents/README.md +4 -0
- package/.claude/commands/agents/agent-capabilities.md +6 -2
- package/.claude/commands/agents/agent-coordination.md +4 -0
- package/.claude/commands/agents/agent-spawning.md +4 -0
- package/.claude/commands/agents/agent-types.md +6 -2
- package/.claude/commands/analysis/README.md +14 -5
- package/.claude/commands/analysis/bottleneck-detect.md +30 -123
- package/.claude/commands/analysis/performance-bottlenecks.md +14 -14
- package/.claude/commands/analysis/performance-report.md +38 -11
- package/.claude/commands/analysis/token-efficiency.md +13 -16
- package/.claude/commands/analysis/token-usage.md +34 -12
- package/.claude/commands/automation/README.md +15 -5
- package/.claude/commands/automation/auto-agent.md +49 -85
- package/.claude/commands/automation/self-healing.md +20 -18
- package/.claude/commands/automation/session-memory.md +28 -29
- package/.claude/commands/automation/smart-agents.md +17 -9
- package/.claude/commands/automation/smart-spawn.md +52 -11
- package/.claude/commands/automation/workflow-select.md +46 -11
- package/.claude/commands/browse.md +5 -0
- package/.claude/commands/coordination/README.md +9 -5
- package/.claude/commands/coordination/agent-spawn.md +53 -9
- package/.claude/commands/coordination/swarm-init.md +39 -42
- package/.claude/commands/coordination/task-orchestrate.md +65 -11
- package/.claude/commands/github/README.md +21 -8
- package/.claude/commands/github/github-modes.md +9 -5
- package/.claude/commands/github/issue-tracker.md +34 -33
- package/.claude/commands/github/pr-manager.md +20 -17
- package/.claude/commands/github/release-manager.md +37 -49
- package/.claude/commands/github/repo-architect.md +39 -41
- package/.claude/commands/github/sync-coordinator.md +45 -49
- package/.claude/commands/hive-mind/README.md +42 -17
- package/.claude/commands/hive-mind/hive-mind-consensus.md +68 -4
- package/.claude/commands/hive-mind/hive-mind-init.md +55 -5
- package/.claude/commands/hive-mind/hive-mind-memory.md +69 -4
- package/.claude/commands/hive-mind/hive-mind-spawn.md +71 -10
- package/.claude/commands/hive-mind/hive-mind-status.md +52 -4
- package/.claude/commands/hive-mind/hive-mind-stop.md +51 -4
- package/.claude/commands/hive-mind/hive-mind.md +74 -14
- package/.claude/commands/hooks/README.md +62 -7
- package/.claude/commands/hooks/overview.md +94 -35
- package/.claude/commands/hooks/post-edit.md +48 -87
- package/.claude/commands/hooks/post-task.md +37 -87
- package/.claude/commands/hooks/pre-edit.md +52 -84
- package/.claude/commands/hooks/pre-task.md +46 -81
- package/.claude/commands/hooks/session-end.md +49 -85
- package/.claude/commands/hooks/setup.md +87 -58
- package/.claude/commands/mastermind/_repeat.md +308 -0
- package/.claude/commands/mastermind/architect.md +49 -0
- package/.claude/commands/mastermind/brain.md +98 -0
- package/.claude/commands/mastermind/build.md +22 -0
- package/.claude/commands/mastermind/content.md +22 -0
- package/.claude/commands/mastermind/createorg.md +94 -0
- package/.claude/commands/mastermind/finance.md +22 -0
- package/.claude/commands/mastermind/idea.md +22 -0
- package/.claude/commands/mastermind/marketing.md +22 -0
- package/.claude/commands/mastermind/master.md +379 -0
- package/.claude/commands/mastermind/ops.md +22 -0
- package/.claude/commands/mastermind/release.md +22 -0
- package/.claude/commands/mastermind/research.md +22 -0
- package/.claude/commands/mastermind/review.md +22 -0
- package/.claude/commands/mastermind/runorg.md +106 -0
- package/.claude/commands/mastermind/sales.md +22 -0
- package/.claude/commands/mastermind/techport.md +17 -0
- package/.claude/commands/memory/README.md +75 -5
- package/.claude/commands/memory/memory-search.md +63 -11
- package/.claude/commands/monitoring/README.md +64 -4
- package/.claude/commands/monitoring/agent-metrics.md +50 -10
- package/.claude/commands/monitoring/agents.md +59 -32
- package/.claude/commands/monitoring/status.md +96 -34
- package/.claude/commands/monograph/README.md +102 -0
- package/.claude/commands/monograph/monograph-build.md +79 -0
- package/.claude/commands/monograph/monograph-search.md +96 -0
- package/.claude/commands/monograph/monograph-stats.md +53 -0
- package/.claude/commands/monograph/monograph-watch.md +63 -0
- package/.claude/commands/monograph/monograph-wiki.md +91 -0
- package/.claude/commands/monomind/createtask.md +277 -0
- package/.claude/commands/{monomind-do.md → monomind/do.md} +22 -9
- package/.claude/commands/monomind/help.md +118 -0
- package/.claude/commands/{monomind-idea.md → monomind/idea.md} +23 -29
- package/.claude/commands/{monomind-improve.md → monomind/improve.md} +24 -30
- package/.claude/commands/monomind/memory.md +230 -0
- package/.claude/commands/monomind/repeat.md +201 -0
- package/.claude/commands/monomind/review.md +313 -0
- package/.claude/commands/monomind/specialagents.md +125 -0
- package/.claude/commands/monomind/swarm.md +161 -0
- package/.claude/commands/monomind/understand.md +148 -0
- package/.claude/commands/optimization/README.md +69 -5
- package/.claude/commands/optimization/auto-topology.md +66 -43
- package/.claude/commands/optimization/parallel-execution.md +65 -39
- package/.claude/commands/optimization/performance-optimize.md +79 -0
- package/.claude/commands/pair/README.md +48 -230
- package/.claude/commands/pair/examples.md +85 -441
- package/.claude/commands/pair/modes.md +77 -303
- package/.claude/commands/pair/session.md +76 -359
- package/.claude/commands/sparc/analyzer.md +9 -26
- package/.claude/commands/sparc/architect.md +8 -25
- package/.claude/commands/sparc/ask.md +27 -68
- package/.claude/commands/sparc/batch-executor.md +8 -25
- package/.claude/commands/sparc/code.md +12 -53
- package/.claude/commands/sparc/coder.md +8 -25
- package/.claude/commands/sparc/debug.md +12 -53
- package/.claude/commands/sparc/debugger.md +8 -25
- package/.claude/commands/sparc/designer.md +8 -25
- package/.claude/commands/sparc/devops.md +16 -57
- package/.claude/commands/sparc/docs-writer.md +12 -53
- package/.claude/commands/sparc/documenter.md +8 -25
- package/.claude/commands/sparc/innovator.md +8 -25
- package/.claude/commands/sparc/integration.md +12 -53
- package/.claude/commands/sparc/mcp.md +12 -53
- package/.claude/commands/sparc/memory-manager.md +28 -25
- package/.claude/commands/sparc/optimizer.md +8 -25
- package/.claude/commands/sparc/orchestrator.md +35 -97
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +13 -54
- package/.claude/commands/sparc/refinement-optimization-mode.md +13 -54
- package/.claude/commands/sparc/researcher.md +8 -25
- package/.claude/commands/sparc/reviewer.md +8 -25
- package/.claude/commands/sparc/security-review.md +13 -54
- package/.claude/commands/sparc/sparc-modes.md +97 -151
- package/.claude/commands/sparc/sparc.md +16 -56
- package/.claude/commands/sparc/spec-pseudocode.md +13 -54
- package/.claude/commands/sparc/supabase-admin.md +19 -66
- package/.claude/commands/sparc/swarm-coordinator.md +21 -25
- package/.claude/commands/sparc/tdd.md +8 -25
- package/.claude/commands/sparc/tester.md +8 -25
- package/.claude/commands/sparc/tutorial.md +12 -53
- package/.claude/commands/sparc/workflow-manager.md +8 -25
- package/.claude/commands/sparc.md +76 -130
- package/.claude/commands/stream-chain/pipeline.md +72 -77
- package/.claude/commands/stream-chain/run.md +133 -47
- package/.claude/commands/swarm/README.md +37 -12
- package/.claude/commands/swarm/analysis.md +47 -69
- package/.claude/commands/swarm/development.md +45 -69
- package/.claude/commands/swarm/examples.md +77 -142
- package/.claude/commands/swarm/maintenance.md +47 -74
- package/.claude/commands/swarm/optimization.md +54 -87
- package/.claude/commands/swarm/research.md +47 -107
- package/.claude/commands/swarm/swarm-analysis.md +58 -4
- package/.claude/commands/swarm/swarm-background.md +61 -4
- package/.claude/commands/swarm/swarm-modes.md +63 -4
- package/.claude/commands/swarm/swarm-monitor.md +50 -4
- package/.claude/commands/swarm/swarm-status.md +40 -4
- package/.claude/commands/swarm/swarm-strategies.md +73 -5
- package/.claude/commands/swarm/swarm.md +70 -18
- package/.claude/commands/swarm/testing.md +51 -102
- package/.claude/commands/tokens.md +6 -1
- package/.claude/commands/training/README.md +36 -6
- package/.claude/commands/training/model-update.md +68 -15
- package/.claude/commands/training/neural-patterns.md +54 -55
- package/.claude/commands/training/neural-train.md +70 -16
- package/.claude/commands/training/pattern-learn.md +60 -16
- package/.claude/commands/training/specialization.md +78 -49
- package/.claude/commands/truth/start.md +87 -109
- package/.claude/commands/ts.md +7 -2
- package/.claude/commands/verify/check.md +90 -34
- package/.claude/commands/verify/start.md +71 -94
- package/.claude/commands/workflows/README.md +62 -6
- package/.claude/commands/workflows/development.md +69 -61
- package/.claude/commands/workflows/research.md +73 -47
- package/.claude/commands/workflows/workflow-create.md +75 -16
- package/.claude/commands/workflows/workflow-execute.md +94 -16
- package/.claude/commands/workflows/workflow-export.md +81 -16
- package/.claude/helpers/control-start.cjs +91 -0
- package/.claude/helpers/extras-registry.json +4104 -1991
- package/.claude/helpers/graphify-freshen.cjs +44 -13
- package/.claude/helpers/hook-handler.cjs +256 -1
- package/.claude/helpers/loop-tracker.cjs +107 -0
- package/.claude/helpers/router.cjs +48 -68
- package/.claude/helpers/skill-registry.json +89 -104
- package/.claude/helpers/statusline.cjs +33 -2
- package/.claude/scheduled_tasks.lock +1 -0
- package/.claude/settings.json +15 -0
- package/.claude/skills/.monomind/data/ranked-context.json +5 -0
- package/.claude/skills/.monomind/sessions/current.json +13 -0
- package/.claude/skills/.monomind/sessions/session-1777829336455.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777831614725.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777832095857.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777839814183.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777841847131.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777843309463.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777880867159.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777881884593.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777884090471.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777884808221.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777885672155.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777886852818.json +15 -0
- package/.claude/skills/.monomind/sessions/session-1777896532690.json +15 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +11 -12
- package/.claude/skills/agentdb-learning/SKILL.md +20 -21
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +28 -30
- package/.claude/skills/agentdb-optimization/SKILL.md +11 -12
- package/.claude/skills/agentdb-vector-search/SKILL.md +37 -41
- package/.claude/skills/{v3-integration-deep → agentic-integration}/SKILL.md +20 -13
- package/.claude/skills/agentic-jujutsu/SKILL.md +22 -22
- package/.claude/skills/{v3-cli-modernization → cli-modernization}/SKILL.md +17 -8
- package/.claude/skills/{v3-core-implementation → core-implementation}/SKILL.md +33 -8
- package/.claude/skills/{v3-ddd-architecture → ddd-architecture}/SKILL.md +18 -25
- package/.claude/skills/github-code-review/SKILL.md +82 -83
- package/.claude/skills/github-multi-repo/SKILL.md +42 -46
- package/.claude/skills/github-project-management/SKILL.md +83 -88
- package/.claude/skills/github-release-management/SKILL.md +12 -18
- package/.claude/skills/github-workflow-automation/SKILL.md +70 -74
- package/.claude/skills/hooks-automation/SKILL.md +9 -13
- package/.claude/skills/mastermind/_intake.md +83 -0
- package/.claude/skills/mastermind/_protocol.md +275 -0
- package/.claude/skills/mastermind/architect.md +847 -0
- package/.claude/skills/mastermind/build.md +158 -0
- package/.claude/skills/mastermind/content.md +185 -0
- package/.claude/skills/mastermind/createorg.md +318 -0
- package/.claude/skills/mastermind/finance.md +154 -0
- package/.claude/skills/mastermind/idea.md +158 -0
- package/.claude/skills/mastermind/marketing.md +216 -0
- package/.claude/skills/mastermind/monotask.md +350 -0
- package/.claude/skills/mastermind/ops.md +156 -0
- package/.claude/skills/mastermind/references/copywriting-frameworks.md +181 -0
- package/.claude/skills/mastermind/references/persuasion-psychology.md +158 -0
- package/.claude/skills/mastermind/release.md +156 -0
- package/.claude/skills/mastermind/research.md +156 -0
- package/.claude/skills/mastermind/review.md +157 -0
- package/.claude/skills/mastermind/runorg.md +308 -0
- package/.claude/skills/mastermind/sales.md +158 -0
- package/.claude/skills/mastermind/techport.md +743 -0
- package/.claude/skills/{v3-mcp-optimization → mcp-optimization}/SKILL.md +35 -14
- package/.claude/skills/{v3-memory-unification → memory-unification}/SKILL.md +20 -4
- package/.claude/skills/monodesign/SKILL.md +302 -0
- package/.claude/skills/monodesign/reference/adapt.md +190 -0
- package/.claude/skills/monodesign/reference/animate.md +175 -0
- package/.claude/skills/monodesign/reference/antipatterns-catalog.md +187 -0
- package/.claude/skills/monodesign/reference/audit.md +133 -0
- package/.claude/skills/monodesign/reference/bolder.md +113 -0
- package/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
- package/.claude/skills/monodesign/reference/brand.md +114 -0
- package/.claude/skills/monodesign/reference/clarify.md +174 -0
- package/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
- package/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
- package/.claude/skills/monodesign/reference/colorize.md +154 -0
- package/.claude/skills/monodesign/reference/component-specs.md +260 -0
- package/.claude/skills/monodesign/reference/component-states.md +274 -0
- package/.claude/skills/monodesign/reference/component-system.md +358 -0
- package/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
- package/.claude/skills/monodesign/reference/craft.md +193 -0
- package/.claude/skills/monodesign/reference/critique.md +213 -0
- package/.claude/skills/monodesign/reference/delight.md +302 -0
- package/.claude/skills/monodesign/reference/design-principles.md +246 -0
- package/.claude/skills/monodesign/reference/distill.md +111 -0
- package/.claude/skills/monodesign/reference/document.md +427 -0
- package/.claude/skills/monodesign/reference/extract.md +69 -0
- package/.claude/skills/monodesign/reference/harden.md +347 -0
- package/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
- package/.claude/skills/monodesign/reference/image-prompts.md +118 -0
- package/.claude/skills/monodesign/reference/interaction-design.md +195 -0
- package/.claude/skills/monodesign/reference/layout.md +141 -0
- package/.claude/skills/monodesign/reference/live.md +622 -0
- package/.claude/skills/monodesign/reference/motion-design.md +109 -0
- package/.claude/skills/monodesign/reference/onboard.md +234 -0
- package/.claude/skills/monodesign/reference/optimize.md +258 -0
- package/.claude/skills/monodesign/reference/overdrive.md +130 -0
- package/.claude/skills/monodesign/reference/personas.md +179 -0
- package/.claude/skills/monodesign/reference/polish.md +233 -0
- package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
- package/.claude/skills/monodesign/reference/product.md +62 -0
- package/.claude/skills/monodesign/reference/quieter.md +99 -0
- package/.claude/skills/monodesign/reference/responsive-design.md +114 -0
- package/.claude/skills/monodesign/reference/shape.md +151 -0
- package/.claude/skills/monodesign/reference/spatial-design.md +100 -0
- package/.claude/skills/monodesign/reference/teach.md +156 -0
- package/.claude/skills/monodesign/reference/token-architecture.md +222 -0
- package/.claude/skills/monodesign/reference/typeset.md +124 -0
- package/.claude/skills/monodesign/reference/typography.md +159 -0
- package/.claude/skills/monodesign/reference/ux-research.md +143 -0
- package/.claude/skills/monodesign/reference/ux-rules.md +211 -0
- package/.claude/skills/monodesign/reference/ux-writing.md +107 -0
- package/.claude/skills/monomotion/SKILL.md +145 -0
- package/.claude/skills/monomotion/rules/api-control.md +139 -0
- package/.claude/skills/monomotion/rules/effects.md +109 -0
- package/.claude/skills/monomotion/rules/integration.md +140 -0
- package/.claude/skills/monomotion/rules/scroll.md +131 -0
- package/.claude/skills/monomotion/rules/sequencing.md +105 -0
- package/.claude/skills/monomotion/rules/svg.md +101 -0
- package/.claude/skills/monomotion/rules/text.md +119 -0
- package/.claude/skills/pair-programming/SKILL.md +1 -1
- package/.claude/skills/performance-analysis/SKILL.md +3 -3
- package/.claude/skills/{v3-performance-optimization → performance-optimization}/SKILL.md +16 -8
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +17 -19
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +4 -6
- package/.claude/skills/{v3-security-overhaul → security-hardening}/SKILL.md +13 -3
- package/.claude/skills/skill-builder/SKILL.md +19 -19
- package/.claude/skills/sparc-methodology/SKILL.md +55 -211
- package/.claude/skills/stop-slop/SKILL.md +67 -0
- package/.claude/skills/stop-slop/references/examples.md +61 -0
- package/.claude/skills/stop-slop/references/phrases.md +130 -0
- package/.claude/skills/stop-slop/references/structures.md +136 -0
- package/.claude/skills/swarm-advanced/SKILL.md +13 -43
- package/.claude/skills/{v3-swarm-coordination → swarm-coordination}/SKILL.md +39 -21
- package/.claude/skills/swarm-orchestration/SKILL.md +12 -12
- package/.claude/skills/verification-quality/SKILL.md +5 -5
- package/README.md +5 -5
- package/package.json +1 -1
- package/packages/@monomind/cli/README.md +5 -5
- package/packages/@monomind/cli/bin/cli.js +78 -13
- package/packages/@monomind/cli/dist/src/agents/halt-signal.js +33 -7
- package/packages/@monomind/cli/dist/src/agents/managed-agent.js +5 -2
- package/packages/@monomind/cli/dist/src/agents/prompt-experiment.d.ts +3 -2
- package/packages/@monomind/cli/dist/src/agents/prompt-experiment.js +1 -1
- package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.d.ts +5 -2
- package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.js +26 -4
- package/packages/@monomind/cli/dist/src/agents/specialization-scorer.js +17 -9
- package/packages/@monomind/cli/dist/src/agents/trigger-scanner.d.ts +5 -3
- package/packages/@monomind/cli/dist/src/agents/trigger-scanner.js +58 -10
- package/packages/@monomind/cli/dist/src/agents/version-store.d.ts +0 -1
- package/packages/@monomind/cli/dist/src/agents/version-store.js +44 -21
- package/packages/@monomind/cli/dist/src/autopilot-state.js +79 -28
- package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.d.ts +7 -2
- package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.js +20 -8
- package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.d.ts +2 -1
- package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.js +25 -2
- package/packages/@monomind/cli/dist/src/commands/agent.js +6 -4
- package/packages/@monomind/cli/dist/src/commands/appliance-advanced.js +23 -0
- package/packages/@monomind/cli/dist/src/commands/autopilot.js +3 -3
- package/packages/@monomind/cli/dist/src/commands/benchmark.js +119 -8
- package/packages/@monomind/cli/dist/src/commands/claims.js +22 -14
- package/packages/@monomind/cli/dist/src/commands/config.js +32 -0
- package/packages/@monomind/cli/dist/src/commands/daemon.js +13 -11
- package/packages/@monomind/cli/dist/src/commands/deployment.js +21 -2
- package/packages/@monomind/cli/dist/src/commands/doctor.js +28 -62
- package/packages/@monomind/cli/dist/src/commands/embeddings.js +124 -48
- package/packages/@monomind/cli/dist/src/commands/hive-mind.js +15 -14
- package/packages/@monomind/cli/dist/src/commands/hooks.js +45 -41
- package/packages/@monomind/cli/dist/src/commands/index.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/commands/index.js +20 -7
- package/packages/@monomind/cli/dist/src/commands/init.js +53 -19
- package/packages/@monomind/cli/dist/src/commands/mcp.js +31 -44
- package/packages/@monomind/cli/dist/src/commands/memory.js +47 -15
- package/packages/@monomind/cli/dist/src/commands/migrate.js +156 -108
- 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.js +96 -56
- package/packages/@monomind/cli/dist/src/commands/performance.js +30 -8
- package/packages/@monomind/cli/dist/src/commands/plugins.js +13 -37
- package/packages/@monomind/cli/dist/src/commands/process.js +25 -2
- package/packages/@monomind/cli/dist/src/commands/providers.js +37 -5
- package/packages/@monomind/cli/dist/src/commands/replay.js +4 -4
- package/packages/@monomind/cli/dist/src/commands/route.js +37 -5
- package/packages/@monomind/cli/dist/src/commands/ruvector/import.js +12 -2
- package/packages/@monomind/cli/dist/src/commands/ruvector/init.js +15 -0
- package/packages/@monomind/cli/dist/src/commands/ruvector/status.js +16 -3
- package/packages/@monomind/cli/dist/src/commands/security.js +342 -193
- package/packages/@monomind/cli/dist/src/commands/session.js +51 -8
- package/packages/@monomind/cli/dist/src/commands/start.js +18 -4
- package/packages/@monomind/cli/dist/src/commands/swarm.js +47 -36
- package/packages/@monomind/cli/dist/src/commands/tokens.js +11 -11
- package/packages/@monomind/cli/dist/src/commands/transfer-store.js +1 -1
- package/packages/@monomind/cli/dist/src/commands/workflow.js +31 -4
- package/packages/@monomind/cli/dist/src/config-adapter.d.ts +2 -1
- package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +46 -13
- package/packages/@monomind/cli/dist/src/consensus/vote-signer.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/consensus/vote-signer.js +9 -1
- package/packages/@monomind/cli/dist/src/dlq/dlq-reader.d.ts +4 -2
- package/packages/@monomind/cli/dist/src/dlq/dlq-reader.js +25 -8
- package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.d.ts +10 -3
- package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.js +50 -16
- package/packages/@monomind/cli/dist/src/dlq/dlq-writer.js +27 -5
- package/packages/@monomind/cli/dist/src/eval/dataset-manager.d.ts +2 -2
- package/packages/@monomind/cli/dist/src/eval/dataset-manager.js +26 -16
- package/packages/@monomind/cli/dist/src/eval/trace-collector.js +23 -3
- package/packages/@monomind/cli/dist/src/index.js +12 -10
- package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +8 -8
- package/packages/@monomind/cli/dist/src/init/executor.js +163 -137
- package/packages/@monomind/cli/dist/src/init/helpers-generator.js +49 -36
- package/packages/@monomind/cli/dist/src/init/mcp-generator.js +3 -3
- package/packages/@monomind/cli/dist/src/init/settings-generator.js +10 -3
- package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.js +18 -3
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +3 -1
- package/packages/@monomind/cli/dist/src/init/types.d.ts +35 -11
- package/packages/@monomind/cli/dist/src/init/types.js +5 -9
- package/packages/@monomind/cli/dist/src/interactive/interrupt.js +8 -3
- package/packages/@monomind/cli/dist/src/mcp/tool-registry.js +38 -4
- package/packages/@monomind/cli/dist/src/mcp-client.js +15 -6
- package/packages/@monomind/cli/dist/src/mcp-server.d.ts +9 -2
- package/packages/@monomind/cli/dist/src/mcp-server.js +182 -35
- package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.js +66 -34
- package/packages/@monomind/cli/dist/src/mcp-tools/agentdb-tools.js +34 -7
- package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.js +25 -16
- package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.js +4 -6
- package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.js +12 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.js +199 -20
- package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.js +68 -18
- package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.js +33 -5
- package/packages/@monomind/cli/dist/src/mcp-tools/coordination-tools.js +59 -4
- package/packages/@monomind/cli/dist/src/mcp-tools/daa-tools.js +46 -10
- package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +46 -5
- package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.js +29 -16
- package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.d.ts +4 -67
- package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.js +40 -1250
- package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +38 -10
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +96 -33
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +70 -37
- package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/index.js +1 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +29 -13
- 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.js +121 -37
- package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.js +21 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/progress-tools.js +10 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.js +4 -1
- package/packages/@monomind/cli/dist/src/mcp-tools/ruvllm-tools.js +19 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.js +57 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.js +35 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.js +4 -3
- package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.js +53 -13
- package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.js +63 -14
- package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.js +21 -16
- package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +92 -23
- package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.js +41 -10
- package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +2 -2
- package/packages/@monomind/cli/dist/src/memory/intelligence.js +39 -13
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +149 -56
- package/packages/@monomind/cli/dist/src/memory/memory-initializer.js +107 -45
- package/packages/@monomind/cli/dist/src/memory/sona-optimizer.d.ts +8 -1
- package/packages/@monomind/cli/dist/src/memory/sona-optimizer.js +25 -8
- 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/routing-modes.js +35 -5
- package/packages/@monomind/cli/dist/src/parser.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/parser.js +48 -14
- package/packages/@monomind/cli/dist/src/plugins/manager.js +112 -19
- package/packages/@monomind/cli/dist/src/plugins/store/discovery.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/plugins/store/discovery.js +80 -62
- package/packages/@monomind/cli/dist/src/production/circuit-breaker.js +8 -1
- package/packages/@monomind/cli/dist/src/production/error-handler.d.ts +4 -2
- package/packages/@monomind/cli/dist/src/production/error-handler.js +27 -5
- package/packages/@monomind/cli/dist/src/production/monitoring.js +8 -4
- package/packages/@monomind/cli/dist/src/production/rate-limiter.js +30 -22
- package/packages/@monomind/cli/dist/src/ruvector/agent-wasm.js +2 -2
- package/packages/@monomind/cli/dist/src/ruvector/coverage-router.js +19 -9
- package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.js +26 -6
- package/packages/@monomind/cli/dist/src/ruvector/enhanced-model-router.js +24 -2
- package/packages/@monomind/cli/dist/src/ruvector/index.d.ts +1 -2
- package/packages/@monomind/cli/dist/src/ruvector/index.js +2 -2
- package/packages/@monomind/cli/dist/src/ruvector/model-router.d.ts +4 -2
- package/packages/@monomind/cli/dist/src/ruvector/model-router.js +30 -6
- package/packages/@monomind/cli/dist/src/ruvector/moe-router.d.ts +7 -0
- package/packages/@monomind/cli/dist/src/ruvector/moe-router.js +35 -12
- package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.d.ts +7 -1
- package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.js +40 -9
- package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +3 -1
- package/packages/@monomind/cli/dist/src/services/claim-service.js +33 -2
- package/packages/@monomind/cli/dist/src/services/config-file-manager.d.ts +16 -2
- package/packages/@monomind/cli/dist/src/services/config-file-manager.js +105 -17
- package/packages/@monomind/cli/dist/src/services/container-worker-pool.js +51 -11
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +7 -0
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +188 -45
- package/packages/@monomind/cli/dist/src/services/registry-api.js +62 -9
- package/packages/@monomind/cli/dist/src/services/ruvector-training.js +8 -0
- package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +4 -1
- package/packages/@monomind/cli/dist/src/services/worker-daemon.js +112 -28
- package/packages/@monomind/cli/dist/src/services/worker-queue.d.ts +9 -2
- package/packages/@monomind/cli/dist/src/services/worker-queue.js +86 -5
- package/packages/@monomind/cli/dist/src/suggest.js +9 -0
- package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.d.ts +5 -3
- package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.js +17 -5
- package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.js +30 -6
- package/packages/@monomind/cli/dist/src/transfer/anonymization/index.js +5 -3
- package/packages/@monomind/cli/dist/src/transfer/export.js +5 -3
- package/packages/@monomind/cli/dist/src/transfer/ipfs/client.js +84 -7
- package/packages/@monomind/cli/dist/src/transfer/ipfs/upload.js +13 -4
- package/packages/@monomind/cli/dist/src/transfer/storage/gcs.js +19 -10
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +9 -2
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +68 -13
- package/packages/@monomind/cli/dist/src/transfer/store/download.d.ts +15 -6
- package/packages/@monomind/cli/dist/src/transfer/store/download.js +113 -24
- package/packages/@monomind/cli/dist/src/transfer/store/publish.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/transfer/store/publish.js +13 -14
- package/packages/@monomind/cli/dist/src/transfer/store/registry.d.ts +3 -3
- package/packages/@monomind/cli/dist/src/transfer/store/registry.js +32 -16
- package/packages/@monomind/cli/dist/src/update/checker.js +17 -4
- package/packages/@monomind/cli/dist/src/update/executor.js +25 -20
- package/packages/@monomind/cli/dist/src/update/rate-limiter.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/update/rate-limiter.js +23 -3
- 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.js +37 -3
- package/packages/@monomind/cli/dist/src/workflow/dag-builder.js +27 -11
- package/packages/@monomind/cli/dist/src/workflow/dag-executor.js +51 -13
- package/packages/@monomind/cli/dist/src/workflow/dsl-schema.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/workflow/dsl-schema.js +6 -2
- package/packages/@monomind/cli/dist/src/workflow/template-engine.js +7 -0
- package/packages/@monomind/cli/dist/src/workflow/workflow-executor.js +95 -14
- package/packages/@monomind/cli/package.json +5 -2
- package/packages/@monomind/guidance/README.md +0 -3
- package/packages/@monomind/shared/README.md +0 -1
- package/packages/@monomind/shared/dist/types/consensus-audit.d.ts +3 -1
- package/packages/README.md +15 -16
- package/.claude/agents/design/design-brand-guardian.md +0 -323
- package/.claude/agents/design/design-image-prompt-engineer.md +0 -237
- package/.claude/agents/design/design-inclusive-visuals-specialist.md +0 -72
- package/.claude/agents/design/design-ui-designer.md +0 -384
- package/.claude/agents/design/design-ux-architect.md +0 -470
- package/.claude/agents/design/design-ux-researcher.md +0 -330
- package/.claude/agents/design/design-visual-storyteller.md +0 -150
- package/.claude/agents/design/design-whimsy-injector.md +0 -439
- package/.claude/agents/v3/integration-architect.md +0 -338
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
- package/.claude/commands/coordination/init.md +0 -44
- package/.claude/commands/coordination/orchestrate.md +0 -43
- package/.claude/commands/coordination/spawn.md +0 -45
- package/.claude/commands/github/code-review-swarm.md +0 -550
- package/.claude/commands/github/code-review.md +0 -25
- package/.claude/commands/github/github-swarm.md +0 -121
- package/.claude/commands/github/issue-triage.md +0 -25
- package/.claude/commands/github/multi-repo-swarm.md +0 -519
- package/.claude/commands/github/pr-enhance.md +0 -26
- package/.claude/commands/github/project-board-sync.md +0 -471
- package/.claude/commands/github/release-swarm.md +0 -590
- package/.claude/commands/github/repo-analyze.md +0 -25
- package/.claude/commands/github/swarm-issue.md +0 -482
- package/.claude/commands/github/swarm-pr.md +0 -310
- package/.claude/commands/github/workflow-automation.md +0 -468
- package/.claude/commands/hive-mind/hive-mind-metrics.md +0 -8
- package/.claude/commands/hive-mind/hive-mind-resume.md +0 -8
- package/.claude/commands/hive-mind/hive-mind-sessions.md +0 -8
- package/.claude/commands/hive-mind/hive-mind-wizard.md +0 -8
- package/.claude/commands/list-agents.md +0 -17
- package/.claude/commands/memory/memory-persist.md +0 -25
- package/.claude/commands/memory/memory-usage.md +0 -25
- package/.claude/commands/memory/neural.md +0 -47
- package/.claude/commands/metrics.md +0 -11
- package/.claude/commands/monitoring/real-time-view.md +0 -25
- package/.claude/commands/monitoring/swarm-monitor.md +0 -25
- package/.claude/commands/monomind-createtask.md +0 -302
- package/.claude/commands/monomind-help.md +0 -103
- package/.claude/commands/monomind-memory.md +0 -107
- package/.claude/commands/monomind-repeat.md +0 -149
- package/.claude/commands/monomind-swarm.md +0 -205
- package/.claude/commands/optimization/cache-manage.md +0 -25
- package/.claude/commands/optimization/topology-optimize.md +0 -25
- package/.claude/commands/pair/commands.md +0 -546
- package/.claude/commands/pair/config.md +0 -510
- package/.claude/commands/pair/start.md +0 -209
- package/.claude/commands/use-agent.md +0 -67
- package/.claude/skills/monomind-createtask/SKILL.md +0 -269
- package/.claude/skills/monomind-task-engine/SKILL.md +0 -358
- /package/.claude/agents/{v3 → specialists}/memory-specialist.md +0 -0
- /package/.claude/agents/{v3 → specialists}/performance-engineer.md +0 -0
- /package/.claude/agents/{v3 → specialists}/queen-coordinator.md +0 -0
- /package/.claude/agents/{v3 → specialists}/security-architect.md +0 -0
|
@@ -1,4 +1,31 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Substitute context values into a condition expression, JSON-encoding string
|
|
3
|
+
* values to prevent quote injection via user-controlled context data.
|
|
4
|
+
*/
|
|
5
|
+
function substituteCondition(expression, context) {
|
|
6
|
+
return expression.replace(/\{\{([\w./-]+)\}\}/g, (_match, path) => {
|
|
7
|
+
const segments = path.split('.');
|
|
8
|
+
let current = context;
|
|
9
|
+
for (const seg of segments) {
|
|
10
|
+
if (current === null || current === undefined || typeof current !== 'object') {
|
|
11
|
+
current = undefined;
|
|
12
|
+
break;
|
|
13
|
+
}
|
|
14
|
+
if (seg === '__proto__' || seg === 'constructor' || seg === 'prototype') {
|
|
15
|
+
current = undefined;
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
current = current[seg];
|
|
19
|
+
}
|
|
20
|
+
if (current === undefined)
|
|
21
|
+
return `{{${path}}}`;
|
|
22
|
+
if (typeof current === 'string')
|
|
23
|
+
return JSON.stringify(current);
|
|
24
|
+
if (typeof current === 'number' || typeof current === 'boolean')
|
|
25
|
+
return String(current);
|
|
26
|
+
return JSON.stringify(current);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
2
29
|
/**
|
|
3
30
|
* Dangerous patterns that must never appear in condition expressions.
|
|
4
31
|
*/
|
|
@@ -28,8 +55,15 @@ const SAFE_TOKEN = /^(\s*('([^']*)'|"([^"]*)"|-?\d+(\.\d+)?|true|false|null|unde
|
|
|
28
55
|
* 4. Evaluate using `new Function` with strict mode.
|
|
29
56
|
*/
|
|
30
57
|
export function evaluateCondition(expression, context) {
|
|
31
|
-
|
|
32
|
-
|
|
58
|
+
if (expression.length > 500) {
|
|
59
|
+
throw new Error('Condition expression too long (max 500 characters)');
|
|
60
|
+
}
|
|
61
|
+
// Step 1: substitute variables (string values JSON-encoded to prevent quote injection)
|
|
62
|
+
const resolved = substituteCondition(expression, context);
|
|
63
|
+
// Re-check length after substitution — injected values can expand the expression
|
|
64
|
+
if (resolved.length > 500) {
|
|
65
|
+
throw new Error('Condition expression too long after variable substitution (max 500 characters)');
|
|
66
|
+
}
|
|
33
67
|
// Step 2: reject dangerous patterns
|
|
34
68
|
for (const pattern of DANGEROUS_PATTERNS) {
|
|
35
69
|
if (pattern.test(resolved)) {
|
|
@@ -41,28 +41,44 @@ export function detectCycles(dag) {
|
|
|
41
41
|
color.set(id, WHITE);
|
|
42
42
|
parent.set(id, null);
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
// Iterative DFS to avoid call-stack overflow on deep linear DAGs
|
|
45
|
+
function dfs(start) {
|
|
46
|
+
const stack = [
|
|
47
|
+
{ u: start, neighbors: (dag.edges.get(start) ?? new Set()).values(), entered: false },
|
|
48
|
+
];
|
|
49
|
+
while (stack.length > 0) {
|
|
50
|
+
const frame = stack[stack.length - 1];
|
|
51
|
+
if (!frame.entered) {
|
|
52
|
+
frame.entered = true;
|
|
53
|
+
color.set(frame.u, GRAY);
|
|
54
|
+
}
|
|
55
|
+
const { value: v, done } = frame.neighbors.next();
|
|
56
|
+
if (done) {
|
|
57
|
+
color.set(frame.u, BLACK);
|
|
58
|
+
stack.pop();
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const vColor = color.get(v);
|
|
62
|
+
if (vColor === GRAY) {
|
|
49
63
|
// Found a cycle — reconstruct it
|
|
50
64
|
const cycle = [v];
|
|
51
|
-
let curr = u;
|
|
65
|
+
let curr = frame.u;
|
|
52
66
|
while (curr !== v) {
|
|
53
67
|
cycle.push(curr);
|
|
54
|
-
|
|
68
|
+
const next = parent.get(curr);
|
|
69
|
+
if (next == null)
|
|
70
|
+
break;
|
|
71
|
+
curr = next;
|
|
55
72
|
}
|
|
56
73
|
cycle.push(v);
|
|
57
74
|
cycle.reverse();
|
|
58
75
|
cycles.push(cycle);
|
|
59
76
|
}
|
|
60
|
-
else if (
|
|
61
|
-
parent.set(v, u);
|
|
62
|
-
|
|
77
|
+
else if (vColor === WHITE) {
|
|
78
|
+
parent.set(v, frame.u);
|
|
79
|
+
stack.push({ u: v, neighbors: (dag.edges.get(v) ?? new Set()).values(), entered: false });
|
|
63
80
|
}
|
|
64
81
|
}
|
|
65
|
-
color.set(u, BLACK);
|
|
66
82
|
}
|
|
67
83
|
for (const id of dag.tasks.keys()) {
|
|
68
84
|
if (color.get(id) === WHITE) {
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { buildDAG, detectCycles, topologicalSort } from './dag-builder.js';
|
|
2
2
|
import { resolveContext } from './context-resolver.js';
|
|
3
|
+
import { getMonitor } from '../production/monitoring.js';
|
|
4
|
+
function classifyError(err) {
|
|
5
|
+
const msg = err.message.toLowerCase();
|
|
6
|
+
if (msg.includes('rate limit') || msg.includes('429') || msg.includes('too many requests'))
|
|
7
|
+
return 'RATE_LIMIT';
|
|
8
|
+
if (msg.includes('timed out') || msg.includes('timeout'))
|
|
9
|
+
return 'TIMEOUT';
|
|
10
|
+
if (msg.includes('validation') || msg.includes('invalid') || msg.includes('schema'))
|
|
11
|
+
return 'VALIDATION';
|
|
12
|
+
return 'UNKNOWN';
|
|
13
|
+
}
|
|
3
14
|
export class DAGExecutor {
|
|
4
15
|
runner;
|
|
5
16
|
constructor(runner) {
|
|
@@ -17,20 +28,37 @@ export class DAGExecutor {
|
|
|
17
28
|
const levelResults = await Promise.all(level.map(async (task) => {
|
|
18
29
|
const context = resolveContext(task, results);
|
|
19
30
|
const timeoutMs = task.timeoutMs ?? 300_000;
|
|
31
|
+
let timeoutHandle;
|
|
32
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
33
|
+
timeoutHandle = setTimeout(() => reject(new Error(`Task "${task.id}" timed out after ${timeoutMs}ms`)), timeoutMs);
|
|
34
|
+
});
|
|
20
35
|
const result = await Promise.race([
|
|
21
36
|
this.runWithRetry(task, context),
|
|
22
|
-
|
|
23
|
-
]).
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
37
|
+
timeoutPromise,
|
|
38
|
+
]).finally(() => {
|
|
39
|
+
if (timeoutHandle)
|
|
40
|
+
clearTimeout(timeoutHandle);
|
|
41
|
+
}).catch((err) => {
|
|
42
|
+
const isTimeout = String(err).includes('timed out');
|
|
43
|
+
if (isTimeout) {
|
|
44
|
+
// Visible in monomind control — leaked task still running in background
|
|
45
|
+
getMonitor().counter('dag.task.timeout_leak', 1, {
|
|
46
|
+
taskId: task.id,
|
|
47
|
+
agentSlug: task.agentSlug,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
taskId: task.id,
|
|
52
|
+
agentSlug: task.agentSlug,
|
|
53
|
+
output: null,
|
|
54
|
+
outputRaw: '',
|
|
55
|
+
latencyMs: 0,
|
|
56
|
+
retryCount: 0,
|
|
57
|
+
completedAt: Date.now(),
|
|
58
|
+
status: isTimeout ? 'timeout' : 'error',
|
|
59
|
+
error: String(err),
|
|
60
|
+
};
|
|
61
|
+
});
|
|
34
62
|
return result;
|
|
35
63
|
}));
|
|
36
64
|
for (const result of levelResults) {
|
|
@@ -48,12 +76,22 @@ export class DAGExecutor {
|
|
|
48
76
|
retryOn: [],
|
|
49
77
|
};
|
|
50
78
|
let lastError;
|
|
79
|
+
let actualAttempts = 0;
|
|
51
80
|
for (let attempt = 0; attempt < policy.maxAttempts; attempt++) {
|
|
81
|
+
actualAttempts = attempt + 1;
|
|
52
82
|
try {
|
|
53
83
|
return await this.runner(task, context);
|
|
54
84
|
}
|
|
55
85
|
catch (err) {
|
|
56
86
|
lastError = err;
|
|
87
|
+
// If retryOn is non-empty, check whether this error category matches.
|
|
88
|
+
// Unmatched errors consume the attempt but do not get retried further.
|
|
89
|
+
if (policy.retryOn.length > 0) {
|
|
90
|
+
const category = classifyError(lastError);
|
|
91
|
+
if (!policy.retryOn.includes(category)) {
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
57
95
|
if (attempt < policy.maxAttempts - 1) {
|
|
58
96
|
const delay = policy.initialDelayMs *
|
|
59
97
|
Math.pow(policy.backoffMultiplier, attempt) +
|
|
@@ -68,7 +106,7 @@ export class DAGExecutor {
|
|
|
68
106
|
output: null,
|
|
69
107
|
outputRaw: '',
|
|
70
108
|
latencyMs: 0,
|
|
71
|
-
retryCount:
|
|
109
|
+
retryCount: actualAttempts,
|
|
72
110
|
completedAt: Date.now(),
|
|
73
111
|
status: 'error',
|
|
74
112
|
error: lastError?.message ?? 'Unknown error',
|
|
@@ -45,6 +45,7 @@ export declare const mapReduceStepSchema: z.ZodObject<{
|
|
|
45
45
|
map_task: z.ZodString;
|
|
46
46
|
reduce_agent: z.ZodString;
|
|
47
47
|
reduce_task: z.ZodString;
|
|
48
|
+
concurrent: z.ZodOptional<z.ZodNumber>;
|
|
48
49
|
}, z.core.$strip>;
|
|
49
50
|
export declare const loopStepSchema: z.ZodObject<{
|
|
50
51
|
id: z.ZodString;
|
|
@@ -95,6 +96,7 @@ export declare const workflowStepSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
95
96
|
map_task: z.ZodString;
|
|
96
97
|
reduce_agent: z.ZodString;
|
|
97
98
|
reduce_task: z.ZodString;
|
|
99
|
+
concurrent: z.ZodOptional<z.ZodNumber>;
|
|
98
100
|
}, z.core.$strip>, z.ZodObject<{
|
|
99
101
|
id: z.ZodString;
|
|
100
102
|
type: z.ZodLiteral<"loop">;
|
|
@@ -150,6 +152,7 @@ export declare const workflowDefinitionSchema: z.ZodObject<{
|
|
|
150
152
|
map_task: z.ZodString;
|
|
151
153
|
reduce_agent: z.ZodString;
|
|
152
154
|
reduce_task: z.ZodString;
|
|
155
|
+
concurrent: z.ZodOptional<z.ZodNumber>;
|
|
153
156
|
}, z.core.$strip>, z.ZodObject<{
|
|
154
157
|
id: z.ZodString;
|
|
155
158
|
type: z.ZodLiteral<"loop">;
|
|
@@ -26,7 +26,7 @@ export const agentStepSchema = z.object({
|
|
|
26
26
|
export const parallelStepSchema = z.object({
|
|
27
27
|
id: z.string().min(1),
|
|
28
28
|
type: z.literal('parallel'),
|
|
29
|
-
steps: z.array(lazyStep).min(2),
|
|
29
|
+
steps: z.array(lazyStep).min(2).max(50),
|
|
30
30
|
});
|
|
31
31
|
export const sequenceStepSchema = z.object({
|
|
32
32
|
id: z.string().min(1),
|
|
@@ -48,6 +48,7 @@ export const mapReduceStepSchema = z.object({
|
|
|
48
48
|
map_task: z.string().min(1),
|
|
49
49
|
reduce_agent: z.string().min(1),
|
|
50
50
|
reduce_task: z.string().min(1),
|
|
51
|
+
concurrent: z.number().int().min(1).max(500).optional(),
|
|
51
52
|
});
|
|
52
53
|
export const loopStepSchema = z.object({
|
|
53
54
|
id: z.string().min(1),
|
|
@@ -74,5 +75,8 @@ export const workflowDefinitionSchema = z.object({
|
|
|
74
75
|
description: z.string().optional(),
|
|
75
76
|
variables: z.record(z.string(), z.unknown()).optional(),
|
|
76
77
|
steps: z.array(workflowStepSchema).min(1),
|
|
77
|
-
})
|
|
78
|
+
}).refine((def) => {
|
|
79
|
+
const ids = def.steps.map((s) => s.id);
|
|
80
|
+
return ids.length === new Set(ids).size;
|
|
81
|
+
}, { message: 'Workflow step IDs must be unique', path: ['steps'] });
|
|
78
82
|
//# sourceMappingURL=dsl-schema.js.map
|
|
@@ -16,6 +16,7 @@ export function substitute(template, context) {
|
|
|
16
16
|
return String(value);
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
+
const BLOCKED_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
|
|
19
20
|
function resolvePath(obj, path) {
|
|
20
21
|
const segments = path.split('.');
|
|
21
22
|
let current = obj;
|
|
@@ -26,6 +27,12 @@ function resolvePath(obj, path) {
|
|
|
26
27
|
if (typeof current !== 'object') {
|
|
27
28
|
return undefined;
|
|
28
29
|
}
|
|
30
|
+
if (BLOCKED_KEYS.has(segment)) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
if (!Object.prototype.hasOwnProperty.call(current, segment)) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
29
36
|
current = current[segment];
|
|
30
37
|
}
|
|
31
38
|
return current;
|
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
import { substitute } from './template-engine.js';
|
|
2
2
|
import { evaluateCondition } from './condition-evaluator.js';
|
|
3
|
+
const DEFAULT_MAP_CONCURRENCY = 10;
|
|
4
|
+
function classifyWorkflowError(err) {
|
|
5
|
+
const msg = err.message.toLowerCase();
|
|
6
|
+
if (msg.includes('rate limit') || msg.includes('429') || msg.includes('too many requests'))
|
|
7
|
+
return 'RATE_LIMIT';
|
|
8
|
+
if (msg.includes('timed out') || msg.includes('timeout'))
|
|
9
|
+
return 'TIMEOUT';
|
|
10
|
+
if (msg.includes('validation') || msg.includes('invalid') || msg.includes('schema'))
|
|
11
|
+
return 'VALIDATION';
|
|
12
|
+
return 'UNKNOWN';
|
|
13
|
+
}
|
|
14
|
+
async function mapWithConcurrency(items, concurrency, fn) {
|
|
15
|
+
const results = new Array(items.length);
|
|
16
|
+
const controller = new AbortController();
|
|
17
|
+
let next = 0;
|
|
18
|
+
async function worker() {
|
|
19
|
+
while (next < items.length) {
|
|
20
|
+
if (controller.signal.aborted)
|
|
21
|
+
return;
|
|
22
|
+
const idx = next++;
|
|
23
|
+
results[idx] = await fn(items[idx], idx, controller.signal);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, worker));
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
controller.abort();
|
|
31
|
+
throw err;
|
|
32
|
+
}
|
|
33
|
+
return results;
|
|
34
|
+
}
|
|
35
|
+
const BLOCKED_CONTEXT_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
|
|
36
|
+
const SAFE_KEY_RE = /^[a-zA-Z_$][a-zA-Z0-9_$.\-]*$/;
|
|
37
|
+
function safeContextWrite(context, key, value) {
|
|
38
|
+
if (!SAFE_KEY_RE.test(key) || BLOCKED_CONTEXT_KEYS.has(key)) {
|
|
39
|
+
throw new Error(`Unsafe workflow context key rejected: "${key}"`);
|
|
40
|
+
}
|
|
41
|
+
context[key] = value;
|
|
42
|
+
}
|
|
3
43
|
// ---------- Executor ----------
|
|
4
44
|
export class WorkflowExecutor {
|
|
5
45
|
dispatcher;
|
|
@@ -59,14 +99,45 @@ export class WorkflowExecutor {
|
|
|
59
99
|
// ---- Handlers ----
|
|
60
100
|
async executeAgent(step, context) {
|
|
61
101
|
const resolvedTask = substitute(step.task, context);
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
102
|
+
const maxAttempts = step.retry_policy?.maxAttempts ?? 1;
|
|
103
|
+
const initialDelayMs = step.retry_policy?.initialDelayMs ?? 500;
|
|
104
|
+
const backoffMultiplier = step.retry_policy?.backoffMultiplier ?? 2;
|
|
105
|
+
const jitterMs = step.retry_policy?.jitterMs ?? 0;
|
|
106
|
+
const retryOn = step.retry_policy?.retryOn;
|
|
107
|
+
let lastError;
|
|
108
|
+
let delayMs = initialDelayMs;
|
|
109
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
110
|
+
try {
|
|
111
|
+
let dispatchPromise = this.dispatcher.dispatch(step.agent, resolvedTask, context);
|
|
112
|
+
if (step.timeout_ms) {
|
|
113
|
+
dispatchPromise = Promise.race([
|
|
114
|
+
dispatchPromise,
|
|
115
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error(`Agent step "${step.id}" timed out after ${step.timeout_ms}ms`)), step.timeout_ms)),
|
|
116
|
+
]);
|
|
117
|
+
}
|
|
118
|
+
const output = await dispatchPromise;
|
|
119
|
+
if (step.output_key) {
|
|
120
|
+
safeContextWrite(context, step.output_key, output);
|
|
121
|
+
}
|
|
122
|
+
safeContextWrite(context, step.id, output);
|
|
123
|
+
return { stepId: step.id, output, status: 'success' };
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
lastError = err;
|
|
127
|
+
if (attempt >= maxAttempts)
|
|
128
|
+
break;
|
|
129
|
+
// Only retry for configured error categories (default: retry all)
|
|
130
|
+
if (retryOn && retryOn.length > 0) {
|
|
131
|
+
const category = classifyWorkflowError(err instanceof Error ? err : new Error(String(err)));
|
|
132
|
+
if (!retryOn.includes(category))
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
const jitter = jitterMs > 0 ? Math.random() * jitterMs : 0;
|
|
136
|
+
await new Promise((r) => setTimeout(r, delayMs + jitter));
|
|
137
|
+
delayMs = Math.round(delayMs * backoffMultiplier);
|
|
138
|
+
}
|
|
66
139
|
}
|
|
67
|
-
|
|
68
|
-
context[step.id] = output;
|
|
69
|
-
return { stepId: step.id, output, status: 'success' };
|
|
140
|
+
throw lastError;
|
|
70
141
|
}
|
|
71
142
|
async executeParallel(step, context) {
|
|
72
143
|
const results = await Promise.all(step.steps.map((sub) => this.executeStep(sub, context)));
|
|
@@ -93,6 +164,9 @@ export class WorkflowExecutor {
|
|
|
93
164
|
async executeMapReduce(step, context) {
|
|
94
165
|
// Resolve items from context
|
|
95
166
|
const resolvedItems = substitute(step.items, context);
|
|
167
|
+
if (resolvedItems.length > 1_000_000) {
|
|
168
|
+
throw new Error(`map_reduce step "${step.id}": items string exceeds 1MB size limit`);
|
|
169
|
+
}
|
|
96
170
|
let items;
|
|
97
171
|
try {
|
|
98
172
|
items = JSON.parse(resolvedItems);
|
|
@@ -100,27 +174,34 @@ export class WorkflowExecutor {
|
|
|
100
174
|
throw new Error('not an array');
|
|
101
175
|
}
|
|
102
176
|
catch {
|
|
103
|
-
throw new Error(`map_reduce step "${step.id}": items must resolve to a JSON array, got: ${resolvedItems}`);
|
|
177
|
+
throw new Error(`map_reduce step "${step.id}": items must resolve to a JSON array, got: ${resolvedItems.slice(0, 200)}`);
|
|
178
|
+
}
|
|
179
|
+
const MAX_MAP_ITEMS = 500;
|
|
180
|
+
if (items.length > MAX_MAP_ITEMS) {
|
|
181
|
+
throw new Error(`map_reduce step "${step.id}": ${items.length} items exceeds limit of ${MAX_MAP_ITEMS}`);
|
|
104
182
|
}
|
|
105
|
-
// Map phase: fan-out to map_agent
|
|
106
|
-
const
|
|
183
|
+
// Map phase: fan-out to map_agent with concurrency cap (default 10, override via --concurrent)
|
|
184
|
+
const concurrency = step.concurrent ?? DEFAULT_MAP_CONCURRENCY;
|
|
185
|
+
const mapResults = await mapWithConcurrency(items, concurrency, async (item, idx, signal) => {
|
|
186
|
+
if (signal.aborted)
|
|
187
|
+
throw new Error('Map phase aborted');
|
|
107
188
|
const taskStr = substitute(step.map_task, { ...context, item });
|
|
108
189
|
const output = await this.dispatcher.dispatch(step.map_agent, taskStr, {
|
|
109
190
|
...context,
|
|
110
191
|
item,
|
|
111
192
|
});
|
|
112
193
|
return { stepId: `${step.id}.map[${idx}]`, output, status: 'success' };
|
|
113
|
-
})
|
|
194
|
+
});
|
|
114
195
|
// Store mapped outputs for reduce
|
|
115
196
|
const mapOutputs = mapResults.map((r) => r.output);
|
|
116
|
-
context
|
|
197
|
+
safeContextWrite(context, `${step.id}_map_results`, mapOutputs);
|
|
117
198
|
// Reduce phase
|
|
118
199
|
const reduceTask = substitute(step.reduce_task, {
|
|
119
200
|
...context,
|
|
120
201
|
map_results: mapOutputs,
|
|
121
202
|
});
|
|
122
203
|
const reduceOutput = await this.dispatcher.dispatch(step.reduce_agent, reduceTask, { ...context, map_results: mapOutputs });
|
|
123
|
-
context
|
|
204
|
+
safeContextWrite(context, step.id, reduceOutput);
|
|
124
205
|
return [
|
|
125
206
|
...mapResults,
|
|
126
207
|
{ stepId: `${step.id}.reduce`, output: reduceOutput, status: 'success' },
|
|
@@ -139,7 +220,7 @@ export class WorkflowExecutor {
|
|
|
139
220
|
}
|
|
140
221
|
iteration++;
|
|
141
222
|
}
|
|
142
|
-
context
|
|
223
|
+
safeContextWrite(context, `${step.id}_iterations`, iteration);
|
|
143
224
|
return results;
|
|
144
225
|
}
|
|
145
226
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monoes/monomindcli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Monomind CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -86,6 +86,8 @@
|
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
88
|
"@noble/ed25519": "^2.1.0",
|
|
89
|
+
"@monoes/monograph": "workspace:*",
|
|
90
|
+
"@monomind/routing": "workspace:*",
|
|
89
91
|
"graphology": "^0.25.4",
|
|
90
92
|
"graphology-communities-louvain": "^2.0.1",
|
|
91
93
|
"graphology-metrics": "^2.4.0",
|
|
@@ -103,7 +105,8 @@
|
|
|
103
105
|
"@ruvector/router": "^0.1.27",
|
|
104
106
|
"@ruvector/rvagent-wasm": "^0.1.0",
|
|
105
107
|
"@ruvector/ruvllm-wasm": "^2.0.2",
|
|
106
|
-
"@ruvector/sona": "^0.1.5"
|
|
108
|
+
"@ruvector/sona": "^0.1.5",
|
|
109
|
+
"@anthropic-ai/sdk": "*"
|
|
107
110
|
},
|
|
108
111
|
"publishConfig": {
|
|
109
112
|
"access": "public",
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
[](https://www.typescriptlang.org/)
|
|
9
9
|
[](https://github.com/nokhodian/monomind)
|
|
10
10
|
[](https://www.npmjs.com/package/monomind)
|
|
11
|
-
[](https://www.npmjs.com/package/ruvbot)
|
|
12
11
|
|
|
13
12
|
**Long-horizon governance for Claude Code agents.**
|
|
14
13
|
|
|
@@ -1184,8 +1183,6 @@ Take 20 real Monomind tasks from repo history. Run A without control plane, run
|
|
|
1184
1183
|
| **GitHub** | [github.com/nokhodian/monomind](https://github.com/nokhodian/monomind) |
|
|
1185
1184
|
| **npm: @monomind/guidance** | [npmjs.com/package/@monomind/guidance](https://www.npmjs.com/package/@monomind/guidance) |
|
|
1186
1185
|
| **npm: monomind** | [npmjs.com/package/monomind](https://www.npmjs.com/package/monomind) |
|
|
1187
|
-
| **npm: ruvbot** | [npmjs.com/package/ruvbot](https://www.npmjs.com/package/ruvbot) |
|
|
1188
|
-
| **GitHub** | [nokhodian/monomind](https://github.com/nokhodian/monomind) |
|
|
1189
1186
|
| **Issues** | [github.com/nokhodian/monomind/issues](https://github.com/nokhodian/monomind/issues) |
|
|
1190
1187
|
| **API Reference** | [docs/reference/api-quick-reference.md](docs/reference/api-quick-reference.md) |
|
|
1191
1188
|
| **ADR Index** | [docs/adrs/](docs/adrs/) |
|
|
@@ -312,7 +312,6 @@ This package is a dependency of all other @monomind modules:
|
|
|
312
312
|
- [@monomind/neural](../neural) - SONA learning & RL algorithms
|
|
313
313
|
- [@monomind/performance](../performance) - Benchmarking & optimization
|
|
314
314
|
- [@monomind/swarm](../swarm) - 15-agent coordination
|
|
315
|
-
- [@monomind/integration](../integration) - agentic-flow@alpha bridge
|
|
316
315
|
- [@monomind/testing](../testing) - TDD framework & fixtures
|
|
317
316
|
- [@monomind/deployment](../deployment) - Release management
|
|
318
317
|
- [@monomind/embeddings](../embeddings) - Embedding service
|
|
@@ -33,6 +33,8 @@ export interface ConsensusAuditRecord {
|
|
|
33
33
|
round: number;
|
|
34
34
|
startedAt: string;
|
|
35
35
|
completedAt: string;
|
|
36
|
-
durationMs: number;
|
|
36
|
+
durationMs: number | null;
|
|
37
|
+
/** HMAC-SHA256 over the full record (all fields above), keyed by the session secret */
|
|
38
|
+
recordSignature?: string;
|
|
37
39
|
}
|
|
38
40
|
//# sourceMappingURL=consensus-audit.d.ts.map
|
package/packages/README.md
CHANGED
|
@@ -53,7 +53,7 @@ V1 represents a complete architectural overhaul:
|
|
|
53
53
|
|
|
54
54
|
| ADR | Decision |
|
|
55
55
|
| ------- | ---------------------------------------------------- |
|
|
56
|
-
| ADR-001 | Adopt
|
|
56
|
+
| ADR-001 | Adopt Monomind as core foundation |
|
|
57
57
|
| ADR-002 | Domain-Driven Design structure |
|
|
58
58
|
| ADR-003 | Single coordination engine (UnifiedSwarmCoordinator) |
|
|
59
59
|
| ADR-004 | Plugin-based architecture (microkernel) |
|
|
@@ -68,7 +68,7 @@ V1 represents a complete architectural overhaul:
|
|
|
68
68
|
|
|
69
69
|
```
|
|
70
70
|
┌─────────────────────────────────────────────────────────────────┐
|
|
71
|
-
│
|
|
71
|
+
│ monomind-monorepo │
|
|
72
72
|
├─────────────────────────────────────────────────────────────────┤
|
|
73
73
|
│ │
|
|
74
74
|
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
@@ -79,8 +79,8 @@ V1 represents a complete architectural overhaul:
|
|
|
79
79
|
│ │
|
|
80
80
|
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
81
81
|
│ │ integration │ │ performance │ │ neural │ │
|
|
82
|
-
│ │
|
|
83
|
-
│ │
|
|
82
|
+
│ │ monomind │ │ Flash Attn │ │ SONA │ │
|
|
83
|
+
│ │ bridge │ │ benchmarks │ │ learning │ │
|
|
84
84
|
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
|
85
85
|
│ │
|
|
86
86
|
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
@@ -125,9 +125,9 @@ v1/
|
|
|
125
125
|
│ │ ├── consensus/ # Consensus protocols
|
|
126
126
|
│ │ └── domain/ # DDD entities
|
|
127
127
|
│ │
|
|
128
|
-
│ ├── integration/ #
|
|
128
|
+
│ ├── integration/ # monomind integration
|
|
129
129
|
│ │ └── src/
|
|
130
|
-
│ │ ├──
|
|
130
|
+
│ │ ├── monomind-bridge.ts # Core bridge
|
|
131
131
|
│ │ ├── agent-adapter.ts # Agent adaptation
|
|
132
132
|
│ │ └── sona-adapter.ts # SONA learning
|
|
133
133
|
│ │
|
|
@@ -258,12 +258,12 @@ await coordinator.spawnAgent({ type: "queen-coordinator" });
|
|
|
258
258
|
|
|
259
259
|
### @monomind/integration
|
|
260
260
|
|
|
261
|
-
Deep integration with
|
|
261
|
+
Deep integration with the Monomind core per ADR-001.
|
|
262
262
|
|
|
263
263
|
```typescript
|
|
264
|
-
import {
|
|
264
|
+
import { MonomindBridge } from "@monomind/integration";
|
|
265
265
|
|
|
266
|
-
const bridge = new
|
|
266
|
+
const bridge = new MonomindBridge();
|
|
267
267
|
await bridge.initialize();
|
|
268
268
|
const agent = await bridge.createAgent({ type: "coder" });
|
|
269
269
|
```
|
|
@@ -299,9 +299,9 @@ const prediction = await sona.predict(context);
|
|
|
299
299
|
Modern CLI with interactive prompts and formatted output.
|
|
300
300
|
|
|
301
301
|
```bash
|
|
302
|
-
npx
|
|
303
|
-
npx
|
|
304
|
-
npx
|
|
302
|
+
npx monomind swarm init --topology hierarchical-mesh
|
|
303
|
+
npx monomind agent spawn --type queen-coordinator
|
|
304
|
+
npx monomind memory search "knowledge"
|
|
305
305
|
```
|
|
306
306
|
|
|
307
307
|
### @monomind/testing
|
|
@@ -340,7 +340,7 @@ await release.prepare({ version: "3.0.0", changelog: "..." });
|
|
|
340
340
|
### Quick Start
|
|
341
341
|
|
|
342
342
|
```typescript
|
|
343
|
-
import { initializeSwarm } from "
|
|
343
|
+
import { initializeSwarm } from "monomind";
|
|
344
344
|
|
|
345
345
|
// Initialize the swarm
|
|
346
346
|
const swarm = await initializeSwarm();
|
|
@@ -366,7 +366,7 @@ const result = await swarm.waitForTask(task.id);
|
|
|
366
366
|
|
|
367
367
|
```typescript
|
|
368
368
|
// Import everything
|
|
369
|
-
import * as monomind from "
|
|
369
|
+
import * as monomind from "monomind";
|
|
370
370
|
|
|
371
371
|
// Or import specific modules for tree-shaking
|
|
372
372
|
import { UnifiedSwarmCoordinator } from "@monomind/swarm";
|
|
@@ -377,7 +377,7 @@ import { HNSWIndex } from "@monomind/memory";
|
|
|
377
377
|
### MCP Server
|
|
378
378
|
|
|
379
379
|
```typescript
|
|
380
|
-
import { createMCPServer } from "@monomind/
|
|
380
|
+
import { createMCPServer } from "@monomind/mcp";
|
|
381
381
|
|
|
382
382
|
const server = createMCPServer({
|
|
383
383
|
transport: "stdio",
|
|
@@ -496,7 +496,6 @@ pnpm test:coverage
|
|
|
496
496
|
### External
|
|
497
497
|
|
|
498
498
|
- [GitHub Repository](https://github.com/nokhodian/monomind)
|
|
499
|
-
- [agentic-flow Integration](https://github.com/nokhodian/agentic-flow)
|
|
500
499
|
- [AgentDB](https://github.com/nokhodian/agentdb)
|
|
501
500
|
|
|
502
501
|
## Requirements
|