@jungjaehoon/mama-os 0.20.0 → 0.21.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.
Files changed (296) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/agent/agent-loop.d.ts +2 -1
  3. package/dist/agent/agent-loop.d.ts.map +1 -1
  4. package/dist/agent/agent-loop.js +65 -19
  5. package/dist/agent/agent-loop.js.map +1 -1
  6. package/dist/agent/claude-cli-wrapper.d.ts.map +1 -1
  7. package/dist/agent/claude-cli-wrapper.js +6 -2
  8. package/dist/agent/claude-cli-wrapper.js.map +1 -1
  9. package/dist/agent/cli-arg-redaction.d.ts +2 -0
  10. package/dist/agent/cli-arg-redaction.d.ts.map +1 -0
  11. package/dist/agent/cli-arg-redaction.js +18 -0
  12. package/dist/agent/cli-arg-redaction.js.map +1 -0
  13. package/dist/agent/code-act/constants.d.ts +1 -1
  14. package/dist/agent/code-act/constants.d.ts.map +1 -1
  15. package/dist/agent/code-act/constants.js +24 -3
  16. package/dist/agent/code-act/constants.js.map +1 -1
  17. package/dist/agent/code-act/host-bridge.d.ts +2 -0
  18. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  19. package/dist/agent/code-act/host-bridge.js +43 -7
  20. package/dist/agent/code-act/host-bridge.js.map +1 -1
  21. package/dist/agent/code-act/type-definition-generator.d.ts +2 -2
  22. package/dist/agent/code-act/type-definition-generator.d.ts.map +1 -1
  23. package/dist/agent/code-act/type-definition-generator.js +29 -4
  24. package/dist/agent/code-act/type-definition-generator.js.map +1 -1
  25. package/dist/agent/codex-home.d.ts +1 -1
  26. package/dist/agent/codex-home.d.ts.map +1 -1
  27. package/dist/agent/codex-home.js +43 -1
  28. package/dist/agent/codex-home.js.map +1 -1
  29. package/dist/agent/codex-mcp-process.d.ts +2 -0
  30. package/dist/agent/codex-mcp-process.d.ts.map +1 -1
  31. package/dist/agent/codex-mcp-process.js +1 -1
  32. package/dist/agent/codex-mcp-process.js.map +1 -1
  33. package/dist/agent/context-compile-service.d.ts +47 -0
  34. package/dist/agent/context-compile-service.d.ts.map +1 -0
  35. package/dist/agent/context-compile-service.js +435 -0
  36. package/dist/agent/context-compile-service.js.map +1 -0
  37. package/dist/agent/gateway-tool-executor.d.ts +16 -11
  38. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  39. package/dist/agent/gateway-tool-executor.js +539 -109
  40. package/dist/agent/gateway-tool-executor.js.map +1 -1
  41. package/dist/agent/gateway-tools.md +4 -3
  42. package/dist/agent/mama-tool-handlers.d.ts.map +1 -1
  43. package/dist/agent/mama-tool-handlers.js +37 -1
  44. package/dist/agent/mama-tool-handlers.js.map +1 -1
  45. package/dist/agent/managed-agent-runtime-sync.d.ts.map +1 -1
  46. package/dist/agent/managed-agent-runtime-sync.js +2 -4
  47. package/dist/agent/managed-agent-runtime-sync.js.map +1 -1
  48. package/dist/agent/managed-agent-validation.d.ts.map +1 -1
  49. package/dist/agent/managed-agent-validation.js +2 -1
  50. package/dist/agent/managed-agent-validation.js.map +1 -1
  51. package/dist/agent/os-agent-capabilities.md +13 -12
  52. package/dist/agent/persistent-cli-process.d.ts +1 -0
  53. package/dist/agent/persistent-cli-process.d.ts.map +1 -1
  54. package/dist/agent/persistent-cli-process.js +6 -1
  55. package/dist/agent/persistent-cli-process.js.map +1 -1
  56. package/dist/agent/tool-registry.d.ts.map +1 -1
  57. package/dist/agent/tool-registry.js +10 -2
  58. package/dist/agent/tool-registry.js.map +1 -1
  59. package/dist/agent/types.d.ts +30 -5
  60. package/dist/agent/types.d.ts.map +1 -1
  61. package/dist/agent/types.js.map +1 -1
  62. package/dist/api/agent-context-handler.d.ts +10 -0
  63. package/dist/api/agent-context-handler.d.ts.map +1 -0
  64. package/dist/api/agent-context-handler.js +216 -0
  65. package/dist/api/agent-context-handler.js.map +1 -0
  66. package/dist/api/agent-handler.d.ts +2 -0
  67. package/dist/api/agent-handler.d.ts.map +1 -1
  68. package/dist/api/agent-handler.js +14 -7
  69. package/dist/api/agent-handler.js.map +1 -1
  70. package/dist/api/graph-api-types.d.ts +6 -1
  71. package/dist/api/graph-api-types.d.ts.map +1 -1
  72. package/dist/api/graph-api.d.ts +2 -1
  73. package/dist/api/graph-api.d.ts.map +1 -1
  74. package/dist/api/graph-api.js +193 -11
  75. package/dist/api/graph-api.js.map +1 -1
  76. package/dist/api/index.d.ts +11 -1
  77. package/dist/api/index.d.ts.map +1 -1
  78. package/dist/api/index.js +13 -2
  79. package/dist/api/index.js.map +1 -1
  80. package/dist/api/intelligence-handler.d.ts +17 -6
  81. package/dist/api/intelligence-handler.d.ts.map +1 -1
  82. package/dist/api/intelligence-handler.js +59 -1
  83. package/dist/api/intelligence-handler.js.map +1 -1
  84. package/dist/api/operator-handler.d.ts +17 -0
  85. package/dist/api/operator-handler.d.ts.map +1 -0
  86. package/dist/api/operator-handler.js +88 -0
  87. package/dist/api/operator-handler.js.map +1 -0
  88. package/dist/api/report-handler.d.ts +7 -0
  89. package/dist/api/report-handler.d.ts.map +1 -1
  90. package/dist/api/report-handler.js +30 -0
  91. package/dist/api/report-handler.js.map +1 -1
  92. package/dist/api/report-persistence.d.ts +17 -0
  93. package/dist/api/report-persistence.d.ts.map +1 -0
  94. package/dist/api/report-persistence.js +91 -0
  95. package/dist/api/report-persistence.js.map +1 -0
  96. package/dist/cli/commands/start.d.ts +45 -0
  97. package/dist/cli/commands/start.d.ts.map +1 -1
  98. package/dist/cli/commands/start.js +610 -197
  99. package/dist/cli/commands/start.js.map +1 -1
  100. package/dist/cli/config/config-manager.d.ts.map +1 -1
  101. package/dist/cli/config/config-manager.js +171 -4
  102. package/dist/cli/config/config-manager.js.map +1 -1
  103. package/dist/cli/config/types.d.ts +25 -5
  104. package/dist/cli/config/types.d.ts.map +1 -1
  105. package/dist/cli/config/types.js +5 -0
  106. package/dist/cli/config/types.js.map +1 -1
  107. package/dist/cli/runtime/agent-loop-init.d.ts +3 -0
  108. package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
  109. package/dist/cli/runtime/agent-loop-init.js +2 -0
  110. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  111. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  112. package/dist/cli/runtime/api-routes-init.js +396 -259
  113. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  114. package/dist/cli/runtime/api-server-init.d.ts +2 -0
  115. package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
  116. package/dist/cli/runtime/api-server-init.js +19 -8
  117. package/dist/cli/runtime/api-server-init.js.map +1 -1
  118. package/dist/cli/runtime/connector-init.d.ts +26 -7
  119. package/dist/cli/runtime/connector-init.d.ts.map +1 -1
  120. package/dist/cli/runtime/connector-init.js +79 -16
  121. package/dist/cli/runtime/connector-init.js.map +1 -1
  122. package/dist/cli/runtime/envelope-bootstrap.d.ts.map +1 -1
  123. package/dist/cli/runtime/envelope-bootstrap.js +8 -2
  124. package/dist/cli/runtime/envelope-bootstrap.js.map +1 -1
  125. package/dist/cli/runtime/gateway-init.d.ts +1 -1
  126. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  127. package/dist/cli/runtime/gateway-init.js.map +1 -1
  128. package/dist/cli/runtime/message-router-config.d.ts +4 -0
  129. package/dist/cli/runtime/message-router-config.d.ts.map +1 -0
  130. package/dist/cli/runtime/message-router-config.js +11 -0
  131. package/dist/cli/runtime/message-router-config.js.map +1 -0
  132. package/dist/cli/runtime/scheduler-init.d.ts.map +1 -1
  133. package/dist/cli/runtime/scheduler-init.js +12 -12
  134. package/dist/cli/runtime/scheduler-init.js.map +1 -1
  135. package/dist/cli/runtime/utilities.js +2 -2
  136. package/dist/cli/runtime/utilities.js.map +1 -1
  137. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  138. package/dist/connectors/framework/polling-scheduler.js +101 -5
  139. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  140. package/dist/connectors/kagemusha/query-tools.d.ts.map +1 -1
  141. package/dist/connectors/kagemusha/query-tools.js +14 -3
  142. package/dist/connectors/kagemusha/query-tools.js.map +1 -1
  143. package/dist/db/agent-store.d.ts.map +1 -1
  144. package/dist/db/agent-store.js +10 -3
  145. package/dist/db/agent-store.js.map +1 -1
  146. package/dist/db/migrations/wiki-artifacts.d.ts +3 -0
  147. package/dist/db/migrations/wiki-artifacts.d.ts.map +1 -0
  148. package/dist/db/migrations/wiki-artifacts.js +24 -0
  149. package/dist/db/migrations/wiki-artifacts.js.map +1 -0
  150. package/dist/envelope/enforcer.d.ts.map +1 -1
  151. package/dist/envelope/enforcer.js +48 -4
  152. package/dist/envelope/enforcer.js.map +1 -1
  153. package/dist/envelope/key-provider.d.ts +1 -0
  154. package/dist/envelope/key-provider.d.ts.map +1 -1
  155. package/dist/envelope/key-provider.js +86 -0
  156. package/dist/envelope/key-provider.js.map +1 -1
  157. package/dist/gateways/message-router.d.ts.map +1 -1
  158. package/dist/gateways/message-router.js +15 -3
  159. package/dist/gateways/message-router.js.map +1 -1
  160. package/dist/gateways/types.d.ts +5 -1
  161. package/dist/gateways/types.d.ts.map +1 -1
  162. package/dist/mcp/code-act-server.js +50 -7
  163. package/dist/mcp/code-act-server.js.map +1 -1
  164. package/dist/memory/raw-backed-memory-ingest.d.ts +26 -0
  165. package/dist/memory/raw-backed-memory-ingest.d.ts.map +1 -0
  166. package/dist/memory/raw-backed-memory-ingest.js +214 -0
  167. package/dist/memory/raw-backed-memory-ingest.js.map +1 -0
  168. package/dist/memory/scope-context.js +1 -1
  169. package/dist/multi-agent/agent-event-bus.d.ts +10 -0
  170. package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
  171. package/dist/multi-agent/agent-event-bus.js +34 -0
  172. package/dist/multi-agent/agent-event-bus.js.map +1 -1
  173. package/dist/multi-agent/agent-process-manager.d.ts +3 -0
  174. package/dist/multi-agent/agent-process-manager.d.ts.map +1 -1
  175. package/dist/multi-agent/agent-process-manager.js +118 -13
  176. package/dist/multi-agent/agent-process-manager.js.map +1 -1
  177. package/dist/multi-agent/conductor-persona.js +2 -2
  178. package/dist/multi-agent/dashboard-agent-persona.d.ts +6 -2
  179. package/dist/multi-agent/dashboard-agent-persona.d.ts.map +1 -1
  180. package/dist/multi-agent/dashboard-agent-persona.js +57 -30
  181. package/dist/multi-agent/dashboard-agent-persona.js.map +1 -1
  182. package/dist/multi-agent/memory-agent-persona.d.ts +1 -1
  183. package/dist/multi-agent/memory-agent-persona.d.ts.map +1 -1
  184. package/dist/multi-agent/memory-agent-persona.js +25 -4
  185. package/dist/multi-agent/memory-agent-persona.js.map +1 -1
  186. package/dist/multi-agent/runtime-process.d.ts +1 -0
  187. package/dist/multi-agent/runtime-process.d.ts.map +1 -1
  188. package/dist/multi-agent/runtime-process.js +1 -0
  189. package/dist/multi-agent/runtime-process.js.map +1 -1
  190. package/dist/multi-agent/types.d.ts +14 -4
  191. package/dist/multi-agent/types.d.ts.map +1 -1
  192. package/dist/multi-agent/types.js.map +1 -1
  193. package/dist/multi-agent/wiki-agent-persona.d.ts +7 -1
  194. package/dist/multi-agent/wiki-agent-persona.d.ts.map +1 -1
  195. package/dist/multi-agent/wiki-agent-persona.js +83 -61
  196. package/dist/multi-agent/wiki-agent-persona.js.map +1 -1
  197. package/dist/multi-agent/workflow-types.d.ts +1 -1
  198. package/dist/multi-agent/workflow-types.d.ts.map +1 -1
  199. package/dist/operator/board-slot-instructions.d.ts +18 -0
  200. package/dist/operator/board-slot-instructions.d.ts.map +1 -0
  201. package/dist/operator/board-slot-instructions.js +52 -0
  202. package/dist/operator/board-slot-instructions.js.map +1 -0
  203. package/dist/operator/connector-delta-repo.d.ts +33 -0
  204. package/dist/operator/connector-delta-repo.d.ts.map +1 -0
  205. package/dist/operator/connector-delta-repo.js +0 -0
  206. package/dist/operator/connector-delta-repo.js.map +1 -0
  207. package/dist/operator/mama-memory-port.d.ts +13 -0
  208. package/dist/operator/mama-memory-port.d.ts.map +1 -0
  209. package/dist/operator/mama-memory-port.js +35 -0
  210. package/dist/operator/mama-memory-port.js.map +1 -0
  211. package/dist/operator/operator-interfaces.d.ts +136 -0
  212. package/dist/operator/operator-interfaces.d.ts.map +1 -0
  213. package/dist/operator/operator-interfaces.js +15 -0
  214. package/dist/operator/operator-interfaces.js.map +1 -0
  215. package/dist/operator/operator-trigger-loop.d.ts +106 -0
  216. package/dist/operator/operator-trigger-loop.d.ts.map +1 -0
  217. package/dist/operator/operator-trigger-loop.js +228 -0
  218. package/dist/operator/operator-trigger-loop.js.map +1 -0
  219. package/dist/operator/report-run.d.ts +78 -0
  220. package/dist/operator/report-run.d.ts.map +1 -0
  221. package/dist/operator/report-run.js +141 -0
  222. package/dist/operator/report-run.js.map +1 -0
  223. package/dist/operator/report-scheduler.d.ts +43 -0
  224. package/dist/operator/report-scheduler.d.ts.map +1 -0
  225. package/dist/operator/report-scheduler.js +87 -0
  226. package/dist/operator/report-scheduler.js.map +1 -0
  227. package/dist/operator/situation-report.d.ts +86 -0
  228. package/dist/operator/situation-report.d.ts.map +1 -0
  229. package/dist/operator/situation-report.js +211 -0
  230. package/dist/operator/situation-report.js.map +1 -0
  231. package/dist/operator/trigger-author.d.ts +45 -0
  232. package/dist/operator/trigger-author.d.ts.map +1 -0
  233. package/dist/operator/trigger-author.js +217 -0
  234. package/dist/operator/trigger-author.js.map +1 -0
  235. package/dist/operator/trigger-evolve.d.ts +31 -0
  236. package/dist/operator/trigger-evolve.d.ts.map +1 -0
  237. package/dist/operator/trigger-evolve.js +51 -0
  238. package/dist/operator/trigger-evolve.js.map +1 -0
  239. package/dist/operator/trigger-fire.d.ts +29 -0
  240. package/dist/operator/trigger-fire.d.ts.map +1 -0
  241. package/dist/operator/trigger-fire.js +41 -0
  242. package/dist/operator/trigger-fire.js.map +1 -0
  243. package/dist/operator/trigger-matcher.d.ts +19 -0
  244. package/dist/operator/trigger-matcher.d.ts.map +1 -0
  245. package/dist/operator/trigger-matcher.js +61 -0
  246. package/dist/operator/trigger-matcher.js.map +1 -0
  247. package/dist/operator/trigger-registry.d.ts +36 -0
  248. package/dist/operator/trigger-registry.d.ts.map +1 -0
  249. package/dist/operator/trigger-registry.js +135 -0
  250. package/dist/operator/trigger-registry.js.map +1 -0
  251. package/dist/operator/trigger-review.d.ts +23 -0
  252. package/dist/operator/trigger-review.d.ts.map +1 -0
  253. package/dist/operator/trigger-review.js +127 -0
  254. package/dist/operator/trigger-review.js.map +1 -0
  255. package/dist/operator/trigger-types.d.ts +84 -0
  256. package/dist/operator/trigger-types.d.ts.map +1 -0
  257. package/dist/operator/trigger-types.js +14 -0
  258. package/dist/operator/trigger-types.js.map +1 -0
  259. package/dist/scheduler/cron-worker.d.ts.map +1 -1
  260. package/dist/scheduler/cron-worker.js +3 -1
  261. package/dist/scheduler/cron-worker.js.map +1 -1
  262. package/dist/security/security-monitor.d.ts.map +1 -1
  263. package/dist/security/security-monitor.js +1 -0
  264. package/dist/security/security-monitor.js.map +1 -1
  265. package/dist/wiki/obsidian-writer.d.ts +1 -1
  266. package/dist/wiki/obsidian-writer.d.ts.map +1 -1
  267. package/dist/wiki/obsidian-writer.js +67 -27
  268. package/dist/wiki/obsidian-writer.js.map +1 -1
  269. package/dist/wiki/path-safety.d.ts +2 -0
  270. package/dist/wiki/path-safety.d.ts.map +1 -0
  271. package/dist/wiki/path-safety.js +40 -0
  272. package/dist/wiki/path-safety.js.map +1 -0
  273. package/dist/wiki/types.d.ts +4 -2
  274. package/dist/wiki/types.d.ts.map +1 -1
  275. package/dist/wiki/types.js +1 -1
  276. package/dist/wiki/types.js.map +1 -1
  277. package/dist/wiki-artifacts/normalization.d.ts +8 -0
  278. package/dist/wiki-artifacts/normalization.d.ts.map +1 -0
  279. package/dist/wiki-artifacts/normalization.js +41 -0
  280. package/dist/wiki-artifacts/normalization.js.map +1 -0
  281. package/dist/wiki-artifacts/types.d.ts +52 -0
  282. package/dist/wiki-artifacts/types.d.ts.map +1 -0
  283. package/dist/wiki-artifacts/types.js +3 -0
  284. package/dist/wiki-artifacts/types.js.map +1 -0
  285. package/dist/wiki-artifacts/wiki-publish-adapter.d.ts +14 -0
  286. package/dist/wiki-artifacts/wiki-publish-adapter.d.ts.map +1 -0
  287. package/dist/wiki-artifacts/wiki-publish-adapter.js +71 -0
  288. package/dist/wiki-artifacts/wiki-publish-adapter.js.map +1 -0
  289. package/package.json +6 -4
  290. package/public/ui/assets/index-BDsaQNGd.js +62 -0
  291. package/public/ui/assets/index-C4URnm_X.css +1 -0
  292. package/public/ui/index.html +13 -0
  293. package/public/viewer/js/utils/api.js +2 -2
  294. package/public/viewer/src/utils/api.ts +9 -2
  295. package/public/viewer/sw.js +1 -1
  296. package/public/viewer/viewer.html +6 -0
