@jungjaehoon/mama-os 0.8.2 → 0.8.5

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 (85) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -1
  3. package/dist/agent/agent-loop.d.ts.map +1 -1
  4. package/dist/agent/agent-loop.js +1 -0
  5. package/dist/agent/agent-loop.js.map +1 -1
  6. package/dist/agent/codex-cli-wrapper.d.ts.map +1 -1
  7. package/dist/agent/codex-cli-wrapper.js +16 -13
  8. package/dist/agent/codex-cli-wrapper.js.map +1 -1
  9. package/dist/agent/types.d.ts +2 -0
  10. package/dist/agent/types.d.ts.map +1 -1
  11. package/dist/agent/types.js.map +1 -1
  12. package/dist/api/graph-api-types.d.ts +2 -0
  13. package/dist/api/graph-api-types.d.ts.map +1 -1
  14. package/dist/api/graph-api.d.ts.map +1 -1
  15. package/dist/api/graph-api.js +141 -12
  16. package/dist/api/graph-api.js.map +1 -1
  17. package/dist/cli/commands/run.d.ts.map +1 -1
  18. package/dist/cli/commands/run.js +1 -0
  19. package/dist/cli/commands/run.js.map +1 -1
  20. package/dist/cli/commands/start.d.ts.map +1 -1
  21. package/dist/cli/commands/start.js +177 -13
  22. package/dist/cli/commands/start.js.map +1 -1
  23. package/dist/cli/config/config-manager.d.ts.map +1 -1
  24. package/dist/cli/config/config-manager.js +68 -3
  25. package/dist/cli/config/config-manager.js.map +1 -1
  26. package/dist/cli/config/types.d.ts +8 -0
  27. package/dist/cli/config/types.d.ts.map +1 -1
  28. package/dist/cli/config/types.js.map +1 -1
  29. package/dist/gateways/discord.d.ts +8 -0
  30. package/dist/gateways/discord.d.ts.map +1 -1
  31. package/dist/gateways/discord.js +133 -24
  32. package/dist/gateways/discord.js.map +1 -1
  33. package/dist/gateways/slack.d.ts +4 -0
  34. package/dist/gateways/slack.d.ts.map +1 -1
  35. package/dist/gateways/slack.js +4 -2
  36. package/dist/gateways/slack.js.map +1 -1
  37. package/dist/multi-agent/agent-message-queue.d.ts +2 -2
  38. package/dist/multi-agent/agent-message-queue.d.ts.map +1 -1
  39. package/dist/multi-agent/agent-message-queue.js.map +1 -1
  40. package/dist/multi-agent/agent-process-manager.d.ts +11 -6
  41. package/dist/multi-agent/agent-process-manager.d.ts.map +1 -1
  42. package/dist/multi-agent/agent-process-manager.js +119 -56
  43. package/dist/multi-agent/agent-process-manager.js.map +1 -1
  44. package/dist/multi-agent/agent-process-pool.d.ts +6 -6
  45. package/dist/multi-agent/agent-process-pool.d.ts.map +1 -1
  46. package/dist/multi-agent/agent-process-pool.js +2 -2
  47. package/dist/multi-agent/agent-process-pool.js.map +1 -1
  48. package/dist/multi-agent/delegation-format-validator.d.ts.map +1 -1
  49. package/dist/multi-agent/delegation-format-validator.js +2 -8
  50. package/dist/multi-agent/delegation-format-validator.js.map +1 -1
  51. package/dist/multi-agent/multi-agent-base.d.ts +2 -2
  52. package/dist/multi-agent/multi-agent-base.d.ts.map +1 -1
  53. package/dist/multi-agent/multi-agent-base.js +23 -10
  54. package/dist/multi-agent/multi-agent-base.js.map +1 -1
  55. package/dist/multi-agent/multi-agent-discord.d.ts +13 -4
  56. package/dist/multi-agent/multi-agent-discord.d.ts.map +1 -1
  57. package/dist/multi-agent/multi-agent-discord.js +171 -50
  58. package/dist/multi-agent/multi-agent-discord.js.map +1 -1
  59. package/dist/multi-agent/multi-agent-slack.d.ts +19 -2
  60. package/dist/multi-agent/multi-agent-slack.d.ts.map +1 -1
  61. package/dist/multi-agent/multi-agent-slack.js +145 -14
  62. package/dist/multi-agent/multi-agent-slack.js.map +1 -1
  63. package/dist/multi-agent/multi-bot-manager.d.ts.map +1 -1
  64. package/dist/multi-agent/multi-bot-manager.js +83 -27
  65. package/dist/multi-agent/multi-bot-manager.js.map +1 -1
  66. package/dist/multi-agent/orchestrator.d.ts +9 -0
  67. package/dist/multi-agent/orchestrator.d.ts.map +1 -1
  68. package/dist/multi-agent/orchestrator.js +49 -15
  69. package/dist/multi-agent/orchestrator.js.map +1 -1
  70. package/dist/multi-agent/pr-review-poller.d.ts +32 -4
  71. package/dist/multi-agent/pr-review-poller.d.ts.map +1 -1
  72. package/dist/multi-agent/pr-review-poller.js +128 -55
  73. package/dist/multi-agent/pr-review-poller.js.map +1 -1
  74. package/dist/multi-agent/runtime-process.d.ts +37 -0
  75. package/dist/multi-agent/runtime-process.d.ts.map +1 -0
  76. package/dist/multi-agent/runtime-process.js +89 -0
  77. package/dist/multi-agent/runtime-process.js.map +1 -0
  78. package/dist/multi-agent/swarm/swarm-task-runner.js.map +1 -1
  79. package/dist/multi-agent/types.d.ts +39 -1
  80. package/dist/multi-agent/types.d.ts.map +1 -1
  81. package/dist/multi-agent/types.js +3 -0
  82. package/dist/multi-agent/types.js.map +1 -1
  83. package/dist/onboarding/phase-7-integrations.js +1 -1
  84. package/package.json +2 -2
  85. package/public/viewer/js/modules/settings.js +101 -3
