@slashfi/agents-sdk 0.25.0 → 0.26.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.
package/dist/registry.js CHANGED
@@ -231,7 +231,7 @@ export function createAgentRegistry(options = {}) {
231
231
  })),
232
232
  };
233
233
  }
234
- const registry = {
234
+ const registryObj = {
235
235
  register(input) {
236
236
  let agent;
237
237
  if (isSerialized(input)) {
@@ -281,209 +281,238 @@ export function createAgentRegistry(options = {}) {
281
281
  async emit(event) {
282
282
  await eventBus.emit(event);
283
283
  },
284
+ async trigger(_eventType, event) {
285
+ await eventBus.emit(event);
286
+ },
284
287
  async call(request) {
285
- const agent = agents.get(request.path);
286
- if (!agent) {
287
- return {
288
- success: false,
289
- error: `Agent not found: ${request.path}`,
290
- code: "AGENT_NOT_FOUND",
291
- };
292
- }
293
- // Check agent access
294
- if (!checkAgentAccess(agent, request.callerId, request.callerType)) {
295
- return {
296
- success: false,
297
- error: `Access denied to agent: ${request.path}`,
298
- code: "ACCESS_DENIED",
299
- };
300
- }
301
- // Check action is supported
302
- if (!checkActionSupported(agent, request.action)) {
303
- const supported = agent.config?.supportedActions ?? DEFAULT_SUPPORTED_ACTIONS;
288
+ // Emit call event — listeners can next()/resolve() to control flow
289
+ let intercepted;
290
+ let nextCalled = false;
291
+ let nextResult;
292
+ await eventBus.emit({
293
+ type: "call",
294
+ agentPath: request.path,
295
+ timestamp: Date.now(),
296
+ request,
297
+ async next() {
298
+ nextCalled = true;
299
+ nextResult = await callInternal(request);
300
+ return nextResult;
301
+ },
302
+ resolve(response) {
303
+ intercepted = response;
304
+ },
305
+ });
306
+ if (intercepted)
307
+ return intercepted;
308
+ if (nextCalled)
309
+ return nextResult;
310
+ // No listener engaged — run default
311
+ return callInternal(request);
312
+ },
313
+ };
314
+ return registryObj;
315
+ async function callInternal(request) {
316
+ const agent = agents.get(request.path);
317
+ if (!agent) {
318
+ return {
319
+ success: false,
320
+ error: `Agent not found: ${request.path}`,
321
+ code: "AGENT_NOT_FOUND",
322
+ };
323
+ }
324
+ // Check agent access
325
+ if (!checkAgentAccess(agent, request.callerId, request.callerType)) {
326
+ return {
327
+ success: false,
328
+ error: `Access denied to agent: ${request.path}`,
329
+ code: "ACCESS_DENIED",
330
+ };
331
+ }
332
+ // Check action is supported
333
+ if (!checkActionSupported(agent, request.action)) {
334
+ const supported = agent.config?.supportedActions ?? DEFAULT_SUPPORTED_ACTIONS;
335
+ return {
336
+ success: false,
337
+ error: `Action '${request.action}' not supported by agent. Supported: ${supported.join(", ")}`,
338
+ code: "ACTION_NOT_SUPPORTED",
339
+ };
340
+ }
341
+ switch (request.action) {
342
+ case "invoke":
343
+ case "ask": {
344
+ // Get runtime if available
345
+ const runtime = agent.runtime?.();
346
+ // Call onInvoke hook if defined
347
+ if (runtime?.onInvoke) {
348
+ await runtime.onInvoke({
349
+ tenantId: "default",
350
+ agentPath: request.path,
351
+ prompt: request.prompt,
352
+ sessionId: request.sessionId,
353
+ callerId: request.callerId ?? "unknown",
354
+ callerType: request.callerType ?? "system",
355
+ metadata: request.metadata,
356
+ });
357
+ }
358
+ // These actions require an LLM runtime which this SDK doesn't provide
359
+ // Users can implement their own invoke/ask handlers or use a full runtime
304
360
  return {
305
361
  success: false,
306
- error: `Action '${request.action}' not supported by agent. Supported: ${supported.join(", ")}`,
307
- code: "ACTION_NOT_SUPPORTED",
362
+ error: `Action '${request.action}' requires an LLM runtime. Use execute_tool for direct tool calls.`,
363
+ code: "RUNTIME_REQUIRED",
308
364
  };
309
365
  }
310
- switch (request.action) {
311
- case "invoke":
312
- case "ask": {
313
- // Get runtime if available
314
- const runtime = agent.runtime?.();
315
- // Call onInvoke hook if defined
316
- if (runtime?.onInvoke) {
317
- await runtime.onInvoke({
318
- tenantId: "default",
319
- agentPath: request.path,
320
- prompt: request.prompt,
321
- sessionId: request.sessionId,
322
- callerId: request.callerId ?? "unknown",
323
- callerType: request.callerType ?? "system",
324
- metadata: request.metadata,
325
- });
326
- }
327
- // These actions require an LLM runtime which this SDK doesn't provide
328
- // Users can implement their own invoke/ask handlers or use a full runtime
366
+ case "execute_tool": {
367
+ const tool = agent.tools.find((t) => t.name === request.tool);
368
+ if (!tool) {
329
369
  return {
330
370
  success: false,
331
- error: `Action '${request.action}' requires an LLM runtime. Use execute_tool for direct tool calls.`,
332
- code: "RUNTIME_REQUIRED",
371
+ error: `Tool not found: ${request.tool}`,
372
+ code: "TOOL_NOT_FOUND",
333
373
  };
334
374
  }
335
- case "execute_tool": {
336
- const tool = agent.tools.find((t) => t.name === request.tool);
337
- if (!tool) {
338
- return {
339
- success: false,
340
- error: `Tool not found: ${request.tool}`,
341
- code: "TOOL_NOT_FOUND",
342
- };
343
- }
344
- // Check tool access
345
- if (!checkToolAccess(agent, request.tool, request.callerId, request.callerType)) {
375
+ // Check tool access
376
+ if (!checkToolAccess(agent, request.tool, request.callerId, request.callerType)) {
377
+ return {
378
+ success: false,
379
+ error: `Access denied to tool: ${request.tool} (visibility=${tool.visibility}, callerId=${request.callerId}, callerType=${request.callerType})`,
380
+ code: "ACCESS_DENIED",
381
+ };
382
+ }
383
+ let ctx = {
384
+ tenantId: "default",
385
+ agentPath: agent.path,
386
+ callerId: request.callerId ?? "unknown",
387
+ callerType: request.callerType ?? "system",
388
+ metadata: request.metadata,
389
+ };
390
+ // Apply contextFactory if provided
391
+ if (options.contextFactory) {
392
+ ctx = options.contextFactory(ctx);
393
+ }
394
+ try {
395
+ if (!tool.execute) {
346
396
  return {
347
397
  success: false,
348
- error: `Access denied to tool: ${request.tool} (visibility=${tool.visibility}, callerId=${request.callerId}, callerType=${request.callerType})`,
349
- code: "ACCESS_DENIED",
398
+ error: `Tool ${request.tool} has no execute function`,
350
399
  };
351
400
  }
352
- let ctx = {
353
- tenantId: "default",
401
+ // Emit tool/call before execution
402
+ const startMs = Date.now();
403
+ await eventBus.emit({
404
+ type: "tool/call",
354
405
  agentPath: agent.path,
355
- callerId: request.callerId ?? "unknown",
356
- callerType: request.callerType ?? "system",
357
- metadata: request.metadata,
358
- };
359
- // Apply contextFactory if provided
360
- if (options.contextFactory) {
361
- ctx = options.contextFactory(ctx);
362
- }
406
+ tool: request.tool,
407
+ params: request.params,
408
+ timestamp: startMs,
409
+ });
410
+ let result;
363
411
  try {
364
- if (!tool.execute) {
365
- return {
366
- success: false,
367
- error: `Tool ${request.tool} has no execute function`,
368
- };
369
- }
370
- // Emit tool/call before execution
371
- const startMs = Date.now();
372
- await eventBus.emit({
373
- type: "tool/call",
374
- agentPath: agent.path,
375
- tool: request.tool,
376
- params: request.params,
377
- timestamp: startMs,
378
- });
379
- let result;
380
- try {
381
- result = await tool.execute(request.params, ctx);
382
- }
383
- catch (err) {
384
- // Emit tool/error on failure
385
- await eventBus
386
- .emit({
387
- type: "tool/error",
388
- agentPath: agent.path,
389
- tool: request.tool,
390
- params: request.params,
391
- error: err,
392
- durationMs: Date.now() - startMs,
393
- timestamp: Date.now(),
394
- })
395
- .catch(() => { }); // don't let emit error mask tool error
396
- return {
397
- success: false,
398
- error: err instanceof Error ? err.message : String(err),
399
- code: "TOOL_EXECUTION_ERROR",
400
- };
401
- }
402
- // Emit tool/result after success
403
- await eventBus.emit({
404
- type: "tool/result",
412
+ result = await tool.execute(request.params, ctx);
413
+ }
414
+ catch (err) {
415
+ // Emit tool/error on failure
416
+ await eventBus
417
+ .emit({
418
+ type: "tool/error",
405
419
  agentPath: agent.path,
406
420
  tool: request.tool,
407
421
  params: request.params,
408
- result,
422
+ error: err,
409
423
  durationMs: Date.now() - startMs,
410
424
  timestamp: Date.now(),
411
- });
412
- return {
413
- success: true,
414
- result,
415
- };
416
- }
417
- catch (outerErr) {
418
- // Catch-all for unexpected errors (e.g., emit failures)
425
+ })
426
+ .catch(() => { }); // don't let emit error mask tool error
419
427
  return {
420
428
  success: false,
421
- error: outerErr instanceof Error ? outerErr.message : String(outerErr),
429
+ error: err instanceof Error ? err.message : String(err),
422
430
  code: "TOOL_EXECUTION_ERROR",
423
431
  };
424
432
  }
425
- }
426
- case "describe_tools": {
427
- const toolSchemas = agent.tools
428
- .filter((t) => checkToolAccess(agent, t.name, request.callerId, request.callerType))
429
- .filter((t) => request.tools ? request.tools.includes(t.name) : true)
430
- .map((t) => ({
431
- name: t.name,
432
- description: t.description,
433
- inputSchema: t.inputSchema,
434
- ...(t.outputSchema && { outputSchema: t.outputSchema }),
435
- }));
433
+ // Emit tool/result after success
434
+ await eventBus.emit({
435
+ type: "tool/result",
436
+ agentPath: agent.path,
437
+ tool: request.tool,
438
+ params: request.params,
439
+ result,
440
+ durationMs: Date.now() - startMs,
441
+ timestamp: Date.now(),
442
+ });
436
443
  return {
437
444
  success: true,
438
- tools: toolSchemas,
445
+ result,
439
446
  };
440
447
  }
441
- case "load": {
442
- if (options.middleware?.load) {
443
- return options.middleware.load(defaultLoad, {
444
- agent,
445
- request,
446
- registry,
447
- });
448
- }
449
- return defaultLoad(agent, request);
450
- }
451
- case "learn": {
452
- // Get runtime if available
453
- const runtime = agent.runtime?.();
454
- // Call onLearn hook if defined
455
- if (runtime?.onLearn) {
456
- await runtime.onLearn({
457
- tenantId: "default",
458
- agentPath: request.path,
459
- content: request.content,
460
- scope: request.scope ?? "session",
461
- category: request.category,
462
- callerId: request.callerId ?? "unknown",
463
- });
464
- return {
465
- success: true,
466
- action: "stored",
467
- };
468
- }
469
- // No runtime or no onLearn hook - ignore
448
+ catch (outerErr) {
449
+ // Catch-all for unexpected errors (e.g., emit failures)
470
450
  return {
471
- success: true,
472
- action: "ignored",
451
+ success: false,
452
+ error: outerErr instanceof Error ? outerErr.message : String(outerErr),
453
+ code: "TOOL_EXECUTION_ERROR",
473
454
  };
474
455
  }
475
- default: {
476
- // TypeScript exhaustiveness check
477
- const _exhaustive = request;
456
+ }
457
+ case "describe_tools": {
458
+ const toolSchemas = agent.tools
459
+ .filter((t) => checkToolAccess(agent, t.name, request.callerId, request.callerType))
460
+ .filter((t) => request.tools ? request.tools.includes(t.name) : true)
461
+ .map((t) => ({
462
+ name: t.name,
463
+ description: t.description,
464
+ inputSchema: t.inputSchema,
465
+ ...(t.outputSchema && { outputSchema: t.outputSchema }),
466
+ }));
467
+ return {
468
+ success: true,
469
+ tools: toolSchemas,
470
+ };
471
+ }
472
+ case "load": {
473
+ if (options.middleware?.load) {
474
+ return options.middleware.load(defaultLoad, {
475
+ agent,
476
+ request,
477
+ registry: registryObj,
478
+ });
479
+ }
480
+ return defaultLoad(agent, request);
481
+ }
482
+ case "learn": {
483
+ // Get runtime if available
484
+ const runtime = agent.runtime?.();
485
+ // Call onLearn hook if defined
486
+ if (runtime?.onLearn) {
487
+ await runtime.onLearn({
488
+ tenantId: "default",
489
+ agentPath: request.path,
490
+ content: request.content,
491
+ scope: request.scope ?? "session",
492
+ category: request.category,
493
+ callerId: request.callerId ?? "unknown",
494
+ });
478
495
  return {
479
- success: false,
480
- error: `Unknown action: ${_exhaustive.action}`,
481
- code: "UNKNOWN_ACTION",
496
+ success: true,
497
+ action: "stored",
482
498
  };
483
499
  }
500
+ // No runtime or no onLearn hook - ignore
501
+ return {
502
+ success: true,
503
+ action: "ignored",
504
+ };
484
505
  }
485
- },
486
- };
487
- return registry;
506
+ default: {
507
+ // TypeScript exhaustiveness check
508
+ const _exhaustive = request;
509
+ return {
510
+ success: false,
511
+ error: `Unknown action: ${_exhaustive.action}`,
512
+ code: "UNKNOWN_ACTION",
513
+ };
514
+ }
515
+ }
516
+ }
488
517
  }
489
518
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAmB7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,iDAAiD;AACjD,MAAM,yBAAyB,GAAkB;IAC/C,cAAc;IACd,gBAAgB;IAChB,MAAM;CACP,CAAC;AA+FF;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAA8B;IAE9B,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,aAAa,GAAG,CAAC,IAAI,EAAE;QACtD,MAAM,EAAE;YACN,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAoC;SACrD;QACD,UAAU,EAAE,GAAG,CAAC,UAAoC;QACpD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAClB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;YACC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,IAAI,KAAK,CACb,SAAS,CAAC,CAAC,IAAI,iIAAiI,CACjJ,CAAC;YACJ,CAAC;SACF,CAA8B,CAClC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAAgC,EAAE;IAElC,MAAM,EAAE,iBAAiB,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAClD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC;;OAEG;IACH,SAAS,oBAAoB,CAC3B,KAAsB,EACtB,MAAmB;QAEnB,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,EAAE,gBAAgB,IAAI,yBAAyB,CAAC;QAC9D,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,SAAS,gBAAgB,CACvB,KAAsB,EACtB,QAAiB,EACjB,UAAmB;QAEnB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC;QAEzD,uCAAuC;QACvC,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEzC,iCAAiC;QACjC,IAAI,KAAK,CAAC,cAAc,IAAI,QAAQ,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC3D,CAAC;QAED,mBAAmB;QACnB,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC;YACd,KAAK,UAAU;gBACb,qEAAqE;gBACrE,OAAO,CACL,UAAU,KAAK,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,CACnE,CAAC;YACJ,KAAK,SAAS;gBACZ,uBAAuB;gBACvB,OAAO,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC;YACjC;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,eAAe,CACtB,KAAsB,EACtB,QAAgB,EAChB,QAAiB,EACjB,UAAmB;QAEnB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC;QAE/C,uCAAuC;QACvC,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEzC,iCAAiC;QACjC,IAAI,IAAI,CAAC,cAAc,IAAI,QAAQ,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC1D,CAAC;QAED,mBAAmB;QACnB,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC;YACd,KAAK,UAAU;gBACb,OAAO,CACL,UAAU,KAAK,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,CACnE,CAAC;YACJ,KAAK,eAAe;gBAClB,OAAO,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,WAAW,CAAC;YACtD,KAAK,SAAS;gBACZ,OAAO,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC;YACjC;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,SAAS,cAAc,CAAC,WAAmB,EAAE,GAAW;QACtD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,WAAW,GAAG,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,WAAW,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS,iBAAiB,CACxB,QAAsB,EACtB,SAA0B;QAE1B,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE5C,MAAM,KAAK,GAAa,CAAC,0BAA0B,CAAC,CAAC;QAErD,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;YACjD,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;gBAC/D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oBAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;gBACjD,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,WAAW,CACxB,KAAsB,EACtB,OAA6B;QAE7B,MAAM,WAAW,GAAiB,KAAK,CAAC,KAAK;aAC1C,MAAM,CAAC,CAAC,CAAiB,EAAE,EAAE,CAC5B,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CACrE;aACA,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;SACxD,CAAC,CAAC,CAAC;QAEN,MAAM,SAAS,GAAoB,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;qBACrC,MAAM,CAAC,CAAC,CAAiB,EAAE,EAAE,CAC5B,eAAe,CACb,QAAS,EACT,CAAC,CAAC,IAAI,EACN,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,CACnB,CACF;qBACA,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC;oBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;iBACxD,CAAC,CAAC,CAAC;gBACN,MAAM,YAAY,GAAG,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;gBACrD,MAAM,KAAK,GAAG,YAAY;oBACxB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACvD,CAAC,CAAC,QAAQ,CAAC;gBACb,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG;oBACH,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,GAAG;oBACzC,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAChB,KAAK,CAAC,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE/D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE;gBACN,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY;gBACZ,eAAe,EAAE,EAAE;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,WAAW;gBAClB,SAAS;aACV;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS,YAAY,CACnB,KAAkD;QAElD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3D,kEAAkE;QAClE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAuC,CAAC;QACvE,OAAO,aAAa,IAAI,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,SAAS,cAAc,CAAC,GAA8B;QACpD,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,aAAa,GAAG,CAAC,IAAI,EAAE;YACtD,MAAM,EAAE;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,UAAU,EAAE,GAAG,CAAC,UAAoC;aACrD;YACD,UAAU,EAAE,GAAG,CAAC,UAAoC;YACpD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAClB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;gBACC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,MAAM,IAAI,KAAK,CACb,SAAS,CAAC,CAAC,IAAI,iIAAiI,CACjJ,CAAC;gBACJ,CAAC;aACF,CAA8B,CAClC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAkB;QAC9B,QAAQ,CAAC,KAAkD;YACzD,IAAI,KAAsB,CAAC;YAC3B,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,qBAAqB,CACnB,KAAK,EACL,YAAa,KAAmC,CAAC,IAAI,IAAI,SAAS,GAAG,CACtE,CAAC;gBACF,KAAK,GAAG,cAAc,CAAC,KAAkC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,KAAwB,CAAC;YACnC,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE9B,6CAA6C;YAC7C,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE;wBAClD,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,QAAQ,EAAE,KAAK,CAAC,SAAS;qBAC1B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,4CAA4C;YAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE;4BAClD,SAAS,EAAE,KAAK,CAAC,IAAI;4BACrB,QAAQ,EAAE,IAAI,CAAC,IAAI;yBACpB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,GAAG,CAAC,IAAY;YACd,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,GAAG,CAAC,IAAY;YACd,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,SAAS;YACP,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,EAAE,CAAsB,SAAY,EAAE,QAA0B;YAC9D,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAiB;YAC1B,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAyB;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE;oBACzC,IAAI,EAAE,iBAAiB;iBACE,CAAC;YAC9B,CAAC;YAED,qBAAqB;YACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnE,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,2BAA2B,OAAO,CAAC,IAAI,EAAE;oBAChD,IAAI,EAAE,eAAe;iBACI,CAAC;YAC9B,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,EAAE,gBAAgB,IAAI,yBAAyB,CAAC;gBAC9D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,WAAW,OAAO,CAAC,MAAM,wCAAwC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC9F,IAAI,EAAE,sBAAsB;iBACH,CAAC;YAC9B,CAAC;YAED,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,QAAQ,CAAC;gBACd,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,2BAA2B;oBAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;oBAElC,gCAAgC;oBAChC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;wBACtB,MAAM,OAAO,CAAC,QAAQ,CAAC;4BACrB,QAAQ,EAAE,SAAS;4BACnB,SAAS,EAAE,OAAO,CAAC,IAAI;4BACvB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;4BACvC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ;4BAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;yBAC3B,CAAC,CAAC;oBACL,CAAC;oBAED,sEAAsE;oBACtE,0EAA0E;oBAC1E,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,WAAW,OAAO,CAAC,MAAM,oEAAoE;wBACpG,IAAI,EAAE,kBAAkB;qBACC,CAAC;gBAC9B,CAAC;gBAED,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAC3B,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAC/C,CAAC;oBAEF,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,mBAAmB,OAAO,CAAC,IAAI,EAAE;4BACxC,IAAI,EAAE,gBAAgB;yBACG,CAAC;oBAC9B,CAAC;oBAED,oBAAoB;oBACpB,IACE,CAAC,eAAe,CACd,KAAK,EACL,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,CACnB,EACD,CAAC;wBACD,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,0BAA0B,OAAO,CAAC,IAAI,gBAAgB,IAAI,CAAC,UAAU,cAAc,OAAO,CAAC,QAAQ,gBAAgB,OAAO,CAAC,UAAU,GAAG;4BAC/I,IAAI,EAAE,eAAe;yBACI,CAAC;oBAC9B,CAAC;oBAED,IAAI,GAAG,GAAgB;wBACrB,QAAQ,EAAE,SAAS;wBACnB,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;wBACvC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ;wBAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC3B,CAAC;oBAEF,mCAAmC;oBACnC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;wBAC3B,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;oBAED,IAAI,CAAC;wBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;4BAClB,OAAO;gCACL,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,QAAQ,OAAO,CAAC,IAAI,0BAA0B;6BAC5B,CAAC;wBAC9B,CAAC;wBAED,kCAAkC;wBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC3B,MAAM,QAAQ,CAAC,IAAI,CAAC;4BAClB,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,KAAK,CAAC,IAAI;4BACrB,IAAI,EAAE,OAAO,CAAC,IAAK;4BACnB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,SAAS,EAAE,OAAO;yBACnB,CAAC,CAAC;wBAEH,IAAI,MAAe,CAAC;wBACpB,IAAI,CAAC;4BACH,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;wBACnD,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,6BAA6B;4BAC7B,MAAM,QAAQ;iCACX,IAAI,CAAC;gCACJ,IAAI,EAAE,YAAY;gCAClB,SAAS,EAAE,KAAK,CAAC,IAAI;gCACrB,IAAI,EAAE,OAAO,CAAC,IAAK;gCACnB,MAAM,EAAE,OAAO,CAAC,MAAM;gCACtB,KAAK,EAAE,GAAG;gCACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gCAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;6BACtB,CAAC;iCACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,uCAAuC;4BAE3D,OAAO;gCACL,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gCACvD,IAAI,EAAE,sBAAsB;6BACH,CAAC;wBAC9B,CAAC;wBAED,iCAAiC;wBACjC,MAAM,QAAQ,CAAC,IAAI,CAAC;4BAClB,IAAI,EAAE,aAAa;4BACnB,SAAS,EAAE,KAAK,CAAC,IAAI;4BACrB,IAAI,EAAE,OAAO,CAAC,IAAK;4BACnB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,MAAM;4BACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;4BAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;yBACtB,CAAC,CAAC;wBAEH,OAAO;4BACL,OAAO,EAAE,IAAI;4BACb,MAAM;yBACyB,CAAC;oBACpC,CAAC;oBAAC,OAAO,QAAQ,EAAE,CAAC;wBAClB,wDAAwD;wBACxD,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EACH,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;4BACjE,IAAI,EAAE,sBAAsB;yBACH,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,WAAW,GAAiB,KAAK,CAAC,KAAK;yBAC1C,MAAM,CAAC,CAAC,CAAiB,EAAE,EAAE,CAC5B,eAAe,CACb,KAAK,EACL,CAAC,CAAC,IAAI,EACN,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,CACnB,CACF;yBACA,MAAM,CAAC,CAAC,CAAiB,EAAE,EAAE,CAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACtD;yBACA,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC;wBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;qBACxD,CAAC,CAAC,CAAC;oBAEN,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,WAAW;qBACe,CAAC;gBACtC,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,IAAI,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;wBAC7B,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE;4BAC1C,KAAK;4BACL,OAAO;4BACP,QAAQ;yBACT,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACrC,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,2BAA2B;oBAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;oBAElC,+BAA+B;oBAC/B,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;wBACrB,MAAM,OAAO,CAAC,OAAO,CAAC;4BACpB,QAAQ,EAAE,SAAS;4BACnB,SAAS,EAAE,OAAO,CAAC,IAAI;4BACvB,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;4BACjC,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;yBACxC,CAAC,CAAC;wBAEH,OAAO;4BACL,OAAO,EAAE,IAAI;4BACb,MAAM,EAAE,QAAQ;yBACS,CAAC;oBAC9B,CAAC;oBAED,yCAAyC;oBACzC,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,SAAS;qBACQ,CAAC;gBAC9B,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC;oBACR,kCAAkC;oBAClC,MAAM,WAAW,GAAU,OAAO,CAAC;oBACnC,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,mBAAoB,WAAgC,CAAC,MAAM,EAAE;wBACpE,IAAI,EAAE,gBAAgB;qBACG,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Minimal JSON-RPC server implementing the MCP protocol for agent interaction.
5
5
  * Handles only core SDK concerns:
6
6
  * - MCP protocol (initialize, tools/list, tools/call)
7
- * - Agent registry routing (call_agent, list_agents)
7
+ * - Agent registry routing (call_agent, list_agents, search_agent_tools)
8
8
  * - Auth resolution (Bearer tokens, root key, JWT)
9
9
  * - OAuth2 token exchange (client_credentials)
10
10
  * - Health check
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAU3C,OAAO,EAAE,KAAK,kBAAkB,EAAoB,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,YAAY,CAAC;AAQhF,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2EAA2E;AAC3E,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,CACP,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE;QACN,iDAAiD;QACjD,KAAK,EAAE,MAAM,CAAC;QACd,mCAAmC;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,yCAAyC;QACzC,WAAW,EAAE,MAAM,CAAC;QACpB,8BAA8B;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,0DAA0D;QAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CACN,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE;QACN,8BAA8B;QAC9B,OAAO,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtB;AACD,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iDAAiD;IACjD,cAAc,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C,6EAA6E;IAC7E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,wGAAwG;IACxG,QAAQ,CAAC,EAAE,OAAO,kBAAkB,EAAE,QAAQ,CAAC;IAC/C,+DAA+D;IAC/D,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,yEAAyE;IACzE,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,sDAAsD;IACtD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,EAAE,aAAa,CAAC;IACxB,oEAAoE;IACpE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,sDAAsD;IACtD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC9D;AAwBD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAqED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,CAgB9D;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE;IACZ,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,GACA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgH9B;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,YAAY,GAAG,IAAI,GACxB,OAAO,CAQT;AAwDD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,kBAAuB,GAC/B,WAAW,CAu4Bb"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Minimal JSON-RPC server implementing the MCP protocol for agent interaction.
5
5
  * Handles only core SDK concerns:
6
6
  * - MCP protocol (initialize, tools/list, tools/call)
7
- * - Agent registry routing (call_agent, list_agents)
7
+ * - Agent registry routing (call_agent, list_agents, search_agent_tools)
8
8
  * - Auth resolution (Bearer tokens, root key, JWT)
9
9
  * - OAuth2 token exchange (client_credentials)
10
10
  * - Health check
@@ -25,6 +25,7 @@
25
25
  * ```
26
26
  */
27
27
  import { processSecretParams, } from "./agent-definitions/secrets.js";
28
+ import { createBM25Index } from "./bm25.js";
28
29
  import { verifyJwt } from "./jwt.js";
29
30
  import { buildJwks, exportSigningKey, generateSigningKey, importSigningKey, signJwtES256, verifyJwtFromIssuer, verifyJwtLocal, } from "./jwt.js";
30
31
  import { createOIDCSignIn } from "./oidc-signin.js";
@@ -250,6 +251,29 @@ function getToolDefinitions() {
250
251
  properties: {},
251
252
  },
252
253
  },
254
+ {
255
+ name: "search_agent_tools",
256
+ description: "Search across all registered agent tools using natural language. Returns tools ranked by relevance using BM25 scoring.",
257
+ inputSchema: {
258
+ type: "object",
259
+ properties: {
260
+ query: {
261
+ type: "string",
262
+ description: "Natural language search query (e.g. 'send a message', 'database query')",
263
+ },
264
+ agents: {
265
+ type: "array",
266
+ items: { type: "string" },
267
+ description: "Optional list of agent paths to search within (e.g. ['@notifications', '@db']). Searches all agents if omitted.",
268
+ },
269
+ limit: {
270
+ type: "number",
271
+ description: "Maximum number of results to return (default: 10)",
272
+ },
273
+ },
274
+ required: ["query"],
275
+ },
276
+ },
253
277
  ];
254
278
  }
255
279
  // ============================================
@@ -362,6 +386,86 @@ export function createAgentServer(registry, options = {}) {
362
386
  })),
363
387
  });
364
388
  }
389
+ case "search_agent_tools": {
390
+ const { query, agents: agentFilter, limit: resultLimit } = args;
391
+ const agents = registry.list();
392
+ const visible = agents.filter((agent) => {
393
+ if (!canSeeAgent(agent, auth))
394
+ return false;
395
+ if (agentFilter && agentFilter.length > 0) {
396
+ return agentFilter.includes(agent.path);
397
+ }
398
+ return true;
399
+ });
400
+ // Build search documents from all visible tools
401
+ const documents = [];
402
+ for (const agent of visible) {
403
+ const visibleTools = agent.tools.filter((t) => {
404
+ const tv = t.visibility ?? "internal";
405
+ if (auth?.isRoot)
406
+ return true;
407
+ if (tv === "public")
408
+ return true;
409
+ if (tv === "authenticated" &&
410
+ auth?.callerId &&
411
+ auth.callerId !== "anonymous")
412
+ return true;
413
+ if (tv === "internal" && auth)
414
+ return true;
415
+ return false;
416
+ });
417
+ for (const tool of visibleTools) {
418
+ // Build searchable text from tool name, description, agent context, and schema
419
+ const parts = [
420
+ tool.name,
421
+ tool.description,
422
+ agent.config?.name ?? "",
423
+ agent.config?.description ?? "",
424
+ agent.path,
425
+ ];
426
+ // Include property names and descriptions from input schema
427
+ const schema = tool.inputSchema;
428
+ if (schema?.properties) {
429
+ for (const [key, prop] of Object.entries(schema.properties)) {
430
+ parts.push(key);
431
+ if (prop?.description) {
432
+ parts.push(prop.description);
433
+ }
434
+ }
435
+ }
436
+ documents.push({
437
+ id: `${agent.path}/${tool.name}`,
438
+ text: parts.join(" "),
439
+ agentPath: agent.path,
440
+ toolName: tool.name,
441
+ description: tool.description,
442
+ agentName: agent.config?.name,
443
+ agentDescription: agent.config?.description,
444
+ });
445
+ }
446
+ }
447
+ const index = createBM25Index(documents);
448
+ const results = index.search(query, resultLimit ?? 10);
449
+ // Map results back to tool details
450
+ const docMap = new Map(documents.map((d) => [d.id, d]));
451
+ const matches = results.map((r) => {
452
+ const doc = docMap.get(r.id);
453
+ return {
454
+ agentPath: doc.agentPath,
455
+ tool: doc.toolName,
456
+ description: doc.description,
457
+ agentName: doc.agentName,
458
+ agentDescription: doc.agentDescription,
459
+ score: r.score,
460
+ };
461
+ });
462
+ return mcpResult({
463
+ success: true,
464
+ query,
465
+ results: matches,
466
+ total: matches.length,
467
+ });
468
+ }
365
469
  default:
366
470
  throw new Error(`Unknown tool: ${toolName}`);
367
471
  }