@slashfi/agents-sdk 0.30.2 → 0.31.0-pr.dev.8fcc527
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 +159 -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 +8 -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 +126 -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 +12 -0
- package/src/index.ts +6 -0
- package/src/registry-consumer.ts +175 -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":"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
|
|
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,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,0FAA0F,CAAC;CACzI,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,0FAA0F,CAAC;IACxI,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,CAAC,2CAA2C,CAAC;CACzD,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;IAChB,yBAAyB;IACzB,yBAAyB;CAC1B,CAAC,CAAC;AA6BH,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAC7B,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAChC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,KAA+C,CAAC,MAAM,CAAC,KAAK,CACvE,CAAC;AAEJ,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CAC7D,CAAC,CAAC;AAEH;;;;;GAKG;AACH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CACjD,wBAA+B,EAC/B,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC"}
|
|
@@ -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":"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
|
|
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;;;AAqIH,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":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;;;;;;;;;;;;;;;;;;AAmDH,mBAAmB;AACnB,yCAAsD;AAA7C,wGAAA,WAAW,OAAA;AAAE,uGAAA,UAAU,OAAA;AAGhC,WAAW;AACX,6CAAyE;AAAhE,kHAAA,mBAAmB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAOjD,SAAS;AACT,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AAoBvB,SAAS;AACT,yCAMqB;AALnB,8GAAA,iBAAiB,OAAA;AACjB,uGAAA,UAAU,OAAA;AACV,wGAAA,WAAW,OAAA;AACX,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AAUf,mDAAoD;AAA3C,kHAAA,gBAAgB,OAAA;AAGzB,oBAAoB;AACpB,+DAIgC;AAH9B,0HAAA,kBAAkB,OAAA;AAClB,+HAAA,uBAAuB,OAAA;AACvB,iIAAA,yBAAyB,OAAA;AAO3B,OAAO;AACP,uDAGqC;AAFnC,0GAAA,eAAe,OAAA;AACf,gHAAA,qBAAqB,OAAA;AAUvB,QAAQ;AACR,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AAGpB,UAAU;AACV,6DAKwC;AAJtC,gHAAA,kBAAkB,OAAA;AAClB,uHAAA,yBAAyB,OAAA;AACzB,yGAAA,WAAW,OAAA;AACX,iHAAA,mBAAmB,OAAA;AAQrB,SAAS;AACT,yCAA2D;AAAlD,0GAAA,aAAa,OAAA;AAAE,0GAAA,aAAa,OAAA;AAErC,MAAM;AACN,mCAUkB;AAThB,iGAAA,OAAO,OAAA;AACP,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,wGAAA,cAAc,OAAA;AACd,6GAAA,mBAAmB,OAAA;AACnB,4GAAA,kBAAkB,OAAA;AAClB,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAChB,mGAAA,SAAS,OAAA;AASX,wBAAwB;AAExB,mEAAmE;AACnE,gDAAgD;AAChD,uEAO6C;AAN3C,0HAAA,uBAAuB,OAAA;AACvB,iIAAA,8BAA8B,OAAA;AAC9B,uHAAA,oBAAoB,OAAA;AACpB,qHAAA,kBAAkB,OAAA;AAClB,4HAAA,yBAAyB,OAAA;AACzB,8HAAA,2BAA2B,OAAA;AAkB7B,kBAAkB;AAClB,6EAAmF;AAA1E,+HAAA,yBAAyB,OAAA;AAElC,QAAQ;AACR,yDAGsC;AAFpC,4GAAA,gBAAgB,OAAA;AAChB,mHAAA,uBAAuB,OAAA;AAQzB,0DAAwC;AACxC,6DAA2C;AAE3C,mDAO0B;AANxB,kHAAA,gBAAgB,OAAA;AAQlB,oBAAoB;AACpB,uDAK4B;AAJ1B,gHAAA,YAAY,OAAA;AACZ,qHAAA,iBAAiB,OAAA;AACjB,+GAAA,WAAW,OAAA;AACX,+GAAA,WAAW,OAAA;AAab,+DAIgC;AAH9B,8HAAA,sBAAsB,OAAA;AACtB,yHAAA,iBAAiB,OAAA;AACjB,2HAAA,mBAAmB,OAAA;AAUrB,OAAO;AACP,qCAImB;AAHjB,+GAAA,oBAAoB,OAAA;AACpB,gHAAA,qBAAqB,OAAA;AACrB,2GAAA,gBAAgB,OAAA;AAGlB,6EAA6E;AAC7E,iDAMyB;AALvB,sHAAA,qBAAqB,OAAA;AACrB,0HAAA,yBAAyB,OAAA;AACzB,uHAAA,sBAAsB,OAAA;AACtB,sHAAA,qBAAqB,OAAA;AACrB,sHAAA,kBAAkB,OAAyB;AAM7C,UAAU;AACV,2CAAiE;AAAxD,qGAAA,OAAO,OAAA;AAAE,sGAAA,QAAQ,OAAA;AAAE,4GAAA,cAAc,OAAA;AAY1C,+CAA+C;AAC/C,+BAA+B;AAC/B,+CAA+C;AAE/C,iDAAgE;AAAvD,+GAAA,cAAc,OAAA;AAAE,8GAAA,aAAa,OAAA;AAMtC,+CAA+C;AAC/C,eAAe;AACf,+CAA+C;AAE/C,yCAA2C;AAAlC,yGAAA,YAAY,OAAA;AAMrB,+CAA+C;AAC/C,eAAe;AACf,+CAA+C;AAE/C,uCAAuD;AAA9C,sGAAA,UAAU,OAAA;AAAE,yGAAA,aAAa,OAAA;AAElC,+CAA+C;AAC/C,iBAAiB;AACjB,+CAA+C;AAE/C,qCAA0C;AAAjC,+FAAA,IAAI,OAAA;AAAE,kGAAA,OAAO,OAAA;AAStB,+CAA+C;AAC/C,aAAa;AACb,+CAA+C;AAE/C,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAGtB,+CAA+C;AAC/C,6CAA6C;AAC7C,+CAA+C;AAE/C,+DAYgC;AAX9B,4HAAA,oBAAoB,OAAA;AACpB,8HAAA,sBAAsB,OAAA;AACtB,0HAAA,kBAAkB,OAAA;AAClB,uHAAA,eAAe,OAAA;AACf,+HAAA,uBAAuB,OAAA;AACvB,iIAAA,yBAAyB,OAAA;AACzB,wHAAA,gBAAgB,OAAA;AAChB,iIAAA,yBAAyB,OAAA;AACzB,iIAAA,yBAAyB,OAAA;AACzB,wHAAA,gBAAgB,OAAA;AAChB,0HAAA,kBAAkB,OAAA;AAGpB,+CAA+C;AAC/C,aAAa;AACb,+CAA+C;AAE/C,6CAKuB;AAJrB,8HAAA,+BAA+B,OAAA;AAC/B,mHAAA,oBAAoB,OAAA;AACpB,iHAAA,kBAAkB,OAAA;AAClB,oHAAA,qBAAqB,OAAA;AAIvB,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,qCAEmB;AADjB,0GAAA,eAAe,OAAA;AASjB,eAAe;AACf,2DAAkE;AAAzD,8GAAA,iBAAiB,OAAA"}
|
|
@@ -30,6 +30,39 @@
|
|
|
30
30
|
* const dbUrl = await consumer.resolveSecret('https://twin.slash.com/secrets/crdb-url');
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
34
|
+
if (k2 === undefined) k2 = k;
|
|
35
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
36
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
37
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
38
|
+
}
|
|
39
|
+
Object.defineProperty(o, k2, desc);
|
|
40
|
+
}) : (function(o, m, k, k2) {
|
|
41
|
+
if (k2 === undefined) k2 = k;
|
|
42
|
+
o[k2] = m[k];
|
|
43
|
+
}));
|
|
44
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
45
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
46
|
+
}) : function(o, v) {
|
|
47
|
+
o["default"] = v;
|
|
48
|
+
});
|
|
49
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
50
|
+
var ownKeys = function(o) {
|
|
51
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
52
|
+
var ar = [];
|
|
53
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
54
|
+
return ar;
|
|
55
|
+
};
|
|
56
|
+
return ownKeys(o);
|
|
57
|
+
};
|
|
58
|
+
return function (mod) {
|
|
59
|
+
if (mod && mod.__esModule) return mod;
|
|
60
|
+
var result = {};
|
|
61
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
62
|
+
__setModuleDefault(result, mod);
|
|
63
|
+
return result;
|
|
64
|
+
};
|
|
65
|
+
})();
|
|
33
66
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
67
|
exports.REGISTRY_TYPE_HTTPS = exports.REGISTRY_TYPE_MCP = void 0;
|
|
35
68
|
exports.createRegistryConsumer = createRegistryConsumer;
|
|
@@ -97,6 +130,52 @@ async function resolveTemplates(obj, resolver, auth) {
|
|
|
97
130
|
return obj;
|
|
98
131
|
}
|
|
99
132
|
// ============================================
|
|
133
|
+
// Registry Auth Headers
|
|
134
|
+
// ============================================
|
|
135
|
+
/**
|
|
136
|
+
* Build auth headers for a registry based on its auth config and custom headers.
|
|
137
|
+
* Merges typed auth (bearer, api-key) with arbitrary custom headers.
|
|
138
|
+
*/
|
|
139
|
+
function buildRegistryAuthHeaders(registry, fallbackToken) {
|
|
140
|
+
const headers = {};
|
|
141
|
+
// Apply typed auth
|
|
142
|
+
switch (registry.auth.type) {
|
|
143
|
+
case "bearer": {
|
|
144
|
+
const token = ("token" in registry.auth ? registry.auth.token : undefined) ?? fallbackToken;
|
|
145
|
+
if (token) {
|
|
146
|
+
headers.Authorization = `Bearer ${token}`;
|
|
147
|
+
}
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
case "api-key": {
|
|
151
|
+
if ("key" in registry.auth && registry.auth.key) {
|
|
152
|
+
const headerName = ("header" in registry.auth ? registry.auth.header : undefined) ?? "x-api-key";
|
|
153
|
+
headers[headerName] = registry.auth.key;
|
|
154
|
+
}
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
case "jwt": {
|
|
158
|
+
// JWT auth would require token exchange — not yet implemented
|
|
159
|
+
if (fallbackToken) {
|
|
160
|
+
headers.Authorization = `Bearer ${fallbackToken}`;
|
|
161
|
+
}
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
case "none":
|
|
165
|
+
default: {
|
|
166
|
+
if (fallbackToken) {
|
|
167
|
+
headers.Authorization = `Bearer ${fallbackToken}`;
|
|
168
|
+
}
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Merge custom headers (these override auth-generated headers)
|
|
173
|
+
if (registry.headers) {
|
|
174
|
+
Object.assign(headers, registry.headers);
|
|
175
|
+
}
|
|
176
|
+
return headers;
|
|
177
|
+
}
|
|
178
|
+
// ============================================
|
|
100
179
|
// Secret Resolver
|
|
101
180
|
// ============================================
|
|
102
181
|
/** Resolves secret URLs to their values */
|
|
@@ -311,12 +390,15 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
311
390
|
// Cache for registry configurations
|
|
312
391
|
const discoveryCache = new Map();
|
|
313
392
|
// Discover a registry
|
|
314
|
-
async function discover(registryUrl) {
|
|
393
|
+
async function discover(registryUrl, registry) {
|
|
315
394
|
const cached = discoveryCache.get(registryUrl);
|
|
316
395
|
if (cached)
|
|
317
396
|
return cached;
|
|
318
397
|
const url = `${registryUrl.replace(/\/$/, "")}/.well-known/configuration`;
|
|
319
|
-
const
|
|
398
|
+
const headers = registry
|
|
399
|
+
? buildRegistryAuthHeaders(registry, options.token)
|
|
400
|
+
: (options.token ? { Authorization: `Bearer ${options.token}` } : {});
|
|
401
|
+
const res = await fetchFn(url, { headers });
|
|
320
402
|
if (!res.ok) {
|
|
321
403
|
throw new Error(`Failed to discover registry ${registryUrl}: ${res.status}`);
|
|
322
404
|
}
|
|
@@ -326,16 +408,10 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
326
408
|
}
|
|
327
409
|
// List agents from a single registry
|
|
328
410
|
async function listFromRegistry(registry) {
|
|
329
|
-
const configuration = await discover(registry.url);
|
|
411
|
+
const configuration = await discover(registry.url, registry);
|
|
330
412
|
const listUrl = configuration.agents_endpoint ??
|
|
331
413
|
`${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
|
-
}
|
|
414
|
+
const headers = buildRegistryAuthHeaders(registry, options.token);
|
|
339
415
|
const res = await fetchFn(listUrl, { headers });
|
|
340
416
|
if (!res.ok) {
|
|
341
417
|
throw new Error(`Failed to list agents from ${registry.url}: ${res.status}`);
|
|
@@ -346,20 +422,14 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
346
422
|
publisher: registry.publisher,
|
|
347
423
|
}));
|
|
348
424
|
}
|
|
349
|
-
//
|
|
350
|
-
async function
|
|
351
|
-
const configuration = await discover(registry.url);
|
|
352
|
-
// MCP endpoint is the base URL (POST /), not /call
|
|
425
|
+
// Send any call_agent request through a registry's MCP endpoint
|
|
426
|
+
async function callRegistry(registry, request) {
|
|
427
|
+
const configuration = await discover(registry.url, registry);
|
|
353
428
|
const mcpUrl = configuration.call_endpoint ?? registry.url.replace(/\/$/, "");
|
|
354
429
|
const headers = {
|
|
355
430
|
"Content-Type": "application/json",
|
|
431
|
+
...buildRegistryAuthHeaders(registry, options.token),
|
|
356
432
|
};
|
|
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
433
|
const requestId = `call-${Date.now()}`;
|
|
364
434
|
const res = await fetchFn(mcpUrl, {
|
|
365
435
|
method: "POST",
|
|
@@ -370,31 +440,24 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
370
440
|
method: "tools/call",
|
|
371
441
|
params: {
|
|
372
442
|
name: "call_agent",
|
|
373
|
-
arguments: {
|
|
374
|
-
request: {
|
|
375
|
-
action: "execute_tool",
|
|
376
|
-
path: agentPath,
|
|
377
|
-
tool,
|
|
378
|
-
params,
|
|
379
|
-
},
|
|
380
|
-
},
|
|
443
|
+
arguments: { request },
|
|
381
444
|
},
|
|
382
445
|
}),
|
|
383
446
|
});
|
|
384
447
|
if (!res.ok) {
|
|
385
448
|
const text = await res.text().catch(() => "unknown error");
|
|
386
|
-
throw new Error(`
|
|
449
|
+
throw new Error(`Registry call failed (${registry.url}): ${res.status} ${text}`);
|
|
387
450
|
}
|
|
388
451
|
const rpcResponse = (await res.json());
|
|
389
452
|
if (rpcResponse.error) {
|
|
390
|
-
throw new Error(`
|
|
453
|
+
throw new Error(`Registry RPC error: ${rpcResponse.error.message}`);
|
|
391
454
|
}
|
|
392
455
|
const mcpResult = rpcResponse.result;
|
|
393
456
|
if (mcpResult?.isError) {
|
|
394
457
|
const errorText = mcpResult.content?.map((c) => c.text).join("\n") ?? "Unknown error";
|
|
395
|
-
throw new Error(`
|
|
458
|
+
throw new Error(`Registry call error: ${errorText}`);
|
|
396
459
|
}
|
|
397
|
-
// Parse text content
|
|
460
|
+
// Parse text content
|
|
398
461
|
const textContent = mcpResult?.content?.find((c) => c.type === "text");
|
|
399
462
|
if (textContent?.text) {
|
|
400
463
|
try {
|
|
@@ -406,6 +469,15 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
406
469
|
}
|
|
407
470
|
return mcpResult;
|
|
408
471
|
}
|
|
472
|
+
// Call a tool via a registry (convenience wrapper)
|
|
473
|
+
async function callTool(registry, agentPath, tool, params) {
|
|
474
|
+
return callRegistry(registry, {
|
|
475
|
+
action: "execute_tool",
|
|
476
|
+
path: agentPath,
|
|
477
|
+
tool,
|
|
478
|
+
params,
|
|
479
|
+
});
|
|
480
|
+
}
|
|
409
481
|
// Build the consumer
|
|
410
482
|
const consumer = {
|
|
411
483
|
async list() {
|
|
@@ -476,7 +548,61 @@ async function createRegistryConsumer(config, options = {}) {
|
|
|
476
548
|
}
|
|
477
549
|
return callTool(registry, ref.ref, tool, params);
|
|
478
550
|
},
|
|
479
|
-
discover
|
|
551
|
+
discover(registryUrl) {
|
|
552
|
+
// Find matching resolved registry for auth headers
|
|
553
|
+
const registry = resolvedRegistries.find((r) => r.url === registryUrl);
|
|
554
|
+
return discover(registryUrl, registry);
|
|
555
|
+
},
|
|
556
|
+
async browse(registryUrl, query) {
|
|
557
|
+
// List agents from a specific registry, or all registries if not specified
|
|
558
|
+
const targets = registryUrl
|
|
559
|
+
? resolvedRegistries.filter((r) => r.url === registryUrl || r.name === registryUrl)
|
|
560
|
+
: resolvedRegistries;
|
|
561
|
+
const results = await Promise.allSettled(targets.map(listFromRegistry));
|
|
562
|
+
let agents = results.flatMap((r) => r.status === "fulfilled" ? r.value : []);
|
|
563
|
+
// Apply BM25 search if query provided
|
|
564
|
+
if (query && agents.length > 0) {
|
|
565
|
+
const { createBM25Index } = await Promise.resolve().then(() => __importStar(require("./bm25.js")));
|
|
566
|
+
const docs = agents.map((a, i) => ({
|
|
567
|
+
id: String(i),
|
|
568
|
+
text: [
|
|
569
|
+
a.path,
|
|
570
|
+
a.description ?? "",
|
|
571
|
+
...(a.tools ?? []).map((t) => typeof t === "string" ? t : `${t.name} ${t.description ?? ""}`),
|
|
572
|
+
].join(" "),
|
|
573
|
+
}));
|
|
574
|
+
const index = createBM25Index(docs);
|
|
575
|
+
const ranked = index.search(query);
|
|
576
|
+
agents = ranked.map((r) => agents[Number(r.id)]);
|
|
577
|
+
}
|
|
578
|
+
return agents;
|
|
579
|
+
},
|
|
580
|
+
async inspect(agentPath, registryUrl) {
|
|
581
|
+
const targetRegistries = registryUrl
|
|
582
|
+
? resolvedRegistries.filter((r) => r.url === registryUrl || r.name === registryUrl)
|
|
583
|
+
: resolvedRegistries;
|
|
584
|
+
// Parallel O(1) lookups via describe_tools
|
|
585
|
+
const results = await Promise.allSettled(targetRegistries.map(async (registry) => {
|
|
586
|
+
const data = (await callRegistry(registry, {
|
|
587
|
+
action: "describe_tools",
|
|
588
|
+
path: agentPath,
|
|
589
|
+
tools: [],
|
|
590
|
+
}));
|
|
591
|
+
if (!data)
|
|
592
|
+
return null;
|
|
593
|
+
return {
|
|
594
|
+
path: agentPath,
|
|
595
|
+
publisher: registry.publisher,
|
|
596
|
+
tools: data.tools,
|
|
597
|
+
description: data.description,
|
|
598
|
+
};
|
|
599
|
+
}));
|
|
600
|
+
for (const r of results) {
|
|
601
|
+
if (r.status === "fulfilled" && r.value)
|
|
602
|
+
return r.value;
|
|
603
|
+
}
|
|
604
|
+
return null;
|
|
605
|
+
},
|
|
480
606
|
async resolveSecret(url) {
|
|
481
607
|
return resolveSecretFn(url, { token: options.token });
|
|
482
608
|
},
|