monomind 1.11.12 → 1.11.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.
Files changed (222) hide show
  1. package/.claude/commands/mastermind/idea.md +1 -1
  2. package/.claude/commands/mastermind/master.md +1 -1
  3. package/.claude/skills/mastermind/_protocol.md +4 -4
  4. package/.claude/skills/mastermind/build.md +3 -3
  5. package/.claude/skills/mastermind/content.md +3 -3
  6. package/.claude/skills/mastermind/createorg.md +2 -2
  7. package/.claude/skills/mastermind/finance.md +3 -3
  8. package/.claude/skills/mastermind/marketing.md +3 -3
  9. package/.claude/skills/mastermind/ops.md +3 -3
  10. package/.claude/skills/mastermind/release.md +3 -3
  11. package/.claude/skills/mastermind/research.md +3 -3
  12. package/.claude/skills/mastermind/review.md +3 -3
  13. package/.claude/skills/mastermind/sales.md +3 -3
  14. package/package.json +1 -1
  15. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +3 -3
  16. package/packages/@monomind/cli/dist/src/observability/replay-reader.d.ts +1 -1
  17. package/packages/@monomind/cli/dist/src/update/checker.js +24 -7
  18. package/packages/@monomind/cli/dist/src/update/index.js +3 -6
  19. package/packages/@monomind/cli/package.json +1 -1
  20. package/packages/@monomind/cli/dist/src/agents/halt-signal.d.ts +0 -25
  21. package/packages/@monomind/cli/dist/src/agents/halt-signal.js +0 -76
  22. package/packages/@monomind/cli/dist/src/agents/index.d.ts +0 -18
  23. package/packages/@monomind/cli/dist/src/agents/index.js +0 -13
  24. package/packages/@monomind/cli/dist/src/agents/managed-agent.d.ts +0 -41
  25. package/packages/@monomind/cli/dist/src/agents/managed-agent.js +0 -69
  26. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.d.ts +0 -23
  27. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.js +0 -49
  28. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.d.ts +0 -22
  29. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.js +0 -80
  30. package/packages/@monomind/cli/dist/src/agents/registry-query.d.ts +0 -71
  31. package/packages/@monomind/cli/dist/src/agents/registry-query.js +0 -125
  32. package/packages/@monomind/cli/dist/src/agents/score-decay.d.ts +0 -19
  33. package/packages/@monomind/cli/dist/src/agents/score-decay.js +0 -22
  34. package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.d.ts +0 -13
  35. package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.js +0 -40
  36. package/packages/@monomind/cli/dist/src/agents/specialization-scorer.d.ts +0 -54
  37. package/packages/@monomind/cli/dist/src/agents/specialization-scorer.js +0 -212
  38. package/packages/@monomind/cli/dist/src/agents/termination-watcher.d.ts +0 -30
  39. package/packages/@monomind/cli/dist/src/agents/termination-watcher.js +0 -84
  40. package/packages/@monomind/cli/dist/src/agents/trigger-index.d.ts +0 -20
  41. package/packages/@monomind/cli/dist/src/agents/trigger-index.js +0 -38
  42. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.d.ts +0 -64
  43. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.js +0 -308
  44. package/packages/@monomind/cli/dist/src/agents/version-diff.d.ts +0 -18
  45. package/packages/@monomind/cli/dist/src/agents/version-diff.js +0 -64
  46. package/packages/@monomind/cli/dist/src/agents/version-store.d.ts +0 -60
  47. package/packages/@monomind/cli/dist/src/agents/version-store.js +0 -235
  48. package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.d.ts +0 -45
  49. package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.js +0 -404
  50. package/packages/@monomind/cli/dist/src/commands/agent-wasm.d.ts +0 -14
  51. package/packages/@monomind/cli/dist/src/commands/agent-wasm.js +0 -333
  52. package/packages/@monomind/cli/dist/src/commands/ui.js +0 -68
  53. package/packages/@monomind/cli/dist/src/consensus/index.d.ts +0 -7
  54. package/packages/@monomind/cli/dist/src/consensus/index.js +0 -6
  55. package/packages/@monomind/cli/dist/src/context/context-provider.d.ts +0 -44
  56. package/packages/@monomind/cli/dist/src/context/context-provider.js +0 -25
  57. package/packages/@monomind/cli/dist/src/context/git-state-provider.d.ts +0 -12
  58. package/packages/@monomind/cli/dist/src/context/git-state-provider.js +0 -34
  59. package/packages/@monomind/cli/dist/src/context/index.d.ts +0 -12
  60. package/packages/@monomind/cli/dist/src/context/index.js +0 -12
  61. package/packages/@monomind/cli/dist/src/context/project-conventions-provider.d.ts +0 -15
  62. package/packages/@monomind/cli/dist/src/context/project-conventions-provider.js +0 -19
  63. package/packages/@monomind/cli/dist/src/context/prompt-assembler.d.ts +0 -26
  64. package/packages/@monomind/cli/dist/src/context/prompt-assembler.js +0 -93
  65. package/packages/@monomind/cli/dist/src/context/task-history-provider.d.ts +0 -24
  66. package/packages/@monomind/cli/dist/src/context/task-history-provider.js +0 -32
  67. package/packages/@monomind/cli/dist/src/context/user-preferences-provider.d.ts +0 -14
  68. package/packages/@monomind/cli/dist/src/context/user-preferences-provider.js +0 -27
  69. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.d.ts +0 -31
  70. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.js +0 -81
  71. package/packages/@monomind/cli/dist/src/dlq/dlq-writer.d.ts +0 -24
  72. package/packages/@monomind/cli/dist/src/dlq/dlq-writer.js +0 -65
  73. package/packages/@monomind/cli/dist/src/dlq/index.d.ts +0 -10
  74. package/packages/@monomind/cli/dist/src/dlq/index.js +0 -7
  75. package/packages/@monomind/cli/dist/src/eval/dataset-manager.d.ts +0 -33
  76. package/packages/@monomind/cli/dist/src/eval/dataset-manager.js +0 -107
  77. package/packages/@monomind/cli/dist/src/eval/dataset-runner.d.ts +0 -23
  78. package/packages/@monomind/cli/dist/src/eval/dataset-runner.js +0 -59
  79. package/packages/@monomind/cli/dist/src/eval/index.d.ts +0 -10
  80. package/packages/@monomind/cli/dist/src/eval/index.js +0 -7
  81. package/packages/@monomind/cli/dist/src/eval/trace-collector.d.ts +0 -40
  82. package/packages/@monomind/cli/dist/src/eval/trace-collector.js +0 -102
  83. package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  84. package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.js +0 -264
  85. package/packages/@monomind/cli/dist/src/interactive/interrupt.d.ts +0 -22
  86. package/packages/@monomind/cli/dist/src/interactive/interrupt.js +0 -71
  87. package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.d.ts +0 -25
  88. package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.js +0 -48
  89. package/packages/@monomind/cli/dist/src/mcp/tool-registry.d.ts +0 -61
  90. package/packages/@monomind/cli/dist/src/mcp/tool-registry.js +0 -246
  91. package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.d.ts +0 -9
  92. package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.js +0 -230
  93. package/packages/@monomind/cli/dist/src/model/complexity-scorer.d.ts +0 -21
  94. package/packages/@monomind/cli/dist/src/model/complexity-scorer.js +0 -106
  95. package/packages/@monomind/cli/dist/src/model/index.d.ts +0 -4
  96. package/packages/@monomind/cli/dist/src/model/index.js +0 -4
  97. package/packages/@monomind/cli/dist/src/model/model-settings.d.ts +0 -22
  98. package/packages/@monomind/cli/dist/src/model/model-settings.js +0 -33
  99. package/packages/@monomind/cli/dist/src/model/model-tier-resolver.d.ts +0 -24
  100. package/packages/@monomind/cli/dist/src/model/model-tier-resolver.js +0 -65
  101. package/packages/@monomind/cli/dist/src/monovector/capabilities.d.ts +0 -34
  102. package/packages/@monomind/cli/dist/src/monovector/capabilities.js +0 -37
  103. package/packages/@monomind/cli/dist/src/orchestration/index.d.ts +0 -7
  104. package/packages/@monomind/cli/dist/src/orchestration/index.js +0 -6
  105. package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.d.ts +0 -11
  106. package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.js +0 -31
  107. package/packages/@monomind/cli/dist/src/orchestration/routing-modes.d.ts +0 -68
  108. package/packages/@monomind/cli/dist/src/orchestration/routing-modes.js +0 -180
  109. package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
  110. package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.js +0 -126
  111. package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.d.ts +0 -12
  112. package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.js +0 -188
  113. package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
  114. package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.js +0 -206
  115. package/packages/@monomind/cli/dist/src/runtime/headless.d.ts +0 -60
  116. package/packages/@monomind/cli/dist/src/runtime/headless.js +0 -284
  117. package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.d.ts +0 -50
  118. package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.js +0 -95
  119. package/packages/@monomind/cli/dist/src/services/container-worker-pool.d.ts +0 -197
  120. package/packages/@monomind/cli/dist/src/services/container-worker-pool.js +0 -623
  121. package/packages/@monomind/cli/dist/src/services/index.d.ts +0 -13
  122. package/packages/@monomind/cli/dist/src/services/index.js +0 -11
  123. package/packages/@monomind/cli/dist/src/services/worker-queue.d.ts +0 -201
  124. package/packages/@monomind/cli/dist/src/services/worker-queue.js +0 -594
  125. package/packages/@monomind/cli/dist/src/swarm/communication-graph.d.ts +0 -25
  126. package/packages/@monomind/cli/dist/src/swarm/communication-graph.js +0 -77
  127. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.d.ts +0 -31
  128. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.js +0 -61
  129. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.d.ts +0 -19
  130. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.js +0 -68
  131. package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.d.ts +0 -13
  132. package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.js +0 -205
  133. package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.d.ts +0 -12
  134. package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.js +0 -190
  135. package/packages/@monomind/cli/dist/src/transfer/test-seraphine.d.ts +0 -6
  136. package/packages/@monomind/cli/dist/src/transfer/test-seraphine.js +0 -105
  137. package/packages/@monomind/cli/dist/src/transfer/tests/test-store.d.ts +0 -7
  138. package/packages/@monomind/cli/dist/src/transfer/tests/test-store.js +0 -214
  139. package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.d.ts +0 -10
  140. package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.js +0 -82
  141. package/packages/@monomind/cli/dist/src/workflow/context-resolver.d.ts +0 -12
  142. package/packages/@monomind/cli/dist/src/workflow/context-resolver.js +0 -23
  143. package/packages/@monomind/cli/dist/src/workflow/dag-builder.d.ts +0 -17
  144. package/packages/@monomind/cli/dist/src/workflow/dag-builder.js +0 -129
  145. package/packages/@monomind/cli/dist/src/workflow/dag-executor.d.ts +0 -9
  146. package/packages/@monomind/cli/dist/src/workflow/dag-executor.js +0 -116
  147. package/packages/@monomind/cli/dist/src/workflow/dag-types.d.ts +0 -41
  148. package/packages/@monomind/cli/dist/src/workflow/dag-types.js +0 -8
  149. package/packages/@monomind/cli/dist/src/workflow/dsl-parser.d.ts +0 -12
  150. package/packages/@monomind/cli/dist/src/workflow/dsl-parser.js +0 -20
  151. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.d.ts +0 -165
  152. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.js +0 -82
  153. package/packages/@monomind/cli/dist/src/workflow/index.d.ts +0 -13
  154. package/packages/@monomind/cli/dist/src/workflow/index.js +0 -11
  155. package/packages/@monomind/cli/dist/src/workflow/template-engine.d.ts +0 -11
  156. package/packages/@monomind/cli/dist/src/workflow/template-engine.js +0 -40
  157. package/packages/@monomind/cli/dist/src/workflow/workflow-executor.d.ts +0 -29
  158. package/packages/@monomind/cli/dist/src/workflow/workflow-executor.js +0 -227
  159. package/packages/@monomind/guidance/dist/adversarial.d.ts +0 -284
  160. package/packages/@monomind/guidance/dist/adversarial.js +0 -572
  161. package/packages/@monomind/guidance/dist/analyzer.d.ts +0 -530
  162. package/packages/@monomind/guidance/dist/analyzer.js +0 -2518
  163. package/packages/@monomind/guidance/dist/artifacts.d.ts +0 -283
  164. package/packages/@monomind/guidance/dist/artifacts.js +0 -356
  165. package/packages/@monomind/guidance/dist/authority.d.ts +0 -290
  166. package/packages/@monomind/guidance/dist/authority.js +0 -558
  167. package/packages/@monomind/guidance/dist/capabilities.d.ts +0 -209
  168. package/packages/@monomind/guidance/dist/capabilities.js +0 -485
  169. package/packages/@monomind/guidance/dist/coherence.d.ts +0 -233
  170. package/packages/@monomind/guidance/dist/coherence.js +0 -372
  171. package/packages/@monomind/guidance/dist/compiler.d.ts +0 -87
  172. package/packages/@monomind/guidance/dist/compiler.js +0 -419
  173. package/packages/@monomind/guidance/dist/conformance-kit.d.ts +0 -225
  174. package/packages/@monomind/guidance/dist/conformance-kit.js +0 -629
  175. package/packages/@monomind/guidance/dist/continue-gate.d.ts +0 -214
  176. package/packages/@monomind/guidance/dist/continue-gate.js +0 -353
  177. package/packages/@monomind/guidance/dist/crypto-utils.d.ts +0 -17
  178. package/packages/@monomind/guidance/dist/crypto-utils.js +0 -24
  179. package/packages/@monomind/guidance/dist/evolution.d.ts +0 -282
  180. package/packages/@monomind/guidance/dist/evolution.js +0 -500
  181. package/packages/@monomind/guidance/dist/gates.d.ts +0 -79
  182. package/packages/@monomind/guidance/dist/gates.js +0 -302
  183. package/packages/@monomind/guidance/dist/gateway.d.ts +0 -206
  184. package/packages/@monomind/guidance/dist/gateway.js +0 -452
  185. package/packages/@monomind/guidance/dist/generators.d.ts +0 -153
  186. package/packages/@monomind/guidance/dist/generators.js +0 -682
  187. package/packages/@monomind/guidance/dist/headless.d.ts +0 -177
  188. package/packages/@monomind/guidance/dist/headless.js +0 -342
  189. package/packages/@monomind/guidance/dist/hooks.d.ts +0 -109
  190. package/packages/@monomind/guidance/dist/hooks.js +0 -347
  191. package/packages/@monomind/guidance/dist/index.d.ts +0 -205
  192. package/packages/@monomind/guidance/dist/index.js +0 -321
  193. package/packages/@monomind/guidance/dist/ledger.d.ts +0 -162
  194. package/packages/@monomind/guidance/dist/ledger.js +0 -375
  195. package/packages/@monomind/guidance/dist/manifest-validator.d.ts +0 -289
  196. package/packages/@monomind/guidance/dist/manifest-validator.js +0 -838
  197. package/packages/@monomind/guidance/dist/memory-gate.d.ts +0 -222
  198. package/packages/@monomind/guidance/dist/memory-gate.js +0 -382
  199. package/packages/@monomind/guidance/dist/meta-governance.d.ts +0 -265
  200. package/packages/@monomind/guidance/dist/meta-governance.js +0 -348
  201. package/packages/@monomind/guidance/dist/optimizer.d.ts +0 -104
  202. package/packages/@monomind/guidance/dist/optimizer.js +0 -329
  203. package/packages/@monomind/guidance/dist/persistence.d.ts +0 -189
  204. package/packages/@monomind/guidance/dist/persistence.js +0 -464
  205. package/packages/@monomind/guidance/dist/proof.d.ts +0 -185
  206. package/packages/@monomind/guidance/dist/proof.js +0 -238
  207. package/packages/@monomind/guidance/dist/retriever.d.ts +0 -116
  208. package/packages/@monomind/guidance/dist/retriever.js +0 -394
  209. package/packages/@monomind/guidance/dist/ruvbot-integration.d.ts +0 -370
  210. package/packages/@monomind/guidance/dist/ruvbot-integration.js +0 -738
  211. package/packages/@monomind/guidance/dist/temporal.d.ts +0 -426
  212. package/packages/@monomind/guidance/dist/temporal.js +0 -658
  213. package/packages/@monomind/guidance/dist/trust.d.ts +0 -283
  214. package/packages/@monomind/guidance/dist/trust.js +0 -473
  215. package/packages/@monomind/guidance/dist/truth-anchors.d.ts +0 -276
  216. package/packages/@monomind/guidance/dist/truth-anchors.js +0 -488
  217. package/packages/@monomind/guidance/dist/types.d.ts +0 -378
  218. package/packages/@monomind/guidance/dist/types.js +0 -10
  219. package/packages/@monomind/guidance/dist/uncertainty.d.ts +0 -372
  220. package/packages/@monomind/guidance/dist/uncertainty.js +0 -619
  221. package/packages/@monomind/guidance/dist/wasm-kernel.d.ts +0 -48
  222. package/packages/@monomind/guidance/dist/wasm-kernel.js +0 -158
