overmind-mcp 2.3.1 → 2.3.3

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 (66) hide show
  1. package/dist/index.d.ts +0 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +0 -5
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/orchestration/dispatcher.d.ts +3 -3
  6. package/dist/lib/orchestration/dispatcher.d.ts.map +1 -1
  7. package/dist/lib/orchestration/dispatcher.js +35 -75
  8. package/dist/lib/orchestration/dispatcher.js.map +1 -1
  9. package/dist/lib/telemetry.d.ts +17 -5
  10. package/dist/lib/telemetry.d.ts.map +1 -1
  11. package/dist/lib/telemetry.js +20 -65
  12. package/dist/lib/telemetry.js.map +1 -1
  13. package/dist/memory/MemoryFactory.js +1 -1
  14. package/dist/memory/MemoryFactory.js.map +1 -1
  15. package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
  16. package/dist/memory/PostgresMemoryProvider.js +1 -1
  17. package/dist/memory/PostgresMemoryProvider.js.map +1 -1
  18. package/dist/services/AgentManager.d.ts.map +1 -1
  19. package/dist/services/AgentManager.js +1 -1
  20. package/dist/services/AgentManager.js.map +1 -1
  21. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  22. package/dist/services/ClaudeRunner.js +4 -13
  23. package/dist/services/ClaudeRunner.js.map +1 -1
  24. package/dist/services/GeminiRunner.d.ts.map +1 -1
  25. package/dist/services/GeminiRunner.js.map +1 -1
  26. package/dist/services/KiloRunner.d.ts.map +1 -1
  27. package/dist/services/KiloRunner.js.map +1 -1
  28. package/dist/tools/run_agents_parallel.d.ts +3 -3
  29. package/package.json +114 -125
  30. package/scripts/auto-install.mjs +0 -5
  31. package/scripts/uninstall.mjs +2 -15
  32. package/dist/bin/rabbitmq-worker.d.ts +0 -2
  33. package/dist/bin/rabbitmq-worker.d.ts.map +0 -1
  34. package/dist/bin/rabbitmq-worker.js +0 -63
  35. package/dist/bin/rabbitmq-worker.js.map +0 -1
  36. package/dist/bin/temporal-worker.d.ts +0 -2
  37. package/dist/bin/temporal-worker.d.ts.map +0 -1
  38. package/dist/bin/temporal-worker.js +0 -24
  39. package/dist/bin/temporal-worker.js.map +0 -1
  40. package/dist/lib/broker/rabbitmq.d.ts +0 -28
  41. package/dist/lib/broker/rabbitmq.d.ts.map +0 -1
  42. package/dist/lib/broker/rabbitmq.js +0 -67
  43. package/dist/lib/broker/rabbitmq.js.map +0 -1
  44. package/dist/lib/broker/rabbitmqDispatch.d.ts +0 -23
  45. package/dist/lib/broker/rabbitmqDispatch.d.ts.map +0 -1
  46. package/dist/lib/broker/rabbitmqDispatch.js +0 -77
  47. package/dist/lib/broker/rabbitmqDispatch.js.map +0 -1
  48. package/dist/lib/workflow/temporal/activities.d.ts +0 -15
  49. package/dist/lib/workflow/temporal/activities.d.ts.map +0 -1
  50. package/dist/lib/workflow/temporal/activities.js +0 -18
  51. package/dist/lib/workflow/temporal/activities.js.map +0 -1
  52. package/dist/lib/workflow/temporal/client.d.ts +0 -8
  53. package/dist/lib/workflow/temporal/client.d.ts.map +0 -1
  54. package/dist/lib/workflow/temporal/client.js +0 -48
  55. package/dist/lib/workflow/temporal/client.js.map +0 -1
  56. package/dist/lib/workflow/temporal/dispatch.d.ts +0 -13
  57. package/dist/lib/workflow/temporal/dispatch.d.ts.map +0 -1
  58. package/dist/lib/workflow/temporal/dispatch.js +0 -19
  59. package/dist/lib/workflow/temporal/dispatch.js.map +0 -1
  60. package/dist/lib/workflow/temporal/workflows.d.ts +0 -31
  61. package/dist/lib/workflow/temporal/workflows.d.ts.map +0 -1
  62. package/dist/lib/workflow/temporal/workflows.js +0 -79
  63. package/dist/lib/workflow/temporal/workflows.js.map +0 -1
  64. package/docs/ASYNC_AGENT_INTEGRATION.md +0 -311
  65. package/docs/INDEX.md +0 -149
  66. package/docs/tools.md +0 -819