@@ -8,7 +8,7 @@
8
8
  * Flow:
9
9
  * 1. Agent pushes and posts PR URL in channel
10
10
  * 2. Poller detects URL → starts polling `gh api` every 60s
11
- * 3. New review comments → formatted and sent to Slack as @Sisyphus mention
11
+ * 3. New review comments → posted through callback (e.g., as lightweight reminders)
12
12
  * 4. Sisyphus analyzes severity → delegates fixes to @DevBot
13
13
  * 5. DevBot fixes → @Reviewer → approve or request changes
14
14
  * 6. Poller detects new comments or Approved → loop continues or ends
@@ -55,10 +55,13 @@ const os_1 = require("os");
55
55
  const fs_1 = require("fs");
56
56
  const promises_1 = require("fs/promises");
57
57
  const debugLogger = __importStar(require("@jungjaehoon/mama-core/debug-logger"));
58
+ const message_splitter_js_1 = require("../gateways/message-splitter.js");
58
59
  const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
59
60
  const { DebugLogger } = debugLogger;
60
61
  /** Default polling interval (60 seconds) */
61
62
  const POLL_INTERVAL_MS = 60 * 1000;
63
+ /** Reminder interval for unresolved threads (15 minutes) */
64
+ const REMIND_INTERVAL_MS = 15 * 60 * 1000;
62
65
  /** Max polling duration before auto-stop (2 hours) */
63
66
  const MAX_POLL_DURATION_MS = 2 * 60 * 60 * 1000;
64
67
  /** Marker prefix for auto-reply comments */