@@ -57,6 +57,7 @@ const tool_permission_manager_js_1 = require("./tool-permission-manager.js");
57
57
  const runtime_process_js_1 = require("./runtime-process.js");
58
58
  const bmad_templates_js_1 = require("./bmad-templates.js");
59
59
  const index_js_1 = require("../agent/code-act/index.js");
60
+ const host_bridge_js_1 = require("../agent/code-act/host-bridge.js");
60
61
  const { DebugLogger } = debugLogger;
61
62
  const processManagerLogger = new DebugLogger('AgentProcessManager');
62
63
  /**
@@ -68,6 +69,43 @@ function resolvePath(path) {
68
69
  }
69
70
  return (0, path_1.resolve)(path);
70
71
  }
72
+ function matchCodeActToolPattern(pattern, toolName) {
73
+ if (pattern === '*') {
74
+ return true;
75
+ }
76
+ if (pattern.endsWith('*')) {
77
+ return toolName.startsWith(pattern.slice(0, -1));
78
+ }
79
+ return pattern === toolName;
80
+ }
81
+ function safeConfigId(agentId) {
82
+ return agentId.replace(/[^a-zA-Z0-9_.-]/g, '_');
83
+ }
84
+ function codeActBlockedTools(agentConfig) {
85
+ return agentConfig.gateway_tool_permissions?.blocked ?? agentConfig.tool_permissions?.blocked;
86
+ }
87
+ function withCodeActPolicyEnv(entry, agentId, allowedTools, blockedTools) {
88
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry)) {
89
+ return entry;
90
+ }
91
+ const current = entry;
92
+ const currentEnv = current.env && typeof current.env === 'object' && !Array.isArray(current.env)
93
+ ? current.env
94
+ : {};
95
+ return {
96
+ ...current,
97
+ env: {
98
+ ...currentEnv,
99
+ MAMA_CODE_ACT_AGENT_ID: agentId,
100
+ ...(allowedTools !== undefined
101
+ ? { MAMA_CODE_ACT_ALLOWED_TOOLS: JSON.stringify(allowedTools) }
102
+ : {}),
103
+ ...(blockedTools !== undefined
104
+ ? { MAMA_CODE_ACT_BLOCKED_TOOLS: JSON.stringify(blockedTools) }
105
+ : {}),
106
+ },
107
+ };
108
+ }
71
109
  /**
72
110
  * Convert model ID to human-readable display name
73
111
  */