@@ -1,63 +0,0 @@
1
- import { getBroker } from '../lib/broker/rabbitmq.js';
2
- import { runAgent } from '../tools/run_agent.js';
3
- let shuttingDown = false;
4
- async function main() {
5
- const broker = getBroker();
6
- if (!broker) {
7
- console.error('RabbitMQ broker not available (set OVERMIND_BROKER=rabbitmq)');
8
- process.exit(1);
9
- }
10
- await broker.connect();
11
- console.log('[worker] Connected to RabbitMQ, consuming from overmind.tasks');
12
- await broker.consumeTasks(async (taskMsg, ack, nack) => {
13
- if (shuttingDown)
14
- return nack();
15
- console.log(`[worker] Received task ${taskMsg.taskId} (corr: ${taskMsg.correlationId})`);
16
- try {
17
- const result = await runAgent({
18
- runner: taskMsg.runner,
19
- prompt: taskMsg.prompt,
20
- agentName: taskMsg.agentName,
21
- model: taskMsg.model,
22
- path: taskMsg.path,
23
- autoResume: false,
24
- silent: false,
25
- });
26
- const taskResult = {
27
- taskId: taskMsg.taskId,
28
- correlationId: taskMsg.correlationId,
29
- success: !result.isError,
30
- result: result.content,
31
- error: result.isError ? String(result.content) : undefined,
32
- };
33
- await broker.publishResult(taskResult);
34
- console.log(`[worker] Published result for ${taskMsg.taskId}`);
35
- ack();
36
- }
37
- catch (err) {
38
- const taskResult = {
39
- taskId: taskMsg.taskId,
40
- correlationId: taskMsg.correlationId,
41
- success: false,
42
- error: err instanceof Error ? err.message : String(err),
43
- };
44
- await broker.publishResult(taskResult);
45
- nack();
46
- }
47
- });
48
- const shutdown = async (signal) => {
49
- console.log(`\n[worker] Received ${signal}, shutting down gracefully...`);
50
- shuttingDown = true;
51
- await new Promise((resolve) => setTimeout(resolve, 1000));
52
- await broker.close();
53
- console.log('[worker] Connection closed, exiting');
54
- process.exit(0);
55
- };
56
- process.on('SIGINT', () => shutdown('SIGINT'));
57
- process.on('SIGTERM', () => shutdown('SIGTERM'));
58
- }
59
- main().catch((err) => {
60
- console.error('[worker] Fatal error:', err);
61
- process.exit(1);
62
- });
63
- //# sourceMappingURL=rabbitmq-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rabbitmq-worker.js","sourceRoot":"","sources":["../../src/bin/rabbitmq-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAE7E,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAoB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAClE,IAAI,YAAY;YAAE,OAAO,IAAI,EAAE,CAAC;QAEhC,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,MAAM,WAAW,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;QAEzF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAkD;gBAClE,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,MAAM,UAAU,GAAe;gBAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO;gBACxB,MAAM,EAAE,MAAM,CAAC,OAAO;gBACtB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3D,CAAC;YAEF,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/D,GAAG,EAAE,CAAC;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAe;gBAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC;YACF,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,+BAA+B,CAAC,CAAC;QAC1E,YAAY,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=temporal-worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"temporal-worker.d.ts","sourceRoot":"","sources":["../../src/bin/temporal-worker.ts"],"names":[],"mappings":""}
@@ -1,24 +0,0 @@
1
- import { Worker } from '@temporalio/worker';
2
- import * as activities from '../lib/workflow/temporal/activities.js';
3
- async function run() {
4
- const worker = await Worker.create({
5
- workflowsPath: require.resolve('../lib/workflow/temporal/workflows.js'),
6
- activities,
7
- taskQueue: 'overmind-agents',
8
- });
9
- console.log('Temporal worker started on taskQueue: overmind-agents');
10
- await worker.run();
11
- }
12
- run().catch((err) => {
13
- console.error('Temporal worker failed:', err);
14
- process.exit(1);
15
- });
16
- process.on('SIGINT', () => {
17
- console.log('Shutting down Temporal worker...');
18
- process.exit(0);
19
- });
20
- process.on('SIGTERM', () => {
21
- console.log('Shutting down Temporal worker...');
22
- process.exit(0);
23
- });
24
- //# sourceMappingURL=temporal-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"temporal-worker.js","sourceRoot":"","sources":["../../src/bin/temporal-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,wCAAwC,CAAC;AAErE,KAAK,UAAU,GAAG;IAChB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QACjC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC;QACvE,UAAU;QACV,SAAS,EAAE,iBAAiB;KAC7B,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAClB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,28 +0,0 @@
1
- export interface TaskMessage {
2
- taskId: string;
3
- runner: string;
4
- prompt: string;
5
- agentName?: string;
6
- model?: string;
7
- path?: string;
8
- correlationId: string;
9
- }
10
- export interface TaskResult {
11
- taskId: string;
12
- correlationId: string;
13
- success: boolean;
14
- result?: unknown;
15
- error?: string;
16
- }
17
- export declare class RabbitMQBroker {
18
- private connection;
19
- private channel;
20
- connect(): Promise<void>;
21
- publishTask(msg: TaskMessage): Promise<void>;
22
- consumeResults(handler: (r: TaskResult) => void): Promise<void>;
23
- consumeTasks(handler: (msg: TaskMessage, ack: () => void, nack: () => void) => Promise<void>): Promise<void>;
24
- publishResult(result: TaskResult): Promise<void>;
25
- close(): Promise<void>;
26
- }
27
- export declare function getBroker(): RabbitMQBroker | null;
28
- //# sourceMappingURL=rabbitmq.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rabbitmq.d.ts","sourceRoot":"","sources":["../../../src/lib/broker/rabbitmq.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,OAAO,CAAwB;IAEjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,YAAY,CAChB,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAC9E,OAAO,CAAC,IAAI,CAAC;IAiBV,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B;AAID,wBAAgB,SAAS,IAAI,cAAc,GAAG,IAAI,CAQjD"}
@@ -1,67 +0,0 @@
1
- import amqp from 'amqplib';
2
- const TASKS_QUEUE = 'overmind.tasks';
3
- const RESULTS_QUEUE = 'overmind.results';
4
- export class RabbitMQBroker {
5
- connection = null;
6
- channel = null;
7
- async connect() {
8
- const url = process.env.RABBITMQ_URL || 'amqp://localhost';
9
- this.connection = await amqp.connect(url);
10
- this.channel = await this.connection.createChannel();
11
- await this.channel.assertQueue(TASKS_QUEUE, { durable: true });
12
- await this.channel.assertQueue(RESULTS_QUEUE, { durable: true });
13
- }
14
- async publishTask(msg) {
15
- if (!this.channel)
16
- throw new Error('Not connected');
17
- this.channel.sendToQueue(TASKS_QUEUE, Buffer.from(JSON.stringify(msg)), {
18
- persistent: true,
19
- });
20
- }
21
- async consumeResults(handler) {
22
- if (!this.channel)
23
- throw new Error('Not connected');
24
- const ch = this.channel;
25
- await ch.consume(RESULTS_QUEUE, (msg) => {
26
- if (msg) {
27
- const result = JSON.parse(msg.content.toString());
28
- handler(result);
29
- ch.ack(msg);
30
- }
31
- });
32
- }
33
- async consumeTasks(handler) {
34
- if (!this.channel)
35
- throw new Error('Not connected');
36
- await this.channel.consume(TASKS_QUEUE, async (msg) => {
37
- if (!msg)
38
- return;
39
- const taskMsg = JSON.parse(msg.content.toString());
40
- await handler(taskMsg, () => this.channel.ack(msg), () => this.channel.nack(msg));
41
- }, { noAck: false });
42
- }
43
- async publishResult(result) {
44
- if (!this.channel)
45
- throw new Error('Not connected');
46
- this.channel.sendToQueue(RESULTS_QUEUE, Buffer.from(JSON.stringify(result)), {
47
- persistent: true,
48
- });
49
- }
50
- async close() {
51
- await this.channel?.close();
52
- await this.connection?.close();
53
- this.channel = null;
54
- this.connection = null;
55
- }
56
- }
57
- let brokerInstance = null;
58
- export function getBroker() {
59
- if (process.env.OVERMIND_BROKER === 'rabbitmq') {
60
- if (!brokerInstance) {
61
- brokerInstance = new RabbitMQBroker();
62
- }
63
- return brokerInstance;
64
- }
65
- return null;
66
- }
67
- //# sourceMappingURL=rabbitmq.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rabbitmq.js","sourceRoot":"","sources":["../../../src/lib/broker/rabbitmq.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- export interface DispatchOptions {
2
- waitAll?: boolean;
3
- timeoutMs?: number;
4
- }
5
- interface AgentTask {
6
- runner: string;
7
- prompt: string;
8
- agentName?: string;
9
- model?: string;
10
- path?: string;
11
- taskId?: string;
12
- [key: string]: unknown;
13
- }
14
- export interface TaskDispatchResult {
15
- taskId: string;
16
- success: boolean;
17
- result?: unknown;
18
- error?: string;
19
- durationMs: number;
20
- }
21
- export declare function dispatchViaRabbitMQ(agents: AgentTask[], opts?: DispatchOptions): Promise<TaskDispatchResult[]>;
22
- export {};
23
- //# sourceMappingURL=rabbitmqDispatch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rabbitmqDispatch.d.ts","sourceRoot":"","sources":["../../../src/lib/broker/rabbitmqDispatch.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EAAE,EACnB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA0F/B"}
@@ -1,77 +0,0 @@
1
- import { randomUUID } from 'crypto';
2
- import { getBroker } from './rabbitmq.js';
3
- export async function dispatchViaRabbitMQ(agents, opts = {}) {
4
- const { waitAll = true, timeoutMs = 15 * 60 * 1000 } = opts;
5
- const broker = getBroker();
6
- if (!broker) {
7
- throw new Error('RabbitMQ broker not available (set OVERMIND_BROKER=rabbitmq)');
8
- }
9
- await broker.connect();
10
- const tasks = agents.map((agent) => ({
11
- correlationId: randomUUID(),
12
- agent,
13
- label: agent.taskId || agent.agentName || agent.runner,
14
- startTime: Date.now(),
15
- }));
16
- // Publish all task messages
17
- await Promise.all(tasks.map((t) => broker.publishTask({
18
- taskId: t.label,
19
- runner: t.agent.runner,
20
- prompt: t.agent.prompt,
21
- agentName: t.agent.agentName,
22
- model: t.agent.model,
23
- path: t.agent.path,
24
- correlationId: t.correlationId,
25
- })));
26
- const results = new Map();
27
- let consumeDone = false;
28
- const consumePromise = new Promise((resolve) => {
29
- broker.consumeResults((result) => {
30
- const entry = tasks.find((t) => t.correlationId === result.correlationId);
31
- if (!entry)
32
- return;
33
- const durationMs = Date.now() - entry.startTime;
34
- results.set(result.correlationId, {
35
- taskId: result.taskId,
36
- success: result.success,
37
- result: result.result,
38
- error: result.error,
39
- durationMs,
40
- });
41
- if (!waitAll && results.size === 1) {
42
- consumeDone = true;
43
- resolve();
44
- }
45
- else if (results.size === tasks.length) {
46
- resolve();
47
- }
48
- });
49
- });
50
- const timeoutPromise = new Promise((_, reject) => {
51
- setTimeout(() => {
52
- if (!consumeDone) {
53
- reject(new Error(`RabbitMQ dispatch timed out after ${timeoutMs}ms`));
54
- }
55
- }, timeoutMs);
56
- });
57
- try {
58
- await Promise.race([consumePromise, timeoutPromise]);
59
- }
60
- finally {
61
- await broker.close();
62
- }
63
- // Return in original order
64
- return tasks.map((t) => {
65
- const r = results.get(t.correlationId);
66
- if (!r) {
67
- return {
68
- taskId: t.label,
69
- success: false,
70
- error: 'No result received',
71
- durationMs: Date.now() - t.startTime,
72
- };
73
- }
74
- return r;
75
- });
76
- }
77
- //# sourceMappingURL=rabbitmqDispatch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rabbitmqDispatch.js","sourceRoot":"","sources":["../../../src/lib/broker/rabbitmqDispatch.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { Context } from '@temporalio/activity';
2
- export interface RunAgentActivityInput {
3
- runner: string;
4
- prompt: string;
5
- agentName?: string;
6
- model?: string;
7
- path?: string;
8
- }
9
- export interface RunAgentActivityOutput {
10
- success: boolean;
11
- result?: string;
12
- error?: string;
13
- }
14
- export declare function runAgentActivity(input: RunAgentActivityInput, _context: Context): Promise<RunAgentActivityOutput>;
15
- //# sourceMappingURL=activities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activities.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/temporal/activities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,qBAAqB,EAC5B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,sBAAsB,CAAC,CAgBjC"}
@@ -1,18 +0,0 @@
1
- export async function runAgentActivity(input, _context) {
2
- const { runAgent } = await import('../../../tools/run_agent.js');
3
- const res = await runAgent({
4
- runner: input.runner,
5
- prompt: input.prompt,
6
- agentName: input.agentName,
7
- model: input.model,
8
- path: input.path,
9
- autoResume: false,
10
- silent: false,
11
- });
12
- return {
13
- success: !res.isError,
14
- result: res.content?.[0]?.text,
15
- error: res.isError ? res.content?.[0]?.text : undefined,
16
- };
17
- }
18
- //# sourceMappingURL=activities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activities.js","sourceRoot":"","sources":["../../../../src/lib/workflow/temporal/activities.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAA4B,EAC5B,QAAiB;IAEjB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;QACzB,MAAM,EAAE,KAAK,CAAC,MAAkD;QAChE,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO;QACrB,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;QAC9B,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;KACxD,CAAC;AACJ,CAAC"}
@@ -1,8 +0,0 @@
1
- import { Client, WorkflowHandle } from '@temporalio/client';
2
- import { orchestrateAgentsWorkflow, longRunningWorkflow } from './workflows.js';
3
- import type { AgentConfig, LongRunningWorkflowInput } from './workflows.js';
4
- export declare function getTemporalClient(): Client | null;
5
- export declare function startAgentsWorkflow(agents: AgentConfig[]): Promise<WorkflowHandle<typeof orchestrateAgentsWorkflow>>;
6
- export declare function startLongRunningWorkflow(input: LongRunningWorkflowInput): Promise<WorkflowHandle<typeof longRunningWorkflow>>;
7
- export declare function getLongRunningWorkflowHandle(workflowId: string): Promise<WorkflowHandle<typeof longRunningWorkflow>>;
8
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/temporal/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAI5E,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAajD;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC,cAAc,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAY3D;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAcrD;AAED,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAOrD"}
@@ -1,48 +0,0 @@
1
- import { Client, Connection } from '@temporalio/client';
2
- import { orchestrateAgentsWorkflow, longRunningWorkflow } from './workflows.js';
3
- let _client = null;
4
- export function getTemporalClient() {
5
- if (process.env.OVERMIND_WORKFLOW !== 'temporal') {
6
- return null;
7
- }
8
- if (_client) {
9
- return _client;
10
- }
11
- const address = process.env.TEMPORAL_ADDRESS ?? 'localhost:7233';
12
- const connection = Connection.lazy({ address });
13
- _client = new Client({ connection });
14
- return _client;
15
- }
16
- export async function startAgentsWorkflow(agents) {
17
- const client = getTemporalClient();
18
- if (!client) {
19
- throw new Error('Temporal client not initialized. Set OVERMIND_WORKFLOW=temporal');
20
- }
21
- return client.workflow.start(orchestrateAgentsWorkflow, {
22
- args: [agents],
23
- taskQueue: 'overmind-agents',
24
- workflowId: `agents-${Date.now()}`,
25
- workflowRunTimeout: '30 minutes',
26
- });
27
- }
28
- export async function startLongRunningWorkflow(input) {
29
- const client = getTemporalClient();
30
- if (!client) {
31
- throw new Error('Temporal client not initialized. Set OVERMIND_WORKFLOW=temporal');
32
- }
33
- const workflowId = `long-running-${Date.now()}`;
34
- return client.workflow.start(longRunningWorkflow, {
35
- args: [input],
36
- taskQueue: 'overmind-agents',
37
- workflowId,
38
- workflowRunTimeout: '7 days', // Workflows pouvant durer jusqu'à 7 jours
39
- });
40
- }
41
- export async function getLongRunningWorkflowHandle(workflowId) {
42
- const client = getTemporalClient();
43
- if (!client) {
44
- throw new Error('Temporal client not initialized. Set OVERMIND_WORKFLOW=temporal');
45
- }
46
- return client.workflow.getHandle(workflowId);
47
- }
48
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/lib/workflow/temporal/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGhF,IAAI,OAAO,GAAkB,IAAI,CAAC;AAElC,MAAM,UAAU,iBAAiB;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;IACjE,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,OAAO,GAAG,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAqB;IAErB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,yBAAyB,EAAE;QACtD,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;QAClC,kBAAkB,EAAE,YAAY;KACjC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAA+B;IAE/B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAEhD,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,EAAE;QAChD,IAAI,EAAE,CAAC,KAAK,CAAC;QACb,SAAS,EAAE,iBAAiB;QAC5B,UAAU;QACV,kBAAkB,EAAE,QAAQ,EAAE,0CAA0C;KACzE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,UAAkB;IAElB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { AgentConfig } from './workflows.js';
2
- export interface DispatchResult {
3
- taskId: string;
4
- success: boolean;
5
- result?: string;
6
- error?: string;
7
- durationMs?: number;
8
- }
9
- export interface DispatchOptions {
10
- timeout?: number;
11
- }
12
- export declare function dispatchViaTemporal(agents: AgentConfig[], _opts?: DispatchOptions): Promise<DispatchResult[]>;
13
- //# sourceMappingURL=dispatch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/temporal/dispatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,CAAC,EAAE,eAAe,GACtB,OAAO,CAAC,cAAc,EAAE,CAAC,CAsB3B"}
@@ -1,19 +0,0 @@
1
- import { getTemporalClient, startAgentsWorkflow } from './client.js';
2
- export async function dispatchViaTemporal(agents, _opts) {
3
- const client = getTemporalClient();
4
- if (!client) {
5
- throw new Error('Temporal client not initialized. Set OVERMIND_WORKFLOW=temporal');
6
- }
7
- const startTime = Date.now();
8
- const handle = await startAgentsWorkflow(agents);
9
- const results = (await handle.result());
10
- const durationMs = Date.now() - startTime;
11
- return results.map((res, i) => ({
12
- taskId: `agent-${i}`,
13
- success: res.success,
14
- result: res.result,
15
- error: res.error,
16
- durationMs,
17
- }));
18
- }
19
- //# sourceMappingURL=dispatch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../../src/lib/workflow/temporal/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAerE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAqB,EACrB,KAAuB;IAEvB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAInC,CAAC;IACJ,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,SAAS,CAAC,EAAE;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,UAAU;KACX,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,31 +0,0 @@
1
- export interface AgentConfig {
2
- runner: string;
3
- prompt: string;
4
- agentName?: string;
5
- model?: string;
6
- path?: string;
7
- }
8
- export declare function orchestrateAgentsWorkflow(agents: AgentConfig[]): Promise<unknown[]>;
9
- export interface TaskBatch {
10
- id: string;
11
- tasks: AgentConfig[];
12
- status: 'pending' | 'running' | 'completed' | 'failed';
13
- startedAt?: number;
14
- completedAt?: number;
15
- results?: unknown[];
16
- errors?: string[];
17
- }
18
- export interface LongRunningWorkflowInput {
19
- batches: TaskBatch[];
20
- maxParallelBatches?: number;
21
- batchTimeout?: string;
22
- }
23
- export interface LongRunningWorkflowState {
24
- totalBatches: number;
25
- completedBatches: number;
26
- failedBatches: number;
27
- currentBatch?: string;
28
- errors: string[];
29
- }
30
- export declare function longRunningWorkflow(input: LongRunningWorkflowInput): Promise<void>;
31
- //# sourceMappingURL=workflows.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/temporal/workflows.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAYzF;AAID,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAUD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqExF"}
@@ -1,79 +0,0 @@
1
- import { proxyActivities, defineSignal, defineQuery, setHandler, condition } from '@temporalio/workflow';
2
- const activities = proxyActivities({
3
- startToCloseTimeout: '15 minutes',
4
- retry: {
5
- maximumAttempts: 2,
6
- },
7
- });
8
- export async function orchestrateAgentsWorkflow(agents) {
9
- return Promise.all(agents.map((agent) => activities.runAgentActivity({
10
- runner: agent.runner,
11
- prompt: agent.prompt,
12
- agentName: agent.agentName,
13
- model: agent.model,
14
- path: agent.path,
15
- })));
16
- }
17
- // Signals pour contrôle externe
18
- const cancelSignal = defineSignal('cancel');
19
- const pauseSignal = defineSignal('pause');
20
- const resumeSignal = defineSignal('resume');
21
- // Query pour état en temps réel
22
- const stateQuery = defineQuery('state');
23
- export async function longRunningWorkflow(input) {
24
- const { batches } = input;
25
- const state = {
26
- totalBatches: batches.length,
27
- completedBatches: 0,
28
- failedBatches: 0,
29
- errors: [],
30
- };
31
- let cancelled = false;
32
- let paused = false;
33
- // Gestionnaires de signaux
34
- setHandler(cancelSignal, () => {
35
- cancelled = true;
36
- });
37
- setHandler(pauseSignal, () => {
38
- paused = true;
39
- });
40
- setHandler(resumeSignal, () => {
41
- paused = false;
42
- });
43
- setHandler(stateQuery, () => state);
44
- // Exécuter les batches avec parallélisme limitée
45
- for (let i = 0; i < batches.length; i++) {
46
- if (cancelled) {
47
- state.errors.push('Workflow annulé par signal externe');
48
- break;
49
- }
50
- // Attendre si paused
51
- await condition(() => !paused);
52
- const batch = batches[i];
53
- state.currentBatch = batch.id;
54
- batch.status = 'running';
55
- batch.startedAt = Date.now();
56
- try {
57
- const results = await Promise.all(batch.tasks.map((task) => activities.runAgentActivity({
58
- runner: task.runner,
59
- prompt: task.prompt,
60
- agentName: task.agentName,
61
- model: task.model,
62
- path: task.path,
63
- })));
64
- batch.status = 'completed';
65
- batch.completedAt = Date.now();
66
- batch.results = results;
67
- state.completedBatches++;
68
- }
69
- catch (error) {
70
- batch.status = 'failed';
71
- batch.completedAt = Date.now();
72
- batch.errors = [error instanceof Error ? error.message : String(error)];
73
- state.failedBatches++;
74
- state.errors.push(batch.errors[0]);
75
- }
76
- }
77
- state.currentBatch = undefined;
78
- }
79
- //# sourceMappingURL=workflows.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../../src/lib/workflow/temporal/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGzG,MAAM,UAAU,GAAG,eAAe,CAI/B;IACD,mBAAmB,EAAE,YAAY;IACjC,KAAK,EAAE;QACL,eAAe,EAAE,CAAC;KACnB;CACF,CAAC,CAAC;AAUH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAqB;IACnE,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,UAAU,CAAC,gBAAgB,CAAC;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CACH,CACF,CAAC;AACJ,CAAC;AA4BD,gCAAgC;AAChC,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAC1C,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAE5C,gCAAgC;AAChC,MAAM,UAAU,GAAG,WAAW,CAA2B,OAAO,CAAC,CAAC;AAElE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA+B;IACvE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,KAAK,GAA6B;QACtC,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,2BAA2B;IAC3B,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE;QAC5B,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE;QAC3B,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE;QAC5B,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAEpC,iDAAiD;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACxD,MAAM;QACR,CAAC;QAED,qBAAqB;QACrB,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAE/B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,UAAU,CAAC,gBAAgB,CAAC;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CACH,CACF,CAAC;YAEF,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;YAC3B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACxB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;YACxB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,KAAK,CAAC,aAAa,EAAE,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;AACjC,CAAC"}