monomind 1.19.0 → 2.0.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/README.md +2 -5
- package/package.json +15 -34
- package/packages/@monomind/cli/.claude/agents/github/issue-tracker.md +0 -2
- package/packages/@monomind/cli/.claude/agents/github/pr-manager.md +0 -2
- package/packages/@monomind/cli/.claude/agents/github/repo-architect.md +3 -11
- package/packages/@monomind/cli/.claude/agents/goal/goal-planner.md +0 -1
- package/packages/@monomind/cli/.claude/commands/github/issue-tracker.md +0 -2
- package/packages/@monomind/cli/.claude/commands/github/pr-manager.md +0 -2
- package/packages/@monomind/cli/.claude/commands/github/repo-architect.md +3 -10
- package/packages/@monomind/cli/.claude/commands/mastermind/help.md +3 -3
- package/packages/@monomind/cli/.claude/commands/workflows/README.md +0 -1
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-create.md +0 -1
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-execute.md +1 -3
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-export.md +0 -2
- package/packages/@monomind/cli/.claude/helpers/handlers/agent-start-handler.cjs +18 -1
- package/packages/@monomind/cli/.claude/helpers/handlers/edit-handler.cjs +15 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/gates-handler.cjs +2 -8
- package/packages/@monomind/cli/.claude/helpers/handlers/route-handler.cjs +149 -7
- package/packages/@monomind/cli/.claude/helpers/handlers/session-handler.cjs +47 -25
- package/packages/@monomind/cli/.claude/helpers/handlers/session-restore-handler.cjs +80 -43
- package/packages/@monomind/cli/.claude/helpers/handlers/task-handler.cjs +8 -4
- package/packages/@monomind/cli/.claude/helpers/hook-handler.cjs +69 -16
- package/packages/@monomind/cli/.claude/helpers/intelligence.cjs +100 -9
- package/packages/@monomind/cli/.claude/helpers/router.cjs +78 -5
- package/packages/@monomind/cli/.claude/helpers/skill-registry.json +0 -189
- package/packages/@monomind/cli/.claude/skills/github-toolkit/SKILL.md +60 -0
- package/packages/@monomind/cli/.claude/skills/hive-mind-advanced/SKILL.md +0 -15
- package/packages/@monomind/cli/.claude/skills/hooks-automation/SKILL.md +0 -1
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/_protocol.md +1 -1
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/build.md +1 -2
- package/packages/@monomind/cli/.claude/skills/memory-toolkit/SKILL.md +75 -0
- package/packages/@monomind/cli/.claude/skills/specialagent/SKILL.md +2 -4
- package/packages/@monomind/cli/.claude/skills/swarm-advanced/SKILL.md +0 -1
- package/packages/@monomind/cli/README.md +2 -5
- package/packages/@monomind/cli/dist/src/autopilot-state.js +4 -5
- package/packages/@monomind/cli/dist/src/browser/dashboard/server.js +69 -1
- package/packages/@monomind/cli/dist/src/browser/dashboard/ui.html +214 -1764
- package/packages/@monomind/cli/dist/src/capabilities/index.d.ts +0 -2
- package/packages/@monomind/cli/dist/src/capabilities/index.js +0 -1
- package/packages/@monomind/cli/dist/src/commands/agent-lifecycle.js +2 -6
- package/packages/@monomind/cli/dist/src/commands/analyze.d.ts +0 -4
- package/packages/@monomind/cli/dist/src/commands/analyze.js +1 -29
- package/packages/@monomind/cli/dist/src/commands/completions.js +3 -22
- package/packages/@monomind/cli/dist/src/commands/config.js +0 -6
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.d.ts +12 -2
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.js +130 -22
- package/packages/@monomind/cli/dist/src/commands/doctor.js +6 -5
- package/packages/@monomind/cli/dist/src/commands/guidance.d.ts +5 -1
- package/packages/@monomind/cli/dist/src/commands/guidance.js +11 -556
- package/packages/@monomind/cli/dist/src/commands/hive-mind-comms.js +11 -4
- package/packages/@monomind/cli/dist/src/commands/hive-mind.d.ts +4 -4
- package/packages/@monomind/cli/dist/src/commands/hive-mind.js +9 -6
- package/packages/@monomind/cli/dist/src/commands/hooks-formatting.d.ts +1 -5
- package/packages/@monomind/cli/dist/src/commands/hooks-formatting.js +1 -18
- package/packages/@monomind/cli/dist/src/commands/hooks-workers.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/commands/hooks-workers.js +82 -330
- package/packages/@monomind/cli/dist/src/commands/index.d.ts +0 -5
- package/packages/@monomind/cli/dist/src/commands/index.js +0 -45
- package/packages/@monomind/cli/dist/src/commands/init-wizard.js +1 -1
- package/packages/@monomind/cli/dist/src/commands/init.js +4 -24
- package/packages/@monomind/cli/dist/src/commands/neural-core.js +11 -11
- package/packages/@monomind/cli/dist/src/commands/neural-optimize.js +9 -11
- package/packages/@monomind/cli/dist/src/commands/neural-registry.js +10 -10
- package/packages/@monomind/cli/dist/src/commands/providers.js +90 -1
- package/packages/@monomind/cli/dist/src/commands/search-universal.d.ts +7 -1
- package/packages/@monomind/cli/dist/src/commands/search-universal.js +59 -5
- package/packages/@monomind/cli/dist/src/commands/security-cve.js +3 -5
- package/packages/@monomind/cli/dist/src/commands/session.js +143 -3
- package/packages/@monomind/cli/dist/src/commands/start.js +0 -18
- package/packages/@monomind/cli/dist/src/commands/swarm.js +112 -65
- package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +43 -1
- package/packages/@monomind/cli/dist/src/consensus/tally.d.ts +19 -0
- package/packages/@monomind/cli/dist/src/consensus/tally.js +34 -0
- package/packages/@monomind/cli/dist/src/index.d.ts +3 -2
- package/packages/@monomind/cli/dist/src/index.js +9 -12
- package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +10 -14
- package/packages/@monomind/cli/dist/src/init/executor.js +39 -86
- package/packages/@monomind/cli/dist/src/init/settings-generator.js +0 -12
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +62 -0
- package/packages/@monomind/cli/dist/src/init/types.d.ts +2 -6
- package/packages/@monomind/cli/dist/src/init/types.js +0 -3
- package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.js +18 -8
- package/packages/@monomind/cli/dist/src/mcp-client.js +0 -2
- package/packages/@monomind/cli/dist/src/mcp-server.js +12 -14
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/coherence-check.js +1 -19
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/types.d.ts +3 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/types.js +3 -18
- package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +1 -7
- package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.js +2 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +7 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -1
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +174 -38
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-advanced.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-advanced.js +25 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.d.ts +4 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.js +33 -482
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.js +51 -43
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-synthesis.d.ts +31 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-synthesis.js +196 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +10 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +0 -1
- package/packages/@monomind/cli/dist/src/mcp-tools/index.js +0 -1
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +20 -29
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.d.ts +6 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +78 -220
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.d.ts +9 -4
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +242 -506
- package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.js +103 -0
- package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +2 -1
- package/packages/@monomind/cli/dist/src/memory/intelligence.js +56 -43
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +14 -9
- package/packages/@monomind/cli/dist/src/memory/memory-read.js +1 -19
- package/packages/@monomind/cli/dist/src/suggest.js +1 -7
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +3 -2
- package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +22 -70
- package/packages/@monomind/cli/dist/src/update/checker.js +0 -1
- package/packages/@monomind/cli/dist/src/utils/cosine-similarity.d.ts +22 -0
- package/packages/@monomind/cli/dist/src/utils/cosine-similarity.js +38 -0
- package/packages/@monomind/cli/dist/src/utils/input-guards.d.ts +51 -0
- package/packages/@monomind/cli/dist/src/utils/input-guards.js +223 -0
- package/packages/@monomind/cli/dist/src/utils/json-file.d.ts +33 -0
- package/packages/@monomind/cli/dist/src/utils/json-file.js +57 -0
- package/packages/@monomind/cli/package.json +9 -6
- package/packages/@monomind/cli/scripts/sync-claude-assets.sh +16 -20
- package/scripts/generate-agent-avatars.mjs +0 -8
- package/.claude/agents/architecture/system-design/arch-system-design.md +0 -54
- package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
- package/.claude/agents/consensus/quorum-manager.md +0 -803
- package/.claude/agents/consensus/security-manager.md +0 -602
- package/.claude/agents/core/coder.md +0 -262
- package/.claude/agents/core/coordinator.md +0 -71
- package/.claude/agents/core/planner.md +0 -170
- package/.claude/agents/core/researcher.md +0 -197
- package/.claude/agents/core/reviewer.md +0 -327
- package/.claude/agents/core/tester.md +0 -318
- package/.claude/agents/design/design-monodesign.md +0 -121
- package/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +0 -212
- package/.claude/agents/engineering/engineering-ai-engineer.md +0 -165
- package/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +0 -108
- package/.claude/agents/engineering/engineering-backend-architect.md +0 -254
- package/.claude/agents/engineering/engineering-code-reviewer.md +0 -95
- package/.claude/agents/engineering/engineering-data-engineer.md +0 -307
- package/.claude/agents/engineering/engineering-database-optimizer.md +0 -200
- package/.claude/agents/engineering/engineering-devops-automator.md +0 -430
- package/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +0 -174
- package/.claude/agents/engineering/engineering-feishu-integration-developer.md +0 -607
- package/.claude/agents/engineering/engineering-frontend-developer.md +0 -249
- package/.claude/agents/engineering/engineering-git-workflow-master.md +0 -108
- package/.claude/agents/engineering/engineering-incident-response-commander.md +0 -482
- package/.claude/agents/engineering/engineering-mobile-app-builder.md +0 -499
- package/.claude/agents/engineering/engineering-rapid-prototyper.md +0 -463
- package/.claude/agents/engineering/engineering-security-engineer.md +0 -303
- package/.claude/agents/engineering/engineering-senior-developer.md +0 -195
- package/.claude/agents/engineering/engineering-software-architect.md +0 -100
- package/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +0 -528
- package/.claude/agents/engineering/engineering-sre.md +0 -114
- package/.claude/agents/engineering/engineering-technical-writer.md +0 -412
- package/.claude/agents/engineering/engineering-threat-detection-engineer.md +0 -540
- package/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +0 -351
- package/.claude/agents/generated/case-analyst.md +0 -50
- package/.claude/agents/generated/channel-intelligence-director.md +0 -87
- package/.claude/agents/generated/chief-growth-officer.md +0 -88
- package/.claude/agents/generated/churn-analyst.md +0 -53
- package/.claude/agents/generated/code-reviewer.md +0 -55
- package/.claude/agents/generated/code-validator.md +0 -57
- package/.claude/agents/generated/complexity-scanner.md +0 -56
- package/.claude/agents/generated/content-seo-strategist.md +0 -90
- package/.claude/agents/generated/copy-editor.md +0 -45
- package/.claude/agents/generated/court-reporter.md +0 -50
- package/.claude/agents/generated/defender.md +0 -51
- package/.claude/agents/generated/devbot-orchestrator.md +0 -58
- package/.claude/agents/generated/devbot-planner.md +0 -63
- package/.claude/agents/generated/developer-community-strategist.md +0 -91
- package/.claude/agents/generated/editor-in-chief.md +0 -45
- package/.claude/agents/generated/fact-checker.md +0 -45
- package/.claude/agents/generated/impact-assessor.md +0 -54
- package/.claude/agents/generated/judge.md +0 -51
- package/.claude/agents/generated/outreach-partnership-strategist.md +0 -90
- package/.claude/agents/generated/prosecutor.md +0 -51
- package/.claude/agents/generated/reporter.md +0 -45
- package/.claude/agents/generated/social-media-strategist.md +0 -91
- package/.claude/agents/generated/video-visual-strategist.md +0 -90
- package/.claude/agents/github/code-review-swarm.md +0 -557
- package/.claude/agents/github/github-modes.md +0 -154
- package/.claude/agents/github/issue-tracker.md +0 -299
- package/.claude/agents/github/multi-repo-swarm.md +0 -525
- package/.claude/agents/github/pr-manager.md +0 -163
- package/.claude/agents/github/project-board-sync.md +0 -478
- package/.claude/agents/github/release-manager.md +0 -296
- package/.claude/agents/github/repo-architect.md +0 -359
- package/.claude/agents/github/swarm-issue.md +0 -548
- package/.claude/agents/github/swarm-pr.md +0 -427
- package/.claude/agents/github/sync-coordinator.md +0 -355
- package/.claude/agents/github/workflow-automation.md +0 -640
- package/.claude/agents/goal/goal-planner.md +0 -168
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +0 -129
- package/.claude/agents/hive-mind/queen-coordinator.md +0 -202
- package/.claude/agents/hive-mind/scout-explorer.md +0 -241
- package/.claude/agents/hive-mind/swarm-memory-manager.md +0 -192
- package/.claude/agents/hive-mind/worker-specialist.md +0 -216
- package/.claude/agents/marketing/marketing-competitive-content.md +0 -155
- package/.claude/agents/marketing/marketing-cro-specialist.md +0 -147
- package/.claude/agents/marketing/marketing-email-specialist.md +0 -90
- package/.claude/agents/marketing/marketing-launch-strategist.md +0 -129
- package/.claude/agents/marketing/marketing-pricing-strategist.md +0 -127
- package/.claude/agents/optimization/benchmark-suite.md +0 -665
- package/.claude/agents/optimization/load-balancer.md +0 -431
- package/.claude/agents/optimization/performance-monitor.md +0 -672
- package/.claude/agents/optimization/resource-allocator.md +0 -674
- package/.claude/agents/optimization/topology-optimizer.md +0 -808
- package/.claude/agents/reengineer-squad/boss.md +0 -113
- package/.claude/agents/reengineer-squad/critic-architect.md +0 -132
- package/.claude/agents/reengineer-squad/git-manager.md +0 -145
- package/.claude/agents/reengineer-squad/idea-generator.md +0 -95
- package/.claude/agents/reengineer-squad/implementer.md +0 -112
- package/.claude/agents/reengineer-squad/integration-planner.md +0 -112
- package/.claude/agents/reengineer-squad/source-analyst.md +0 -103
- package/.claude/agents/reengineer-squad/target-analyst.md +0 -118
- package/.claude/agents/reengineer-squad/tester.md +0 -105
- package/.claude/agents/schemas/architecture-output.json +0 -43
- package/.claude/agents/schemas/code-review-output.json +0 -28
- package/.claude/agents/schemas/generic-task-input.json +0 -12
- package/.claude/agents/schemas/implementation-output.json +0 -18
- package/.claude/agents/schemas/research-output.json +0 -31
- package/.claude/agents/schemas/security-audit-output.json +0 -29
- package/.claude/agents/schemas/test-report-output.json +0 -29
- package/.claude/agents/sparc/architecture.md +0 -453
- package/.claude/agents/sparc/pseudocode.md +0 -299
- package/.claude/agents/sparc/refinement.md +0 -504
- package/.claude/agents/sparc/specification.md +0 -258
- package/.claude/agents/specialists/integration-architect.md +0 -94
- package/.claude/agents/specialized/agentic-identity-trust.md +0 -388
- package/.claude/agents/specialized/agents-orchestrator.md +0 -368
- package/.claude/agents/specialized/automation-governance-architect.md +0 -217
- package/.claude/agents/specialized/blockchain-security-auditor.md +0 -497
- package/.claude/agents/specialized/compliance-auditor.md +0 -159
- package/.claude/agents/specialized/identity-graph-operator.md +0 -261
- package/.claude/agents/specialized/lsp-index-engineer.md +0 -315
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -89
- package/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +0 -89
- package/.claude/agents/specialized/specialized-developer-advocate.md +0 -318
- package/.claude/agents/specialized/specialized-document-generator.md +0 -56
- package/.claude/agents/specialized/specialized-mcp-builder.md +0 -64
- package/.claude/agents/specialized/specialized-model-qa.md +0 -489
- package/.claude/agents/specialized/specialized-workflow-architect.md +0 -595
- package/.claude/agents/specialized/zk-steward.md +0 -212
- package/.claude/agents/swarm/mesh-coordinator.md +0 -363
- package/.claude/agents/templates/automation-smart-agent.md +0 -185
- package/.claude/agents/templates/coordinator-swarm-init.md +0 -83
- package/.claude/agents/templates/implementer-sparc-coder.md +0 -231
- package/.claude/agents/testing/production-validator.md +0 -375
- package/.claude/agents/testing/tdd-london-swarm.md +0 -241
- package/.claude/agents/testing/testing-accessibility-auditor.md +0 -322
- package/.claude/agents/testing/testing-api-tester.md +0 -307
- package/.claude/agents/testing/testing-evidence-collector.md +0 -213
- package/.claude/agents/testing/testing-performance-benchmarker.md +0 -269
- package/.claude/agents/testing/testing-test-results-analyzer.md +0 -306
- package/.claude/agents/testing/testing-tool-evaluator.md +0 -395
- package/.claude/agents/testing/testing-workflow-optimizer.md +0 -451
- package/.claude/commands/agents/README.md +0 -14
- package/.claude/commands/agents/agent-capabilities.md +0 -25
- package/.claude/commands/agents/agent-coordination.md +0 -32
- package/.claude/commands/agents/agent-spawning.md +0 -32
- package/.claude/commands/agents/agent-types.md +0 -30
- package/.claude/commands/analysis/README.md +0 -18
- package/.claude/commands/analysis/bottleneck-detect.md +0 -69
- package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
- package/.claude/commands/analysis/performance-report.md +0 -52
- package/.claude/commands/analysis/token-usage.md +0 -47
- package/.claude/commands/automation/README.md +0 -19
- package/.claude/commands/automation/auto-agent.md +0 -86
- package/.claude/commands/automation/self-healing.md +0 -108
- package/.claude/commands/automation/session-memory.md +0 -89
- package/.claude/commands/automation/smart-agents.md +0 -81
- package/.claude/commands/automation/smart-spawn.md +0 -66
- package/.claude/commands/automation/workflow-select.md +0 -60
- package/.claude/commands/coordination/README.md +0 -13
- package/.claude/commands/coordination/agent-spawn.md +0 -69
- package/.claude/commands/coordination/swarm-init.md +0 -82
- package/.claude/commands/coordination/task-orchestrate.md +0 -79
- package/.claude/commands/github/README.md +0 -24
- package/.claude/commands/github/github-modes.md +0 -151
- package/.claude/commands/github/issue-tracker.md +0 -293
- package/.claude/commands/github/pr-manager.md +0 -173
- package/.claude/commands/github/release-manager.md +0 -343
- package/.claude/commands/github/repo-architect.md +0 -379
- package/.claude/commands/github/sync-coordinator.md +0 -297
- package/.claude/commands/hive-mind/README.md +0 -42
- package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
- package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
- package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
- package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
- package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
- package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
- package/.claude/commands/hive-mind/hive-mind.md +0 -87
- package/.claude/commands/hooks/README.md +0 -66
- package/.claude/commands/hooks/overview.md +0 -112
- package/.claude/commands/hooks/post-edit.md +0 -78
- package/.claude/commands/hooks/post-task.md +0 -62
- package/.claude/commands/hooks/pre-edit.md +0 -81
- package/.claude/commands/hooks/pre-task.md +0 -73
- package/.claude/commands/hooks/session-end.md +0 -82
- package/.claude/commands/hooks/setup.md +0 -132
- package/.claude/commands/mastermind/_repeat.md +0 -492
- package/.claude/commands/mastermind/_taskfile.md +0 -232
- package/.claude/commands/mastermind/adr.md +0 -9
- package/.claude/commands/mastermind/approve.md +0 -91
- package/.claude/commands/mastermind/architect.md +0 -52
- package/.claude/commands/mastermind/autodev.md +0 -28
- package/.claude/commands/mastermind/brain.md +0 -99
- package/.claude/commands/mastermind/budget.md +0 -5
- package/.claude/commands/mastermind/build.md +0 -23
- package/.claude/commands/mastermind/code-review.md +0 -314
- package/.claude/commands/mastermind/content.md +0 -23
- package/.claude/commands/mastermind/createorg.md +0 -136
- package/.claude/commands/mastermind/createtask.md +0 -372
- package/.claude/commands/mastermind/debug.md +0 -19
- package/.claude/commands/mastermind/design.md +0 -17
- package/.claude/commands/mastermind/do.md +0 -525
- package/.claude/commands/mastermind/execute.md +0 -17
- package/.claude/commands/mastermind/finance.md +0 -23
- package/.claude/commands/mastermind/finish.md +0 -17
- package/.claude/commands/mastermind/graph-status.md +0 -5
- package/.claude/commands/mastermind/help.md +0 -115
- package/.claude/commands/mastermind/idea.md +0 -23
- package/.claude/commands/mastermind/ideate.md +0 -258
- package/.claude/commands/mastermind/improve.md +0 -342
- package/.claude/commands/mastermind/loops.md +0 -5
- package/.claude/commands/mastermind/marketing.md +0 -23
- package/.claude/commands/mastermind/master.md +0 -1124
- package/.claude/commands/mastermind/memory.md +0 -227
- package/.claude/commands/mastermind/okf-export.md +0 -14
- package/.claude/commands/mastermind/okf-import.md +0 -15
- package/.claude/commands/mastermind/ops.md +0 -23
- package/.claude/commands/mastermind/orgs.md +0 -18
- package/.claude/commands/mastermind/orgstatus.md +0 -56
- package/.claude/commands/mastermind/plan.md +0 -23
- package/.claude/commands/mastermind/receive-review.md +0 -17
- package/.claude/commands/mastermind/references/antigravity-tools.md +0 -60
- package/.claude/commands/mastermind/references/claude-code-tools.md +0 -50
- package/.claude/commands/mastermind/references/codex-tools.md +0 -64
- package/.claude/commands/mastermind/references/copilot-tools.md +0 -49
- package/.claude/commands/mastermind/references/gemini-tools.md +0 -63
- package/.claude/commands/mastermind/references/pi-tools.md +0 -28
- package/.claude/commands/mastermind/release.md +0 -23
- package/.claude/commands/mastermind/repeat.md +0 -254
- package/.claude/commands/mastermind/research.md +0 -23
- package/.claude/commands/mastermind/review.md +0 -34
- package/.claude/commands/mastermind/runorg.md +0 -153
- package/.claude/commands/mastermind/sales.md +0 -23
- package/.claude/commands/mastermind/skill-builder.md +0 -17
- package/.claude/commands/mastermind/specialagents.md +0 -122
- package/.claude/commands/mastermind/stoporg.md +0 -75
- package/.claude/commands/mastermind/swarm.md +0 -158
- package/.claude/commands/mastermind/taskdev.md +0 -23
- package/.claude/commands/mastermind/tdd.md +0 -19
- package/.claude/commands/mastermind/techport.md +0 -27
- package/.claude/commands/mastermind/understand.md +0 -136
- package/.claude/commands/mastermind/verify.md +0 -19
- package/.claude/commands/mastermind/worktree.md +0 -17
- package/.claude/commands/mastermind.md +0 -121
- package/.claude/commands/memory/README.md +0 -79
- package/.claude/commands/memory/memory-search.md +0 -77
- package/.claude/commands/monitoring/README.md +0 -69
- package/.claude/commands/monitoring/agent-metrics.md +0 -65
- package/.claude/commands/monitoring/agents.md +0 -71
- package/.claude/commands/monitoring/status.md +0 -108
- package/.claude/commands/monobrowse.md +0 -21
- package/.claude/commands/monoes/README.md +0 -30
- package/.claude/commands/monoes/install.md +0 -163
- package/.claude/commands/monoes/monoagent.md +0 -148
- package/.claude/commands/monoes/monoclip.md +0 -64
- package/.claude/commands/monoes/monotask.md +0 -137
- package/.claude/commands/monograph/README.md +0 -102
- package/.claude/commands/monograph/monograph-build.md +0 -79
- package/.claude/commands/monograph/monograph-search.md +0 -96
- package/.claude/commands/monograph/monograph-stats.md +0 -53
- package/.claude/commands/monograph/monograph-watch.md +0 -63
- package/.claude/commands/monograph/monograph-wiki.md +0 -91
- package/.claude/commands/optimization/auto-topology.md +0 -85
- package/.claude/commands/optimization/performance-optimize.md +0 -79
- package/.claude/commands/pair/README.md +0 -79
- package/.claude/commands/pair/examples.md +0 -156
- package/.claude/commands/pair/modes.md +0 -122
- package/.claude/commands/pair/session.md +0 -124
- package/.claude/commands/sparc/analyzer.md +0 -35
- package/.claude/commands/sparc/architect.md +0 -36
- package/.claude/commands/sparc/ask.md +0 -56
- package/.claude/commands/sparc/batch-executor.md +0 -37
- package/.claude/commands/sparc/code.md +0 -48
- package/.claude/commands/sparc/coder.md +0 -37
- package/.claude/commands/sparc/debug.md +0 -42
- package/.claude/commands/sparc/debugger.md +0 -37
- package/.claude/commands/sparc/designer.md +0 -36
- package/.claude/commands/sparc/devops.md +0 -68
- package/.claude/commands/sparc/docs-writer.md +0 -39
- package/.claude/commands/sparc/documenter.md +0 -37
- package/.claude/commands/sparc/innovator.md +0 -37
- package/.claude/commands/sparc/integration.md +0 -42
- package/.claude/commands/sparc/mcp.md +0 -76
- package/.claude/commands/sparc/memory-manager.md +0 -57
- package/.claude/commands/sparc/optimizer.md +0 -37
- package/.claude/commands/sparc/orchestrator.md +0 -70
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +0 -42
- package/.claude/commands/sparc/refinement-optimization-mode.md +0 -42
- package/.claude/commands/sparc/researcher.md +0 -37
- package/.claude/commands/sparc/reviewer.md +0 -37
- package/.claude/commands/sparc/security-review.md +0 -39
- package/.claude/commands/sparc/sparc-modes.md +0 -120
- package/.claude/commands/sparc/sparc.md +0 -71
- package/.claude/commands/sparc/spec-pseudocode.md +0 -39
- package/.claude/commands/sparc/supabase-admin.md +0 -301
- package/.claude/commands/sparc/swarm-coordinator.md +0 -50
- package/.claude/commands/sparc/tdd.md +0 -37
- package/.claude/commands/sparc/tester.md +0 -37
- package/.claude/commands/sparc/tutorial.md +0 -38
- package/.claude/commands/sparc/workflow-manager.md +0 -37
- package/.claude/commands/sparc.md +0 -112
- package/.claude/commands/stream-chain/pipeline.md +0 -116
- package/.claude/commands/stream-chain/run.md +0 -156
- package/.claude/commands/swarm/README.md +0 -40
- package/.claude/commands/swarm/analysis.md +0 -73
- package/.claude/commands/swarm/development.md +0 -72
- package/.claude/commands/swarm/examples.md +0 -103
- package/.claude/commands/swarm/maintenance.md +0 -75
- package/.claude/commands/swarm/optimization.md +0 -84
- package/.claude/commands/swarm/research.md +0 -76
- package/.claude/commands/swarm/swarm.md +0 -79
- package/.claude/commands/swarm/testing.md +0 -80
- package/.claude/commands/tokens.md +0 -18
- package/.claude/commands/truth/start.md +0 -121
- package/.claude/commands/ts.md +0 -14
- package/.claude/commands/workflows/README.md +0 -65
- package/.claude/commands/workflows/development.md +0 -86
- package/.claude/commands/workflows/research.md +0 -89
- package/.claude/commands/workflows/workflow-create.md +0 -84
- package/.claude/commands/workflows/workflow-execute.md +0 -103
- package/.claude/commands/workflows/workflow-export.md +0 -90
- package/.claude/helpers/control-start.cjs +0 -184
- package/.claude/helpers/event-logger.cjs +0 -155
- package/.claude/helpers/extras-registry.json +0 -5141
- package/.claude/helpers/graphify-freshen.cjs +0 -140
- package/.claude/helpers/handlers/adr-draft-handler.cjs +0 -78
- package/.claude/helpers/handlers/agent-start-handler.cjs +0 -83
- package/.claude/helpers/handlers/budget-status-handler.cjs +0 -14
- package/.claude/helpers/handlers/capture-handler.cjs +0 -583
- package/.claude/helpers/handlers/compact-handler.cjs +0 -35
- package/.claude/helpers/handlers/edit-handler.cjs +0 -145
- package/.claude/helpers/handlers/gates-handler.cjs +0 -138
- package/.claude/helpers/handlers/graph-status-handler.cjs +0 -45
- package/.claude/helpers/handlers/loops-status-handler.cjs +0 -48
- package/.claude/helpers/handlers/route-handler.cjs +0 -381
- package/.claude/helpers/handlers/session-handler.cjs +0 -234
- package/.claude/helpers/handlers/session-restore-handler.cjs +0 -375
- package/.claude/helpers/handlers/stats-handler.cjs +0 -14
- package/.claude/helpers/handlers/task-handler.cjs +0 -206
- package/.claude/helpers/hook-handler.cjs +0 -765
- package/.claude/helpers/intelligence.cjs +0 -338
- package/.claude/helpers/learning-service.mjs +0 -61
- package/.claude/helpers/loop-tracker.cjs +0 -119
- package/.claude/helpers/mastermind-activate.cjs +0 -35
- package/.claude/helpers/memory-palace.cjs +0 -461
- package/.claude/helpers/memory.cjs +0 -193
- package/.claude/helpers/metrics-db.mjs +0 -87
- package/.claude/helpers/monolean-activate.cjs +0 -30
- package/.claude/helpers/monolean-config.cjs +0 -76
- package/.claude/helpers/monolean-instructions.cjs +0 -109
- package/.claude/helpers/monolean-propagate.cjs +0 -13
- package/.claude/helpers/monolean-tracker.cjs +0 -18
- package/.claude/helpers/router.cjs +0 -364
- package/.claude/helpers/session.cjs +0 -140
- package/.claude/helpers/skill-registry.json +0 -1043
- package/.claude/helpers/statusline.cjs +0 -1344
- package/.claude/helpers/toggle-statusline.cjs +0 -73
- package/.claude/helpers/token-tracker.cjs +0 -934
- package/.claude/helpers/utils/micro-agents.cjs +0 -354
- package/.claude/helpers/utils/monograph.cjs +0 -480
- package/.claude/helpers/utils/telemetry.cjs +0 -146
- package/.claude/mcp.json +0 -3
- package/.claude/scheduled_tasks.lock +0 -1
- package/.claude/settings.json +0 -475
- package/.claude/skills/.monomind/data/ranked-context.json +0 -5
- package/.claude/skills/.monomind/sessions/current.json +0 -13
- package/.claude/skills/.monomind/sessions/session-1777829336455.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777831614725.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777832095857.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777839814183.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777841847131.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777843309463.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777880867159.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777881884593.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777884090471.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777884808221.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777885672155.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777886852818.json +0 -15
- package/.claude/skills/.monomind/sessions/session-1777896532690.json +0 -15
- package/.claude/skills/agent-browser-testing/SKILL.md +0 -964
- package/.claude/skills/agentic-jujutsu/SKILL.md +0 -645
- package/.claude/skills/github-issue-triage/SKILL.md +0 -354
- package/.claude/skills/github-repo-recap/SKILL.md +0 -207
- package/.claude/skills/hive-mind-advanced/SKILL.md +0 -709
- package/.claude/skills/hooks-automation/SKILL.md +0 -1193
- package/.claude/skills/mastermind-skills/_agent-select.md +0 -132
- package/.claude/skills/mastermind-skills/_delegation.md +0 -83
- package/.claude/skills/mastermind-skills/_intake.md +0 -83
- package/.claude/skills/mastermind-skills/_protocol.md +0 -404
- package/.claude/skills/mastermind-skills/_repeat.md +0 -171
- package/.claude/skills/mastermind-skills/access.md +0 -236
- package/.claude/skills/mastermind-skills/activity.md +0 -191
- package/.claude/skills/mastermind-skills/adapter-manager.md +0 -259
- package/.claude/skills/mastermind-skills/adapters.md +0 -204
- package/.claude/skills/mastermind-skills/agent-detail.md +0 -242
- package/.claude/skills/mastermind-skills/agents.md +0 -178
- package/.claude/skills/mastermind-skills/approval-detail.md +0 -259
- package/.claude/skills/mastermind-skills/approve.md +0 -188
- package/.claude/skills/mastermind-skills/architect.md +0 -862
- package/.claude/skills/mastermind-skills/autodev.md +0 -360
- package/.claude/skills/mastermind-skills/backup.md +0 -197
- package/.claude/skills/mastermind-skills/bootstrap.md +0 -190
- package/.claude/skills/mastermind-skills/budgets.md +0 -237
- package/.claude/skills/mastermind-skills/build.md +0 -170
- package/.claude/skills/mastermind-skills/code-quality-reviewer-prompt.md +0 -60
- package/.claude/skills/mastermind-skills/companies.md +0 -256
- package/.claude/skills/mastermind-skills/content.md +0 -197
- package/.claude/skills/mastermind-skills/costs.md +0 -151
- package/.claude/skills/mastermind-skills/createorg.md +0 -862
- package/.claude/skills/mastermind-skills/debug.md +0 -232
- package/.claude/skills/mastermind-skills/design.md +0 -189
- package/.claude/skills/mastermind-skills/diagnose.md +0 -249
- package/.claude/skills/mastermind-skills/env.md +0 -198
- package/.claude/skills/mastermind-skills/environments.md +0 -250
- package/.claude/skills/mastermind-skills/execute.md +0 -104
- package/.claude/skills/mastermind-skills/export.md +0 -333
- package/.claude/skills/mastermind-skills/finance.md +0 -166
- package/.claude/skills/mastermind-skills/finish.md +0 -251
- package/.claude/skills/mastermind-skills/goal-detail.md +0 -255
- package/.claude/skills/mastermind-skills/goals.md +0 -149
- package/.claude/skills/mastermind-skills/heartbeat.md +0 -164
- package/.claude/skills/mastermind-skills/idea.md +0 -1142
- package/.claude/skills/mastermind-skills/implementer-prompt.md +0 -109
- package/.claude/skills/mastermind-skills/import.md +0 -281
- package/.claude/skills/mastermind-skills/inbox.md +0 -214
- package/.claude/skills/mastermind-skills/instance-settings.md +0 -315
- package/.claude/skills/mastermind-skills/instance.md +0 -233
- package/.claude/skills/mastermind-skills/invite-landing.md +0 -227
- package/.claude/skills/mastermind-skills/invites.md +0 -254
- package/.claude/skills/mastermind-skills/issue-detail.md +0 -291
- package/.claude/skills/mastermind-skills/issues.md +0 -235
- package/.claude/skills/mastermind-skills/join-queue.md +0 -170
- package/.claude/skills/mastermind-skills/liveness.md +0 -392
- package/.claude/skills/mastermind-skills/marketing.md +0 -228
- package/.claude/skills/mastermind-skills/memory.md +0 -321
- package/.claude/skills/mastermind-skills/monitor.md +0 -1284
- package/.claude/skills/mastermind-skills/monotask.md +0 -350
- package/.claude/skills/mastermind-skills/my-issues.md +0 -146
- package/.claude/skills/mastermind-skills/new-agent.md +0 -241
- package/.claude/skills/mastermind-skills/ops.md +0 -168
- package/.claude/skills/mastermind-skills/org-chart.md +0 -209
- package/.claude/skills/mastermind-skills/org-settings.md +0 -254
- package/.claude/skills/mastermind-skills/orgs.md +0 -98
- package/.claude/skills/mastermind-skills/orgstatus.md +0 -194
- package/.claude/skills/mastermind-skills/plan-to-tasks.md +0 -136
- package/.claude/skills/mastermind-skills/plan.md +0 -198
- package/.claude/skills/mastermind-skills/plugin-manager.md +0 -241
- package/.claude/skills/mastermind-skills/plugin-settings.md +0 -273
- package/.claude/skills/mastermind-skills/plugins.md +0 -190
- package/.claude/skills/mastermind-skills/profile.md +0 -187
- package/.claude/skills/mastermind-skills/project-detail.md +0 -249
- package/.claude/skills/mastermind-skills/project-workspace.md +0 -244
- package/.claude/skills/mastermind-skills/projects.md +0 -164
- package/.claude/skills/mastermind-skills/receive-review.md +0 -213
- package/.claude/skills/mastermind-skills/references/copywriting-frameworks.md +0 -181
- package/.claude/skills/mastermind-skills/references/persuasion-psychology.md +0 -158
- package/.claude/skills/mastermind-skills/release.md +0 -168
- package/.claude/skills/mastermind-skills/research.md +0 -168
- package/.claude/skills/mastermind-skills/review.md +0 -233
- package/.claude/skills/mastermind-skills/routine-detail.md +0 -253
- package/.claude/skills/mastermind-skills/routines.md +0 -203
- package/.claude/skills/mastermind-skills/runorg.md +0 -714
- package/.claude/skills/mastermind-skills/sales.md +0 -170
- package/.claude/skills/mastermind-skills/search.md +0 -186
- package/.claude/skills/mastermind-skills/secrets.md +0 -199
- package/.claude/skills/mastermind-skills/skill-builder.md +0 -274
- package/.claude/skills/mastermind-skills/skills.md +0 -156
- package/.claude/skills/mastermind-skills/spec-reviewer-prompt.md +0 -63
- package/.claude/skills/mastermind-skills/stoporg.md +0 -138
- package/.claude/skills/mastermind-skills/taskdev.md +0 -307
- package/.claude/skills/mastermind-skills/tasks.md +0 -149
- package/.claude/skills/mastermind-skills/tdd.md +0 -394
- package/.claude/skills/mastermind-skills/techport.md +0 -777
- package/.claude/skills/mastermind-skills/threads.md +0 -259
- package/.claude/skills/mastermind-skills/tree-control.md +0 -250
- package/.claude/skills/mastermind-skills/verify.md +0 -196
- package/.claude/skills/mastermind-skills/wiki.md +0 -314
- package/.claude/skills/mastermind-skills/workspace-detail.md +0 -317
- package/.claude/skills/mastermind-skills/workspaces.md +0 -261
- package/.claude/skills/mastermind-skills/worktree.md +0 -215
- package/.claude/skills/monodesign/SKILL.md +0 -333
- package/.claude/skills/monodesign/adapt.md +0 -53
- package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +0 -100
- package/.claude/skills/monodesign/animate.md +0 -65
- package/.claude/skills/monodesign/audit.md +0 -89
- package/.claude/skills/monodesign/bolder.md +0 -50
- package/.claude/skills/monodesign/clarify.md +0 -64
- package/.claude/skills/monodesign/colorize.md +0 -68
- package/.claude/skills/monodesign/craft.md +0 -51
- package/.claude/skills/monodesign/critique.md +0 -66
- package/.claude/skills/monodesign/delight.md +0 -47
- package/.claude/skills/monodesign/distill.md +0 -56
- package/.claude/skills/monodesign/document.md +0 -83
- package/.claude/skills/monodesign/extract.md +0 -74
- package/.claude/skills/monodesign/harden.md +0 -65
- package/.claude/skills/monodesign/live.md +0 -59
- package/.claude/skills/monodesign/onboard.md +0 -50
- package/.claude/skills/monodesign/optimize.md +0 -64
- package/.claude/skills/monodesign/overdrive.md +0 -56
- package/.claude/skills/monodesign/polish.md +0 -68
- package/.claude/skills/monodesign/quieter.md +0 -57
- package/.claude/skills/monodesign/reference/adapt.md +0 -190
- package/.claude/skills/monodesign/reference/animate.md +0 -175
- package/.claude/skills/monodesign/reference/antipatterns-catalog.md +0 -359
- package/.claude/skills/monodesign/reference/audit.md +0 -133
- package/.claude/skills/monodesign/reference/bolder.md +0 -113
- package/.claude/skills/monodesign/reference/brand-workflow.md +0 -180
- package/.claude/skills/monodesign/reference/brand.md +0 -114
- package/.claude/skills/monodesign/reference/clarify.md +0 -174
- package/.claude/skills/monodesign/reference/codex.md +0 -107
- package/.claude/skills/monodesign/reference/cognitive-load.md +0 -106
- package/.claude/skills/monodesign/reference/color-and-contrast.md +0 -105
- package/.claude/skills/monodesign/reference/colorize.md +0 -154
- package/.claude/skills/monodesign/reference/component-specs.md +0 -260
- package/.claude/skills/monodesign/reference/component-states.md +0 -274
- package/.claude/skills/monodesign/reference/component-system.md +0 -358
- package/.claude/skills/monodesign/reference/copy-formulas.md +0 -160
- package/.claude/skills/monodesign/reference/craft.md +0 -196
- package/.claude/skills/monodesign/reference/critique.md +0 -213
- package/.claude/skills/monodesign/reference/delight.md +0 -302
- package/.claude/skills/monodesign/reference/design-principles.md +0 -246
- package/.claude/skills/monodesign/reference/distill.md +0 -111
- package/.claude/skills/monodesign/reference/document.md +0 -427
- package/.claude/skills/monodesign/reference/extract.md +0 -69
- package/.claude/skills/monodesign/reference/harden.md +0 -347
- package/.claude/skills/monodesign/reference/heuristics-scoring.md +0 -234
- package/.claude/skills/monodesign/reference/hooks.md +0 -99
- package/.claude/skills/monodesign/reference/image-prompts.md +0 -130
- package/.claude/skills/monodesign/reference/interaction-design.md +0 -195
- package/.claude/skills/monodesign/reference/layout.md +0 -141
- package/.claude/skills/monodesign/reference/live.md +0 -622
- package/.claude/skills/monodesign/reference/motion-design.md +0 -109
- package/.claude/skills/monodesign/reference/onboard.md +0 -234
- package/.claude/skills/monodesign/reference/optimize.md +0 -258
- package/.claude/skills/monodesign/reference/overdrive.md +0 -130
- package/.claude/skills/monodesign/reference/personas.md +0 -179
- package/.claude/skills/monodesign/reference/polish.md +0 -233
- package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +0 -108
- package/.claude/skills/monodesign/reference/product.md +0 -62
- package/.claude/skills/monodesign/reference/quieter.md +0 -99
- package/.claude/skills/monodesign/reference/responsive-design.md +0 -114
- package/.claude/skills/monodesign/reference/shape.md +0 -151
- package/.claude/skills/monodesign/reference/spatial-design.md +0 -100
- package/.claude/skills/monodesign/reference/teach.md +0 -156
- package/.claude/skills/monodesign/reference/token-architecture.md +0 -222
- package/.claude/skills/monodesign/reference/typeset.md +0 -124
- package/.claude/skills/monodesign/reference/typography.md +0 -159
- package/.claude/skills/monodesign/reference/ux-research.md +0 -143
- package/.claude/skills/monodesign/reference/ux-rules.md +0 -211
- package/.claude/skills/monodesign/reference/ux-writing.md +0 -107
- package/.claude/skills/monodesign/shape.md +0 -71
- package/.claude/skills/monodesign/teach.md +0 -69
- package/.claude/skills/monodesign/typeset.md +0 -59
- package/.claude/skills/monolean/SKILL.md +0 -118
- package/.claude/skills/monolean-audit/SKILL.md +0 -41
- package/.claude/skills/monolean-debt/SKILL.md +0 -46
- package/.claude/skills/monolean-help/SKILL.md +0 -60
- package/.claude/skills/monolean-review/SKILL.md +0 -57
- package/.claude/skills/monomind/.monomind/registry.json +0 -6
- package/.claude/skills/monomind/browse-agentcore.md +0 -115
- package/.claude/skills/monomind/browse-electron.md +0 -188
- package/.claude/skills/monomind/browse-qa.md +0 -228
- package/.claude/skills/monomind/browse-references/authentication.md +0 -161
- package/.claude/skills/monomind/browse-references/trust-boundaries.md +0 -40
- package/.claude/skills/monomind/browse-references/video-recording.md +0 -83
- package/.claude/skills/monomind/browse-slack.md +0 -188
- package/.claude/skills/monomind/browse-vercel.md +0 -239
- package/.claude/skills/monomind/browse.md +0 -724
- package/.claude/skills/monomotion/SKILL.md +0 -145
- package/.claude/skills/monomotion/rules/api-control.md +0 -139
- package/.claude/skills/monomotion/rules/effects.md +0 -109
- package/.claude/skills/monomotion/rules/integration.md +0 -140
- package/.claude/skills/monomotion/rules/scroll.md +0 -131
- package/.claude/skills/monomotion/rules/sequencing.md +0 -105
- package/.claude/skills/monomotion/rules/svg.md +0 -101
- package/.claude/skills/monomotion/rules/text.md +0 -119
- package/.claude/skills/pair-programming/SKILL.md +0 -1202
- package/.claude/skills/performance-analysis/SKILL.md +0 -560
- package/.claude/skills/skill-builder/SKILL.md +0 -910
- package/.claude/skills/sparc-methodology/SKILL.md +0 -950
- package/.claude/skills/specialagent/SKILL.md +0 -208
- package/.claude/skills/stop-slop/SKILL.md +0 -67
- package/.claude/skills/stop-slop/references/examples.md +0 -61
- package/.claude/skills/stop-slop/references/phrases.md +0 -130
- package/.claude/skills/stop-slop/references/structures.md +0 -136
- package/.claude/skills/swarm-advanced/SKILL.md +0 -937
- package/.claude/skills/swarm-orchestration/SKILL.md +0 -179
- package/.claude/skills/verification-quality/SKILL.md +0 -674
- package/.claude/workflows/feature-dev.yaml +0 -18
- package/.claude/workflows/security-audit.yaml +0 -10
- package/packages/@monomind/cli/.claude/agents/generated/case-analyst.md +0 -50
- package/packages/@monomind/cli/.claude/agents/generated/channel-intelligence-director.md +0 -87
- package/packages/@monomind/cli/.claude/agents/generated/chief-growth-officer.md +0 -88
- package/packages/@monomind/cli/.claude/agents/generated/churn-analyst.md +0 -53
- package/packages/@monomind/cli/.claude/agents/generated/code-reviewer.md +0 -55
- package/packages/@monomind/cli/.claude/agents/generated/code-validator.md +0 -57
- package/packages/@monomind/cli/.claude/agents/generated/complexity-scanner.md +0 -56
- package/packages/@monomind/cli/.claude/agents/generated/content-seo-strategist.md +0 -90
- package/packages/@monomind/cli/.claude/agents/generated/copy-editor.md +0 -45
- package/packages/@monomind/cli/.claude/agents/generated/court-reporter.md +0 -50
- package/packages/@monomind/cli/.claude/agents/generated/defender.md +0 -51
- package/packages/@monomind/cli/.claude/agents/generated/devbot-orchestrator.md +0 -58
- package/packages/@monomind/cli/.claude/agents/generated/devbot-planner.md +0 -63
- package/packages/@monomind/cli/.claude/agents/generated/developer-community-strategist.md +0 -91
- package/packages/@monomind/cli/.claude/agents/generated/editor-in-chief.md +0 -45
- package/packages/@monomind/cli/.claude/agents/generated/fact-checker.md +0 -45
- package/packages/@monomind/cli/.claude/agents/generated/impact-assessor.md +0 -54
- package/packages/@monomind/cli/.claude/agents/generated/judge.md +0 -51
- package/packages/@monomind/cli/.claude/agents/generated/outreach-partnership-strategist.md +0 -90
- package/packages/@monomind/cli/.claude/agents/generated/prosecutor.md +0 -51
- package/packages/@monomind/cli/.claude/agents/generated/reporter.md +0 -45
- package/packages/@monomind/cli/.claude/agents/generated/social-media-strategist.md +0 -91
- package/packages/@monomind/cli/.claude/agents/generated/video-visual-strategist.md +0 -90
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/boss.md +0 -113
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/critic-architect.md +0 -132
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/git-manager.md +0 -145
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/idea-generator.md +0 -95
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/implementer.md +0 -112
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/integration-planner.md +0 -112
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/source-analyst.md +0 -103
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/target-analyst.md +0 -118
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/tester.md +0 -105
- package/packages/@monomind/cli/.claude/agents/sparc/architecture.md +0 -453
- package/packages/@monomind/cli/.claude/agents/sparc/pseudocode.md +0 -299
- package/packages/@monomind/cli/.claude/agents/sparc/refinement.md +0 -504
- package/packages/@monomind/cli/.claude/agents/sparc/specification.md +0 -258
- package/packages/@monomind/cli/.claude/agents/templates/implementer-sparc-coder.md +0 -231
- package/packages/@monomind/cli/.claude/commands/sparc/analyzer.md +0 -35
- package/packages/@monomind/cli/.claude/commands/sparc/architect.md +0 -36
- package/packages/@monomind/cli/.claude/commands/sparc/ask.md +0 -56
- package/packages/@monomind/cli/.claude/commands/sparc/batch-executor.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/code.md +0 -48
- package/packages/@monomind/cli/.claude/commands/sparc/coder.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/debug.md +0 -42
- package/packages/@monomind/cli/.claude/commands/sparc/debugger.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/designer.md +0 -36
- package/packages/@monomind/cli/.claude/commands/sparc/devops.md +0 -68
- package/packages/@monomind/cli/.claude/commands/sparc/docs-writer.md +0 -39
- package/packages/@monomind/cli/.claude/commands/sparc/documenter.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/innovator.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/integration.md +0 -42
- package/packages/@monomind/cli/.claude/commands/sparc/mcp.md +0 -76
- package/packages/@monomind/cli/.claude/commands/sparc/memory-manager.md +0 -57
- package/packages/@monomind/cli/.claude/commands/sparc/optimizer.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/orchestrator.md +0 -70
- package/packages/@monomind/cli/.claude/commands/sparc/post-deployment-monitoring-mode.md +0 -42
- package/packages/@monomind/cli/.claude/commands/sparc/refinement-optimization-mode.md +0 -42
- package/packages/@monomind/cli/.claude/commands/sparc/researcher.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/reviewer.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/security-review.md +0 -39
- package/packages/@monomind/cli/.claude/commands/sparc/sparc-modes.md +0 -120
- package/packages/@monomind/cli/.claude/commands/sparc/sparc.md +0 -71
- package/packages/@monomind/cli/.claude/commands/sparc/spec-pseudocode.md +0 -39
- package/packages/@monomind/cli/.claude/commands/sparc/supabase-admin.md +0 -301
- package/packages/@monomind/cli/.claude/commands/sparc/swarm-coordinator.md +0 -50
- package/packages/@monomind/cli/.claude/commands/sparc/tdd.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/tester.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc/tutorial.md +0 -38
- package/packages/@monomind/cli/.claude/commands/sparc/workflow-manager.md +0 -37
- package/packages/@monomind/cli/.claude/commands/sparc.md +0 -112
- package/packages/@monomind/cli/.claude/skills/sparc-methodology/SKILL.md +0 -950
- package/packages/@monomind/cli/dist/src/capabilities/enrichment.d.ts +0 -44
- package/packages/@monomind/cli/dist/src/capabilities/enrichment.js +0 -141
- package/packages/@monomind/cli/dist/src/commands/analyze-boundaries.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/commands/analyze-boundaries.js +0 -295
- package/packages/@monomind/cli/dist/src/commands/analyze-graph.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/commands/analyze-graph.js +0 -304
- package/packages/@monomind/cli/dist/src/commands/claims.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/claims.js +0 -650
- package/packages/@monomind/cli/dist/src/commands/daemon.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/daemon.js +0 -681
- package/packages/@monomind/cli/dist/src/commands/enrich.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/enrich.js +0 -58
- package/packages/@monomind/cli/dist/src/commands/issues.d.ts +0 -21
- package/packages/@monomind/cli/dist/src/commands/issues.js +0 -575
- package/packages/@monomind/cli/dist/src/commands/workflow.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/workflow.js +0 -575
- package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +0 -717
- package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +0 -198
- package/packages/@monomind/cli/dist/src/services/claim-service.js +0 -890
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +0 -311
- package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +0 -1183
- package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +0 -230
- package/packages/@monomind/cli/dist/src/services/worker-daemon.js +0 -1350
- package/packages/@monomind/cli/dist/src/ui/.monomind/capture/active-run.json +0 -1
- package/packages/@monomind/guidance/README.md +0 -87
- package/packages/@monomind/guidance/dist/adversarial.d.ts +0 -284
- package/packages/@monomind/guidance/dist/adversarial.js +0 -572
- package/packages/@monomind/guidance/dist/analyzer.d.ts +0 -530
- package/packages/@monomind/guidance/dist/analyzer.js +0 -2518
- package/packages/@monomind/guidance/dist/artifacts.d.ts +0 -283
- package/packages/@monomind/guidance/dist/artifacts.js +0 -356
- package/packages/@monomind/guidance/dist/authority.d.ts +0 -290
- package/packages/@monomind/guidance/dist/authority.js +0 -558
- package/packages/@monomind/guidance/dist/capabilities.d.ts +0 -209
- package/packages/@monomind/guidance/dist/capabilities.js +0 -485
- package/packages/@monomind/guidance/dist/coherence.d.ts +0 -233
- package/packages/@monomind/guidance/dist/coherence.js +0 -378
- package/packages/@monomind/guidance/dist/compiler.d.ts +0 -87
- package/packages/@monomind/guidance/dist/compiler.js +0 -425
- package/packages/@monomind/guidance/dist/conformance-kit.d.ts +0 -225
- package/packages/@monomind/guidance/dist/conformance-kit.js +0 -629
- package/packages/@monomind/guidance/dist/continue-gate.d.ts +0 -214
- package/packages/@monomind/guidance/dist/continue-gate.js +0 -353
- package/packages/@monomind/guidance/dist/crypto-utils.d.ts +0 -17
- package/packages/@monomind/guidance/dist/crypto-utils.js +0 -24
- package/packages/@monomind/guidance/dist/evolution.d.ts +0 -282
- package/packages/@monomind/guidance/dist/evolution.js +0 -500
- package/packages/@monomind/guidance/dist/gates.d.ts +0 -79
- package/packages/@monomind/guidance/dist/gates.js +0 -302
- package/packages/@monomind/guidance/dist/gateway.d.ts +0 -206
- package/packages/@monomind/guidance/dist/gateway.js +0 -452
- package/packages/@monomind/guidance/dist/generators.d.ts +0 -153
- package/packages/@monomind/guidance/dist/generators.js +0 -682
- package/packages/@monomind/guidance/dist/headless.d.ts +0 -177
- package/packages/@monomind/guidance/dist/headless.js +0 -342
- package/packages/@monomind/guidance/dist/hooks.d.ts +0 -109
- package/packages/@monomind/guidance/dist/hooks.js +0 -347
- package/packages/@monomind/guidance/dist/index.d.ts +0 -203
- package/packages/@monomind/guidance/dist/index.js +0 -320
- package/packages/@monomind/guidance/dist/ledger.d.ts +0 -162
- package/packages/@monomind/guidance/dist/ledger.js +0 -375
- package/packages/@monomind/guidance/dist/manifest-validator.d.ts +0 -289
- package/packages/@monomind/guidance/dist/manifest-validator.js +0 -838
- package/packages/@monomind/guidance/dist/memory-gate.d.ts +0 -222
- package/packages/@monomind/guidance/dist/memory-gate.js +0 -382
- package/packages/@monomind/guidance/dist/meta-governance.d.ts +0 -265
- package/packages/@monomind/guidance/dist/meta-governance.js +0 -348
- package/packages/@monomind/guidance/dist/optimizer.d.ts +0 -104
- package/packages/@monomind/guidance/dist/optimizer.js +0 -329
- package/packages/@monomind/guidance/dist/persistence.d.ts +0 -189
- package/packages/@monomind/guidance/dist/persistence.js +0 -464
- package/packages/@monomind/guidance/dist/proof.d.ts +0 -185
- package/packages/@monomind/guidance/dist/proof.js +0 -238
- package/packages/@monomind/guidance/dist/retriever.d.ts +0 -116
- package/packages/@monomind/guidance/dist/retriever.js +0 -394
- package/packages/@monomind/guidance/dist/ruvbot-integration.d.ts +0 -370
- package/packages/@monomind/guidance/dist/ruvbot-integration.js +0 -738
- package/packages/@monomind/guidance/dist/temporal.d.ts +0 -428
- package/packages/@monomind/guidance/dist/temporal.js +0 -660
- package/packages/@monomind/guidance/dist/trust.d.ts +0 -283
- package/packages/@monomind/guidance/dist/trust.js +0 -474
- package/packages/@monomind/guidance/dist/truth-anchors.d.ts +0 -276
- package/packages/@monomind/guidance/dist/truth-anchors.js +0 -488
- package/packages/@monomind/guidance/dist/types.d.ts +0 -378
- package/packages/@monomind/guidance/dist/types.js +0 -10
- package/packages/@monomind/guidance/dist/uncertainty.d.ts +0 -372
- package/packages/@monomind/guidance/dist/uncertainty.js +0 -619
- package/packages/@monomind/guidance/dist/wasm-kernel.d.ts +0 -48
- package/packages/@monomind/guidance/dist/wasm-kernel.js +0 -158
- package/packages/@monomind/guidance/package.json +0 -119
|
@@ -1,204 +1,112 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Pattern Store MCP Tools
|
|
2
|
+
* Pattern Store MCP Tools — "neural" namespace (legacy name, kept for API compat)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* These tools embed text as vectors and search by cosine similarity.
|
|
5
|
+
* No ML training, gradient descent, or neural network inference occurs.
|
|
6
|
+
* The "train" tool embeds and stores; the "predict" tool finds similar stored
|
|
7
|
+
* patterns. Embeddings come from the shared memory/embedding-operations.ts
|
|
8
|
+
* pipeline (LanceDB bridge -> ONNX -> deterministic hash fallback).
|
|
9
|
+
*
|
|
10
|
+
* All pattern storage is delegated to intelligence.ts's LocalReasoningBank
|
|
11
|
+
* (single source of truth for patterns.json). No separate models.json store.
|
|
7
12
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
: false;
|
|
26
|
-
if (probe && probe.length > 0 && hasNonZero) {
|
|
27
|
-
realEmbeddings = { embed: async (text) => Array.from(await onnxEmb.embed(text)) };
|
|
28
|
-
embeddingServiceName = 'monovector/onnx';
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
// No ONNX embedding provider available, will use hash fallback
|
|
35
|
-
}
|
|
36
|
-
// Storage paths
|
|
37
|
-
const STORAGE_DIR = '.monomind';
|
|
38
|
-
const NEURAL_DIR = 'neural';
|
|
39
|
-
const MODELS_FILE = 'models.json';
|
|
40
|
-
const PATTERNS_FILE = 'patterns.json';
|
|
41
|
-
function getNeuralDir() {
|
|
42
|
-
return join(getProjectCwd(), STORAGE_DIR, NEURAL_DIR);
|
|
43
|
-
}
|
|
44
|
-
function getNeuralPath() {
|
|
45
|
-
return join(getNeuralDir(), MODELS_FILE);
|
|
46
|
-
}
|
|
47
|
-
function ensureNeuralDir() {
|
|
48
|
-
const dir = getNeuralDir();
|
|
49
|
-
if (!existsSync(dir)) {
|
|
50
|
-
mkdirSync(dir, { recursive: true });
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function loadNeuralStore() {
|
|
13
|
+
const RESERVED_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
|
|
14
|
+
const MAX_MODEL_ID_LEN = 256;
|
|
15
|
+
const MAX_PATTERNS = 10000;
|
|
16
|
+
const MAX_TRAINING_ENTRIES = 1000;
|
|
17
|
+
const MAX_TEXT_LENGTH = 64 * 1024;
|
|
18
|
+
const MAX_SEARCH_QUERY_LENGTH = 16 * 1024;
|
|
19
|
+
// Embeddings: delegate to the shared embedding pipeline (LanceDB bridge -> ONNX ->
|
|
20
|
+
// deterministic hash fallback) in memory/embedding-operations.ts.
|
|
21
|
+
let lastEmbeddingModel = 'unknown';
|
|
22
|
+
/**
|
|
23
|
+
* Generate embedding via the shared pipeline (LanceDB bridge -> ONNX -> deterministic
|
|
24
|
+
* hash), same one used by CLI `neural` commands and memory search. Falls back to a
|
|
25
|
+
* local deterministic hash only if the shared module fails to load entirely.
|
|
26
|
+
*/
|
|
27
|
+
async function generateEmbedding(text, dims = 384) {
|
|
28
|
+
if (!text)
|
|
29
|
+
return new Array(dims).fill(0);
|
|
54
30
|
try {
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
const raw = JSON.parse(readFileSync(path, 'utf-8'));
|
|
61
|
-
// Strip proto-polluting keys from top-level containers
|
|
62
|
-
const models = {};
|
|
63
|
-
for (const [k, v] of Object.entries(raw.models ?? {})) {
|
|
64
|
-
if (!NEURAL_RESERVED_KEYS.has(k))
|
|
65
|
-
models[k] = v;
|
|
66
|
-
}
|
|
67
|
-
const patterns = {};
|
|
68
|
-
for (const [k, v] of Object.entries(raw.patterns ?? {})) {
|
|
69
|
-
if (!NEURAL_RESERVED_KEYS.has(k))
|
|
70
|
-
patterns[k] = v;
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
models: models,
|
|
74
|
-
patterns: patterns,
|
|
75
|
-
version: typeof raw.version === 'string' ? raw.version : '3.0.0',
|
|
76
|
-
};
|
|
77
|
-
}
|
|
31
|
+
const { generateEmbedding: sharedGenerateEmbedding } = await import('../memory/embedding-operations.js');
|
|
32
|
+
const result = await sharedGenerateEmbedding(text);
|
|
33
|
+
lastEmbeddingModel = result.model;
|
|
34
|
+
return result.embedding;
|
|
78
35
|
}
|
|
79
36
|
catch {
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
function saveNeuralStore(store) {
|
|
85
|
-
ensureNeuralDir();
|
|
86
|
-
const dest = getNeuralPath();
|
|
87
|
-
const tmp = `${dest}.${process.pid}.${Date.now()}.tmp`;
|
|
88
|
-
writeFileSync(tmp, JSON.stringify(store, null, 2), 'utf-8');
|
|
89
|
-
renameSync(tmp, dest);
|
|
90
|
-
}
|
|
91
|
-
// Generate embedding - uses real ML embeddings if available, falls back to deterministic hash
|
|
92
|
-
async function generateEmbedding(text, dims = 384) {
|
|
93
|
-
// If real embeddings available and text provided, use them
|
|
94
|
-
if (realEmbeddings && text) {
|
|
95
|
-
try {
|
|
96
|
-
return await realEmbeddings.embed(text);
|
|
97
|
-
}
|
|
98
|
-
catch {
|
|
99
|
-
// Fall back to hash-based
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// Hash-based deterministic embedding (better than pure random for consistency)
|
|
103
|
-
if (text) {
|
|
104
|
-
const hash = text.split('').reduce((acc, char, i) => {
|
|
105
|
-
return acc + char.charCodeAt(0) * (i + 1);
|
|
106
|
-
}, 0);
|
|
107
|
-
// Use hash to seed a deterministic embedding
|
|
37
|
+
// memory/embedding-operations.js unavailable — deterministic hash fallback
|
|
38
|
+
lastEmbeddingModel = 'hash-fallback';
|
|
39
|
+
const hash = text.split('').reduce((acc, char, i) => acc + char.charCodeAt(0) * (i + 1), 0);
|
|
108
40
|
const embedding = [];
|
|
109
41
|
let seed = hash;
|
|
110
42
|
for (let i = 0; i < dims; i++) {
|
|
111
|
-
// Simple LCG random with seed
|
|
112
43
|
seed = (seed * 1103515245 + 12345) & 0x7fffffff;
|
|
113
44
|
embedding.push((seed / 0x7fffffff) * 2 - 1);
|
|
114
45
|
}
|
|
115
46
|
return embedding;
|
|
116
47
|
}
|
|
117
|
-
// No text provided — return zero vector (callers should always provide text)
|
|
118
|
-
return new Array(dims).fill(0);
|
|
119
48
|
}
|
|
120
|
-
|
|
121
|
-
function
|
|
122
|
-
if (
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
for (let i = 0; i < a.length; i++) {
|
|
129
|
-
dotProduct += a[i] * b[i];
|
|
130
|
-
normA += a[i] * a[i];
|
|
131
|
-
normB += b[i] * b[i];
|
|
132
|
-
}
|
|
133
|
-
return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB) || 1);
|
|
49
|
+
/** Truncate and validate a modelId string */
|
|
50
|
+
function sanitizeModelId(raw) {
|
|
51
|
+
if (typeof raw !== 'string')
|
|
52
|
+
return null;
|
|
53
|
+
const id = raw.length > MAX_MODEL_ID_LEN ? raw.slice(0, MAX_MODEL_ID_LEN) : raw;
|
|
54
|
+
if (RESERVED_KEYS.has(id))
|
|
55
|
+
return null;
|
|
56
|
+
return id;
|
|
134
57
|
}
|
|
135
58
|
export const neuralTools = [
|
|
136
59
|
{
|
|
137
60
|
name: 'neural_train',
|
|
138
|
-
description: 'Embed and store patterns for similarity search',
|
|
61
|
+
description: 'Embed text as vectors and store as named patterns for later similarity search (no ML training occurs)',
|
|
139
62
|
category: 'neural',
|
|
140
63
|
inputSchema: {
|
|
141
64
|
type: 'object',
|
|
142
65
|
properties: {
|
|
143
66
|
modelId: { type: 'string', description: 'Store ID (groups related patterns)' },
|
|
144
67
|
modelType: { type: 'string', enum: ['pattern', 'embedding'], description: 'Store type' },
|
|
145
|
-
epochs: { type: 'number', description: '
|
|
146
|
-
learningRate: { type: 'number', description: '
|
|
68
|
+
epochs: { type: 'number', description: 'Deprecated — ignored. Patterns are embedded and stored, not trained.' },
|
|
69
|
+
learningRate: { type: 'number', description: 'Deprecated — ignored. No gradient-based training occurs.' },
|
|
147
70
|
data: { type: 'object', description: 'Data to embed and store (array of strings or {text/content/label} objects)' },
|
|
148
71
|
},
|
|
149
72
|
required: ['modelType'],
|
|
150
73
|
},
|
|
151
74
|
handler: async (input) => {
|
|
152
|
-
const store = loadNeuralStore();
|
|
153
|
-
// Cap modelId to prevent DoS via oversized object keys written to the neural store JSON.
|
|
154
|
-
const MAX_MODEL_ID_LEN = 256;
|
|
155
75
|
const rawModelId = input.modelId || `model-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
|
|
156
|
-
const modelId =
|
|
157
|
-
|
|
158
|
-
: rawModelId;
|
|
159
|
-
const RESERVED_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
|
|
160
|
-
if (RESERVED_KEYS.has(modelId)) {
|
|
76
|
+
const modelId = sanitizeModelId(rawModelId);
|
|
77
|
+
if (modelId === null) {
|
|
161
78
|
return { success: false, error: 'Invalid modelId' };
|
|
162
79
|
}
|
|
163
|
-
const MAX_PATTERNS = 10000;
|
|
164
|
-
if (Object.keys(store.patterns ?? {}).length >= MAX_PATTERNS) {
|
|
165
|
-
return { success: false, error: `Pattern store full (max ${MAX_PATTERNS}). Run neural_compress first.` };
|
|
166
|
-
}
|
|
167
|
-
const MAX_MODELS = 100;
|
|
168
|
-
if (Object.keys(store.models ?? {}).length >= MAX_MODELS) {
|
|
169
|
-
return { success: false, error: `Model store full (max ${MAX_MODELS}). Delete old models first.` };
|
|
170
|
-
}
|
|
171
80
|
const VALID_MODEL_TYPES = new Set(['pattern', 'embedding']);
|
|
172
81
|
const rawModelType = input.modelType;
|
|
173
82
|
if (!rawModelType || !VALID_MODEL_TYPES.has(rawModelType)) {
|
|
174
83
|
return { success: false, error: `Invalid modelType "${rawModelType}". Must be one of: pattern, embedding` };
|
|
175
84
|
}
|
|
176
85
|
const modelType = rawModelType;
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
// MAX_PATTERNS by passing a 100k-entry array.
|
|
193
|
-
const MAX_TRAINING_ENTRIES = 1000;
|
|
194
|
-
const MAX_TEXT_LENGTH = 64 * 1024;
|
|
86
|
+
// Initialize intelligence system (single source of truth)
|
|
87
|
+
const { initializeIntelligence, getReasoningBank, getAllPatterns, flushPatterns } = await import('../memory/intelligence.js');
|
|
88
|
+
const init = await initializeIntelligence();
|
|
89
|
+
if (!init.success) {
|
|
90
|
+
return { success: false, error: 'Failed to initialize intelligence system' };
|
|
91
|
+
}
|
|
92
|
+
const bank = getReasoningBank();
|
|
93
|
+
if (!bank) {
|
|
94
|
+
return { success: false, error: 'ReasoningBank not available' };
|
|
95
|
+
}
|
|
96
|
+
// Check pattern capacity
|
|
97
|
+
const existingPatterns = await getAllPatterns();
|
|
98
|
+
if (existingPatterns.length >= MAX_PATTERNS) {
|
|
99
|
+
return { success: false, error: `Pattern store full (max ${MAX_PATTERNS}). Run neural_compress first.` };
|
|
100
|
+
}
|
|
195
101
|
const trainingData = input.data;
|
|
196
102
|
let patternsStored = 0;
|
|
197
103
|
if (trainingData) {
|
|
198
104
|
const rawEntries = Array.isArray(trainingData) ? trainingData : [trainingData];
|
|
199
105
|
const entries = rawEntries.slice(0, MAX_TRAINING_ENTRIES);
|
|
200
106
|
for (let i = 0; i < entries.length; i++) {
|
|
201
|
-
|
|
107
|
+
// Re-check capacity inside loop to prevent bypass via large arrays
|
|
108
|
+
const currentPatterns = await getAllPatterns();
|
|
109
|
+
if (currentPatterns.length >= MAX_PATTERNS)
|
|
202
110
|
break;
|
|
203
111
|
const entry = entries[i];
|
|
204
112
|
let text = typeof entry === 'string' ? entry
|
|
@@ -212,74 +120,37 @@ export const neuralTools = [
|
|
|
212
120
|
text = text.slice(0, MAX_TEXT_LENGTH);
|
|
213
121
|
const embedding = await generateEmbedding(text, 384);
|
|
214
122
|
const patternId = `${modelId}-train-${i}`;
|
|
215
|
-
store
|
|
123
|
+
bank.store({
|
|
216
124
|
id: patternId,
|
|
217
|
-
name: typeof entry === 'object' && entry !== null && 'label' in entry
|
|
218
|
-
? String(entry.label) : text.slice(0, 100),
|
|
219
125
|
type: modelType,
|
|
220
126
|
embedding,
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
usageCount: 0,
|
|
224
|
-
};
|
|
225
|
-
patternsStored++;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
model.status = 'ready';
|
|
229
|
-
model.patternsStored = patternsStored;
|
|
230
|
-
model.trainedAt = new Date().toISOString();
|
|
231
|
-
saveNeuralStore(store);
|
|
232
|
-
// Mirror patterns to patterns.json so CLI commands (neural patterns list,
|
|
233
|
-
// neural predict) can find patterns trained via MCP and vice versa.
|
|
234
|
-
if (patternsStored > 0) {
|
|
235
|
-
try {
|
|
236
|
-
const patternsPath = join(getNeuralDir(), PATTERNS_FILE);
|
|
237
|
-
let existing = [];
|
|
238
|
-
if (existsSync(patternsPath) && statSync(patternsPath).size <= MAX_NEURAL_STORE_BYTES) {
|
|
239
|
-
const raw = readFileSync(patternsPath, 'utf-8');
|
|
240
|
-
const parsed = JSON.parse(raw);
|
|
241
|
-
if (Array.isArray(parsed))
|
|
242
|
-
existing = parsed;
|
|
243
|
-
}
|
|
244
|
-
const existingIds = new Set(existing.map(p => p['id']));
|
|
245
|
-
const newEntries = Object.values(store.patterns)
|
|
246
|
-
.filter(p => p.id.startsWith(modelId) && !existingIds.has(p.id))
|
|
247
|
-
.map(p => ({
|
|
248
|
-
id: p.id,
|
|
249
|
-
type: p.type,
|
|
250
|
-
content: p.name,
|
|
127
|
+
content: typeof entry === 'object' && entry !== null && 'label' in entry
|
|
128
|
+
? String(entry.label) : text.slice(0, 100),
|
|
251
129
|
confidence: 0.8,
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
}));
|
|
256
|
-
if (newEntries.length > 0) {
|
|
257
|
-
const merged = [...existing, ...newEntries];
|
|
258
|
-
const tmp = `${patternsPath}.${process.pid}.${Date.now()}.tmp`;
|
|
259
|
-
writeFileSync(tmp, JSON.stringify(merged, null, 2), 'utf-8');
|
|
260
|
-
renameSync(tmp, patternsPath);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
catch {
|
|
264
|
-
// Mirror is best-effort; don't fail the train operation
|
|
130
|
+
metadata: { modelId, index: i, raw: entry },
|
|
131
|
+
});
|
|
132
|
+
patternsStored++;
|
|
265
133
|
}
|
|
266
134
|
}
|
|
135
|
+
// Flush immediately to persist
|
|
136
|
+
flushPatterns();
|
|
137
|
+
const totalPatterns = (await getAllPatterns()).length;
|
|
267
138
|
return {
|
|
268
139
|
success: true,
|
|
269
|
-
_realEmbedding:
|
|
140
|
+
_realEmbedding: lastEmbeddingModel !== 'hash-fallback',
|
|
270
141
|
modelId,
|
|
271
142
|
type: modelType,
|
|
272
|
-
status:
|
|
143
|
+
status: 'ready',
|
|
273
144
|
patternsStored,
|
|
274
|
-
totalPatterns
|
|
275
|
-
epochs,
|
|
276
|
-
trainedAt:
|
|
145
|
+
totalPatterns,
|
|
146
|
+
epochs: 1,
|
|
147
|
+
trainedAt: new Date().toISOString(),
|
|
277
148
|
};
|
|
278
149
|
},
|
|
279
150
|
},
|
|
280
151
|
{
|
|
281
152
|
name: 'neural_predict',
|
|
282
|
-
description: 'Find
|
|
153
|
+
description: 'Find stored patterns most similar to input text via cosine similarity (not ML prediction)',
|
|
283
154
|
category: 'neural',
|
|
284
155
|
inputSchema: {
|
|
285
156
|
type: 'object',
|
|
@@ -291,86 +162,38 @@ export const neuralTools = [
|
|
|
291
162
|
required: ['input'],
|
|
292
163
|
},
|
|
293
164
|
handler: async (input) => {
|
|
294
|
-
const store = loadNeuralStore();
|
|
295
|
-
// Cap modelId to prevent O(n) hash/compare cost on absurdly long keys.
|
|
296
|
-
const MAX_MODEL_ID_LEN_PRED = 256;
|
|
297
165
|
const rawModelIdPred = input.modelId;
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
const RESERVED_KEYS_PRED = new Set(['__proto__', 'constructor', 'prototype']);
|
|
304
|
-
if (modelId && (RESERVED_KEYS_PRED.has(modelId) || typeof modelId !== 'string')) {
|
|
305
|
-
return { success: false, error: 'Invalid modelId' };
|
|
306
|
-
}
|
|
307
|
-
// Find model or use default
|
|
308
|
-
const model = modelId
|
|
309
|
-
? (Object.hasOwn(store.models, modelId) ? store.models[modelId] : undefined)
|
|
310
|
-
: Object.values(store.models).find(m => m.status === 'ready');
|
|
311
|
-
if (model && model.status !== 'ready') {
|
|
312
|
-
return { success: false, error: 'Model not ready' };
|
|
166
|
+
if (rawModelIdPred) {
|
|
167
|
+
const modelId = sanitizeModelId(rawModelIdPred);
|
|
168
|
+
if (modelId === null) {
|
|
169
|
+
return { success: false, error: 'Invalid modelId' };
|
|
170
|
+
}
|
|
313
171
|
}
|
|
314
|
-
|
|
172
|
+
const inputText = typeof input.input === 'string' ? input.input.slice(0, MAX_SEARCH_QUERY_LENGTH) : '';
|
|
173
|
+
const topK = Math.max(1, Math.min(input.topK || 3, 50));
|
|
174
|
+
const { initializeIntelligence, findSimilarPatterns } = await import('../memory/intelligence.js');
|
|
175
|
+
await initializeIntelligence();
|
|
315
176
|
const startTime = performance.now();
|
|
316
177
|
const embedding = await generateEmbedding(inputText, 384);
|
|
178
|
+
// Use intelligence.ts findSimilarPatterns which handles embedding + search
|
|
179
|
+
const results = await findSimilarPatterns(inputText, {
|
|
180
|
+
k: topK,
|
|
181
|
+
threshold: 0.1,
|
|
182
|
+
});
|
|
317
183
|
const latency = Math.round(performance.now() - startTime);
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
const mcpPatterns = Object.values(store.patterns);
|
|
323
|
-
const cliPatternsRaw = [];
|
|
324
|
-
try {
|
|
325
|
-
const cliPath = join(getNeuralDir(), PATTERNS_FILE);
|
|
326
|
-
if (existsSync(cliPath) && statSync(cliPath).size <= MAX_NEURAL_STORE_BYTES) {
|
|
327
|
-
const raw = JSON.parse(readFileSync(cliPath, 'utf-8'));
|
|
328
|
-
if (Array.isArray(raw)) {
|
|
329
|
-
const mcpIds = new Set(mcpPatterns.map(p => p.id));
|
|
330
|
-
for (const p of raw) {
|
|
331
|
-
if (p?.id && !mcpIds.has(p.id) && Array.isArray(p.embedding)) {
|
|
332
|
-
cliPatternsRaw.push(p);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
catch { /* best-effort */ }
|
|
339
|
-
const cliMapped = cliPatternsRaw.map(p => ({
|
|
340
|
-
id: p.id ?? '',
|
|
341
|
-
name: p.content ?? p.name ?? p.type ?? '',
|
|
342
|
-
type: p.type ?? 'general',
|
|
343
|
-
embedding: p.embedding ?? [],
|
|
344
|
-
metadata: {},
|
|
345
|
-
createdAt: new Date().toISOString(),
|
|
346
|
-
usageCount: 0,
|
|
184
|
+
const predictions = results.map(r => ({
|
|
185
|
+
label: r.content || r.type || r.id,
|
|
186
|
+
confidence: r.similarity ?? r.confidence,
|
|
187
|
+
patternId: r.id,
|
|
347
188
|
}));
|
|
348
|
-
const storedPatterns = [...mcpPatterns, ...cliMapped].slice(0, MAX_SCAN);
|
|
349
|
-
let predictions;
|
|
350
|
-
if (storedPatterns.length > 0) {
|
|
351
|
-
const scored = [];
|
|
352
|
-
for (const p of storedPatterns) {
|
|
353
|
-
if (!Array.isArray(p.embedding) || p.embedding.length !== embedding.length)
|
|
354
|
-
continue;
|
|
355
|
-
const conf = Math.max(0, cosineSimilarity(embedding, p.embedding));
|
|
356
|
-
if (conf < EARLY_EXIT_THRESHOLD)
|
|
357
|
-
continue;
|
|
358
|
-
scored.push({ label: p.name || p.type || p.id, confidence: conf, patternId: p.id });
|
|
359
|
-
}
|
|
360
|
-
predictions = scored.sort((a, b) => b.confidence - a.confidence).slice(0, topK);
|
|
361
|
-
}
|
|
362
|
-
else {
|
|
363
|
-
// No patterns stored — no predictions possible
|
|
364
|
-
predictions = [];
|
|
365
|
-
}
|
|
366
189
|
return {
|
|
367
190
|
success: true,
|
|
368
|
-
_realEmbedding:
|
|
369
|
-
_hasStoredPatterns:
|
|
370
|
-
modelId:
|
|
191
|
+
_realEmbedding: lastEmbeddingModel !== 'hash-fallback',
|
|
192
|
+
_hasStoredPatterns: results.length > 0,
|
|
193
|
+
modelId: rawModelIdPred || 'default',
|
|
371
194
|
input: inputText,
|
|
372
195
|
predictions,
|
|
373
|
-
embedding: embedding.slice(0, 8),
|
|
196
|
+
embedding: embedding.slice(0, 8),
|
|
374
197
|
embeddingDims: embedding.length,
|
|
375
198
|
latency,
|
|
376
199
|
};
|
|
@@ -392,116 +215,118 @@ export const neuralTools = [
|
|
|
392
215
|
},
|
|
393
216
|
},
|
|
394
217
|
handler: async (input) => {
|
|
395
|
-
const store = loadNeuralStore();
|
|
396
218
|
const action = input.action || 'list';
|
|
219
|
+
const { initializeIntelligence, getAllPatterns, getPatternsByType, getReasoningBank, findSimilarPatterns, deletePattern, flushPatterns } = await import('../memory/intelligence.js');
|
|
220
|
+
await initializeIntelligence();
|
|
397
221
|
if (action === 'list') {
|
|
398
|
-
const patterns = Object.values(store.patterns);
|
|
399
222
|
const typeFilter = input.type;
|
|
400
|
-
const
|
|
223
|
+
const patterns = typeFilter
|
|
224
|
+
? await getPatternsByType(typeFilter)
|
|
225
|
+
: await getAllPatterns();
|
|
401
226
|
return {
|
|
402
|
-
patterns:
|
|
227
|
+
patterns: patterns.map(p => ({
|
|
403
228
|
id: p.id,
|
|
404
|
-
name: p.
|
|
229
|
+
name: p.content,
|
|
405
230
|
type: p.type,
|
|
406
231
|
usageCount: p.usageCount,
|
|
407
|
-
createdAt: p.createdAt,
|
|
232
|
+
createdAt: typeof p.createdAt === 'number' ? new Date(p.createdAt).toISOString() : p.createdAt,
|
|
408
233
|
})),
|
|
409
|
-
total:
|
|
234
|
+
total: patterns.length,
|
|
410
235
|
};
|
|
411
236
|
}
|
|
412
237
|
if (action === 'get') {
|
|
413
238
|
const patternId = input.patternId;
|
|
414
|
-
if (!patternId ||
|
|
239
|
+
if (!patternId || RESERVED_KEYS.has(patternId)) {
|
|
415
240
|
return { success: false, error: 'Invalid patternId' };
|
|
416
241
|
}
|
|
417
|
-
const
|
|
242
|
+
const bank = getReasoningBank();
|
|
243
|
+
if (!bank) {
|
|
244
|
+
return { success: false, error: 'ReasoningBank not available' };
|
|
245
|
+
}
|
|
246
|
+
const pattern = bank.get(patternId);
|
|
418
247
|
if (!pattern) {
|
|
419
248
|
return { success: false, error: 'Pattern not found' };
|
|
420
249
|
}
|
|
421
|
-
return {
|
|
250
|
+
return {
|
|
251
|
+
success: true,
|
|
252
|
+
pattern: {
|
|
253
|
+
id: pattern.id,
|
|
254
|
+
name: pattern.content,
|
|
255
|
+
type: pattern.type,
|
|
256
|
+
embedding: pattern.embedding,
|
|
257
|
+
metadata: pattern.metadata ?? {},
|
|
258
|
+
createdAt: new Date(pattern.createdAt).toISOString(),
|
|
259
|
+
usageCount: pattern.usageCount,
|
|
260
|
+
},
|
|
261
|
+
};
|
|
422
262
|
}
|
|
423
263
|
if (action === 'store') {
|
|
424
|
-
const
|
|
425
|
-
if (
|
|
264
|
+
const allPatterns = await getAllPatterns();
|
|
265
|
+
if (allPatterns.length >= MAX_PATTERNS) {
|
|
426
266
|
return { success: false, error: `Pattern store full (max ${MAX_PATTERNS}). Run neural_compress first.` };
|
|
427
267
|
}
|
|
428
|
-
const
|
|
429
|
-
// Cap name length to prevent DoS in generateEmbedding (hash path is O(n))
|
|
430
|
-
const MAX_PATTERN_NAME_LENGTH = 16 * 1024; // 16 KB
|
|
268
|
+
const MAX_PATTERN_NAME_LENGTH = 16 * 1024;
|
|
431
269
|
const rawPatternName = input.name || 'Unnamed pattern';
|
|
432
270
|
const patternName = typeof rawPatternName === 'string' && rawPatternName.length > MAX_PATTERN_NAME_LENGTH
|
|
433
271
|
? rawPatternName.slice(0, MAX_PATTERN_NAME_LENGTH)
|
|
434
272
|
: rawPatternName;
|
|
435
|
-
// Generate embedding from pattern name/content
|
|
436
273
|
const embedding = await generateEmbedding(patternName, 384);
|
|
437
|
-
const
|
|
274
|
+
const patternId = `pattern-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
|
|
275
|
+
const patternType = input.type || 'general';
|
|
276
|
+
const bank = getReasoningBank();
|
|
277
|
+
if (!bank) {
|
|
278
|
+
return { success: false, error: 'ReasoningBank not available' };
|
|
279
|
+
}
|
|
280
|
+
bank.store({
|
|
438
281
|
id: patternId,
|
|
439
|
-
|
|
440
|
-
type: input.type || 'general',
|
|
282
|
+
type: patternType,
|
|
441
283
|
embedding,
|
|
284
|
+
content: patternName,
|
|
285
|
+
confidence: 0.8,
|
|
442
286
|
metadata: input.data || {},
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
};
|
|
446
|
-
store.patterns[patternId] = pattern;
|
|
447
|
-
saveNeuralStore(store);
|
|
287
|
+
});
|
|
288
|
+
flushPatterns();
|
|
448
289
|
return {
|
|
449
290
|
success: true,
|
|
450
|
-
_realEmbedding:
|
|
291
|
+
_realEmbedding: lastEmbeddingModel !== 'hash-fallback',
|
|
451
292
|
patternId,
|
|
452
|
-
name:
|
|
453
|
-
type:
|
|
293
|
+
name: patternName,
|
|
294
|
+
type: patternType,
|
|
454
295
|
embeddingDims: embedding.length,
|
|
455
|
-
createdAt:
|
|
296
|
+
createdAt: new Date().toISOString(),
|
|
456
297
|
};
|
|
457
298
|
}
|
|
458
299
|
if (action === 'search') {
|
|
459
|
-
// Cap query length to prevent DoS in generateEmbedding (hash path is O(n))
|
|
460
|
-
const MAX_SEARCH_QUERY_LENGTH = 16 * 1024; // 16 KB — matches neural_predict cap
|
|
461
300
|
const rawQuery = input.query;
|
|
462
301
|
const query = typeof rawQuery === 'string' && rawQuery.length > MAX_SEARCH_QUERY_LENGTH
|
|
463
302
|
? rawQuery.slice(0, MAX_SEARCH_QUERY_LENGTH)
|
|
464
303
|
: rawQuery;
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
.map(p => ({
|
|
470
|
-
...p,
|
|
471
|
-
similarity: cosineSimilarity(queryEmbedding, p.embedding),
|
|
472
|
-
}))
|
|
473
|
-
.sort((a, b) => b.similarity - a.similarity)
|
|
474
|
-
.slice(0, 10);
|
|
475
|
-
// Increment usageCount so prune can track retrieval frequency
|
|
476
|
-
for (const r of results) {
|
|
477
|
-
if (Object.hasOwn(store.patterns, r.id)) {
|
|
478
|
-
store.patterns[r.id].usageCount = (store.patterns[r.id].usageCount || 0) + 1;
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
saveNeuralStore(store);
|
|
304
|
+
const results = await findSimilarPatterns(query || '', {
|
|
305
|
+
k: 10,
|
|
306
|
+
threshold: 0.1,
|
|
307
|
+
});
|
|
482
308
|
return {
|
|
483
309
|
_realSimilarity: true,
|
|
484
|
-
_realEmbedding:
|
|
310
|
+
_realEmbedding: lastEmbeddingModel !== 'hash-fallback',
|
|
485
311
|
query,
|
|
486
312
|
results: results.map(r => ({
|
|
487
313
|
id: r.id,
|
|
488
|
-
name: r.
|
|
314
|
+
name: r.content,
|
|
489
315
|
type: r.type,
|
|
490
|
-
similarity: r.similarity,
|
|
316
|
+
similarity: r.similarity ?? r.confidence,
|
|
491
317
|
})),
|
|
492
318
|
total: results.length,
|
|
493
319
|
};
|
|
494
320
|
}
|
|
495
321
|
if (action === 'delete') {
|
|
496
322
|
const patternId = input.patternId;
|
|
497
|
-
if (!patternId ||
|
|
323
|
+
if (!patternId || RESERVED_KEYS.has(patternId)) {
|
|
498
324
|
return { success: false, error: 'Invalid patternId' };
|
|
499
325
|
}
|
|
500
|
-
|
|
326
|
+
const deleted = await deletePattern(patternId);
|
|
327
|
+
if (!deleted) {
|
|
501
328
|
return { success: false, error: 'Pattern not found' };
|
|
502
329
|
}
|
|
503
|
-
delete store.patterns[patternId];
|
|
504
|
-
saveNeuralStore(store);
|
|
505
330
|
return { success: true, deleted: patternId };
|
|
506
331
|
}
|
|
507
332
|
return { success: false, error: 'Unknown action' };
|
|
@@ -520,97 +345,39 @@ export const neuralTools = [
|
|
|
520
345
|
},
|
|
521
346
|
},
|
|
522
347
|
handler: async (input) => {
|
|
523
|
-
const store = loadNeuralStore();
|
|
524
348
|
const method = input.method || 'quantize';
|
|
525
|
-
const
|
|
526
|
-
|
|
349
|
+
const { initializeIntelligence, compactPatterns, getAllPatterns } = await import('../memory/intelligence.js');
|
|
350
|
+
await initializeIntelligence();
|
|
351
|
+
const patterns = await getAllPatterns();
|
|
527
352
|
if (patterns.length === 0) {
|
|
528
353
|
return { success: false, error: 'No patterns to compress. Train patterns first with neural_train.' };
|
|
529
354
|
}
|
|
530
355
|
const beforeCount = patterns.length;
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
let totalCompressed = 0;
|
|
536
|
-
for (const pattern of patterns) {
|
|
537
|
-
if (pattern.embedding && pattern.embedding.length > 0) {
|
|
538
|
-
const stats = getQuantizationStats(pattern.embedding);
|
|
539
|
-
const quantized = quantizeInt8(pattern.embedding);
|
|
540
|
-
// Store quantized metadata (keep original embedding for search)
|
|
541
|
-
pattern._quantized = {
|
|
542
|
-
scale: quantized.scale,
|
|
543
|
-
zeroPoint: quantized.zeroPoint,
|
|
544
|
-
compressionRatio: stats.compressionRatio,
|
|
545
|
-
};
|
|
546
|
-
totalCompressed++;
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
saveNeuralStore(store);
|
|
550
|
-
return {
|
|
551
|
-
success: true, _real: true, method,
|
|
552
|
-
patternsCompressed: totalCompressed,
|
|
553
|
-
note: 'Quantization metadata stored; original embeddings retained for search accuracy.',
|
|
554
|
-
};
|
|
555
|
-
}
|
|
556
|
-
catch {
|
|
557
|
-
return { success: false, error: 'Quantization requires memory-initializer. Run `memory init` first.' };
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
if (method === 'prune') {
|
|
561
|
-
// Prune the least-used fraction of patterns. targetReduction (0-1) is a percentile:
|
|
562
|
-
// 0.5 removes the bottom 50% by usageCount, 0.8 removes the bottom 80%, etc.
|
|
563
|
-
const counts = Object.values(store.patterns)
|
|
564
|
-
.map(p => p.usageCount || 0)
|
|
565
|
-
.sort((a, b) => a - b);
|
|
566
|
-
const cutoffIdx = Math.floor(targetReduction * counts.length);
|
|
567
|
-
const threshold = counts[cutoffIdx] ?? 0;
|
|
568
|
-
const toRemove = [];
|
|
569
|
-
for (const [id, pattern] of Object.entries(store.patterns)) {
|
|
570
|
-
if ((pattern.usageCount || 0) < threshold)
|
|
571
|
-
toRemove.push(id);
|
|
572
|
-
}
|
|
573
|
-
for (const id of toRemove)
|
|
574
|
-
delete store.patterns[id];
|
|
575
|
-
saveNeuralStore(store);
|
|
356
|
+
if (method === 'quantize' || method === 'distill') {
|
|
357
|
+
// Both quantize and distill map to compactPatterns (dedup by cosine similarity)
|
|
358
|
+
const threshold = method === 'quantize' ? 0.99 : 0.95;
|
|
359
|
+
const result = await compactPatterns(threshold);
|
|
576
360
|
return {
|
|
577
361
|
success: true, _real: true, method,
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
362
|
+
patternsBefore: result.before,
|
|
363
|
+
patternsAfter: result.after,
|
|
364
|
+
patternsRemoved: result.removed,
|
|
365
|
+
note: method === 'quantize'
|
|
366
|
+
? 'Near-duplicate patterns removed (cosine > 0.99).'
|
|
367
|
+
: `Similar patterns merged (cosine > ${threshold}).`,
|
|
582
368
|
};
|
|
583
369
|
}
|
|
584
|
-
if (method === '
|
|
585
|
-
//
|
|
586
|
-
const
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
if (merged.includes(idA))
|
|
591
|
-
continue;
|
|
592
|
-
for (let j = i + 1; j < patternList.length; j++) {
|
|
593
|
-
const [idB, b] = patternList[j];
|
|
594
|
-
if (!a.embedding || !b.embedding || merged.includes(idB))
|
|
595
|
-
continue;
|
|
596
|
-
const sim = cosineSimilarity(a.embedding, b.embedding);
|
|
597
|
-
if (sim > 0.95) {
|
|
598
|
-
// Merge: average embeddings, keep higher usage count
|
|
599
|
-
for (let k = 0; k < a.embedding.length; k++) {
|
|
600
|
-
a.embedding[k] = (a.embedding[k] + (b.embedding[k] || 0)) / 2;
|
|
601
|
-
}
|
|
602
|
-
a.usageCount = Math.max(a.usageCount || 0, b.usageCount || 0);
|
|
603
|
-
delete store.patterns[idB];
|
|
604
|
-
merged.push(idB);
|
|
605
|
-
}
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
saveNeuralStore(store);
|
|
370
|
+
if (method === 'prune') {
|
|
371
|
+
// Prune maps to compactPatterns with a looser threshold
|
|
372
|
+
const targetReduction = input.targetSize || 0.5;
|
|
373
|
+
// Use a threshold proportional to target reduction (lower = more aggressive)
|
|
374
|
+
const threshold = 0.7 + (1 - targetReduction) * 0.25;
|
|
375
|
+
const result = await compactPatterns(threshold);
|
|
609
376
|
return {
|
|
610
377
|
success: true, _real: true, method,
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
378
|
+
patternsBefore: result.before,
|
|
379
|
+
patternsAfter: result.after,
|
|
380
|
+
patternsRemoved: result.removed,
|
|
614
381
|
};
|
|
615
382
|
}
|
|
616
383
|
return { success: false, error: `Unknown method: ${method}. Use quantize, prune, or distill.` };
|
|
@@ -618,7 +385,7 @@ export const neuralTools = [
|
|
|
618
385
|
},
|
|
619
386
|
{
|
|
620
387
|
name: 'neural_status',
|
|
621
|
-
description: 'Get pattern store status',
|
|
388
|
+
description: 'Get pattern store status (pattern count, embedding dimensions, store health)',
|
|
622
389
|
category: 'neural',
|
|
623
390
|
inputSchema: {
|
|
624
391
|
type: 'object',
|
|
@@ -628,38 +395,48 @@ export const neuralTools = [
|
|
|
628
395
|
},
|
|
629
396
|
},
|
|
630
397
|
handler: async (input) => {
|
|
631
|
-
const
|
|
398
|
+
const { initializeIntelligence, getIntelligenceStats, getAllPatterns } = await import('../memory/intelligence.js');
|
|
399
|
+
await initializeIntelligence();
|
|
400
|
+
const stats = getIntelligenceStats();
|
|
401
|
+
const patterns = await getAllPatterns();
|
|
632
402
|
if (input.modelId) {
|
|
633
|
-
const
|
|
634
|
-
|
|
635
|
-
const modelId = typeof rawModelIdStatus === 'string' && rawModelIdStatus.length > MAX_MODEL_ID_LEN_STATUS
|
|
636
|
-
? rawModelIdStatus.slice(0, MAX_MODEL_ID_LEN_STATUS)
|
|
637
|
-
: rawModelIdStatus;
|
|
638
|
-
if (NEURAL_RESERVED_KEYS.has(modelId)) {
|
|
403
|
+
const modelId = sanitizeModelId(input.modelId);
|
|
404
|
+
if (modelId === null) {
|
|
639
405
|
return { success: false, error: 'Invalid modelId' };
|
|
640
406
|
}
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
407
|
+
// Filter patterns belonging to this model (by metadata or id prefix)
|
|
408
|
+
const modelPatterns = patterns.filter(p => p.id.startsWith(modelId) ||
|
|
409
|
+
(p.metadata?.modelId === modelId));
|
|
410
|
+
return {
|
|
411
|
+
success: true,
|
|
412
|
+
model: {
|
|
413
|
+
id: modelId,
|
|
414
|
+
patternsStored: modelPatterns.length,
|
|
415
|
+
status: modelPatterns.length > 0 ? 'ready' : 'empty',
|
|
416
|
+
},
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
const byType = {};
|
|
420
|
+
for (const p of patterns) {
|
|
421
|
+
byType[p.type] = (byType[p.type] || 0) + 1;
|
|
646
422
|
}
|
|
647
|
-
const models = Object.values(store.models);
|
|
648
|
-
const patterns = Object.values(store.patterns);
|
|
649
423
|
return {
|
|
650
|
-
embeddingProvider:
|
|
424
|
+
embeddingProvider: lastEmbeddingModel === 'unknown' ? 'not yet used' : lastEmbeddingModel,
|
|
425
|
+
sonaEnabled: stats.sonaEnabled,
|
|
651
426
|
models: {
|
|
652
|
-
total: models
|
|
653
|
-
ready:
|
|
654
|
-
indexing:
|
|
427
|
+
total: 0, // models concept removed; patterns are stored directly
|
|
428
|
+
ready: 0,
|
|
429
|
+
indexing: 0,
|
|
655
430
|
},
|
|
656
431
|
patterns: {
|
|
657
432
|
total: patterns.length,
|
|
658
|
-
byType
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
433
|
+
byType,
|
|
434
|
+
embeddingDims: patterns.length > 0 && patterns[0].embedding ? patterns[0].embedding.length : 384,
|
|
435
|
+
},
|
|
436
|
+
intelligence: {
|
|
437
|
+
reasoningBankSize: stats.reasoningBankSize,
|
|
438
|
+
patternsLearned: stats.patternsLearned,
|
|
439
|
+
trajectoriesRecorded: stats.trajectoriesRecorded,
|
|
663
440
|
},
|
|
664
441
|
};
|
|
665
442
|
},
|
|
@@ -676,9 +453,10 @@ export const neuralTools = [
|
|
|
676
453
|
},
|
|
677
454
|
},
|
|
678
455
|
handler: async (input) => {
|
|
679
|
-
const store = loadNeuralStore();
|
|
680
456
|
const target = input.target || 'balanced';
|
|
681
|
-
const
|
|
457
|
+
const { initializeIntelligence, compactPatterns, getAllPatterns } = await import('../memory/intelligence.js');
|
|
458
|
+
await initializeIntelligence();
|
|
459
|
+
const patterns = await getAllPatterns();
|
|
682
460
|
if (patterns.length === 0) {
|
|
683
461
|
return { success: false, error: 'No patterns to optimize. Train patterns first with neural_train.' };
|
|
684
462
|
}
|
|
@@ -686,81 +464,39 @@ export const neuralTools = [
|
|
|
686
464
|
const actions = [];
|
|
687
465
|
const beforeCount = patterns.length;
|
|
688
466
|
const dims = patterns[0]?.embedding?.length || 0;
|
|
689
|
-
|
|
690
|
-
let
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
existing.usageCount = Math.max(existing.usageCount || 0, p.usageCount || 0);
|
|
706
|
-
delete store.patterns[id];
|
|
707
|
-
duplicatesRemoved++;
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
else {
|
|
711
|
-
seen.set(hash, id);
|
|
712
|
-
}
|
|
713
|
-
}
|
|
714
|
-
if (duplicatesRemoved > 0)
|
|
715
|
-
actions.push(`Removed ${duplicatesRemoved} near-duplicate patterns`);
|
|
467
|
+
// All optimization targets delegate to compactPatterns with varying thresholds
|
|
468
|
+
let threshold;
|
|
469
|
+
switch (target) {
|
|
470
|
+
case 'speed':
|
|
471
|
+
threshold = 0.99; // only near-exact duplicates
|
|
472
|
+
break;
|
|
473
|
+
case 'memory':
|
|
474
|
+
threshold = 0.90; // aggressive dedup
|
|
475
|
+
break;
|
|
476
|
+
case 'accuracy':
|
|
477
|
+
threshold = 0.98; // conservative
|
|
478
|
+
break;
|
|
479
|
+
case 'balanced':
|
|
480
|
+
default:
|
|
481
|
+
threshold = 0.95;
|
|
482
|
+
break;
|
|
716
483
|
}
|
|
717
|
-
|
|
718
|
-
if (
|
|
719
|
-
|
|
720
|
-
const { quantizeInt8, getQuantizationStats } = await import('../memory/memory-initializer.js');
|
|
721
|
-
for (const p of Object.values(store.patterns)) {
|
|
722
|
-
if (p.embedding && p.embedding.length > 0 && !p._quantized) {
|
|
723
|
-
const stats = getQuantizationStats(p.embedding);
|
|
724
|
-
const q = quantizeInt8(p.embedding);
|
|
725
|
-
p._quantized = { scale: q.scale, zeroPoint: q.zeroPoint, compressionRatio: stats.compressionRatio };
|
|
726
|
-
patternsQuantized++;
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
if (patternsQuantized > 0)
|
|
730
|
-
actions.push(`Quantized ${patternsQuantized} pattern embeddings (Int8, ~3.92x)`);
|
|
731
|
-
}
|
|
732
|
-
catch {
|
|
733
|
-
actions.push('Quantization skipped (memory-initializer not available)');
|
|
734
|
-
}
|
|
484
|
+
const result = await compactPatterns(threshold);
|
|
485
|
+
if (result.removed > 0) {
|
|
486
|
+
actions.push(`Removed ${result.removed} similar patterns (cosine > ${threshold})`);
|
|
735
487
|
}
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
for (const [id, p] of Object.entries(store.patterns)) {
|
|
739
|
-
if (!p.embedding || p.embedding.length === 0) {
|
|
740
|
-
delete store.patterns[id];
|
|
741
|
-
patternsRemoved++;
|
|
742
|
-
continue;
|
|
743
|
-
}
|
|
744
|
-
// Remove patterns with all-zero embeddings (no useful signal)
|
|
745
|
-
const norm = p.embedding.reduce((s, v) => s + v * v, 0);
|
|
746
|
-
if (norm < 1e-10) {
|
|
747
|
-
delete store.patterns[id];
|
|
748
|
-
patternsRemoved++;
|
|
749
|
-
}
|
|
750
|
-
}
|
|
751
|
-
if (patternsRemoved > 0)
|
|
752
|
-
actions.push(`Pruned ${patternsRemoved} empty/zero-signal patterns`);
|
|
488
|
+
else {
|
|
489
|
+
actions.push('No duplicate patterns found');
|
|
753
490
|
}
|
|
754
|
-
saveNeuralStore(store);
|
|
755
491
|
const elapsed = Math.round(performance.now() - startTime);
|
|
756
492
|
return {
|
|
757
493
|
success: true, _real: true, target,
|
|
758
494
|
actions,
|
|
759
|
-
patternsBefore:
|
|
760
|
-
patternsAfter:
|
|
761
|
-
duplicatesRemoved,
|
|
762
|
-
patternsQuantized,
|
|
763
|
-
patternsRemoved,
|
|
495
|
+
patternsBefore: result.before,
|
|
496
|
+
patternsAfter: result.after,
|
|
497
|
+
duplicatesRemoved: result.removed,
|
|
498
|
+
patternsQuantized: 0,
|
|
499
|
+
patternsRemoved: result.removed,
|
|
764
500
|
embeddingDims: dims,
|
|
765
501
|
elapsedMs: elapsed,
|
|
766
502
|
};
|