@@ -162,7 +200,7 @@ class AgentProcessManager extends events_1.EventEmitter {
162
200
  const backend = agentConfig.backend ?? this.runtimeOptions.backend;
163
201
  if (!backend) {
164
202
  throw new Error(`No backend configured for agent${agentId ? ` '${agentId}'` : ''}. ` +
165
- `Set 'backend' in agent config or global agent.backend. Valid: 'claude' | 'codex-mcp'`);
203
+ `Set 'backend' in agent config or global agent.backend. Valid: 'claude' | 'codex' | 'codex-mcp'`);
166
204
  }
167
205
  return backend;
168
206
  }
@@ -248,22 +286,29 @@ class AgentProcessManager extends events_1.EventEmitter {
248
286
  // (report_publish, wiki_publish) which are ONLY available inside code_act.
249
287
  const mcpConfigPath = (0, path_1.resolve)((0, os_1.homedir)(), '.mama', 'mama-mcp-config.json');
250
288
  if ((0, fs_1.existsSync)(mcpConfigPath)) {
251
- if (agentConfig.useCodeAct) {
289
+ if (agentConfig?.useCodeAct) {
252
290
  // Code-Act agents: only provide code-act MCP server
253
- const codeActOnlyConfig = (0, path_1.resolve)((0, os_1.homedir)(), '.mama', 'code-act-only-mcp-config.json');
291
+ const codeActOnlyConfig = (0, path_1.resolve)((0, os_1.homedir)(), '.mama', `code-act-only-mcp-config-${safeConfigId(agentId)}.json`);
254
292
  try {
255
293
  const fullConfig = JSON.parse((0, fs_1.readFileSync)(mcpConfigPath, 'utf-8'));
256
294
  const codeActEntry = fullConfig.mcpServers?.['code-act'];
257
295
  if (codeActEntry) {
258
- (0, fs_1.writeFileSync)(codeActOnlyConfig, JSON.stringify({ mcpServers: { 'code-act': codeActEntry } }, null, 2), 'utf-8');
296
+ const allowedTools = this.deriveCodeActAllowedTools(agentConfig);
297
+ const blockedTools = codeActBlockedTools(agentConfig);
298
+ (0, fs_1.writeFileSync)(codeActOnlyConfig, JSON.stringify({
299
+ mcpServers: {
300
+ 'code-act': withCodeActPolicyEnv(codeActEntry, agentId, allowedTools, blockedTools),
301
+ },
302
+ }, null, 2), 'utf-8');
259
303
  options.mcpConfigPath = codeActOnlyConfig;
260
304
  }
261
305
  else {
262
- options.mcpConfigPath = mcpConfigPath;
306
+ throw new Error(`Missing mcpServers["code-act"] in ${mcpConfigPath}`);
263
307
  }
264
308
  }
265
- catch {
266
- options.mcpConfigPath = mcpConfigPath;
309
+ catch (error) {
310
+ const message = error instanceof Error ? error.message : String(error);
311
+ throw new Error(`Code-Act MCP config unavailable for agent "${agentId}" at ${mcpConfigPath}: ${message}`);
267
312
  }
268
313
  }
269
314
  else {
@@ -289,7 +334,7 @@ class AgentProcessManager extends events_1.EventEmitter {
289
334
  options.disallowedTools = permissions.blocked;
290
335
  }
291
336
  // Code-Act: available as optional tool alongside direct tools (no forced disallowedTools)
292
- if (agentBackend === 'codex-mcp') {
337
+ if (agentBackend === 'codex' || agentBackend === 'codex-mcp') {
293
338
  const existing = this.codexProcessPool.get(channelKey);
294
339
  if (existing) {
295
340
  return existing;
@@ -332,6 +377,7 @@ class AgentProcessManager extends events_1.EventEmitter {
332
377
  sandbox: this.runtimeOptions.codexSandbox,
333
378
  command: this.runtimeOptions.codexCommand,
334
379
  requestTimeout: options.requestTimeout,
380
+ mcpConfigPath: options.mcpConfigPath,
335
381
  });
336
382
  }
337
383
  /**
@@ -475,7 +521,7 @@ class AgentProcessManager extends events_1.EventEmitter {
475
521
  const bmadStart = Date.now();
476
522
  const bmadBlock = includeBmadBlock ? await this.buildBmadBlock() : '';
477
523
  const bmadMs = includeBmadBlock ? Date.now() - bmadStart : 0;
478
- const skillsPrompt = this.buildSkillsPrompt();
524
+ const skillsPrompt = this.buildSkillsPrompt(agentId, agentConfig);
479
525
  const agentBackend = this.getAgentBackend(agentConfig, agentId);
480
526
  const backendAgentsMd = (0, agent_loop_js_1.loadBackendAgentsMd)(agentBackend);
481
527
  const systemPrompt = `# Agent Identity
@@ -507,10 +553,14 @@ ${skillsPrompt}## Guidelines
507
553
  const tier = agentConfig.tier ?? 1;
508
554
  // Code-Act mode: replace tool_call instructions with Code-Act JS execution
509
555
  if (agentConfig.useCodeAct && tier !== 3) {
510
- const typeDefs = index_js_1.TypeDefinitionGenerator.generate(tier);
556
+ const allowedTools = this.deriveCodeActAllowedTools(agentConfig);
557
+ const typeDefs = index_js_1.TypeDefinitionGenerator.generate(tier, allowedTools);
511
558
  const backend = agentConfig.backend ?? this.runtimeOptions.backend ?? 'claude';
512
- const codeActBackend = backend === 'codex-mcp' ? 'codex-mcp' : 'claude';
513
- return (0, index_js_1.getCodeActInstructions)(codeActBackend) + '\n```typescript\n' + typeDefs + '\n```\n';
559
+ const codeActBackend = backend === 'codex' || backend === 'codex-mcp' ? 'codex-mcp' : 'claude';
560
+ return ((0, index_js_1.getCodeActInstructions)(codeActBackend, allowedTools) +
561
+ '\n```typescript\n' +
562
+ typeDefs +
563
+ '\n```\n');
514
564
  }
515
565
  // Per-agent tool filtering via ToolRegistry (STORY-018)
516
566
  const allowedTools = agentConfig.tool_permissions?.allowed;
@@ -520,6 +570,45 @@ ${skillsPrompt}## Guidelines
520
570
  // Default: full gateway tools from gateway-tools.md
521
571
  return (0, agent_loop_js_1.getGatewayToolsPrompt)();
522
572
  }
573
+ deriveCodeActAllowedTools(agentConfig) {
574
+ const explicitGatewayAllowed = agentConfig.gateway_tool_permissions?.allowed;
575
+ if (explicitGatewayAllowed) {
576
+ return this.filterCodeActAllowedTools(explicitGatewayAllowed, agentConfig.gateway_tool_permissions?.blocked);
577
+ }
578
+ const explicitGatewayBlocked = agentConfig.gateway_tool_permissions?.blocked;
579
+ if (explicitGatewayBlocked) {
580
+ const allGatewayTools = host_bridge_js_1.HostBridge.getToolRegistry().map((meta) => meta.name);
581
+ return this.filterCodeActAllowedTools(allGatewayTools, explicitGatewayBlocked);
582
+ }
583
+ const cliAllowed = agentConfig.tool_permissions?.allowed;
584
+ if (cliAllowed) {
585
+ return this.filterCodeActAllowedTools(cliAllowed, agentConfig.tool_permissions?.blocked);
586
+ }
587
+ const cliBlocked = agentConfig.tool_permissions?.blocked;
588
+ if (cliBlocked) {
589
+ const allGatewayTools = host_bridge_js_1.HostBridge.getToolRegistry().map((meta) => meta.name);
590
+ return this.filterCodeActAllowedTools(allGatewayTools, cliBlocked);
591
+ }
592
+ return undefined;
593
+ }
594
+ filterCodeActAllowedTools(allowedTools, blockedTools) {
595
+ if (blockedTools?.includes('*')) {
596
+ return [];
597
+ }
598
+ if (allowedTools.includes('*') && !blockedTools?.length) {
599
+ return ['*'];
600
+ }
601
+ const registry = host_bridge_js_1.HostBridge.getToolRegistry();
602
+ const allowedNames = allowedTools.includes('*')
603
+ ? registry.map((meta) => meta.name)
604
+ : registry
605
+ .filter((meta) => allowedTools.some((pattern) => matchCodeActToolPattern(pattern, meta.name)))
606
+ .map((meta) => meta.name);
607
+ if (!blockedTools?.length) {
608
+ return allowedNames;
609
+ }
610
+ return allowedNames.filter((toolName) => !blockedTools.some((pattern) => matchCodeActToolPattern(pattern, toolName)));
611
+ }
523
612
  shouldTracePrompt(agentId) {
524
613
  return (this.tracePromptMs &&
525
614
  (agentId.toLowerCase() === 'conductor' ||
@@ -571,7 +660,10 @@ ${skillsPrompt}## Guidelines
571
660
  /**
572
661
  * Build installed skills prompt section
573
662
  */
574
- buildSkillsPrompt() {
663
+ buildSkillsPrompt(agentId, agentConfig) {
664
+ if (this.shouldOmitSkillCatalog(agentId, agentConfig)) {
665
+ return '';
666
+ }
575
667
  const skillCatalog = (0, skill_loader_js_1.filterSkillCatalogForContext)((0, skill_loader_js_1.loadInstalledSkills)(), null);
576
668
  if (skillCatalog.length === 0)
577
669
  return '';
@@ -583,6 +675,19 @@ The full skill instructions will be provided automatically when matched.
583
675
  ${skillCatalog.join('\n')}
584
676
  `;
585
677
  }
678
+ shouldOmitSkillCatalog(agentId, agentConfig) {
679
+ const systemAutomationAgents = new Set([
680
+ 'conductor',
681
+ 'dashboard-agent',
682
+ 'wiki-agent',
683
+ 'memory',
684
+ 'memory-agent',
685
+ ]);
686
+ if (systemAutomationAgents.has(agentId.toLowerCase())) {
687
+ return true;
688
+ }
689
+ return agentConfig.can_delegate === false && agentConfig.useCodeAct === true;
690
+ }
586
691
  /**
587
692
  * Build BMAD planning context block for Conductor's system prompt.
588
693
  * Returns an explicit marker on failure for easier diagnosis.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-process-manager.js","sourceRoot":"","sources":["../../src/multi-agent/agent-process-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-process-manager.js","sourceRoot":"","sources":["../../src/multi-agent/agent-process-manager.ts"],"names":[],"mappings":"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"}
@@ -91,8 +91,8 @@ If they're on the agent list, summarize which agents need attention.
91
91
 
92
92
  **Active UI guidance:**
93
93
  - Use \`viewer_navigate("agents")\` to show the agent list
94
- - Use \`viewer_navigate("agents", {id: "wiki-agent"})\` to show agent detail
95
- - Use \`viewer_notify({type: "warning", message: "wiki-agent regressed: latency 70s > 60s threshold"})\` for alerts
94
+ - Use \`viewer_navigate("agents", {id: agentId})\` to show an enabled agent detail
95
+ - Use \`viewer_notify({type: "warning", message: "[agentId] regressed: latency 70s > 60s threshold"})\` for alerts
96
96
  - After running \`agent_test\`, navigate to validation tab: \`viewer_navigate("agents", {id: agentId})\` and tell user to check the Validation tab
97
97
 
98
98
  **Validation checks during audit:**
@@ -1,9 +1,13 @@
1
1
  /**
2
- * Default persona for the dashboard briefing agent.
2
+ * Default persona for the dashboard (operator board) agent.
3
3
  * Written to ~/.mama/personas/dashboard.md on first use if not present.
4
4
  * Follows the same pattern as memory-agent-persona.ts.
5
+ *
6
+ * v9: Kagemusha authoring mechanism -- the agent publishes ALL FOUR board
7
+ * slots with the shared card/badge HTML vocabulary (board-slot-instructions.ts)
8
+ * instead of a single prose briefing with inline styles.
5
9
  */
6
- export declare const DASHBOARD_AGENT_PERSONA = "<!-- MAMA managed dashboard persona v4 -->\n\nYou are the MAMA OS briefing agent. You analyze project data and produce concise briefings.\n\nThe dashboard already displays notifications, timeline, and pipeline via API.\nWrite only the briefing section \u2014 analysis and insights that the API does not provide.\n\n## Language\n- Always write in Korean. No exceptions.\n\n## Tools\n- mama_search({query, limit}) \u2014 search decisions and memory\n- agent_notices({limit}) \u2014 inspect recent agent notices for delegations, errors, and warnings\n- report_publish({slots: {briefing: \"<html>\"}}) \u2014 publish a briefing. Only the \"briefing\" slot is allowed.\n\n## What to Write\n- Project status summary (3-5 lines max)\n- Items requiring immediate attention\n- Cross-project patterns or risks\n- Agent activity summary (if agents are active): delegations, errors, test scores\n\n## How to Write\n1. Query recent decisions with mama_search (limit 20)\n2. Analyze content and identify patterns\n3. Check agent_notices for recent agent activity (delegations, errors)\n4. If active agents exist, add \"Agent Activity\" section to briefing\n5. Write a concise briefing \u2014 no raw data listings, only analysis and insights\n6. Publish with report_publish\n\n## HTML Rules\n- Inline styles only\n- Headings: font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#1A1A1A\n- Body text: font-size:12px;color:#6B6560;line-height:1.6\n- Warning: color:#D94F4F, Normal: color:#3A9E7E\n- border-radius 4px max, no emoji\n\n## Strict Constraints\n- Call mama_search at most once\n- Call report_publish exactly once\n- Do not ask follow-up questions\n- Do not perform additional reasoning after publishing\n- After publishing, respond with: DONE";
10
+ export declare const DASHBOARD_AGENT_PERSONA: string;
7
11
  /**
8
12
  * Ensure persona file exists at ~/.mama/personas/dashboard.md
9
13
  * Creates it from default if not present.
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-agent-persona.d.ts","sourceRoot":"","sources":["../../src/multi-agent/dashboard-agent-persona.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,eAAO,MAAM,uBAAuB,8tDAyCG,CAAC;AAExC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,GAAE,MAAiC,GAAG,MAAM,CAyB7F"}
1
+ {"version":3,"file":"dashboard-agent-persona.d.ts","sourceRoot":"","sources":["../../src/multi-agent/dashboard-agent-persona.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,eAAO,MAAM,uBAAuB,QA+DG,CAAC;AAExC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,GAAE,MAAiC,GAAG,MAAM,CAyB7F"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  /**
3
- * Default persona for the dashboard briefing agent.
3
+ * Default persona for the dashboard (operator board) agent.
4
4
  * Written to ~/.mama/personas/dashboard.md on first use if not present.
5
5
  * Follows the same pattern as memory-agent-persona.ts.
6
+ *
7
+ * v9: Kagemusha authoring mechanism -- the agent publishes ALL FOUR board
8
+ * slots with the shared card/badge HTML vocabulary (board-slot-instructions.ts)
9
+ * instead of a single prose briefing with inline styles.
6
10
  */
7
11
  Object.defineProperty(exports, "__esModule", { value: true });
8
12
  exports.DASHBOARD_AGENT_PERSONA = void 0;
@@ -10,46 +14,69 @@ exports.ensureDashboardPersona = ensureDashboardPersona;
10
14
  const fs_1 = require("fs");
11
15
  const path_1 = require("path");
12
16
  const os_1 = require("os");
13
- const MANAGED_DASHBOARD_PERSONA_MARKER = '<!-- MAMA managed dashboard persona v4 -->';
17
+ const board_slot_instructions_js_1 = require("../operator/board-slot-instructions.js");
18
+ const MANAGED_DASHBOARD_PERSONA_MARKER = '<!-- MAMA managed dashboard persona v11 -->';
14
19
  exports.DASHBOARD_AGENT_PERSONA = `${MANAGED_DASHBOARD_PERSONA_MARKER}
15
20
 
16
- You are the MAMA OS briefing agent. You analyze project data and produce concise briefings.
17
-
18
- The dashboard already displays notifications, timeline, and pipeline via API.
19
- Write only the briefing section — analysis and insights that the API does not provide.
21
+ You are the MAMA OS operator-board agent. You analyze project data and publish the
22
+ operator board (/ui): a four-slot, card-based situation report.
20
23
 
21
24
  ## Language
22
- - Always write in Korean. No exceptions.
25
+ - Write all published board CONTENT in Korean. No exceptions. (Markup stays as specified below.)
23
26
 
24
27
  ## Tools
25
- - mama_search({query, limit}) search decisions and memory
26
- - agent_notices({limit}) inspect recent agent notices for delegations, errors, and warnings
27
- - report_publish({slots: {briefing: "<html>"}}) publish a briefing. Only the "briefing" slot is allowed.
28
+ - kagemusha_tasks({status?}) -- the LIVE task board. Statuses are real lifecycle states: pending, in_progress, review, done, completed, cancelled, dismissed. Includes title, priority, deadline, source_room, confirmed.
29
+ - kagemusha_overview() -- room/task/message counts for the stat line
30
+ - kagemusha_entities({channel?, activeOnly?}) -- list rooms/people with activity stats; find the busiest rooms
31
+ - kagemusha_messages({channelId, since?, limit?}) -- read recent raw messages from a room for deltas and evidence
32
+ - context_compile({task, limit?, max_tool_calls?, strictness?}) -- compile a scoped evidence packet for the board
33
+ - mama_search({query, limit}) -- fallback search when context_compile returns any non-success result (e.g. service unavailable, missing worker envelope, permission denied, or other failure)
34
+ - agent_notices({limit}) -- inspect recent agent notices for delegations, errors, and warnings
35
+ - report_publish({slots: {briefing, action_required, decisions, pipeline}}) -- publish ALL FOUR slots in ONE call. The board renders them in that order; any additional custom slot ids render after them by priority.
28
36
 
29
- ## What to Write
30
- - Project status summary (3-5 lines max)
31
- - Items requiring immediate attention
32
- - Cross-project patterns or risks
33
- - Agent activity summary (if agents are active): delegations, errors, test scores
37
+ ## Task state discipline (NON-NEGOTIABLE)
38
+ - Task completion/progress state comes ONLY from kagemusha_tasks. NEVER infer a task's
39
+ state from message archaeology ("no approval message found" is not a status).
40
+ - Card badges map to the REAL status: pending/review -> badge-warning, in_progress -> badge-info,
41
+ overdue deadline or explicitly blocked -> badge-danger, done/completed -> badge-success.
42
+ - Deadlines come from the task's deadline field, never guessed from chat.
43
+ - The pipeline slot is a report-table built from the kagemusha_tasks status distribution
44
+ (counts per status) plus the most important open items.
34
45
 
35
- ## How to Write
36
- 1. Query recent decisions with mama_search (limit 20)
37
- 2. Analyze content and identify patterns
38
- 3. Check agent_notices for recent agent activity (delegations, errors)
39
- 4. If active agents exist, add "Agent Activity" section to briefing
40
- 5. Write a concise briefing no raw data listings, only analysis and insights
41
- 6. Publish with report_publish
46
+ ## Evidence discipline (NON-NEGOTIABLE)
47
+ - Every card cites its evidence in the details line: the newest supporting message's
48
+ date and channel (e.g. "07-09, kakao:..." ). No uncited claims.
49
+ - If the newest evidence for an item is older than 7 days, do NOT issue a same-day
50
+ action directive for it; mark it "needs re-check" (badge-warning) instead.
51
+ - Attribute people and rooms exactly as they appear in the source data; never merge
52
+ a sender with a room name.
53
+
54
+ ## Board slots (what each must contain)
55
+ - briefing: one report-summary block (title + stat highlights), then up to 4 report-cards for the key situations
56
+ - action_required: a report-section-title, then up to 5 cards; every card-action states the concrete next step
57
+ - decisions: cards for items waiting on an owner decision or confirmation; when none exist, publish a one-line quiet note instead of filler
58
+ - pipeline: one report-table of workstreams with their current state
42
59
 
43
- ## HTML Rules
44
- - Inline styles only
45
- - Headings: font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#1A1A1A
46
- - Body text: font-size:12px;color:#6B6560;line-height:1.6
47
- - Warning: color:#D94F4F, Normal: color:#3A9E7E
48
- - border-radius 4px max, no emoji
60
+ ## HTML vocabulary
61
+ ${(0, board_slot_instructions_js_1.buildBoardHtmlVocabulary)().join('\n')}
62
+ Keep each slot under 6KB. No emoji.
63
+
64
+ ## How to Write
65
+ 1. Read the REAL task state first: kagemusha_tasks({}) for open work, plus kagemusha_tasks({status: "review"}) and kagemusha_tasks({status: "pending"}) slices; kagemusha_overview() for the stat line
66
+ 2. Gather deltas: kagemusha_entities({activeOnly: true}), then kagemusha_messages({channelId, since}) on the busiest 2-3 rooms (since = ISO timestamp for the last 24-48h) for what changed since the last board
67
+ 3. Compile memory evidence with context_compile using this exact task text: "recent substantive project decisions, task progress, agent alerts, and major changes" (limit 20, max_tool_calls 2, strictness "balanced"); if it returns any non-success result, fall back to mama_search once (limit 20)
68
+ 4. Check agent_notices for recent agent activity (delegations, errors); reflect notable items in the briefing or action_required cards
69
+ 5. Analyze content, identify patterns and risks -- no raw data listings, only analysis and insights; apply the task-state and evidence discipline above
70
+ 6. Compose all four slots with the vocabulary above and publish them with a SINGLE report_publish call
71
+ 7. Keep any context_packet_id from context_compile in mind for audit language, but do not invent one or pass one to report_publish
72
+ 8. Do not save board content with mama_save; report_publish and agent_activity already record operational output
49
73
 
50
74
  ## Strict Constraints
51
- - Call mama_search at most once
52
- - Call report_publish exactly once
75
+ - Prefer context_compile over mama_search for evidence gathering
76
+ - Do not include dashboard_briefing, wiki_compilation, system-audit, or audit-log labels in the context_compile task text
77
+ - Call mama_search at most once, and only as a fallback after context_compile returns a non-success result
78
+ - Call report_publish exactly once, carrying all four slots
79
+ - Do not call mama_save for dashboard_briefing or other operational summaries
53
80
  - Do not ask follow-up questions
54
81
  - Do not perform additional reasoning after publishing
55
82
  - After publishing, respond with: DONE`;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-agent-persona.js","sourceRoot":"","sources":["../../src/multi-agent/dashboard-agent-persona.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAuDH,wDAyBC;AA9ED,2BAAwE;AACxE,+BAA4B;AAC5B,2BAA6B;AAE7B,MAAM,gCAAgC,GAAG,4CAA4C,CAAC;AAEzE,QAAA,uBAAuB,GAAG,GAAG,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAyCnC,CAAC;AAExC;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,cAAsB,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,OAAO,CAAC;IACnF,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAErD,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,IAAA,kBAAa,EAAC,WAAW,EAAE,+BAAuB,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE3D,oDAAoD;IACpD,yDAAyD;IACzD,IACE,eAAe,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAC/D,eAAe,KAAK,+BAAuB,EAC3C,CAAC;QACD,IAAA,kBAAa,EAAC,WAAW,EAAE,+BAAuB,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"dashboard-agent-persona.js","sourceRoot":"","sources":["../../src/multi-agent/dashboard-agent-persona.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA8EH,wDAyBC;AArGD,2BAAwE;AACxE,+BAA4B;AAC5B,2BAA6B;AAC7B,uFAAkF;AAElF,MAAM,gCAAgC,GAAG,6CAA6C,CAAC;AAE1E,QAAA,uBAAuB,GAAG,GAAG,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CxE,IAAA,qDAAwB,GAAE,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;uCAqBA,CAAC;AAExC;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,cAAsB,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,OAAO,CAAC;IACnF,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAErD,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,IAAA,kBAAa,EAAC,WAAW,EAAE,+BAAuB,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE3D,oDAAoD;IACpD,yDAAyD;IACzD,IACE,eAAe,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAC/D,eAAe,KAAK,+BAAuB,EAC3C,CAAC;QACD,IAAA,kBAAa,EAAC,WAAW,EAAE,+BAAuB,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Default persona for the memory agent.
3
3
  * Written to ~/.mama/personas/memory.md on first use if not present.
4
4
  */
5
- export declare const MEMORY_AGENT_PERSONA = "<!-- MAMA managed memory persona v5 -->\n\nYou are MAMA's memory auditor and curator \u2014 an internal agent that watches conversations, maintains current truth, and advises the main agent when memory matters.\n\n## Your Role\n- Observe every conversation turn between users and the main agent\n- Distinguish time-ordered memory history from current truth\n- Use memory tools directly to inspect, evolve, and save memory\n- Notify the main agent only when evidence-backed memory findings are relevant\n- Never rely on the caller to parse JSON and save for you\n\n## Topic Rules\n- MUST reuse existing topic if same subject (provided in context)\n- Use lowercase snake_case: auth_strategy, database_choice\n- Same topic = evolution chain (supersedes)\n- Related topic = builds_on or synthesizes\n\n## Mandatory Tool Workflow\nKeep the workflow minimal and terminate quickly.\n\n**Step 1 \u2014 ALWAYS call `mama_search` first.**\nSearch for existing memories related to the conversation topic. This is mandatory even if you believe nothing is worth saving \u2014 you need context to make that judgment.\n\n**Step 2 \u2014 Decide: save or no-op.**\nBased on search results and the conversation, decide whether to save or skip.\n\n**Step 3 \u2014 Call `mama_save` when the conversation contains ANY of these:**\n- A decision, preference, or technical choice\n- A constraint, requirement, or lesson learned\n- A fact about architecture, tooling, or workflow\n- A change that supersedes a prior memory\n\nWhen calling `mama_save`, always include the `scopes` field from the Memory scopes listed at the top of the prompt. Parse the scope entries (e.g., \"project:/path, channel:telegram:123\") into `[{kind: \"project\", id: \"/path\"}, {kind: \"channel\", id: \"telegram:123\"}]`.\n\n**Step 4 \u2014 Only skip (no-op) when the conversation is ALL of these:**\n- Pure greeting, thanks, or confirmation (\"ok\", \"got it\", \"thanks\")\n- Contains zero decisions, preferences, facts, or choices\n- Even then, you must have called `mama_search` first before deciding to skip\n\n## Strict Limits\n- Call `mama_search` at most once per audit.\n- Call `mama_save` at most once per audit.\n- Do NOT call resource discovery tools such as `list_mcp_resources` or `list_mcp_resource_templates`.\n- Do NOT ask follow-up questions.\n- Do NOT continue reasoning after the required tool calls finish.\n- After finishing tool work, respond with exactly one token:\n - `DONE` if a save occurred\n - `SKIP` if nothing should be saved\n\n## Relationship Types\n- supersedes: replaces a previous decision on same topic\n- builds_on: adds information to existing topic without replacing\n- synthesizes: merges multiple decisions or infers connections\n\n## Truth Model\n- Preserve history, but maintain current truth separately\n- Old memories may remain in history while becoming stale, contradicted, or superseded\n- When uncertain about relationship type, prefer builds_on over supersedes to avoid data loss\n\n## Temporal Marker Extraction\n\nWhen the conversation contains relative time expressions, extract an explicit event_date and include it in `mama_save` as the `event_date` field (ISO 8601: \"YYYY-MM-DD\").\n\n**Extract event_date when you see:**\n- Yesterday \u2192 today - 1 day\n- Last week / last month \u2192 approximate Monday or 1st of previous period\n- \"In March\", \"in January 2023\" \u2192 first day of that month (e.g., \"2023-03-01\")\n- \"A year ago\", \"3 months ago\" \u2192 today minus that duration\n- \"On Tuesday\", \"last Friday\" \u2192 nearest past occurrence of that weekday\n- An explicit date mentioned in the conversation (e.g., \"December 28th\")\n\n**How to apply:**\n1. Identify the most precise date derivable from context\n2. Pass `event_date: \"YYYY-MM-DD\"` in `mama_save` alongside the decision\n3. If no temporal marker is present, omit event_date (system defaults to created_at)\n\n## What to Save\n- Architecture decisions, technical choices, tooling preferences\n- User preferences and working style\n- Constraints, requirements, lessons learned\n- Decision changes that should supersede prior memory\n\n## What to Skip\n- Greetings, casual chat, thanks\n- Questions without answers\n- Temporary debugging steps\n- Code snippets\n\n## Response Rules\n- You MUST call at least `mama_search` before any text response.\n- Do not return JSON for the caller to parse\n- Do the memory work yourself with tools, then terminate immediately with `DONE` or `SKIP`\n- When in doubt, save \u2014 false negatives (missing a memory) are worse than false positives\n- You are an internal subagent, not the user-facing assistant";
5
+ export declare const MEMORY_AGENT_PERSONA = "<!-- MAMA managed memory persona v6 -->\n\nYou are MAMA's memory auditor and curator \u2014 an internal agent that watches conversations, maintains current truth, and advises the main agent when memory matters.\n\n## Your Role\n- Observe every conversation turn between users and the main agent\n- Distinguish time-ordered memory history from current truth\n- Use memory tools directly to inspect, evolve, and save memory\n- Notify the main agent only when evidence-backed memory findings are relevant\n- Never rely on the caller to parse JSON and save for you\n\n## Topic Rules\n- MUST reuse existing topic if same subject (provided in context)\n- Use lowercase snake_case: auth_strategy, database_choice\n- Same topic = evolution chain (supersedes)\n- Related topic = builds_on or synthesizes\n\n## Mandatory Tool Workflow\nKeep the workflow minimal and terminate quickly.\n\n**Step 1 \u2014 ALWAYS call `mama_search` first.**\nSearch for existing memories related to the conversation topic. This is mandatory even if you believe nothing is worth saving \u2014 you need context to make that judgment.\n\n**Step 2 \u2014 Decide: save or no-op.**\nBased on search results and the conversation, decide whether to save or skip.\n\n**Step 3 \u2014 Call `mama_save` when the conversation contains ANY of these:**\n- A decision, preference, or technical choice\n- A constraint, requirement, or lesson learned\n- A fact about architecture, tooling, or workflow\n- A change that supersedes a prior memory\n\nWhen calling `mama_save`, always include the `scopes` field from the Memory scopes listed at the top of the prompt. Parse the scope entries (e.g., \"project:/path, channel:telegram:123\") into `[{kind: \"project\", id: \"/path\"}, {kind: \"channel\", id: \"telegram:123\"}]`.\n\n**Step 4 \u2014 Only skip (no-op) when the conversation is ALL of these:**\n- Pure greeting, thanks, or confirmation (\"ok\", \"got it\", \"thanks\")\n- Contains zero decisions, preferences, facts, or choices\n- Even then, you must have called `mama_search` first before deciding to skip\n\n## Strict Limits\n- Call `mama_search` at most once per audit.\n- Call `mama_save` at most once per audit.\n- Do NOT call resource discovery tools such as `list_mcp_resources` or `list_mcp_resource_templates`.\n- Do NOT ask follow-up questions.\n- Do NOT continue reasoning after the required tool calls finish.\n- After finishing tool work, respond with exactly one token:\n - `DONE` if a save occurred\n - `SKIP` if nothing should be saved\n\n## Relationship Types\n- supersedes: replaces a previous decision on same topic\n- builds_on: adds information to existing topic without replacing\n- synthesizes: merges multiple decisions or infers connections\n\n## Truth Model\n- Preserve history, but maintain current truth separately\n- Old memories may remain in history while becoming stale, contradicted, or superseded\n- When uncertain about relationship type, prefer builds_on over supersedes to avoid data loss\n\n## Temporal Marker Extraction\n\nWhen the conversation contains relative time expressions, extract an explicit event_date and include it in `mama_save` as the `event_date` field (ISO 8601: \"YYYY-MM-DD\").\n\n**Extract event_date when you see:**\n- Yesterday \u2192 today - 1 day\n- Last week / last month \u2192 approximate Monday or 1st of previous period\n- \"In March\", \"in January 2023\" \u2192 first day of that month (e.g., \"2023-03-01\")\n- \"A year ago\", \"3 months ago\" \u2192 today minus that duration\n- \"On Tuesday\", \"last Friday\" \u2192 nearest past occurrence of that weekday\n- An explicit date mentioned in the conversation (e.g., \"December 28th\")\n\n**How to apply:**\n1. Identify the most precise date derivable from context\n2. Pass `event_date: \"YYYY-MM-DD\"` in `mama_save` alongside the decision\n3. If no temporal marker is present, omit event_date (system defaults to created_at)\n\n## What to Save\n- Architecture decisions, technical choices, tooling preferences\n- User preferences and working style\n- Constraints, requirements, lessons learned\n- Decision changes that should supersede prior memory\n\n## What to Skip\n- Greetings, casual chat, thanks\n- Questions without answers\n- Temporary debugging steps\n- Code snippets\n\n## Response Rules\n- You MUST call at least `mama_search` before any text response.\n- Do not return JSON for the caller to parse\n- Do the memory work yourself with tools, then terminate immediately with `DONE` or `SKIP`\n- When in doubt, save \u2014 false negatives (missing a memory) are worse than false positives\n- You are an internal subagent, not the user-facing assistant\n\n## PROMOTION RUN mode\nWhen an incoming message begins with \"PROMOTION RUN\", it is a scheduled batch\npass over recent business data, NOT a turn audit. In this mode ONLY:\n- The per-audit limits above do not apply: you may call mama_search several\n times and mama_save up to 5 times, and you gather evidence yourself with\n kagemusha_entities / kagemusha_messages / agent_notices as the run\n instructions describe.\n- Promote ONLY durable judgments: pricing/scope agreements, a client's standing\n preference or boundary, a process rule, a recurring risk pattern. Things that\n change how future work is done.\n- NEVER promote task lifecycle states (\"X was submitted\", \"Y is in progress\") --\n the task board owns those. Never promote greetings, scheduling chatter, or\n one-off logistics.\n- Every save needs scopes (parse from the run instructions or the source\n channel) and an event_date for when the judgment was actually made.\n- Reuse existing topics found via mama_search so evolution chains stay intact.\n- Finish with exactly one line: `PROMOTED <n>` (n = number of saves) or\n `NO_UPDATE` when nothing qualifies. When in doubt in THIS mode, do NOT save --\n promotion is curation, and a wrong policy in memory misleads every consumer.";
6
6
  /**
7
7
  * Ensure persona file exists at ~/.mama/personas/memory.md
8
8
  * Creates it from default if not present and upgrades legacy managed personas.
@@ -1 +1 @@
1
- {"version":3,"file":"memory-agent-persona.d.ts","sourceRoot":"","sources":["../../src/multi-agent/memory-agent-persona.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,eAAO,MAAM,oBAAoB,yiJA6F6B,CAAC;AA2B/D;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,GAAE,MAAiC,GAAG,MAAM,CA2B1F"}
1
+ {"version":3,"file":"memory-agent-persona.d.ts","sourceRoot":"","sources":["../../src/multi-agent/memory-agent-persona.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,eAAO,MAAM,oBAAoB,6xLAiH8C,CAAC;AA2BhF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,GAAE,MAAiC,GAAG,MAAM,CA4B1F"}
@@ -9,7 +9,7 @@ exports.ensureMemoryPersona = ensureMemoryPersona;
9
9
  const fs_1 = require("fs");
10
10
  const path_1 = require("path");
11
11
  const os_1 = require("os");
12
- const MANAGED_MEMORY_PERSONA_MARKER = '<!-- MAMA managed memory persona v5 -->';
12
+ const MANAGED_MEMORY_PERSONA_MARKER = '<!-- MAMA managed memory persona v6 -->';
13
13
  exports.MEMORY_AGENT_PERSONA = `${MANAGED_MEMORY_PERSONA_MARKER}
14
14
 
15
15
  You are MAMA's memory auditor and curator — an internal agent that watches conversations, maintains current truth, and advises the main agent when memory matters.
@@ -103,7 +103,27 @@ When the conversation contains relative time expressions, extract an explicit ev
103
103
  - Do not return JSON for the caller to parse
104
104
  - Do the memory work yourself with tools, then terminate immediately with \`DONE\` or \`SKIP\`
105
105
  - When in doubt, save — false negatives (missing a memory) are worse than false positives
106
- - You are an internal subagent, not the user-facing assistant`;
106
+ - You are an internal subagent, not the user-facing assistant
107
+
108
+ ## PROMOTION RUN mode
109
+ When an incoming message begins with "PROMOTION RUN", it is a scheduled batch
110
+ pass over recent business data, NOT a turn audit. In this mode ONLY:
111
+ - The per-audit limits above do not apply: you may call mama_search several
112
+ times and mama_save up to 5 times, and you gather evidence yourself with
113
+ kagemusha_entities / kagemusha_messages / agent_notices as the run
114
+ instructions describe.
115
+ - Promote ONLY durable judgments: pricing/scope agreements, a client's standing
116
+ preference or boundary, a process rule, a recurring risk pattern. Things that
117
+ change how future work is done.
118
+ - NEVER promote task lifecycle states ("X was submitted", "Y is in progress") --
119
+ the task board owns those. Never promote greetings, scheduling chatter, or
120
+ one-off logistics.
121
+ - Every save needs scopes (parse from the run instructions or the source
122
+ channel) and an event_date for when the judgment was actually made.
123
+ - Reuse existing topics found via mama_search so evolution chains stay intact.
124
+ - Finish with exactly one line: \`PROMOTED <n>\` (n = number of saves) or
125
+ \`NO_UPDATE\` when nothing qualifies. When in doubt in THIS mode, do NOT save --
126
+ promotion is curation, and a wrong policy in memory misleads every consumer.`;
107
127
  function isLegacyManagedPersona(content) {
108
128
  // v1: old JSON-return persona
109
129
  if (content.includes("You are MAMA's memory agent") &&
@@ -144,8 +164,9 @@ function ensureMemoryPersona(mamaHomeDir = (0, path_1.join)((0, os_1.homedir)(),
144
164
  if (isLegacyManagedPersona(existingContent)) {
145
165
  (0, fs_1.writeFileSync)(personaPath, exports.MEMORY_AGENT_PERSONA, 'utf-8');
146
166
  }
147
- // Also normalize v4 managed personas that may have drifted
148
- if (existingContent.includes(MANAGED_MEMORY_PERSONA_MARKER) &&
167
+ // Upgrade ANY older managed persona version (match the marker prefix, not the
168
+ // exact current version -- an exact match can never upgrade v5 -> v6).
169
+ if (existingContent.includes('<!-- MAMA managed memory persona') &&
149
170
  existingContent !== exports.MEMORY_AGENT_PERSONA) {
150
171
  (0, fs_1.writeFileSync)(personaPath, exports.MEMORY_AGENT_PERSONA, 'utf-8');
151
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-agent-persona.js","sourceRoot":"","sources":["../../src/multi-agent/memory-agent-persona.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAoIH,kDA2BC;AA7JD,2BAAwE;AACxE,+BAA4B;AAC5B,2BAA6B;AAE7B,MAAM,6BAA6B,GAAG,yCAAyC,CAAC;AAEnE,QAAA,oBAAoB,GAAG,GAAG,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DA6FN,CAAC;AAE/D,SAAS,sBAAsB,CAAC,OAAe;IAC7C,8BAA8B;IAC9B,IACE,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC/C,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,EAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,yDAAyD;IACzD,IAAI,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oEAAoE;IACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,yCAAyC;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,cAAsB,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,OAAO,CAAC;IAChF,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAElD,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,IAAA,kBAAa,EAAC,WAAW,EAAE,4BAAoB,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5C,IAAA,kBAAa,EAAC,WAAW,EAAE,4BAAoB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,2DAA2D;IAC3D,IACE,eAAe,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACvD,eAAe,KAAK,4BAAoB,EACxC,CAAC;QACD,IAAA,kBAAa,EAAC,WAAW,EAAE,4BAAoB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"memory-agent-persona.js","sourceRoot":"","sources":["../../src/multi-agent/memory-agent-persona.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwJH,kDA4BC;AAlLD,2BAAwE;AACxE,+BAA4B;AAC5B,2BAA6B;AAE7B,MAAM,6BAA6B,GAAG,yCAAyC,CAAC;AAEnE,QAAA,oBAAoB,GAAG,GAAG,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EAiHW,CAAC;AAEhF,SAAS,sBAAsB,CAAC,OAAe;IAC7C,8BAA8B;IAC9B,IACE,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC/C,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,EAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,yDAAyD;IACzD,IAAI,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oEAAoE;IACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,yCAAyC;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,cAAsB,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,OAAO,CAAC;IAChF,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAElD,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,IAAA,kBAAa,EAAC,WAAW,EAAE,4BAAoB,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5C,IAAA,kBAAa,EAAC,WAAW,EAAE,4BAAoB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,uEAAuE;IACvE,IACE,eAAe,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC5D,eAAe,KAAK,4BAAoB,EACxC,CAAC;QACD,IAAA,kBAAa,EAAC,WAAW,EAAE,4BAAoB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -15,6 +15,7 @@ export interface CodexRuntimeProcessOptions {
15
15
  sandbox?: 'read-only' | 'workspace-write' | 'danger-full-access';
16
16
  requestTimeout?: number;
17
17
  codexHome?: string;
18
+ mcpConfigPath?: string;
18
19
  command?: string;
19
20
  profile?: string;
20
21
  ephemeral?: boolean;