@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.
@@ -1 +1 @@
1
- {"version":3,"file":"call-agent-schema.d.ts","sourceRoot":"","sources":["../src/call-agent-schema.ts"],"names":[],"mappings":"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"}
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,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAOzC;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAYhD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,GACJ,CAAC,CACxD;AAyCD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAMD,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;;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;EASpC,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;AAMJ;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,yBAEhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAErC,CAAC;AAMF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAiBpC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB,yBAEjC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAEtC,CAAC"}
@@ -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.record(z.unknown()).optional().describe("Additional metadata"),
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
- .record(z.unknown())
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.literal("list_resources").describe("List all resources available on an agent — docs, auth instructions, config schemas, etc."),
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.literal("read_resources").describe("Fetch one or more resources by URI. Use list_resources first to discover available URIs."),
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
- export const callAgentInputSchema = zodToJsonSchema(callAgentToolInputSchema, { target: "openAi" });
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
137
- export const listAgentsInputSchema = zodToJsonSchema(listAgentsToolInputSchema, { target: "openAi" });
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":"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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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"}
@@ -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.record(zod_1.z.unknown()).optional().describe("Additional metadata"),
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
- .record(zod_1.z.unknown())
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.literal("list_resources").describe("List all resources available on an agent — docs, auth instructions, config schemas, etc."),
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.literal("read_resources").describe("Fetch one or more resources by URI. Use list_resources first to discover available URIs."),
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
121
- exports.callAgentInputSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(exports.callAgentToolInputSchema, { target: "openAi" });
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
140
- exports.listAgentsInputSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(exports.listAgentsToolInputSchema, { target: "openAi" });
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":"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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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"}
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
  // ============================================
@@ -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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"}
@@ -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: call_agent_schema_js_1.callAgentInputSchema,
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: call_agent_schema_js_1.listAgentsInputSchema,
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: getToolDefinitions(),
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
- const req = (args.request ?? args);
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 } = call_agent_schema_js_1.listAgentsToolInputSchema.parse(args);
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