@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.
@@ -235,7 +235,7 @@ function createAgentRegistry(options = {}) {
235
235
  })),
236
236
  };
237
237
  }
238
- const registry = {
238
+ const registryObj = {
239
239
  register(input) {
240
240
  let agent;
241
241
  if (isSerialized(input)) {
@@ -285,209 +285,238 @@ function createAgentRegistry(options = {}) {
285
285
  async emit(event) {
286
286
  await eventBus.emit(event);
287
287
  },
288
+ async trigger(_eventType, event) {
289
+ await eventBus.emit(event);
290
+ },
288
291
  async call(request) {
289
- const agent = agents.get(request.path);
290
- if (!agent) {
291
- return {
292
- success: false,
293
- error: `Agent not found: ${request.path}`,
294
- code: "AGENT_NOT_FOUND",
295
- };
296
- }
297
- // Check agent access
298
- if (!checkAgentAccess(agent, request.callerId, request.callerType)) {
299
- return {
300
- success: false,
301
- error: `Access denied to agent: ${request.path}`,
302
- code: "ACCESS_DENIED",
303
- };
304
- }
305
- // Check action is supported
306
- if (!checkActionSupported(agent, request.action)) {
307
- const supported = agent.config?.supportedActions ?? DEFAULT_SUPPORTED_ACTIONS;
292
+ // Emit call event — listeners can next()/resolve() to control flow
293
+ let intercepted;
294
+ let nextCalled = false;
295
+ let nextResult;
296
+ await eventBus.emit({
297
+ type: "call",
298
+ agentPath: request.path,
299
+ timestamp: Date.now(),
300
+ request,
301
+ async next() {
302
+ nextCalled = true;
303
+ nextResult = await callInternal(request);
304
+ return nextResult;
305
+ },
306
+ resolve(response) {
307
+ intercepted = response;
308
+ },
309
+ });
310
+ if (intercepted)
311
+ return intercepted;
312
+ if (nextCalled)
313
+ return nextResult;
314
+ // No listener engaged — run default
315
+ return callInternal(request);
316
+ },
317
+ };
318
+ return registryObj;
319
+ async function callInternal(request) {
320
+ const agent = agents.get(request.path);
321
+ if (!agent) {
322
+ return {
323
+ success: false,
324
+ error: `Agent not found: ${request.path}`,
325
+ code: "AGENT_NOT_FOUND",
326
+ };
327
+ }
328
+ // Check agent access
329
+ if (!checkAgentAccess(agent, request.callerId, request.callerType)) {
330
+ return {
331
+ success: false,
332
+ error: `Access denied to agent: ${request.path}`,
333
+ code: "ACCESS_DENIED",
334
+ };
335
+ }
336
+ // Check action is supported
337
+ if (!checkActionSupported(agent, request.action)) {
338
+ const supported = agent.config?.supportedActions ?? DEFAULT_SUPPORTED_ACTIONS;
339
+ return {
340
+ success: false,
341
+ error: `Action '${request.action}' not supported by agent. Supported: ${supported.join(", ")}`,
342
+ code: "ACTION_NOT_SUPPORTED",
343
+ };
344
+ }
345
+ switch (request.action) {
346
+ case "invoke":
347
+ case "ask": {
348
+ // Get runtime if available
349
+ const runtime = agent.runtime?.();
350
+ // Call onInvoke hook if defined
351
+ if (runtime?.onInvoke) {
352
+ await runtime.onInvoke({
353
+ tenantId: "default",
354
+ agentPath: request.path,
355
+ prompt: request.prompt,
356
+ sessionId: request.sessionId,
357
+ callerId: request.callerId ?? "unknown",
358
+ callerType: request.callerType ?? "system",
359
+ metadata: request.metadata,
360
+ });
361
+ }
362
+ // These actions require an LLM runtime which this SDK doesn't provide
363
+ // Users can implement their own invoke/ask handlers or use a full runtime
308
364
  return {
309
365
  success: false,
310
- error: `Action '${request.action}' not supported by agent. Supported: ${supported.join(", ")}`,
311
- code: "ACTION_NOT_SUPPORTED",
366
+ error: `Action '${request.action}' requires an LLM runtime. Use execute_tool for direct tool calls.`,
367
+ code: "RUNTIME_REQUIRED",
312
368
  };
313
369
  }
314
- switch (request.action) {
315
- case "invoke":
316
- case "ask": {
317
- // Get runtime if available
318
- const runtime = agent.runtime?.();
319
- // Call onInvoke hook if defined
320
- if (runtime?.onInvoke) {
321
- await runtime.onInvoke({
322
- tenantId: "default",
323
- agentPath: request.path,
324
- prompt: request.prompt,
325
- sessionId: request.sessionId,
326
- callerId: request.callerId ?? "unknown",
327
- callerType: request.callerType ?? "system",
328
- metadata: request.metadata,
329
- });
330
- }
331
- // These actions require an LLM runtime which this SDK doesn't provide
332
- // Users can implement their own invoke/ask handlers or use a full runtime
370
+ case "execute_tool": {
371
+ const tool = agent.tools.find((t) => t.name === request.tool);
372
+ if (!tool) {
333
373
  return {
334
374
  success: false,
335
- error: `Action '${request.action}' requires an LLM runtime. Use execute_tool for direct tool calls.`,
336
- code: "RUNTIME_REQUIRED",
375
+ error: `Tool not found: ${request.tool}`,
376
+ code: "TOOL_NOT_FOUND",
337
377
  };
338
378
  }
339
- case "execute_tool": {
340
- const tool = agent.tools.find((t) => t.name === request.tool);
341
- if (!tool) {
342
- return {
343
- success: false,
344
- error: `Tool not found: ${request.tool}`,
345
- code: "TOOL_NOT_FOUND",
346
- };
347
- }
348
- // Check tool access
349
- if (!checkToolAccess(agent, request.tool, request.callerId, request.callerType)) {
379
+ // Check tool access
380
+ if (!checkToolAccess(agent, request.tool, request.callerId, request.callerType)) {
381
+ return {
382
+ success: false,
383
+ error: `Access denied to tool: ${request.tool} (visibility=${tool.visibility}, callerId=${request.callerId}, callerType=${request.callerType})`,
384
+ code: "ACCESS_DENIED",
385
+ };
386
+ }
387
+ let ctx = {
388
+ tenantId: "default",
389
+ agentPath: agent.path,
390
+ callerId: request.callerId ?? "unknown",
391
+ callerType: request.callerType ?? "system",
392
+ metadata: request.metadata,
393
+ };
394
+ // Apply contextFactory if provided
395
+ if (options.contextFactory) {
396
+ ctx = options.contextFactory(ctx);
397
+ }
398
+ try {
399
+ if (!tool.execute) {
350
400
  return {
351
401
  success: false,
352
- error: `Access denied to tool: ${request.tool} (visibility=${tool.visibility}, callerId=${request.callerId}, callerType=${request.callerType})`,
353
- code: "ACCESS_DENIED",
402
+ error: `Tool ${request.tool} has no execute function`,
354
403
  };
355
404
  }
356
- let ctx = {
357
- tenantId: "default",
405
+ // Emit tool/call before execution
406
+ const startMs = Date.now();
407
+ await eventBus.emit({
408
+ type: "tool/call",
358
409
  agentPath: agent.path,
359
- callerId: request.callerId ?? "unknown",
360
- callerType: request.callerType ?? "system",
361
- metadata: request.metadata,
362
- };
363
- // Apply contextFactory if provided
364
- if (options.contextFactory) {
365
- ctx = options.contextFactory(ctx);
366
- }
410
+ tool: request.tool,
411
+ params: request.params,
412
+ timestamp: startMs,
413
+ });
414
+ let result;
367
415
  try {
368
- if (!tool.execute) {
369
- return {
370
- success: false,
371
- error: `Tool ${request.tool} has no execute function`,
372
- };
373
- }
374
- // Emit tool/call before execution
375
- const startMs = Date.now();
376
- await eventBus.emit({
377
- type: "tool/call",
378
- agentPath: agent.path,
379
- tool: request.tool,
380
- params: request.params,
381
- timestamp: startMs,
382
- });
383
- let result;
384
- try {
385
- result = await tool.execute(request.params, ctx);
386
- }
387
- catch (err) {
388
- // Emit tool/error on failure
389
- await eventBus
390
- .emit({
391
- type: "tool/error",
392
- agentPath: agent.path,
393
- tool: request.tool,
394
- params: request.params,
395
- error: err,
396
- durationMs: Date.now() - startMs,
397
- timestamp: Date.now(),
398
- })
399
- .catch(() => { }); // don't let emit error mask tool error
400
- return {
401
- success: false,
402
- error: err instanceof Error ? err.message : String(err),
403
- code: "TOOL_EXECUTION_ERROR",
404
- };
405
- }
406
- // Emit tool/result after success
407
- await eventBus.emit({
408
- type: "tool/result",
416
+ result = await tool.execute(request.params, ctx);
417
+ }
418
+ catch (err) {
419
+ // Emit tool/error on failure
420
+ await eventBus
421
+ .emit({
422
+ type: "tool/error",
409
423
  agentPath: agent.path,
410
424
  tool: request.tool,
411
425
  params: request.params,
412
- result,
426
+ error: err,
413
427
  durationMs: Date.now() - startMs,
414
428
  timestamp: Date.now(),
415
- });
416
- return {
417
- success: true,
418
- result,
419
- };
420
- }
421
- catch (outerErr) {
422
- // Catch-all for unexpected errors (e.g., emit failures)
429
+ })
430
+ .catch(() => { }); // don't let emit error mask tool error
423
431
  return {
424
432
  success: false,
425
- error: outerErr instanceof Error ? outerErr.message : String(outerErr),
433
+ error: err instanceof Error ? err.message : String(err),
426
434
  code: "TOOL_EXECUTION_ERROR",
427
435
  };
428
436
  }
429
- }
430
- case "describe_tools": {
431
- const toolSchemas = agent.tools
432
- .filter((t) => checkToolAccess(agent, t.name, request.callerId, request.callerType))
433
- .filter((t) => request.tools ? request.tools.includes(t.name) : true)
434
- .map((t) => ({
435
- name: t.name,
436
- description: t.description,
437
- inputSchema: t.inputSchema,
438
- ...(t.outputSchema && { outputSchema: t.outputSchema }),
439
- }));
437
+ // Emit tool/result after success
438
+ await eventBus.emit({
439
+ type: "tool/result",
440
+ agentPath: agent.path,
441
+ tool: request.tool,
442
+ params: request.params,
443
+ result,
444
+ durationMs: Date.now() - startMs,
445
+ timestamp: Date.now(),
446
+ });
440
447
  return {
441
448
  success: true,
442
- tools: toolSchemas,
449
+ result,
443
450
  };
444
451
  }
445
- case "load": {
446
- if (options.middleware?.load) {
447
- return options.middleware.load(defaultLoad, {
448
- agent,
449
- request,
450
- registry,
451
- });
452
- }
453
- return defaultLoad(agent, request);
454
- }
455
- case "learn": {
456
- // Get runtime if available
457
- const runtime = agent.runtime?.();
458
- // Call onLearn hook if defined
459
- if (runtime?.onLearn) {
460
- await runtime.onLearn({
461
- tenantId: "default",
462
- agentPath: request.path,
463
- content: request.content,
464
- scope: request.scope ?? "session",
465
- category: request.category,
466
- callerId: request.callerId ?? "unknown",
467
- });
468
- return {
469
- success: true,
470
- action: "stored",
471
- };
472
- }
473
- // No runtime or no onLearn hook - ignore
452
+ catch (outerErr) {
453
+ // Catch-all for unexpected errors (e.g., emit failures)
474
454
  return {
475
- success: true,
476
- action: "ignored",
455
+ success: false,
456
+ error: outerErr instanceof Error ? outerErr.message : String(outerErr),
457
+ code: "TOOL_EXECUTION_ERROR",
477
458
  };
478
459
  }
479
- default: {
480
- // TypeScript exhaustiveness check
481
- const _exhaustive = request;
460
+ }
461
+ case "describe_tools": {
462
+ const toolSchemas = agent.tools
463
+ .filter((t) => checkToolAccess(agent, t.name, request.callerId, request.callerType))
464
+ .filter((t) => request.tools ? request.tools.includes(t.name) : true)
465
+ .map((t) => ({
466
+ name: t.name,
467
+ description: t.description,
468
+ inputSchema: t.inputSchema,
469
+ ...(t.outputSchema && { outputSchema: t.outputSchema }),
470
+ }));
471
+ return {
472
+ success: true,
473
+ tools: toolSchemas,
474
+ };
475
+ }
476
+ case "load": {
477
+ if (options.middleware?.load) {
478
+ return options.middleware.load(defaultLoad, {
479
+ agent,
480
+ request,
481
+ registry: registryObj,
482
+ });
483
+ }
484
+ return defaultLoad(agent, request);
485
+ }
486
+ case "learn": {
487
+ // Get runtime if available
488
+ const runtime = agent.runtime?.();
489
+ // Call onLearn hook if defined
490
+ if (runtime?.onLearn) {
491
+ await runtime.onLearn({
492
+ tenantId: "default",
493
+ agentPath: request.path,
494
+ content: request.content,
495
+ scope: request.scope ?? "session",
496
+ category: request.category,
497
+ callerId: request.callerId ?? "unknown",
498
+ });
482
499
  return {
483
- success: false,
484
- error: `Unknown action: ${_exhaustive.action}`,
485
- code: "UNKNOWN_ACTION",
500
+ success: true,
501
+ action: "stored",
486
502
  };
487
503
  }
504
+ // No runtime or no onLearn hook - ignore
505
+ return {
506
+ success: true,
507
+ action: "ignored",
508
+ };
488
509
  }
489
- },
490
- };
491
- return registry;
510
+ default: {
511
+ // TypeScript exhaustiveness check
512
+ const _exhaustive = request;
513
+ return {
514
+ success: false,
515
+ error: `Unknown action: ${_exhaustive.action}`,
516
+ code: "UNKNOWN_ACTION",
517
+ };
518
+ }
519
+ }
520
+ }
492
521
  }
493
522
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAsJH,kDA0BC;AAED,kDA6kBG;AA7vBH,yCAA6C;AAE7C,2CAA6C;AAmB7C,+CAAsD;AAEtD,iDAAiD;AACjD,MAAM,yBAAyB,GAAkB;IAC/C,cAAc;IACd,gBAAgB;IAChB,MAAM;CACP,CAAC;AA+GF;;;;;;;;GAQG;AACH,SAAgB,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,SAAgB,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,IAAA,0BAAc,GAAE,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,IAAA,mBAAO,EAAC,WAAW,CAAC,CAAC;YACjC,OAAO,IAAA,mBAAO,EAAC,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,WAAW,GAAkB;QACjC,QAAQ,CAAC,KAAkD;YACzD,IAAI,KAAsB,CAAC;YAC3B,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAA,mCAAqB,EACnB,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,OAAO,CACX,UAAa,EACb,KAAoC;YAEpC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAc,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAyB;YAClC,mEAAmE;YACnE,IAAI,WAA0C,CAAC;YAC/C,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,UAAyC,CAAC;YAC9C,MAAM,QAAQ,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,OAAO,CAAC,IAAI;gBACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,OAAO;gBACP,KAAK,CAAC,IAAI;oBACR,UAAU,GAAG,IAAI,CAAC;oBAClB,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;oBACzC,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,OAAO,CAAC,QAA2B;oBACjC,WAAW,GAAG,QAAQ,CAAC;gBACzB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,WAAW;gBAAE,OAAO,WAAW,CAAC;YACpC,IAAI,UAAU;gBAAE,OAAO,UAAW,CAAC;YACnC,oCAAoC;YACpC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;IAEF,OAAO,WAAW,CAAC;IAEnB,KAAK,UAAU,YAAY,CAAC,OAAyB;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE;gBACzC,IAAI,EAAE,iBAAiB;aACE,CAAC;QAC9B,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,2BAA2B,OAAO,CAAC,IAAI,EAAE;gBAChD,IAAI,EAAE,eAAe;aACI,CAAC;QAC9B,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,EAAE,gBAAgB,IAAI,yBAAyB,CAAC;YAC9D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,WAAW,OAAO,CAAC,MAAM,wCAAwC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9F,IAAI,EAAE,sBAAsB;aACH,CAAC;QAC9B,CAAC;QAED,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,2BAA2B;gBAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAElC,gCAAgC;gBAChC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;oBACtB,MAAM,OAAO,CAAC,QAAQ,CAAC;wBACrB,QAAQ,EAAE,SAAS;wBACnB,SAAS,EAAE,OAAO,CAAC,IAAI;wBACvB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;wBACvC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ;wBAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBAED,sEAAsE;gBACtE,0EAA0E;gBAC1E,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,WAAW,OAAO,CAAC,MAAM,oEAAoE;oBACpG,IAAI,EAAE,kBAAkB;iBACC,CAAC;YAC9B,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAC3B,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAC/C,CAAC;gBAEF,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,mBAAmB,OAAO,CAAC,IAAI,EAAE;wBACxC,IAAI,EAAE,gBAAgB;qBACG,CAAC;gBAC9B,CAAC;gBAED,oBAAoB;gBACpB,IACE,CAAC,eAAe,CACd,KAAK,EACL,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,CACnB,EACD,CAAC;oBACD,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,0BAA0B,OAAO,CAAC,IAAI,gBAAgB,IAAI,CAAC,UAAU,cAAc,OAAO,CAAC,QAAQ,gBAAgB,OAAO,CAAC,UAAU,GAAG;wBAC/I,IAAI,EAAE,eAAe;qBACI,CAAC;gBAC9B,CAAC;gBAED,IAAI,GAAG,GAAgB;oBACrB,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;oBACvC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ;oBAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC;gBAEF,mCAAmC;gBACnC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC3B,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;gBAED,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBAClB,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,QAAQ,OAAO,CAAC,IAAI,0BAA0B;yBAC5B,CAAC;oBAC9B,CAAC;oBAED,kCAAkC;oBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC3B,MAAM,QAAQ,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,IAAI,EAAE,OAAO,CAAC,IAAK;wBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,SAAS,EAAE,OAAO;qBACnB,CAAC,CAAC;oBAEH,IAAI,MAAe,CAAC;oBACpB,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACnD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,6BAA6B;wBAC7B,MAAM,QAAQ;6BACX,IAAI,CAAC;4BACJ,IAAI,EAAE,YAAY;4BAClB,SAAS,EAAE,KAAK,CAAC,IAAI;4BACrB,IAAI,EAAE,OAAO,CAAC,IAAK;4BACnB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,KAAK,EAAE,GAAG;4BACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;4BAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;yBACtB,CAAC;6BACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,uCAAuC;wBAE3D,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;4BACvD,IAAI,EAAE,sBAAsB;yBACH,CAAC;oBAC9B,CAAC;oBAED,iCAAiC;oBACjC,MAAM,QAAQ,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,aAAa;wBACnB,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,IAAI,EAAE,OAAO,CAAC,IAAK;wBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,MAAM;wBACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;wBAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACtB,CAAC,CAAC;oBAEH,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,MAAM;qBACyB,CAAC;gBACpC,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,wDAAwD;oBACxD,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EACH,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;wBACjE,IAAI,EAAE,sBAAsB;qBACH,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,WAAW,GAAiB,KAAK,CAAC,KAAK;qBAC1C,MAAM,CAAC,CAAC,CAAiB,EAAE,EAAE,CAC5B,eAAe,CACb,KAAK,EACL,CAAC,CAAC,IAAI,EACN,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,CACnB,CACF;qBACA,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;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;gBAEN,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,WAAW;iBACe,CAAC;YACtC,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;oBAC7B,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE;wBAC1C,KAAK;wBACL,OAAO;wBACP,QAAQ,EAAE,WAAW;qBACtB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,2BAA2B;gBAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAElC,+BAA+B;gBAC/B,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,MAAM,OAAO,CAAC,OAAO,CAAC;wBACpB,QAAQ,EAAE,SAAS;wBACnB,SAAS,EAAE,OAAO,CAAC,IAAI;wBACvB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;wBACjC,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;qBACxC,CAAC,CAAC;oBAEH,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,QAAQ;qBACS,CAAC;gBAC9B,CAAC;gBAED,yCAAyC;gBACzC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,SAAS;iBACQ,CAAC;YAC9B,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,kCAAkC;gBAClC,MAAM,WAAW,GAAU,OAAO,CAAC;gBACnC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,mBAAoB,WAAgC,CAAC,MAAM,EAAE;oBACpE,IAAI,EAAE,gBAAgB;iBACG,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * Minimal JSON-RPC server implementing the MCP protocol for agent interaction.
6
6
  * Handles only core SDK concerns:
7
7
  * - MCP protocol (initialize, tools/list, tools/call)
8
- * - Agent registry routing (call_agent, list_agents)
8
+ * - Agent registry routing (call_agent, list_agents, search_agent_tools)
9
9
  * - Auth resolution (Bearer tokens, root key, JWT)
10
10
  * - OAuth2 token exchange (client_credentials)
11
11
  * - Health check
@@ -31,6 +31,7 @@ exports.resolveAuth = resolveAuth;
31
31
  exports.canSeeAgent = canSeeAgent;
32
32
  exports.createAgentServer = createAgentServer;
33
33
  const secrets_js_1 = require("./agent-definitions/secrets.js");
34
+ const bm25_js_1 = require("./bm25.js");
34
35
  const jwt_js_1 = require("./jwt.js");
35
36
  const jwt_js_2 = require("./jwt.js");
36
37
  const oidc_signin_js_1 = require("./oidc-signin.js");
@@ -256,6 +257,29 @@ function getToolDefinitions() {
256
257
  properties: {},
257
258
  },
258
259
  },
260
+ {
261
+ name: "search_agent_tools",
262
+ description: "Search across all registered agent tools using natural language. Returns tools ranked by relevance using BM25 scoring.",
263
+ inputSchema: {
264
+ type: "object",
265
+ properties: {
266
+ query: {
267
+ type: "string",
268
+ description: "Natural language search query (e.g. 'send a message', 'database query')",
269
+ },
270
+ agents: {
271
+ type: "array",
272
+ items: { type: "string" },
273
+ description: "Optional list of agent paths to search within (e.g. ['@notifications', '@db']). Searches all agents if omitted.",
274
+ },
275
+ limit: {
276
+ type: "number",
277
+ description: "Maximum number of results to return (default: 10)",
278
+ },
279
+ },
280
+ required: ["query"],
281
+ },
282
+ },
259
283
  ];
260
284
  }
261
285
  // ============================================
@@ -368,6 +392,86 @@ function createAgentServer(registry, options = {}) {
368
392
  })),
369
393
  });
370
394
  }
