@slashfi/agents-sdk 0.30.2 → 0.31.0-pr.dev.4fd2a3c
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/call-agent-schema.d.ts +155 -0
- package/dist/call-agent-schema.d.ts.map +1 -1
- package/dist/call-agent-schema.js +13 -0
- package/dist/call-agent-schema.js.map +1 -1
- package/dist/cjs/call-agent-schema.js +14 -1
- package/dist/cjs/call-agent-schema.js.map +1 -1
- package/dist/cjs/define-config.js +1 -0
- package/dist/cjs/define-config.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry-consumer.js +110 -33
- package/dist/cjs/registry-consumer.js.map +1 -1
- package/dist/cjs/registry.js +35 -0
- package/dist/cjs/registry.js.map +1 -1
- package/dist/cjs/server.js +14 -3
- package/dist/cjs/server.js.map +1 -1
- package/dist/define-config.d.ts +4 -0
- package/dist/define-config.d.ts.map +1 -1
- package/dist/define-config.js +1 -0
- package/dist/define-config.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/registry-consumer.d.ts +13 -0
- package/dist/registry-consumer.d.ts.map +1 -1
- package/dist/registry-consumer.js +110 -33
- package/dist/registry-consumer.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +35 -0
- package/dist/registry.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +14 -3
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +53 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/call-agent-schema.ts +21 -0
- package/src/codegen.test.ts +10 -0
- package/src/consumer.test.ts +132 -0
- package/src/define-config.ts +6 -0
- package/src/index.ts +6 -0
- package/src/registry-consumer.ts +155 -34
- package/src/registry.ts +39 -0
- package/src/server.ts +14 -3
- package/src/types.ts +59 -0
|
@@ -145,6 +145,51 @@ export declare const loadActionSchema: z.ZodObject<{
|
|
|
145
145
|
callerType?: "agent" | "user" | "system" | undefined;
|
|
146
146
|
metadata?: Record<string, unknown> | undefined;
|
|
147
147
|
}>;
|
|
148
|
+
/** List resources: discover available resources on an agent */
|
|
149
|
+
export declare const listResourcesActionSchema: z.ZodObject<{
|
|
150
|
+
path: z.ZodString;
|
|
151
|
+
callerId: z.ZodOptional<z.ZodString>;
|
|
152
|
+
callerType: z.ZodOptional<z.ZodEnum<["agent", "user", "system"]>>;
|
|
153
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
154
|
+
} & {
|
|
155
|
+
action: z.ZodLiteral<"list_resources">;
|
|
156
|
+
}, "strip", z.ZodTypeAny, {
|
|
157
|
+
action: "list_resources";
|
|
158
|
+
path: string;
|
|
159
|
+
callerId?: string | undefined;
|
|
160
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
161
|
+
metadata?: Record<string, unknown> | undefined;
|
|
162
|
+
}, {
|
|
163
|
+
action: "list_resources";
|
|
164
|
+
path: string;
|
|
165
|
+
callerId?: string | undefined;
|
|
166
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
167
|
+
metadata?: Record<string, unknown> | undefined;
|
|
168
|
+
}>;
|
|
169
|
+
/** Read resources: fetch one or more resources by URI */
|
|
170
|
+
export declare const readResourcesActionSchema: z.ZodObject<{
|
|
171
|
+
path: z.ZodString;
|
|
172
|
+
callerId: z.ZodOptional<z.ZodString>;
|
|
173
|
+
callerType: z.ZodOptional<z.ZodEnum<["agent", "user", "system"]>>;
|
|
174
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
175
|
+
} & {
|
|
176
|
+
action: z.ZodLiteral<"read_resources">;
|
|
177
|
+
uris: z.ZodArray<z.ZodString, "many">;
|
|
178
|
+
}, "strip", z.ZodTypeAny, {
|
|
179
|
+
action: "read_resources";
|
|
180
|
+
path: string;
|
|
181
|
+
uris: string[];
|
|
182
|
+
callerId?: string | undefined;
|
|
183
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
184
|
+
metadata?: Record<string, unknown> | undefined;
|
|
185
|
+
}, {
|
|
186
|
+
action: "read_resources";
|
|
187
|
+
path: string;
|
|
188
|
+
uris: string[];
|
|
189
|
+
callerId?: string | undefined;
|
|
190
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
191
|
+
metadata?: Record<string, unknown> | undefined;
|
|
192
|
+
}>;
|
|
148
193
|
export declare const callAgentRequestSchema: z.ZodDiscriminatedUnion<"action", [z.ZodObject<{
|
|
149
194
|
path: z.ZodString;
|
|
150
195
|
callerId: z.ZodOptional<z.ZodString>;
|
|
@@ -267,6 +312,47 @@ export declare const callAgentRequestSchema: z.ZodDiscriminatedUnion<"action", [
|
|
|
267
312
|
callerId?: string | undefined;
|
|
268
313
|
callerType?: "agent" | "user" | "system" | undefined;
|
|
269
314
|
metadata?: Record<string, unknown> | undefined;
|
|
315
|
+
}>, z.ZodObject<{
|
|
316
|
+
path: z.ZodString;
|
|
317
|
+
callerId: z.ZodOptional<z.ZodString>;
|
|
318
|
+
callerType: z.ZodOptional<z.ZodEnum<["agent", "user", "system"]>>;
|
|
319
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
320
|
+
} & {
|
|
321
|
+
action: z.ZodLiteral<"list_resources">;
|
|
322
|
+
}, "strip", z.ZodTypeAny, {
|
|
323
|
+
action: "list_resources";
|
|
324
|
+
path: string;
|
|
325
|
+
callerId?: string | undefined;
|
|
326
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
327
|
+
metadata?: Record<string, unknown> | undefined;
|
|
328
|
+
}, {
|
|
329
|
+
action: "list_resources";
|
|
330
|
+
path: string;
|
|
331
|
+
callerId?: string | undefined;
|
|
332
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
333
|
+
metadata?: Record<string, unknown> | undefined;
|
|
334
|
+
}>, z.ZodObject<{
|
|
335
|
+
path: z.ZodString;
|
|
336
|
+
callerId: z.ZodOptional<z.ZodString>;
|
|
337
|
+
callerType: z.ZodOptional<z.ZodEnum<["agent", "user", "system"]>>;
|
|
338
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
339
|
+
} & {
|
|
340
|
+
action: z.ZodLiteral<"read_resources">;
|
|
341
|
+
uris: z.ZodArray<z.ZodString, "many">;
|
|
342
|
+
}, "strip", z.ZodTypeAny, {
|
|
343
|
+
action: "read_resources";
|
|
344
|
+
path: string;
|
|
345
|
+
uris: string[];
|
|
346
|
+
callerId?: string | undefined;
|
|
347
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
348
|
+
metadata?: Record<string, unknown> | undefined;
|
|
349
|
+
}, {
|
|
350
|
+
action: "read_resources";
|
|
351
|
+
path: string;
|
|
352
|
+
uris: string[];
|
|
353
|
+
callerId?: string | undefined;
|
|
354
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
355
|
+
metadata?: Record<string, unknown> | undefined;
|
|
270
356
|
}>]>;
|
|
271
357
|
export type CallAgentRequest = z.infer<typeof callAgentRequestSchema>;
|
|
272
358
|
export type CallAgentInvokeRequest = z.infer<typeof invokeActionSchema>;
|
|
@@ -274,6 +360,8 @@ export type CallAgentAskRequest = z.infer<typeof askActionSchema>;
|
|
|
274
360
|
export type CallAgentExecuteToolRequest = z.infer<typeof executeToolActionSchema>;
|
|
275
361
|
export type CallAgentDescribeToolsRequest = z.infer<typeof describeToolsActionSchema>;
|
|
276
362
|
export type CallAgentLoadRequest = z.infer<typeof loadActionSchema>;
|
|
363
|
+
export type CallAgentListResourcesRequest = z.infer<typeof listResourcesActionSchema>;
|
|
364
|
+
export type CallAgentReadResourcesRequest = z.infer<typeof readResourcesActionSchema>;
|
|
277
365
|
/** All supported agent actions — derived from the schema. */
|
|
278
366
|
export type AgentAction = CallAgentRequest["action"];
|
|
279
367
|
/** CallerType — derived from the schema. */
|
|
@@ -407,6 +495,47 @@ export declare const callAgentToolInputSchema: z.ZodObject<{
|
|
|
407
495
|
callerId?: string | undefined;
|
|
408
496
|
callerType?: "agent" | "user" | "system" | undefined;
|
|
409
497
|
metadata?: Record<string, unknown> | undefined;
|
|
498
|
+
}>, z.ZodObject<{
|
|
499
|
+
path: z.ZodString;
|
|
500
|
+
callerId: z.ZodOptional<z.ZodString>;
|
|
501
|
+
callerType: z.ZodOptional<z.ZodEnum<["agent", "user", "system"]>>;
|
|
502
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
503
|
+
} & {
|
|
504
|
+
action: z.ZodLiteral<"list_resources">;
|
|
505
|
+
}, "strip", z.ZodTypeAny, {
|
|
506
|
+
action: "list_resources";
|
|
507
|
+
path: string;
|
|
508
|
+
callerId?: string | undefined;
|
|
509
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
510
|
+
metadata?: Record<string, unknown> | undefined;
|
|
511
|
+
}, {
|
|
512
|
+
action: "list_resources";
|
|
513
|
+
path: string;
|
|
514
|
+
callerId?: string | undefined;
|
|
515
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
516
|
+
metadata?: Record<string, unknown> | undefined;
|
|
517
|
+
}>, z.ZodObject<{
|
|
518
|
+
path: z.ZodString;
|
|
519
|
+
callerId: z.ZodOptional<z.ZodString>;
|
|
520
|
+
callerType: z.ZodOptional<z.ZodEnum<["agent", "user", "system"]>>;
|
|
521
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
522
|
+
} & {
|
|
523
|
+
action: z.ZodLiteral<"read_resources">;
|
|
524
|
+
uris: z.ZodArray<z.ZodString, "many">;
|
|
525
|
+
}, "strip", z.ZodTypeAny, {
|
|
526
|
+
action: "read_resources";
|
|
527
|
+
path: string;
|
|
528
|
+
uris: string[];
|
|
529
|
+
callerId?: string | undefined;
|
|
530
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
531
|
+
metadata?: Record<string, unknown> | undefined;
|
|
532
|
+
}, {
|
|
533
|
+
action: "read_resources";
|
|
534
|
+
path: string;
|
|
535
|
+
uris: string[];
|
|
536
|
+
callerId?: string | undefined;
|
|
537
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
538
|
+
metadata?: Record<string, unknown> | undefined;
|
|
410
539
|
}>]>;
|
|
411
540
|
}, "strip", z.ZodTypeAny, {
|
|
412
541
|
request: {
|
|
@@ -448,6 +577,19 @@ export declare const callAgentToolInputSchema: z.ZodObject<{
|
|
|
448
577
|
callerId?: string | undefined;
|
|
449
578
|
callerType?: "agent" | "user" | "system" | undefined;
|
|
450
579
|
metadata?: Record<string, unknown> | undefined;
|
|
580
|
+
} | {
|
|
581
|
+
action: "list_resources";
|
|
582
|
+
path: string;
|
|
583
|
+
callerId?: string | undefined;
|
|
584
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
585
|
+
metadata?: Record<string, unknown> | undefined;
|
|
586
|
+
} | {
|
|
587
|
+
action: "read_resources";
|
|
588
|
+
path: string;
|
|
589
|
+
uris: string[];
|
|
590
|
+
callerId?: string | undefined;
|
|
591
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
592
|
+
metadata?: Record<string, unknown> | undefined;
|
|
451
593
|
};
|
|
452
594
|
}, {
|
|
453
595
|
request: {
|
|
@@ -489,6 +631,19 @@ export declare const callAgentToolInputSchema: z.ZodObject<{
|
|
|
489
631
|
callerId?: string | undefined;
|
|
490
632
|
callerType?: "agent" | "user" | "system" | undefined;
|
|
491
633
|
metadata?: Record<string, unknown> | undefined;
|
|
634
|
+
} | {
|
|
635
|
+
action: "list_resources";
|
|
636
|
+
path: string;
|
|
637
|
+
callerId?: string | undefined;
|
|
638
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
639
|
+
metadata?: Record<string, unknown> | undefined;
|
|
640
|
+
} | {
|
|
641
|
+
action: "read_resources";
|
|
642
|
+
path: string;
|
|
643
|
+
uris: string[];
|
|
644
|
+
callerId?: string | undefined;
|
|
645
|
+
callerType?: "agent" | "user" | "system" | undefined;
|
|
646
|
+
metadata?: Record<string, unknown> | undefined;
|
|
492
647
|
};
|
|
493
648
|
}>;
|
|
494
649
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-agent-schema.d.ts","sourceRoot":"","sources":["../src/call-agent-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,gBAAgB,wCAAsC,CAAC;AAapE,8BAA8B;AAC9B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AAEH,wCAAwC;AACxC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW1B,CAAC;AAEH,8BAA8B;AAC9B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,oCAAoC;AACpC,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AAEH,iCAAiC;AACjC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;EAE3B,CAAC;AAMH,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"call-agent-schema.d.ts","sourceRoot":"","sources":["../src/call-agent-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,gBAAgB,wCAAsC,CAAC;AAapE,8BAA8B;AAC9B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AAEH,wCAAwC;AACxC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW1B,CAAC;AAEH,8BAA8B;AAC9B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,oCAAoC;AACpC,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AAEH,iCAAiC;AACjC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;EAE3B,CAAC;AAEH,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;EAEpC,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;EAKpC,CAAC;AAMH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQjC,CAAC;AAMH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,uBAAuB,CAC/B,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,yBAAyB,CACjC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,yBAAyB,CACjC,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,yBAAyB,CACjC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAErD,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAGzC,CAAC;AAQJ;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AAEH;;;;;GAKG;AAEH,eAAO,MAAM,oBAAoB;;;;;CAGhC,CAAC"}
|
|
@@ -72,6 +72,17 @@ export const describeToolsActionSchema = callAgentBaseSchema.extend({
|
|
|
72
72
|
export const loadActionSchema = callAgentBaseSchema.extend({
|
|
73
73
|
action: z.literal("load"),
|
|
74
74
|
});
|
|
75
|
+
/** List resources: discover available resources on an agent */
|
|
76
|
+
export const listResourcesActionSchema = callAgentBaseSchema.extend({
|
|
77
|
+
action: z.literal("list_resources").describe("List all resources available on an agent — docs, auth instructions, config schemas, etc."),
|
|
78
|
+
});
|
|
79
|
+
/** Read resources: fetch one or more resources by URI */
|
|
80
|
+
export const readResourcesActionSchema = callAgentBaseSchema.extend({
|
|
81
|
+
action: z.literal("read_resources").describe("Fetch one or more resources by URI. Use list_resources first to discover available URIs."),
|
|
82
|
+
uris: z
|
|
83
|
+
.array(z.string())
|
|
84
|
+
.describe("Resource URIs to read (e.g., ['AUTH.md'])"),
|
|
85
|
+
});
|
|
75
86
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
76
87
|
// Discriminated union (source of truth)
|
|
77
88
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -81,6 +92,8 @@ export const callAgentRequestSchema = z.discriminatedUnion("action", [
|
|
|
81
92
|
executeToolActionSchema,
|
|
82
93
|
describeToolsActionSchema,
|
|
83
94
|
loadActionSchema,
|
|
95
|
+
listResourcesActionSchema,
|
|
96
|
+
readResourcesActionSchema,
|
|
84
97
|
]);
|
|
85
98
|
/** All supported action strings as a const array. */
|
|
86
99
|
export const CALL_AGENT_ACTIONS = callAgentRequestSchema.options.map((s) => s.shape.action.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../src/call-agent-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEpE,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC3D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACxE,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CAC3E,CAAC,CAAC;AAEH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC3D,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,gBAAgB,EAAE,CAAC;SAChB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;CAC7D,CAAC,CAAC;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACxD,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,gBAAgB,EAAE,CAAC;SAChB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;CAC7D,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAChE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC9C,MAAM,EAAE,CAAC;SACN,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,yBAAyB,CAAC;CACvC,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnC,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC,CAAC;AAEH,iCAAiC;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACzD,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAC1B,CAAC,CAAC;AAEH,gFAAgF;AAChF,wCAAwC;AACxC,gFAAgF;AAEhF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACnE,kBAAkB;IAClB,eAAe;IACf,uBAAuB;IACvB,yBAAyB;IACzB,gBAAgB;
|
|
1
|
+
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../src/call-agent-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* Response types live in types.ts (they're output shapes, not validated input).
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.callAgentInputSchema = exports.callAgentToolInputSchema = exports.CALL_AGENT_ACTIONS = exports.callAgentRequestSchema = exports.loadActionSchema = exports.describeToolsActionSchema = exports.executeToolActionSchema = exports.askActionSchema = exports.invokeActionSchema = exports.callerTypeSchema = void 0;
|
|
16
|
+
exports.callAgentInputSchema = exports.callAgentToolInputSchema = exports.CALL_AGENT_ACTIONS = exports.callAgentRequestSchema = exports.readResourcesActionSchema = exports.listResourcesActionSchema = exports.loadActionSchema = exports.describeToolsActionSchema = exports.executeToolActionSchema = exports.askActionSchema = exports.invokeActionSchema = exports.callerTypeSchema = void 0;
|
|
17
17
|
const zod_1 = require("zod");
|
|
18
18
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
19
19
|
// Base schemas
|
|
@@ -75,6 +75,17 @@ exports.describeToolsActionSchema = callAgentBaseSchema.extend({
|
|
|
75
75
|
exports.loadActionSchema = callAgentBaseSchema.extend({
|
|
76
76
|
action: zod_1.z.literal("load"),
|
|
77
77
|
});
|
|
78
|
+
/** List resources: discover available resources on an agent */
|
|
79
|
+
exports.listResourcesActionSchema = callAgentBaseSchema.extend({
|
|
80
|
+
action: zod_1.z.literal("list_resources").describe("List all resources available on an agent — docs, auth instructions, config schemas, etc."),
|
|
81
|
+
});
|
|
82
|
+
/** Read resources: fetch one or more resources by URI */
|
|
83
|
+
exports.readResourcesActionSchema = callAgentBaseSchema.extend({
|
|
84
|
+
action: zod_1.z.literal("read_resources").describe("Fetch one or more resources by URI. Use list_resources first to discover available URIs."),
|
|
85
|
+
uris: zod_1.z
|
|
86
|
+
.array(zod_1.z.string())
|
|
87
|
+
.describe("Resource URIs to read (e.g., ['AUTH.md'])"),
|
|
88
|
+
});
|
|
78
89
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
79
90
|
// Discriminated union (source of truth)
|
|
80
91
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -84,6 +95,8 @@ exports.callAgentRequestSchema = zod_1.z.discriminatedUnion("action", [
|
|
|
84
95
|
exports.executeToolActionSchema,
|
|
85
96
|
exports.describeToolsActionSchema,
|
|
86
97
|
exports.loadActionSchema,
|
|
98
|
+
exports.listResourcesActionSchema,
|
|
99
|
+
exports.readResourcesActionSchema,
|
|
87
100
|
]);
|
|
88
101
|
/** All supported action strings as a const array. */
|
|
89
102
|
exports.CALL_AGENT_ACTIONS = exports.callAgentRequestSchema.options.map((s) => s.shape.action.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../../src/call-agent-schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,6BAAwB;AAExB,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEnE,QAAA,gBAAgB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEpE,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC3D,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACxE,UAAU,EAAE,wBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/D,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CAC3E,CAAC,CAAC;AAEH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,8BAA8B;AACjB,QAAA,kBAAkB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC3D,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnE,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,gBAAgB,EAAE,OAAC;SAChB,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;CAC7D,CAAC,CAAC;AAEH,wCAAwC;AAC3B,QAAA,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACxD,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACxB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnE,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,gBAAgB,EAAE,OAAC;SAChB,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;CAC7D,CAAC,CAAC;AAEH,8BAA8B;AACjB,QAAA,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAChE,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACjC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC9C,MAAM,EAAE,OAAC;SACN,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,yBAAyB,CAAC;CACvC,CAAC,CAAC;AAEH,oCAAoC;AACvB,QAAA,yBAAyB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAClE,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnC,KAAK,EAAE,OAAC;SACL,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC,CAAC;AAEH,iCAAiC;AACpB,QAAA,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACzD,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAC1B,CAAC,CAAC;AAEH,gFAAgF;AAChF,wCAAwC;AACxC,gFAAgF;AAEnE,QAAA,sBAAsB,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACnE,0BAAkB;IAClB,uBAAe;IACf,+BAAuB;IACvB,iCAAyB;IACzB,wBAAgB;
|
|
1
|
+
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../../src/call-agent-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,7 @@ function normalizeRegistry(entry) {
|
|
|
56
56
|
name: entry.name ?? url.hostname,
|
|
57
57
|
publisher: entry.publisher ?? url.hostname.split(".")[0],
|
|
58
58
|
auth: entry.auth ?? { type: "none" },
|
|
59
|
+
...(entry.headers && { headers: entry.headers }),
|
|
59
60
|
};
|
|
60
61
|
}
|
|
61
62
|
/** Supported secret URI schemes */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../src/define-config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;
|
|
1
|
+
{"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../src/define-config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AA+HH,oCAMC;AAGD,8CAoBC;AAMD,kCAQC;AAhDD,+CAA+C;AAC/C,UAAU;AACV,+CAA+C;AAE/C,6CAA6C;AAC7C,SAAgB,YAAY,CAAC,KAAe;IAC1C,OAAO;QACL,GAAG,KAAK;QACR,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;KAC3B,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,SAAgB,iBAAiB,CAC/B,KAA6B;IAE7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO;YACL,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;QACpC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,mCAAmC;AACnC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE5D,mEAAmE;AACnE,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,0CAA0C;AAC7B,QAAA,WAAW,GAAG,WAAW,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -64,7 +64,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
64
64
|
};
|
|
65
65
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
66
|
exports.generateCodeVerifier = exports.REGISTRY_TYPE_HTTPS = exports.REGISTRY_TYPE_MCP = exports.createRegistryConsumer = exports.isSecretUri = exports.isSecretUrl = exports.normalizeRegistry = exports.normalizeRef = exports.createKeyManager = exports.createInMemoryUserStore = exports.createUsersAgent = exports.createRemoteRegistryAgent = exports.getDefaultRefreshBodyParams = exports.getDefaultTokenBodyParams = exports.refreshAccessToken = exports.exchangeCodeForToken = exports.createInMemoryIntegrationStore = exports.createIntegrationsAgent = exports.buildJwks = exports.importSigningKey = exports.exportSigningKey = exports.generateSigningKey = exports.verifyJwtFromIssuer = exports.verifyJwtLocal = exports.signJwtES256 = exports.verifyJwt = exports.signJwt = exports.decryptSecret = exports.encryptSecret = exports.processSecretParams = exports.isSecretRef = exports.createInMemorySecretStore = exports.createSecretsAgent = exports.buildAgents = exports.createMemoryAuthStore = exports.createAuthAgent = exports.cleanupExpiredCollections = exports.generateCollectionToken = exports.pendingCollections = exports.createOIDCSignIn = exports.hasAdminScope = exports.canSeeAgent = exports.resolveAuth = exports.detectAuth = exports.createAgentServer = exports.createEventBus = exports.agentFromSerialized = exports.createAgentRegistry = exports.defineTool = exports.defineAgent = void 0;
|
|
67
|
-
exports.createConfigAgent = exports.createBM25Index = exports.assertValidDefinition = exports.validateDefinition = exports.SerializedToolSchema = exports.SerializedAgentDefinitionSchema = exports.CALL_AGENT_ACTIONS = exports.callerTypeSchema = exports.loadActionSchema = exports.describeToolsActionSchema = exports.executeToolActionSchema = exports.askActionSchema = exports.invokeActionSchema = exports.callAgentRequestSchema = exports.callAgentInputSchema = exports.introspectMcp = exports.publish = exports.pack = exports.readJsoncFile = exports.parseJsonc = exports.createClient = exports.serializeTool = exports.serializeAgent = exports.listAgentTools = exports.useAgent = exports.codegen = exports.refreshMcpAccessToken = exports.exchangeCodeForTokens = exports.buildOAuthAuthorizeUrl = exports.dynamicClientRegistration = exports.discoverOAuthMetadata = exports.generatePkcePair = exports.generateCodeChallenge = void 0;
|
|
67
|
+
exports.createConfigAgent = exports.createBM25Index = exports.assertValidDefinition = exports.validateDefinition = exports.SerializedToolSchema = exports.SerializedAgentDefinitionSchema = exports.CALL_AGENT_ACTIONS = exports.callerTypeSchema = exports.readResourcesActionSchema = exports.listResourcesActionSchema = exports.loadActionSchema = exports.describeToolsActionSchema = exports.executeToolActionSchema = exports.askActionSchema = exports.invokeActionSchema = exports.callAgentRequestSchema = exports.callAgentInputSchema = exports.introspectMcp = exports.publish = exports.pack = exports.readJsoncFile = exports.parseJsonc = exports.createClient = exports.serializeTool = exports.serializeAgent = exports.listAgentTools = exports.useAgent = exports.codegen = exports.refreshMcpAccessToken = exports.exchangeCodeForTokens = exports.buildOAuthAuthorizeUrl = exports.dynamicClientRegistration = exports.discoverOAuthMetadata = exports.generatePkcePair = exports.generateCodeChallenge = void 0;
|
|
68
68
|
// Define functions
|
|
69
69
|
var define_js_1 = require("./define.js");
|
|
70
70
|
Object.defineProperty(exports, "defineAgent", { enumerable: true, get: function () { return define_js_1.defineAgent; } });
|
|
@@ -205,6 +205,8 @@ Object.defineProperty(exports, "askActionSchema", { enumerable: true, get: funct
|
|
|
205
205
|
Object.defineProperty(exports, "executeToolActionSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.executeToolActionSchema; } });
|
|
206
206
|
Object.defineProperty(exports, "describeToolsActionSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.describeToolsActionSchema; } });
|
|
207
207
|
Object.defineProperty(exports, "loadActionSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.loadActionSchema; } });
|
|
208
|
+
Object.defineProperty(exports, "listResourcesActionSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.listResourcesActionSchema; } });
|
|
209
|
+
Object.defineProperty(exports, "readResourcesActionSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.readResourcesActionSchema; } });
|
|
208
210
|
Object.defineProperty(exports, "callerTypeSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.callerTypeSchema; } });
|
|
209
211
|
Object.defineProperty(exports, "CALL_AGENT_ACTIONS", { enumerable: true, get: function () { return call_agent_schema_js_1.CALL_AGENT_ACTIONS; } });
|
|
210
212
|
// ============================================
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,52 @@ async function resolveTemplates(obj, resolver, auth) {
|
|
|
97
97
|
return obj;
|
|
98
98
|
}
|
|
99
99
|
// ============================================
|
|
100
|
+
// Registry Auth Headers
|
|
101
|
+
// ============================================
|
|
102
|
+
/**
|
|
103
|
+
* Build auth headers for a registry based on its auth config and custom headers.
|
|
104
|
+
* Merges typed auth (bearer, api-key) with arbitrary custom headers.
|
|
105
|
+
*/
|
|
106
|
+
function buildRegistryAuthHeaders(registry, fallbackToken) {
|
|
107
|
+
const headers = {};
|
|
108
|
+
// Apply typed auth
|
|
109
|
+
switch (registry.auth.type) {
|
|
110
|
+
case "bearer": {
|
|
111
|
+
const token = ("token" in registry.auth ? registry.auth.token : undefined) ?? fallbackToken;
|
|
112
|
+
if (token) {
|
|
113
|
+
headers.Authorization = `Bearer ${token}`;
|
|
114
|
+
}
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
case "api-key": {
|
|
118
|
+
if ("key" in registry.auth && registry.auth.key) {
|
|
119
|
+
const headerName = ("header" in registry.auth ? registry.auth.header : undefined) ?? "x-api-key";
|
|
120
|
+
headers[headerName] = registry.auth.key;
|
|
121
|
+
}
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
case "jwt": {
|
|
125
|
+
// JWT auth would require token exchange — not yet implemented
|
|
126
|
+
if (fallbackToken) {
|
|
127
|
+
headers.Authorization = `Bearer ${fallbackToken}`;
|
|
128
|
+
}
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
case "none":
|
|
132
|
+
default: {
|
|
133
|
+
if (fallbackToken) {
|
|
134
|
+
headers.Authorization = `Bearer ${fallbackToken}`;
|
|
135
|
+
}
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Merge custom headers (these override auth-generated headers)
|
|
140
|
+
if (registry.headers) {
|
|
141
|
+
Object.assign(headers, registry.headers);
|
|
142
|
+
}
|
|
143
|
+
return headers;
|
|
144
|
+
}
|
|
145
|
+
// ============================================
|
|
100
146
|
// Secret Resolver
|
|
101
147
|
// ============================================
|
|
102
148
|
/** Resolves secret URLs to their values */
|
|
@@ -311,12 +357,15 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
311
357
|
// Cache for registry configurations
|
|
312
358
|
const discoveryCache = new Map();
|
|
313
359
|
// Discover a registry
|
|
314
|
-
async function discover(registryUrl) {
|
|
360
|
+
async function discover(registryUrl, registry) {
|
|
315
361
|
const cached = discoveryCache.get(registryUrl);
|
|
316
362
|
if (cached)
|
|
317
363
|
return cached;
|
|
318
364
|
const url = `${registryUrl.replace(/\/$/, "")}/.well-known/configuration`;
|
|
319
|
-
const
|
|
365
|
+
const headers = registry
|
|
366
|
+
? buildRegistryAuthHeaders(registry, options.token)
|
|
367
|
+
: (options.token ? { Authorization: `Bearer ${options.token}` } : {});
|
|
368
|
+
const res = await fetchFn(url, { headers });
|
|
320
369
|
if (!res.ok) {
|
|
321
370
|
throw new Error(`Failed to discover registry ${registryUrl}: ${res.status}`);
|
|
322
371
|
}
|
|
@@ -326,16 +375,10 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
326
375
|
}
|
|
327
376
|
// List agents from a single registry
|
|
328
377
|
async function listFromRegistry(registry) {
|
|
329
|
-
const configuration = await discover(registry.url);
|
|
378
|
+
const configuration = await discover(registry.url, registry);
|
|
330
379
|
const listUrl = configuration.agents_endpoint ??
|
|
331
380
|
`${registry.url.replace(/\/$/, "")}/list`;
|
|
332
|
-
const headers =
|
|
333
|
-
if (registry.auth.type === "bearer" && "token" in registry.auth) {
|
|
334
|
-
headers.Authorization = `Bearer ${registry.auth.token}`;
|
|
335
|
-
}
|
|
336
|
-
else if (options.token) {
|
|
337
|
-
headers.Authorization = `Bearer ${options.token}`;
|
|
338
|
-
}
|
|
381
|
+
const headers = buildRegistryAuthHeaders(registry, options.token);
|
|
339
382
|
const res = await fetchFn(listUrl, { headers });
|
|
340
383
|
if (!res.ok) {
|
|
341
384
|
throw new Error(`Failed to list agents from ${registry.url}: ${res.status}`);
|
|
@@ -346,20 +389,14 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
346
389
|
publisher: registry.publisher,
|
|
347
390
|
}));
|
|
348
391
|
}
|
|
349
|
-
//
|
|
350
|
-
async function
|
|
351
|
-
const configuration = await discover(registry.url);
|
|
352
|
-
// MCP endpoint is the base URL (POST /), not /call
|
|
392
|
+
// Send any call_agent request through a registry's MCP endpoint
|
|
393
|
+
async function callRegistry(registry, request) {
|
|
394
|
+
const configuration = await discover(registry.url, registry);
|
|
353
395
|
const mcpUrl = configuration.call_endpoint ?? registry.url.replace(/\/$/, "");
|
|
354
396
|
const headers = {
|
|
355
397
|
"Content-Type": "application/json",
|
|
398
|
+
...buildRegistryAuthHeaders(registry, options.token),
|
|
356
399
|
};
|
|
357
|
-
if (registry.auth.type === "bearer" && "token" in registry.auth) {
|
|
358
|
-
headers.Authorization = `Bearer ${registry.auth.token}`;
|
|
359
|
-
}
|
|
360
|
-
else if (options.token) {
|
|
361
|
-
headers.Authorization = `Bearer ${options.token}`;
|
|
362
|
-
}
|
|
363
400
|
const requestId = `call-${Date.now()}`;
|
|
364
401
|
const res = await fetchFn(mcpUrl, {
|
|
365
402
|
method: "POST",
|
|
@@ -370,31 +407,24 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
370
407
|
method: "tools/call",
|
|
371
408
|
params: {
|
|
372
409
|
name: "call_agent",
|
|
373
|
-
arguments: {
|
|
374
|
-
request: {
|
|
375
|
-
action: "execute_tool",
|
|
376
|
-
path: agentPath,
|
|
377
|
-
tool,
|
|
378
|
-
params,
|
|
379
|
-
},
|
|
380
|
-
},
|
|
410
|
+
arguments: { request },
|
|
381
411
|
},
|
|
382
412
|
}),
|
|
383
413
|
});
|
|
384
414
|
if (!res.ok) {
|
|
385
415
|
const text = await res.text().catch(() => "unknown error");
|
|
386
|
-
throw new Error(`
|
|
416
|
+
throw new Error(`Registry call failed (${registry.url}): ${res.status} ${text}`);
|
|
387
417
|
}
|
|
388
418
|
const rpcResponse = (await res.json());
|
|
389
419
|
if (rpcResponse.error) {
|
|
390
|
-
throw new Error(`
|
|
420
|
+
throw new Error(`Registry RPC error: ${rpcResponse.error.message}`);
|
|
391
421
|
}
|
|
392
422
|
const mcpResult = rpcResponse.result;
|
|
393
423
|
if (mcpResult?.isError) {
|
|
394
424
|
const errorText = mcpResult.content?.map((c) => c.text).join("\n") ?? "Unknown error";
|
|
395
|
-
throw new Error(`
|
|
425
|
+
throw new Error(`Registry call error: ${errorText}`);
|
|
396
426
|
}
|
|
397
|
-
// Parse text content
|
|
427
|
+
// Parse text content
|
|
398
428
|
const textContent = mcpResult?.content?.find((c) => c.type === "text");
|
|
399
429
|
if (textContent?.text) {
|
|
400
430
|
try {
|
|
@@ -406,6 +436,15 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
406
436
|
}
|
|
407
437
|
return mcpResult;
|
|
408
438
|
}
|
|
439
|
+
// Call a tool via a registry (convenience wrapper)
|
|
440
|
+
async function callTool(registry, agentPath, tool, params) {
|
|
441
|
+
return callRegistry(registry, {
|
|
442
|
+
action: "execute_tool",
|
|
443
|
+
path: agentPath,
|
|
444
|
+
tool,
|
|
445
|
+
params,
|
|
446
|
+
});
|
|
447
|
+
}
|
|
409
448
|
// Build the consumer
|
|
410
449
|
const consumer = {
|
|
411
450
|
async list() {
|
|
@@ -476,7 +515,45 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
476
515
|
}
|
|
477
516
|
return callTool(registry, ref.ref, tool, params);
|
|
478
517
|
},
|
|
479
|
-
discover
|
|
518
|
+
discover(registryUrl) {
|
|
519
|
+
// Find matching resolved registry for auth headers
|
|
520
|
+
const registry = resolvedRegistries.find((r) => r.url === registryUrl);
|
|
521
|
+
return discover(registryUrl, registry);
|
|
522
|
+
},
|
|
523
|
+
async browse(registryUrl) {
|
|
524
|
+
// List agents from a specific registry, or all registries if not specified
|
|
525
|
+
const targets = registryUrl
|
|
526
|
+
? resolvedRegistries.filter((r) => r.url === registryUrl || r.name === registryUrl)
|
|
527
|
+
: resolvedRegistries;
|
|
528
|
+
const results = await Promise.allSettled(targets.map(listFromRegistry));
|
|
529
|
+
return results.flatMap((r) => r.status === "fulfilled" ? r.value : []);
|
|
530
|
+
},
|
|
531
|
+
async inspect(agentPath, registryUrl) {
|
|
532
|
+
const targetRegistries = registryUrl
|
|
533
|
+
? resolvedRegistries.filter((r) => r.url === registryUrl || r.name === registryUrl)
|
|
534
|
+
: resolvedRegistries;
|
|
535
|
+
// Parallel O(1) lookups via describe_tools
|
|
536
|
+
const results = await Promise.allSettled(targetRegistries.map(async (registry) => {
|
|
537
|
+
const data = (await callRegistry(registry, {
|
|
538
|
+
action: "describe_tools",
|
|
539
|
+
path: agentPath,
|
|
540
|
+
tools: [],
|
|
541
|
+
}));
|
|
542
|
+
if (!data)
|
|
543
|
+
return null;
|
|
544
|
+
return {
|
|
545
|
+
path: agentPath,
|
|
546
|
+
publisher: registry.publisher,
|
|
547
|
+
tools: data.tools,
|
|
548
|
+
description: data.description,
|
|
549
|
+
};
|
|
550
|
+
}));
|
|
551
|
+
for (const r of results) {
|
|
552
|
+
if (r.status === "fulfilled" && r.value)
|
|
553
|
+
return r.value;
|
|
554
|
+
}
|
|
555
|
+
return null;
|
|
556
|
+
},
|
|
480
557
|
async resolveSecret(url) {
|
|
481
558
|
return resolveSecretFn(url, { token: options.token });
|
|
482
559
|
},
|