monomind 1.8.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} +21 -8
- package/.claude/commands/monomind/help.md +118 -0
- package/.claude/commands/{monomind-idea.md → monomind/idea.md} +22 -28
- package/.claude/commands/{monomind-improve.md → monomind/improve.md} +21 -27
- 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/learning-service.mjs +0 -0
- package/.claude/helpers/loop-tracker.cjs +107 -0
- package/.claude/helpers/metrics-db.mjs +0 -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/helpers/swarm-hooks.sh +0 -0
- 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/.claude/statusline-command.sh +0 -0
- package/.claude/statusline.sh +0 -0
- package/.claude-plugin/scripts/install.sh +0 -0
- package/.claude-plugin/scripts/uninstall.sh +0 -0
- package/.claude-plugin/scripts/verify.sh +0 -0
- package/README.md +5 -5
- package/package.json +17 -17
- package/packages/@monomind/cli/README.md +441 -0
- package/packages/@monomind/cli/bin/cli.js +78 -13
- package/packages/@monomind/cli/bin/mcp-server.js +0 -0
- 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 +5 -4
- 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 +153 -70
- package/packages/@monomind/cli/dist/src/init/helpers-generator.js +35 -22
- 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 +10 -4
- 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/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/memory-tools.js +29 -13
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +5867 -56
- 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 -3
- package/packages/@monomind/guidance/README.md +1192 -0
- package/packages/@monomind/shared/README.md +322 -0
- package/packages/@monomind/shared/dist/types/consensus-audit.d.ts +3 -1
- package/packages/README.md +513 -0
- 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
|
@@ -2,17 +2,9 @@
|
|
|
2
2
|
* Hooks MCP Tools
|
|
3
3
|
* Provides intelligent hooks functionality via MCP protocol
|
|
4
4
|
*/
|
|
5
|
-
import { mkdirSync, writeFileSync, existsSync, readFileSync, statSync, unlinkSync, readdirSync
|
|
6
|
-
import { dirname, join, resolve } from 'path';
|
|
5
|
+
import { mkdirSync, writeFileSync, renameSync, existsSync, readFileSync, statSync, unlinkSync, readdirSync } from 'fs';
|
|
6
|
+
import { dirname, join, resolve, sep } from 'path';
|
|
7
7
|
import { getProjectCwd } from './types.js';
|
|
8
|
-
function logEvent(kind, data) {
|
|
9
|
-
try {
|
|
10
|
-
const dir = join(getProjectCwd(), '.monomind', 'swarm');
|
|
11
|
-
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
|
12
|
-
const event = { ts: new Date().toISOString(), source: 'hook', kind, ...data };
|
|
13
|
-
appendFileSync(join(dir, 'events.jsonl'), JSON.stringify(event) + '\n');
|
|
14
|
-
} catch { }
|
|
15
|
-
}
|
|
16
8
|
// Real vector search functions - lazy loaded to avoid circular imports
|
|
17
9
|
let searchEntriesFn = null;
|
|
18
10
|
async function getRealSearchFunction() {
|
|
@@ -92,7 +84,8 @@ let semanticRouter = null;
|
|
|
92
84
|
let nativeVectorDb = null;
|
|
93
85
|
let semanticRouterInitialized = false;
|
|
94
86
|
let routerBackend = 'none';
|
|
95
|
-
// Pre-computed embeddings for common task patterns (cached)
|
|
87
|
+
// Pre-computed embeddings for common task patterns (cached, capped to prevent unbounded growth)
|
|
88
|
+
const MAX_PATTERN_EMBEDDINGS = 2000;
|
|
96
89
|
const TASK_PATTERN_EMBEDDINGS = new Map();
|
|
97
90
|
function generateSimpleEmbedding(text, dimension = 384) {
|
|
98
91
|
// Simple deterministic embedding based on character codes
|
|
@@ -168,7 +161,9 @@ function saveRoutingOutcomes(outcomes) {
|
|
|
168
161
|
mkdirSync(dir, { recursive: true });
|
|
169
162
|
// Cap at 500 entries to bound file size
|
|
170
163
|
const capped = outcomes.slice(-500);
|
|
171
|
-
|
|
164
|
+
const tmp = ROUTING_OUTCOMES_PATH + '.tmp';
|
|
165
|
+
writeFileSync(tmp, JSON.stringify({ outcomes: capped }, null, 2));
|
|
166
|
+
renameSync(tmp, ROUTING_OUTCOMES_PATH);
|
|
172
167
|
}
|
|
173
168
|
catch { /* non-critical */ }
|
|
174
169
|
}
|
|
@@ -293,7 +288,9 @@ async function getSemanticRouter() {
|
|
|
293
288
|
for (const keyword of keywords) {
|
|
294
289
|
const embedding = generateSimpleEmbedding(keyword);
|
|
295
290
|
db.insert(`${patternName}:${keyword}`, embedding);
|
|
296
|
-
TASK_PATTERN_EMBEDDINGS.
|
|
291
|
+
if (TASK_PATTERN_EMBEDDINGS.size < MAX_PATTERN_EMBEDDINGS) {
|
|
292
|
+
TASK_PATTERN_EMBEDDINGS.set(`${patternName}:${keyword}`, embedding);
|
|
293
|
+
}
|
|
297
294
|
}
|
|
298
295
|
}
|
|
299
296
|
nativeVectorDb = db;
|
|
@@ -313,9 +310,11 @@ async function getSemanticRouter() {
|
|
|
313
310
|
for (const [patternName, { keywords, agents }] of Object.entries(getMergedTaskPatterns())) {
|
|
314
311
|
const embeddings = keywords.map(kw => generateSimpleEmbedding(kw));
|
|
315
312
|
semanticRouter.addIntentWithEmbeddings(patternName, embeddings, { agents, keywords });
|
|
316
|
-
// Cache embeddings for keywords
|
|
313
|
+
// Cache embeddings for keywords (capped)
|
|
317
314
|
keywords.forEach((kw, i) => {
|
|
318
|
-
TASK_PATTERN_EMBEDDINGS.
|
|
315
|
+
if (TASK_PATTERN_EMBEDDINGS.size < MAX_PATTERN_EMBEDDINGS) {
|
|
316
|
+
TASK_PATTERN_EMBEDDINGS.set(kw, embeddings[i]);
|
|
317
|
+
}
|
|
319
318
|
});
|
|
320
319
|
}
|
|
321
320
|
routerBackend = 'pure-js';
|
|
@@ -353,18 +352,10 @@ async function getFlashAttention() {
|
|
|
353
352
|
}
|
|
354
353
|
return flashAttention;
|
|
355
354
|
}
|
|
356
|
-
// LoRA Adapter
|
|
355
|
+
// LoRA Adapter removed — superseded by SONA instant adaptation
|
|
356
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
357
357
|
let loraAdapter = null;
|
|
358
358
|
async function getLoRAAdapter() {
|
|
359
|
-
if (!loraAdapter) {
|
|
360
|
-
try {
|
|
361
|
-
const { getLoRAAdapter: getLora } = await import('../ruvector/lora-adapter.js');
|
|
362
|
-
loraAdapter = await getLora();
|
|
363
|
-
}
|
|
364
|
-
catch {
|
|
365
|
-
loraAdapter = null;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
359
|
return loraAdapter;
|
|
369
360
|
}
|
|
370
361
|
// In-memory trajectory tracking (persisted on end)
|
|
@@ -372,7 +363,7 @@ const activeTrajectories = new Map();
|
|
|
372
363
|
const MEMORY_DIR = '.monomind/memory';
|
|
373
364
|
const MEMORY_FILE = 'store.json';
|
|
374
365
|
function getMemoryPath() {
|
|
375
|
-
return
|
|
366
|
+
return join(getProjectCwd(), MEMORY_DIR, MEMORY_FILE);
|
|
376
367
|
}
|
|
377
368
|
function loadMemoryStore() {
|
|
378
369
|
try {
|
|
@@ -718,10 +709,13 @@ export const hooksPostCommand = {
|
|
|
718
709
|
const store = loadMemoryStore();
|
|
719
710
|
const key = `cmd-${Date.now()}`;
|
|
720
711
|
store.entries[key] = { key, value: JSON.stringify({ command, exitCode, success }), namespace: 'commands', createdAt: new Date().toISOString() };
|
|
721
|
-
const memDir =
|
|
712
|
+
const memDir = join(getProjectCwd(), MEMORY_DIR);
|
|
722
713
|
if (!existsSync(memDir))
|
|
723
714
|
mkdirSync(memDir, { recursive: true });
|
|
724
|
-
|
|
715
|
+
const _mp = getMemoryPath();
|
|
716
|
+
const _mptmp = _mp + '.tmp';
|
|
717
|
+
writeFileSync(_mptmp, JSON.stringify(store, null, 2), 'utf-8');
|
|
718
|
+
renameSync(_mptmp, _mp);
|
|
725
719
|
_storedIn = 'json-store';
|
|
726
720
|
}
|
|
727
721
|
catch { /* non-critical */ }
|
|
@@ -1078,7 +1072,7 @@ export const hooksPreTask = {
|
|
|
1078
1072
|
});
|
|
1079
1073
|
for (const r of (heuristicResults?.results ?? [])) {
|
|
1080
1074
|
try {
|
|
1081
|
-
const h = JSON.parse(r.content ??
|
|
1075
|
+
const h = JSON.parse(r.content ?? '{}');
|
|
1082
1076
|
if (h.action && h.confidence !== undefined && h.confidence >= 0.6) {
|
|
1083
1077
|
erlHints.push(`ERL hint (conf=${h.confidence.toFixed(2)}): use "${h.action}" for tasks involving "${h.condition ?? 'similar context'}"`);
|
|
1084
1078
|
}
|
|
@@ -1094,7 +1088,7 @@ export const hooksPreTask = {
|
|
|
1094
1088
|
threshold: 0.55,
|
|
1095
1089
|
});
|
|
1096
1090
|
for (const r of (gradientResults?.results ?? [])) {
|
|
1097
|
-
const critique = r.content ??
|
|
1091
|
+
const critique = r.content ?? '';
|
|
1098
1092
|
if (critique && critique.length > 10) {
|
|
1099
1093
|
erlHints.push(`TextGrad warning: ${critique.slice(0, 120)}`);
|
|
1100
1094
|
}
|
|
@@ -1102,7 +1096,6 @@ export const hooksPreTask = {
|
|
|
1102
1096
|
}
|
|
1103
1097
|
}
|
|
1104
1098
|
catch { /* non-critical */ }
|
|
1105
|
-
logEvent('task.start', { taskId, description: description?.slice(0, 200), complexity, suggestedAgent: suggestion.agents[0], modelTier: modelRouting?.tier });
|
|
1106
1099
|
return {
|
|
1107
1100
|
taskId,
|
|
1108
1101
|
description,
|
|
@@ -1246,7 +1239,7 @@ export const hooksPostTask = {
|
|
|
1246
1239
|
key: `textual_gradient:${taskId}`,
|
|
1247
1240
|
value: critique,
|
|
1248
1241
|
namespace: 'gradients',
|
|
1249
|
-
tags: ['textual_gradient', agent, 'failure'],
|
|
1242
|
+
tags: ['textual_gradient', agent ?? 'unknown', 'failure'],
|
|
1250
1243
|
});
|
|
1251
1244
|
}
|
|
1252
1245
|
}
|
|
@@ -1265,7 +1258,6 @@ export const hooksPostTask = {
|
|
|
1265
1258
|
storeAs: 'heuristics',
|
|
1266
1259
|
note: 'Spawn agents sequentially: Diagnoser → Critics in parallel → Aggregator',
|
|
1267
1260
|
} : { needed: false };
|
|
1268
|
-
logEvent('task.end', { taskId, success, duration, agent, quality, task: taskText?.slice(0, 200) });
|
|
1269
1261
|
return {
|
|
1270
1262
|
taskId,
|
|
1271
1263
|
success,
|
|
@@ -1375,6 +1367,10 @@ export const hooksPretrain = {
|
|
|
1375
1367
|
},
|
|
1376
1368
|
handler: async (params) => {
|
|
1377
1369
|
const repoPath = resolve(params.path || '.');
|
|
1370
|
+
const projectRoot = getProjectCwd();
|
|
1371
|
+
if (repoPath !== projectRoot && !repoPath.startsWith(projectRoot + sep)) {
|
|
1372
|
+
return { error: 'Invalid path: must be within the project directory.' };
|
|
1373
|
+
}
|
|
1378
1374
|
const depth = params.depth || 'medium';
|
|
1379
1375
|
const startTime = performance.now();
|
|
1380
1376
|
// Real file scanning — count files by extension, extract patterns
|
|
@@ -1472,9 +1468,20 @@ export const hooksBuildAgents = {
|
|
|
1472
1468
|
},
|
|
1473
1469
|
},
|
|
1474
1470
|
handler: async (params) => {
|
|
1475
|
-
const
|
|
1471
|
+
const rawOutputDir = resolve(params.outputDir || './agents');
|
|
1472
|
+
const outputDir = rawOutputDir;
|
|
1473
|
+
if (!outputDir.startsWith(getProjectCwd() + sep) && outputDir !== getProjectCwd()) {
|
|
1474
|
+
return { error: 'Invalid outputDir: must be within the project directory.' };
|
|
1475
|
+
}
|
|
1476
1476
|
const focus = params.focus || 'all';
|
|
1477
|
-
|
|
1477
|
+
// Strict allowlist on `format` — without this, `format = "yaml/../../../etc/cron.d/x"`
|
|
1478
|
+
// collapses through `join` and lets writes escape the validated outputDir.
|
|
1479
|
+
const ALLOWED_FORMATS = new Set(['yaml', 'json']);
|
|
1480
|
+
const formatRaw = params.format || 'yaml';
|
|
1481
|
+
if (!ALLOWED_FORMATS.has(formatRaw)) {
|
|
1482
|
+
return { error: 'Invalid format: must be yaml or json' };
|
|
1483
|
+
}
|
|
1484
|
+
const format = formatRaw;
|
|
1478
1485
|
const persist = params.persist !== false; // Default to true
|
|
1479
1486
|
const agents = [
|
|
1480
1487
|
{ type: 'coder', configFile: join(outputDir, `coder.${format}`), capabilities: ['code-generation', 'refactoring', 'debugging'], optimizations: ['flash-attention', 'token-reduction'] },
|
|
@@ -1505,7 +1512,9 @@ export const hooksBuildAgents = {
|
|
|
1505
1512
|
const content = format === 'json'
|
|
1506
1513
|
? JSON.stringify(config, null, 2)
|
|
1507
1514
|
: `# ${agent.type} agent configuration\ntype: ${agent.type}\nversion: "3.0.0"\ncapabilities:\n${agent.capabilities.map(c => ` - ${c}`).join('\n')}\noptimizations:\n${agent.optimizations.map(o => ` - ${o}`).join('\n')}\ncreatedAt: "${config.createdAt}"\n`;
|
|
1508
|
-
|
|
1515
|
+
const _cftmp = agent.configFile + '.tmp';
|
|
1516
|
+
writeFileSync(_cftmp, content, 'utf-8');
|
|
1517
|
+
renameSync(_cftmp, agent.configFile);
|
|
1509
1518
|
}
|
|
1510
1519
|
}
|
|
1511
1520
|
return {
|
|
@@ -1538,8 +1547,25 @@ export const hooksTransfer = {
|
|
|
1538
1547
|
const sourcePath = params.sourcePath;
|
|
1539
1548
|
const minConfidence = params.minConfidence || 0.7;
|
|
1540
1549
|
const filter = params.filter;
|
|
1550
|
+
// Validate sourcePath is an existing directory before reading from it
|
|
1551
|
+
const resolvedSource = resolve(sourcePath);
|
|
1552
|
+
const { statSync } = await import('fs');
|
|
1553
|
+
const { homedir } = await import('os');
|
|
1554
|
+
const home = homedir();
|
|
1555
|
+
if (resolvedSource !== home && !resolvedSource.startsWith(home + sep)) {
|
|
1556
|
+
return { error: 'sourcePath must be within the home directory.' };
|
|
1557
|
+
}
|
|
1558
|
+
try {
|
|
1559
|
+
const st = statSync(resolvedSource);
|
|
1560
|
+
if (!st.isDirectory()) {
|
|
1561
|
+
return { error: 'sourcePath must be a directory' };
|
|
1562
|
+
}
|
|
1563
|
+
}
|
|
1564
|
+
catch {
|
|
1565
|
+
return { error: 'sourcePath does not exist' };
|
|
1566
|
+
}
|
|
1541
1567
|
// Try to load patterns from source project's memory store
|
|
1542
|
-
const sourceMemoryPath = join(
|
|
1568
|
+
const sourceMemoryPath = join(resolvedSource, MEMORY_DIR, MEMORY_FILE);
|
|
1543
1569
|
let sourceStore = { entries: {}, version: '3.0.0' };
|
|
1544
1570
|
try {
|
|
1545
1571
|
if (existsSync(sourceMemoryPath)) {
|
|
@@ -2051,6 +2077,13 @@ export const hooksTrajectoryStart = {
|
|
|
2051
2077
|
steps: [],
|
|
2052
2078
|
startedAt,
|
|
2053
2079
|
};
|
|
2080
|
+
const MAX_TRAJECTORIES = 10000;
|
|
2081
|
+
if (activeTrajectories.size >= MAX_TRAJECTORIES) {
|
|
2082
|
+
// Evict the oldest trajectory
|
|
2083
|
+
const oldest = activeTrajectories.keys().next().value;
|
|
2084
|
+
if (oldest)
|
|
2085
|
+
activeTrajectories.delete(oldest);
|
|
2086
|
+
}
|
|
2054
2087
|
activeTrajectories.set(trajectoryId, trajectory);
|
|
2055
2088
|
return {
|
|
2056
2089
|
trajectoryId,
|
|
@@ -9,20 +9,21 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @module v1/cli/mcp-tools/memory-tools
|
|
11
11
|
*/
|
|
12
|
-
import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'fs';
|
|
13
|
-
import { join
|
|
12
|
+
import { existsSync, mkdirSync, readFileSync, renameSync, statSync, unlinkSync, writeFileSync } from 'fs';
|
|
13
|
+
import { join } from 'path';
|
|
14
|
+
import { getProjectCwd } from './types.js';
|
|
14
15
|
// Paths
|
|
15
16
|
const MEMORY_DIR = '.monomind/memory';
|
|
16
17
|
const LEGACY_MEMORY_FILE = 'store.json';
|
|
17
18
|
const MIGRATION_MARKER = '.migrated-to-sqlite';
|
|
18
19
|
function getMemoryDir() {
|
|
19
|
-
return
|
|
20
|
+
return join(getProjectCwd(), MEMORY_DIR);
|
|
20
21
|
}
|
|
21
22
|
function getLegacyPath() {
|
|
22
|
-
return
|
|
23
|
+
return join(getProjectCwd(), MEMORY_DIR, LEGACY_MEMORY_FILE);
|
|
23
24
|
}
|
|
24
25
|
function getMigrationMarkerPath() {
|
|
25
|
-
return
|
|
26
|
+
return join(getProjectCwd(), MEMORY_DIR, MIGRATION_MARKER);
|
|
26
27
|
}
|
|
27
28
|
function ensureMemoryDir() {
|
|
28
29
|
const dir = getMemoryDir();
|
|
@@ -56,12 +57,18 @@ function hasLegacyStore() {
|
|
|
56
57
|
/**
|
|
57
58
|
* Load legacy JSON store for migration
|
|
58
59
|
*/
|
|
60
|
+
const MAX_LEGACY_STORE_BYTES = 50 * 1024 * 1024;
|
|
59
61
|
function loadLegacyStore() {
|
|
60
62
|
try {
|
|
61
63
|
const path = getLegacyPath();
|
|
62
64
|
if (existsSync(path)) {
|
|
65
|
+
if (statSync(path).size > MAX_LEGACY_STORE_BYTES)
|
|
66
|
+
return null;
|
|
63
67
|
const data = readFileSync(path, 'utf-8');
|
|
64
|
-
|
|
68
|
+
const parsed = JSON.parse(data);
|
|
69
|
+
if (parsed && typeof parsed === 'object' && Object.prototype.hasOwnProperty.call(parsed, '__proto__'))
|
|
70
|
+
return null;
|
|
71
|
+
return parsed;
|
|
65
72
|
}
|
|
66
73
|
}
|
|
67
74
|
catch {
|
|
@@ -74,10 +81,13 @@ function loadLegacyStore() {
|
|
|
74
81
|
*/
|
|
75
82
|
function markMigrationComplete() {
|
|
76
83
|
ensureMemoryDir();
|
|
77
|
-
|
|
84
|
+
const dest = getMigrationMarkerPath();
|
|
85
|
+
const tmp = dest + '.tmp';
|
|
86
|
+
writeFileSync(tmp, JSON.stringify({
|
|
78
87
|
migratedAt: new Date().toISOString(),
|
|
79
88
|
version: '3.0.0',
|
|
80
89
|
}), 'utf-8');
|
|
90
|
+
renameSync(tmp, dest);
|
|
81
91
|
}
|
|
82
92
|
/**
|
|
83
93
|
* Lazy-load memory initializer functions to avoid circular deps
|
|
@@ -287,7 +297,7 @@ export const memoryTools = [
|
|
|
287
297
|
const { searchEntries } = await getMemoryFunctions();
|
|
288
298
|
const query = input.query;
|
|
289
299
|
const namespace = input.namespace || 'default';
|
|
290
|
-
const limit = input.limit || 10;
|
|
300
|
+
const limit = Math.min(Math.max(input.limit || 10, 1), 1000);
|
|
291
301
|
const threshold = input.threshold || 0.3;
|
|
292
302
|
validateMemoryInput(undefined, undefined, query);
|
|
293
303
|
const startTime = performance.now();
|
|
@@ -389,7 +399,7 @@ export const memoryTools = [
|
|
|
389
399
|
await ensureInitialized();
|
|
390
400
|
const { listEntries } = await getMemoryFunctions();
|
|
391
401
|
const namespace = input.namespace;
|
|
392
|
-
const limit = input.limit || 50;
|
|
402
|
+
const limit = Math.min(Math.max(input.limit || 50, 1), 1000);
|
|
393
403
|
const offset = input.offset || 0;
|
|
394
404
|
try {
|
|
395
405
|
const result = await listEntries({
|
|
@@ -438,8 +448,12 @@ export const memoryTools = [
|
|
|
438
448
|
const { checkMemoryInitialization, listEntries } = await getMemoryFunctions();
|
|
439
449
|
try {
|
|
440
450
|
const status = await checkMemoryInitialization();
|
|
441
|
-
|
|
442
|
-
//
|
|
451
|
+
// Cap stats sample at 1000 entries — the previous 100000 limit could
|
|
452
|
+
// load up to 100 GB of resident memory (each entry value capped at 1 MB)
|
|
453
|
+
// just to compute aggregate counts. Counts above 1000 are reported as
|
|
454
|
+
// approximate via the dedicated `total` field.
|
|
455
|
+
const allEntries = await listEntries({ limit: 1000 });
|
|
456
|
+
// Count by namespace (sample-based for large stores)
|
|
443
457
|
const namespaces = {};
|
|
444
458
|
let withEmbeddings = 0;
|
|
445
459
|
for (const entry of allEntries.entries) {
|
|
@@ -491,6 +505,8 @@ export const memoryTools = [
|
|
|
491
505
|
unlinkSync(markerPath);
|
|
492
506
|
}
|
|
493
507
|
}
|
|
508
|
+
// Check if migration was already completed before running it
|
|
509
|
+
const alreadyMigrated = existsSync(getMigrationMarkerPath());
|
|
494
510
|
// Check for legacy data
|
|
495
511
|
const legacyStore = loadLegacyStore();
|
|
496
512
|
if (!legacyStore || Object.keys(legacyStore.entries).length === 0) {
|
|
@@ -504,8 +520,8 @@ export const memoryTools = [
|
|
|
504
520
|
await ensureInitialized();
|
|
505
521
|
return {
|
|
506
522
|
success: true,
|
|
507
|
-
message: 'Migration completed',
|
|
508
|
-
migrated: Object.keys(legacyStore.entries).length,
|
|
523
|
+
message: alreadyMigrated ? 'Already migrated — use force=true to re-run' : 'Migration completed',
|
|
524
|
+
migrated: alreadyMigrated ? 0 : Object.keys(legacyStore.entries).length,
|
|
509
525
|
backend: 'sql.js + HNSW',
|
|
510
526
|
};
|
|
511
527
|
},
|