@@ -71,6 +74,7 @@ const FIXED_REPLY_PREFIX = '✅ Fixed in';
71
74
  class PRReviewPoller {
72
75
  sessions = new Map();
73
76
  messageSender = null;
77
+ onBatchItem = null;
74
78
  onBatchComplete = null;
75
79
  logger = new DebugLogger('PRReviewPoller');
76
80
  /**
@@ -85,9 +89,16 @@ class PRReviewPoller {
85
89
  setMessageSender(sender) {
86
90
  this.messageSender = sender;
87
91
  }
92
+ /**
93
+ * Set callback fired once per logical poll item (before chunking/sending).
94
+ * Useful for counting poll items and passing compact summaries upstream.
95
+ */
96
+ setOnBatchItem(callback) {
97
+ this.onBatchItem = callback;
98
+ }
88
99
  /**
89
100
  * Set callback fired after all message chunks for a poll cycle are sent.
90
- * Used by Discord handler to trigger agent processing once (not per-chunk).
101
+ * Used by handlers to trigger lead wake-up once per poll cycle (not per-chunk).
91
102
  */
92
103
  setOnBatchComplete(callback) {
93
104
  this.onBatchComplete = callback;
@@ -168,6 +179,7 @@ class PRReviewPoller {
168
179
  seenReviewIds,
169
180
  addressedCommentIds: new Set(),
170
181
  seenUnresolvedThreadIds: new Map(),
182
+ lastUnresolvedReminderAt: 0,
171
183
  lastHeadSha,
172
184
  startedAt: Date.now(),
173
185
  isPolling: false,
@@ -255,8 +267,20 @@ class PRReviewPoller {
255
267
  return;
256
268
  }
257
269
  session.isPolling = true;
258
- // Track if any new data is found (for onBatchComplete trigger)
259
- let hasNewData = false;
270
+ // Track batch items discovered in this poll cycle.
271
+ const cycleDigest = {
272
+ items: [],
273
+ newItems: [],
274
+ reminderItems: [],
275
+ };
276
+ const seenItemIds = new Set();
277
+ const registerItem = async (text, item) => {
278
+ if (!this.addPollerBatchItem(session.channelId, item, cycleDigest, seenItemIds)) {
279
+ return;
280
+ }
281
+ await this.sendMessage(session.channelId, text, item);
282
+ this.logger.info(`[PRPoller] Sent ${item.kind} item for ${sessionKey}${item.isReminder ? ' (reminder)' : ''}: ${item.id}`);
283
+ };
260
284
  try {
261
285
  // Auto-stop after max duration
262
286
  if (Date.now() - session.startedAt > MAX_POLL_DURATION_MS) {
@@ -291,13 +315,20 @@ class PRReviewPoller {
291
315
  for (const review of newReviews) {
292
316
  session.seenReviewIds.add(review.id);
293
317
  if (review.state === 'APPROVED') {
318
+ const summary = `✅ *PR Review* — ${sessionKey} **APPROVED** by ${review.user.login}. Polling stopped.`;
319
+ const item = {
320
+ id: `${sessionKey}:review:${review.id}`,
321
+ kind: 'review',
322
+ severity: 'high',
323
+ summary,
324
+ isReminder: false,
325
+ };
294
326
  try {
295
- await this.sendMessage(session.channelId, `✅ *PR Review* — ${sessionKey} **APPROVED** by ${review.user.login}. Polling stopped.`);
296
- hasNewData = true; // Set flag for APPROVED review
297
- // Trigger onBatchComplete for LEAD agent to handle commit+push
327
+ await registerItem(summary, item);
328
+ // Trigger onBatchComplete for follow-up workflow.
298
329
  if (this.onBatchComplete) {
299
330
  try {
300
- await this.onBatchComplete(session.channelId);
331
+ await this.onBatchComplete(session.channelId, cycleDigest);
301
332
  }
302
333
  catch (err) {
303
334
  this.logger.error(`[PRPoller] onBatchComplete error after APPROVE:`, err);
@@ -313,8 +344,15 @@ class PRReviewPoller {
313
344
  return;
314
345
  }
315
346
  if (review.state === 'CHANGES_REQUESTED') {
316
- await this.sendMessage(session.channelId, `🔴 *PR Review* — ${sessionKey} **CHANGES REQUESTED** by ${review.user.login}`);
317
- hasNewData = true; // Set flag for CHANGES_REQUESTED review
347
+ const summary = `🔴 *PR Review* — ${sessionKey} **CHANGES REQUESTED** by ${review.user.login}`;
348
+ const item = {
349
+ id: `${sessionKey}:review:${review.id}`,
350
+ kind: 'review',
351
+ severity: 'high',
352
+ summary,
353
+ isReminder: false,
354
+ };
355
+ await registerItem(summary, item);
318
356
  }
319
357
  }
320
358
  }
@@ -351,7 +389,7 @@ class PRReviewPoller {
351
389
  // After a push, check unresolved threads and auto-reply to addressed ones
352
390
  if (newPush && changedFiles.length > 0) {
353
391
  try {
354
- await this.handlePostPush(session, sessionKey, changedFiles, allComments);
392
+ await this.handlePostPush(session, changedFiles, allComments);
355
393
  }
356
394
  catch (err) {
357
395
  this.logger.error(`[PRPoller] Failed to handle post-push:`, err);
@@ -364,13 +402,19 @@ class PRReviewPoller {
364
402
  // Format and send new comments
365
403
  const formatted = this.formatComments(sessionKey, newComments);
366
404
  const mention = this.targetAgentUserId ? `<@${this.targetAgentUserId}> ` : '';
367
- await this.sendMessage(session.channelId, `${mention}${formatted}`);
405
+ const summary = `${mention}${formatted}`;
406
+ const item = {
407
+ id: `${sessionKey}:comments:${newComments.map((comment) => comment.id).join(',')}`,
408
+ kind: 'comment',
409
+ severity: this.classifyCommentBatchSeverity(newComments),
410
+ summary: summary,
411
+ isReminder: false,
412
+ };
413
+ await registerItem(summary, item);
368
414
  // Mark as seen only after successful send
369
415
  for (const c of newComments) {
370
416
  session.seenCommentIds.add(c.id);
371
417
  }
372
- // Set flag to trigger onBatchComplete
373
- hasNewData = true;
374
418
  this.logger.info(`[PRPoller] Sent ${newComments.length} new comments for ${sessionKey}`);
375
419
  }
376
420
  }
@@ -382,26 +426,37 @@ class PRReviewPoller {
382
426
  const threads = await this.fetchUnresolvedThreads(session.owner, session.repo, session.prNumber);
383
427
  const allUnresolved = threads.filter((t) => !t.isResolved);
384
428
  const now = Date.now();
385
- const REMIND_INTERVAL_MS = 60 * 1000; // Re-remind after 1 minute
386
- // New = never seen, or seen but still unresolved after remind interval
429
+ // Report unresolved threads only when they are first seen, and remind at bounded intervals.
387
430
  const toReport = allUnresolved.filter((t) => {
388
431
  const lastReported = session.seenUnresolvedThreadIds.get(t.id);
389
- if (!lastReported)
390
- return true; // never reported
391
- return now - lastReported >= REMIND_INTERVAL_MS; // stale reminder
432
+ return !lastReported;
392
433
  });
434
+ const needsReminder = toReport.length === 0 &&
435
+ now - session.lastUnresolvedReminderAt >= REMIND_INTERVAL_MS &&
436
+ allUnresolved.length > 0;
437
+ if (needsReminder) {
438
+ toReport.push(...allUnresolved.slice(0, 20));
439
+ }
393
440
  if (toReport.length > 0) {
394
- hasNewData = true;
395
- // More accurate reminder detection: only if ALL threads are already seen
396
- const seenCount = toReport.filter((t) => session.seenUnresolvedThreadIds.has(t.id)).length;
397
- const isReminder = seenCount === toReport.length && seenCount > 0;
441
+ const isReminder = needsReminder;
398
442
  const prefix = isReminder ? '🔔 *Reminder*: ' : '';
399
443
  const formatted = this.formatUnresolvedThreads(sessionKey, toReport, threads.length);
400
444
  const mention = this.targetAgentUserId ? `<@${this.targetAgentUserId}> ` : '';
401
- await this.sendMessage(session.channelId, `${mention}${prefix}${formatted}`);
445
+ const summary = `${mention}${prefix}${formatted}`;
446
+ const item = {
447
+ id: `${sessionKey}:threads:${toReport.map((thread) => thread.id).join(':')}`,
448
+ kind: 'thread',
449
+ severity: 'high',
450
+ summary,
451
+ isReminder,
452
+ };
453
+ await registerItem(summary, item);
402
454
  for (const t of toReport) {
403
455
  session.seenUnresolvedThreadIds.set(t.id, now);
404
456
  }
457
+ // Update lastUnresolvedReminderAt on all notifications (not just reminders)
458
+ // to prevent immediate reminder on the next poll after initial report
459
+ session.lastUnresolvedReminderAt = now;
405
460
  this.logger.info(`[PRPoller] Sent ${toReport.length} unresolved threads for ${sessionKey}${isReminder ? ' (reminder)' : ''}`);
406
461
  }
407
462
  // Clean up resolved threads from seen map
@@ -416,9 +471,10 @@ class PRReviewPoller {
416
471
  this.logger.error(`[PRPoller] Failed to check unresolved threads:`, err);
417
472
  }
418
473
  // Notify batch complete — triggers agent processing once after all chunks (only when new data found)
419
- if (hasNewData && this.onBatchComplete) {
474
+ if (cycleDigest.newItems.length + cycleDigest.reminderItems.length > 0 &&
475
+ this.onBatchComplete) {
420
476
  try {
421
- await this.onBatchComplete(session.channelId);
477
+ await this.onBatchComplete(session.channelId, cycleDigest);
422
478
  }
423
479
  catch (err) {
424
480
  this.logger.error(`[PRPoller] onBatchComplete error:`, err);
@@ -438,6 +494,29 @@ class PRReviewPoller {
438
494
  * Format PR comments with full details grouped by file.
439
495
  * Enables parallel delegation — independent files can be fixed simultaneously.
440
496
  */
497
+ classifyCommentBatchSeverity(comments) {
498
+ const hasFixHint = comments.some((comment) => comment.body.toLowerCase().includes('must') || comment.body.toLowerCase().includes('fail'));
499
+ return hasFixHint ? 'high' : comments.length > 2 ? 'medium' : 'low';
500
+ }
501
+ addPollerBatchItem(channelId, item, digest, seenItemIds) {
502
+ if (seenItemIds.has(item.id)) {
503
+ return false;
504
+ }
505
+ seenItemIds.add(item.id);
506
+ digest.items.push(item);
507
+ if (item.isReminder) {
508
+ digest.reminderItems.push(item);
509
+ }
510
+ else {
511
+ digest.newItems.push(item);
512
+ }
513
+ if (this.onBatchItem) {
514
+ this.onBatchItem(channelId, this.extractBatchSummary(item.summary), item).catch((err) => {
515
+ this.logger.error('[PRPoller] Failed to report batch item:', err);
516
+ });
517
+ }
518
+ return true;
519
+ }
441
520
  formatComments(sessionKey, comments) {
442
521
  // Group by file
443
522
  const byFile = new Map();
@@ -495,11 +574,11 @@ class PRReviewPoller {
495
574
  }
496
575
  /**
497
576
  * Handle post-push: check unresolved threads, auto-reply to addressed ones,
498
- * and re-inject truly unresolved comments to Slack.
577
+ * and keep unresolved-thread state fresh for the next poll cycle.
499
578
  *
500
579
  * @param allComments - Pre-fetched comments (to avoid N+1 API calls)
501
580
  */
502
- async handlePostPush(session, sessionKey, changedFiles, allComments) {
581
+ async handlePostPush(session, changedFiles, allComments) {
503
582
  const changedFileSet = new Set(changedFiles);
504
583
  // Fetch unresolved threads via GraphQL
505
584
  const threads = await this.fetchUnresolvedThreads(session.owner, session.repo, session.prNumber);
@@ -543,14 +622,10 @@ class PRReviewPoller {
543
622
  this.logger.error(`[PRPoller] Failed to reply to thread:`, err);
544
623
  }
545
624
  }
546
- this.logger.info(`[PRPoller] Auto-replied to ${addressed.length} addressed threads for ${sessionKey}`);
625
+ this.logger.info(`[PRPoller] Auto-replied to ${addressed.length} addressed threads for ${session.owner}/${session.repo}#${session.prNumber}`);
547
626
  }
548
- // Report still-unresolved threads to Slack
549
627
  if (stillUnresolved.length > 0) {
550
- const formatted = this.formatUnresolvedThreads(sessionKey, stillUnresolved, threads.length);
551
- const mention = this.targetAgentUserId ? `<@${this.targetAgentUserId}> ` : '';
552
- await this.sendMessage(session.channelId, `${mention}${formatted}`);
553
- this.logger.info(`[PRPoller] Sent ${stillUnresolved.length} unresolved threads for ${sessionKey}`);
628
+ this.logger.info(`[PRPoller] Detected ${stillUnresolved.length} still-unresolved threads in push context for ${session.owner}/${session.repo}#${session.prNumber}`);
554
629
  }
555
630
  }
556
631
  /**
@@ -829,32 +904,30 @@ class PRReviewPoller {
829
904
  /**
830
905
  * Send message to Slack via callback
831
906
  */
832
- async sendMessage(channelId, text) {
907
+ async sendMessage(channelId, text, _batchItem) {
833
908
  if (!this.messageSender) {
834
909
  this.logger.error('[PRPoller] No message sender configured');
835
- return;
910
+ throw new Error('[PRPoller] No message sender configured');
836
911
  }
837
912
  // Discord has a 2000 char limit; split long messages
838
- this.logger.info(`[PRPoller] sendMessage: ${text.length} chars`);
839
- if (text.length <= 1900) {
840
- await this.messageSender(channelId, text);
841
- return;
842
- }
843
- // Split by lines, keeping chunks under 1900 chars
844
- const lines = text.split('\n');
845
- let chunk = '';
846
- for (const line of lines) {
847
- if (chunk.length + line.length + 1 > 1900) {
848
- if (chunk)
849
- await this.messageSender(channelId, chunk);
850
- chunk = line;
851
- }
852
- else {
853
- chunk += (chunk ? '\n' : '') + line;
854
- }
855
- }
856
- if (chunk)
913
+ const chunks = (0, message_splitter_js_1.splitForDiscord)(text);
914
+ this.logger.info(`[PRPoller] sendMessage split into ${chunks.length} chunk(s)`);
915
+ for (const chunk of chunks) {
857
916
  await this.messageSender(channelId, chunk);
917
+ }
918
+ }
919
+ /**
920
+ * Build a compact, single-line summary for orchestrator wake-up prompts.
921
+ * Keep the text intentionally short to avoid PR wake-up context bloat.
922
+ */
923
+ extractBatchSummary(text) {
924
+ const stripped = text
925
+ .replace(/<@[^>]+>\s*/g, '')
926
+ .replace(/\*\*/g, '')
927
+ .trim()
928
+ .replace(/\s+/g, ' ');
929
+ const maxLength = 320;
930
+ return stripped.length > maxLength ? `${stripped.slice(0, maxLength)}…` : stripped;
858
931
  }
859
932
  }
860
933
  exports.PRReviewPoller = PRReviewPoller;
@@ -1 +1 @@
1
- {"version":3,"file":"pr-review-poller.js","sourceRoot":"","sources":["../../src/multi-agent/pr-review-poller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-review-poller.js","sourceRoot":"","sources":["../../src/multi-agent/pr-review-poller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { EventEmitter } from 'events';
2
+ import type { PromptCallbacks as ClaudePromptCallbacks, PromptResult as ClaudePromptResult } from '../agent/persistent-cli-process.js';
3
+ export interface AgentRuntimeProcess {
4
+ sendMessage(content: string, callbacks?: ClaudePromptCallbacks): Promise<ClaudePromptResult>;
5
+ isReady(): boolean;
6
+ stop(): void;
7
+ on(event: 'idle' | 'close' | 'error', listener: (...args: unknown[]) => void): this;
8
+ }
9
+ export interface CodexRuntimeProcessOptions {
10
+ model?: string;
11
+ systemPrompt?: string;
12
+ codexHome?: string;
13
+ cwd?: string;
14
+ sandbox?: 'read-only' | 'workspace-write' | 'danger-full-access';
15
+ profile?: string;
16
+ ephemeral?: boolean;
17
+ addDirs?: string[];
18
+ configOverrides?: string[];
19
+ skipGitRepoCheck?: boolean;
20
+ requestTimeout?: number;
21
+ }
22
+ /**
23
+ * Session-persistent Codex wrapper with the same minimal contract used by
24
+ * multi-agent runtime (sendMessage/isReady/stop + idle events).
25
+ */
26
+ export declare class CodexRuntimeProcess extends EventEmitter implements AgentRuntimeProcess {
27
+ private wrapper;
28
+ private state;
29
+ private seeded;
30
+ private stoppedDuringExecution;
31
+ private readonly systemPrompt?;
32
+ constructor(options: CodexRuntimeProcessOptions);
33
+ sendMessage(content: string, callbacks?: ClaudePromptCallbacks): Promise<ClaudePromptResult>;
34
+ isReady(): boolean;
35
+ stop(): void;
36
+ }
37
+ //# sourceMappingURL=runtime-process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-process.d.ts","sourceRoot":"","sources":["../../src/multi-agent/runtime-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,KAAK,EACV,eAAe,IAAI,qBAAqB,EACxC,YAAY,IAAI,kBAAkB,EACnC,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7F,OAAO,IAAI,OAAO,CAAC;IACnB,IAAI,IAAI,IAAI,CAAC;IACb,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CACrF;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAa,YAAW,mBAAmB;IAClF,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;gBAE3B,OAAO,EAAE,0BAA0B;IAmBzC,WAAW,CACf,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,qBAAqB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IAkD9B,OAAO,IAAI,OAAO;IAIlB,IAAI,IAAI,IAAI;CAKb"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CodexRuntimeProcess = void 0;
4
+ const events_1 = require("events");
5
+ const codex_cli_wrapper_js_1 = require("../agent/codex-cli-wrapper.js");
6
+ /**
7
+ * Session-persistent Codex wrapper with the same minimal contract used by
8
+ * multi-agent runtime (sendMessage/isReady/stop + idle events).
9
+ */
10
+ class CodexRuntimeProcess extends events_1.EventEmitter {
11
+ wrapper;
12
+ state = 'idle';
13
+ seeded = false;
14
+ stoppedDuringExecution = false;
15
+ systemPrompt;
16
+ constructor(options) {
17
+ super();
18
+ const wrapperOptions = {
19
+ model: options.model,
20
+ systemPrompt: undefined,
21
+ codexHome: options.codexHome,
22
+ cwd: options.cwd,
23
+ sandbox: options.sandbox,
24
+ profile: options.profile,
25
+ ephemeral: options.ephemeral,
26
+ addDirs: options.addDirs,
27
+ configOverrides: options.configOverrides,
28
+ skipGitRepoCheck: options.skipGitRepoCheck,
29
+ timeoutMs: options.requestTimeout,
30
+ };
31
+ this.wrapper = new codex_cli_wrapper_js_1.CodexCLIWrapper(wrapperOptions);
32
+ this.systemPrompt = options.systemPrompt;
33
+ }
34
+ async sendMessage(content, callbacks) {
35
+ if (this.state === 'dead') {
36
+ throw new Error('Process is dead');
37
+ }
38
+ if (this.state === 'busy') {
39
+ throw new Error('Process is busy with another request');
40
+ }
41
+ this.state = 'busy';
42
+ try {
43
+ const prompt = !this.seeded && this.systemPrompt ? `${this.systemPrompt}\n\n${content}` : content;
44
+ const codexCallbacks = callbacks
45
+ ? {
46
+ onDelta: callbacks.onDelta,
47
+ onToolUse: callbacks.onToolUse,
48
+ onError: callbacks.onError,
49
+ }
50
+ : undefined;
51
+ const result = await this.wrapper.prompt(prompt, codexCallbacks, {
52
+ resumeSession: this.seeded,
53
+ });
54
+ this.seeded = true;
55
+ const normalized = {
56
+ response: result.response,
57
+ usage: {
58
+ input_tokens: result.usage.input_tokens,
59
+ output_tokens: result.usage.output_tokens,
60
+ cache_creation_input_tokens: result.usage.cache_creation_input_tokens,
61
+ cache_read_input_tokens: result.usage.cache_read_input_tokens,
62
+ },
63
+ session_id: result.session_id || this.wrapper.getSessionId(),
64
+ cost_usd: result.cost_usd,
65
+ toolUseBlocks: undefined,
66
+ hasToolUse: false,
67
+ };
68
+ callbacks?.onFinal?.({ content: normalized.response, toolUseBlocks: [] });
69
+ return normalized;
70
+ }
71
+ finally {
72
+ // Only reset to idle if not stopped during execution
73
+ if (!this.stoppedDuringExecution) {
74
+ this.state = 'idle';
75
+ this.emit('idle');
76
+ }
77
+ }
78
+ }
79
+ isReady() {
80
+ return this.state === 'idle';
81
+ }
82
+ stop() {
83
+ this.stoppedDuringExecution = this.state === 'busy';
84
+ this.state = 'dead';
85
+ this.emit('close', 0);
86
+ }
87
+ }
88
+ exports.CodexRuntimeProcess = CodexRuntimeProcess;
89
+ //# sourceMappingURL=runtime-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-process.js","sourceRoot":"","sources":["../../src/multi-agent/runtime-process.ts"],"names":[],"mappings":"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"}