@@ -19,7 +19,7 @@ Run intake if prompt is vague (follow _intake.md — stop at Q3, domain is alrea
19
19
 
20
20
  Default mode for this command: **confirm** (unless `--auto` flag present or intake Q4 says auto).
21
21
 
22
- Invoke `Skill("mastermind:idea")` passing: brain_context, prompt, project_name, board_id (create if needed), mode.
22
+ Invoke `Skill("mastermind:idea")` passing: brain_context, prompt, project_name, mode. Pass `--monotask` in the arguments if monotask board tracking is desired; omit for file-first mode.
23
23
 
24
24
  After skill returns: follow _protocol.md Brain Write Procedure for domain `idea`.
25
25
 
@@ -441,7 +441,7 @@ for domain in $domains_needed; do
441
441
  else
442
442
  echo "Creating board: $canonical"
443
443
  board_id=$(monotask board create --space "$space_id" "$canonical" --json 2>/dev/null | jq -r '.id // empty')
444
- [ -z "$board_id" ] && { echo "ERROR: Failed to create board '$canonical'"; exit 1; }
444
+ [ -z "$board_id" ] && echo "[mastermind] monotask board unavailable board tracking skipped."
445
445
  monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
446
446
  if [ "$domain" = "idea" ]; then
447
447
  todo_col=$(monotask column create "$board_id" "New" --json | jq -r '.id // empty')
@@ -306,8 +306,8 @@ if [ -n "$board_id" ]; then
306
306
  done_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Done")] | .[0].id // empty')
307
307
  else
308
308
  # 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 "ERROR: Failed to create board '$canonical'"; exit 1; }
309
+ board_id=$(monotask board create --space "$space_id" "$canonical" --json 2>/dev/null | jq -r '.id // empty')
310
+ [ -z "$board_id" ] && echo "[mastermind] monotask board unavailable board tracking skipped."
311
311
  monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
312
312
  todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id // empty')
313
313
  doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id // empty')
@@ -336,8 +336,8 @@ board_id=$(monotask board list 2>/dev/null | awk -F': ' '{gsub(/^ +| +$/,"",$1);
336
336
  doing_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Doing" or .title=="In Progress")] | .[0].id // empty')
337
337
  done_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Done")] | .[0].id // empty')
338
338
  else
339
- board_id=$(monotask board create --space "$space_id" "$canonical" --json | jq -r '.id // empty')
340
- [ -z "$board_id" ] && { echo "ERROR: Failed to create $canonical board"; exit 1; }
339
+ board_id=$(monotask board create --space "$space_id" "$canonical" --json 2>/dev/null | jq -r '.id // empty')
340
+ [ -z "$board_id" ] && echo "[mastermind] monotask board unavailable board tracking skipped."
341
341
  monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
342
342
  todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id // empty')
343
343
  doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id // empty')
@@ -52,8 +52,8 @@ If this skill is invoked directly (not by master):
52
52
  space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
53
53
  [ -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}')
54
54
  [ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
55
- board_id=$(monotask board create "development" --json | jq -r '.id // empty')
56
- [ -z "$board_id" ] && { echo "ERROR: Failed to create development board"; exit 1; }
55
+ board_id=$(monotask board create "development" --json 2>/dev/null | jq -r '.id // empty')
56
+ [ -z "$board_id" ] && echo "[build] monotask board unavailable board tracking skipped."
57
57
  monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
58
58
  todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
59
59
  doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
@@ -120,7 +120,7 @@ Spawn one Task agent per task (all in parallel where dependencies allow):
120
120
  - Code review: subagent_type "reviewer"
121
121
  - TDD/SPARC work: subagent_type "sparc-coder"
122
122
 
123
- Also run /mastermind:do --board <board_id> to track execution.
123
+ 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`.
124
124
 
125
125
  STEP 4 — COLLECT AND RETURN
126
126
  Collect all agent output schemas. Return to caller:
@@ -73,8 +73,8 @@ If this skill is invoked directly (not by master):
73
73
  space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
74
74
  [ -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}')
75
75
  [ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
76
- board_id=$(monotask board create "content" --json | jq -r '.id // empty')
77
- [ -z "$board_id" ] && { echo "ERROR: Failed to create content board"; exit 1; }
76
+ board_id=$(monotask board create "content" --json 2>/dev/null | jq -r '.id // empty')
77
+ [ -z "$board_id" ] && echo "[content] monotask board unavailable board tracking skipped."
78
78
  monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
79
79
  todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
80
80
  doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
@@ -147,7 +147,7 @@ Stage 2 draft: subagent_type "Content Creator"
147
147
  Stage 3 edit: subagent_type "Technical Writer"
148
148
  Stage 4 format/publish: subagent_type "Content Creator"
149
149
 
150
- Also run /mastermind:do --board <board_id> to track execution.
150
+ 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`.
151
151
 
152
152
  STEP 4 — COLLECT AND RETURN
153
153
  Collect the final formatted content. Return to caller:
@@ -401,8 +401,8 @@ space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$org_name" '$2==
401
401
  [ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$org_name' — verify monotask is installed (run: monotask --version)"; exit 1; }
402
402
 
403
403
  # Step 2 — Board (created only after space is confirmed)
404
- board_id=$(monotask board create "org-tasks" --json | jq -r '.id // empty')
405
- [ -z "$board_id" ] && { echo "ERROR: Failed to create monotask board"; exit 1; }
404
+ board_id=$(monotask board create "org-tasks" --json 2>/dev/null | jq -r '.id // empty')
405
+ [ -z "$board_id" ] && echo "[createorg] monotask board unavailable board tracking skipped."
406
406
 
407
407
  # Step 3 — Link board to space immediately
408
408
  monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
@@ -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 "finance" --json | jq -r '.id // empty')
55
- [ -z "$board_id" ] && { echo "ERROR: Failed to create finance board"; exit 1; }
54
+ board_id=$(monotask board create "finance" --json 2>/dev/null | jq -r '.id // empty')
55
+ [ -z "$board_id" ] && echo "[finance] 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')
@@ -116,7 +116,7 @@ Spawn one Task agent per workstream:
116
116
  - Financial tracking and invoicing: subagent_type "Finance Tracker"
117
117
  - Analysis and reporting: subagent_type "Analytics Reporter"
118
118
 
119
- Also run /mastermind:do --board <board_id> to track execution.
119
+ 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`.
120
120
 
121
121
  STEP 4 — COLLECT AND RETURN
122
122
  Collect all financial outputs. Return to caller:
@@ -97,8 +97,8 @@ If this skill is invoked directly (not by master):
97
97
  space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
98
98
  [ -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}')
99
99
  [ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
100
- board_id=$(monotask board create "marketing" --json | jq -r '.id // empty')
101
- [ -z "$board_id" ] && { echo "ERROR: Failed to create marketing board"; exit 1; }
100
+ board_id=$(monotask board create "marketing" --json 2>/dev/null | jq -r '.id // empty')
101
+ [ -z "$board_id" ] && echo "[marketing] monotask board unavailable board tracking skipped."
102
102
  monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
103
103
  todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
104
104
  doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
@@ -172,7 +172,7 @@ Spawn one Task agent per workstream (all in parallel — star topology, hub aggr
172
172
  - Product launch / GTM: subagent_type "Launch Strategist" (slug: launch-strategist)
173
173
  - Competitive content / comparison pages: subagent_type "Competitive Content Strategist" (slug: competitive-content)
174
174
 
175
- Also run /mastermind:do --board <board_id> to track execution.
175
+ 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`.
176
176
 
177
177
  STEP 4 — COLLECT AND RETURN
178
178
  Collect all agent outputs. Return to caller:
@@ -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" ] && { echo "ERROR: Failed to create ops board"; exit 1; }
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
- Also run /mastermind:do --board <board_id> to track execution.
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:
@@ -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 "release" --json | jq -r '.id // empty')
55
- [ -z "$board_id" ] && { echo "ERROR: Failed to create release board"; exit 1; }
54
+ board_id=$(monotask board create "release" --json 2>/dev/null | jq -r '.id // empty')
55
+ [ -z "$board_id" ] && echo "[release] 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 Task agents in release order (hierarchical raft — coordinator maintains
118
118
  - Infrastructure and deploy: subagent_type "DevOps Automator"
119
119
  - CI/CD pipeline: subagent_type "cicd-engineer"
120
120
 
121
- Also run /mastermind:do --board <board_id> to track execution.
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 stage outcomes. Return to caller:
@@ -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 "research" --json | jq -r '.id // empty')
55
- [ -z "$board_id" ] && { echo "ERROR: Failed to create research board"; exit 1; }
54
+ board_id=$(monotask board create "research" --json 2>/dev/null | jq -r '.id // empty')
55
+ [ -z "$board_id" ] && echo "[research] 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 research stream (mesh topology — findings cross-polli
118
118
  - User behavior and UX signals: subagent_type "UX Researcher"
119
119
  - Data and metrics analysis: subagent_type "Analytics Reporter"
120
120
 
121
- Also run /mastermind:do --board <board_id> to track execution.
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
  Synthesize all research streams into an intelligence report. Return to caller:
@@ -62,8 +62,8 @@ If this skill is invoked directly (not by master):
62
62
  space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
63
63
  [ -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}')
64
64
  [ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
65
- board_id=$(monotask board create "review" --json | jq -r '.id // empty')
66
- [ -z "$board_id" ] && { echo "ERROR: Failed to create review board"; exit 1; }
65
+ board_id=$(monotask board create "review" --json 2>/dev/null | jq -r '.id // empty')
66
+ [ -z "$board_id" ] && echo "[review] monotask board unavailable board tracking skipped."
67
67
  monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
68
68
  todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
69
69
  doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
@@ -169,7 +169,7 @@ Step 4 — Report:
169
169
  MISSES: representative samples that return safe=true but contain injection patterns
170
170
  ```
171
171
 
172
- Also run /mastermind:do --board <board_id> to track execution.
172
+ 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`.
173
173
 
174
174
  STEP 4 — COLLECT AND RETURN
175
175
  Synthesize all review findings. Return to caller:
@@ -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 "sales" --json | jq -r '.id // empty')
55
- [ -z "$board_id" ] && { echo "ERROR: Failed to create sales board"; exit 1; }
54
+ board_id=$(monotask board create "sales" --json 2>/dev/null | jq -r '.id // empty')
55
+ [ -z "$board_id" ] && echo "[sales] 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')
@@ -120,7 +120,7 @@ Spawn one Task agent per workstream:
120
120
  - Account expansion: subagent_type "Account Strategist"
121
121
  - Competitive research: subagent_type "researcher"
122
122
 
123
- Also run /mastermind:do --board <board_id> to track execution.
123
+ 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`.
124
124
 
125
125
  STEP 4 — COLLECT AND RETURN
126
126
  Collect all agent outputs. Return to caller:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monomind",
3
- "version": "1.11.12",
3
+ "version": "1.11.13",
4
4
  "description": "Monomind - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -1149,10 +1149,10 @@ function generateDashboard() {
1149
1149
 
1150
1150
  const hil = getHILPending();
1151
1151
  const hilStr = hil.pending > 0
1152
- ? \`\${x.coral}✨ \${x.bold}\${hil.pending}\${x.reset}\${x.coral} HIL pending\${x.reset}\`
1153
- : \`\${x.slate}✨ no pending HIL\${x.reset}\`;
1152
+ ? \` \${DIV} \${x.coral}✨ \${x.bold}\${hil.pending}\${x.reset}\${x.coral} HIL pending\${x.reset}\`
1153
+ : \`\`;
1154
1154
 
1155
- lines.push(\`\${x.teal}🧠 CONTEXT\${x.reset} \${graphStr} \${DIV} \${hilStr}\`);
1155
+ lines.push(\`\${x.teal}🧠 CONTEXT\${x.reset} \${graphStr}\${hilStr}\`);
1156
1156
 
1157
1157
  return lines.join('\\n');
1158
1158
  }
@@ -20,7 +20,7 @@ export interface SessionReplay extends SessionSummary {
20
20
  }
21
21
  export declare class ReplayReader {
22
22
  private sessionsDir;
23
- constructor(cwd?: string);
23
+ constructor(cwd?: any);
24
24
  /**
25
25
  * Find and return the session data for a given session ID.
26
26
  * The ID may be a bare ID (e.g. "session-1234567890") or a timestamp number.
@@ -3,6 +3,7 @@
3
3
  * Queries npm registry and compares versions
4
4
  */
5
5
  import { createRequire } from 'module';
6
+ import { execFileSync } from 'child_process';
6
7
  import * as semver from 'semver';
7
8
  import { reserveCheck, recordCheck, getCachedVersions } from './rate-limiter.js';
8
9
  const require = createRequire(import.meta.url);
@@ -82,8 +83,8 @@ function getUpdateType(current, latest) {
82
83
  function shouldAutoUpdate(updateType, priority, config) {
83
84
  if (updateType === 'none')
84
85
  return false;
85
- // Critical security packages always auto-update patches
86
- if (priority === 'critical' && updateType === 'patch') {
86
+ // Critical security packages always auto-update patches and minors
87
+ if (priority === 'critical' && (updateType === 'patch' || updateType === 'minor')) {
87
88
  return true;
88
89
  }
89
90
  // Check config
@@ -99,23 +100,39 @@ export function getInstalledVersion(packageName) {
99
100
  if (!isValidNpmName(packageName))
100
101
  return null;
101
102
  try {
102
- // Try to find the package in node_modules
103
- const possiblePaths = [
103
+ // Attempt 1: let Node resolve from any search path (covers local and global installs)
104
+ try {
105
+ const resolved = require.resolve(`${packageName}/package.json`);
106
+ const pkg = require(resolved);
107
+ if (pkg.version)
108
+ return pkg.version;
109
+ }
110
+ catch { /* not on default paths */ }
111
+ // Attempt 2: resolve from cwd (monorepo / workspace installs)
112
+ const cwdPaths = [
104
113
  `${packageName}/package.json`,
105
114
  `../../node_modules/${packageName}/package.json`,
106
115
  `../../../node_modules/${packageName}/package.json`,
107
116
  ];
108
- for (const modulePath of possiblePaths) {
117
+ for (const modulePath of cwdPaths) {
109
118
  try {
110
- // Use dynamic import with require for package.json
111
119
  const resolved = require.resolve(modulePath, { paths: [process.cwd()] });
112
120
  const pkg = require(resolved);
113
- return pkg.version;
121
+ if (pkg.version)
122
+ return pkg.version;
114
123
  }
115
124
  catch {
116
125
  continue;
117
126
  }
118
127
  }
128
+ // Attempt 3: npm global prefix (covers `npm i -g monomind`)
129
+ try {
130
+ const prefix = execFileSync('npm', ['prefix', '-g'], { encoding: 'utf8', timeout: 3000 }).trim();
131
+ const globalPkg = require(require.resolve(`${packageName}/package.json`, { paths: [`${prefix}/lib/node_modules`] }));
132
+ if (globalPkg.version)
133
+ return globalPkg.version;
134
+ }
135
+ catch { /* no global install or npm unavailable */ }
119
136
  return null;
120
137
  }
121
138
  catch {
@@ -28,16 +28,13 @@ import * as semver from 'semver';
28
28
  export function getUpdateTagline(currentVersion) {
29
29
  try {
30
30
  const cached = getCachedVersions();
31
- // Use the umbrella package as the canonical version signal
32
- const latest = cached['monomind'] || cached['@monoes/monomindcli'];
31
+ // Compare CLI version against its own cached version only — the umbrella package
32
+ // has a different version number and must not be used for this comparison.
33
+ const latest = cached['@monoes/monomindcli'];
33
34
  if (!latest || !semver.valid(latest) || !semver.valid(currentVersion))
34
35
  return '';
35
36
  if (semver.lte(latest, currentVersion))
36
37
  return ' ✓ up to date';
37
- const type = semver.diff(currentVersion, latest);
38
- if (type === 'patch' || type === 'minor') {
39
- return ` ↑ v${latest} installing...`;
40
- }
41
38
  return ` ↑ v${latest} available`;
42
39
  }
43
40
  catch {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monoes/monomindcli",
3
- "version": "1.11.11",
3
+ "version": "1.11.12",
4
4
  "type": "module",
5
5
  "description": "Monomind CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
6
6
  "main": "dist/src/index.js",
@@ -1,25 +0,0 @@
1
- /**
2
- * Halt Signal (Task 35)
3
- *
4
- * JSONL-based broadcast/check for swarm-level halt signals.
5
- * When an agent triggers a cascade halt, other agents in the same swarm
6
- * can query whether a halt has been issued.
7
- */
8
- import type { TerminationReason } from '../../../shared/src/types/termination.js';
9
- /** Record written to the JSONL halt log. */
10
- export interface HaltRecord {
11
- id: string;
12
- swarmId: string;
13
- sourceAgentId: string;
14
- reason: TerminationReason;
15
- haltedAt: string;
16
- }
17
- /**
18
- * Broadcast a halt signal for a swarm.
19
- */
20
- export declare function broadcast(swarmId: string, sourceAgentId: string, reason: TerminationReason, filePath?: string): HaltRecord;
21
- /**
22
- * Check whether any halt signal exists for the given swarm.
23
- */
24
- export declare function isHalted(swarmId: string, filePath?: string): boolean;
25
- //# sourceMappingURL=halt-signal.d.ts.map
@@ -1,76 +0,0 @@
1
- /**
2
- * Halt Signal (Task 35)
3
- *
4
- * JSONL-based broadcast/check for swarm-level halt signals.
5
- * When an agent triggers a cascade halt, other agents in the same swarm
6
- * can query whether a halt has been issued.
7
- */
8
- import { randomUUID } from 'crypto';
9
- import { existsSync, mkdirSync, appendFileSync, readFileSync, statSync } from 'fs';
10
- import { join, dirname, resolve, sep } from 'path';
11
- const ALLOWED_ROOT = () => resolve(process.env.MONOMIND_DATA_DIR ?? process.cwd());
12
- const DEFAULT_FILE = () => join(ALLOWED_ROOT(), 'data', 'halt-signals.jsonl');
13
- function safeHaltFilePath(filePath) {
14
- const allowedRoot = ALLOWED_ROOT();
15
- const resolved = resolve(filePath);
16
- if (resolved !== allowedRoot && !resolved.startsWith(allowedRoot + sep)) {
17
- throw new Error(`Halt signal file path escapes allowed directory: ${filePath}`);
18
- }
19
- return resolved;
20
- }
21
- /**
22
- * Broadcast a halt signal for a swarm.
23
- */
24
- export function broadcast(swarmId, sourceAgentId, reason, filePath) {
25
- const target = filePath ? safeHaltFilePath(filePath) : DEFAULT_FILE();
26
- const dir = dirname(target);
27
- if (!existsSync(dir)) {
28
- mkdirSync(dir, { recursive: true });
29
- }
30
- const record = {
31
- id: randomUUID(),
32
- swarmId,
33
- sourceAgentId,
34
- reason,
35
- haltedAt: new Date().toISOString(),
36
- };
37
- appendFileSync(target, JSON.stringify(record) + '\n', 'utf-8');
38
- return record;
39
- }
40
- /**
41
- * Check whether any halt signal exists for the given swarm.
42
- */
43
- export function isHalted(swarmId, filePath) {
44
- const target = filePath ? safeHaltFilePath(filePath) : DEFAULT_FILE();
45
- if (!existsSync(target)) {
46
- return false;
47
- }
48
- // Size cap. isHalted is on the swarm-coordination hot path; without this
49
- // cap a planted multi-GB file (or unbounded broadcast accumulation over
50
- // weeks) reliably OOMs the CLI on the next call. Treat oversized halt
51
- // logs as "no halt" — fail-safe in the swarm-termination flow.
52
- try {
53
- const stat = statSync(target);
54
- if (stat.size > 10 * 1024 * 1024)
55
- return false;
56
- }
57
- catch {
58
- return false;
59
- }
60
- const raw = readFileSync(target, 'utf-8').trim();
61
- if (!raw)
62
- return false;
63
- return raw
64
- .split('\n')
65
- .filter(Boolean)
66
- .some((line) => {
67
- try {
68
- const rec = JSON.parse(line);
69
- return rec.swarmId === swarmId;
70
- }
71
- catch {
72
- return false;
73
- }
74
- });
75
- }
76
- //# sourceMappingURL=halt-signal.js.map
@@ -1,18 +0,0 @@
1
- /**
2
- * Agent utilities — prompt versioning, experiment routing, managed agents.
3
- *
4
- * @module @monoes/cli/agents
5
- */
6
- export { PromptExperimentRouter } from './prompt-experiment.js';
7
- export type { ResolvedPrompt } from './prompt-experiment.js';
8
- export { PromptVersionManager } from './prompt-version-manager.js';
9
- export { spawnAndAwait } from './managed-agent.js';
10
- export type { AgentRunResult, ManagedAgentOptions } from './managed-agent.js';
11
- export { check as checkTermination, persistEvent } from './termination-watcher.js';
12
- export type { AgentRunState } from './termination-watcher.js';
13
- export { broadcast as broadcastHalt, isHalted } from './halt-signal.js';
14
- export type { HaltRecord } from './halt-signal.js';
15
- export { buildRegistry } from './registry-builder.js';
16
- export { RegistryQuery } from './registry-query.js';
17
- export type { RegistryValidationResult, RegistryConflict } from './registry-query.js';
18
- //# sourceMappingURL=index.d.ts.map
@@ -1,13 +0,0 @@
1
- /**
2
- * Agent utilities — prompt versioning, experiment routing, managed agents.
3
- *
4
- * @module @monoes/cli/agents
5
- */
6
- export { PromptExperimentRouter } from './prompt-experiment.js';
7
- export { PromptVersionManager } from './prompt-version-manager.js';
8
- export { spawnAndAwait } from './managed-agent.js';
9
- export { check as checkTermination, persistEvent } from './termination-watcher.js';
10
- export { broadcast as broadcastHalt, isHalted } from './halt-signal.js';
11
- export { buildRegistry } from './registry-builder.js';
12
- export { RegistryQuery } from './registry-query.js';
13
- //# sourceMappingURL=index.js.map
@@ -1,41 +0,0 @@
1
- export interface AgentRunResult {
2
- agentSlug: string;
3
- taskId: string;
4
- output: string;
5
- status: 'success' | 'error' | 'timeout';
6
- durationMs: number;
7
- tokens?: {
8
- inputTokens: number;
9
- outputTokens: number;
10
- };
11
- error?: string;
12
- }
13
- export interface ManagedAgentOptions {
14
- timeoutMs?: number;
15
- pollIntervalMs?: number;
16
- }
17
- /**
18
- * Simulates spawn-and-await by creating a taskId, delegating to a runner function,
19
- * and applying timeout.
20
- */
21
- export declare function spawnAndAwait(agentSlug: string, task: string, runner: (agentSlug: string, taskId: string, task: string) => Promise<string>, options?: ManagedAgentOptions): Promise<AgentRunResult>;
22
- export declare class ManagedAgent {
23
- private readonly agentSlug;
24
- private readonly runner;
25
- private readonly options;
26
- constructor(agentSlug: string, runner: (agentSlug: string, taskId: string, task: string) => Promise<string>, options?: ManagedAgentOptions);
27
- run(task: string): Promise<AgentRunResult>;
28
- /** Generate an MCP-style tool descriptor for this agent */
29
- toToolDescriptor(): {
30
- name: string;
31
- description: string;
32
- inputSchema: Record<string, unknown>;
33
- };
34
- static create(agentSlug: string, runner: (slug: string, id: string, task: string) => Promise<string>, options?: ManagedAgentOptions): ManagedAgent;
35
- }
36
- /** Run multiple agents in parallel */
37
- export declare function runBatch(agents: Array<{
38
- agentSlug: string;
39
- task: string;
40
- }>, runner: (agentSlug: string, taskId: string, task: string) => Promise<string>, options?: ManagedAgentOptions): Promise<AgentRunResult[]>;
41
- //# sourceMappingURL=managed-agent.d.ts.map