@slashfi/agents-sdk 0.33.2 → 0.34.1
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 +408 -101
- package/dist/call-agent-schema.d.ts.map +1 -1
- package/dist/call-agent-schema.js +101 -9
- package/dist/call-agent-schema.js.map +1 -1
- package/dist/cjs/call-agent-schema.js +105 -10
- package/dist/cjs/call-agent-schema.js.map +1 -1
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/server.js +22 -6
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/validate.js +2 -2
- package/dist/cjs/validate.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +18 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +23 -7
- package/dist/server.js.map +1 -1
- package/dist/validate.d.ts +15 -15
- package/dist/validate.js +2 -2
- package/dist/validate.js.map +1 -1
- package/package.json +1 -1
- package/src/call-agent-schema.test.ts +306 -0
- package/src/call-agent-schema.ts +127 -19
- package/src/index.ts +6 -0
- package/src/server.ts +45 -7
- package/src/validate.ts +2 -2
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"call-agent-schema.d.ts","sourceRoot":"","sources":["../src/call-agent-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,90 @@
|
|
|
12
12
|
* Response types live in types.ts (they're output shapes, not validated input).
|
|
13
13
|
*/
|
|
14
14
|
import { z } from "zod";
|
|
15
|
+
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
16
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
17
|
+
// OpenAI null-tolerance transform
|
|
18
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
19
|
+
/**
|
|
20
|
+
* Recursively strip null values from an object, converting them to undefined.
|
|
21
|
+
* This is the inverse of zod-to-json-schema's openAi target behavior, which
|
|
22
|
+
* converts .optional() fields to nullable+required in JSON Schema.
|
|
23
|
+
*
|
|
24
|
+
* Used as a z.preprocess() step so that Zod's .optional() (which accepts
|
|
25
|
+
* undefined but not null) works correctly with LLM outputs that send null
|
|
26
|
+
* for "no value" per the OpenAI function calling convention.
|
|
27
|
+
*/
|
|
28
|
+
export function stripNulls(obj) {
|
|
29
|
+
if (obj === null)
|
|
30
|
+
return undefined;
|
|
31
|
+
if (Array.isArray(obj))
|
|
32
|
+
return obj.map(stripNulls);
|
|
33
|
+
if (typeof obj === "object") {
|
|
34
|
+
return Object.fromEntries(Object.entries(obj).map(([k, v]) => [
|
|
35
|
+
k,
|
|
36
|
+
stripNulls(v),
|
|
37
|
+
]));
|
|
38
|
+
}
|
|
39
|
+
return obj;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Wrap a Zod schema with a preprocess step that converts null → undefined.
|
|
43
|
+
* This makes the schema "null-tolerant" — matching what the OpenAI JSON Schema
|
|
44
|
+
* target promises to LLMs (nullable fields) while keeping Zod's .optional()
|
|
45
|
+
* semantics internally.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* const schema = z.object({ name: z.string().optional() });
|
|
50
|
+
* const tolerant = nullTolerant(schema);
|
|
51
|
+
* tolerant.parse({ name: null }); // { name: undefined } — no error
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export function nullTolerant(schema) {
|
|
55
|
+
return z.preprocess(stripNulls, schema);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Convert a Zod schema to JSON Schema using the OpenAI target,
|
|
59
|
+
* which makes all optional fields nullable+required.
|
|
60
|
+
*
|
|
61
|
+
* This is the standard way to generate input schemas for MCP tools
|
|
62
|
+
* that will be called by LLMs.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Recursively normalize a JSON schema for Anthropic compatibility.
|
|
66
|
+
* Replaces `additionalProperties: {}` (empty schema = any) with `true`,
|
|
67
|
+
* which is semantically equivalent but accepted by Anthropic's validator.
|
|
68
|
+
*/
|
|
69
|
+
function normalizeJsonSchema(schema) {
|
|
70
|
+
if (typeof schema !== "object" || schema === null)
|
|
71
|
+
return schema;
|
|
72
|
+
const result = {};
|
|
73
|
+
for (const [key, value] of Object.entries(schema)) {
|
|
74
|
+
if (key === "additionalProperties" &&
|
|
75
|
+
typeof value === "object" &&
|
|
76
|
+
value !== null &&
|
|
77
|
+
Object.keys(value).length === 0) {
|
|
78
|
+
result[key] = true;
|
|
79
|
+
}
|
|
80
|
+
else if (Array.isArray(value)) {
|
|
81
|
+
result[key] = value.map((item) => typeof item === "object" && item !== null
|
|
82
|
+
? normalizeJsonSchema(item)
|
|
83
|
+
: item);
|
|
84
|
+
}
|
|
85
|
+
else if (typeof value === "object" && value !== null) {
|
|
86
|
+
result[key] = normalizeJsonSchema(value);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
result[key] = value;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
export function zodToOpenAiJsonSchema(schema) {
|
|
95
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
96
|
+
const raw = zodToJsonSchema(schema, { target: "openAi" });
|
|
97
|
+
return normalizeJsonSchema(raw);
|
|
98
|
+
}
|
|
15
99
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
16
100
|
// Base schemas
|
|
17
101
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -20,7 +104,7 @@ const callAgentBaseSchema = z.object({
|
|
|
20
104
|
path: z.string().describe("Agent path (e.g., '@my-agent')"),
|
|
21
105
|
callerId: z.string().optional().describe("Caller ID for access control"),
|
|
22
106
|
callerType: callerTypeSchema.optional().describe("Caller type"),
|
|
23
|
-
metadata: z.
|
|
107
|
+
metadata: z.object({}).passthrough().optional().describe("Additional metadata"),
|
|
24
108
|
});
|
|
25
109
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
26
110
|
// Action schemas
|
|
@@ -56,7 +140,7 @@ export const executeToolActionSchema = callAgentBaseSchema.extend({
|
|
|
56
140
|
action: z.literal("execute_tool"),
|
|
57
141
|
tool: z.string().describe("Tool name to call"),
|
|
58
142
|
params: z
|
|
59
|
-
.
|
|
143
|
+
.object({}).passthrough()
|
|
60
144
|
.optional()
|
|
61
145
|
.describe("Parameters for the tool"),
|
|
62
146
|
});
|
|
@@ -74,11 +158,15 @@ export const loadActionSchema = callAgentBaseSchema.extend({
|
|
|
74
158
|
});
|
|
75
159
|
/** List resources: discover available resources on an agent */
|
|
76
160
|
export const listResourcesActionSchema = callAgentBaseSchema.extend({
|
|
77
|
-
action: z
|
|
161
|
+
action: z
|
|
162
|
+
.literal("list_resources")
|
|
163
|
+
.describe("List all resources available on an agent — docs, auth instructions, config schemas, etc."),
|
|
78
164
|
});
|
|
79
165
|
/** Read resources: fetch one or more resources by URI */
|
|
80
166
|
export const readResourcesActionSchema = callAgentBaseSchema.extend({
|
|
81
|
-
action: z
|
|
167
|
+
action: z
|
|
168
|
+
.literal("read_resources")
|
|
169
|
+
.describe("Fetch one or more resources by URI. Use list_resources first to discover available URIs."),
|
|
82
170
|
uris: z
|
|
83
171
|
.array(z.string())
|
|
84
172
|
.describe("Resource URIs to read (e.g., ['AUTH.md'])"),
|
|
@@ -100,7 +188,6 @@ export const CALL_AGENT_ACTIONS = callAgentRequestSchema.options.map((s) => s.sh
|
|
|
100
188
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
101
189
|
// JSON Schema for MCP (derived from zod)
|
|
102
190
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
103
|
-
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
104
191
|
/**
|
|
105
192
|
* Zod schema for the full MCP tool input (wraps request in an outer object).
|
|
106
193
|
* This is the schema that gets converted to JSON Schema for the LLM.
|
|
@@ -114,8 +201,13 @@ export const callAgentToolInputSchema = z.object({
|
|
|
114
201
|
*
|
|
115
202
|
* Fully derived from the zod schemas — no hand-written JSON Schema.
|
|
116
203
|
*/
|
|
117
|
-
|
|
118
|
-
|
|
204
|
+
export const callAgentInputSchema = zodToOpenAiJsonSchema(callAgentToolInputSchema);
|
|
205
|
+
/**
|
|
206
|
+
* Null-tolerant validation schema for `call_agent`.
|
|
207
|
+
* Accepts null values where the JSON Schema promises nullable,
|
|
208
|
+
* converting them to undefined before Zod validation.
|
|
209
|
+
*/
|
|
210
|
+
export const callAgentValidationSchema = nullTolerant(callAgentToolInputSchema);
|
|
119
211
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
120
212
|
// list_agents schema
|
|
121
213
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -133,6 +225,6 @@ export const listAgentsToolInputSchema = z.object({
|
|
|
133
225
|
.optional()
|
|
134
226
|
.describe("Pagination cursor from a previous response's nextCursor field."),
|
|
135
227
|
});
|
|
136
|
-
|
|
137
|
-
export const
|
|
228
|
+
export const listAgentsInputSchema = zodToOpenAiJsonSchema(listAgentsToolInputSchema);
|
|
229
|
+
export const listAgentsValidationSchema = nullTolerant(listAgentsToolInputSchema);
|
|
138
230
|
//# sourceMappingURL=call-agent-schema.js.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../src/call-agent-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,95 @@
|
|
|
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.listAgentsInputSchema = exports.listAgentsToolInputSchema = 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;
|
|
16
|
+
exports.listAgentsValidationSchema = exports.listAgentsInputSchema = exports.listAgentsToolInputSchema = exports.callAgentValidationSchema = 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
|
+
exports.stripNulls = stripNulls;
|
|
18
|
+
exports.nullTolerant = nullTolerant;
|
|
19
|
+
exports.zodToOpenAiJsonSchema = zodToOpenAiJsonSchema;
|
|
17
20
|
const zod_1 = require("zod");
|
|
21
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
22
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
23
|
+
// OpenAI null-tolerance transform
|
|
24
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
25
|
+
/**
|
|
26
|
+
* Recursively strip null values from an object, converting them to undefined.
|
|
27
|
+
* This is the inverse of zod-to-json-schema's openAi target behavior, which
|
|
28
|
+
* converts .optional() fields to nullable+required in JSON Schema.
|
|
29
|
+
*
|
|
30
|
+
* Used as a z.preprocess() step so that Zod's .optional() (which accepts
|
|
31
|
+
* undefined but not null) works correctly with LLM outputs that send null
|
|
32
|
+
* for "no value" per the OpenAI function calling convention.
|
|
33
|
+
*/
|
|
34
|
+
function stripNulls(obj) {
|
|
35
|
+
if (obj === null)
|
|
36
|
+
return undefined;
|
|
37
|
+
if (Array.isArray(obj))
|
|
38
|
+
return obj.map(stripNulls);
|
|
39
|
+
if (typeof obj === "object") {
|
|
40
|
+
return Object.fromEntries(Object.entries(obj).map(([k, v]) => [
|
|
41
|
+
k,
|
|
42
|
+
stripNulls(v),
|
|
43
|
+
]));
|
|
44
|
+
}
|
|
45
|
+
return obj;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Wrap a Zod schema with a preprocess step that converts null → undefined.
|
|
49
|
+
* This makes the schema "null-tolerant" — matching what the OpenAI JSON Schema
|
|
50
|
+
* target promises to LLMs (nullable fields) while keeping Zod's .optional()
|
|
51
|
+
* semantics internally.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* const schema = z.object({ name: z.string().optional() });
|
|
56
|
+
* const tolerant = nullTolerant(schema);
|
|
57
|
+
* tolerant.parse({ name: null }); // { name: undefined } — no error
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
function nullTolerant(schema) {
|
|
61
|
+
return zod_1.z.preprocess(stripNulls, schema);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Convert a Zod schema to JSON Schema using the OpenAI target,
|
|
65
|
+
* which makes all optional fields nullable+required.
|
|
66
|
+
*
|
|
67
|
+
* This is the standard way to generate input schemas for MCP tools
|
|
68
|
+
* that will be called by LLMs.
|
|
69
|
+
*/
|
|
70
|
+
/**
|
|
71
|
+
* Recursively normalize a JSON schema for Anthropic compatibility.
|
|
72
|
+
* Replaces `additionalProperties: {}` (empty schema = any) with `true`,
|
|
73
|
+
* which is semantically equivalent but accepted by Anthropic's validator.
|
|
74
|
+
*/
|
|
75
|
+
function normalizeJsonSchema(schema) {
|
|
76
|
+
if (typeof schema !== "object" || schema === null)
|
|
77
|
+
return schema;
|
|
78
|
+
const result = {};
|
|
79
|
+
for (const [key, value] of Object.entries(schema)) {
|
|
80
|
+
if (key === "additionalProperties" &&
|
|
81
|
+
typeof value === "object" &&
|
|
82
|
+
value !== null &&
|
|
83
|
+
Object.keys(value).length === 0) {
|
|
84
|
+
result[key] = true;
|
|
85
|
+
}
|
|
86
|
+
else if (Array.isArray(value)) {
|
|
87
|
+
result[key] = value.map((item) => typeof item === "object" && item !== null
|
|
88
|
+
? normalizeJsonSchema(item)
|
|
89
|
+
: item);
|
|
90
|
+
}
|
|
91
|
+
else if (typeof value === "object" && value !== null) {
|
|
92
|
+
result[key] = normalizeJsonSchema(value);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
result[key] = value;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
function zodToOpenAiJsonSchema(schema) {
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
102
|
+
const raw = (0, zod_to_json_schema_1.zodToJsonSchema)(schema, { target: "openAi" });
|
|
103
|
+
return normalizeJsonSchema(raw);
|
|
104
|
+
}
|
|
18
105
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
19
106
|
// Base schemas
|
|
20
107
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -23,7 +110,7 @@ const callAgentBaseSchema = zod_1.z.object({
|
|
|
23
110
|
path: zod_1.z.string().describe("Agent path (e.g., '@my-agent')"),
|
|
24
111
|
callerId: zod_1.z.string().optional().describe("Caller ID for access control"),
|
|
25
112
|
callerType: exports.callerTypeSchema.optional().describe("Caller type"),
|
|
26
|
-
metadata: zod_1.z.
|
|
113
|
+
metadata: zod_1.z.object({}).passthrough().optional().describe("Additional metadata"),
|
|
27
114
|
});
|
|
28
115
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
29
116
|
// Action schemas
|
|
@@ -59,7 +146,7 @@ exports.executeToolActionSchema = callAgentBaseSchema.extend({
|
|
|
59
146
|
action: zod_1.z.literal("execute_tool"),
|
|
60
147
|
tool: zod_1.z.string().describe("Tool name to call"),
|
|
61
148
|
params: zod_1.z
|
|
62
|
-
.
|
|
149
|
+
.object({}).passthrough()
|
|
63
150
|
.optional()
|
|
64
151
|
.describe("Parameters for the tool"),
|
|
65
152
|
});
|
|
@@ -77,11 +164,15 @@ exports.loadActionSchema = callAgentBaseSchema.extend({
|
|
|
77
164
|
});
|
|
78
165
|
/** List resources: discover available resources on an agent */
|
|
79
166
|
exports.listResourcesActionSchema = callAgentBaseSchema.extend({
|
|
80
|
-
action: zod_1.z
|
|
167
|
+
action: zod_1.z
|
|
168
|
+
.literal("list_resources")
|
|
169
|
+
.describe("List all resources available on an agent — docs, auth instructions, config schemas, etc."),
|
|
81
170
|
});
|
|
82
171
|
/** Read resources: fetch one or more resources by URI */
|
|
83
172
|
exports.readResourcesActionSchema = callAgentBaseSchema.extend({
|
|
84
|
-
action: zod_1.z
|
|
173
|
+
action: zod_1.z
|
|
174
|
+
.literal("read_resources")
|
|
175
|
+
.describe("Fetch one or more resources by URI. Use list_resources first to discover available URIs."),
|
|
85
176
|
uris: zod_1.z
|
|
86
177
|
.array(zod_1.z.string())
|
|
87
178
|
.describe("Resource URIs to read (e.g., ['AUTH.md'])"),
|
|
@@ -103,7 +194,6 @@ exports.CALL_AGENT_ACTIONS = exports.callAgentRequestSchema.options.map((s) => s
|
|
|
103
194
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
104
195
|
// JSON Schema for MCP (derived from zod)
|
|
105
196
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
106
|
-
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
107
197
|
/**
|
|
108
198
|
* Zod schema for the full MCP tool input (wraps request in an outer object).
|
|
109
199
|
* This is the schema that gets converted to JSON Schema for the LLM.
|
|
@@ -117,8 +207,13 @@ exports.callAgentToolInputSchema = zod_1.z.object({
|
|
|
117
207
|
*
|
|
118
208
|
* Fully derived from the zod schemas — no hand-written JSON Schema.
|
|
119
209
|
*/
|
|
120
|
-
|
|
121
|
-
|
|
210
|
+
exports.callAgentInputSchema = zodToOpenAiJsonSchema(exports.callAgentToolInputSchema);
|
|
211
|
+
/**
|
|
212
|
+
* Null-tolerant validation schema for `call_agent`.
|
|
213
|
+
* Accepts null values where the JSON Schema promises nullable,
|
|
214
|
+
* converting them to undefined before Zod validation.
|
|
215
|
+
*/
|
|
216
|
+
exports.callAgentValidationSchema = nullTolerant(exports.callAgentToolInputSchema);
|
|
122
217
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
123
218
|
// list_agents schema
|
|
124
219
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -136,6 +231,6 @@ exports.listAgentsToolInputSchema = zod_1.z.object({
|
|
|
136
231
|
.optional()
|
|
137
232
|
.describe("Pagination cursor from a previous response's nextCursor field."),
|
|
138
233
|
});
|
|
139
|
-
|
|
140
|
-
exports.
|
|
234
|
+
exports.listAgentsInputSchema = zodToOpenAiJsonSchema(exports.listAgentsToolInputSchema);
|
|
235
|
+
exports.listAgentsValidationSchema = nullTolerant(exports.listAgentsToolInputSchema);
|
|
141
236
|
//# sourceMappingURL=call-agent-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../../src/call-agent-schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;
|
|
1
|
+
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../../src/call-agent-schema.ts"],"names":[],"mappings":"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"}
|
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.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.getVisibleTools = exports.canSeeTool = 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.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 = exports.generateCodeVerifier = exports.REGISTRY_TYPE_HTTPS = void 0;
|
|
67
|
+
exports.createConfigAgent = exports.createBM25Index = exports.assertValidDefinition = exports.validateDefinition = exports.SerializedToolSchema = exports.SerializedAgentDefinitionSchema = exports.listAgentsValidationSchema = exports.zodToOpenAiJsonSchema = exports.stripNulls = exports.nullTolerant = exports.CALL_AGENT_ACTIONS = exports.callerTypeSchema = exports.readResourcesActionSchema = exports.listResourcesActionSchema = exports.loadActionSchema = exports.describeToolsActionSchema = exports.executeToolActionSchema = exports.askActionSchema = exports.invokeActionSchema = exports.callAgentToolInputSchema = exports.callAgentValidationSchema = 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 = exports.generateCodeVerifier = exports.REGISTRY_TYPE_HTTPS = 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; } });
|
|
@@ -202,6 +202,8 @@ Object.defineProperty(exports, "introspectMcp", { enumerable: true, get: functio
|
|
|
202
202
|
var call_agent_schema_js_1 = require("./call-agent-schema.js");
|
|
203
203
|
Object.defineProperty(exports, "callAgentInputSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.callAgentInputSchema; } });
|
|
204
204
|
Object.defineProperty(exports, "callAgentRequestSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.callAgentRequestSchema; } });
|
|
205
|
+
Object.defineProperty(exports, "callAgentValidationSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.callAgentValidationSchema; } });
|
|
206
|
+
Object.defineProperty(exports, "callAgentToolInputSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.callAgentToolInputSchema; } });
|
|
205
207
|
Object.defineProperty(exports, "invokeActionSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.invokeActionSchema; } });
|
|
206
208
|
Object.defineProperty(exports, "askActionSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.askActionSchema; } });
|
|
207
209
|
Object.defineProperty(exports, "executeToolActionSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.executeToolActionSchema; } });
|
|
@@ -211,6 +213,10 @@ Object.defineProperty(exports, "listResourcesActionSchema", { enumerable: true,
|
|
|
211
213
|
Object.defineProperty(exports, "readResourcesActionSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.readResourcesActionSchema; } });
|
|
212
214
|
Object.defineProperty(exports, "callerTypeSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.callerTypeSchema; } });
|
|
213
215
|
Object.defineProperty(exports, "CALL_AGENT_ACTIONS", { enumerable: true, get: function () { return call_agent_schema_js_1.CALL_AGENT_ACTIONS; } });
|
|
216
|
+
Object.defineProperty(exports, "nullTolerant", { enumerable: true, get: function () { return call_agent_schema_js_1.nullTolerant; } });
|
|
217
|
+
Object.defineProperty(exports, "stripNulls", { enumerable: true, get: function () { return call_agent_schema_js_1.stripNulls; } });
|
|
218
|
+
Object.defineProperty(exports, "zodToOpenAiJsonSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.zodToOpenAiJsonSchema; } });
|
|
219
|
+
Object.defineProperty(exports, "listAgentsValidationSchema", { enumerable: true, get: function () { return call_agent_schema_js_1.listAgentsValidationSchema; } });
|
|
214
220
|
// ============================================
|
|
215
221
|
// Validation
|
|
216
222
|
// ============================================
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/server.js
CHANGED
|
@@ -206,17 +206,21 @@ function resolveAgent(registry, path) {
|
|
|
206
206
|
// ============================================
|
|
207
207
|
// MCP Tool Definitions
|
|
208
208
|
// ============================================
|
|
209
|
-
function getToolDefinitions() {
|
|
209
|
+
function getToolDefinitions(schemas) {
|
|
210
210
|
return [
|
|
211
211
|
{
|
|
212
212
|
name: "call_agent",
|
|
213
213
|
description: "Execute a tool on a registered agent. Provide the agent path and tool name.\n\nSupported actions:\n- invoke: Fire-and-forget agent invocation\n- ask: Invoke and wait for response\n- execute_tool: Call a specific tool on an agent\n- describe_tools: Get tool schemas for an agent\n- load: Get agent definition/system prompt\n- list_resources: List all resources available on an agent (docs, auth instructions, config schemas, etc.)\n- read_resources: Fetch one or more resources by URI",
|
|
214
|
-
inputSchema:
|
|
214
|
+
inputSchema: schemas?.callAgent
|
|
215
|
+
? (0, call_agent_schema_js_1.zodToOpenAiJsonSchema)(schemas.callAgent)
|
|
216
|
+
: call_agent_schema_js_1.callAgentInputSchema,
|
|
215
217
|
},
|
|
216
218
|
{
|
|
217
219
|
name: "list_agents",
|
|
218
220
|
description: "List all registered agents and their available tools. Optionally search/filter by query using BM25 ranking.",
|
|
219
|
-
inputSchema:
|
|
221
|
+
inputSchema: schemas?.listAgents
|
|
222
|
+
? (0, call_agent_schema_js_1.zodToOpenAiJsonSchema)(schemas.listAgents)
|
|
223
|
+
: call_agent_schema_js_1.listAgentsInputSchema,
|
|
220
224
|
},
|
|
221
225
|
];
|
|
222
226
|
}
|
|
@@ -225,6 +229,14 @@ function getToolDefinitions() {
|
|
|
225
229
|
// ============================================
|
|
226
230
|
function createAgentServer(registry, options = {}) {
|
|
227
231
|
const { port = 3000, hostname = "localhost", basePath = "", cors = true, serverName = "agents-sdk", serverVersion = "1.0.0", secretStore, oauthIdentityProvider, } = options;
|
|
232
|
+
// Build tool definitions and validation schemas from overrides
|
|
233
|
+
const toolDefs = getToolDefinitions(options.schemas);
|
|
234
|
+
const callAgentValidate = options.schemas?.callAgent
|
|
235
|
+
? (0, call_agent_schema_js_1.nullTolerant)(options.schemas.callAgent)
|
|
236
|
+
: call_agent_schema_js_1.callAgentValidationSchema;
|
|
237
|
+
const listAgentsValidate = options.schemas?.listAgents
|
|
238
|
+
? (0, call_agent_schema_js_1.nullTolerant)(options.schemas.listAgents)
|
|
239
|
+
: call_agent_schema_js_1.listAgentsValidationSchema;
|
|
228
240
|
// OIDC sign-in handler (if configured)
|
|
229
241
|
const oidcSignIn = options.oidcProvider
|
|
230
242
|
? (0, oidc_signin_js_1.createOIDCSignIn)(options.oidcProvider)
|
|
@@ -259,7 +271,7 @@ function createAgentServer(registry, options = {}) {
|
|
|
259
271
|
return jsonRpcSuccess(request.id, {});
|
|
260
272
|
case "tools/list":
|
|
261
273
|
return jsonRpcSuccess(request.id, {
|
|
262
|
-
tools:
|
|
274
|
+
tools: toolDefs,
|
|
263
275
|
});
|
|
264
276
|
case "tools/call": {
|
|
265
277
|
const { name, arguments: args } = (request.params ?? {});
|
|
@@ -282,7 +294,11 @@ function createAgentServer(registry, options = {}) {
|
|
|
282
294
|
async function handleToolCall(toolName, args, auth) {
|
|
283
295
|
switch (toolName) {
|
|
284
296
|
case "call_agent": {
|
|
285
|
-
|
|
297
|
+
// Validate + strip nulls (OpenAI convention: null = absent)
|
|
298
|
+
const parsed = callAgentValidate.safeParse(args);
|
|
299
|
+
const req = (parsed.success
|
|
300
|
+
? parsed.data.request ?? parsed.data
|
|
301
|
+
: (args.request ?? args));
|
|
286
302
|
// Inject auth context
|
|
287
303
|
if (auth) {
|
|
288
304
|
req.callerId = auth.callerId;
|
|
@@ -309,7 +325,7 @@ function createAgentServer(registry, options = {}) {
|
|
|
309
325
|
return mcpResult(result);
|
|
310
326
|
}
|
|
311
327
|
case "list_agents": {
|
|
312
|
-
const { query: listQuery, limit: listLimit, cursor: listCursor } =
|
|
328
|
+
const { query: listQuery, limit: listLimit, cursor: listCursor } = listAgentsValidate.parse(args);
|
|
313
329
|
const agents = registry.list();
|
|
314
330
|
let visible = agents.filter((agent) => (0, auth_governance_js_2.canSeeAgent)(agent, auth));
|
|
315
331
|
// Decode cursor if provided
|