monomind 2.7.11 → 2.7.13
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/LICENSE +0 -0
- package/README.md +0 -0
- package/bin/cli.js +55 -4
- package/package.json +4 -47
- package/bin/npx-safe-launch.js +0 -9
- package/packages/@monomind/cli/.claude/agents/architecture/system-design/arch-system-design.md +0 -54
- package/packages/@monomind/cli/.claude/agents/consensus/crdt-synchronizer.md +0 -977
- package/packages/@monomind/cli/.claude/agents/consensus/quorum-manager.md +0 -106
- package/packages/@monomind/cli/.claude/agents/consensus/security-manager.md +0 -602
- package/packages/@monomind/cli/.claude/agents/core/coder.md +0 -271
- package/packages/@monomind/cli/.claude/agents/core/coordinator.md +0 -133
- package/packages/@monomind/cli/.claude/agents/core/planner.md +0 -179
- package/packages/@monomind/cli/.claude/agents/core/researcher.md +0 -197
- package/packages/@monomind/cli/.claude/agents/core/reviewer.md +0 -336
- package/packages/@monomind/cli/.claude/agents/core/tester.md +0 -326
- package/packages/@monomind/cli/.claude/agents/design/design-monodesign.md +0 -121
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +0 -212
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-engineer.md +0 -165
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +0 -108
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-backend-architect.md +0 -254
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-code-reviewer.md +0 -95
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-data-engineer.md +0 -307
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-database-optimizer.md +0 -200
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-devops-automator.md +0 -430
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +0 -174
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-feishu-integration-developer.md +0 -607
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-frontend-developer.md +0 -249
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-git-workflow-master.md +0 -108
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-incident-response-commander.md +0 -482
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-mobile-app-builder.md +0 -499
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-rapid-prototyper.md +0 -463
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-security-engineer.md +0 -303
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-senior-developer.md +0 -195
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-software-architect.md +0 -100
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +0 -528
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-sre.md +0 -114
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-technical-writer.md +0 -412
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-threat-detection-engineer.md +0 -540
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +0 -351
- package/packages/@monomind/cli/.claude/agents/github/code-review-swarm.md +0 -557
- package/packages/@monomind/cli/.claude/agents/github/github-modes.md +0 -154
- package/packages/@monomind/cli/.claude/agents/github/issue-tracker.md +0 -297
- package/packages/@monomind/cli/.claude/agents/github/multi-repo-swarm.md +0 -525
- package/packages/@monomind/cli/.claude/agents/github/pr-manager.md +0 -161
- package/packages/@monomind/cli/.claude/agents/github/project-board-sync.md +0 -478
- package/packages/@monomind/cli/.claude/agents/github/release-manager.md +0 -296
- package/packages/@monomind/cli/.claude/agents/github/repo-architect.md +0 -351
- package/packages/@monomind/cli/.claude/agents/github/swarm-issue.md +0 -548
- package/packages/@monomind/cli/.claude/agents/github/swarm-pr.md +0 -427
- package/packages/@monomind/cli/.claude/agents/github/sync-coordinator.md +0 -355
- package/packages/@monomind/cli/.claude/agents/github/workflow-automation.md +0 -640
- package/packages/@monomind/cli/.claude/agents/goal/goal-planner.md +0 -167
- package/packages/@monomind/cli/.claude/agents/hive-mind/collective-intelligence-coordinator.md +0 -93
- package/packages/@monomind/cli/.claude/agents/hive-mind/scout-explorer.md +0 -241
- package/packages/@monomind/cli/.claude/agents/hive-mind/swarm-memory-manager.md +0 -192
- package/packages/@monomind/cli/.claude/agents/hive-mind/worker-specialist.md +0 -216
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-competitive-content.md +0 -155
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-cro-specialist.md +0 -147
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-email-specialist.md +0 -90
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-launch-strategist.md +0 -129
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-pricing-strategist.md +0 -127
- package/packages/@monomind/cli/.claude/agents/optimization/benchmark-suite.md +0 -665
- package/packages/@monomind/cli/.claude/agents/optimization/load-balancer.md +0 -431
- package/packages/@monomind/cli/.claude/agents/optimization/performance-monitor.md +0 -672
- package/packages/@monomind/cli/.claude/agents/optimization/resource-allocator.md +0 -674
- package/packages/@monomind/cli/.claude/agents/optimization/topology-optimizer.md +0 -808
- package/packages/@monomind/cli/.claude/agents/schemas/architecture-output.json +0 -43
- package/packages/@monomind/cli/.claude/agents/schemas/code-review-output.json +0 -28
- package/packages/@monomind/cli/.claude/agents/schemas/generic-task-input.json +0 -12
- package/packages/@monomind/cli/.claude/agents/schemas/implementation-output.json +0 -18
- package/packages/@monomind/cli/.claude/agents/schemas/research-output.json +0 -31
- package/packages/@monomind/cli/.claude/agents/schemas/security-audit-output.json +0 -29
- package/packages/@monomind/cli/.claude/agents/schemas/test-report-output.json +0 -29
- package/packages/@monomind/cli/.claude/agents/specialists/integration-architect.md +0 -94
- package/packages/@monomind/cli/.claude/agents/specialized/agentic-identity-trust.md +0 -388
- package/packages/@monomind/cli/.claude/agents/specialized/agents-orchestrator.md +0 -368
- package/packages/@monomind/cli/.claude/agents/specialized/automation-governance-architect.md +0 -217
- package/packages/@monomind/cli/.claude/agents/specialized/blockchain-security-auditor.md +0 -497
- package/packages/@monomind/cli/.claude/agents/specialized/compliance-auditor.md +0 -159
- package/packages/@monomind/cli/.claude/agents/specialized/identity-graph-operator.md +0 -261
- package/packages/@monomind/cli/.claude/agents/specialized/lsp-index-engineer.md +0 -315
- package/packages/@monomind/cli/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -89
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +0 -89
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-developer-advocate.md +0 -318
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-document-generator.md +0 -56
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-mcp-builder.md +0 -64
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-model-qa.md +0 -489
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-workflow-architect.md +0 -595
- package/packages/@monomind/cli/.claude/agents/specialized/zk-steward.md +0 -212
- package/packages/@monomind/cli/.claude/agents/swarm/mesh-coordinator.md +0 -97
- package/packages/@monomind/cli/.claude/agents/templates/automation-smart-agent.md +0 -185
- package/packages/@monomind/cli/.claude/agents/templates/coordinator-swarm-init.md +0 -83
- package/packages/@monomind/cli/.claude/agents/testing/production-validator.md +0 -375
- package/packages/@monomind/cli/.claude/agents/testing/tdd-london-swarm.md +0 -241
- package/packages/@monomind/cli/.claude/agents/testing/testing-accessibility-auditor.md +0 -322
- package/packages/@monomind/cli/.claude/agents/testing/testing-api-tester.md +0 -307
- package/packages/@monomind/cli/.claude/agents/testing/testing-evidence-collector.md +0 -213
- package/packages/@monomind/cli/.claude/agents/testing/testing-performance-benchmarker.md +0 -269
- package/packages/@monomind/cli/.claude/agents/testing/testing-test-results-analyzer.md +0 -306
- package/packages/@monomind/cli/.claude/agents/testing/testing-tool-evaluator.md +0 -395
- package/packages/@monomind/cli/.claude/agents/testing/testing-workflow-optimizer.md +0 -451
- package/packages/@monomind/cli/.claude/commands/agents/README.md +0 -14
- package/packages/@monomind/cli/.claude/commands/agents/agent-capabilities.md +0 -25
- package/packages/@monomind/cli/.claude/commands/agents/agent-coordination.md +0 -32
- package/packages/@monomind/cli/.claude/commands/agents/agent-spawning.md +0 -32
- package/packages/@monomind/cli/.claude/commands/agents/agent-types.md +0 -30
- package/packages/@monomind/cli/.claude/commands/analysis/README.md +0 -18
- package/packages/@monomind/cli/.claude/commands/analysis/bottleneck-detect.md +0 -69
- package/packages/@monomind/cli/.claude/commands/analysis/performance-bottlenecks.md +0 -59
- package/packages/@monomind/cli/.claude/commands/analysis/performance-report.md +0 -52
- package/packages/@monomind/cli/.claude/commands/analysis/token-usage.md +0 -47
- package/packages/@monomind/cli/.claude/commands/automation/README.md +0 -19
- package/packages/@monomind/cli/.claude/commands/automation/auto-agent.md +0 -86
- package/packages/@monomind/cli/.claude/commands/automation/self-healing.md +0 -108
- package/packages/@monomind/cli/.claude/commands/automation/session-memory.md +0 -89
- package/packages/@monomind/cli/.claude/commands/automation/smart-agents.md +0 -81
- package/packages/@monomind/cli/.claude/commands/automation/smart-spawn.md +0 -66
- package/packages/@monomind/cli/.claude/commands/automation/workflow-select.md +0 -60
- package/packages/@monomind/cli/.claude/commands/coordination/README.md +0 -13
- package/packages/@monomind/cli/.claude/commands/coordination/agent-spawn.md +0 -69
- package/packages/@monomind/cli/.claude/commands/coordination/swarm-init.md +0 -82
- package/packages/@monomind/cli/.claude/commands/coordination/task-orchestrate.md +0 -79
- package/packages/@monomind/cli/.claude/commands/github/README.md +0 -24
- package/packages/@monomind/cli/.claude/commands/github/github-modes.md +0 -151
- package/packages/@monomind/cli/.claude/commands/github/issue-tracker.md +0 -291
- package/packages/@monomind/cli/.claude/commands/github/pr-manager.md +0 -171
- package/packages/@monomind/cli/.claude/commands/github/release-manager.md +0 -343
- package/packages/@monomind/cli/.claude/commands/github/repo-architect.md +0 -372
- package/packages/@monomind/cli/.claude/commands/github/sync-coordinator.md +0 -297
- package/packages/@monomind/cli/.claude/commands/hive-mind/README.md +0 -42
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-init.md +0 -68
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-status.md +0 -56
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind.md +0 -87
- package/packages/@monomind/cli/.claude/commands/hooks/README.md +0 -66
- package/packages/@monomind/cli/.claude/commands/hooks/overview.md +0 -112
- package/packages/@monomind/cli/.claude/commands/hooks/post-edit.md +0 -78
- package/packages/@monomind/cli/.claude/commands/hooks/post-task.md +0 -62
- package/packages/@monomind/cli/.claude/commands/hooks/pre-edit.md +0 -81
- package/packages/@monomind/cli/.claude/commands/hooks/pre-task.md +0 -73
- package/packages/@monomind/cli/.claude/commands/hooks/session-end.md +0 -82
- package/packages/@monomind/cli/.claude/commands/hooks/setup.md +0 -132
- package/packages/@monomind/cli/.claude/commands/mastermind/_repeat.md +0 -492
- package/packages/@monomind/cli/.claude/commands/mastermind/_taskfile.md +0 -232
- package/packages/@monomind/cli/.claude/commands/mastermind/adr.md +0 -9
- package/packages/@monomind/cli/.claude/commands/mastermind/approvev1.md +0 -94
- package/packages/@monomind/cli/.claude/commands/mastermind/architect.md +0 -52
- package/packages/@monomind/cli/.claude/commands/mastermind/autodev.md +0 -28
- package/packages/@monomind/cli/.claude/commands/mastermind/brain.md +0 -99
- package/packages/@monomind/cli/.claude/commands/mastermind/budget.md +0 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/build.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/code-review.md +0 -314
- package/packages/@monomind/cli/.claude/commands/mastermind/content.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/createorg.md +0 -143
- package/packages/@monomind/cli/.claude/commands/mastermind/createtask.md +0 -372
- package/packages/@monomind/cli/.claude/commands/mastermind/debug.md +0 -19
- package/packages/@monomind/cli/.claude/commands/mastermind/design.md +0 -17
- package/packages/@monomind/cli/.claude/commands/mastermind/do.md +0 -525
- package/packages/@monomind/cli/.claude/commands/mastermind/execute.md +0 -17
- package/packages/@monomind/cli/.claude/commands/mastermind/finance.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/finish.md +0 -17
- package/packages/@monomind/cli/.claude/commands/mastermind/graph-status.md +0 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/help.md +0 -133
- package/packages/@monomind/cli/.claude/commands/mastermind/idea.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/ideate.md +0 -258
- package/packages/@monomind/cli/.claude/commands/mastermind/improve.md +0 -342
- package/packages/@monomind/cli/.claude/commands/mastermind/loops.md +0 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/marketing.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/master.md +0 -1140
- package/packages/@monomind/cli/.claude/commands/mastermind/memory.md +0 -227
- package/packages/@monomind/cli/.claude/commands/mastermind/okf-export.md +0 -14
- package/packages/@monomind/cli/.claude/commands/mastermind/okf-import.md +0 -15
- package/packages/@monomind/cli/.claude/commands/mastermind/ops.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/orgs.md +0 -18
- package/packages/@monomind/cli/.claude/commands/mastermind/orgstatus.md +0 -56
- package/packages/@monomind/cli/.claude/commands/mastermind/plan.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/receive-review.md +0 -17
- package/packages/@monomind/cli/.claude/commands/mastermind/references/antigravity-tools.md +0 -60
- package/packages/@monomind/cli/.claude/commands/mastermind/references/claude-code-tools.md +0 -50
- package/packages/@monomind/cli/.claude/commands/mastermind/references/codex-tools.md +0 -64
- package/packages/@monomind/cli/.claude/commands/mastermind/references/copilot-tools.md +0 -49
- package/packages/@monomind/cli/.claude/commands/mastermind/references/gemini-tools.md +0 -63
- package/packages/@monomind/cli/.claude/commands/mastermind/references/pi-tools.md +0 -28
- package/packages/@monomind/cli/.claude/commands/mastermind/release.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/repeat.md +0 -254
- package/packages/@monomind/cli/.claude/commands/mastermind/research.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/review.md +0 -34
- package/packages/@monomind/cli/.claude/commands/mastermind/runorg.md +0 -71
- package/packages/@monomind/cli/.claude/commands/mastermind/runorgv1.md +0 -159
- package/packages/@monomind/cli/.claude/commands/mastermind/sales.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/skill-builder.md +0 -17
- package/packages/@monomind/cli/.claude/commands/mastermind/specialagents.md +0 -122
- package/packages/@monomind/cli/.claude/commands/mastermind/stoporg.md +0 -78
- package/packages/@monomind/cli/.claude/commands/mastermind/swarm.md +0 -158
- package/packages/@monomind/cli/.claude/commands/mastermind/taskdev.md +0 -23
- package/packages/@monomind/cli/.claude/commands/mastermind/tdd.md +0 -19
- package/packages/@monomind/cli/.claude/commands/mastermind/techport.md +0 -27
- package/packages/@monomind/cli/.claude/commands/mastermind/topology.md +0 -121
- package/packages/@monomind/cli/.claude/commands/mastermind/understand.md +0 -136
- package/packages/@monomind/cli/.claude/commands/mastermind/verify.md +0 -19
- package/packages/@monomind/cli/.claude/commands/mastermind/worktree.md +0 -17
- package/packages/@monomind/cli/.claude/commands/mastermind.md +0 -140
- package/packages/@monomind/cli/.claude/commands/memory/README.md +0 -79
- package/packages/@monomind/cli/.claude/commands/memory/memory-search.md +0 -77
- package/packages/@monomind/cli/.claude/commands/monitoring/README.md +0 -69
- package/packages/@monomind/cli/.claude/commands/monitoring/agent-metrics.md +0 -65
- package/packages/@monomind/cli/.claude/commands/monitoring/agents.md +0 -71
- package/packages/@monomind/cli/.claude/commands/monitoring/status.md +0 -108
- package/packages/@monomind/cli/.claude/commands/monobrowse.md +0 -21
- package/packages/@monomind/cli/.claude/commands/monoes/README.md +0 -30
- package/packages/@monomind/cli/.claude/commands/monoes/install.md +0 -163
- package/packages/@monomind/cli/.claude/commands/monoes/monoagent.md +0 -148
- package/packages/@monomind/cli/.claude/commands/monoes/monoclip.md +0 -64
- package/packages/@monomind/cli/.claude/commands/monoes/monotask.md +0 -137
- package/packages/@monomind/cli/.claude/commands/monograph/README.md +0 -102
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-build.md +0 -79
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-search.md +0 -96
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-stats.md +0 -53
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-watch.md +0 -63
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-wiki.md +0 -91
- package/packages/@monomind/cli/.claude/commands/optimization/auto-topology.md +0 -85
- package/packages/@monomind/cli/.claude/commands/optimization/performance-optimize.md +0 -79
- package/packages/@monomind/cli/.claude/commands/pair/README.md +0 -79
- package/packages/@monomind/cli/.claude/commands/pair/examples.md +0 -156
- package/packages/@monomind/cli/.claude/commands/pair/modes.md +0 -122
- package/packages/@monomind/cli/.claude/commands/pair/session.md +0 -124
- package/packages/@monomind/cli/.claude/commands/stream-chain/pipeline.md +0 -116
- package/packages/@monomind/cli/.claude/commands/stream-chain/run.md +0 -156
- package/packages/@monomind/cli/.claude/commands/swarm/README.md +0 -40
- package/packages/@monomind/cli/.claude/commands/swarm/analysis.md +0 -73
- package/packages/@monomind/cli/.claude/commands/swarm/development.md +0 -72
- package/packages/@monomind/cli/.claude/commands/swarm/examples.md +0 -103
- package/packages/@monomind/cli/.claude/commands/swarm/maintenance.md +0 -75
- package/packages/@monomind/cli/.claude/commands/swarm/optimization.md +0 -84
- package/packages/@monomind/cli/.claude/commands/swarm/research.md +0 -76
- package/packages/@monomind/cli/.claude/commands/swarm/swarm.md +0 -79
- package/packages/@monomind/cli/.claude/commands/swarm/testing.md +0 -80
- package/packages/@monomind/cli/.claude/commands/tokens.md +0 -18
- package/packages/@monomind/cli/.claude/commands/truth/start.md +0 -121
- package/packages/@monomind/cli/.claude/commands/ts.md +0 -14
- package/packages/@monomind/cli/.claude/commands/workflows/README.md +0 -64
- package/packages/@monomind/cli/.claude/commands/workflows/development.md +0 -86
- package/packages/@monomind/cli/.claude/commands/workflows/research.md +0 -89
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-create.md +0 -83
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-execute.md +0 -101
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-export.md +0 -88
- package/packages/@monomind/cli/.claude/helpers/build-skill-registry.cjs +0 -323
- package/packages/@monomind/cli/.claude/helpers/control-start.cjs +0 -327
- package/packages/@monomind/cli/.claude/helpers/control-stop.cjs +0 -95
- package/packages/@monomind/cli/.claude/helpers/event-logger.cjs +0 -266
- package/packages/@monomind/cli/.claude/helpers/graphify-freshen.cjs +0 -148
- package/packages/@monomind/cli/.claude/helpers/handlers/adr-draft-handler.cjs +0 -78
- package/packages/@monomind/cli/.claude/helpers/handlers/agent-start-handler.cjs +0 -132
- package/packages/@monomind/cli/.claude/helpers/handlers/budget-status-handler.cjs +0 -14
- package/packages/@monomind/cli/.claude/helpers/handlers/capture-handler.cjs +0 -736
- package/packages/@monomind/cli/.claude/helpers/handlers/compact-handler.cjs +0 -35
- package/packages/@monomind/cli/.claude/helpers/handlers/edit-handler.cjs +0 -178
- package/packages/@monomind/cli/.claude/helpers/handlers/gates-handler.cjs +0 -494
- package/packages/@monomind/cli/.claude/helpers/handlers/graph-status-handler.cjs +0 -45
- package/packages/@monomind/cli/.claude/helpers/handlers/loops-status-handler.cjs +0 -48
- package/packages/@monomind/cli/.claude/helpers/handlers/route-handler.cjs +0 -770
- package/packages/@monomind/cli/.claude/helpers/handlers/session-handler.cjs +0 -286
- package/packages/@monomind/cli/.claude/helpers/handlers/session-restore-handler.cjs +0 -573
- package/packages/@monomind/cli/.claude/helpers/handlers/stats-handler.cjs +0 -14
- package/packages/@monomind/cli/.claude/helpers/handlers/task-handler.cjs +0 -241
- package/packages/@monomind/cli/.claude/helpers/hook-handler.cjs +0 -951
- package/packages/@monomind/cli/.claude/helpers/intelligence.cjs +0 -510
- package/packages/@monomind/cli/.claude/helpers/learning-service.mjs +0 -61
- package/packages/@monomind/cli/.claude/helpers/loop-tracker.cjs +0 -119
- package/packages/@monomind/cli/.claude/helpers/mastermind-activate.cjs +0 -35
- package/packages/@monomind/cli/.claude/helpers/memory-palace.cjs +0 -461
- package/packages/@monomind/cli/.claude/helpers/memory.cjs +0 -193
- package/packages/@monomind/cli/.claude/helpers/metrics-db.mjs +0 -87
- package/packages/@monomind/cli/.claude/helpers/monolean-activate.cjs +0 -30
- package/packages/@monomind/cli/.claude/helpers/monolean-config.cjs +0 -76
- package/packages/@monomind/cli/.claude/helpers/monolean-instructions.cjs +0 -109
- package/packages/@monomind/cli/.claude/helpers/monolean-propagate.cjs +0 -13
- package/packages/@monomind/cli/.claude/helpers/monolean-tracker.cjs +0 -18
- package/packages/@monomind/cli/.claude/helpers/router.cjs +0 -571
- package/packages/@monomind/cli/.claude/helpers/session.cjs +0 -145
- package/packages/@monomind/cli/.claude/helpers/skill-registry.json +0 -4948
- package/packages/@monomind/cli/.claude/helpers/statusline.cjs +0 -1368
- package/packages/@monomind/cli/.claude/helpers/toggle-statusline.cjs +0 -73
- package/packages/@monomind/cli/.claude/helpers/token-tracker.cjs +0 -1034
- package/packages/@monomind/cli/.claude/helpers/utils/agent-registrations.cjs +0 -41
- package/packages/@monomind/cli/.claude/helpers/utils/fs-helpers.cjs +0 -183
- package/packages/@monomind/cli/.claude/helpers/utils/micro-agents.cjs +0 -358
- package/packages/@monomind/cli/.claude/helpers/utils/monograph.cjs +0 -692
- package/packages/@monomind/cli/.claude/helpers/utils/system-pressure.cjs +0 -46
- package/packages/@monomind/cli/.claude/helpers/utils/telemetry.cjs +0 -162
- package/packages/@monomind/cli/.claude/settings.json +0 -448
- package/packages/@monomind/cli/.claude/skills/agent-browser-testing/SKILL.md +0 -964
- package/packages/@monomind/cli/.claude/skills/agentic-jujutsu/SKILL.md +0 -645
- package/packages/@monomind/cli/.claude/skills/github-issue-triage/SKILL.md +0 -354
- package/packages/@monomind/cli/.claude/skills/github-repo-recap/SKILL.md +0 -207
- package/packages/@monomind/cli/.claude/skills/hive-mind-advanced/SKILL.md +0 -694
- package/packages/@monomind/cli/.claude/skills/hooks-automation/SKILL.md +0 -1192
- package/packages/@monomind/cli/.claude/skills/mastermind-access/SKILL.md +0 -236
- package/packages/@monomind/cli/.claude/skills/mastermind-activity/SKILL.md +0 -191
- package/packages/@monomind/cli/.claude/skills/mastermind-adapter-manager/SKILL.md +0 -259
- package/packages/@monomind/cli/.claude/skills/mastermind-adapters/SKILL.md +0 -204
- package/packages/@monomind/cli/.claude/skills/mastermind-agent-detail/SKILL.md +0 -242
- package/packages/@monomind/cli/.claude/skills/mastermind-agent-select/SKILL.md +0 -132
- package/packages/@monomind/cli/.claude/skills/mastermind-agents/SKILL.md +0 -182
- package/packages/@monomind/cli/.claude/skills/mastermind-approval-detail/SKILL.md +0 -259
- package/packages/@monomind/cli/.claude/skills/mastermind-approvev1/SKILL.md +0 -191
- package/packages/@monomind/cli/.claude/skills/mastermind-architect/SKILL.md +0 -862
- package/packages/@monomind/cli/.claude/skills/mastermind-autodev/SKILL.md +0 -360
- package/packages/@monomind/cli/.claude/skills/mastermind-backup/SKILL.md +0 -197
- package/packages/@monomind/cli/.claude/skills/mastermind-bootstrap/SKILL.md +0 -190
- package/packages/@monomind/cli/.claude/skills/mastermind-budgets/SKILL.md +0 -237
- package/packages/@monomind/cli/.claude/skills/mastermind-build/SKILL.md +0 -169
- package/packages/@monomind/cli/.claude/skills/mastermind-companies/SKILL.md +0 -256
- package/packages/@monomind/cli/.claude/skills/mastermind-content/SKILL.md +0 -197
- package/packages/@monomind/cli/.claude/skills/mastermind-costs/SKILL.md +0 -151
- package/packages/@monomind/cli/.claude/skills/mastermind-createorg/SKILL.md +0 -247
- package/packages/@monomind/cli/.claude/skills/mastermind-debug/SKILL.md +0 -277
- package/packages/@monomind/cli/.claude/skills/mastermind-delegation/SKILL.md +0 -83
- package/packages/@monomind/cli/.claude/skills/mastermind-design/SKILL.md +0 -190
- package/packages/@monomind/cli/.claude/skills/mastermind-diagnose/SKILL.md +0 -249
- package/packages/@monomind/cli/.claude/skills/mastermind-env/SKILL.md +0 -203
- package/packages/@monomind/cli/.claude/skills/mastermind-environments/SKILL.md +0 -250
- package/packages/@monomind/cli/.claude/skills/mastermind-execute/SKILL.md +0 -104
- package/packages/@monomind/cli/.claude/skills/mastermind-export/SKILL.md +0 -333
- package/packages/@monomind/cli/.claude/skills/mastermind-finance/SKILL.md +0 -166
- package/packages/@monomind/cli/.claude/skills/mastermind-finish/SKILL.md +0 -251
- package/packages/@monomind/cli/.claude/skills/mastermind-goal-detail/SKILL.md +0 -255
- package/packages/@monomind/cli/.claude/skills/mastermind-goals/SKILL.md +0 -149
- package/packages/@monomind/cli/.claude/skills/mastermind-heartbeatv1/SKILL.md +0 -167
- package/packages/@monomind/cli/.claude/skills/mastermind-idea/SKILL.md +0 -1142
- package/packages/@monomind/cli/.claude/skills/mastermind-import/SKILL.md +0 -281
- package/packages/@monomind/cli/.claude/skills/mastermind-inbox/SKILL.md +0 -226
- package/packages/@monomind/cli/.claude/skills/mastermind-instance/SKILL.md +0 -235
- package/packages/@monomind/cli/.claude/skills/mastermind-instance-settings/SKILL.md +0 -315
- package/packages/@monomind/cli/.claude/skills/mastermind-intake/SKILL.md +0 -83
- package/packages/@monomind/cli/.claude/skills/mastermind-invite-landing/SKILL.md +0 -227
- package/packages/@monomind/cli/.claude/skills/mastermind-invites/SKILL.md +0 -254
- package/packages/@monomind/cli/.claude/skills/mastermind-issue-detail/SKILL.md +0 -291
- package/packages/@monomind/cli/.claude/skills/mastermind-issues/SKILL.md +0 -235
- package/packages/@monomind/cli/.claude/skills/mastermind-join-queue/SKILL.md +0 -170
- package/packages/@monomind/cli/.claude/skills/mastermind-liveness/SKILL.md +0 -392
- package/packages/@monomind/cli/.claude/skills/mastermind-marketing/SKILL.md +0 -228
- package/packages/@monomind/cli/.claude/skills/mastermind-marketing/references/copywriting-frameworks.md +0 -181
- package/packages/@monomind/cli/.claude/skills/mastermind-marketing/references/persuasion-psychology.md +0 -158
- package/packages/@monomind/cli/.claude/skills/mastermind-memory/SKILL.md +0 -321
- package/packages/@monomind/cli/.claude/skills/mastermind-monitor/SKILL.md +0 -1284
- package/packages/@monomind/cli/.claude/skills/mastermind-monotask/SKILL.md +0 -350
- package/packages/@monomind/cli/.claude/skills/mastermind-my-issues/SKILL.md +0 -146
- package/packages/@monomind/cli/.claude/skills/mastermind-new-agent/SKILL.md +0 -241
- package/packages/@monomind/cli/.claude/skills/mastermind-ops/SKILL.md +0 -168
- package/packages/@monomind/cli/.claude/skills/mastermind-org-chart/SKILL.md +0 -209
- package/packages/@monomind/cli/.claude/skills/mastermind-org-settings/SKILL.md +0 -274
- package/packages/@monomind/cli/.claude/skills/mastermind-orgs/SKILL.md +0 -120
- package/packages/@monomind/cli/.claude/skills/mastermind-orgstatus/SKILL.md +0 -254
- package/packages/@monomind/cli/.claude/skills/mastermind-plan/SKILL.md +0 -217
- package/packages/@monomind/cli/.claude/skills/mastermind-plan-to-tasks/SKILL.md +0 -136
- package/packages/@monomind/cli/.claude/skills/mastermind-plugin-manager/SKILL.md +0 -241
- package/packages/@monomind/cli/.claude/skills/mastermind-plugin-settings/SKILL.md +0 -273
- package/packages/@monomind/cli/.claude/skills/mastermind-plugins/SKILL.md +0 -190
- package/packages/@monomind/cli/.claude/skills/mastermind-profile/SKILL.md +0 -187
- package/packages/@monomind/cli/.claude/skills/mastermind-project-detail/SKILL.md +0 -249
- package/packages/@monomind/cli/.claude/skills/mastermind-project-workspace/SKILL.md +0 -244
- package/packages/@monomind/cli/.claude/skills/mastermind-projects/SKILL.md +0 -167
- package/packages/@monomind/cli/.claude/skills/mastermind-protocol/SKILL.md +0 -404
- package/packages/@monomind/cli/.claude/skills/mastermind-receive-review/SKILL.md +0 -213
- package/packages/@monomind/cli/.claude/skills/mastermind-release/SKILL.md +0 -168
- package/packages/@monomind/cli/.claude/skills/mastermind-repeat/SKILL.md +0 -171
- package/packages/@monomind/cli/.claude/skills/mastermind-research/SKILL.md +0 -168
- package/packages/@monomind/cli/.claude/skills/mastermind-review/SKILL.md +0 -233
- package/packages/@monomind/cli/.claude/skills/mastermind-routine-detail/SKILL.md +0 -253
- package/packages/@monomind/cli/.claude/skills/mastermind-routines/SKILL.md +0 -203
- package/packages/@monomind/cli/.claude/skills/mastermind-runorg/SKILL.md +0 -43
- package/packages/@monomind/cli/.claude/skills/mastermind-runorgv1/SKILL.md +0 -731
- package/packages/@monomind/cli/.claude/skills/mastermind-sales/SKILL.md +0 -170
- package/packages/@monomind/cli/.claude/skills/mastermind-search/SKILL.md +0 -186
- package/packages/@monomind/cli/.claude/skills/mastermind-secrets/SKILL.md +0 -199
- package/packages/@monomind/cli/.claude/skills/mastermind-skill-builder/SKILL.md +0 -447
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/SKILL.md +0 -156
- package/packages/@monomind/cli/.claude/skills/mastermind-stoporg/SKILL.md +0 -147
- package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/SKILL.md +0 -377
- package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/code-quality-reviewer-prompt.md +0 -60
- package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/final-reviewer-prompt.md +0 -144
- package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/implementer-prompt.md +0 -114
- package/packages/@monomind/cli/.claude/skills/mastermind-taskdev/spec-reviewer-prompt.md +0 -80
- package/packages/@monomind/cli/.claude/skills/mastermind-tasks/SKILL.md +0 -152
- package/packages/@monomind/cli/.claude/skills/mastermind-tdd/SKILL.md +0 -424
- package/packages/@monomind/cli/.claude/skills/mastermind-techport/SKILL.md +0 -777
- package/packages/@monomind/cli/.claude/skills/mastermind-threads/SKILL.md +0 -259
- package/packages/@monomind/cli/.claude/skills/mastermind-tree-control/SKILL.md +0 -250
- package/packages/@monomind/cli/.claude/skills/mastermind-verify/SKILL.md +0 -196
- package/packages/@monomind/cli/.claude/skills/mastermind-wiki/SKILL.md +0 -314
- package/packages/@monomind/cli/.claude/skills/mastermind-workspace-detail/SKILL.md +0 -317
- package/packages/@monomind/cli/.claude/skills/mastermind-workspaces/SKILL.md +0 -261
- package/packages/@monomind/cli/.claude/skills/mastermind-worktree/SKILL.md +0 -215
- package/packages/@monomind/cli/.claude/skills/monolean/SKILL.md +0 -118
- package/packages/@monomind/cli/.claude/skills/monolean-audit/SKILL.md +0 -41
- package/packages/@monomind/cli/.claude/skills/monolean-debt/SKILL.md +0 -46
- package/packages/@monomind/cli/.claude/skills/monolean-help/SKILL.md +0 -60
- package/packages/@monomind/cli/.claude/skills/monolean-review/SKILL.md +0 -57
- package/packages/@monomind/cli/.claude/skills/monomind/browse-agentcore.md +0 -115
- package/packages/@monomind/cli/.claude/skills/monomind/browse-electron.md +0 -188
- package/packages/@monomind/cli/.claude/skills/monomind/browse-qa.md +0 -228
- package/packages/@monomind/cli/.claude/skills/monomind/browse-references/authentication.md +0 -161
- package/packages/@monomind/cli/.claude/skills/monomind/browse-references/trust-boundaries.md +0 -40
- package/packages/@monomind/cli/.claude/skills/monomind/browse-references/video-recording.md +0 -83
- package/packages/@monomind/cli/.claude/skills/monomind/browse-slack.md +0 -188
- package/packages/@monomind/cli/.claude/skills/monomind/browse-vercel.md +0 -239
- package/packages/@monomind/cli/.claude/skills/monomind/browse.md +0 -724
- package/packages/@monomind/cli/.claude/skills/monomotion/SKILL.md +0 -145
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/api-control.md +0 -139
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/effects.md +0 -109
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/integration.md +0 -140
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/scroll.md +0 -131
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/sequencing.md +0 -105
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/svg.md +0 -101
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/text.md +0 -119
- package/packages/@monomind/cli/.claude/skills/pair-programming/SKILL.md +0 -1202
- package/packages/@monomind/cli/.claude/skills/performance-analysis/SKILL.md +0 -560
- package/packages/@monomind/cli/.claude/skills/skill-builder/SKILL.md +0 -910
- package/packages/@monomind/cli/.claude/skills/specialagent/SKILL.md +0 -206
- package/packages/@monomind/cli/.claude/skills/stop-slop/SKILL.md +0 -67
- package/packages/@monomind/cli/.claude/skills/stop-slop/references/examples.md +0 -61
- package/packages/@monomind/cli/.claude/skills/stop-slop/references/phrases.md +0 -130
- package/packages/@monomind/cli/.claude/skills/stop-slop/references/structures.md +0 -136
- package/packages/@monomind/cli/.claude/skills/swarm-advanced/SKILL.md +0 -936
- package/packages/@monomind/cli/.claude/skills/swarm-orchestration/SKILL.md +0 -179
- package/packages/@monomind/cli/.claude/skills/verification-quality/SKILL.md +0 -674
- package/packages/@monomind/cli/README.md +0 -414
- package/packages/@monomind/cli/bin/cli.js +0 -379
- package/packages/@monomind/cli/bin/mcp-server.js +0 -208
- package/packages/@monomind/cli/bin/preinstall.cjs +0 -2
- package/packages/@monomind/cli/dist/src/agents/registry-builder.d.ts +0 -64
- package/packages/@monomind/cli/dist/src/agents/registry-builder.js +0 -228
- package/packages/@monomind/cli/dist/src/autopilot-state.d.ts +0 -77
- package/packages/@monomind/cli/dist/src/autopilot-state.js +0 -336
- package/packages/@monomind/cli/dist/src/browser/action-builder/analyzer.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/browser/action-builder/analyzer.js +0 -64
- package/packages/@monomind/cli/dist/src/browser/action-builder/types.d.ts +0 -47
- package/packages/@monomind/cli/dist/src/browser/action-builder/types.js +0 -2
- package/packages/@monomind/cli/dist/src/browser/adapters/gemini.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/browser/adapters/gemini.js +0 -16
- package/packages/@monomind/cli/dist/src/browser/adapters/index.d.ts +0 -19
- package/packages/@monomind/cli/dist/src/browser/adapters/index.js +0 -23
- package/packages/@monomind/cli/dist/src/browser/adapters/instagram.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/browser/adapters/instagram.js +0 -17
- package/packages/@monomind/cli/dist/src/browser/adapters/linkedin.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/browser/adapters/linkedin.js +0 -19
- package/packages/@monomind/cli/dist/src/browser/adapters/x.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/browser/adapters/x.js +0 -19
- package/packages/@monomind/cli/dist/src/browser/dashboard/server.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/browser/dashboard/server.js +0 -215
- package/packages/@monomind/cli/dist/src/browser/dashboard/ui.html +0 -261
- package/packages/@monomind/cli/dist/src/browser/workflow/engine.d.ts +0 -15
- package/packages/@monomind/cli/dist/src/browser/workflow/engine.js +0 -127
- package/packages/@monomind/cli/dist/src/browser/workflow/expression.d.ts +0 -4
- package/packages/@monomind/cli/dist/src/browser/workflow/expression.js +0 -64
- package/packages/@monomind/cli/dist/src/browser/workflow/store.d.ts +0 -24
- package/packages/@monomind/cli/dist/src/browser/workflow/store.js +0 -145
- package/packages/@monomind/cli/dist/src/browser/workflow/types.d.ts +0 -48
- package/packages/@monomind/cli/dist/src/browser/workflow/types.js +0 -2
- package/packages/@monomind/cli/dist/src/capabilities/cap-code.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/capabilities/cap-code.js +0 -20
- package/packages/@monomind/cli/dist/src/capabilities/cap-data.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/capabilities/cap-data.js +0 -165
- package/packages/@monomind/cli/dist/src/capabilities/cap-documents.d.ts +0 -5
- package/packages/@monomind/cli/dist/src/capabilities/cap-documents.js +0 -139
- package/packages/@monomind/cli/dist/src/capabilities/cap-graph.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/capabilities/cap-graph.js +0 -84
- package/packages/@monomind/cli/dist/src/capabilities/cap-media.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/capabilities/cap-media.js +0 -147
- package/packages/@monomind/cli/dist/src/capabilities/cap-timeline.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/capabilities/cap-timeline.js +0 -90
- package/packages/@monomind/cli/dist/src/capabilities/index.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/capabilities/index.js +0 -18
- package/packages/@monomind/cli/dist/src/capabilities/manager.d.ts +0 -13
- package/packages/@monomind/cli/dist/src/capabilities/manager.js +0 -79
- package/packages/@monomind/cli/dist/src/capabilities/scanner.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/capabilities/scanner.js +0 -125
- package/packages/@monomind/cli/dist/src/capabilities/types.d.ts +0 -64
- package/packages/@monomind/cli/dist/src/capabilities/types.js +0 -2
- package/packages/@monomind/cli/dist/src/commands/agent-lifecycle.d.ts +0 -17
- package/packages/@monomind/cli/dist/src/commands/agent-lifecycle.js +0 -346
- package/packages/@monomind/cli/dist/src/commands/agent-ops.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/agent-ops.js +0 -277
- package/packages/@monomind/cli/dist/src/commands/agent.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/agent.js +0 -40
- package/packages/@monomind/cli/dist/src/commands/analyze-ast.d.ts +0 -26
- package/packages/@monomind/cli/dist/src/commands/analyze-ast.js +0 -284
- package/packages/@monomind/cli/dist/src/commands/analyze-diff.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/analyze-diff.js +0 -395
- package/packages/@monomind/cli/dist/src/commands/analyze-imports.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/commands/analyze-imports.js +0 -287
- package/packages/@monomind/cli/dist/src/commands/analyze-symbols.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/commands/analyze-symbols.js +0 -302
- package/packages/@monomind/cli/dist/src/commands/analyze.d.ts +0 -53
- package/packages/@monomind/cli/dist/src/commands/analyze.js +0 -217
- package/packages/@monomind/cli/dist/src/commands/autopilot.d.ts +0 -15
- package/packages/@monomind/cli/dist/src/commands/autopilot.js +0 -370
- package/packages/@monomind/cli/dist/src/commands/browse-action.d.ts +0 -4
- package/packages/@monomind/cli/dist/src/commands/browse-action.js +0 -244
- package/packages/@monomind/cli/dist/src/commands/browse-platform.d.ts +0 -4
- package/packages/@monomind/cli/dist/src/commands/browse-platform.js +0 -117
- package/packages/@monomind/cli/dist/src/commands/browse-workflow.d.ts +0 -4
- package/packages/@monomind/cli/dist/src/commands/browse-workflow.js +0 -183
- package/packages/@monomind/cli/dist/src/commands/browse.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/commands/browse.js +0 -17
- package/packages/@monomind/cli/dist/src/commands/cleanup.d.ts +0 -45
- package/packages/@monomind/cli/dist/src/commands/cleanup.js +0 -581
- package/packages/@monomind/cli/dist/src/commands/completions.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/completions.js +0 -261
- package/packages/@monomind/cli/dist/src/commands/config.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/config.js +0 -462
- package/packages/@monomind/cli/dist/src/commands/crash-reporting.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/crash-reporting.js +0 -50
- package/packages/@monomind/cli/dist/src/commands/design-detect.d.ts +0 -27
- package/packages/@monomind/cli/dist/src/commands/design-detect.js +0 -220
- package/packages/@monomind/cli/dist/src/commands/design-palette.d.ts +0 -21
- package/packages/@monomind/cli/dist/src/commands/design-palette.js +0 -538
- package/packages/@monomind/cli/dist/src/commands/doc.d.ts +0 -7
- package/packages/@monomind/cli/dist/src/commands/doc.js +0 -268
- package/packages/@monomind/cli/dist/src/commands/doctor-env-checks.d.ts +0 -26
- package/packages/@monomind/cli/dist/src/commands/doctor-env-checks.js +0 -194
- package/packages/@monomind/cli/dist/src/commands/doctor-monoes-checks.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/commands/doctor-monoes-checks.js +0 -160
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.d.ts +0 -46
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.js +0 -764
- package/packages/@monomind/cli/dist/src/commands/doctor.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/doctor.js +0 -232
- package/packages/@monomind/cli/dist/src/commands/guidance.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/commands/guidance.js +0 -163
- package/packages/@monomind/cli/dist/src/commands/hooks-core-commands.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/hooks-core-commands.js +0 -377
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-commands.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-commands.js +0 -417
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-gaps.d.ts +0 -6
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-gaps.js +0 -219
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-routing.d.ts +0 -7
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-routing.js +0 -399
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-utils.d.ts +0 -42
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-utils.js +0 -220
- package/packages/@monomind/cli/dist/src/commands/hooks-extended-commands.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/commands/hooks-extended-commands.js +0 -243
- package/packages/@monomind/cli/dist/src/commands/hooks-formatting.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/commands/hooks-formatting.js +0 -25
- package/packages/@monomind/cli/dist/src/commands/hooks-routing-commands.d.ts +0 -15
- package/packages/@monomind/cli/dist/src/commands/hooks-routing-commands.js +0 -725
- package/packages/@monomind/cli/dist/src/commands/hooks-workers.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/commands/hooks-workers.js +0 -547
- package/packages/@monomind/cli/dist/src/commands/hooks.d.ts +0 -16
- package/packages/@monomind/cli/dist/src/commands/hooks.js +0 -497
- package/packages/@monomind/cli/dist/src/commands/index.d.ts +0 -65
- package/packages/@monomind/cli/dist/src/commands/index.js +0 -236
- package/packages/@monomind/cli/dist/src/commands/init-subcommands.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/init-subcommands.js +0 -156
- package/packages/@monomind/cli/dist/src/commands/init-upgrade.d.ts +0 -6
- package/packages/@monomind/cli/dist/src/commands/init-upgrade.js +0 -203
- package/packages/@monomind/cli/dist/src/commands/init-wizard.d.ts +0 -6
- package/packages/@monomind/cli/dist/src/commands/init-wizard.js +0 -244
- package/packages/@monomind/cli/dist/src/commands/init.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/init.js +0 -411
- package/packages/@monomind/cli/dist/src/commands/mcp.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/commands/mcp.js +0 -747
- package/packages/@monomind/cli/dist/src/commands/memory-admin.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/commands/memory-admin.js +0 -345
- package/packages/@monomind/cli/dist/src/commands/memory-crud.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/commands/memory-crud.js +0 -389
- package/packages/@monomind/cli/dist/src/commands/memory-list.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/memory-list.js +0 -321
- package/packages/@monomind/cli/dist/src/commands/memory-transfer.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/memory-transfer.js +0 -199
- package/packages/@monomind/cli/dist/src/commands/memory.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/commands/memory.js +0 -282
- package/packages/@monomind/cli/dist/src/commands/monograph.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/monograph.js +0 -548
- package/packages/@monomind/cli/dist/src/commands/neural-core.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/neural-core.js +0 -413
- package/packages/@monomind/cli/dist/src/commands/neural-optimize.d.ts +0 -7
- package/packages/@monomind/cli/dist/src/commands/neural-optimize.js +0 -330
- package/packages/@monomind/cli/dist/src/commands/neural-registry.d.ts +0 -7
- package/packages/@monomind/cli/dist/src/commands/neural-registry.js +0 -290
- package/packages/@monomind/cli/dist/src/commands/org-observe.d.ts +0 -18
- package/packages/@monomind/cli/dist/src/commands/org-observe.js +0 -353
- package/packages/@monomind/cli/dist/src/commands/org.d.ts +0 -25
- package/packages/@monomind/cli/dist/src/commands/org.js +0 -860
- package/packages/@monomind/cli/dist/src/commands/performance.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/performance.js +0 -656
- package/packages/@monomind/cli/dist/src/commands/platforms.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/commands/platforms.js +0 -600
- package/packages/@monomind/cli/dist/src/commands/providers.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/providers.js +0 -351
- package/packages/@monomind/cli/dist/src/commands/report-crash.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/report-crash.js +0 -66
- package/packages/@monomind/cli/dist/src/commands/route.d.ts +0 -16
- package/packages/@monomind/cli/dist/src/commands/route.js +0 -944
- package/packages/@monomind/cli/dist/src/commands/search-universal.d.ts +0 -19
- package/packages/@monomind/cli/dist/src/commands/search-universal.js +0 -151
- package/packages/@monomind/cli/dist/src/commands/security-cve.d.ts +0 -6
- package/packages/@monomind/cli/dist/src/commands/security-cve.js +0 -308
- package/packages/@monomind/cli/dist/src/commands/security-misc.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/security-misc.js +0 -336
- package/packages/@monomind/cli/dist/src/commands/security-scan.d.ts +0 -47
- package/packages/@monomind/cli/dist/src/commands/security-scan.js +0 -447
- package/packages/@monomind/cli/dist/src/commands/security.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/security.js +0 -41
- package/packages/@monomind/cli/dist/src/commands/session.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/session.js +0 -660
- package/packages/@monomind/cli/dist/src/commands/start.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/start.js +0 -490
- package/packages/@monomind/cli/dist/src/commands/status.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/status.js +0 -642
- package/packages/@monomind/cli/dist/src/commands/swarm.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/swarm.js +0 -906
- package/packages/@monomind/cli/dist/src/commands/task.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/task.js +0 -639
- package/packages/@monomind/cli/dist/src/commands/tokens.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/tokens.js +0 -206
- package/packages/@monomind/cli/dist/src/commands/update.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/commands/update.js +0 -288
- package/packages/@monomind/cli/dist/src/consensus/audit-writer.d.ts +0 -77
- package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +0 -196
- package/packages/@monomind/cli/dist/src/consensus/tally.d.ts +0 -19
- package/packages/@monomind/cli/dist/src/consensus/tally.js +0 -34
- package/packages/@monomind/cli/dist/src/index.d.ts +0 -81
- package/packages/@monomind/cli/dist/src/index.js +0 -574
- package/packages/@monomind/cli/dist/src/init/claudemd-generator.d.ts +0 -25
- package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +0 -624
- package/packages/@monomind/cli/dist/src/init/executor.d.ts +0 -47
- package/packages/@monomind/cli/dist/src/init/executor.js +0 -2387
- package/packages/@monomind/cli/dist/src/init/helpers-generator.d.ts +0 -73
- package/packages/@monomind/cli/dist/src/init/helpers-generator.js +0 -1335
- package/packages/@monomind/cli/dist/src/init/index.d.ts +0 -13
- package/packages/@monomind/cli/dist/src/init/index.js +0 -15
- package/packages/@monomind/cli/dist/src/init/mcp-generator.d.ts +0 -26
- package/packages/@monomind/cli/dist/src/init/mcp-generator.js +0 -107
- package/packages/@monomind/cli/dist/src/init/settings-generator.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/init/settings-generator.js +0 -487
- package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.d.ts +0 -38
- package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.js +0 -602
- package/packages/@monomind/cli/dist/src/init/statusline-generator.d.ts +0 -25
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +0 -1358
- package/packages/@monomind/cli/dist/src/init/types.d.ts +0 -308
- package/packages/@monomind/cli/dist/src/init/types.js +0 -247
- package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.d.ts +0 -75
- package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.js +0 -556
- package/packages/@monomind/cli/dist/src/mcp-client.d.ts +0 -64
- package/packages/@monomind/cli/dist/src/mcp-client.js +0 -338
- package/packages/@monomind/cli/dist/src/mcp-server.d.ts +0 -170
- package/packages/@monomind/cli/dist/src/mcp-server.js +0 -964
- package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.d.ts +0 -30
- package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.js +0 -603
- package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.d.ts +0 -38
- package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.js +0 -389
- package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.d.ts +0 -75
- package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.js +0 -125
- package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.js +0 -237
- package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.js +0 -1111
- package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.js +0 -827
- package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.js +0 -447
- package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +0 -866
- package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.js +0 -582
- package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.js +0 -58
- package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.d.ts +0 -15
- package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +0 -634
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +0 -1237
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-embedding.d.ts +0 -161
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-embedding.js +0 -516
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.d.ts +0 -22
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.js +0 -888
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.d.ts +0 -26
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.js +0 -1582
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +0 -51
- package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +0 -31
- package/packages/@monomind/cli/dist/src/mcp-tools/index.js +0 -31
- package/packages/@monomind/cli/dist/src/mcp-tools/knowledge-tools.d.ts +0 -6
- package/packages/@monomind/cli/dist/src/mcp-tools/knowledge-tools.js +0 -156
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.d.ts +0 -35
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +0 -776
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-compat.d.ts +0 -26
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-compat.js +0 -136
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.d.ts +0 -27
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +0 -2443
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.d.ts +0 -15
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +0 -506
- package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.d.ts +0 -16
- package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.js +0 -680
- package/packages/@monomind/cli/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts +0 -261
- package/packages/@monomind/cli/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js +0 -423
- package/packages/@monomind/cli/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +0 -137
- package/packages/@monomind/cli/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js +0 -383
- package/packages/@monomind/cli/dist/src/mcp-tools/quality-tools.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/mcp-tools/quality-tools.js +0 -58
- package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.d.ts +0 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.js +0 -44
- package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.d.ts +0 -18
- package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.js +0 -576
- package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.d.ts +0 -8
- package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.js +0 -431
- package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.js +0 -411
- package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.d.ts +0 -13
- package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.js +0 -561
- package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.d.ts +0 -28
- package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.js +0 -514
- package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.js +0 -397
- package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.d.ts +0 -27
- package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.js +0 -76
- package/packages/@monomind/cli/dist/src/mcp-tools/types.d.ts +0 -58
- package/packages/@monomind/cli/dist/src/mcp-tools/types.js +0 -98
- package/packages/@monomind/cli/dist/src/memory/embedding-operations.d.ts +0 -58
- package/packages/@monomind/cli/dist/src/memory/embedding-operations.js +0 -262
- package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.d.ts +0 -319
- package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.js +0 -698
- package/packages/@monomind/cli/dist/src/memory/hnsw-operations.d.ts +0 -142
- package/packages/@monomind/cli/dist/src/memory/hnsw-operations.js +0 -465
- package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +0 -368
- package/packages/@monomind/cli/dist/src/memory/intelligence.js +0 -1456
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +0 -333
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +0 -1104
- package/packages/@monomind/cli/dist/src/memory/memory-crud.d.ts +0 -67
- package/packages/@monomind/cli/dist/src/memory/memory-crud.js +0 -454
- package/packages/@monomind/cli/dist/src/memory/memory-initializer.d.ts +0 -101
- package/packages/@monomind/cli/dist/src/memory/memory-initializer.js +0 -431
- package/packages/@monomind/cli/dist/src/memory/memory-kg.d.ts +0 -186
- package/packages/@monomind/cli/dist/src/memory/memory-kg.js +0 -450
- package/packages/@monomind/cli/dist/src/memory/memory-migrations.d.ts +0 -30
- package/packages/@monomind/cli/dist/src/memory/memory-migrations.js +0 -136
- package/packages/@monomind/cli/dist/src/memory/memory-read.d.ts +0 -87
- package/packages/@monomind/cli/dist/src/memory/memory-read.js +0 -333
- package/packages/@monomind/cli/dist/src/memory/memory-schema.d.ts +0 -13
- package/packages/@monomind/cli/dist/src/memory/memory-schema.js +0 -167
- package/packages/@monomind/cli/dist/src/memory/query-router.d.ts +0 -44
- package/packages/@monomind/cli/dist/src/memory/query-router.js +0 -113
- package/packages/@monomind/cli/dist/src/memory/sona-optimizer.d.ts +0 -237
- package/packages/@monomind/cli/dist/src/memory/sona-optimizer.js +0 -647
- package/packages/@monomind/cli/dist/src/monovector/command-outcomes.d.ts +0 -37
- package/packages/@monomind/cli/dist/src/monovector/command-outcomes.js +0 -126
- package/packages/@monomind/cli/dist/src/monovector/coverage-router.d.ts +0 -103
- package/packages/@monomind/cli/dist/src/monovector/coverage-router.js +0 -341
- package/packages/@monomind/cli/dist/src/monovector/coverage-tools.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/monovector/coverage-tools.js +0 -115
- package/packages/@monomind/cli/dist/src/monovector/diff-classifier.d.ts +0 -174
- package/packages/@monomind/cli/dist/src/monovector/diff-classifier.js +0 -738
- package/packages/@monomind/cli/dist/src/monovector/index.d.ts +0 -54
- package/packages/@monomind/cli/dist/src/monovector/index.js +0 -55
- package/packages/@monomind/cli/dist/src/monovector/init-state.d.ts +0 -35
- package/packages/@monomind/cli/dist/src/monovector/init-state.js +0 -36
- package/packages/@monomind/cli/dist/src/monovector/route-outcomes.d.ts +0 -56
- package/packages/@monomind/cli/dist/src/monovector/route-outcomes.js +0 -189
- package/packages/@monomind/cli/dist/src/observability/replay-reader.d.ts +0 -40
- package/packages/@monomind/cli/dist/src/observability/replay-reader.js +0 -138
- package/packages/@monomind/cli/dist/src/orgrt/broker.d.ts +0 -26
- package/packages/@monomind/cli/dist/src/orgrt/broker.js +0 -73
- package/packages/@monomind/cli/dist/src/orgrt/bus.d.ts +0 -27
- package/packages/@monomind/cli/dist/src/orgrt/bus.js +0 -71
- package/packages/@monomind/cli/dist/src/orgrt/daemon.d.ts +0 -175
- package/packages/@monomind/cli/dist/src/orgrt/daemon.js +0 -965
- package/packages/@monomind/cli/dist/src/orgrt/forwarder.d.ts +0 -16
- package/packages/@monomind/cli/dist/src/orgrt/forwarder.js +0 -171
- package/packages/@monomind/cli/dist/src/orgrt/inbox.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/orgrt/inbox.js +0 -91
- package/packages/@monomind/cli/dist/src/orgrt/mailbox.d.ts +0 -49
- package/packages/@monomind/cli/dist/src/orgrt/mailbox.js +0 -75
- package/packages/@monomind/cli/dist/src/orgrt/migrate.d.ts +0 -26
- package/packages/@monomind/cli/dist/src/orgrt/migrate.js +0 -118
- package/packages/@monomind/cli/dist/src/orgrt/policy.d.ts +0 -28
- package/packages/@monomind/cli/dist/src/orgrt/policy.js +0 -146
- package/packages/@monomind/cli/dist/src/orgrt/provider.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/orgrt/provider.js +0 -55
- package/packages/@monomind/cli/dist/src/orgrt/reporting.d.ts +0 -40
- package/packages/@monomind/cli/dist/src/orgrt/reporting.js +0 -134
- package/packages/@monomind/cli/dist/src/orgrt/scheduler.d.ts +0 -13
- package/packages/@monomind/cli/dist/src/orgrt/scheduler.js +0 -48
- package/packages/@monomind/cli/dist/src/orgrt/server.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/orgrt/server.js +0 -88
- package/packages/@monomind/cli/dist/src/orgrt/session.d.ts +0 -62
- package/packages/@monomind/cli/dist/src/orgrt/session.js +0 -157
- package/packages/@monomind/cli/dist/src/orgrt/templates.d.ts +0 -17
- package/packages/@monomind/cli/dist/src/orgrt/templates.js +0 -62
- package/packages/@monomind/cli/dist/src/orgrt/test-loop.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/orgrt/test-loop.js +0 -108
- package/packages/@monomind/cli/dist/src/orgrt/types.d.ts +0 -910
- package/packages/@monomind/cli/dist/src/orgrt/types.js +0 -57
- package/packages/@monomind/cli/dist/src/output.d.ts +0 -133
- package/packages/@monomind/cli/dist/src/output.js +0 -529
- package/packages/@monomind/cli/dist/src/parser.d.ts +0 -93
- package/packages/@monomind/cli/dist/src/parser.js +0 -651
- package/packages/@monomind/cli/dist/src/pricing/model-pricing.d.ts +0 -41
- package/packages/@monomind/cli/dist/src/pricing/model-pricing.js +0 -61
- package/packages/@monomind/cli/dist/src/production/circuit-breaker.d.ts +0 -121
- package/packages/@monomind/cli/dist/src/production/circuit-breaker.js +0 -262
- package/packages/@monomind/cli/dist/src/production/error-handler.d.ts +0 -119
- package/packages/@monomind/cli/dist/src/production/error-handler.js +0 -324
- package/packages/@monomind/cli/dist/src/production/index.d.ts +0 -6
- package/packages/@monomind/cli/dist/src/production/index.js +0 -6
- package/packages/@monomind/cli/dist/src/production/monitoring.d.ts +0 -181
- package/packages/@monomind/cli/dist/src/production/monitoring.js +0 -375
- package/packages/@monomind/cli/dist/src/production/rate-limiter.d.ts +0 -125
- package/packages/@monomind/cli/dist/src/production/rate-limiter.js +0 -218
- package/packages/@monomind/cli/dist/src/production/retry.d.ts +0 -48
- package/packages/@monomind/cli/dist/src/production/retry.js +0 -189
- package/packages/@monomind/cli/dist/src/prompt.d.ts +0 -44
- package/packages/@monomind/cli/dist/src/prompt.js +0 -501
- package/packages/@monomind/cli/dist/src/routing/embed-worker.d.ts +0 -2
- package/packages/@monomind/cli/dist/src/routing/embed-worker.js +0 -79
- package/packages/@monomind/cli/dist/src/routing/embedder.d.ts +0 -31
- package/packages/@monomind/cli/dist/src/routing/embedder.js +0 -0
- package/packages/@monomind/cli/dist/src/routing/llm-caller.d.ts +0 -24
- package/packages/@monomind/cli/dist/src/routing/llm-caller.js +0 -134
- package/packages/@monomind/cli/dist/src/routing/route-layer-factory.d.ts +0 -24
- package/packages/@monomind/cli/dist/src/routing/route-layer-factory.js +0 -239
- package/packages/@monomind/cli/dist/src/services/config-file-manager.d.ts +0 -80
- package/packages/@monomind/cli/dist/src/services/config-file-manager.js +0 -401
- package/packages/@monomind/cli/dist/src/services/crash-reporter.d.ts +0 -42
- package/packages/@monomind/cli/dist/src/services/crash-reporter.js +0 -374
- package/packages/@monomind/cli/dist/src/suggest.d.ts +0 -53
- package/packages/@monomind/cli/dist/src/suggest.js +0 -197
- package/packages/@monomind/cli/dist/src/sync/checker.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/sync/checker.js +0 -26
- package/packages/@monomind/cli/dist/src/transfer/anonymization/index.d.ts +0 -22
- package/packages/@monomind/cli/dist/src/transfer/anonymization/index.js +0 -192
- package/packages/@monomind/cli/dist/src/transfer/types.d.ts +0 -245
- package/packages/@monomind/cli/dist/src/transfer/types.js +0 -6
- package/packages/@monomind/cli/dist/src/types.d.ts +0 -190
- package/packages/@monomind/cli/dist/src/types.js +0 -20
- package/packages/@monomind/cli/dist/src/ui/collector.mjs +0 -879
- package/packages/@monomind/cli/dist/src/ui/dashboard.html +0 -13949
- package/packages/@monomind/cli/dist/src/ui/data/agent-avatars.html +0 -763
- package/packages/@monomind/cli/dist/src/ui/data/agent-avatars.json +0 -966
- package/packages/@monomind/cli/dist/src/ui/data/avatars/account-strategist.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/accounts-payable.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/adaptive-coordinator.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/adaptive-coordinator2.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/ai-citation.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/ai-engineer.svg +0 -61
- package/packages/@monomind/cli/dist/src/ui/data/avatars/analytics-reporter.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/api-tester.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/architecture.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/automation-governance.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/backend-dev.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/benchmarker.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/blockchain-auditor.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/byzantine-coord.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/case-analyst.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/cicd-engineer.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/cloud-architect.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/code-review-swarm.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/coder-v119.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/coder.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/collective-coord.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/compliance-auditor.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/consensus-coordinator.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/content-creator.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/crdt-synchronizer.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/cro-specialist.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/data-consolidator.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/data-engineer.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/database-optimizer.svg +0 -61
- package/packages/@monomind/cli/dist/src/ui/data/avatars/deal-strategist.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/defender.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/devops-automator.svg +0 -56
- package/packages/@monomind/cli/dist/src/ui/data/avatars/discovery-coach.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/email-marketing.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/embedded-firmware.svg +0 -61
- package/packages/@monomind/cli/dist/src/ui/data/avatars/evidence-collector.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/experiment-tracker.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/feedback-synthesizer.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/finance-tracker.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/frontend-developer.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/game-audio-engineer.svg +0 -59
- package/packages/@monomind/cli/dist/src/ui/data/avatars/game-designer.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/gossip-coordinator.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/hierarchical-coord.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/incident-commander.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/infrastructure.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/input-validator.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/ios-developer.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/issue-tracker.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/judge.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/launch-strategist.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/legal-compliance.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/level-designer.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/load-balancer.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/mcp-builder.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/memory-coordinator.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/mesh-coordinator.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/ml-developer.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/mobile-app-builder.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/mobile-dev.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/model-qa.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/narrative-designer.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/outbound-strategist.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/path-validator.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/payment-agent.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/perf-analyzer.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/pipeline-analyst.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/planner.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/pr-manager.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/pricing-strategist.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/product-manager.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/production-validator.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/project-shepherd.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/proposal-strategist.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/prosecutor.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/pseudocode.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/queen-coordinator.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/quorum-manager.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/raft-manager.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/reality-checker.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/recruitment.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/refinement.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/release-manager.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/repo-architect.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/researcher.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/resource-allocator.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/reviewer.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/safe-executor.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sales-coach.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sales-engineer.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/scout-explorer.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/security-architect.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/security-auditor.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/senior-developer.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/senior-pm.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/seo-specialist.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/social-media.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/solidity-engineer.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sparc-coder.svg +0 -58
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sparc-coord.svg +0 -56
- package/packages/@monomind/cli/dist/src/ui/data/avatars/specification.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sprint-prioritizer.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sre.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/studio-operations.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/studio-producer.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/support-responder.svg +0 -56
- package/packages/@monomind/cli/dist/src/ui/data/avatars/system-architect.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/task-orchestrator.svg +0 -56
- package/packages/@monomind/cli/dist/src/ui/data/avatars/technical-artist.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/technical-writer.svg +0 -59
- package/packages/@monomind/cli/dist/src/ui/data/avatars/tester.svg +0 -53
- package/packages/@monomind/cli/dist/src/ui/data/avatars/threat-detection.svg +0 -61
- package/packages/@monomind/cli/dist/src/ui/data/avatars/trend-researcher.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/trial-director.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/unity-architect.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/visionos-engineer.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/worker-specialist.svg +0 -55
- package/packages/@monomind/cli/dist/src/ui/data/avatars/workflow-architect.svg +0 -57
- package/packages/@monomind/cli/dist/src/ui/data/avatars/workflow-automation.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/data/avatars/zk-steward.svg +0 -54
- package/packages/@monomind/cli/dist/src/ui/mastermind-diagram-fallback.html +0 -1069
- package/packages/@monomind/cli/dist/src/ui/orgs-files.js +0 -192
- package/packages/@monomind/cli/dist/src/ui/orgs.html +0 -2513
- package/packages/@monomind/cli/dist/src/ui/server.mjs +0 -7256
- package/packages/@monomind/cli/dist/src/ui/sse-manager.mjs +0 -119
- package/packages/@monomind/cli/dist/src/update/checker.d.ts +0 -34
- package/packages/@monomind/cli/dist/src/update/checker.js +0 -278
- package/packages/@monomind/cli/dist/src/update/executor.d.ts +0 -32
- package/packages/@monomind/cli/dist/src/update/executor.js +0 -235
- package/packages/@monomind/cli/dist/src/update/index.d.ts +0 -43
- package/packages/@monomind/cli/dist/src/update/index.js +0 -108
- package/packages/@monomind/cli/dist/src/update/rate-limiter.d.ts +0 -37
- package/packages/@monomind/cli/dist/src/update/rate-limiter.js +0 -190
- package/packages/@monomind/cli/dist/src/update/validator.d.ts +0 -17
- package/packages/@monomind/cli/dist/src/update/validator.js +0 -166
- package/packages/@monomind/cli/dist/src/utils/cosine-similarity.d.ts +0 -22
- package/packages/@monomind/cli/dist/src/utils/cosine-similarity.js +0 -38
- package/packages/@monomind/cli/dist/src/utils/input-guards.d.ts +0 -66
- package/packages/@monomind/cli/dist/src/utils/input-guards.js +0 -263
- package/packages/@monomind/cli/dist/src/utils/json-file.d.ts +0 -33
- package/packages/@monomind/cli/dist/src/utils/json-file.js +0 -57
- package/packages/@monomind/cli/dist/src/utils/parse-jsonl.d.ts +0 -6
- package/packages/@monomind/cli/dist/src/utils/parse-jsonl.js +0 -22
- package/packages/@monomind/cli/dist/src/utils/resource-governor.d.ts +0 -32
- package/packages/@monomind/cli/dist/src/utils/resource-governor.js +0 -115
- package/packages/@monomind/cli/package.json +0 -127
- package/packages/@monomind/cli/scripts/deploy-ipfs-node.sh +0 -153
- package/packages/@monomind/cli/scripts/publish.sh +0 -61
- package/packages/@monomind/cli/scripts/sync-claude-assets.sh +0 -19
- package/packages/@monomind/cli/scripts/understand-analyze.mjs +0 -1078
- package/scripts/build-fs.mjs +0 -75
- package/scripts/build-monovector.sh +0 -10
- package/scripts/generate-agent-avatars.mjs +0 -492
- package/scripts/generate-channel-profile-assets.sh +0 -67
- package/scripts/growth-content-calendar.mjs +0 -260
- package/scripts/growth-profile-kit.mjs +0 -156
- package/scripts/install.sh +0 -392
- package/scripts/publish-monovector.sh +0 -20
- package/scripts/ua-enrich.mjs +0 -229
- package/scripts/ua-import.mjs +0 -288
- package/scripts/verify-appliance.sh +0 -571
|
@@ -1,951 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Monomind Hook Handler (Cross-Platform)
|
|
4
|
-
* Dispatches hook events to the appropriate helper modules.
|
|
5
|
-
*
|
|
6
|
-
* ARCHITECTURE NOTE — Two Hook Systems
|
|
7
|
-
* =====================================
|
|
8
|
-
* There are two independent hook systems in this project:
|
|
9
|
-
*
|
|
10
|
-
* 1. .claude/helpers/ CJS handlers (THIS FILE and ./handlers/*.cjs)
|
|
11
|
-
* These are the handlers that actually run via settings.json hook
|
|
12
|
-
* configuration. They are plain CommonJS scripts invoked directly
|
|
13
|
-
* by Claude Code's hook runtime. This is the "live" system.
|
|
14
|
-
*
|
|
15
|
-
* 2. @monoes/hooks TypeScript package (packages/@monomind/hooks/)
|
|
16
|
-
* A full TypeScript package with workers, learning services, and
|
|
17
|
-
* a WorkerManager. It compiles to dist/ but is only loaded
|
|
18
|
-
* optionally, bridged at six lifecycle events: SessionStart (restore),
|
|
19
|
-
* PreTask, PostTask, PostEdit, SessionEnd, and AgentSpawn (agent-start).
|
|
20
|
-
* The CJS handlers in system (1) are the authoritative dispatch path;
|
|
21
|
-
* system (2) provides optional enrichment when the package is
|
|
22
|
-
* installed and built.
|
|
23
|
-
*
|
|
24
|
-
* IMPORTANT: each hook event is dispatched as its OWN fresh `node`
|
|
25
|
-
* process (Claude Code spawns one invocation per event — this file
|
|
26
|
-
* does not stay resident across events). So the @monoes/hooks
|
|
27
|
-
* module, and anything it registers (trace collector spans, episode
|
|
28
|
-
* binner, etc.), cannot be set up once and reused across events —
|
|
29
|
-
* every bridging handler must call hCtx._ensureHooksModule() itself,
|
|
30
|
-
* which lazily imports the package AND calls initDefaultWorkers() in
|
|
31
|
-
* that process before firing executeHooks(). Cross-event state (e.g.
|
|
32
|
-
* correlating a PreTask span to its matching PostTask) is NOT
|
|
33
|
-
* possible via in-memory maps for this reason; only handlers/hooks
|
|
34
|
-
* that persist state to disk (like the daemon workers under
|
|
35
|
-
* .monomind/metrics/) can meaningfully bridge across separate events.
|
|
36
|
-
*/
|
|
37
|
-
|
|
38
|
-
const path = require('path');
|
|
39
|
-
const fs = require('fs');
|
|
40
|
-
|
|
41
|
-
const helpersDir = __dirname;
|
|
42
|
-
const CWD = process.env.CLAUDE_PROJECT_DIR || process.cwd();
|
|
43
|
-
|
|
44
|
-
const telemetry = require('./utils/telemetry.cjs');
|
|
45
|
-
const monograph = require('./utils/monograph.cjs');
|
|
46
|
-
const microAgents = require('./utils/micro-agents.cjs');
|
|
47
|
-
|
|
48
|
-
const {
|
|
49
|
-
_recordRecentEdit, _getRecentEdits, _recordToolCall,
|
|
50
|
-
_getBudgetStatus, _recordHookLatency, _recordDecisionMarkers,
|
|
51
|
-
} = telemetry;
|
|
52
|
-
|
|
53
|
-
const {
|
|
54
|
-
_requireMonograph, _openMonographDb, _isGraphFresh,
|
|
55
|
-
getMonographSuggestions, getMonographNeighbors,
|
|
56
|
-
_recordGraphTelemetry, _injectCompactGraphMap,
|
|
57
|
-
_findAffectedTests, _maybeRebuildMonograph,
|
|
58
|
-
_graphGateShouldBlock, _graphGateMarkQueried, _getNodeCount,
|
|
59
|
-
} = monograph;
|
|
60
|
-
|
|
61
|
-
const {
|
|
62
|
-
safeRequire,
|
|
63
|
-
_triggerExtractYamlValue, _triggerFinalize, _triggerExtractFromFrontmatter,
|
|
64
|
-
_triggerCollectMdFiles, _triggerBuildIndex, scanMicroAgentTriggers,
|
|
65
|
-
_buildKnowledgeSearchFn, _autoIndexKnowledge,
|
|
66
|
-
} = microAgents;
|
|
67
|
-
|
|
68
|
-
// ── LearningService module-level singleton ─────────────────────────────────────
|
|
69
|
-
// Singleton contract: one LearningService instance is created per hook-handler
|
|
70
|
-
// process. initialize() opens the SQLite DB; consolidate() is called at
|
|
71
|
-
// session-end. Hoisting to module scope ensures the DB is not reopened on every
|
|
72
|
-
// session-end invocation (which would create a fresh in-memory-only instance
|
|
73
|
-
// each time, discarding any state accumulated during the session).
|
|
74
|
-
//
|
|
75
|
-
// We cache the Promise (not the resolved value) so that concurrent callers all
|
|
76
|
-
// await the same initialization. Caching only the resolved value allowed two
|
|
77
|
-
// concurrent callers to both enter the `if (!_learningService)` branch and
|
|
78
|
-
// construct separate LearningService instances, leaving an orphaned DB handle.
|
|
79
|
-
var _learningServicePromise = null;
|
|
80
|
-
async function getLearningService() {
|
|
81
|
-
if (!_learningServicePromise) {
|
|
82
|
-
_learningServicePromise = (async function() {
|
|
83
|
-
try {
|
|
84
|
-
var lsMod = await import('file://' + path.join(__dirname, 'learning-service.mjs'));
|
|
85
|
-
var LearningService = lsMod.LearningService || (lsMod.default && lsMod.default.LearningService);
|
|
86
|
-
if (!LearningService) return null;
|
|
87
|
-
var svc = new LearningService();
|
|
88
|
-
if (typeof svc.initialize === 'function') await svc.initialize();
|
|
89
|
-
return svc;
|
|
90
|
-
} catch (e) {
|
|
91
|
-
_learningServicePromise = null; // allow retry on error
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
})();
|
|
95
|
-
}
|
|
96
|
-
return _learningServicePromise;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const router = safeRequire(path.join(helpersDir, 'router.cjs'));
|
|
101
|
-
const session = safeRequire(path.join(helpersDir, 'session.cjs'));
|
|
102
|
-
const memory = safeRequire(path.join(helpersDir, 'memory.cjs'));
|
|
103
|
-
const intelligence = safeRequire(path.join(helpersDir, 'intelligence.cjs'));
|
|
104
|
-
|
|
105
|
-
// Module-level reference to @monoes/hooks — populated lazily via
|
|
106
|
-
// _ensureHooksModule(). NOTE: hook-handler.cjs runs as a fresh `node` process
|
|
107
|
-
// per hook event (Claude Code spawns one invocation per event, it does not
|
|
108
|
-
// keep the process alive across events), so a value set during one event
|
|
109
|
-
// (e.g. session-restore) is NOT visible to a later event's process (e.g.
|
|
110
|
-
// pre-task). Each handler that needs the bridge MUST call
|
|
111
|
-
// hCtx._ensureHooksModule() itself rather than reading hCtx._hooksModule
|
|
112
|
-
// directly, or the bridge silently no-ops.
|
|
113
|
-
let _hooksModule = null;
|
|
114
|
-
let _hooksModuleLoadAttempted = false;
|
|
115
|
-
async function _ensureHooksModule() {
|
|
116
|
-
if (_hooksModule) return _hooksModule;
|
|
117
|
-
if (_hooksModuleLoadAttempted) return null; // already tried+failed this process
|
|
118
|
-
_hooksModuleLoadAttempted = true;
|
|
119
|
-
// 1) Bare specifier — works when @monoes/hooks is installed/linked in a
|
|
120
|
-
// node_modules reachable from this file (e.g. an end-user install).
|
|
121
|
-
try {
|
|
122
|
-
_hooksModule = await import('@monoes/hooks');
|
|
123
|
-
} catch (e) {
|
|
124
|
-
_hooksModule = null;
|
|
125
|
-
}
|
|
126
|
-
// 2) Dev-repo fallback — in the monorepo the pnpm workspace link lives under
|
|
127
|
-
// packages/@monomind/cli/node_modules, NOT at the repo root, so the bare
|
|
128
|
-
// specifier never resolves from .claude/helpers. Import the compiled dist
|
|
129
|
-
// entry directly by path (same pattern as session-restore-handler.cjs).
|
|
130
|
-
if (!_hooksModule) {
|
|
131
|
-
try {
|
|
132
|
-
const _distIndex = path.join(CWD, 'packages', '@monomind', 'hooks', 'dist', 'index.js');
|
|
133
|
-
if (fs.existsSync(_distIndex)) {
|
|
134
|
-
_hooksModule = await import('file://' + _distIndex);
|
|
135
|
-
}
|
|
136
|
-
} catch (e) {
|
|
137
|
-
_hooksModule = null; // not built — bridge stays a fail-soft no-op
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
if (!_hooksModule) _warnHooksBridgeUnavailable();
|
|
141
|
-
return _hooksModule;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// ── Visible one-time warning when the @monoes/hooks bridge fully fails ───
|
|
145
|
-
// Both load paths above (bare specifier + dev-repo file:// fallback) failed:
|
|
146
|
-
// the 15 background workers (metrics, security scan, DDD tracking, etc.) are
|
|
147
|
-
// unavailable for the rest of this session. This is almost always because
|
|
148
|
-
// @monoes/hooks was never resolvable from npm (it ships with
|
|
149
|
-
// optionalDependencies:"*", which npm silently skips) — NOT a problem with
|
|
150
|
-
// the user's own project setup. Historically this failed completely
|
|
151
|
-
// silently (see docs/AUDIT-BACKLOG.md P1-1), burning debugging time on the
|
|
152
|
-
// wrong target. Warned once per session (file-marker keyed by session id,
|
|
153
|
-
// same pattern as the once-per-day update check below) since every hook
|
|
154
|
-
// event is its own fresh `node` process and would otherwise spam this on
|
|
155
|
-
// every single tool call.
|
|
156
|
-
function _warnHooksBridgeUnavailable() {
|
|
157
|
-
try {
|
|
158
|
-
var sessId = String((hookInput && (hookInput.sessionId || hookInput.session_id)) || '');
|
|
159
|
-
var flagFile = path.join(CWD, '.monomind', 'hooks-bridge-warned.json');
|
|
160
|
-
var alreadyWarned = false;
|
|
161
|
-
if (sessId && fs.existsSync(flagFile)) {
|
|
162
|
-
try {
|
|
163
|
-
var flagData = JSON.parse(fs.readFileSync(flagFile, 'utf-8'));
|
|
164
|
-
if (flagData && flagData.sessionId === sessId) alreadyWarned = true;
|
|
165
|
-
} catch (e) { /* corrupt/unreadable flag file — warn again to be safe */ }
|
|
166
|
-
}
|
|
167
|
-
if (alreadyWarned) return;
|
|
168
|
-
process.stderr.write(
|
|
169
|
-
'[WARN] @monoes/hooks could not be loaded (bare specifier and dev-repo fallback both failed) — ' +
|
|
170
|
-
'background workers (metrics, security scan, DDD tracking, etc.) are unavailable this session. ' +
|
|
171
|
-
'This is not a problem with your project configuration — the package is not resolvable via npm ' +
|
|
172
|
-
'from this install. See docs/AUDIT-BACKLOG.md P1-1 or https://github.com/monoes/monomind/issues.\n'
|
|
173
|
-
);
|
|
174
|
-
if (sessId) {
|
|
175
|
-
try {
|
|
176
|
-
fs.mkdirSync(path.join(CWD, '.monomind'), { recursive: true });
|
|
177
|
-
fs.writeFileSync(flagFile, JSON.stringify({ sessionId: sessId, warnedAt: new Date().toISOString() }), 'utf-8');
|
|
178
|
-
} catch (e) { /* non-fatal — worst case we warn again next event */ }
|
|
179
|
-
}
|
|
180
|
-
} catch (e) { /* never let the warning itself break a hook event */ }
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// ── Intelligence timeout protection (fixes #1530, #1531) ───────────────────
|
|
184
|
-
var INTELLIGENCE_TIMEOUT_MS = 1500;
|
|
185
|
-
function runWithTimeout(fn, label) {
|
|
186
|
-
return new Promise(function(resolve) {
|
|
187
|
-
var settled = false;
|
|
188
|
-
var timer = setTimeout(function() {
|
|
189
|
-
if (!settled) {
|
|
190
|
-
settled = true;
|
|
191
|
-
process.stderr.write("[WARN] " + label + " timed out after " + INTELLIGENCE_TIMEOUT_MS + "ms, skipping\n");
|
|
192
|
-
resolve(null);
|
|
193
|
-
}
|
|
194
|
-
}, INTELLIGENCE_TIMEOUT_MS);
|
|
195
|
-
Promise.resolve().then(fn).then(
|
|
196
|
-
function(result) { if (!settled) { settled = true; clearTimeout(timer); resolve(result); } },
|
|
197
|
-
function() { if (!settled) { settled = true; clearTimeout(timer); resolve(null); } }
|
|
198
|
-
);
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
const [,, command, ...args] = process.argv;
|
|
204
|
-
|
|
205
|
-
// Read stdin — Claude Code sends hook data as JSON via stdin
|
|
206
|
-
// Uses a timeout to prevent hanging when stdin is in an ambiguous state
|
|
207
|
-
// (not TTY, not a proper pipe) which happens with Claude Code hook invocations.
|
|
208
|
-
// Hard cap at 1 MiB: a legitimate hook payload (tool name + input) is at most
|
|
209
|
-
// a few KB; anything larger is either a bug or an adversarial OOM attempt.
|
|
210
|
-
const MAX_STDIN_BYTES = 1 * 1024 * 1024; // 1 MiB
|
|
211
|
-
async function readStdin() {
|
|
212
|
-
if (process.stdin.isTTY) return '';
|
|
213
|
-
return new Promise((resolve) => {
|
|
214
|
-
let data = '';
|
|
215
|
-
let byteCount = 0;
|
|
216
|
-
let truncated = false;
|
|
217
|
-
const timer = setTimeout(() => {
|
|
218
|
-
process.stdin.removeAllListeners();
|
|
219
|
-
process.stdin.pause();
|
|
220
|
-
resolve(data);
|
|
221
|
-
}, 500);
|
|
222
|
-
process.stdin.setEncoding('utf8');
|
|
223
|
-
process.stdin.on('data', (chunk) => {
|
|
224
|
-
if (truncated) return;
|
|
225
|
-
byteCount += Buffer.byteLength(chunk, 'utf8');
|
|
226
|
-
if (byteCount > MAX_STDIN_BYTES) {
|
|
227
|
-
truncated = true;
|
|
228
|
-
process.stdin.pause();
|
|
229
|
-
clearTimeout(timer);
|
|
230
|
-
resolve(''); // discard oversized input to prevent OOM
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
data += chunk;
|
|
234
|
-
});
|
|
235
|
-
process.stdin.on('end', () => { clearTimeout(timer); resolve(data); });
|
|
236
|
-
process.stdin.on('error', () => { clearTimeout(timer); resolve(data); });
|
|
237
|
-
process.stdin.resume();
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
async function main() {
|
|
242
|
-
// Global safety timeout: hooks must NEVER hang (#1530, #1531)
|
|
243
|
-
var safetyTimer = setTimeout(function() {
|
|
244
|
-
process.stderr.write("[WARN] Hook handler global timeout (5s), forcing exit\n");
|
|
245
|
-
// If a security gate was still pending when the timer fired, the operation
|
|
246
|
-
// was never evaluated — fail CLOSED rather than letting a hang act as an
|
|
247
|
-
// allow. (`_securityGateCompleted` is `var`-hoisted, so it reads as
|
|
248
|
-
// undefined/falsy until the gate sets it.)
|
|
249
|
-
if ((command === 'pre-bash' || command === 'pre-write') && !_securityGateCompleted) {
|
|
250
|
-
process.stderr.write(JSON.stringify({
|
|
251
|
-
decision: 'block',
|
|
252
|
-
reason: '[gates] Security gate "' + command + '" timed out (5s) before completing. ' +
|
|
253
|
-
'Failing CLOSED — the operation was not evaluated.',
|
|
254
|
-
}) + '\n');
|
|
255
|
-
process.exit(2);
|
|
256
|
-
}
|
|
257
|
-
process.exit(0);
|
|
258
|
-
}, 5000);
|
|
259
|
-
safetyTimer.unref();
|
|
260
|
-
|
|
261
|
-
let stdinData = '';
|
|
262
|
-
try { stdinData = await readStdin(); } catch (e) { /* ignore stdin errors */ }
|
|
263
|
-
|
|
264
|
-
let hookInput = {};
|
|
265
|
-
if (stdinData.trim()) {
|
|
266
|
-
try {
|
|
267
|
-
const parsed = JSON.parse(stdinData);
|
|
268
|
-
if (parsed !== null && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
269
|
-
hookInput = parsed;
|
|
270
|
-
}
|
|
271
|
-
} catch (e) { /* ignore parse errors */ }
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
// Merge stdin data into prompt resolution: prefer stdin fields, then env vars.
|
|
275
|
-
// NEVER fall back to argv args — shell glob expansion of braces in bash output
|
|
276
|
-
// creates junk files (#1342). Use env vars or stdin only.
|
|
277
|
-
// Normalize snake_case/camelCase: Claude Code sends tool_input/tool_name (snake_case)
|
|
278
|
-
var toolInput = hookInput.toolInput || hookInput.tool_input || {};
|
|
279
|
-
var toolName = hookInput.toolName || hookInput.tool_name || '';
|
|
280
|
-
|
|
281
|
-
var prompt = hookInput.prompt || hookInput.command
|
|
282
|
-
|| (typeof toolInput === 'string' ? toolInput : (toolInput.command || toolInput.prompt || ''))
|
|
283
|
-
|| process.env.PROMPT || process.env.TOOL_INPUT_command || '';
|
|
284
|
-
|
|
285
|
-
// Detect prompts that are predefined single-action commands that don't
|
|
286
|
-
// need agent routing or skill suggestions — invoking those adds token
|
|
287
|
-
// overhead without any benefit.
|
|
288
|
-
function isSimpleCommand(p) {
|
|
289
|
-
if (typeof p !== 'string') return false;
|
|
290
|
-
var s = p.trim();
|
|
291
|
-
// Slash commands: /ts, /list-agents, /commit, /help, /use-agent etc.
|
|
292
|
-
if (/^\/[a-z0-9_-]+(\s|$)/i.test(s)) return true;
|
|
293
|
-
// Short single-word operator tokens (toggle, list, status)
|
|
294
|
-
if (/^(ts|ls|ps|pwd|help|clear|exit|quit|status|toggle|refresh)$/i.test(s)) return true;
|
|
295
|
-
// Already-resolved command messages (Claude Code sends hook with command-name context)
|
|
296
|
-
var cmdName = hookInput.commandName || hookInput.command_name || '';
|
|
297
|
-
if (cmdName && cmdName.length > 0) return true;
|
|
298
|
-
return false;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
// Set to true the moment a security gate (pre-bash destructive-ops /
|
|
302
|
-
// pre-write secrets) has finished evaluating. Any exception thrown BEFORE
|
|
303
|
-
// that point — including a failure to even require() the gate module — must
|
|
304
|
-
// fail CLOSED (block), because we cannot know whether the operation was
|
|
305
|
-
// dangerous. Exceptions thrown AFTER it (monograph enrichment, telemetry)
|
|
306
|
-
// fail open: they carry no security signal and must never stop the user.
|
|
307
|
-
var _securityGateCompleted = false;
|
|
308
|
-
|
|
309
|
-
// Build shared hook context — passed to extracted handler modules so they
|
|
310
|
-
// don't need to capture main()-scoped or module-scoped variables via closure.
|
|
311
|
-
var hCtx = {
|
|
312
|
-
hookInput: hookInput,
|
|
313
|
-
toolInput: toolInput,
|
|
314
|
-
toolName: toolName,
|
|
315
|
-
prompt: prompt,
|
|
316
|
-
args: args,
|
|
317
|
-
CWD: CWD,
|
|
318
|
-
session: session,
|
|
319
|
-
router: router,
|
|
320
|
-
intelligence: intelligence,
|
|
321
|
-
getLearningService: getLearningService,
|
|
322
|
-
isSimpleCommand: isSimpleCommand,
|
|
323
|
-
// Module-level singleton (populated by session-restore handler, or lazily
|
|
324
|
-
// via _ensureHooksModule() — required since each hook event is a fresh process).
|
|
325
|
-
get _hooksModule() { return _hooksModule; },
|
|
326
|
-
set _hooksModule(v) { _hooksModule = v; },
|
|
327
|
-
_ensureHooksModule: _ensureHooksModule,
|
|
328
|
-
// Utility functions
|
|
329
|
-
_recordRecentEdit: _recordRecentEdit,
|
|
330
|
-
_getRecentEdits: _getRecentEdits,
|
|
331
|
-
_findAffectedTests: _findAffectedTests,
|
|
332
|
-
_recordHookLatency: _recordHookLatency,
|
|
333
|
-
_getBudgetStatus: _getBudgetStatus,
|
|
334
|
-
_injectCompactGraphMap: _injectCompactGraphMap,
|
|
335
|
-
_maybeRebuildMonograph: _maybeRebuildMonograph,
|
|
336
|
-
_buildKnowledgeSearchFn: _buildKnowledgeSearchFn,
|
|
337
|
-
getMonographSuggestions: getMonographSuggestions,
|
|
338
|
-
getMonographNeighbors: getMonographNeighbors,
|
|
339
|
-
runWithTimeout: runWithTimeout,
|
|
340
|
-
safeRequire: safeRequire,
|
|
341
|
-
scanMicroAgentTriggers: scanMicroAgentTriggers,
|
|
342
|
-
_recordGraphTelemetry: _recordGraphTelemetry,
|
|
343
|
-
_recordDecisionMarkers: _recordDecisionMarkers,
|
|
344
|
-
_recordToolCall: _recordToolCall,
|
|
345
|
-
_openMonographDb: _openMonographDb,
|
|
346
|
-
_requireMonograph: _requireMonograph,
|
|
347
|
-
_isGraphFresh: _isGraphFresh,
|
|
348
|
-
_triggerExtractYamlValue: _triggerExtractYamlValue,
|
|
349
|
-
_triggerFinalize: _triggerFinalize,
|
|
350
|
-
_triggerExtractFromFrontmatter: _triggerExtractFromFrontmatter,
|
|
351
|
-
_triggerCollectMdFiles: _triggerCollectMdFiles,
|
|
352
|
-
_triggerBuildIndex: _triggerBuildIndex,
|
|
353
|
-
_autoIndexKnowledge: _autoIndexKnowledge,
|
|
354
|
-
helpersDir: helpersDir,
|
|
355
|
-
fs: fs,
|
|
356
|
-
path: path,
|
|
357
|
-
};
|
|
358
|
-
|
|
359
|
-
const handlers = {
|
|
360
|
-
'route': async () => {
|
|
361
|
-
const h = require('./handlers/route-handler.cjs');
|
|
362
|
-
await h.handle(hCtx);
|
|
363
|
-
},
|
|
364
|
-
|
|
365
|
-
'post-edit': async () => {
|
|
366
|
-
const h = require('./handlers/edit-handler.cjs');
|
|
367
|
-
await h.handle(hCtx);
|
|
368
|
-
},
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
'session-restore': async () => {
|
|
372
|
-
const h = require('./handlers/session-restore-handler.cjs');
|
|
373
|
-
await h.handleRestore(hCtx);
|
|
374
|
-
},
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
'session-end': async () => {
|
|
378
|
-
const h = require('./handlers/session-handler.cjs');
|
|
379
|
-
await h.handleEnd(hCtx);
|
|
380
|
-
},
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
'pre-task': async () => {
|
|
384
|
-
const h = require('./handlers/task-handler.cjs');
|
|
385
|
-
await h.handlePreTask(hCtx);
|
|
386
|
-
},
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
'post-task': async () => {
|
|
390
|
-
const h = require('./handlers/task-handler.cjs');
|
|
391
|
-
await h.handlePostTask(hCtx);
|
|
392
|
-
},
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
'compact-manual': async () => {
|
|
396
|
-
const h = require('./handlers/compact-handler.cjs');
|
|
397
|
-
await h.handle(hCtx, 'manual');
|
|
398
|
-
},
|
|
399
|
-
|
|
400
|
-
'compact-auto': async () => {
|
|
401
|
-
const h = require('./handlers/compact-handler.cjs');
|
|
402
|
-
await h.handle(hCtx, 'auto');
|
|
403
|
-
},
|
|
404
|
-
|
|
405
|
-
'agent-start': async () => {
|
|
406
|
-
const h = require('./handlers/agent-start-handler.cjs');
|
|
407
|
-
await h.handle(hCtx);
|
|
408
|
-
},
|
|
409
|
-
|
|
410
|
-
'adr-draft': () => {
|
|
411
|
-
const h = require('./handlers/adr-draft-handler.cjs');
|
|
412
|
-
h.handle(hCtx);
|
|
413
|
-
},
|
|
414
|
-
|
|
415
|
-
'pre-bash': async () => {
|
|
416
|
-
// SECURITY GATE FIRST — destructive-ops + secrets enforcement must never
|
|
417
|
-
// be starved by the slower enrichment work below (monograph hint lookups,
|
|
418
|
-
// monofence-ai scan). Previously this ran LAST, after up to 10 monograph
|
|
419
|
-
// SQLite strategies and a 1.5s monofence budget; under load/slow disk the
|
|
420
|
-
// global 5s safety timer (see main()'s `process.exit(0)`) could fire
|
|
421
|
-
// before the gate ever printed its block decision — i.e. the gate could
|
|
422
|
-
// fail OPEN under time pressure. Computing it first guarantees the
|
|
423
|
-
// block/allow decision (process.exitCode) is set before any enrichment
|
|
424
|
-
// work even starts; enrichment output is still attached afterward if
|
|
425
|
-
// there's time left in the process's lifetime.
|
|
426
|
-
var gates = require('./handlers/gates-handler.cjs');
|
|
427
|
-
await gates.handlePreBash(hCtx);
|
|
428
|
-
_securityGateCompleted = true;
|
|
429
|
-
if (process.exitCode === 2) return; // blocked — skip enrichment entirely
|
|
430
|
-
|
|
431
|
-
var cmd = (hCtx.toolInput && (hCtx.toolInput.command || hCtx.toolInput.cmd)) || '';
|
|
432
|
-
var isGrep = /\b(?:grep|rg|ag)\b/.test(cmd);
|
|
433
|
-
var isFind = /\b(?:find|fd)\b/.test(cmd) && !isGrep;
|
|
434
|
-
if (isGrep || isFind) {
|
|
435
|
-
var sessIdGate = String((hCtx.hookInput && (hCtx.hookInput.sessionId || hCtx.hookInput.session_id)) || '');
|
|
436
|
-
var gateResult = _graphGateShouldBlock(sessIdGate);
|
|
437
|
-
if (gateResult === 'block') {
|
|
438
|
-
process.stderr.write(JSON.stringify({
|
|
439
|
-
decision: 'block',
|
|
440
|
-
reason: '[graph-gate] Call mcp__monomind__monograph_query or monograph_suggest before grep/rg/find for code exploration (CLAUDE.md). This blocks once per session — after your first monograph call, Bash grep/find work normally.',
|
|
441
|
-
}) + '\n');
|
|
442
|
-
process.exitCode = 2;
|
|
443
|
-
return;
|
|
444
|
-
}
|
|
445
|
-
if (gateResult === 'warn') {
|
|
446
|
-
console.log('[MONOGRAPH_REMINDER] monograph_query/suggest not yet called this session — graph has ' + (_getNodeCount() || '20k+') + ' indexed nodes. Try monograph first for faster, more precise results.');
|
|
447
|
-
}
|
|
448
|
-
var graphAssisted = false;
|
|
449
|
-
if (_isGraphFresh()) {
|
|
450
|
-
try {
|
|
451
|
-
if (isGrep) {
|
|
452
|
-
// Extract pattern from grep/rg/ag — find the first quoted string that
|
|
453
|
-
// looks like a search pattern (not a flag value like "*.ts" or "!dir")
|
|
454
|
-
var grepCmd = cmd.match(/\b(grep|rg|ag)\b/)[1];
|
|
455
|
-
var cmdAfterTool = cmd.slice(cmd.indexOf(grepCmd) + grepCmd.length);
|
|
456
|
-
var allQuoted = [];
|
|
457
|
-
var _qre = /["']([^"']{3,80})["']/g;
|
|
458
|
-
var _qm;
|
|
459
|
-
while ((_qm = _qre.exec(cmdAfterTool)) !== null) allQuoted.push(_qm[1]);
|
|
460
|
-
// Pick the first quoted string that looks like identifier/symbol, not a glob/path
|
|
461
|
-
var pattern = allQuoted.find(function(q) { return /[a-zA-Z]/.test(q) && !/^[!*.]/.test(q) && !/[*?{}]/.test(q); });
|
|
462
|
-
// Fallback: unquoted bare identifier after flags
|
|
463
|
-
if (!pattern) {
|
|
464
|
-
var _um = cmdAfterTool.match(/(?:^|\s)(?!-)([a-zA-Z_$][a-zA-Z0-9_$-]*[a-zA-Z0-9])(?:\s|$)/);
|
|
465
|
-
if (_um) pattern = _um[1];
|
|
466
|
-
}
|
|
467
|
-
if (pattern && pattern.length >= 3 && pattern.length <= 80) {
|
|
468
|
-
var db = _openMonographDb();
|
|
469
|
-
if (db) {
|
|
470
|
-
// Stop words: language keywords + generic single-word identifiers
|
|
471
|
-
// that match Variable nodes in markdown/scripts (not real code symbols)
|
|
472
|
-
// monolean: only JS/TS reserved words — generic identifiers (handler, config, router, etc.) are valid symbol names
|
|
473
|
-
var _grepStop = {import:1,export:1,from:1,require:1,return:1,function:1,const:1,let:1,var:1,class:1,interface:1,type:1,extends:1,implements:1,async:1,await:1,yield:1,throw:1,catch:1,finally:1,typeof:1,instanceof:1,void:1,null:1,undefined:1,true:1,false:1,this:1,super:1,new:1,delete:1,switch:1,case:1,break:1,continue:1,default:1,else:1,while:1,for:1,with:1,static:1,enum:1,string:1,number:1,object:1,boolean:1};
|
|
474
|
-
|
|
475
|
-
// --- Strategy 1: clean identifier → exact name match (case-sensitive) ---
|
|
476
|
-
if (/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(pattern) && pattern.length >= 4
|
|
477
|
-
&& !_grepStop[pattern.toLowerCase()]) {
|
|
478
|
-
var row = db.prepare(
|
|
479
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
480
|
-
).get(pattern);
|
|
481
|
-
if (row) {
|
|
482
|
-
graphAssisted = true;
|
|
483
|
-
var hint = row.file_path + (row.start_line != null ? ':' + row.start_line : '');
|
|
484
|
-
console.log('[MONOGRAPH_HINT] ' + pattern + ' → ' + hint);
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
// --- Strategy 2: case-insensitive name match (uses COLLATE NOCASE index) ---
|
|
489
|
-
if (!graphAssisted && /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(pattern) && pattern.length >= 4
|
|
490
|
-
&& !_grepStop[pattern.toLowerCase()]) {
|
|
491
|
-
var row = db.prepare(
|
|
492
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
493
|
-
).get(pattern);
|
|
494
|
-
if (row) {
|
|
495
|
-
graphAssisted = true;
|
|
496
|
-
var hint = row.file_path + (row.start_line != null ? ':' + row.start_line : '');
|
|
497
|
-
console.log('[MONOGRAPH_HINT] ' + row.name + ' → ' + hint);
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
// --- Strategy 3: dotted filename (db.ts, orchestrator.ts) → File node lookup ---
|
|
502
|
-
if (!graphAssisted && /^[a-zA-Z0-9_-]+\.[a-z]{1,4}$/.test(pattern)) {
|
|
503
|
-
var row = db.prepare(
|
|
504
|
-
'SELECT n.name, n.file_path FROM nodes n WHERE n.name = ? AND n.label = \'File\' LIMIT 1'
|
|
505
|
-
).get(pattern);
|
|
506
|
-
if (row) {
|
|
507
|
-
graphAssisted = true;
|
|
508
|
-
console.log('[MONOGRAPH_HINT] file ' + pattern + ' → ' + row.file_path);
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
// --- Strategy 4: file path fragment (hyphenated: "scope-resolution") ---
|
|
513
|
-
if (!graphAssisted && /^[a-zA-Z0-9_-]+(\.[a-zA-Z]+)?$/.test(pattern) && pattern.length >= 5
|
|
514
|
-
&& pattern.indexOf('-') !== -1) {
|
|
515
|
-
var pathLike = '%/' + pattern + '%';
|
|
516
|
-
var row = db.prepare(
|
|
517
|
-
'SELECT n.name, n.file_path FROM nodes n WHERE n.label = \'File\' AND n.file_path LIKE ? LIMIT 1'
|
|
518
|
-
).get(pathLike);
|
|
519
|
-
if (row) {
|
|
520
|
-
graphAssisted = true;
|
|
521
|
-
console.log('[MONOGRAPH_HINT] file ' + pattern + ' → ' + row.file_path);
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
// --- Strategy 5: extract ≥4-char identifiers from regex patterns ---
|
|
526
|
-
if (!graphAssisted) {
|
|
527
|
-
var identifiers = pattern.match(/[a-zA-Z_$][a-zA-Z0-9_$]{3,}/g) || [];
|
|
528
|
-
var tried = {};
|
|
529
|
-
for (var ji = 0; ji < identifiers.length && !graphAssisted; ji++) {
|
|
530
|
-
var id = identifiers[ji];
|
|
531
|
-
if (_grepStop[id.toLowerCase()] || tried[id.toLowerCase()]) continue;
|
|
532
|
-
tried[id.toLowerCase()] = 1;
|
|
533
|
-
var row2 = db.prepare(
|
|
534
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
535
|
-
).get(id);
|
|
536
|
-
if (row2) {
|
|
537
|
-
graphAssisted = true;
|
|
538
|
-
var hint2 = row2.file_path + (row2.start_line != null ? ':' + row2.start_line : '');
|
|
539
|
-
console.log('[MONOGRAPH_HINT] ' + row2.name + ' → ' + hint2);
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
// --- Strategy 6: FTS5 trigram substring match ---
|
|
545
|
-
if (!graphAssisted && pattern.length >= 4) {
|
|
546
|
-
try {
|
|
547
|
-
var ftsPattern = '"' + pattern.replace(/"/g, '""') + '"';
|
|
548
|
-
var ftsRow = db.prepare(
|
|
549
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes_fts f ' +
|
|
550
|
-
'JOIN nodes n ON n.rowid = f.rowid ' +
|
|
551
|
-
'WHERE nodes_fts MATCH ? ' +
|
|
552
|
-
'AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
|
|
553
|
-
'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
554
|
-
).get(ftsPattern);
|
|
555
|
-
if (ftsRow) {
|
|
556
|
-
graphAssisted = true;
|
|
557
|
-
var ftsHint = ftsRow.file_path + (ftsRow.start_line != null ? ':' + ftsRow.start_line : '');
|
|
558
|
-
console.log('[MONOGRAPH_HINT] ' + ftsRow.name + ' → ' + ftsHint);
|
|
559
|
-
}
|
|
560
|
-
} catch (e) { /* FTS table may not exist */ }
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
// --- Strategy 7: dotted property access (ctx.allFilesCached, cache.hashFile) ---
|
|
564
|
-
if (!graphAssisted && pattern.indexOf('.') !== -1 && /^[a-zA-Z_$]/.test(pattern)) {
|
|
565
|
-
var dotParts = pattern.split('.').filter(function(p) { return p.length >= 4 && /^[a-zA-Z_$]/.test(p); });
|
|
566
|
-
for (var di = dotParts.length - 1; di >= 0 && !graphAssisted; di--) {
|
|
567
|
-
var dp = dotParts[di];
|
|
568
|
-
if (_grepStop[dp.toLowerCase()]) continue;
|
|
569
|
-
var drow = db.prepare(
|
|
570
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
571
|
-
).get(dp);
|
|
572
|
-
if (drow) {
|
|
573
|
-
graphAssisted = true;
|
|
574
|
-
var dhint = drow.file_path + (drow.start_line != null ? ':' + drow.start_line : '');
|
|
575
|
-
console.log('[MONOGRAPH_HINT] ' + drow.name + ' → ' + dhint);
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
|
-
}
|
|
579
|
-
|
|
580
|
-
// --- Strategy 8: snake_case → camelCase conversion ---
|
|
581
|
-
if (!graphAssisted && pattern.indexOf('_') !== -1 && /^[a-z]/.test(pattern) && pattern.length >= 6) {
|
|
582
|
-
var camel = pattern.replace(/_([a-z])/g, function(_, c) { return c.toUpperCase(); });
|
|
583
|
-
if (camel !== pattern && !_grepStop[camel.toLowerCase()]) {
|
|
584
|
-
var crow = db.prepare(
|
|
585
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
586
|
-
).get(camel);
|
|
587
|
-
if (crow) {
|
|
588
|
-
graphAssisted = true;
|
|
589
|
-
var chint = crow.file_path + (crow.start_line != null ? ':' + crow.start_line : '');
|
|
590
|
-
console.log('[MONOGRAPH_HINT] ' + crow.name + ' → ' + chint);
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
// --- Strategy 9: alternation patterns (TODO\|FIXME, mock\|fake\|stub) ---
|
|
596
|
-
if (!graphAssisted && pattern.indexOf('|') !== -1) {
|
|
597
|
-
var altParts = pattern.split(/\\?\|/).map(function(p) {
|
|
598
|
-
return p.replace(/[^a-zA-Z0-9_$]/g, '');
|
|
599
|
-
}).filter(function(p) {
|
|
600
|
-
return p.length >= 4 && /^[a-zA-Z_$]/.test(p) && !_grepStop[p.toLowerCase()];
|
|
601
|
-
});
|
|
602
|
-
for (var ai = 0; ai < altParts.length && !graphAssisted; ai++) {
|
|
603
|
-
var arow = db.prepare(
|
|
604
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
605
|
-
).get(altParts[ai]);
|
|
606
|
-
if (arow) {
|
|
607
|
-
graphAssisted = true;
|
|
608
|
-
var ahint = arow.file_path + (arow.start_line != null ? ':' + arow.start_line : '');
|
|
609
|
-
console.log('[MONOGRAPH_HINT] ' + arow.name + ' → ' + ahint);
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
|
-
// --- Strategy 10: grep targeting a known source directory ---
|
|
617
|
-
// Runs outside `if (pattern)` so it works even when pattern extraction fails
|
|
618
|
-
if (!graphAssisted) {
|
|
619
|
-
var db10 = _openMonographDb();
|
|
620
|
-
if (db10) {
|
|
621
|
-
var dirMatch10 = cmdAfterTool.match(/\b(src|packages(?:\/[a-zA-Z0-9_@/-]*)?)\//);
|
|
622
|
-
if (dirMatch10) {
|
|
623
|
-
var dirPath10 = dirMatch10[1].replace(/\/$/, '');
|
|
624
|
-
var drow10 = db10.prepare(
|
|
625
|
-
'SELECT COUNT(*) AS c FROM nodes WHERE label = \'File\' AND file_path LIKE ? LIMIT 1'
|
|
626
|
-
).get('%' + dirPath10 + '/%');
|
|
627
|
-
if (drow10 && drow10.c > 0) {
|
|
628
|
-
graphAssisted = true;
|
|
629
|
-
console.log('[MONOGRAPH_HINT] grep scope ' + dirPath10 + ' has ' + drow10.c + ' indexed files');
|
|
630
|
-
}
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
} else {
|
|
635
|
-
// find/fd -name "foo.ts" — check if the filename exists in File nodes
|
|
636
|
-
var fm = cmd.match(/-name\s+["']([^"'*?]+\.[a-z]+)["']/);
|
|
637
|
-
if (fm && fm[1]) {
|
|
638
|
-
var db = _openMonographDb();
|
|
639
|
-
if (db) {
|
|
640
|
-
var row = db.prepare(
|
|
641
|
-
'SELECT n.file_path FROM nodes n WHERE n.name = ? AND n.label = \'File\' LIMIT 1'
|
|
642
|
-
).get(fm[1]);
|
|
643
|
-
if (row) {
|
|
644
|
-
graphAssisted = true;
|
|
645
|
-
console.log('[MONOGRAPH_HINT] file ' + fm[1] + ' → ' + row.file_path);
|
|
646
|
-
}
|
|
647
|
-
}
|
|
648
|
-
}
|
|
649
|
-
// find -name "*worker*" — extract core word from wildcard patterns
|
|
650
|
-
if (!graphAssisted) {
|
|
651
|
-
var wm = cmd.match(/-name\s+["'][*]?([a-zA-Z][a-zA-Z0-9_-]{3,})[*]?(?:\.[a-z]+)?["']/);
|
|
652
|
-
if (wm && wm[1]) {
|
|
653
|
-
var db = _openMonographDb();
|
|
654
|
-
if (db) {
|
|
655
|
-
var wrow = db.prepare(
|
|
656
|
-
'SELECT n.name, n.file_path FROM nodes n WHERE n.name LIKE ? AND n.label = \'File\' AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
657
|
-
).get('%' + wm[1] + '%');
|
|
658
|
-
if (wrow) {
|
|
659
|
-
graphAssisted = true;
|
|
660
|
-
console.log('[MONOGRAPH_HINT] file *' + wm[1] + '* → ' + wrow.file_path);
|
|
661
|
-
}
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
// find with -type f in a known directory scope
|
|
666
|
-
if (!graphAssisted) {
|
|
667
|
-
var fdm = cmd.match(/\bfind\s+(\S*(?:src|packages|lib|app)[a-zA-Z0-9_@/-]*)/);
|
|
668
|
-
if (fdm && fdm[1]) {
|
|
669
|
-
var db = _openMonographDb();
|
|
670
|
-
if (db) {
|
|
671
|
-
var fdrow = db.prepare(
|
|
672
|
-
'SELECT COUNT(*) AS c FROM nodes WHERE label = \'File\' AND file_path LIKE ? LIMIT 1'
|
|
673
|
-
).get(fdm[1].replace(/\/$/, '') + '/%');
|
|
674
|
-
if (fdrow && fdrow.c > 0) {
|
|
675
|
-
graphAssisted = true;
|
|
676
|
-
console.log('[MONOGRAPH_HINT] find scope ' + fdm[1] + ' has ' + fdrow.c + ' indexed files');
|
|
677
|
-
}
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
}
|
|
681
|
-
}
|
|
682
|
-
} catch (e) { /* non-fatal */ }
|
|
683
|
-
}
|
|
684
|
-
if (graphAssisted) _recordGraphTelemetry('graph_assist_search');
|
|
685
|
-
else if (isGrep) _recordGraphTelemetry('bash_grep_call');
|
|
686
|
-
else _recordGraphTelemetry('bash_find_call');
|
|
687
|
-
}
|
|
688
|
-
},
|
|
689
|
-
|
|
690
|
-
'pre-write': async () => {
|
|
691
|
-
// Enforcement gate: secrets detection + monofence-ai threat scan before
|
|
692
|
-
// Write/Edit/MultiEdit/NotebookEdit content lands on disk
|
|
693
|
-
var gates = require('./handlers/gates-handler.cjs');
|
|
694
|
-
await gates.handlePreWrite(hCtx);
|
|
695
|
-
_securityGateCompleted = true;
|
|
696
|
-
},
|
|
697
|
-
|
|
698
|
-
'pre-search': () => {
|
|
699
|
-
var tool = hCtx.toolName || '';
|
|
700
|
-
var sessIdGate = String((hCtx.hookInput && (hCtx.hookInput.sessionId || hCtx.hookInput.session_id)) || '');
|
|
701
|
-
var gateResult = _graphGateShouldBlock(sessIdGate);
|
|
702
|
-
if (gateResult === 'block') {
|
|
703
|
-
process.stderr.write(JSON.stringify({
|
|
704
|
-
decision: 'block',
|
|
705
|
-
reason: '[graph-gate] Call mcp__monomind__monograph_query or monograph_suggest before ' + (tool || 'Grep/Glob') + ' for code exploration (CLAUDE.md). This blocks once per session — after your first monograph call, search tools work normally.',
|
|
706
|
-
}) + '\n');
|
|
707
|
-
process.exitCode = 2;
|
|
708
|
-
return;
|
|
709
|
-
}
|
|
710
|
-
if (gateResult === 'warn') {
|
|
711
|
-
console.log('[MONOGRAPH_REMINDER] monograph_query/suggest not yet called this session — try monograph first for faster results.');
|
|
712
|
-
}
|
|
713
|
-
var graphResolved = false;
|
|
714
|
-
try {
|
|
715
|
-
var grepPattern = (typeof toolInput === 'object' && toolInput !== null)
|
|
716
|
-
? (toolInput.pattern || toolInput.query || '')
|
|
717
|
-
: '';
|
|
718
|
-
if (grepPattern.length >= 4 && grepPattern.length <= 80 && _isGraphFresh()) {
|
|
719
|
-
var db = _openMonographDb();
|
|
720
|
-
if (db) {
|
|
721
|
-
try {
|
|
722
|
-
// monolean: only JS/TS reserved words — generic identifiers are valid symbol names
|
|
723
|
-
var _searchStop = {import:1,export:1,from:1,require:1,return:1,function:1,const:1,let:1,var:1,class:1,interface:1,type:1,extends:1,implements:1,async:1,await:1,yield:1,throw:1,catch:1,finally:1,typeof:1,instanceof:1,void:1,null:1,undefined:1,true:1,false:1,this:1,super:1,new:1,delete:1,switch:1,case:1,break:1,continue:1,default:1,else:1,while:1,for:1,with:1,static:1,enum:1,string:1,number:1,object:1,boolean:1};
|
|
724
|
-
|
|
725
|
-
var isCleanSymbol = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(grepPattern);
|
|
726
|
-
|
|
727
|
-
// Strategy 1: exact name match (case-sensitive)
|
|
728
|
-
if (isCleanSymbol && !_searchStop[grepPattern.toLowerCase()]) {
|
|
729
|
-
var row = db.prepare(
|
|
730
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
|
|
731
|
-
'WHERE n.name = ? AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
|
|
732
|
-
'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
733
|
-
).get(grepPattern);
|
|
734
|
-
if (row) {
|
|
735
|
-
graphResolved = true;
|
|
736
|
-
var hint = row.file_path + (row.start_line != null ? ':' + row.start_line : '');
|
|
737
|
-
console.log('[MONOGRAPH_HINT] ' + grepPattern + ' found at ' + hint);
|
|
738
|
-
}
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
// Strategy 2: case-insensitive name match (uses COLLATE NOCASE index)
|
|
742
|
-
if (!graphResolved && isCleanSymbol && !_searchStop[grepPattern.toLowerCase()]) {
|
|
743
|
-
var row = db.prepare(
|
|
744
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
|
|
745
|
-
'WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
|
|
746
|
-
'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
747
|
-
).get(grepPattern);
|
|
748
|
-
if (row) {
|
|
749
|
-
graphResolved = true;
|
|
750
|
-
var hint = row.file_path + (row.start_line != null ? ':' + row.start_line : '');
|
|
751
|
-
console.log('[MONOGRAPH_HINT] ' + row.name + ' found at ' + hint);
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
// Strategy 3: dotted filename (db.ts, orchestrator.ts) → File node lookup
|
|
756
|
-
if (!graphResolved && /^[a-zA-Z0-9_-]+\.[a-z]{1,4}$/.test(grepPattern)) {
|
|
757
|
-
var row = db.prepare(
|
|
758
|
-
'SELECT n.name, n.file_path FROM nodes n WHERE n.name = ? AND n.label = \'File\' LIMIT 1'
|
|
759
|
-
).get(grepPattern);
|
|
760
|
-
if (row) {
|
|
761
|
-
graphResolved = true;
|
|
762
|
-
console.log('[MONOGRAPH_HINT] file ' + grepPattern + ' found at ' + row.file_path);
|
|
763
|
-
}
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
// Strategy 4: file path fragment (hyphenated: "scope-resolution")
|
|
767
|
-
if (!graphResolved && /^[a-zA-Z0-9_-]+(\.[a-zA-Z]+)?$/.test(grepPattern)
|
|
768
|
-
&& grepPattern.length >= 5 && grepPattern.indexOf('-') !== -1) {
|
|
769
|
-
var pathLike = '%/' + grepPattern + '%';
|
|
770
|
-
var row = db.prepare(
|
|
771
|
-
'SELECT n.file_path FROM nodes n WHERE n.label = \'File\' AND n.file_path LIKE ? LIMIT 1'
|
|
772
|
-
).get(pathLike);
|
|
773
|
-
if (row) {
|
|
774
|
-
graphResolved = true;
|
|
775
|
-
console.log('[MONOGRAPH_HINT] file ' + grepPattern + ' found at ' + row.file_path);
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
// Strategy 5: extract ≥4-char identifiers, case-insensitive match
|
|
780
|
-
if (!graphResolved) {
|
|
781
|
-
var identifiers = grepPattern.match(/[a-zA-Z_$][a-zA-Z0-9_$]{3,}/g) || [];
|
|
782
|
-
var tried = {};
|
|
783
|
-
for (var sj = 0; sj < identifiers.length && !graphResolved; sj++) {
|
|
784
|
-
var id = identifiers[sj];
|
|
785
|
-
if (_searchStop[id.toLowerCase()] || tried[id.toLowerCase()]) continue;
|
|
786
|
-
tried[id.toLowerCase()] = 1;
|
|
787
|
-
var row2 = db.prepare(
|
|
788
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
|
|
789
|
-
'WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
|
|
790
|
-
'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
791
|
-
).get(id);
|
|
792
|
-
if (row2) {
|
|
793
|
-
graphResolved = true;
|
|
794
|
-
var hint2 = row2.file_path + (row2.start_line != null ? ':' + row2.start_line : '');
|
|
795
|
-
console.log('[MONOGRAPH_HINT] ' + row2.name + ' found at ' + hint2);
|
|
796
|
-
}
|
|
797
|
-
}
|
|
798
|
-
}
|
|
799
|
-
|
|
800
|
-
// Strategy 6: FTS5 trigram substring match (catches partial/compound names)
|
|
801
|
-
if (!graphResolved && grepPattern.length >= 4) {
|
|
802
|
-
try {
|
|
803
|
-
var ftsQ = '"' + grepPattern.replace(/"/g, '""') + '"';
|
|
804
|
-
var ftsRow = db.prepare(
|
|
805
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes_fts f ' +
|
|
806
|
-
'JOIN nodes n ON n.rowid = f.rowid ' +
|
|
807
|
-
'WHERE nodes_fts MATCH ? ' +
|
|
808
|
-
'AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
|
|
809
|
-
'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
810
|
-
).get(ftsQ);
|
|
811
|
-
if (ftsRow) {
|
|
812
|
-
graphResolved = true;
|
|
813
|
-
var ftsHint = ftsRow.file_path + (ftsRow.start_line != null ? ':' + ftsRow.start_line : '');
|
|
814
|
-
console.log('[MONOGRAPH_HINT] ' + ftsRow.name + ' found at ' + ftsHint);
|
|
815
|
-
}
|
|
816
|
-
} catch (e) { /* FTS table may not exist */ }
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
// Strategy 7: dotted property access (ctx.allFilesCached, cache.hashFile)
|
|
820
|
-
if (!graphResolved && grepPattern.indexOf('.') !== -1 && /^[a-zA-Z_$]/.test(grepPattern)) {
|
|
821
|
-
var dotParts = grepPattern.split('.').filter(function(p) { return p.length >= 4 && /^[a-zA-Z_$]/.test(p); });
|
|
822
|
-
for (var di = dotParts.length - 1; di >= 0 && !graphResolved; di--) {
|
|
823
|
-
var dp = dotParts[di];
|
|
824
|
-
if (_searchStop[dp.toLowerCase()]) continue;
|
|
825
|
-
var drow = db.prepare(
|
|
826
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
|
|
827
|
-
'WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
|
|
828
|
-
'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
829
|
-
).get(dp);
|
|
830
|
-
if (drow) {
|
|
831
|
-
graphResolved = true;
|
|
832
|
-
var dhint = drow.file_path + (drow.start_line != null ? ':' + drow.start_line : '');
|
|
833
|
-
console.log('[MONOGRAPH_HINT] ' + drow.name + ' found at ' + dhint);
|
|
834
|
-
}
|
|
835
|
-
}
|
|
836
|
-
}
|
|
837
|
-
|
|
838
|
-
// Strategy 8: snake_case → camelCase conversion
|
|
839
|
-
if (!graphResolved && grepPattern.indexOf('_') !== -1 && /^[a-z]/.test(grepPattern) && grepPattern.length >= 6) {
|
|
840
|
-
var camel = grepPattern.replace(/_([a-z])/g, function(_, c) { return c.toUpperCase(); });
|
|
841
|
-
if (camel !== grepPattern && !_searchStop[camel.toLowerCase()]) {
|
|
842
|
-
var crow = db.prepare(
|
|
843
|
-
'SELECT n.name, n.file_path, n.start_line FROM nodes n ' +
|
|
844
|
-
'WHERE n.name = ? COLLATE NOCASE AND n.label NOT IN (\'Concept\',\'Community\',\'Folder\') ' +
|
|
845
|
-
'AND n.file_path IS NOT NULL AND n.file_path NOT LIKE \'%.md\' LIMIT 1'
|
|
846
|
-
).get(camel);
|
|
847
|
-
if (crow) {
|
|
848
|
-
graphResolved = true;
|
|
849
|
-
var chint = crow.file_path + (crow.start_line != null ? ':' + crow.start_line : '');
|
|
850
|
-
console.log('[MONOGRAPH_HINT] ' + crow.name + ' found at ' + chint);
|
|
851
|
-
}
|
|
852
|
-
}
|
|
853
|
-
}
|
|
854
|
-
} catch (e) { /* non-fatal */ }
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
} catch (e) { /* non-fatal */ }
|
|
858
|
-
|
|
859
|
-
if (graphResolved) {
|
|
860
|
-
_recordGraphTelemetry('graph_assist_search');
|
|
861
|
-
} else if (tool === 'Grep') {
|
|
862
|
-
_recordGraphTelemetry('grep_call');
|
|
863
|
-
} else if (tool === 'Glob') {
|
|
864
|
-
_recordGraphTelemetry('glob_call');
|
|
865
|
-
}
|
|
866
|
-
},
|
|
867
|
-
|
|
868
|
-
'post-graph-tool': () => {
|
|
869
|
-
// Record monograph MCP tool calls as graph wins
|
|
870
|
-
_recordGraphTelemetry('monograph_call');
|
|
871
|
-
var sessIdGate = String((hCtx.hookInput && (hCtx.hookInput.sessionId || hCtx.hookInput.session_id)) || '');
|
|
872
|
-
_graphGateMarkQueried(sessIdGate);
|
|
873
|
-
},
|
|
874
|
-
|
|
875
|
-
'graph-status': () => {
|
|
876
|
-
const h = require('./handlers/graph-status-handler.cjs');
|
|
877
|
-
h.handle(hCtx);
|
|
878
|
-
},
|
|
879
|
-
|
|
880
|
-
'budget-status': () => {
|
|
881
|
-
const h = require('./handlers/budget-status-handler.cjs');
|
|
882
|
-
h.handle(hCtx);
|
|
883
|
-
},
|
|
884
|
-
|
|
885
|
-
'loops-status': () => {
|
|
886
|
-
const h = require('./handlers/loops-status-handler.cjs');
|
|
887
|
-
h.handle(hCtx);
|
|
888
|
-
},
|
|
889
|
-
|
|
890
|
-
'stats': async () => {
|
|
891
|
-
const h = require('./handlers/stats-handler.cjs');
|
|
892
|
-
await h.handle(hCtx);
|
|
893
|
-
},
|
|
894
|
-
};
|
|
895
|
-
|
|
896
|
-
if (command && handlers[command]) {
|
|
897
|
-
var _hookStart = Date.now();
|
|
898
|
-
try {
|
|
899
|
-
await Promise.resolve(handlers[command]());
|
|
900
|
-
} catch (e) {
|
|
901
|
-
var _isSecurityGate = (command === 'pre-bash' || command === 'pre-write');
|
|
902
|
-
if (_isSecurityGate && !_securityGateCompleted) {
|
|
903
|
-
// The security gate crashed before deciding anything. Fail CLOSED —
|
|
904
|
-
// silently allowing here is exactly the failure mode the gate exists
|
|
905
|
-
// to prevent. Reason goes to stderr (exit-2 protocol); stdout must
|
|
906
|
-
// stay clean so it can never be parsed as an allow-decision.
|
|
907
|
-
process.stderr.write(JSON.stringify({
|
|
908
|
-
decision: 'block',
|
|
909
|
-
reason: '[gates] Security gate "' + command + '" crashed before completing (' +
|
|
910
|
-
e.message + '). Failing CLOSED — the operation was not evaluated, so it is not ' +
|
|
911
|
-
'allowed. Fix the hook (.claude/helpers/handlers/gates-handler.cjs) and retry.',
|
|
912
|
-
}) + '\n');
|
|
913
|
-
process.exitCode = 2;
|
|
914
|
-
} else {
|
|
915
|
-
// Non-security hook work (routing, monograph enrichment, telemetry):
|
|
916
|
-
// fail open, and keep the diagnostic on stderr so it is never mistaken
|
|
917
|
-
// for hook output on stdout.
|
|
918
|
-
process.stderr.write('[WARN] Hook ' + command + ' encountered an error: ' + e.message + '\n');
|
|
919
|
-
}
|
|
920
|
-
} finally {
|
|
921
|
-
try { _recordHookLatency(command, Date.now() - _hookStart); } catch (_) {}
|
|
922
|
-
}
|
|
923
|
-
} else if (command) {
|
|
924
|
-
console.log('[OK] Hook: ' + command);
|
|
925
|
-
} else {
|
|
926
|
-
console.log('Usage: hook-handler.cjs <route|pre-bash|pre-search|post-edit|post-graph-tool|session-restore|session-end|pre-task|post-task|compact-manual|compact-auto|stats>');
|
|
927
|
-
}
|
|
928
|
-
}
|
|
929
|
-
|
|
930
|
-
// Only run when executed directly (every real hook event spawns this file as a
|
|
931
|
-
// process). A require() — e.g. from tests verifying it loads — must not exit.
|
|
932
|
-
if (require.main === module) {
|
|
933
|
-
main().catch(function(e) {
|
|
934
|
-
// main() itself blew up (stdin parsing, module init, …). For the two
|
|
935
|
-
// security-gate events that means the gate never ran — fail CLOSED.
|
|
936
|
-
// Everything else fails open. Diagnostics go to stderr in both cases.
|
|
937
|
-
if (command === 'pre-bash' || command === 'pre-write') {
|
|
938
|
-
process.stderr.write(JSON.stringify({
|
|
939
|
-
decision: 'block',
|
|
940
|
-
reason: '[gates] Hook handler crashed before the "' + command + '" security gate could ' +
|
|
941
|
-
'run (' + e.message + '). Failing CLOSED — the operation was not evaluated.',
|
|
942
|
-
}) + '\n');
|
|
943
|
-
process.exitCode = 2;
|
|
944
|
-
} else {
|
|
945
|
-
process.stderr.write('[WARN] Hook handler error: ' + e.message + '\n');
|
|
946
|
-
}
|
|
947
|
-
}).finally(function() {
|
|
948
|
-
// Use process.exitCode if a gate set it (exit 2 = block), otherwise clean exit
|
|
949
|
-
process.exit(process.exitCode || 0);
|
|
950
|
-
});
|
|
951
|
-
}
|