395
+ case "search_agent_tools": {
396
+ const { query, agents: agentFilter, limit: resultLimit } = args;
397
+ const agents = registry.list();
398
+ const visible = agents.filter((agent) => {
399
+ if (!canSeeAgent(agent, auth))
400
+ return false;
401
+ if (agentFilter && agentFilter.length > 0) {
402
+ return agentFilter.includes(agent.path);
403
+ }
404
+ return true;
405
+ });
406
+ // Build search documents from all visible tools
407
+ const documents = [];
408
+ for (const agent of visible) {
409
+ const visibleTools = agent.tools.filter((t) => {
410
+ const tv = t.visibility ?? "internal";
411
+ if (auth?.isRoot)
412
+ return true;
413
+ if (tv === "public")
414
+ return true;
415
+ if (tv === "authenticated" &&
416
+ auth?.callerId &&
417
+ auth.callerId !== "anonymous")
418
+ return true;
419
+ if (tv === "internal" && auth)
420
+ return true;
421
+ return false;
422
+ });
423
+ for (const tool of visibleTools) {
424
+ // Build searchable text from tool name, description, agent context, and schema
425
+ const parts = [
426
+ tool.name,
427
+ tool.description,
428
+ agent.config?.name ?? "",
429
+ agent.config?.description ?? "",
430
+ agent.path,
431
+ ];
432
+ // Include property names and descriptions from input schema
433
+ const schema = tool.inputSchema;
434
+ if (schema?.properties) {
435
+ for (const [key, prop] of Object.entries(schema.properties)) {
436
+ parts.push(key);
437
+ if (prop?.description) {
438
+ parts.push(prop.description);
439
+ }
440
+ }
441
+ }
442
+ documents.push({
443
+ id: `${agent.path}/${tool.name}`,
444
+ text: parts.join(" "),
445
+ agentPath: agent.path,
446
+ toolName: tool.name,
447
+ description: tool.description,
448
+ agentName: agent.config?.name,
449
+ agentDescription: agent.config?.description,
450
+ });
451
+ }
452
+ }
453
+ const index = (0, bm25_js_1.createBM25Index)(documents);
454
+ const results = index.search(query, resultLimit ?? 10);
455
+ // Map results back to tool details
456
+ const docMap = new Map(documents.map((d) => [d.id, d]));
457
+ const matches = results.map((r) => {
458
+ const doc = docMap.get(r.id);
459
+ return {
460
+ agentPath: doc.agentPath,
461
+ tool: doc.toolName,
462
+ description: doc.description,
463
+ agentName: doc.agentName,
464
+ agentDescription: doc.agentDescription,
465
+ score: r.score,
466
+ };
467
+ });
468
+ return mcpResult({
469
+ success: true,
470
+ query,
471
+ results: matches,
472
+ total: matches.length,
473
+ });
474
+ }
371
475
  default:
372
476
  throw new Error(`Unknown tool: ${toolName}`);
373
477
  }