@jungjaehoon/mama-os 0.9.3 → 0.9.4

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 (96) hide show
  1. package/dist/agent/agent-loop.d.ts.map +1 -1
  2. package/dist/agent/agent-loop.js +2 -3
  3. package/dist/agent/agent-loop.js.map +1 -1
  4. package/dist/agent/claude-cli-wrapper.d.ts +4 -4
  5. package/dist/agent/claude-cli-wrapper.d.ts.map +1 -1
  6. package/dist/agent/claude-cli-wrapper.js +17 -5
  7. package/dist/agent/claude-cli-wrapper.js.map +1 -1
  8. package/dist/agent/claude-client.js +3 -3
  9. package/dist/agent/claude-client.js.map +1 -1
  10. package/dist/agent/codex-mcp-process.d.ts +10 -0
  11. package/dist/agent/codex-mcp-process.d.ts.map +1 -1
  12. package/dist/agent/codex-mcp-process.js +226 -58
  13. package/dist/agent/codex-mcp-process.js.map +1 -1
  14. package/dist/agent/gateway-tool-executor.d.ts +15 -1
  15. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  16. package/dist/agent/gateway-tool-executor.js +37 -3
  17. package/dist/agent/gateway-tool-executor.js.map +1 -1
  18. package/dist/agent/gateway-tools.md +1 -0
  19. package/dist/agent/persistent-cli-process.d.ts +2 -0
  20. package/dist/agent/persistent-cli-process.d.ts.map +1 -1
  21. package/dist/agent/persistent-cli-process.js +15 -0
  22. package/dist/agent/persistent-cli-process.js.map +1 -1
  23. package/dist/agent/types.d.ts +3 -3
  24. package/dist/agent/types.d.ts.map +1 -1
  25. package/dist/agent/types.js.map +1 -1
  26. package/dist/api/graph-api.d.ts.map +1 -1
  27. package/dist/api/graph-api.js +30 -4
  28. package/dist/api/graph-api.js.map +1 -1
  29. package/dist/cli/commands/start.d.ts.map +1 -1
  30. package/dist/cli/commands/start.js +91 -6
  31. package/dist/cli/commands/start.js.map +1 -1
  32. package/dist/cli/commands/stop.d.ts +7 -1
  33. package/dist/cli/commands/stop.d.ts.map +1 -1
  34. package/dist/cli/commands/stop.js +49 -0
  35. package/dist/cli/commands/stop.js.map +1 -1
  36. package/dist/cli/config/types.d.ts +3 -1
  37. package/dist/cli/config/types.d.ts.map +1 -1
  38. package/dist/cli/config/types.js +3 -3
  39. package/dist/cli/config/types.js.map +1 -1
  40. package/dist/gateways/image-analyzer.js +1 -1
  41. package/dist/gateways/image-analyzer.js.map +1 -1
  42. package/dist/gateways/slack.d.ts.map +1 -1
  43. package/dist/gateways/slack.js +8 -9
  44. package/dist/gateways/slack.js.map +1 -1
  45. package/dist/multi-agent/agent-process-manager.d.ts +12 -0
  46. package/dist/multi-agent/agent-process-manager.d.ts.map +1 -1
  47. package/dist/multi-agent/agent-process-manager.js +100 -10
  48. package/dist/multi-agent/agent-process-manager.js.map +1 -1
  49. package/dist/multi-agent/bmad-templates.d.ts +67 -0
  50. package/dist/multi-agent/bmad-templates.d.ts.map +1 -0
  51. package/dist/multi-agent/bmad-templates.js +248 -0
  52. package/dist/multi-agent/bmad-templates.js.map +1 -0
  53. package/dist/multi-agent/multi-agent-base.d.ts +1 -0
  54. package/dist/multi-agent/multi-agent-base.d.ts.map +1 -1
  55. package/dist/multi-agent/multi-agent-base.js +7 -3
  56. package/dist/multi-agent/multi-agent-base.js.map +1 -1
  57. package/dist/multi-agent/multi-agent-discord.d.ts.map +1 -1
  58. package/dist/multi-agent/multi-agent-discord.js +24 -2
  59. package/dist/multi-agent/multi-agent-discord.js.map +1 -1
  60. package/dist/multi-agent/multi-agent-slack.d.ts +2 -0
  61. package/dist/multi-agent/multi-agent-slack.d.ts.map +1 -1
  62. package/dist/multi-agent/multi-agent-slack.js +78 -19
  63. package/dist/multi-agent/multi-agent-slack.js.map +1 -1
  64. package/dist/multi-agent/runtime-process.d.ts +3 -0
  65. package/dist/multi-agent/runtime-process.d.ts.map +1 -1
  66. package/dist/multi-agent/runtime-process.js +4 -0
  67. package/dist/multi-agent/runtime-process.js.map +1 -1
  68. package/dist/multi-agent/types.d.ts +20 -0
  69. package/dist/multi-agent/types.d.ts.map +1 -1
  70. package/dist/multi-agent/types.js.map +1 -1
  71. package/dist/multi-agent/workflow-engine.d.ts +7 -0
  72. package/dist/multi-agent/workflow-engine.d.ts.map +1 -1
  73. package/dist/multi-agent/workflow-engine.js +210 -30
  74. package/dist/multi-agent/workflow-engine.js.map +1 -1
  75. package/dist/multi-agent/workflow-types.d.ts +5 -1
  76. package/dist/multi-agent/workflow-types.d.ts.map +1 -1
  77. package/dist/onboarding/phase-7-integrations.js +1 -1
  78. package/dist/onboarding/phase-7-integrations.js.map +1 -1
  79. package/dist/setup/setup-prompt.d.ts +1 -1
  80. package/dist/setup/setup-prompt.d.ts.map +1 -1
  81. package/dist/setup/setup-prompt.js +1 -1
  82. package/package.json +1 -1
  83. package/public/viewer/js/modules/settings.js +110 -15
  84. package/public/viewer/js/utils/format.js +10 -7
  85. package/public/viewer/src/modules/settings.ts +133 -16
  86. package/public/viewer/src/utils/api.ts +2 -1
  87. package/public/viewer/src/utils/format.ts +10 -7
  88. package/public/viewer/viewer.html +1 -0
  89. package/templates/bmad/LICENSE +28 -0
  90. package/templates/bmad/architecture.md +343 -0
  91. package/templates/bmad/bmm-workflow-status.template.yaml +66 -0
  92. package/templates/bmad/prd.md +198 -0
  93. package/templates/bmad/product-brief.md +149 -0
  94. package/templates/bmad/sprint-status.template.yaml +35 -0
  95. package/templates/bmad/tech-spec.md +151 -0
  96. package/templates/personas/conductor.md +86 -15
