@monoes/monomindcli 1.11.14 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/generated/channel-intelligence-director.md +87 -0
- package/.claude/agents/generated/chief-growth-officer.md +88 -0
- package/.claude/agents/generated/content-seo-strategist.md +90 -0
- package/.claude/agents/generated/developer-community-strategist.md +91 -0
- package/.claude/agents/generated/outreach-partnership-strategist.md +90 -0
- package/.claude/agents/generated/social-media-strategist.md +91 -0
- package/.claude/agents/generated/video-visual-strategist.md +90 -0
- package/.claude/commands/mastermind/master.md +1 -1
- package/.claude/helpers/auto-memory-hook.mjs +13 -4
- package/.claude/helpers/control-start.cjs +5 -0
- package/.claude/helpers/event-logger.cjs +114 -0
- package/.claude/helpers/handlers/adr-draft-handler.cjs +19 -5
- package/.claude/helpers/handlers/agent-start-handler.cjs +13 -4
- package/.claude/helpers/handlers/compact-handler.cjs +2 -0
- package/.claude/helpers/handlers/edit-handler.cjs +1 -1
- package/.claude/helpers/handlers/gates-handler.cjs +3 -0
- package/.claude/helpers/handlers/graph-status-handler.cjs +14 -8
- package/.claude/helpers/handlers/loops-status-handler.cjs +5 -2
- package/.claude/helpers/handlers/route-handler.cjs +24 -10
- package/.claude/helpers/handlers/session-handler.cjs +11 -4
- package/.claude/helpers/handlers/session-restore-handler.cjs +35 -19
- package/.claude/helpers/handlers/task-handler.cjs +13 -5
- package/.claude/helpers/hook-handler.cjs +40 -0
- package/.claude/helpers/intelligence.cjs +130 -53
- package/.claude/helpers/loop-tracker.cjs +15 -3
- package/.claude/helpers/memory-palace.cjs +461 -0
- package/.claude/helpers/memory.cjs +138 -14
- package/.claude/helpers/metrics-db.mjs +87 -0
- package/.claude/helpers/router.cjs +300 -42
- package/.claude/helpers/session.cjs +89 -30
- package/.claude/helpers/statusline.cjs +148 -4
- package/.claude/helpers/toggle-statusline.cjs +73 -0
- package/.claude/helpers/token-tracker.cjs +934 -0
- package/.claude/helpers/utils/micro-agents.cjs +20 -4
- package/.claude/helpers/utils/monograph.cjs +39 -4
- package/.claude/helpers/utils/telemetry.cjs +3 -3
- package/.claude/skills/mastermind/_protocol.md +25 -15
- package/.claude/skills/mastermind/architect.md +3 -3
- package/.claude/skills/mastermind/autodev.md +4 -2
- package/.claude/skills/mastermind/idea.md +10 -0
- package/.claude/skills/mastermind/ops.md +3 -3
- package/.claude/skills/mastermind/runorg.md +153 -86
- package/dist/src/agents/registry-builder.d.ts.map +1 -1
- package/dist/src/agents/registry-builder.js +2 -0
- package/dist/src/agents/registry-builder.js.map +1 -1
- package/dist/src/autopilot-state.d.ts.map +1 -1
- package/dist/src/autopilot-state.js +10 -5
- package/dist/src/autopilot-state.js.map +1 -1
- package/dist/src/benchmarks/benchmark-runner.d.ts.map +1 -1
- package/dist/src/benchmarks/benchmark-runner.js +13 -0
- package/dist/src/benchmarks/benchmark-runner.js.map +1 -1
- package/dist/src/benchmarks/metric-evaluators.d.ts.map +1 -1
- package/dist/src/benchmarks/metric-evaluators.js +20 -9
- package/dist/src/benchmarks/metric-evaluators.js.map +1 -1
- package/dist/src/browser/actions.d.ts.map +1 -1
- package/dist/src/browser/actions.js +10 -3
- package/dist/src/browser/actions.js.map +1 -1
- package/dist/src/browser/browser.d.ts.map +1 -1
- package/dist/src/browser/browser.js +12 -2
- package/dist/src/browser/browser.js.map +1 -1
- package/dist/src/browser/cdp.d.ts.map +1 -1
- package/dist/src/browser/cdp.js +21 -3
- package/dist/src/browser/cdp.js.map +1 -1
- package/dist/src/browser/har.d.ts.map +1 -1
- package/dist/src/browser/har.js +27 -5
- package/dist/src/browser/har.js.map +1 -1
- package/dist/src/commands/agent.d.ts.map +1 -1
- package/dist/src/commands/agent.js +11 -8
- package/dist/src/commands/agent.js.map +1 -1
- package/dist/src/commands/analyze.d.ts.map +1 -1
- package/dist/src/commands/analyze.js +36 -21
- package/dist/src/commands/analyze.js.map +1 -1
- package/dist/src/commands/autopilot.d.ts.map +1 -1
- package/dist/src/commands/autopilot.js +12 -4
- package/dist/src/commands/autopilot.js.map +1 -1
- package/dist/src/commands/benchmark.d.ts.map +1 -1
- package/dist/src/commands/benchmark.js +51 -8
- package/dist/src/commands/benchmark.js.map +1 -1
- package/dist/src/commands/browse.d.ts.map +1 -1
- package/dist/src/commands/browse.js +5 -2
- package/dist/src/commands/browse.js.map +1 -1
- package/dist/src/commands/claims.d.ts.map +1 -1
- package/dist/src/commands/claims.js +29 -11
- package/dist/src/commands/claims.js.map +1 -1
- package/dist/src/commands/cleanup.d.ts.map +1 -1
- package/dist/src/commands/cleanup.js +25 -5
- package/dist/src/commands/cleanup.js.map +1 -1
- package/dist/src/commands/config.d.ts.map +1 -1
- package/dist/src/commands/config.js +15 -7
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/daemon.d.ts.map +1 -1
- package/dist/src/commands/daemon.js +6 -0
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/deployment.d.ts.map +1 -1
- package/dist/src/commands/deployment.js +34 -19
- package/dist/src/commands/deployment.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +133 -15
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/guidance.d.ts.map +1 -1
- package/dist/src/commands/guidance.js +15 -2
- package/dist/src/commands/guidance.js.map +1 -1
- package/dist/src/commands/hive-mind.d.ts.map +1 -1
- package/dist/src/commands/hive-mind.js +37 -14
- package/dist/src/commands/hive-mind.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +42 -25
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +9 -4
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/issues.d.ts.map +1 -1
- package/dist/src/commands/issues.js +29 -26
- package/dist/src/commands/issues.js.map +1 -1
- package/dist/src/commands/mcp.d.ts.map +1 -1
- package/dist/src/commands/mcp.js +11 -5
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/memory.js +10 -0
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/migrate.js +5 -5
- package/dist/src/commands/migrate.js.map +1 -1
- package/dist/src/commands/monograph.d.ts.map +1 -1
- package/dist/src/commands/monograph.js +18 -5
- package/dist/src/commands/monograph.js.map +1 -1
- package/dist/src/commands/monovector/backup.d.ts.map +1 -1
- package/dist/src/commands/monovector/backup.js +8 -2
- package/dist/src/commands/monovector/backup.js.map +1 -1
- package/dist/src/commands/monovector/benchmark.d.ts.map +1 -1
- package/dist/src/commands/monovector/benchmark.js +20 -7
- package/dist/src/commands/monovector/benchmark.js.map +1 -1
- package/dist/src/commands/monovector/import.d.ts.map +1 -1
- package/dist/src/commands/monovector/import.js +15 -0
- package/dist/src/commands/monovector/import.js.map +1 -1
- package/dist/src/commands/monovector/migrate.d.ts.map +1 -1
- package/dist/src/commands/monovector/migrate.js +4 -1
- package/dist/src/commands/monovector/migrate.js.map +1 -1
- package/dist/src/commands/monovector/optimize.d.ts.map +1 -1
- package/dist/src/commands/monovector/optimize.js +11 -0
- package/dist/src/commands/monovector/optimize.js.map +1 -1
- package/dist/src/commands/monovector/setup.d.ts.map +1 -1
- package/dist/src/commands/monovector/setup.js +11 -1
- package/dist/src/commands/monovector/setup.js.map +1 -1
- package/dist/src/commands/neural.js +1 -1
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/commands/performance.d.ts.map +1 -1
- package/dist/src/commands/performance.js +20 -7
- package/dist/src/commands/performance.js.map +1 -1
- package/dist/src/commands/platforms.d.ts.map +1 -1
- package/dist/src/commands/platforms.js +90 -8
- package/dist/src/commands/platforms.js.map +1 -1
- package/dist/src/commands/plugins.d.ts.map +1 -1
- package/dist/src/commands/plugins.js +12 -5
- package/dist/src/commands/plugins.js.map +1 -1
- package/dist/src/commands/process.d.ts.map +1 -1
- package/dist/src/commands/process.js +33 -10
- package/dist/src/commands/process.js.map +1 -1
- package/dist/src/commands/progress.d.ts.map +1 -1
- package/dist/src/commands/progress.js +5 -3
- package/dist/src/commands/progress.js.map +1 -1
- package/dist/src/commands/providers.js +5 -5
- package/dist/src/commands/providers.js.map +1 -1
- package/dist/src/commands/replay.d.ts.map +1 -1
- package/dist/src/commands/replay.js +8 -2
- package/dist/src/commands/replay.js.map +1 -1
- package/dist/src/commands/route.d.ts.map +1 -1
- package/dist/src/commands/route.js +27 -7
- package/dist/src/commands/route.js.map +1 -1
- package/dist/src/commands/security.d.ts.map +1 -1
- package/dist/src/commands/security.js +4 -0
- package/dist/src/commands/security.js.map +1 -1
- package/dist/src/commands/session.d.ts.map +1 -1
- package/dist/src/commands/session.js +12 -1
- package/dist/src/commands/session.js.map +1 -1
- package/dist/src/commands/start.d.ts.map +1 -1
- package/dist/src/commands/start.js +11 -4
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/status.d.ts.map +1 -1
- package/dist/src/commands/status.js +7 -4
- package/dist/src/commands/status.js.map +1 -1
- package/dist/src/commands/swarm.d.ts.map +1 -1
- package/dist/src/commands/swarm.js +27 -13
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/commands/task.d.ts.map +1 -1
- package/dist/src/commands/task.js +26 -11
- package/dist/src/commands/task.js.map +1 -1
- package/dist/src/commands/tokens.d.ts.map +1 -1
- package/dist/src/commands/tokens.js +7 -2
- package/dist/src/commands/tokens.js.map +1 -1
- package/dist/src/commands/transfer-store.d.ts.map +1 -1
- package/dist/src/commands/transfer-store.js +36 -22
- package/dist/src/commands/transfer-store.js.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +15 -3
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/workflow.d.ts.map +1 -1
- package/dist/src/commands/workflow.js +39 -6
- package/dist/src/commands/workflow.js.map +1 -1
- package/dist/src/consensus/audit-writer.d.ts.map +1 -1
- package/dist/src/consensus/audit-writer.js +18 -7
- package/dist/src/consensus/audit-writer.js.map +1 -1
- package/dist/src/consensus/vote-signer.d.ts.map +1 -1
- package/dist/src/consensus/vote-signer.js +25 -8
- package/dist/src/consensus/vote-signer.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +14 -11
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/shared-instructions-generator.d.ts.map +1 -1
- package/dist/src/init/shared-instructions-generator.js +20 -4
- package/dist/src/init/shared-instructions-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts.map +1 -1
- package/dist/src/init/statusline-generator.js +36 -15
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/mcp-tools/a2a-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/a2a-tools.js +98 -13
- package/dist/src/mcp-tools/a2a-tools.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +16 -3
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/analyze-tools.js +80 -17
- package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
- package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/browser-tools.js +84 -22
- package/dist/src/mcp-tools/browser-tools.js.map +1 -1
- package/dist/src/mcp-tools/claims-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/claims-tools.js +35 -7
- package/dist/src/mcp-tools/claims-tools.js.map +1 -1
- package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/config-tools.js +82 -17
- package/dist/src/mcp-tools/config-tools.js.map +1 -1
- package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/coordination-tools.js +37 -4
- package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
- package/dist/src/mcp-tools/daa-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/daa-tools.js +49 -7
- package/dist/src/mcp-tools/daa-tools.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +45 -18
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/github-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/github-tools.js +75 -25
- package/dist/src/mcp-tools/github-tools.js.map +1 -1
- package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/guidance-tools.js +32 -10
- package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +91 -20
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +188 -29
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +25 -7
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph-compat.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph-compat.js +11 -2
- package/dist/src/mcp-tools/monograph-compat.js.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.js +476 -62
- package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +44 -9
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/performance-tools.js +45 -10
- package/dist/src/mcp-tools/performance-tools.js.map +1 -1
- package/dist/src/mcp-tools/progress-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/progress-tools.js +7 -4
- package/dist/src/mcp-tools/progress-tools.js.map +1 -1
- package/dist/src/mcp-tools/request-tracker.d.ts.map +1 -1
- package/dist/src/mcp-tools/request-tracker.js +15 -1
- package/dist/src/mcp-tools/request-tracker.js.map +1 -1
- package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/security-tools.js +61 -9
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +45 -14
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +15 -3
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +14 -7
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +52 -10
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.js +40 -6
- package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.js +37 -4
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +29 -6
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
- package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
- package/dist/src/memory/ewc-consolidation.js +26 -10
- package/dist/src/memory/ewc-consolidation.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts.map +1 -1
- package/dist/src/memory/intelligence.js +80 -19
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +21 -2
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/memory-initializer.js +67 -3
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
- package/dist/src/memory/sona-optimizer.js +14 -4
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/monovector/command-outcomes.d.ts.map +1 -1
- package/dist/src/monovector/command-outcomes.js +43 -7
- package/dist/src/monovector/command-outcomes.js.map +1 -1
- package/dist/src/monovector/coverage-router.d.ts.map +1 -1
- package/dist/src/monovector/coverage-router.js +8 -4
- package/dist/src/monovector/coverage-router.js.map +1 -1
- package/dist/src/monovector/coverage-tools.d.ts.map +1 -1
- package/dist/src/monovector/coverage-tools.js +6 -3
- package/dist/src/monovector/coverage-tools.js.map +1 -1
- package/dist/src/monovector/diff-classifier.d.ts.map +1 -1
- package/dist/src/monovector/diff-classifier.js +13 -0
- package/dist/src/monovector/diff-classifier.js.map +1 -1
- package/dist/src/monovector/route-outcomes.d.ts +2 -1
- package/dist/src/monovector/route-outcomes.d.ts.map +1 -1
- package/dist/src/monovector/route-outcomes.js +46 -4
- package/dist/src/monovector/route-outcomes.js.map +1 -1
- package/dist/src/plugins/manager.d.ts.map +1 -1
- package/dist/src/plugins/manager.js +8 -3
- package/dist/src/plugins/manager.js.map +1 -1
- package/dist/src/plugins/store/discovery.d.ts.map +1 -1
- package/dist/src/plugins/store/discovery.js +46 -2
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/plugins/store/search.d.ts.map +1 -1
- package/dist/src/plugins/store/search.js +5 -4
- package/dist/src/plugins/store/search.js.map +1 -1
- package/dist/src/production/circuit-breaker.d.ts.map +1 -1
- package/dist/src/production/circuit-breaker.js +17 -3
- package/dist/src/production/circuit-breaker.js.map +1 -1
- package/dist/src/production/error-handler.d.ts.map +1 -1
- package/dist/src/production/error-handler.js +3 -0
- package/dist/src/production/error-handler.js.map +1 -1
- package/dist/src/production/monitoring.d.ts.map +1 -1
- package/dist/src/production/monitoring.js +20 -3
- package/dist/src/production/monitoring.js.map +1 -1
- package/dist/src/production/rate-limiter.d.ts.map +1 -1
- package/dist/src/production/rate-limiter.js +13 -4
- package/dist/src/production/rate-limiter.js.map +1 -1
- package/dist/src/production/retry.d.ts.map +1 -1
- package/dist/src/production/retry.js +17 -9
- package/dist/src/production/retry.js.map +1 -1
- package/dist/src/routing/embed-worker.js +6 -2
- package/dist/src/routing/embed-worker.js.map +1 -1
- package/dist/src/routing/embedder.d.ts.map +1 -1
- package/dist/src/routing/embedder.js +0 -0
- package/dist/src/routing/embedder.js.map +1 -1
- package/dist/src/routing/llm-caller.d.ts.map +1 -1
- package/dist/src/routing/llm-caller.js +13 -2
- package/dist/src/routing/llm-caller.js.map +1 -1
- package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
- package/dist/src/routing/route-layer-factory.js +18 -3
- package/dist/src/routing/route-layer-factory.js.map +1 -1
- package/dist/src/services/claim-service.d.ts +1 -0
- package/dist/src/services/claim-service.d.ts.map +1 -1
- package/dist/src/services/claim-service.js +8 -0
- package/dist/src/services/claim-service.js.map +1 -1
- package/dist/src/services/config-file-manager.d.ts.map +1 -1
- package/dist/src/services/config-file-manager.js +14 -2
- package/dist/src/services/config-file-manager.js.map +1 -1
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -1
- package/dist/src/services/headless-worker-executor.js +18 -2
- package/dist/src/services/headless-worker-executor.js.map +1 -1
- package/dist/src/services/worker-daemon.d.ts.map +1 -1
- package/dist/src/services/worker-daemon.js +348 -17
- package/dist/src/services/worker-daemon.js.map +1 -1
- package/dist/src/transfer/anonymization/index.d.ts +0 -3
- package/dist/src/transfer/anonymization/index.d.ts.map +1 -1
- package/dist/src/transfer/anonymization/index.js +16 -1
- package/dist/src/transfer/anonymization/index.js.map +1 -1
- package/dist/src/transfer/export.d.ts.map +1 -1
- package/dist/src/transfer/export.js +8 -0
- package/dist/src/transfer/export.js.map +1 -1
- package/dist/src/transfer/ipfs/upload.d.ts.map +1 -1
- package/dist/src/transfer/ipfs/upload.js +33 -3
- package/dist/src/transfer/ipfs/upload.js.map +1 -1
- package/dist/src/transfer/serialization/cfp.d.ts.map +1 -1
- package/dist/src/transfer/serialization/cfp.js +8 -2
- package/dist/src/transfer/serialization/cfp.js.map +1 -1
- package/dist/src/transfer/storage/gcs.d.ts.map +1 -1
- package/dist/src/transfer/storage/gcs.js +37 -3
- package/dist/src/transfer/storage/gcs.js.map +1 -1
- package/dist/src/transfer/store/discovery.d.ts.map +1 -1
- package/dist/src/transfer/store/discovery.js +45 -3
- package/dist/src/transfer/store/discovery.js.map +1 -1
- package/dist/src/transfer/store/download.d.ts.map +1 -1
- package/dist/src/transfer/store/download.js +5 -0
- package/dist/src/transfer/store/download.js.map +1 -1
- package/dist/src/transfer/store/publish.d.ts.map +1 -1
- package/dist/src/transfer/store/publish.js +13 -1
- package/dist/src/transfer/store/publish.js.map +1 -1
- package/dist/src/transfer/store/registry.d.ts +8 -0
- package/dist/src/transfer/store/registry.d.ts.map +1 -1
- package/dist/src/transfer/store/registry.js +30 -5
- package/dist/src/transfer/store/registry.js.map +1 -1
- package/dist/src/transfer/store/search.d.ts.map +1 -1
- package/dist/src/transfer/store/search.js +20 -5
- package/dist/src/transfer/store/search.js.map +1 -1
- package/dist/src/ui/collector.mjs +39 -5
- package/dist/src/ui/dashboard.html +1603 -1284
- package/dist/src/ui/orgs.html +722 -12
- package/dist/src/ui/server.mjs +717 -136
- package/dist/src/update/checker.d.ts.map +1 -1
- package/dist/src/update/checker.js +59 -7
- package/dist/src/update/checker.js.map +1 -1
- package/dist/src/update/executor.d.ts.map +1 -1
- package/dist/src/update/executor.js +50 -3
- package/dist/src/update/executor.js.map +1 -1
- package/dist/src/update/index.d.ts.map +1 -1
- package/dist/src/update/index.js +18 -1
- package/dist/src/update/index.js.map +1 -1
- package/dist/src/update/rate-limiter.d.ts +6 -0
- package/dist/src/update/rate-limiter.d.ts.map +1 -1
- package/dist/src/update/rate-limiter.js +79 -7
- package/dist/src/update/rate-limiter.js.map +1 -1
- package/dist/src/update/validator.d.ts.map +1 -1
- package/dist/src/update/validator.js +52 -1
- package/dist/src/update/validator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -3
- package/dist/src/ui/data/mastermind-events.jsonl +0 -59
|
@@ -77,15 +77,18 @@ function _triggerExtractFromFrontmatter(content, agentSlug) {
|
|
|
77
77
|
return triggers;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
function _triggerCollectMdFiles(dir) {
|
|
80
|
+
function _triggerCollectMdFiles(dir, _depth) {
|
|
81
|
+
var depth = (_depth === undefined) ? 0 : _depth;
|
|
82
|
+
if (depth > 5) return []; // cap recursion depth to prevent stack overflow DoS
|
|
81
83
|
var results = [];
|
|
82
84
|
try {
|
|
83
85
|
var entries = fs.readdirSync(dir);
|
|
84
86
|
for (var i = 0; i < entries.length; i++) {
|
|
87
|
+
if (results.length >= 200) break; // cap total file count to prevent DoS
|
|
85
88
|
var full = path.join(dir, entries[i]);
|
|
86
89
|
try {
|
|
87
90
|
var st = fs.lstatSync(full);
|
|
88
|
-
if (st.isDirectory()) results = results.concat(_triggerCollectMdFiles(full));
|
|
91
|
+
if (st.isDirectory()) results = results.concat(_triggerCollectMdFiles(full, depth + 1));
|
|
89
92
|
else if (entries[i].endsWith('.md')) results.push(full);
|
|
90
93
|
} catch (e) {}
|
|
91
94
|
}
|
|
@@ -98,7 +101,11 @@ function _triggerBuildIndex(agentDir) {
|
|
|
98
101
|
var files = _triggerCollectMdFiles(agentDir);
|
|
99
102
|
for (var i = 0; i < files.length; i++) {
|
|
100
103
|
var content;
|
|
101
|
-
try {
|
|
104
|
+
try {
|
|
105
|
+
var _fst = fs.statSync(files[i]);
|
|
106
|
+
if (_fst.size > 256 * 1024) continue; // skip files > 256 KiB to prevent OOM
|
|
107
|
+
content = fs.readFileSync(files[i], 'utf-8');
|
|
108
|
+
} catch (e) { continue; }
|
|
102
109
|
var slug = files[i].split('/').pop().replace(/\.md$/i, '').toLowerCase().replace(/[^a-z0-9-]/g, '-');
|
|
103
110
|
patterns = patterns.concat(_triggerExtractFromFrontmatter(content, slug));
|
|
104
111
|
}
|
|
@@ -114,6 +121,8 @@ function scanMicroAgentTriggers(prompt) {
|
|
|
114
121
|
|
|
115
122
|
try {
|
|
116
123
|
if (fs.existsSync(indexPath)) {
|
|
124
|
+
var _idxSt = fs.statSync(indexPath);
|
|
125
|
+
if (_idxSt.size > 512 * 1024) { throw new Error('trigger-index.json exceeds 512 KiB'); }
|
|
117
126
|
var idx = JSON.parse(fs.readFileSync(indexPath, 'utf-8'));
|
|
118
127
|
var age = Date.now() - new Date(idx.builtAt || 0).getTime();
|
|
119
128
|
if (age < 3600000 && Array.isArray(idx.patterns)) {
|
|
@@ -140,6 +149,7 @@ function scanMicroAgentTriggers(prompt) {
|
|
|
140
149
|
if (p.mode !== 'inject' && p.mode !== 'takeover') continue;
|
|
141
150
|
if (seen[p.agentSlug]) continue;
|
|
142
151
|
try {
|
|
152
|
+
if (typeof p.pattern !== 'string' || p.pattern.length > 500) continue; // cap pattern length to prevent ReDoS
|
|
143
153
|
var re = new RegExp(p.pattern, 'i');
|
|
144
154
|
var m = re.exec(prompt);
|
|
145
155
|
if (m) {
|
|
@@ -164,6 +174,8 @@ function _buildKnowledgeSearchFn(knowledgeDir) {
|
|
|
164
174
|
if (!fs.existsSync(chunksFile)) return [];
|
|
165
175
|
var lines;
|
|
166
176
|
try {
|
|
177
|
+
var _cSt = fs.statSync(chunksFile);
|
|
178
|
+
if (_cSt.size > 4 * 1024 * 1024) return []; // skip > 4 MiB to prevent OOM
|
|
167
179
|
lines = fs.readFileSync(chunksFile, 'utf-8').trim().split('\n').filter(Boolean);
|
|
168
180
|
} catch (e) { return []; }
|
|
169
181
|
|
|
@@ -209,6 +221,8 @@ function _autoIndexKnowledge(knowledgeDir) {
|
|
|
209
221
|
} catch (e) {}
|
|
210
222
|
}
|
|
211
223
|
try {
|
|
224
|
+
var _sSt = fs.statSync(path.join(CWD, '.monomind', 'graph', 'stats.json'));
|
|
225
|
+
if (_sSt.size > 256 * 1024) { throw new Error('stats.json exceeds 256 KiB'); }
|
|
212
226
|
var statsForHash = JSON.parse(fs.readFileSync(path.join(CWD, '.monomind', 'graph', 'stats.json'), 'utf-8'));
|
|
213
227
|
hashInput += 'monograph:' + (statsForHash.builtAt || 0) + ';';
|
|
214
228
|
} catch(e) {}
|
|
@@ -220,7 +234,7 @@ function _autoIndexKnowledge(knowledgeDir) {
|
|
|
220
234
|
try { existingHash = fs.readFileSync(hashFile, 'utf-8').trim(); } catch (e) {}
|
|
221
235
|
|
|
222
236
|
var existingChunkCount = 0;
|
|
223
|
-
try { if (fs.existsSync(chunksFile)) { existingChunkCount = fs.readFileSync(chunksFile, 'utf-8').trim().split('\n').filter(Boolean).length; } } catch (e) {}
|
|
237
|
+
try { if (fs.existsSync(chunksFile)) { var _ecSt = fs.statSync(chunksFile); if (_ecSt.size <= 4 * 1024 * 1024) { existingChunkCount = fs.readFileSync(chunksFile, 'utf-8').trim().split('\n').filter(Boolean).length; } } } catch (e) {}
|
|
224
238
|
if (existingHash === contentHash && existingChunkCount > 0) return 0;
|
|
225
239
|
|
|
226
240
|
var newLines = [];
|
|
@@ -228,6 +242,8 @@ function _autoIndexKnowledge(knowledgeDir) {
|
|
|
228
242
|
var src = sources[si];
|
|
229
243
|
try {
|
|
230
244
|
if (!fs.existsSync(src.filePath)) continue;
|
|
245
|
+
var _srcSt = fs.statSync(src.filePath);
|
|
246
|
+
if (_srcSt.size > 512 * 1024) continue; // skip > 512 KiB to prevent OOM
|
|
231
247
|
var content = fs.readFileSync(src.filePath, 'utf-8');
|
|
232
248
|
var sections = content.split(/\n{2,}|\n(?=#{1,3} )/);
|
|
233
249
|
for (var ci = 0; ci < sections.length; ci++) {
|
|
@@ -25,6 +25,30 @@ function _requireMonograph() {
|
|
|
25
25
|
// Memoized at module scope — opening monograph.db can take 7-10s.
|
|
26
26
|
// Callers MUST NOT close the returned handle.
|
|
27
27
|
var _cachedMonographDb = undefined;
|
|
28
|
+
|
|
29
|
+
// LRU cache for getMonographSuggestions: avoids re-querying the DB for
|
|
30
|
+
// the same task text within a single hook execution process lifetime.
|
|
31
|
+
// Max 20 entries; evicts the least-recently-used on overflow.
|
|
32
|
+
var _suggestCache = { _map: Object.create(null), _order: [], _max: 20 };
|
|
33
|
+
function _suggestCacheGet(key) {
|
|
34
|
+
if (key in _suggestCache._map) {
|
|
35
|
+
// Move to end (most recently used)
|
|
36
|
+
var idx = _suggestCache._order.indexOf(key);
|
|
37
|
+
if (idx !== -1) { _suggestCache._order.splice(idx, 1); _suggestCache._order.push(key); }
|
|
38
|
+
return _suggestCache._map[key];
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
function _suggestCacheSet(key, value) {
|
|
43
|
+
if (!(key in _suggestCache._map)) {
|
|
44
|
+
if (_suggestCache._order.length >= _suggestCache._max) {
|
|
45
|
+
var evict = _suggestCache._order.shift();
|
|
46
|
+
delete _suggestCache._map[evict];
|
|
47
|
+
}
|
|
48
|
+
_suggestCache._order.push(key);
|
|
49
|
+
}
|
|
50
|
+
_suggestCache._map[key] = value;
|
|
51
|
+
}
|
|
28
52
|
function _openMonographDb() {
|
|
29
53
|
if (_cachedMonographDb !== undefined) return _cachedMonographDb;
|
|
30
54
|
try {
|
|
@@ -39,6 +63,10 @@ function _openMonographDb() {
|
|
|
39
63
|
|
|
40
64
|
function getMonographSuggestions(taskText, limit) {
|
|
41
65
|
if (!taskText || typeof taskText !== 'string') return [];
|
|
66
|
+
// Fast path: return cached result for repeated identical queries.
|
|
67
|
+
var cacheKey = taskText.slice(0, 200) + '|' + (limit || 5);
|
|
68
|
+
var cached = _suggestCacheGet(cacheKey);
|
|
69
|
+
if (cached !== undefined) return cached;
|
|
42
70
|
var db = _openMonographDb();
|
|
43
71
|
if (!db) return [];
|
|
44
72
|
try {
|
|
@@ -56,7 +84,7 @@ function getMonographSuggestions(taskText, limit) {
|
|
|
56
84
|
var rows = [];
|
|
57
85
|
try {
|
|
58
86
|
rows = db.prepare(
|
|
59
|
-
'SELECT n.id, n.name, n.label, n.file_path AS file, ' +
|
|
87
|
+
'SELECT n.id, n.name, n.label, n.file_path AS file, n.start_line AS startLine, ' +
|
|
60
88
|
'bm25(nodes_fts) AS bm25_score, ' +
|
|
61
89
|
'(SELECT COUNT(*) FROM edges WHERE source_id=n.id OR target_id=n.id) AS deg, ' +
|
|
62
90
|
'CASE n.label WHEN \'File\' THEN 3 WHEN \'Function\' THEN 3 WHEN \'Class\' THEN 3 ' +
|
|
@@ -72,7 +100,7 @@ function getMonographSuggestions(taskText, limit) {
|
|
|
72
100
|
var likeFrag = keys.map(function(){ return 'lower(n.name) LIKE ?'; }).join(' OR ');
|
|
73
101
|
var likeArgs = keys.map(function(k){ return '%' + k + '%'; });
|
|
74
102
|
var stmt = db.prepare(
|
|
75
|
-
'SELECT n.id, n.name, n.label, n.file_path AS file, ' +
|
|
103
|
+
'SELECT n.id, n.name, n.label, n.file_path AS file, n.start_line AS startLine, ' +
|
|
76
104
|
'(SELECT COUNT(*) FROM edges WHERE source_id=n.id OR target_id=n.id) AS deg ' +
|
|
77
105
|
'FROM nodes n WHERE (' + likeFrag + ') AND n.file_path IS NOT NULL AND n.file_path != \'\' ' +
|
|
78
106
|
'AND n.label NOT IN (\'Concept\') ' +
|
|
@@ -80,7 +108,9 @@ function getMonographSuggestions(taskText, limit) {
|
|
|
80
108
|
);
|
|
81
109
|
rows = stmt.all.apply(stmt, likeArgs.concat([lim]));
|
|
82
110
|
}
|
|
83
|
-
|
|
111
|
+
var result = rows || [];
|
|
112
|
+
_suggestCacheSet(cacheKey, result);
|
|
113
|
+
return result;
|
|
84
114
|
} catch (e) { return []; }
|
|
85
115
|
finally { /* db is shared/cached; do not close */ }
|
|
86
116
|
}
|
|
@@ -287,8 +317,13 @@ function injectGodNodesContext(CWD) {
|
|
|
287
317
|
// Staleness indicator: compare stored commit hash with current HEAD.
|
|
288
318
|
var staleIndicator = '';
|
|
289
319
|
try {
|
|
320
|
+
// The orchestrator writes 'last_commit_hash'; fall back to legacy keys.
|
|
290
321
|
var lastCommitRow = null;
|
|
291
|
-
try {
|
|
322
|
+
try {
|
|
323
|
+
lastCommitRow = db.prepare("SELECT value FROM index_meta WHERE key='last_commit_hash'").get() ||
|
|
324
|
+
db.prepare("SELECT value FROM index_meta WHERE key='lastCommit'").get() ||
|
|
325
|
+
db.prepare("SELECT value FROM index_meta WHERE key='ua_last_commit'").get();
|
|
326
|
+
} catch (_) {}
|
|
292
327
|
if (lastCommitRow && lastCommitRow.value) {
|
|
293
328
|
var { execFileSync: execSync } = require('child_process');
|
|
294
329
|
var currentHead = '';
|
|
@@ -10,14 +10,14 @@ const CWD = process.env.CLAUDE_PROJECT_DIR || process.cwd();
|
|
|
10
10
|
function _recordRecentEdit(filePath) {
|
|
11
11
|
if (!filePath) return;
|
|
12
12
|
try {
|
|
13
|
-
var
|
|
13
|
+
var storedPath = filePath;
|
|
14
14
|
var f = path.join(CWD, '.monomind', 'metrics', 'recent-edits.json');
|
|
15
15
|
fs.mkdirSync(path.dirname(f), { recursive: true });
|
|
16
16
|
var d = { edits: [] };
|
|
17
17
|
try { d = JSON.parse(fs.readFileSync(f, 'utf-8')); } catch (_) {}
|
|
18
18
|
if (!Array.isArray(d.edits)) d.edits = [];
|
|
19
|
-
d.edits = d.edits.filter(function(e) { return e.file !==
|
|
20
|
-
d.edits.unshift({ file:
|
|
19
|
+
d.edits = d.edits.filter(function(e) { return e.file !== storedPath; });
|
|
20
|
+
d.edits.unshift({ file: storedPath, editedAt: Date.now() });
|
|
21
21
|
if (d.edits.length > 10) d.edits = d.edits.slice(0, 10);
|
|
22
22
|
fs.writeFileSync(f, JSON.stringify(d));
|
|
23
23
|
} catch (e) { /* non-fatal */ }
|
|
@@ -289,14 +289,16 @@ If the user is running across multiple repos for the same project, they MUST use
|
|
|
289
289
|
# Compatible with macOS bash 3.2
|
|
290
290
|
project_name="${project_name:-$(basename "$PWD")}"
|
|
291
291
|
canonical="${project_name}-<domain>"
|
|
292
|
+
board_tracking=true
|
|
292
293
|
|
|
293
294
|
# Step 1 — Resolve space
|
|
294
295
|
space_id=$(monotask space list 2>/dev/null | awk -F'|' '{gsub(/^ +| +$/,"",$1);gsub(/^ +| +$/,"",$2);if($2==n)print $1}' n="$project_name" | head -1)
|
|
295
296
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>/dev/null | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
296
|
-
[ -z "$space_id" ] && { echo "
|
|
297
|
+
[ -z "$space_id" ] && { echo "[mastermind] monotask board unavailable — board tracking skipped."; board_tracking=false; }
|
|
297
298
|
|
|
298
299
|
# Step 2 — Find existing board by canonical name or create
|
|
299
300
|
# board list format is "uuid: name" (colon-space separator, NOT pipe)
|
|
301
|
+
if [ "$board_tracking" = "true" ]; then
|
|
300
302
|
board_id=$(monotask board list 2>/dev/null | awk -F': ' '{gsub(/^ +| +$/,"",$1);gsub(/^ +| +$/,"",$2);if($2==n)print $1}' n="$canonical" | head -1)
|
|
301
303
|
if [ -n "$board_id" ]; then
|
|
302
304
|
# Step 3a — Fetch column IDs from existing board
|
|
@@ -306,13 +308,16 @@ if [ -n "$board_id" ]; then
|
|
|
306
308
|
done_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Done")] | .[0].id // empty')
|
|
307
309
|
else
|
|
308
310
|
# Step 3b — Create board and columns
|
|
309
|
-
board_id=$(monotask board create --space "$space_id" "$canonical" --json | jq -r '.id // empty')
|
|
310
|
-
[ -z "$board_id" ] && { echo "
|
|
311
|
+
board_id=$(monotask board create --space "$space_id" "$canonical" --json 2>/dev/null | jq -r '.id // empty')
|
|
312
|
+
[ -z "$board_id" ] && { echo "[mastermind] monotask board unavailable — board tracking skipped."; board_tracking=false; }
|
|
313
|
+
if [ "$board_tracking" = "true" ]; then
|
|
311
314
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
312
|
-
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id // empty')
|
|
313
|
-
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id // empty')
|
|
314
|
-
done_col=$(monotask column create "$board_id" "Done" --json | jq -r '.id // empty')
|
|
315
|
-
[ -z "$todo_col" ] && { echo "
|
|
315
|
+
todo_col=$(monotask column create "$board_id" "Todo" --json 2>/dev/null | jq -r '.id // empty')
|
|
316
|
+
doing_col=$(monotask column create "$board_id" "Doing" --json 2>/dev/null | jq -r '.id // empty')
|
|
317
|
+
done_col=$(monotask column create "$board_id" "Done" --json 2>/dev/null | jq -r '.id // empty')
|
|
318
|
+
[ -z "$todo_col" ] && { echo "[mastermind] monotask board unavailable — board tracking skipped."; board_tracking=false; }
|
|
319
|
+
fi
|
|
320
|
+
fi
|
|
316
321
|
fi
|
|
317
322
|
```
|
|
318
323
|
|
|
@@ -321,28 +326,33 @@ When master.md runs multiple domains, resolve the space **once** before the loop
|
|
|
321
326
|
```bash
|
|
322
327
|
# Compatible with macOS bash 3.2 — jq accumulation instead of declare -A
|
|
323
328
|
project_name="<resolved project_name>"
|
|
329
|
+
board_tracking=true
|
|
324
330
|
space_id=$(monotask space list 2>/dev/null | awk -F'|' '{gsub(/^ +| +$/,"",$1);gsub(/^ +| +$/,"",$2);if($2==n)print $1}' n="$project_name" | head -1)
|
|
325
331
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>/dev/null | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
326
|
-
[ -z "$space_id" ] && { echo "
|
|
332
|
+
[ -z "$space_id" ] && { echo "[mastermind] monotask board unavailable — board tracking skipped."; board_tracking=false; }
|
|
327
333
|
|
|
328
334
|
state_patch='{}'
|
|
329
335
|
for domain in build marketing ops; do # substitute actual domain list
|
|
330
336
|
canonical="${project_name}-${domain}"
|
|
337
|
+
if [ "$board_tracking" = "true" ]; then
|
|
331
338
|
# board list format is "uuid: name" (colon-space separator, NOT pipe)
|
|
332
|
-
board_id=$(monotask board list 2>/dev/null | awk -F': ' '{gsub(/^ +| +$/,"",$1);gsub(/^ +| +$/,"",$2);if($2==n)print $1}' n="$canonical" | head -1)
|
|
339
|
+
board_id=$(monotask board list 2>/dev/null | awk -F': ' '{gsub(/^ +| +$/,"",$1);gsub(/^ +| +$/,"",$2);if($2==n)print $1}' n="$canonical" | head -1)
|
|
333
340
|
if [ -n "$board_id" ]; then
|
|
334
341
|
cols_json=$(monotask column list "$board_id" --json 2>/dev/null || echo '[]')
|
|
335
342
|
todo_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Todo" or .title=="Backlog")] | .[0].id // empty')
|
|
336
343
|
doing_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Doing" or .title=="In Progress")] | .[0].id // empty')
|
|
337
344
|
done_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Done")] | .[0].id // empty')
|
|
338
345
|
else
|
|
339
|
-
board_id=$(monotask board create --space "$space_id" "$canonical" --json | jq -r '.id // empty')
|
|
340
|
-
[ -z "$board_id" ] && { echo "
|
|
346
|
+
board_id=$(monotask board create --space "$space_id" "$canonical" --json 2>/dev/null | jq -r '.id // empty')
|
|
347
|
+
[ -z "$board_id" ] && { echo "[mastermind] monotask board unavailable — board tracking skipped."; board_tracking=false; }
|
|
348
|
+
if [ "$board_tracking" = "true" ]; then
|
|
341
349
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
342
|
-
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id // empty')
|
|
343
|
-
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id // empty')
|
|
344
|
-
done_col=$(monotask column create "$board_id" "Done" --json | jq -r '.id // empty')
|
|
345
|
-
[ -z "$todo_col" ] && { echo "
|
|
350
|
+
todo_col=$(monotask column create "$board_id" "Todo" --json 2>/dev/null | jq -r '.id // empty')
|
|
351
|
+
doing_col=$(monotask column create "$board_id" "Doing" --json 2>/dev/null | jq -r '.id // empty')
|
|
352
|
+
done_col=$(monotask column create "$board_id" "Done" --json 2>/dev/null | jq -r '.id // empty')
|
|
353
|
+
[ -z "$todo_col" ] && { echo "[mastermind] monotask board unavailable — board tracking skipped."; board_tracking=false; }
|
|
354
|
+
fi
|
|
355
|
+
fi
|
|
346
356
|
fi
|
|
347
357
|
state_patch=$(echo "$state_patch" | jq \
|
|
348
358
|
--arg d "$domain" --arg b "$board_id" \
|
|
@@ -95,10 +95,10 @@ If this skill is invoked directly (not by master):
|
|
|
95
95
|
result=$(monotask board create "architect" --json 2>/dev/null)
|
|
96
96
|
board_id=$(echo "$result" | jq -r '.id // empty')
|
|
97
97
|
[ -n "$board_id" ] && [ -n "$space_id" ] && monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
98
|
-
[ -z "$board_id" ] && { echo "
|
|
99
|
-
echo "$board_id"
|
|
98
|
+
[ -z "$board_id" ] && { echo "[mastermind] monotask board unavailable — board tracking skipped."; board_tracking=false; }
|
|
99
|
+
echo "${board_id:-}"
|
|
100
100
|
```
|
|
101
|
-
If
|
|
101
|
+
If board_id is empty after this block, set `board_tracking=false` and continue — do not abort. Card creation steps later are skipped when `board_tracking=false`.
|
|
102
102
|
6. Proceed with complexity assessment below
|
|
103
103
|
7. At end: emit `session:complete` (if `caller` is `standalone`). Before executing the curl below, substitute the resolved sessionId for `<sessionId>`:
|
|
104
104
|
```bash
|
|
@@ -432,7 +432,7 @@ Invoke `Skill("mastermind:build")` with:
|
|
|
432
432
|
- `brain_context`: the loaded brain context
|
|
433
433
|
- `project_name`: `$(basename "$PWD")`
|
|
434
434
|
- `mode`: `auto`
|
|
435
|
-
- `board_id`: the autodev board (
|
|
435
|
+
- `board_id`: the autodev board (only if non-empty; omit if monotask was unavailable)
|
|
436
436
|
|
|
437
437
|
The brief passed to build MUST include:
|
|
438
438
|
- What to build (concrete spec, not vague)
|
|
@@ -490,11 +490,13 @@ If `N < count`: log `[autodev] Moving to improvement <N+1>/<count>...` and repea
|
|
|
490
490
|
|
|
491
491
|
1. Extract flags (leading integer for count, --newfeature N, --focus, --auto/--confirm)
|
|
492
492
|
2. Load brain context via _protocol.md Brain Load Procedure (namespace: `autodev`)
|
|
493
|
-
3. Create monotask board:
|
|
493
|
+
3. Create monotask board (optional — skip gracefully if monotask is not installed):
|
|
494
494
|
```bash
|
|
495
495
|
project_name="${project_name:-$(basename "$PWD")}"
|
|
496
496
|
board_id=$(monotask board create "autodev" --json 2>/dev/null | jq -r '.id // empty')
|
|
497
|
+
[ -z "$board_id" ] && echo "[autodev] monotask board unavailable — board tracking skipped."
|
|
497
498
|
```
|
|
499
|
+
Pass `board_id` to `mastermind:build` only if non-empty; omit the parameter otherwise.
|
|
498
500
|
4. **If `--newfeature` was parsed:** run the Feature Pipeline (FP-0 through FP-End) and skip the improvement loop entirely.
|
|
499
501
|
**Otherwise:** run the Loop section above for each improvement.
|
|
500
502
|
5. At end: follow _protocol.md Brain Write Procedure (namespace: `autodev`)
|
|
@@ -9,6 +9,16 @@ default_mode: confirm
|
|
|
9
9
|
|
|
10
10
|
This skill is invoked by `mastermind:master` or directly via `/mastermind:idea`.
|
|
11
11
|
|
|
12
|
+
**Extract `--monotask` flag:** If present in `$ARGUMENTS`, set `USE_MONOTASK=true` and remove it from `$ARGUMENTS`. Default: `USE_MONOTASK=false`.
|
|
13
|
+
|
|
14
|
+
**File mode (default, `USE_MONOTASK=false`):**
|
|
15
|
+
|
|
16
|
+
Invoke `Skill("mastermind:ideate", $ARGUMENTS)` immediately — it provides the same research, evaluation, elaboration, and task-decomposition pipeline with file-first storage (`docs/ideas/` and `docs/tasks/`). The rest of this skill is skipped in file mode.
|
|
17
|
+
|
|
18
|
+
**Board mode (`USE_MONOTASK=true`):**
|
|
19
|
+
|
|
20
|
+
Continue with the full monotask board pipeline below (Steps 3-6).
|
|
21
|
+
|
|
12
22
|
---
|
|
13
23
|
|
|
14
24
|
## Inputs
|
|
@@ -51,8 +51,8 @@ If this skill is invoked directly (not by master):
|
|
|
51
51
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
52
52
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
53
53
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
54
|
-
board_id=$(monotask board create "ops" --json | jq -r '.id // empty')
|
|
55
|
-
[ -z "$board_id" ] &&
|
|
54
|
+
board_id=$(monotask board create "ops" --json 2>/dev/null | jq -r '.id // empty')
|
|
55
|
+
[ -z "$board_id" ] && echo "[ops] monotask board unavailable — board tracking skipped."
|
|
56
56
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
57
57
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
58
58
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -118,7 +118,7 @@ Spawn one Task agent per workstream (star topology — hub aggregates independen
|
|
|
118
118
|
- Infrastructure automation: subagent_type "DevOps Automator"
|
|
119
119
|
- CI/CD pipelines: subagent_type "cicd-engineer"
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
122
122
|
|
|
123
123
|
STEP 4 — COLLECT AND RETURN
|
|
124
124
|
Collect all agent outputs. Return to caller:
|