agentic-flow 3.3.0 → 3.4.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.
@@ -23,15 +23,7 @@ export declare const p2pSwarmConnectTool: {
23
23
  agentId: z.ZodOptional<z.ZodString>;
24
24
  swarmKey: z.ZodOptional<z.ZodString>;
25
25
  enableExecutor: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
26
- }, "strip", z.ZodTypeAny, {
27
- agentId?: string;
28
- swarmKey?: string;
29
- enableExecutor?: boolean;
30
- }, {
31
- agentId?: string;
32
- swarmKey?: string;
33
- enableExecutor?: boolean;
34
- }>;
26
+ }, z.core.$strip>;
35
27
  execute: (params: {
36
28
  agentId?: string;
37
29
  swarmKey?: string;
@@ -66,7 +58,7 @@ export declare const p2pSwarmConnectTool: {
66
58
  export declare const p2pSwarmStatusTool: {
67
59
  name: string;
68
60
  description: string;
69
- schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
61
+ schema: z.ZodObject<{}, z.core.$strip>;
70
62
  execute: () => Promise<{
71
63
  success: boolean;
72
64
  error: string;
@@ -99,11 +91,7 @@ export declare const p2pSwarmMembersTool: {
99
91
  description: string;
100
92
  schema: z.ZodObject<{
101
93
  includeOffline: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
102
- }, "strip", z.ZodTypeAny, {
103
- includeOffline?: boolean;
104
- }, {
105
- includeOffline?: boolean;
106
- }>;
94
+ }, z.core.$strip>;
107
95
  execute: (params: {
108
96
  includeOffline?: boolean;
109
97
  }) => Promise<{
@@ -133,14 +121,8 @@ export declare const p2pSwarmPublishTool: {
133
121
  description: string;
134
122
  schema: z.ZodObject<{
135
123
  topic: z.ZodString;
136
- payload: z.ZodAny;
137
- }, "strip", z.ZodTypeAny, {
138
- topic?: string;
139
- payload?: any;
140
- }, {
141
- topic?: string;
142
- payload?: any;
143
- }>;
124
+ payload: z.ZodOptional<z.ZodAny>;
125
+ }, z.core.$strip>;
144
126
  execute: (params: {
145
127
  topic: string;
146
128
  payload: any;
@@ -164,11 +146,7 @@ export declare const p2pSwarmSubscribeTool: {
164
146
  description: string;
165
147
  schema: z.ZodObject<{
166
148
  topic: z.ZodString;
167
- }, "strip", z.ZodTypeAny, {
168
- topic?: string;
169
- }, {
170
- topic?: string;
171
- }>;
149
+ }, z.core.$strip>;
172
150
  execute: (params: {
173
151
  topic: string;
174
152
  }) => Promise<{
@@ -190,12 +168,8 @@ export declare const p2pSwarmSyncQTableTool: {
190
168
  name: string;
191
169
  description: string;
192
170
  schema: z.ZodObject<{
193
- qTable: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
194
- }, "strip", z.ZodTypeAny, {
195
- qTable?: number[][];
196
- }, {
197
- qTable?: number[][];
198
- }>;
171
+ qTable: z.ZodArray<z.ZodArray<z.ZodNumber>>;
172
+ }, z.core.$strip>;
199
173
  execute: (params: {
200
174
  qTable: number[][];
201
175
  }) => Promise<{
@@ -221,15 +195,9 @@ export declare const p2pSwarmSyncMemoryTool: {
221
195
  name: string;
222
196
  description: string;
223
197
  schema: z.ZodObject<{
224
- vectors: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
198
+ vectors: z.ZodArray<z.ZodArray<z.ZodNumber>>;
225
199
  namespace: z.ZodDefault<z.ZodOptional<z.ZodString>>;
226
- }, "strip", z.ZodTypeAny, {
227
- namespace?: string;
228
- vectors?: number[][];
229
- }, {
230
- namespace?: string;
231
- vectors?: number[][];
232
- }>;
200
+ }, z.core.$strip>;
233
201
  execute: (params: {
234
202
  vectors: number[][];
235
203
  namespace?: string;
@@ -262,21 +230,7 @@ export declare const p2pSwarmSubmitTaskTool: {
262
230
  fuelLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
263
231
  memoryMB: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
264
232
  timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
265
- }, "strip", z.ZodTypeAny, {
266
- moduleCID?: string;
267
- entrypoint?: string;
268
- inputCID?: string;
269
- fuelLimit?: number;
270
- memoryMB?: number;
271
- timeoutMs?: number;
272
- }, {
273
- moduleCID?: string;
274
- entrypoint?: string;
275
- inputCID?: string;
276
- fuelLimit?: number;
277
- memoryMB?: number;
278
- timeoutMs?: number;
279
- }>;
233
+ }, z.core.$strip>;
280
234
  execute: (params: {
281
235
  moduleCID: string;
282
236
  inputCID: string;
@@ -306,7 +260,7 @@ export declare const p2pSwarmSubmitTaskTool: {
306
260
  export declare const p2pSwarmStartExecutorTool: {
307
261
  name: string;
308
262
  description: string;
309
- schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
263
+ schema: z.ZodObject<{}, z.core.$strip>;
310
264
  execute: () => Promise<{
311
265
  success: boolean;
312
266
  error: string;
@@ -323,7 +277,7 @@ export declare const p2pSwarmStartExecutorTool: {
323
277
  export declare const p2pSwarmStopExecutorTool: {
324
278
  name: string;
325
279
  description: string;
326
- schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
280
+ schema: z.ZodObject<{}, z.core.$strip>;
327
281
  execute: () => Promise<{
328
282
  success: boolean;
329
283
  error: string;
@@ -340,7 +294,7 @@ export declare const p2pSwarmStopExecutorTool: {
340
294
  export declare const p2pSwarmDisconnectTool: {
341
295
  name: string;
342
296
  description: string;
343
- schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
297
+ schema: z.ZodObject<{}, z.core.$strip>;
344
298
  execute: () => Promise<{
345
299
  success: boolean;
346
300
  message: string;
@@ -352,7 +306,7 @@ export declare const p2pSwarmDisconnectTool: {
352
306
  export declare const p2pSwarmKeygenTool: {
353
307
  name: string;
354
308
  description: string;
355
- schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
309
+ schema: z.ZodObject<{}, z.core.$strip>;
356
310
  execute: () => Promise<{
357
311
  success: boolean;
358
312
  swarmKey: string;
@@ -366,15 +320,7 @@ export declare const p2pSwarmTools: ({
366
320
  agentId: z.ZodOptional<z.ZodString>;
367
321
  swarmKey: z.ZodOptional<z.ZodString>;
368
322
  enableExecutor: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
369
- }, "strip", z.ZodTypeAny, {
370
- agentId?: string;
371
- swarmKey?: string;
372
- enableExecutor?: boolean;
373
- }, {
374
- agentId?: string;
375
- swarmKey?: string;
376
- enableExecutor?: boolean;
377
- }>;
323
+ }, z.core.$strip>;
378
324
  execute: (params: {
379
325
  agentId?: string;
380
326
  swarmKey?: string;
@@ -405,7 +351,7 @@ export declare const p2pSwarmTools: ({
405
351
  } | {
406
352
  name: string;
407
353
  description: string;
408
- schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
354
+ schema: z.ZodObject<{}, z.core.$strip>;
409
355
  execute: () => Promise<{
410
356
  success: boolean;
411
357
  error: string;
@@ -434,11 +380,7 @@ export declare const p2pSwarmTools: ({
434
380
  description: string;
435
381
  schema: z.ZodObject<{
436
382
  includeOffline: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
437
- }, "strip", z.ZodTypeAny, {
438
- includeOffline?: boolean;
439
- }, {
440
- includeOffline?: boolean;
441
- }>;
383
+ }, z.core.$strip>;
442
384
  execute: (params: {
443
385
  includeOffline?: boolean;
444
386
  }) => Promise<{
@@ -464,14 +406,8 @@ export declare const p2pSwarmTools: ({
464
406
  description: string;
465
407
  schema: z.ZodObject<{
466
408
  topic: z.ZodString;
467
- payload: z.ZodAny;
468
- }, "strip", z.ZodTypeAny, {
469
- topic?: string;
470
- payload?: any;
471
- }, {
472
- topic?: string;
473
- payload?: any;
474
- }>;
409
+ payload: z.ZodOptional<z.ZodAny>;
410
+ }, z.core.$strip>;
475
411
  execute: (params: {
476
412
  topic: string;
477
413
  payload: any;
@@ -491,11 +427,7 @@ export declare const p2pSwarmTools: ({
491
427
  description: string;
492
428
  schema: z.ZodObject<{
493
429
  topic: z.ZodString;
494
- }, "strip", z.ZodTypeAny, {
495
- topic?: string;
496
- }, {
497
- topic?: string;
498
- }>;
430
+ }, z.core.$strip>;
499
431
  execute: (params: {
500
432
  topic: string;
501
433
  }) => Promise<{
@@ -513,12 +445,8 @@ export declare const p2pSwarmTools: ({
513
445
  name: string;
514
446
  description: string;
515
447
  schema: z.ZodObject<{
516
- qTable: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
517
- }, "strip", z.ZodTypeAny, {
518
- qTable?: number[][];
519
- }, {
520
- qTable?: number[][];
521
- }>;
448
+ qTable: z.ZodArray<z.ZodArray<z.ZodNumber>>;
449
+ }, z.core.$strip>;
522
450
  execute: (params: {
523
451
  qTable: number[][];
524
452
  }) => Promise<{
@@ -540,15 +468,9 @@ export declare const p2pSwarmTools: ({
540
468
  name: string;
541
469
  description: string;
542
470
  schema: z.ZodObject<{
543
- vectors: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
471
+ vectors: z.ZodArray<z.ZodArray<z.ZodNumber>>;
544
472
  namespace: z.ZodDefault<z.ZodOptional<z.ZodString>>;
545
- }, "strip", z.ZodTypeAny, {
546
- namespace?: string;
547
- vectors?: number[][];
548
- }, {
549
- namespace?: string;
550
- vectors?: number[][];
551
- }>;
473
+ }, z.core.$strip>;
552
474
  execute: (params: {
553
475
  vectors: number[][];
554
476
  namespace?: string;
@@ -577,21 +499,7 @@ export declare const p2pSwarmTools: ({
577
499
  fuelLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
578
500
  memoryMB: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
579
501
  timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
580
- }, "strip", z.ZodTypeAny, {
581
- moduleCID?: string;
582
- entrypoint?: string;
583
- inputCID?: string;
584
- fuelLimit?: number;
585
- memoryMB?: number;
586
- timeoutMs?: number;
587
- }, {
588
- moduleCID?: string;
589
- entrypoint?: string;
590
- inputCID?: string;
591
- fuelLimit?: number;
592
- memoryMB?: number;
593
- timeoutMs?: number;
594
- }>;
502
+ }, z.core.$strip>;
595
503
  execute: (params: {
596
504
  moduleCID: string;
597
505
  inputCID: string;
@@ -617,7 +525,7 @@ export declare const p2pSwarmTools: ({
617
525
  } | {
618
526
  name: string;
619
527
  description: string;
620
- schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
528
+ schema: z.ZodObject<{}, z.core.$strip>;
621
529
  execute: () => Promise<{
622
530
  success: boolean;
623
531
  error: string;
@@ -630,7 +538,7 @@ export declare const p2pSwarmTools: ({
630
538
  } | {
631
539
  name: string;
632
540
  description: string;
633
- schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
541
+ schema: z.ZodObject<{}, z.core.$strip>;
634
542
  execute: () => Promise<{
635
543
  success: boolean;
636
544
  message: string;
@@ -638,7 +546,7 @@ export declare const p2pSwarmTools: ({
638
546
  } | {
639
547
  name: string;
640
548
  description: string;
641
- schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
549
+ schema: z.ZodObject<{}, z.core.$strip>;
642
550
  execute: () => Promise<{
643
551
  success: boolean;
644
552
  swarmKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"p2p-swarm-tools.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/fastmcp/tools/swarm/p2p-swarm-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p2p-swarm-tools.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/fastmcp/tools/swarm/p2p-swarm-tools.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,7 @@ export const p2pSwarmPublishTool = {
126
126
  description: 'Publish a signed and encrypted message to a swarm topic',
127
127
  schema: z.object({
128
128
  topic: z.string().describe('Topic to publish to'),
129
- payload: z.any().describe('Message payload (will be JSON serialized)'),
129
+ payload: z.any().optional().describe('Message payload (will be JSON serialized)'),
130
130
  }),
131
131
  execute: async (params) => {
132
132
  if (!swarmInstance) {
@@ -1 +1 @@
1
- {"version":3,"file":"p2p-swarm-tools.js","sourceRoot":"","sources":["../../../../../src/mcp/fastmcp/tools/swarm/p2p-swarm-tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * P2P Swarm V2 MCP Tools\n *\n * Production-grade P2P swarm coordination exposed as MCP tools.\n * Provides decentralized coordination, task execution, and learning sync.\n *\n * Features:\n * - Ed25519/X25519 cryptography\n * - GunDB relay coordination\n * - Task execution with claim resolution\n * - Heartbeat-based liveness\n * - Verified member registry\n */\n\nimport { z } from 'zod';\nimport { P2PSwarmV2, createP2PSwarmV2 } from '../../../../swarm/p2p-swarm-v2.js';\nimport { logger } from '../../../../utils/logger.js';\n\n// Global swarm instance for MCP tools\nlet swarmInstance: P2PSwarmV2 | null = null;\n\n/**\n * Get or create swarm instance\n */\nasync function getSwarm(agentId?: string, swarmKey?: string): Promise<P2PSwarmV2> {\n if (!swarmInstance) {\n const id = agentId || `mcp-agent-${Date.now().toString(36)}`;\n swarmInstance = await createP2PSwarmV2(id, swarmKey);\n }\n return swarmInstance;\n}\n\n/**\n * P2P Swarm Connect Tool\n */\nexport const p2pSwarmConnectTool = {\n name: 'p2p_swarm_connect',\n description: 'Connect to a P2P swarm for decentralized coordination',\n schema: z.object({\n agentId: z.string().optional().describe('Agent ID (auto-generated if not provided)'),\n swarmKey: z.string().optional().describe('Swarm key to join existing swarm'),\n enableExecutor: z.boolean().optional().default(false).describe('Enable task executor'),\n }),\n execute: async (params: {\n agentId?: string;\n swarmKey?: string;\n enableExecutor?: boolean;\n }) => {\n try {\n const swarm = await getSwarm(params.agentId, params.swarmKey);\n\n if (params.enableExecutor) {\n swarm.startTaskExecutor();\n }\n\n const status = swarm.getStatus();\n\n return {\n success: true,\n connected: status.connected,\n agentId: status.agentId,\n swarmId: status.swarmId,\n swarmKey: swarm.getSwarmKey(),\n relays: status.relays,\n executorEnabled: params.enableExecutor || false,\n };\n } catch (error) {\n logger.error('Failed to connect to swarm', { error });\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Status Tool\n */\nexport const p2pSwarmStatusTool = {\n name: 'p2p_swarm_status',\n description: 'Get current P2P swarm status including live members',\n schema: z.object({}),\n execute: async () => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n const status = swarmInstance.getStatus();\n const liveMembers = swarmInstance.getLiveMembers();\n\n return {\n success: true,\n ...status,\n liveMembers,\n liveMemberCount: swarmInstance.getLiveMemberCount(),\n };\n },\n};\n\n/**\n * P2P Swarm Members Tool\n */\nexport const p2pSwarmMembersTool = {\n name: 'p2p_swarm_members',\n description: 'List swarm members with their capabilities and liveness',\n schema: z.object({\n includeOffline: z.boolean().optional().default(false).describe('Include offline members'),\n }),\n execute: async (params: { includeOffline?: boolean }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n const members = swarmInstance.getLiveMembers();\n const filtered = params.includeOffline ? members : members.filter(m => m.isAlive);\n\n return {\n success: true,\n count: filtered.length,\n liveCount: filtered.filter(m => m.isAlive).length,\n members: filtered.map(m => ({\n agentId: m.agentId,\n capabilities: m.capabilities,\n isAlive: m.isAlive,\n lastSeenAgo: Math.round((Date.now() - m.lastSeen) / 1000),\n })),\n };\n },\n};\n\n/**\n * P2P Swarm Publish Tool\n */\nexport const p2pSwarmPublishTool = {\n name: 'p2p_swarm_publish',\n description: 'Publish a signed and encrypted message to a swarm topic',\n schema: z.object({\n topic: z.string().describe('Topic to publish to'),\n payload: z.any().describe('Message payload (will be JSON serialized)'),\n }),\n execute: async (params: { topic: string; payload: any }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n try {\n const messageId = await swarmInstance.publish(params.topic, params.payload);\n return {\n success: true,\n messageId,\n topic: params.topic,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Subscribe Tool\n */\nexport const p2pSwarmSubscribeTool = {\n name: 'p2p_swarm_subscribe',\n description: 'Subscribe to a swarm topic (messages delivered via callback)',\n schema: z.object({\n topic: z.string().describe('Topic to subscribe to'),\n }),\n execute: async (params: { topic: string }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n // Note: In MCP context, we return success but messages are handled internally\n // For real-time messages, use the streaming MCP transport\n swarmInstance.subscribe(params.topic, (data, from) => {\n logger.info('Swarm message received', { topic: params.topic, from, data });\n });\n\n return {\n success: true,\n subscribed: params.topic,\n note: 'Messages will be logged. Use streaming transport for real-time delivery.',\n };\n },\n};\n\n/**\n * P2P Swarm Sync Q-Table Tool\n */\nexport const p2pSwarmSyncQTableTool = {\n name: 'p2p_swarm_sync_qtable',\n description: 'Sync a Q-table to the swarm for distributed learning',\n schema: z.object({\n qTable: z.array(z.array(z.number())).describe('2D array Q-table'),\n }),\n execute: async (params: { qTable: number[][] }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n try {\n const pointer = await swarmInstance.syncQTable(params.qTable);\n return {\n success: true,\n cid: pointer.cid,\n dimensions: pointer.dimensions,\n checksum: pointer.checksum,\n timestamp: pointer.timestamp,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Sync Memory Tool\n */\nexport const p2pSwarmSyncMemoryTool = {\n name: 'p2p_swarm_sync_memory',\n description: 'Sync memory vectors to the swarm',\n schema: z.object({\n vectors: z.array(z.array(z.number())).describe('2D array of vectors'),\n namespace: z.string().optional().default('default').describe('Memory namespace'),\n }),\n execute: async (params: { vectors: number[][]; namespace?: string }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n try {\n const pointer = await swarmInstance.syncMemory(params.vectors, params.namespace || 'default');\n return {\n success: true,\n cid: pointer.cid,\n namespace: params.namespace || 'default',\n dimensions: pointer.dimensions,\n checksum: pointer.checksum,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Submit Task Tool\n */\nexport const p2pSwarmSubmitTaskTool = {\n name: 'p2p_swarm_submit_task',\n description: 'Submit a task for distributed execution',\n schema: z.object({\n moduleCID: z.string().describe('CID of WASM module'),\n inputCID: z.string().describe('CID of input data'),\n entrypoint: z.string().optional().default('main').describe('Entrypoint function'),\n fuelLimit: z.number().optional().default(1000000).describe('Fuel limit'),\n memoryMB: z.number().optional().default(64).describe('Memory limit in MB'),\n timeoutMs: z.number().optional().default(30000).describe('Timeout in ms'),\n }),\n execute: async (params: {\n moduleCID: string;\n inputCID: string;\n entrypoint?: string;\n fuelLimit?: number;\n memoryMB?: number;\n timeoutMs?: number;\n }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n try {\n const taskId = `task-${Date.now().toString(36)}`;\n const messageId = await swarmInstance.submitTask({\n taskId,\n moduleCID: params.moduleCID,\n inputCID: params.inputCID,\n entrypoint: params.entrypoint || 'main',\n outputSchemaHash: '',\n budgets: {\n fuelLimit: params.fuelLimit || 1000000,\n memoryMB: params.memoryMB || 64,\n timeoutMs: params.timeoutMs || 30000,\n },\n });\n\n return {\n success: true,\n taskId,\n messageId,\n moduleCID: params.moduleCID,\n inputCID: params.inputCID,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Start Executor Tool\n */\nexport const p2pSwarmStartExecutorTool = {\n name: 'p2p_swarm_start_executor',\n description: 'Start the task executor to process distributed tasks',\n schema: z.object({}),\n execute: async () => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n swarmInstance.startTaskExecutor();\n return {\n success: true,\n message: 'Task executor started. Listening for tasks.',\n };\n },\n};\n\n/**\n * P2P Swarm Stop Executor Tool\n */\nexport const p2pSwarmStopExecutorTool = {\n name: 'p2p_swarm_stop_executor',\n description: 'Stop the task executor',\n schema: z.object({}),\n execute: async () => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm.',\n };\n }\n\n swarmInstance.stopTaskExecutor();\n return {\n success: true,\n message: 'Task executor stopped.',\n };\n },\n};\n\n/**\n * P2P Swarm Disconnect Tool\n */\nexport const p2pSwarmDisconnectTool = {\n name: 'p2p_swarm_disconnect',\n description: 'Disconnect from the P2P swarm',\n schema: z.object({}),\n execute: async () => {\n if (swarmInstance) {\n swarmInstance.disconnect();\n swarmInstance = null;\n return {\n success: true,\n message: 'Disconnected from swarm.',\n };\n }\n return {\n success: true,\n message: 'Not connected to swarm.',\n };\n },\n};\n\n/**\n * P2P Swarm Keygen Tool\n */\nexport const p2pSwarmKeygenTool = {\n name: 'p2p_swarm_keygen',\n description: 'Generate a new swarm key for creating a new swarm',\n schema: z.object({}),\n execute: async () => {\n const crypto = await import('crypto');\n const key = crypto.randomBytes(32).toString('base64');\n return {\n success: true,\n swarmKey: key,\n usage: `Use with p2p_swarm_connect: { swarmKey: \"${key}\" }`,\n };\n },\n};\n\n// Export all tools as array for MCP registration\nexport const p2pSwarmTools = [\n p2pSwarmConnectTool,\n p2pSwarmStatusTool,\n p2pSwarmMembersTool,\n p2pSwarmPublishTool,\n p2pSwarmSubscribeTool,\n p2pSwarmSyncQTableTool,\n p2pSwarmSyncMemoryTool,\n p2pSwarmSubmitTaskTool,\n p2pSwarmStartExecutorTool,\n p2pSwarmStopExecutorTool,\n p2pSwarmDisconnectTool,\n p2pSwarmKeygenTool,\n];\n\n// Export singleton accessor\nexport function getP2PSwarmInstance(): P2PSwarmV2 | null {\n return swarmInstance;\n}\n\nexport function setP2PSwarmInstance(instance: P2PSwarmV2): void {\n swarmInstance = instance;\n}\n"]}
1
+ {"version":3,"file":"p2p-swarm-tools.js","sourceRoot":"","sources":["../../../../../src/mcp/fastmcp/tools/swarm/p2p-swarm-tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * P2P Swarm V2 MCP Tools\n *\n * Production-grade P2P swarm coordination exposed as MCP tools.\n * Provides decentralized coordination, task execution, and learning sync.\n *\n * Features:\n * - Ed25519/X25519 cryptography\n * - GunDB relay coordination\n * - Task execution with claim resolution\n * - Heartbeat-based liveness\n * - Verified member registry\n */\n\nimport { z } from 'zod';\nimport { P2PSwarmV2, createP2PSwarmV2 } from '../../../../swarm/p2p-swarm-v2.js';\nimport { logger } from '../../../../utils/logger.js';\n\n// Global swarm instance for MCP tools\nlet swarmInstance: P2PSwarmV2 | null = null;\n\n/**\n * Get or create swarm instance\n */\nasync function getSwarm(agentId?: string, swarmKey?: string): Promise<P2PSwarmV2> {\n if (!swarmInstance) {\n const id = agentId || `mcp-agent-${Date.now().toString(36)}`;\n swarmInstance = await createP2PSwarmV2(id, swarmKey);\n }\n return swarmInstance;\n}\n\n/**\n * P2P Swarm Connect Tool\n */\nexport const p2pSwarmConnectTool = {\n name: 'p2p_swarm_connect',\n description: 'Connect to a P2P swarm for decentralized coordination',\n schema: z.object({\n agentId: z.string().optional().describe('Agent ID (auto-generated if not provided)'),\n swarmKey: z.string().optional().describe('Swarm key to join existing swarm'),\n enableExecutor: z.boolean().optional().default(false).describe('Enable task executor'),\n }),\n execute: async (params: {\n agentId?: string;\n swarmKey?: string;\n enableExecutor?: boolean;\n }) => {\n try {\n const swarm = await getSwarm(params.agentId, params.swarmKey);\n\n if (params.enableExecutor) {\n swarm.startTaskExecutor();\n }\n\n const status = swarm.getStatus();\n\n return {\n success: true,\n connected: status.connected,\n agentId: status.agentId,\n swarmId: status.swarmId,\n swarmKey: swarm.getSwarmKey(),\n relays: status.relays,\n executorEnabled: params.enableExecutor || false,\n };\n } catch (error) {\n logger.error('Failed to connect to swarm', { error });\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Status Tool\n */\nexport const p2pSwarmStatusTool = {\n name: 'p2p_swarm_status',\n description: 'Get current P2P swarm status including live members',\n schema: z.object({}),\n execute: async () => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n const status = swarmInstance.getStatus();\n const liveMembers = swarmInstance.getLiveMembers();\n\n return {\n success: true,\n ...status,\n liveMembers,\n liveMemberCount: swarmInstance.getLiveMemberCount(),\n };\n },\n};\n\n/**\n * P2P Swarm Members Tool\n */\nexport const p2pSwarmMembersTool = {\n name: 'p2p_swarm_members',\n description: 'List swarm members with their capabilities and liveness',\n schema: z.object({\n includeOffline: z.boolean().optional().default(false).describe('Include offline members'),\n }),\n execute: async (params: { includeOffline?: boolean }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n const members = swarmInstance.getLiveMembers();\n const filtered = params.includeOffline ? members : members.filter(m => m.isAlive);\n\n return {\n success: true,\n count: filtered.length,\n liveCount: filtered.filter(m => m.isAlive).length,\n members: filtered.map(m => ({\n agentId: m.agentId,\n capabilities: m.capabilities,\n isAlive: m.isAlive,\n lastSeenAgo: Math.round((Date.now() - m.lastSeen) / 1000),\n })),\n };\n },\n};\n\n/**\n * P2P Swarm Publish Tool\n */\nexport const p2pSwarmPublishTool = {\n name: 'p2p_swarm_publish',\n description: 'Publish a signed and encrypted message to a swarm topic',\n schema: z.object({\n topic: z.string().describe('Topic to publish to'),\n payload: z.any().optional().describe('Message payload (will be JSON serialized)'),\n }),\n execute: async (params: { topic: string; payload: any }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n try {\n const messageId = await swarmInstance.publish(params.topic, params.payload);\n return {\n success: true,\n messageId,\n topic: params.topic,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Subscribe Tool\n */\nexport const p2pSwarmSubscribeTool = {\n name: 'p2p_swarm_subscribe',\n description: 'Subscribe to a swarm topic (messages delivered via callback)',\n schema: z.object({\n topic: z.string().describe('Topic to subscribe to'),\n }),\n execute: async (params: { topic: string }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n // Note: In MCP context, we return success but messages are handled internally\n // For real-time messages, use the streaming MCP transport\n swarmInstance.subscribe(params.topic, (data, from) => {\n logger.info('Swarm message received', { topic: params.topic, from, data });\n });\n\n return {\n success: true,\n subscribed: params.topic,\n note: 'Messages will be logged. Use streaming transport for real-time delivery.',\n };\n },\n};\n\n/**\n * P2P Swarm Sync Q-Table Tool\n */\nexport const p2pSwarmSyncQTableTool = {\n name: 'p2p_swarm_sync_qtable',\n description: 'Sync a Q-table to the swarm for distributed learning',\n schema: z.object({\n qTable: z.array(z.array(z.number())).describe('2D array Q-table'),\n }),\n execute: async (params: { qTable: number[][] }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n try {\n const pointer = await swarmInstance.syncQTable(params.qTable);\n return {\n success: true,\n cid: pointer.cid,\n dimensions: pointer.dimensions,\n checksum: pointer.checksum,\n timestamp: pointer.timestamp,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Sync Memory Tool\n */\nexport const p2pSwarmSyncMemoryTool = {\n name: 'p2p_swarm_sync_memory',\n description: 'Sync memory vectors to the swarm',\n schema: z.object({\n vectors: z.array(z.array(z.number())).describe('2D array of vectors'),\n namespace: z.string().optional().default('default').describe('Memory namespace'),\n }),\n execute: async (params: { vectors: number[][]; namespace?: string }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n try {\n const pointer = await swarmInstance.syncMemory(params.vectors, params.namespace || 'default');\n return {\n success: true,\n cid: pointer.cid,\n namespace: params.namespace || 'default',\n dimensions: pointer.dimensions,\n checksum: pointer.checksum,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Submit Task Tool\n */\nexport const p2pSwarmSubmitTaskTool = {\n name: 'p2p_swarm_submit_task',\n description: 'Submit a task for distributed execution',\n schema: z.object({\n moduleCID: z.string().describe('CID of WASM module'),\n inputCID: z.string().describe('CID of input data'),\n entrypoint: z.string().optional().default('main').describe('Entrypoint function'),\n fuelLimit: z.number().optional().default(1000000).describe('Fuel limit'),\n memoryMB: z.number().optional().default(64).describe('Memory limit in MB'),\n timeoutMs: z.number().optional().default(30000).describe('Timeout in ms'),\n }),\n execute: async (params: {\n moduleCID: string;\n inputCID: string;\n entrypoint?: string;\n fuelLimit?: number;\n memoryMB?: number;\n timeoutMs?: number;\n }) => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n try {\n const taskId = `task-${Date.now().toString(36)}`;\n const messageId = await swarmInstance.submitTask({\n taskId,\n moduleCID: params.moduleCID,\n inputCID: params.inputCID,\n entrypoint: params.entrypoint || 'main',\n outputSchemaHash: '',\n budgets: {\n fuelLimit: params.fuelLimit || 1000000,\n memoryMB: params.memoryMB || 64,\n timeoutMs: params.timeoutMs || 30000,\n },\n });\n\n return {\n success: true,\n taskId,\n messageId,\n moduleCID: params.moduleCID,\n inputCID: params.inputCID,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n },\n};\n\n/**\n * P2P Swarm Start Executor Tool\n */\nexport const p2pSwarmStartExecutorTool = {\n name: 'p2p_swarm_start_executor',\n description: 'Start the task executor to process distributed tasks',\n schema: z.object({}),\n execute: async () => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm. Use p2p_swarm_connect first.',\n };\n }\n\n swarmInstance.startTaskExecutor();\n return {\n success: true,\n message: 'Task executor started. Listening for tasks.',\n };\n },\n};\n\n/**\n * P2P Swarm Stop Executor Tool\n */\nexport const p2pSwarmStopExecutorTool = {\n name: 'p2p_swarm_stop_executor',\n description: 'Stop the task executor',\n schema: z.object({}),\n execute: async () => {\n if (!swarmInstance) {\n return {\n success: false,\n error: 'Not connected to swarm.',\n };\n }\n\n swarmInstance.stopTaskExecutor();\n return {\n success: true,\n message: 'Task executor stopped.',\n };\n },\n};\n\n/**\n * P2P Swarm Disconnect Tool\n */\nexport const p2pSwarmDisconnectTool = {\n name: 'p2p_swarm_disconnect',\n description: 'Disconnect from the P2P swarm',\n schema: z.object({}),\n execute: async () => {\n if (swarmInstance) {\n swarmInstance.disconnect();\n swarmInstance = null;\n return {\n success: true,\n message: 'Disconnected from swarm.',\n };\n }\n return {\n success: true,\n message: 'Not connected to swarm.',\n };\n },\n};\n\n/**\n * P2P Swarm Keygen Tool\n */\nexport const p2pSwarmKeygenTool = {\n name: 'p2p_swarm_keygen',\n description: 'Generate a new swarm key for creating a new swarm',\n schema: z.object({}),\n execute: async () => {\n const crypto = await import('crypto');\n const key = crypto.randomBytes(32).toString('base64');\n return {\n success: true,\n swarmKey: key,\n usage: `Use with p2p_swarm_connect: { swarmKey: \"${key}\" }`,\n };\n },\n};\n\n// Export all tools as array for MCP registration\nexport const p2pSwarmTools = [\n p2pSwarmConnectTool,\n p2pSwarmStatusTool,\n p2pSwarmMembersTool,\n p2pSwarmPublishTool,\n p2pSwarmSubscribeTool,\n p2pSwarmSyncQTableTool,\n p2pSwarmSyncMemoryTool,\n p2pSwarmSubmitTaskTool,\n p2pSwarmStartExecutorTool,\n p2pSwarmStopExecutorTool,\n p2pSwarmDisconnectTool,\n p2pSwarmKeygenTool,\n];\n\n// Export singleton accessor\nexport function getP2PSwarmInstance(): P2PSwarmV2 | null {\n return swarmInstance;\n}\n\nexport function setP2PSwarmInstance(instance: P2PSwarmV2): void {\n swarmInstance = instance;\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Keep `.describe()` text visible in tool schemas served through
4
+ * `@anthropic-ai/claude-agent-sdk` 0.1.x.
5
+ *
6
+ * That SDK bundles its own copy of zod 4 core with a private metadata
7
+ * registry. Zod 4 stores descriptions in a registry (not on the schema), so
8
+ * the SDK's JSON Schema generator cannot see descriptions written by this
9
+ * package's zod and every tool parameter loses its description. Zod's
10
+ * generator consults `_zod.toJSONSchema` before anything else, so each
11
+ * field's schema is rendered here, by the zod that owns the registry, and
12
+ * pinned through that override on a detached clone (no `_zod.parent`, so the
13
+ * generator never walks back to the described original). The caller's schemas
14
+ * are not touched, and validation is unchanged: the clone shares the
15
+ * original's definition, checks and defaults.
16
+ *
17
+ * Remove once the SDK shares zod's global registry (0.3.x does).
18
+ */
19
+ export declare function withPortableDescriptions<T extends z.ZodRawShape>(shape: T): T;
20
+ //# sourceMappingURL=sdk-tool-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-tool-schema.d.ts","sourceRoot":"","sources":["../../src/mcp/sdk-tool-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAc7E"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Keep `.describe()` text visible in tool schemas served through
4
+ * `@anthropic-ai/claude-agent-sdk` 0.1.x.
5
+ *
6
+ * That SDK bundles its own copy of zod 4 core with a private metadata
7
+ * registry. Zod 4 stores descriptions in a registry (not on the schema), so
8
+ * the SDK's JSON Schema generator cannot see descriptions written by this
9
+ * package's zod and every tool parameter loses its description. Zod's
10
+ * generator consults `_zod.toJSONSchema` before anything else, so each
11
+ * field's schema is rendered here, by the zod that owns the registry, and
12
+ * pinned through that override on a detached clone (no `_zod.parent`, so the
13
+ * generator never walks back to the described original). The caller's schemas
14
+ * are not touched, and validation is unchanged: the clone shares the
15
+ * original's definition, checks and defaults.
16
+ *
17
+ * Remove once the SDK shares zod's global registry (0.3.x does).
18
+ */
19
+ export function withPortableDescriptions(shape) {
20
+ const portable = {};
21
+ for (const [key, field] of Object.entries(shape)) {
22
+ const json = z.toJSONSchema(field, { target: 'draft-7', io: 'input', unrepresentable: 'any' });
23
+ delete json.$schema;
24
+ const detached = z.core.clone(field);
25
+ delete detached._zod.parent;
26
+ detached._zod.toJSONSchema = () => json;
27
+ portable[key] = detached;
28
+ }
29
+ return portable;
30
+ }
31
+ //# sourceMappingURL=sdk-tool-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-tool-schema.js","sourceRoot":"","sources":["../../src/mcp/sdk-tool-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,wBAAwB,CAA0B,KAAQ;IACxE,MAAM,QAAQ,GAAoC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAG5F,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;QACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;QACxC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD,OAAO,QAAwB,CAAC;AAClC,CAAC","sourcesContent":["import { z } from 'zod';\n\n/**\n * Keep `.describe()` text visible in tool schemas served through\n * `@anthropic-ai/claude-agent-sdk` 0.1.x.\n *\n * That SDK bundles its own copy of zod 4 core with a private metadata\n * registry. Zod 4 stores descriptions in a registry (not on the schema), so\n * the SDK's JSON Schema generator cannot see descriptions written by this\n * package's zod and every tool parameter loses its description. Zod's\n * generator consults `_zod.toJSONSchema` before anything else, so each\n * field's schema is rendered here, by the zod that owns the registry, and\n * pinned through that override on a detached clone (no `_zod.parent`, so the\n * generator never walks back to the described original). The caller's schemas\n * are not touched, and validation is unchanged: the clone shares the\n * original's definition, checks and defaults.\n *\n * Remove once the SDK shares zod's global registry (0.3.x does).\n */\nexport function withPortableDescriptions<T extends z.ZodRawShape>(shape: T): T {\n const portable: Record<string, z.core.$ZodType> = {};\n for (const [key, field] of Object.entries(shape)) {\n const json = z.toJSONSchema(field, { target: 'draft-7', io: 'input', unrepresentable: 'any' }) as Record<\n string,\n unknown\n >;\n delete json.$schema;\n const detached = z.core.clone(field);\n delete detached._zod.parent;\n detached._zod.toJSONSchema = () => json;\n portable[key] = detached;\n }\n return portable as unknown as T;\n}\n"]}
@@ -122,7 +122,7 @@ export declare class ConfigurationTuning {
122
122
  entries: number;
123
123
  };
124
124
  topology: {
125
- mode: "hierarchical" | "mesh" | "ring" | "star" | "auto";
125
+ mode: "auto" | "mesh" | "hierarchical" | "ring" | "star";
126
126
  changes: number;
127
127
  improvement: string;
128
128
  };
@@ -29,7 +29,7 @@ export function applyAgentDBPatch() {
29
29
  console.warn('[AgentDB Patch] Could not locate agentdb installation');
30
30
  return false;
31
31
  }
32
- const controllerIndexPath = join(agentdbPath, 'dist', 'controllers', 'index.js');
32
+ const controllerIndexPath = join(agentdbPath, 'dist', 'src', 'controllers', 'index.js');
33
33
  if (!existsSync(controllerIndexPath)) {
34
34
  console.warn(`[AgentDB Patch] Controller index not found: ${controllerIndexPath}`);
35
35
  return false;
@@ -143,7 +143,7 @@ export function isAgentDBPatchNeeded() {
143
143
  const agentdbPath = findAgentDBPath();
144
144
  if (!agentdbPath)
145
145
  return false;
146
- const controllerIndexPath = join(agentdbPath, 'dist', 'controllers', 'index.js');
146
+ const controllerIndexPath = join(agentdbPath, 'dist', 'src', 'controllers', 'index.js');
147
147
  if (!existsSync(controllerIndexPath))
148
148
  return false;
149
149
  const content = readFileSync(controllerIndexPath, 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"agentdb-runtime-patch.js","sourceRoot":"","sources":["../../src/utils/agentdb-runtime-patch.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * AgentDB Runtime Patch\n *\n * Automatically fixes AgentDB v1.3.9 import resolution issues at runtime.\n * This patch works in all contexts: npm install, npm install -g, and npx.\n *\n * Issue: agentdb v1.3.9 missing .js extensions in ESM exports\n * Solution: Patch the controller index.js file at runtime before first import\n */\n\nimport { readFileSync, writeFileSync, existsSync } from 'fs';\nimport { join, dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nlet patched = false;\nlet patchAttempted = false;\n\n/**\n * Apply AgentDB import fix at runtime\n * Safe to call multiple times - only patches once\n */\nexport function applyAgentDBPatch(): boolean {\n // Only attempt once per process\n if (patchAttempted) {\n return patched;\n }\n patchAttempted = true;\n\n try {\n // Find agentdb installation\n const agentdbPath = findAgentDBPath();\n if (!agentdbPath) {\n console.warn('[AgentDB Patch] Could not locate agentdb installation');\n return false;\n }\n\n const controllerIndexPath = join(agentdbPath, 'dist', 'controllers', 'index.js');\n\n if (!existsSync(controllerIndexPath)) {\n console.warn(`[AgentDB Patch] Controller index not found: ${controllerIndexPath}`);\n return false;\n }\n\n // Read current content\n let content = readFileSync(controllerIndexPath, 'utf8');\n\n // Check if already patched\n if (content.includes(\"from './ReflexionMemory.js'\")) {\n patched = true;\n return true;\n }\n\n // Apply patches\n const patches = [\n { from: \"from './ReflexionMemory'\", to: \"from './ReflexionMemory.js'\" },\n { from: \"from './SkillLibrary'\", to: \"from './SkillLibrary.js'\" },\n { from: \"from './EmbeddingService'\", to: \"from './EmbeddingService.js'\" },\n { from: \"from './CausalMemoryGraph'\", to: \"from './CausalMemoryGraph.js'\" },\n { from: \"from './CausalRecall'\", to: \"from './CausalRecall.js'\" },\n { from: \"from './NightlyLearner'\", to: \"from './NightlyLearner.js'\" }\n ];\n\n let modified = false;\n for (const patch of patches) {\n if (content.includes(patch.from) && !content.includes(patch.to)) {\n content = content.replace(new RegExp(patch.from, 'g'), patch.to);\n modified = true;\n }\n }\n\n if (modified) {\n try {\n writeFileSync(controllerIndexPath, content, 'utf8');\n patched = true;\n console.log('[AgentDB Patch] ✅ Successfully patched AgentDB imports');\n return true;\n } catch (writeError: any) {\n // If we can't write (npx temp dir permissions), that's OK - imports will fail gracefully\n console.warn('[AgentDB Patch] ⚠️ Could not write patch (read-only):', writeError.message);\n return false;\n }\n }\n\n return false;\n } catch (error: any) {\n console.warn('[AgentDB Patch] Error applying patch:', error.message);\n return false;\n }\n}\n\n/**\n * Find AgentDB installation directory\n * Checks multiple possible locations\n */\nfunction findAgentDBPath(): string | null {\n const possiblePaths = [\n // Local node_modules (most common)\n join(process.cwd(), 'node_modules', 'agentdb'),\n\n // Parent directory node_modules (monorepo)\n join(process.cwd(), '..', 'node_modules', 'agentdb'),\n\n // Global npm installation\n join(process.execPath, '..', '..', 'lib', 'node_modules', 'agentdb'),\n\n // Relative to this file (for bundled installations)\n ...(typeof __dirname !== 'undefined'\n ? [\n join(__dirname, '..', '..', 'node_modules', 'agentdb'),\n join(__dirname, '..', '..', '..', 'agentdb')\n ]\n : []),\n\n // Using import.meta.url (ESM)\n ...(typeof import.meta !== 'undefined' && import.meta.url\n ? (() => {\n try {\n const currentDir = dirname(fileURLToPath(import.meta.url));\n return [\n join(currentDir, '..', '..', 'node_modules', 'agentdb'),\n join(currentDir, '..', '..', '..', 'agentdb')\n ];\n } catch {\n return [];\n }\n })()\n : [])\n ];\n\n // Try each path\n for (const path of possiblePaths) {\n if (existsSync(join(path, 'package.json'))) {\n try {\n const pkg = JSON.parse(readFileSync(join(path, 'package.json'), 'utf8'));\n if (pkg.name === 'agentdb') {\n return path;\n }\n } catch {\n continue;\n }\n }\n }\n\n // Try require.resolve as fallback\n try {\n const resolved = require.resolve('agentdb/package.json');\n return dirname(resolved);\n } catch {\n // Not found via require.resolve\n }\n\n return null;\n}\n\n/**\n * Check if AgentDB patch is needed\n */\nexport function isAgentDBPatchNeeded(): boolean {\n const agentdbPath = findAgentDBPath();\n if (!agentdbPath) return false;\n\n const controllerIndexPath = join(agentdbPath, 'dist', 'controllers', 'index.js');\n if (!existsSync(controllerIndexPath)) return false;\n\n const content = readFileSync(controllerIndexPath, 'utf8');\n return !content.includes(\"from './ReflexionMemory.js'\");\n}\n\n/**\n * Get patch status information\n */\nexport function getAgentDBPatchStatus(): {\n needed: boolean;\n applied: boolean;\n attempted: boolean;\n location: string | null;\n} {\n return {\n needed: isAgentDBPatchNeeded(),\n applied: patched,\n attempted: patchAttempted,\n location: findAgentDBPath()\n };\n}\n\n// Auto-apply patch on module load (SYNCHRONOUS - must happen before any AgentDB imports)\n// This ensures the patch is applied before any imports\nif (typeof process !== 'undefined' && !process.env.SKIP_AGENTDB_PATCH) {\n // MUST be synchronous - async won't work because imports happen immediately\n try {\n applyAgentDBPatch();\n } catch (error) {\n // Silently fail - patch will be attempted again on explicit call\n }\n}\n"]}
1
+ {"version":3,"file":"agentdb-runtime-patch.js","sourceRoot":"","sources":["../../src/utils/agentdb-runtime-patch.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * AgentDB Runtime Patch\n *\n * Automatically fixes AgentDB v1.3.9 import resolution issues at runtime.\n * This patch works in all contexts: npm install, npm install -g, and npx.\n *\n * Issue: agentdb v1.3.9 missing .js extensions in ESM exports\n * Solution: Patch the controller index.js file at runtime before first import\n */\n\nimport { readFileSync, writeFileSync, existsSync } from 'fs';\nimport { join, dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nlet patched = false;\nlet patchAttempted = false;\n\n/**\n * Apply AgentDB import fix at runtime\n * Safe to call multiple times - only patches once\n */\nexport function applyAgentDBPatch(): boolean {\n // Only attempt once per process\n if (patchAttempted) {\n return patched;\n }\n patchAttempted = true;\n\n try {\n // Find agentdb installation\n const agentdbPath = findAgentDBPath();\n if (!agentdbPath) {\n console.warn('[AgentDB Patch] Could not locate agentdb installation');\n return false;\n }\n\n const controllerIndexPath = join(agentdbPath, 'dist', 'src', 'controllers', 'index.js');\n\n if (!existsSync(controllerIndexPath)) {\n console.warn(`[AgentDB Patch] Controller index not found: ${controllerIndexPath}`);\n return false;\n }\n\n // Read current content\n let content = readFileSync(controllerIndexPath, 'utf8');\n\n // Check if already patched\n if (content.includes(\"from './ReflexionMemory.js'\")) {\n patched = true;\n return true;\n }\n\n // Apply patches\n const patches = [\n { from: \"from './ReflexionMemory'\", to: \"from './ReflexionMemory.js'\" },\n { from: \"from './SkillLibrary'\", to: \"from './SkillLibrary.js'\" },\n { from: \"from './EmbeddingService'\", to: \"from './EmbeddingService.js'\" },\n { from: \"from './CausalMemoryGraph'\", to: \"from './CausalMemoryGraph.js'\" },\n { from: \"from './CausalRecall'\", to: \"from './CausalRecall.js'\" },\n { from: \"from './NightlyLearner'\", to: \"from './NightlyLearner.js'\" }\n ];\n\n let modified = false;\n for (const patch of patches) {\n if (content.includes(patch.from) && !content.includes(patch.to)) {\n content = content.replace(new RegExp(patch.from, 'g'), patch.to);\n modified = true;\n }\n }\n\n if (modified) {\n try {\n writeFileSync(controllerIndexPath, content, 'utf8');\n patched = true;\n console.log('[AgentDB Patch] ✅ Successfully patched AgentDB imports');\n return true;\n } catch (writeError: any) {\n // If we can't write (npx temp dir permissions), that's OK - imports will fail gracefully\n console.warn('[AgentDB Patch] ⚠️ Could not write patch (read-only):', writeError.message);\n return false;\n }\n }\n\n return false;\n } catch (error: any) {\n console.warn('[AgentDB Patch] Error applying patch:', error.message);\n return false;\n }\n}\n\n/**\n * Find AgentDB installation directory\n * Checks multiple possible locations\n */\nfunction findAgentDBPath(): string | null {\n const possiblePaths = [\n // Local node_modules (most common)\n join(process.cwd(), 'node_modules', 'agentdb'),\n\n // Parent directory node_modules (monorepo)\n join(process.cwd(), '..', 'node_modules', 'agentdb'),\n\n // Global npm installation\n join(process.execPath, '..', '..', 'lib', 'node_modules', 'agentdb'),\n\n // Relative to this file (for bundled installations)\n ...(typeof __dirname !== 'undefined'\n ? [\n join(__dirname, '..', '..', 'node_modules', 'agentdb'),\n join(__dirname, '..', '..', '..', 'agentdb')\n ]\n : []),\n\n // Using import.meta.url (ESM)\n ...(typeof import.meta !== 'undefined' && import.meta.url\n ? (() => {\n try {\n const currentDir = dirname(fileURLToPath(import.meta.url));\n return [\n join(currentDir, '..', '..', 'node_modules', 'agentdb'),\n join(currentDir, '..', '..', '..', 'agentdb')\n ];\n } catch {\n return [];\n }\n })()\n : [])\n ];\n\n // Try each path\n for (const path of possiblePaths) {\n if (existsSync(join(path, 'package.json'))) {\n try {\n const pkg = JSON.parse(readFileSync(join(path, 'package.json'), 'utf8'));\n if (pkg.name === 'agentdb') {\n return path;\n }\n } catch {\n continue;\n }\n }\n }\n\n // Try require.resolve as fallback\n try {\n const resolved = require.resolve('agentdb/package.json');\n return dirname(resolved);\n } catch {\n // Not found via require.resolve\n }\n\n return null;\n}\n\n/**\n * Check if AgentDB patch is needed\n */\nexport function isAgentDBPatchNeeded(): boolean {\n const agentdbPath = findAgentDBPath();\n if (!agentdbPath) return false;\n\n const controllerIndexPath = join(agentdbPath, 'dist', 'src', 'controllers', 'index.js');\n if (!existsSync(controllerIndexPath)) return false;\n\n const content = readFileSync(controllerIndexPath, 'utf8');\n return !content.includes(\"from './ReflexionMemory.js'\");\n}\n\n/**\n * Get patch status information\n */\nexport function getAgentDBPatchStatus(): {\n needed: boolean;\n applied: boolean;\n attempted: boolean;\n location: string | null;\n} {\n return {\n needed: isAgentDBPatchNeeded(),\n applied: patched,\n attempted: patchAttempted,\n location: findAgentDBPath()\n };\n}\n\n// Auto-apply patch on module load (SYNCHRONOUS - must happen before any AgentDB imports)\n// This ensures the patch is applied before any imports\nif (typeof process !== 'undefined' && !process.env.SKIP_AGENTDB_PATCH) {\n // MUST be synchronous - async won't work because imports happen immediately\n try {\n applyAgentDBPatch();\n } catch (error) {\n // Silently fail - patch will be attempted again on explicit call\n }\n}\n"]}