@@ -49,9 +49,14 @@ exports.CodexMCPProcess = void 0;
49
49
  const child_process_1 = require("child_process");
50
50
  const events_1 = require("events");
51
51
  const readline = __importStar(require("readline"));
52
+ const fs_1 = require("fs");
53
+ const os_1 = require("os");
54
+ const path_1 = require("path");
52
55
  const debugLogger = __importStar(require("@jungjaehoon/mama-core/debug-logger"));
53
56
  const { DebugLogger } = debugLogger;
54
57
  const logger = new DebugLogger('CodexMCP');
58
+ const DEFAULT_REQUEST_TIMEOUT_MS = 15 * 60 * 1000;
59
+ const DEFAULT_INITIALIZE_TIMEOUT_MS = 60 * 1000;
55
60
  class CodexMCPProcess extends events_1.EventEmitter {
56
61
  process = null;
57
62
  options;
@@ -73,11 +78,33 @@ class CodexMCPProcess extends events_1.EventEmitter {
73
78
  return;
74
79
  }
75
80
  this.state = 'starting';
76
- logger.info('Starting Codex MCP server');
77
- this.process = (0, child_process_1.spawn)('codex', ['mcp-server'], {
78
- stdio: ['pipe', 'pipe', 'pipe'],
79
- cwd: this.options.cwd,
80
- });
81
+ let command;
82
+ try {
83
+ command = this.resolveCodexCommand();
84
+ }
85
+ catch (error) {
86
+ this.state = 'dead';
87
+ throw error;
88
+ }
89
+ logger.info(`Starting Codex MCP server with command: ${command}`);
90
+ try {
91
+ this.process = (0, child_process_1.spawn)(command, ['mcp-server'], {
92
+ stdio: ['pipe', 'pipe', 'pipe'],
93
+ cwd: this.options.cwd,
94
+ });
95
+ }
96
+ catch (error) {
97
+ const startError = error instanceof Error ? error : new Error(String(error));
98
+ logger.error('Failed to start Codex MCP process:', startError);
99
+ this.state = 'dead';
100
+ this.process = null;
101
+ throw startError;
102
+ }
103
+ if (!this.process) {
104
+ const startError = new Error(`Failed to create Codex MCP process with command: ${command}`);
105
+ this.state = 'dead';
106
+ throw startError;
107
+ }
81
108
  // Set up readline for JSON parsing
82
109
  this.rl = readline.createInterface({
83
110
  input: this.process.stdout,
@@ -92,40 +119,49 @@ class CodexMCPProcess extends events_1.EventEmitter {
92
119
  });
93
120
  this.process.on('close', (code) => {
94
121
  logger.info(`Process closed with code ${code}`);
95
- this.state = 'dead';
96
- this.process = null;
97
- this.threadId = null;
122
+ this.shutdown(new Error(`Process closed with code ${code ?? 'unknown'}`), false);
98
123
  });
99
- this.process.on('error', (error) => {
100
- logger.error('Process error:', error);
101
- this.emit('error', error);
124
+ // Wait for process to either start successfully or fail with spawn error
125
+ await new Promise((resolve, reject) => {
126
+ const onSpawnError = (error) => {
127
+ logger.error('Process spawn error:', error);
128
+ this.state = 'dead';
129
+ reject(error);
130
+ };
131
+ this.process.on('error', onSpawnError);
132
+ // Give process a moment to start; if no error fires, it spawned OK
133
+ setTimeout(() => {
134
+ this.process?.removeListener('error', onSpawnError);
135
+ this.process?.on('error', (error) => {
136
+ logger.error('Process error:', error);
137
+ if (this.listenerCount('error') > 0) {
138
+ this.emit('error', error);
139
+ }
140
+ this.shutdown(error instanceof Error ? error : new Error(String(error)), true);
141
+ });
142
+ resolve();
143
+ }, 200);
102
144
  });
103
- // Give process a moment to start, then send initialize request
104
- // MCP servers don't output anything until client sends first request
105
- await new Promise((resolve) => setTimeout(resolve, 100));
106
145
  try {
107
- // MCP Initialize
108
- await this.sendRequest('initialize', {
109
- protocolVersion: '2024-11-05',
110
- capabilities: {},
111
- clientInfo: { name: 'MAMA', version: '1.0.0' },
112
- });
146
+ // MCP Initialize (bounded timeout to avoid dead startup)
147
+ await Promise.race([
148
+ this.sendRequest('initialize', {
149
+ protocolVersion: '2024-11-05',
150
+ capabilities: {},
151
+ clientInfo: { name: 'MAMA', version: '1.0.0' },
152
+ }),
153
+ new Promise((_, reject) => {
154
+ setTimeout(() => {
155
+ reject(new Error(`MCP initialize timeout after ${DEFAULT_INITIALIZE_TIMEOUT_MS}ms`));
156
+ }, DEFAULT_INITIALIZE_TIMEOUT_MS);
157
+ }),
158
+ ]);
113
159
  this.state = 'ready';
114
160
  logger.info('Codex MCP server ready');
115
161
  }
116
162
  catch (error) {
117
- // Cleanup on initialization failure
118
163
  logger.error('MCP initialization failed:', error);
119
- this.state = 'dead';
120
- this.threadId = null;
121
- if (this.rl) {
122
- this.rl.close();
123
- this.rl = null;
124
- }
125
- if (this.process) {
126
- this.process.kill();
127
- this.process = null;
128
- }
164
+ this.cleanup('MCP initialization failed');
129
165
  throw error;
130
166
  }
131
167
  }
@@ -133,9 +169,17 @@ class CodexMCPProcess extends events_1.EventEmitter {
133
169
  * Send a prompt and get response
134
170
  */
135
171
  async prompt(content, callbacks, options) {
136
- // Ensure process is running
172
+ // Ensure process is running (retry once on failure)
137
173
  if (this.state === 'dead') {
138
- await this.start();
174
+ try {
175
+ await this.start();
176
+ }
177
+ catch (err) {
178
+ logger.warn('First start attempt failed, retrying in 1s:', err);
179
+ this.cleanup('Process restart after failed start');
180
+ await new Promise((r) => setTimeout(r, 1000));
181
+ await this.start();
182
+ }
139
183
  }
140
184
  // Handle resumeSession option
141
185
  if (options?.resumeSession === false) {
@@ -178,13 +222,13 @@ class CodexMCPProcess extends events_1.EventEmitter {
178
222
  if (this.options.compactPrompt) {
179
223
  args['compact-prompt'] = this.options.compactPrompt;
180
224
  }
181
- result = await this.callTool('codex', args);
225
+ result = await this.callToolWithRetry('codex', args);
182
226
  this.threadId = result.threadId;
183
227
  logger.info(`Thread started: ${this.threadId}`);
184
228
  }
185
229
  else {
186
230
  // Subsequent messages: use "codex-reply" tool
187
- result = await this.callTool('codex-reply', {
231
+ result = await this.callToolWithRetry('codex-reply', {
188
232
  threadId: this.threadId,
189
233
  prompt: content,
190
234
  });
@@ -242,29 +286,16 @@ class CodexMCPProcess extends events_1.EventEmitter {
242
286
  * Stop the process
243
287
  */
244
288
  stop() {
245
- if (this.process) {
246
- this.process.kill();
247
- this.process = null;
248
- }
249
- if (this.rl) {
250
- this.rl.close();
251
- this.rl = null;
252
- }
253
- this.state = 'dead';
254
- this.threadId = null;
255
- // Reject all pending requests and clear their timeouts
256
- for (const [, pending] of this.pendingRequests) {
257
- clearTimeout(pending.timeout);
258
- pending.reject(new Error('Process stopped'));
259
- }
260
- this.pendingRequests.clear();
289
+ this.cleanup('Process stopped');
261
290
  logger.info('Process stopped');
262
291
  }
292
+ cleanup(reason = 'Process terminated') {
293
+ this.shutdown(new Error(reason), true);
294
+ }
263
295
  // ============================================================================
264
296
  // Internal methods
265
297
  // ============================================================================
266
298
  async callTool(name, args) {
267
- logger.debug(`[CALL] ${name}`);
268
299
  const response = (await this.sendRequest('tools/call', {
269
300
  name,
270
301
  arguments: args,
@@ -306,6 +337,28 @@ class CodexMCPProcess extends events_1.EventEmitter {
306
337
  logger.warn(`Unexpected callTool response format: ${JSON.stringify(response)}`);
307
338
  return { threadId: this.threadId || '', content: '', usage };
308
339
  }
340
+ async callToolWithRetry(name, args) {
341
+ let attempt = 0;
342
+ while (attempt < 2) {
343
+ attempt += 1;
344
+ try {
345
+ logger.debug(`[CALL] ${name} (attempt=${attempt})`);
346
+ return await this.callTool(name, args);
347
+ }
348
+ catch (error) {
349
+ const err = error instanceof Error ? error : new Error(String(error));
350
+ if (attempt >= 2 || !this.isRetryableToolError(err)) {
351
+ logger.error(`Call failed: ${name} (attempt=${attempt})`, err);
352
+ throw err;
353
+ }
354
+ logger.warn(`Retrying ${name} after recoverable tool error: ${err.message}`);
355
+ this.threadId = null;
356
+ this.cleanup();
357
+ await this.start();
358
+ }
359
+ }
360
+ throw new Error(`Tool call failed after ${attempt} attempts: ${name}`);
361
+ }
309
362
  async sendRequest(method, params) {
310
363
  if (!this.process?.stdin) {
311
364
  throw new Error('Process not running');
@@ -318,15 +371,25 @@ class CodexMCPProcess extends events_1.EventEmitter {
318
371
  params,
319
372
  };
320
373
  return new Promise((resolve, reject) => {
321
- const timeoutMs = this.options.timeoutMs ?? 120000;
374
+ const timeoutMs = this.options.timeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
322
375
  const timeout = setTimeout(() => {
323
- this.pendingRequests.delete(id);
324
- reject(new Error(`Request timeout: ${method}`));
376
+ const timeoutError = new Error(`Request timeout: ${method} (id=${id}, timeoutMs=${timeoutMs})`);
377
+ this.failPendingRequest(id, timeoutError);
378
+ this.shutdown(timeoutError, true);
325
379
  }, timeoutMs);
326
- this.pendingRequests.set(id, { resolve, reject, timeout });
380
+ this.pendingRequests.set(id, { resolve, reject, method, timeout });
327
381
  const line = JSON.stringify(request) + '\n';
328
- this.process.stdin.write(line);
329
- logger.debug(`Sent: ${method} (id=${id})`);
382
+ try {
383
+ this.process.stdin.write(line);
384
+ logger.debug(`Sent: ${method} (id=${id})`);
385
+ }
386
+ catch (error) {
387
+ const requestError = error instanceof Error ? error : new Error(String(error));
388
+ logger.error('Failed to write MCP request:', requestError);
389
+ this.failPendingRequest(id, requestError);
390
+ this.shutdown(requestError, true);
391
+ reject(requestError);
392
+ }
330
393
  });
331
394
  }
332
395
  handleLine(line) {
@@ -352,6 +415,111 @@ class CodexMCPProcess extends events_1.EventEmitter {
352
415
  logger.warn('Failed to parse line:', line.substring(0, 100));
353
416
  }
354
417
  }
418
+ resolveCodexCommand() {
419
+ const configured = [
420
+ this.options.command,
421
+ process.env.MAMA_CODEX_COMMAND,
422
+ process.env.CODEX_COMMAND,
423
+ ];
424
+ for (const candidate of configured) {
425
+ if (!candidate) {
426
+ continue;
427
+ }
428
+ const trimmed = candidate.trim();
429
+ if (!trimmed) {
430
+ continue;
431
+ }
432
+ if (this.isExecutable(trimmed)) {
433
+ return trimmed;
434
+ }
435
+ }
436
+ const fromPath = this.findExecutableInPath('codex');
437
+ if (fromPath) {
438
+ return fromPath;
439
+ }
440
+ const home = (0, os_1.homedir)();
441
+ const fallbackCandidates = [
442
+ (0, path_1.join)(home, '.local', 'bin', 'codex'),
443
+ (0, path_1.join)(home, 'bin', 'codex'),
444
+ '/usr/local/bin/codex',
445
+ '/usr/bin/codex',
446
+ '/opt/homebrew/bin/codex',
447
+ '/bin/codex',
448
+ ];
449
+ for (const candidate of fallbackCandidates) {
450
+ if (this.isExecutable(candidate)) {
451
+ return candidate;
452
+ }
453
+ }
454
+ throw new Error('Codex command not found. Set MAMA_CODEX_COMMAND or CODEX_COMMAND to an executable path, or install codex in PATH.');
455
+ }
456
+ isExecutable(target) {
457
+ try {
458
+ (0, fs_1.accessSync)(target, fs_1.constants.X_OK);
459
+ return true;
460
+ }
461
+ catch {
462
+ return false;
463
+ }
464
+ }
465
+ findExecutableInPath(commandName) {
466
+ const pathValue = process.env.PATH || '';
467
+ if (!pathValue) {
468
+ return null;
469
+ }
470
+ const pathEntries = pathValue
471
+ .split(path_1.delimiter)
472
+ .map((value) => value.trim())
473
+ .filter(Boolean);
474
+ for (const dir of pathEntries) {
475
+ const candidate = (0, path_1.join)(dir, commandName);
476
+ if (this.isExecutable(candidate)) {
477
+ return candidate;
478
+ }
479
+ }
480
+ return null;
481
+ }
482
+ failPendingRequest(id, error) {
483
+ const pending = this.pendingRequests.get(id);
484
+ if (!pending) {
485
+ return;
486
+ }
487
+ clearTimeout(pending.timeout);
488
+ this.pendingRequests.delete(id);
489
+ pending.reject(error);
490
+ }
491
+ clearPendingRequests(error) {
492
+ for (const [, pending] of this.pendingRequests) {
493
+ clearTimeout(pending.timeout);
494
+ pending.reject(new Error(`${error.message} (${pending.method})`));
495
+ }
496
+ this.pendingRequests.clear();
497
+ }
498
+ isRetryableToolError(error) {
499
+ const message = error.message.toLowerCase();
500
+ return (message.includes('request timeout') ||
501
+ message.includes('process is not running') ||
502
+ message.includes('process closed with code') ||
503
+ message.includes('mcp initialize timeout') ||
504
+ message.includes('connection closed') ||
505
+ message.includes('econnreset'));
506
+ }
507
+ shutdown(error, shouldKillProcess) {
508
+ if (this.state === 'dead' && this.pendingRequests.size === 0 && !shouldKillProcess) {
509
+ return;
510
+ }
511
+ this.state = 'dead';
512
+ this.clearPendingRequests(error);
513
+ if (shouldKillProcess && this.process) {
514
+ this.process.kill();
515
+ }
516
+ if (this.rl) {
517
+ this.rl.close();
518
+ this.rl = null;
519
+ }
520
+ this.process = null;
521
+ this.threadId = null;
522
+ }
355
523
  }
356
524
  exports.CodexMCPProcess = CodexMCPProcess;
357
525
  //# sourceMappingURL=codex-mcp-process.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-mcp-process.js","sourceRoot":"","sources":["../../src/agent/codex-mcp-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-mcp-process.js","sourceRoot":"","sources":["../../src/agent/codex-mcp-process.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,20 @@ export interface DiscordGatewayInterface {
19
19
  sendFile(channelId: string, filePath: string, caption?: string): Promise<void>;
20
20
  sendImage(channelId: string, imagePath: string, caption?: string): Promise<void>;
21
21
  }
22
+ /**
23
+ * Slack gateway interface for sending messages and files
24
+ */
25
+ export interface SlackGatewayInterface {
26
+ sendMessage(channelId: string, message: string): Promise<void>;
27
+ sendFile(channelId: string, filePath: string, caption?: string): Promise<void>;
28
+ sendImage(channelId: string, imagePath: string, caption?: string): Promise<void>;
29
+ }
22
30
  export declare class GatewayToolExecutor {
23
31
  private mamaApi;
24
32
  private readonly mamaDbPath?;
25
33
  private sessionStore?;
26
34
  private discordGateway;
35
+ private slackGateway;
27
36
  private browserTool;
28
37
  private roleManager;
29
38
  private currentContext;
@@ -38,6 +47,7 @@ export declare class GatewayToolExecutor {
38
47
  */
39
48
  getAgentContext(): AgentContext | null;
40
49
  setDiscordGateway(gateway: DiscordGatewayInterface): void;
50
+ setSlackGateway(gateway: SlackGatewayInterface): void;
41
51
  /**
42
52
  * Initialize the MAMA API by importing from mcp-server package
43
53
  * Called lazily on first tool execution if not provided in constructor
@@ -99,6 +109,10 @@ export declare class GatewayToolExecutor {
99
109
  * Supports images, documents, and any file type
100
110
  */
101
111
  private executeDiscordSend;
112
+ /**
113
+ * Execute slack_send tool - Send message/file to Slack channel
114
+ */
115
+ private executeSlackSend;
102
116
  /**
103
117
  * Navigate to a URL
104
118
  */
@@ -169,7 +183,7 @@ export declare class GatewayToolExecutor {
169
183
  *
170
184
  * Usage:
171
185
  * - Set role-specific model: { role: 'chat_bot', model: 'claude-3-haiku-20240307' }
172
- * - Set global model: { model: 'claude-sonnet-4-20250514' }
186
+ * - Set global model: { model: 'claude-sonnet-4-6' }
173
187
  */
174
188
  private executeSetModel;
175
189
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-tool-executor.d.ts","sourceRoot":"","sources":["../../src/agent/gateway-tool-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAWjB,0BAA0B,EAU1B,YAAY,EASZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAQpB;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClF;AAuED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IAErC,OAAO,CAAC,YAAY,CAAC,CAAM;IAC3B,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA6B;gBAEvC,OAAO,GAAE,0BAA+B;IAgBpD;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAInD;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAIzD;;;OAGG;YACW,iBAAiB;IAwC/B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;;;;;;OAOG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyGpF;;OAEG;YACW,WAAW;IAgDzB;;OAEG;YACW,aAAa;IAyC3B;;OAEG;YACW,aAAa;IAkC3B;;OAEG;YACW,qBAAqB;IAanC;;;OAGG;YACW,WAAW;IA6DzB;;;OAGG;YACW,YAAY;IAuC1B;;OAEG;YACW,WAAW;IA4FzB;;;OAGG;YACW,kBAAkB;IAsChC;;OAEG;YACW,sBAAsB;IAWpC;;OAEG;YACW,wBAAwB;IAatC;;OAEG;YACW,mBAAmB;IAWjC;;OAEG;YACW,kBAAkB;IAWhC;;OAEG;YACW,qBAAqB;IAanC;;OAEG;YACW,oBAAoB;IAWlC;;OAEG;YACW,qBAAqB;IAWnC;;OAEG;YACW,sBAAsB;IAWpC;;OAEG;YACW,iBAAiB;IAW/B;;OAEG;YACW,mBAAmB;IAajC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;OAGG;YACW,aAAa;IA+E3B;;;OAGG;YACW,qBAAqB;IAwEnC;;;OAGG;YACW,gBAAgB;IAmC9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;;;;;;OAOG;YACW,eAAe;IAiH7B;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAClB;IAEP;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAKV;IAEhB;;OAEG;IACH,oBAAoB,CAClB,QAAQ,EAAE,MAAM,GAAG,CAAC,WAAW,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GACrE,IAAI;IAIP;;OAEG;IACH,qBAAqB,CACnB,QAAQ,EAAE,CACR,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,OAAO,GAAG,MAAM,KACrB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GACjD,IAAI;IAIP;;OAEG;YACW,eAAe;IAkD7B;;;OAGG;YACW,iBAAiB;IA4C/B;;;OAGG;YACW,cAAc;IAuC5B,OAAO,CAAC,UAAU;YAMJ,sBAAsB;IAsHpC,MAAM,CAAC,aAAa,IAAI,eAAe,EAAE;IAIzC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,eAAe;CAGlE"}
1
+ {"version":3,"file":"gateway-tool-executor.d.ts","sourceRoot":"","sources":["../../src/agent/gateway-tool-executor.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ const VALID_TOOLS = [
38
38
  'Write',
39
39
  'Bash',
40
40
  'discord_send',
41
+ 'slack_send',
41
42
  'browser_navigate',
42
43
  'browser_screenshot',
43
44
  'browser_click',
@@ -71,6 +72,7 @@ class GatewayToolExecutor {
71
72
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
73
  sessionStore;
73
74
  discordGateway = null;
75
+ slackGateway = null;
74
76
  browserTool;
75
77
  roleManager;
76
78
  currentContext = null;
@@ -102,6 +104,9 @@ class GatewayToolExecutor {
102
104
  setDiscordGateway(gateway) {
103
105
  this.discordGateway = gateway;
104
106
  }
107
+ setSlackGateway(gateway) {
108
+ this.slackGateway = gateway;
109
+ }
105
110
  /**
106
111
  * Initialize the MAMA API by importing from mcp-server package
107
112
  * Called lazily on first tool execution if not provided in constructor
@@ -205,6 +210,8 @@ class GatewayToolExecutor {
205
210
  return await this.executeBash(input);
206
211
  case 'discord_send':
207
212
  return await this.executeDiscordSend(input);
213
+ case 'slack_send':
214
+ return await this.executeSlackSend(input);
208
215
  // Browser tools
209
216
  case 'browser_navigate':
210
217
  return await this.executeBrowserNavigate(input);
@@ -583,6 +590,33 @@ class GatewayToolExecutor {
583
590
  return { success: false, error: `Failed to send to Discord: ${err}` };
584
591
  }
585
592
  }
593
+ /**
594
+ * Execute slack_send tool - Send message/file to Slack channel
595
+ */
596
+ async executeSlackSend(input) {
597
+ const { channel_id, message, file_path } = input;
598
+ if (!channel_id) {
599
+ return { success: false, error: 'channel_id is required' };
600
+ }
601
+ if (!this.slackGateway) {
602
+ return { success: false, error: 'Slack gateway not configured' };
603
+ }
604
+ try {
605
+ if (file_path) {
606
+ await this.slackGateway.sendFile(channel_id, file_path, message);
607
+ }
608
+ else if (message) {
609
+ await this.slackGateway.sendMessage(channel_id, message);
610
+ }
611
+ else {
612
+ return { success: false, error: 'Either message or file_path is required' };
613
+ }
614
+ return { success: true };
615
+ }
616
+ catch (err) {
617
+ return { success: false, error: `Failed to send to Slack: ${err}` };
618
+ }
619
+ }
586
620
  // ============================================================================
587
621
  // Browser Tool Execution
588
622
  // ============================================================================
@@ -919,7 +953,7 @@ class GatewayToolExecutor {
919
953
  *
920
954
  * Usage:
921
955
  * - Set role-specific model: { role: 'chat_bot', model: 'claude-3-haiku-20240307' }
922
- * - Set global model: { model: 'claude-sonnet-4-20250514' }
956
+ * - Set global model: { model: 'claude-sonnet-4-6' }
923
957
  */
924
958
  async executeSetModel(input) {
925
959
  // Check viewer-only permission
@@ -941,7 +975,7 @@ class GatewayToolExecutor {
941
975
  if (!isValidModel) {
942
976
  return {
943
977
  success: false,
944
- error: `Invalid model name format: ${model}. Expected Claude model format (e.g., claude-sonnet-4-20250514, claude-opus-4-latest)`,
978
+ error: `Invalid model name format: ${model}. Expected Claude model format (e.g., claude-sonnet-4-6, claude-opus-4-latest)`,
945
979
  };
946
980
  }
947
981
  if (maxTurns !== undefined && (maxTurns < 1 || maxTurns > 100)) {
@@ -984,7 +1018,7 @@ class GatewayToolExecutor {
984
1018
  // No role specified - update global agent config
985
1019
  if (!config.agent) {
986
1020
  config.agent = {
987
- model: 'claude-sonnet-4-20250514',
1021
+ model: 'claude-sonnet-4-6',
988
1022
  max_turns: 10,
989
1023
  timeout: 300000,
990
1024
  };