@slashfi/agents-sdk 0.34.0 → 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 +128 -135
- package/dist/call-agent-schema.d.ts.map +1 -1
- package/dist/call-agent-schema.js +34 -3
- package/dist/call-agent-schema.js.map +1 -1
- package/dist/cjs/call-agent-schema.js +34 -3
- package/dist/cjs/call-agent-schema.js.map +1 -1
- package/dist/cjs/validate.js +2 -2
- package/dist/cjs/validate.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.ts +36 -3
- 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,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;
|
|
1
|
+
{"version":3,"file":"call-agent-schema.d.ts","sourceRoot":"","sources":["../src/call-agent-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,9 +61,40 @@ export function nullTolerant(schema) {
|
|
|
61
61
|
* This is the standard way to generate input schemas for MCP tools
|
|
62
62
|
* that will be called by LLMs.
|
|
63
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
|
+
}
|
|
64
94
|
export function zodToOpenAiJsonSchema(schema) {
|
|
65
95
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
66
|
-
|
|
96
|
+
const raw = zodToJsonSchema(schema, { target: "openAi" });
|
|
97
|
+
return normalizeJsonSchema(raw);
|
|
67
98
|
}
|
|
68
99
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
69
100
|
// Base schemas
|
|
@@ -73,7 +104,7 @@ const callAgentBaseSchema = z.object({
|
|
|
73
104
|
path: z.string().describe("Agent path (e.g., '@my-agent')"),
|
|
74
105
|
callerId: z.string().optional().describe("Caller ID for access control"),
|
|
75
106
|
callerType: callerTypeSchema.optional().describe("Caller type"),
|
|
76
|
-
metadata: z.
|
|
107
|
+
metadata: z.object({}).passthrough().optional().describe("Additional metadata"),
|
|
77
108
|
});
|
|
78
109
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
79
110
|
// Action schemas
|
|
@@ -109,7 +140,7 @@ export const executeToolActionSchema = callAgentBaseSchema.extend({
|
|
|
109
140
|
action: z.literal("execute_tool"),
|
|
110
141
|
tool: z.string().describe("Tool name to call"),
|
|
111
142
|
params: z
|
|
112
|
-
.
|
|
143
|
+
.object({}).passthrough()
|
|
113
144
|
.optional()
|
|
114
145
|
.describe("Parameters for the tool"),
|
|
115
146
|
});
|
|
@@ -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,EAAmB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7D,CAAC;YACD,UAAU,CAAC,CAAC,CAAC;SACd,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAuB,MAAS;IAC1D,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAiB,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB;IAElB,8DAA8D;IAC9D,
|
|
1
|
+
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../src/call-agent-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,9 +67,40 @@ function nullTolerant(schema) {
|
|
|
67
67
|
* This is the standard way to generate input schemas for MCP tools
|
|
68
68
|
* that will be called by LLMs.
|
|
69
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
|
+
}
|
|
70
100
|
function zodToOpenAiJsonSchema(schema) {
|
|
71
101
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
72
|
-
|
|
102
|
+
const raw = (0, zod_to_json_schema_1.zodToJsonSchema)(schema, { target: "openAi" });
|
|
103
|
+
return normalizeJsonSchema(raw);
|
|
73
104
|
}
|
|
74
105
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
75
106
|
// Base schemas
|
|
@@ -79,7 +110,7 @@ const callAgentBaseSchema = zod_1.z.object({
|
|
|
79
110
|
path: zod_1.z.string().describe("Agent path (e.g., '@my-agent')"),
|
|
80
111
|
callerId: zod_1.z.string().optional().describe("Caller ID for access control"),
|
|
81
112
|
callerType: exports.callerTypeSchema.optional().describe("Caller type"),
|
|
82
|
-
metadata: zod_1.z.
|
|
113
|
+
metadata: zod_1.z.object({}).passthrough().optional().describe("Additional metadata"),
|
|
83
114
|
});
|
|
84
115
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
85
116
|
// Action schemas
|
|
@@ -115,7 +146,7 @@ exports.executeToolActionSchema = callAgentBaseSchema.extend({
|
|
|
115
146
|
action: zod_1.z.literal("execute_tool"),
|
|
116
147
|
tool: zod_1.z.string().describe("Tool name to call"),
|
|
117
148
|
params: zod_1.z
|
|
118
|
-
.
|
|
149
|
+
.object({}).passthrough()
|
|
119
150
|
.optional()
|
|
120
151
|
.describe("Parameters for the tool"),
|
|
121
152
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../../src/call-agent-schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAkBH,gCAYC;AAeD,oCAEC;
|
|
1
|
+
{"version":3,"file":"call-agent-schema.js","sourceRoot":"","sources":["../../src/call-agent-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/validate.js
CHANGED
|
@@ -24,7 +24,7 @@ exports.SerializedToolSchema = zod_1.z.object({
|
|
|
24
24
|
inputSchema: zod_1.z
|
|
25
25
|
.record(zod_1.z.unknown())
|
|
26
26
|
.default({ type: "object", properties: {} }),
|
|
27
|
-
outputSchema: zod_1.z.
|
|
27
|
+
outputSchema: zod_1.z.object({}).passthrough().optional(),
|
|
28
28
|
});
|
|
29
29
|
// ============================================
|
|
30
30
|
// Agent Definition Schema
|
|
@@ -36,7 +36,7 @@ exports.SerializedAgentDefinitionSchema = zod_1.z
|
|
|
36
36
|
description: zod_1.z.string().default(""),
|
|
37
37
|
version: zod_1.z.string().default("1.0.0"),
|
|
38
38
|
visibility: zod_1.z.enum(["public", "private"]).default("public"),
|
|
39
|
-
auth: zod_1.z.
|
|
39
|
+
auth: zod_1.z.object({}).passthrough().optional(),
|
|
40
40
|
serverSource: zod_1.z.string().optional(),
|
|
41
41
|
serverInfo: zod_1.z
|
|
42
42
|
.object({
|
package/dist/cjs/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AA0DH,gDAUC;AAMD,sDAQC;AAhFD,6BAAwB;AAExB,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAElC,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IAChD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,OAAC;SACX,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;SACnB,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC9C,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/validate.d.ts
CHANGED
|
@@ -14,16 +14,16 @@ export declare const SerializedToolSchema: z.ZodObject<{
|
|
|
14
14
|
name: z.ZodString;
|
|
15
15
|
description: z.ZodString;
|
|
16
16
|
inputSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
17
|
-
outputSchema: z.ZodOptional<z.
|
|
17
|
+
outputSchema: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
|
|
18
18
|
}, "strip", z.ZodTypeAny, {
|
|
19
19
|
name: string;
|
|
20
20
|
description: string;
|
|
21
21
|
inputSchema: Record<string, unknown>;
|
|
22
|
-
outputSchema?:
|
|
22
|
+
outputSchema?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
23
23
|
}, {
|
|
24
24
|
name: string;
|
|
25
25
|
description: string;
|
|
26
|
-
outputSchema?:
|
|
26
|
+
outputSchema?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
27
27
|
inputSchema?: Record<string, unknown> | undefined;
|
|
28
28
|
}>;
|
|
29
29
|
export declare const SerializedAgentDefinitionSchema: z.ZodObject<{
|
|
@@ -32,7 +32,7 @@ export declare const SerializedAgentDefinitionSchema: z.ZodObject<{
|
|
|
32
32
|
description: z.ZodDefault<z.ZodString>;
|
|
33
33
|
version: z.ZodDefault<z.ZodString>;
|
|
34
34
|
visibility: z.ZodDefault<z.ZodEnum<["public", "private"]>>;
|
|
35
|
-
auth: z.ZodOptional<z.
|
|
35
|
+
auth: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
|
|
36
36
|
serverSource: z.ZodOptional<z.ZodString>;
|
|
37
37
|
serverInfo: z.ZodOptional<z.ZodObject<{
|
|
38
38
|
name: z.ZodString;
|
|
@@ -48,16 +48,16 @@ export declare const SerializedAgentDefinitionSchema: z.ZodObject<{
|
|
|
48
48
|
name: z.ZodString;
|
|
49
49
|
description: z.ZodString;
|
|
50
50
|
inputSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
51
|
-
outputSchema: z.ZodOptional<z.
|
|
51
|
+
outputSchema: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
|
|
52
52
|
}, "strip", z.ZodTypeAny, {
|
|
53
53
|
name: string;
|
|
54
54
|
description: string;
|
|
55
55
|
inputSchema: Record<string, unknown>;
|
|
56
|
-
outputSchema?:
|
|
56
|
+
outputSchema?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
57
57
|
}, {
|
|
58
58
|
name: string;
|
|
59
59
|
description: string;
|
|
60
|
-
outputSchema?:
|
|
60
|
+
outputSchema?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
61
61
|
inputSchema?: Record<string, unknown> | undefined;
|
|
62
62
|
}>, "many">;
|
|
63
63
|
generatedAt: z.ZodOptional<z.ZodString>;
|
|
@@ -68,7 +68,7 @@ export declare const SerializedAgentDefinitionSchema: z.ZodObject<{
|
|
|
68
68
|
description: z.ZodDefault<z.ZodString>;
|
|
69
69
|
version: z.ZodDefault<z.ZodString>;
|
|
70
70
|
visibility: z.ZodDefault<z.ZodEnum<["public", "private"]>>;
|
|
71
|
-
auth: z.ZodOptional<z.
|
|
71
|
+
auth: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
|
|
72
72
|
serverSource: z.ZodOptional<z.ZodString>;
|
|
73
73
|
serverInfo: z.ZodOptional<z.ZodObject<{
|
|
74
74
|
name: z.ZodString;
|
|
@@ -84,16 +84,16 @@ export declare const SerializedAgentDefinitionSchema: z.ZodObject<{
|
|
|
84
84
|
name: z.ZodString;
|
|
85
85
|
description: z.ZodString;
|
|
86
86
|
inputSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
87
|
-
outputSchema: z.ZodOptional<z.
|
|
87
|
+
outputSchema: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
|
|
88
88
|
}, "strip", z.ZodTypeAny, {
|
|
89
89
|
name: string;
|
|
90
90
|
description: string;
|
|
91
91
|
inputSchema: Record<string, unknown>;
|
|
92
|
-
outputSchema?:
|
|
92
|
+
outputSchema?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
93
93
|
}, {
|
|
94
94
|
name: string;
|
|
95
95
|
description: string;
|
|
96
|
-
outputSchema?:
|
|
96
|
+
outputSchema?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
97
97
|
inputSchema?: Record<string, unknown> | undefined;
|
|
98
98
|
}>, "many">;
|
|
99
99
|
generatedAt: z.ZodOptional<z.ZodString>;
|
|
@@ -104,7 +104,7 @@ export declare const SerializedAgentDefinitionSchema: z.ZodObject<{
|
|
|
104
104
|
description: z.ZodDefault<z.ZodString>;
|
|
105
105
|
version: z.ZodDefault<z.ZodString>;
|
|
106
106
|
visibility: z.ZodDefault<z.ZodEnum<["public", "private"]>>;
|
|
107
|
-
auth: z.ZodOptional<z.
|
|
107
|
+
auth: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
|
|
108
108
|
serverSource: z.ZodOptional<z.ZodString>;
|
|
109
109
|
serverInfo: z.ZodOptional<z.ZodObject<{
|
|
110
110
|
name: z.ZodString;
|
|
@@ -120,16 +120,16 @@ export declare const SerializedAgentDefinitionSchema: z.ZodObject<{
|
|
|
120
120
|
name: z.ZodString;
|
|
121
121
|
description: z.ZodString;
|
|
122
122
|
inputSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
123
|
-
outputSchema: z.ZodOptional<z.
|
|
123
|
+
outputSchema: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
|
|
124
124
|
}, "strip", z.ZodTypeAny, {
|
|
125
125
|
name: string;
|
|
126
126
|
description: string;
|
|
127
127
|
inputSchema: Record<string, unknown>;
|
|
128
|
-
outputSchema?:
|
|
128
|
+
outputSchema?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
129
129
|
}, {
|
|
130
130
|
name: string;
|
|
131
131
|
description: string;
|
|
132
|
-
outputSchema?:
|
|
132
|
+
outputSchema?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
133
133
|
inputSchema?: Record<string, unknown> | undefined;
|
|
134
134
|
}>, "many">;
|
|
135
135
|
generatedAt: z.ZodOptional<z.ZodString>;
|
package/dist/validate.js
CHANGED
|
@@ -19,7 +19,7 @@ export const SerializedToolSchema = z.object({
|
|
|
19
19
|
inputSchema: z
|
|
20
20
|
.record(z.unknown())
|
|
21
21
|
.default({ type: "object", properties: {} }),
|
|
22
|
-
outputSchema: z.
|
|
22
|
+
outputSchema: z.object({}).passthrough().optional(),
|
|
23
23
|
});
|
|
24
24
|
// ============================================
|
|
25
25
|
// Agent Definition Schema
|
|
@@ -31,7 +31,7 @@ export const SerializedAgentDefinitionSchema = z
|
|
|
31
31
|
description: z.string().default(""),
|
|
32
32
|
version: z.string().default("1.0.0"),
|
|
33
33
|
visibility: z.enum(["public", "private"]).default("public"),
|
|
34
|
-
auth: z.
|
|
34
|
+
auth: z.object({}).passthrough().optional(),
|
|
35
35
|
serverSource: z.string().optional(),
|
|
36
36
|
serverInfo: z
|
|
37
37
|
.object({
|
package/dist/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnB,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC9C,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/call-agent-schema.ts
CHANGED
|
@@ -66,14 +66,47 @@ export function nullTolerant<T extends ZodTypeAny>(schema: T) {
|
|
|
66
66
|
* This is the standard way to generate input schemas for MCP tools
|
|
67
67
|
* that will be called by LLMs.
|
|
68
68
|
*/
|
|
69
|
+
/**
|
|
70
|
+
* Recursively normalize a JSON schema for Anthropic compatibility.
|
|
71
|
+
* Replaces `additionalProperties: {}` (empty schema = any) with `true`,
|
|
72
|
+
* which is semantically equivalent but accepted by Anthropic's validator.
|
|
73
|
+
*/
|
|
74
|
+
function normalizeJsonSchema(schema: Record<string, unknown>): Record<string, unknown> {
|
|
75
|
+
if (typeof schema !== "object" || schema === null) return schema;
|
|
76
|
+
|
|
77
|
+
const result: Record<string, unknown> = {};
|
|
78
|
+
for (const [key, value] of Object.entries(schema)) {
|
|
79
|
+
if (
|
|
80
|
+
key === "additionalProperties" &&
|
|
81
|
+
typeof value === "object" &&
|
|
82
|
+
value !== null &&
|
|
83
|
+
Object.keys(value).length === 0
|
|
84
|
+
) {
|
|
85
|
+
result[key] = true;
|
|
86
|
+
} else if (Array.isArray(value)) {
|
|
87
|
+
result[key] = value.map((item) =>
|
|
88
|
+
typeof item === "object" && item !== null
|
|
89
|
+
? normalizeJsonSchema(item as Record<string, unknown>)
|
|
90
|
+
: item,
|
|
91
|
+
);
|
|
92
|
+
} else if (typeof value === "object" && value !== null) {
|
|
93
|
+
result[key] = normalizeJsonSchema(value as Record<string, unknown>);
|
|
94
|
+
} else {
|
|
95
|
+
result[key] = value;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
|
|
69
101
|
export function zodToOpenAiJsonSchema(
|
|
70
102
|
schema: ZodTypeAny,
|
|
71
103
|
): Record<string, unknown> {
|
|
72
104
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
73
|
-
|
|
105
|
+
const raw = zodToJsonSchema(schema as any, { target: "openAi" }) as Record<
|
|
74
106
|
string,
|
|
75
107
|
unknown
|
|
76
108
|
>;
|
|
109
|
+
return normalizeJsonSchema(raw);
|
|
77
110
|
}
|
|
78
111
|
|
|
79
112
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -86,7 +119,7 @@ const callAgentBaseSchema = z.object({
|
|
|
86
119
|
path: z.string().describe("Agent path (e.g., '@my-agent')"),
|
|
87
120
|
callerId: z.string().optional().describe("Caller ID for access control"),
|
|
88
121
|
callerType: callerTypeSchema.optional().describe("Caller type"),
|
|
89
|
-
metadata: z.
|
|
122
|
+
metadata: z.object({}).passthrough().optional().describe("Additional metadata"),
|
|
90
123
|
});
|
|
91
124
|
|
|
92
125
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -126,7 +159,7 @@ export const executeToolActionSchema = callAgentBaseSchema.extend({
|
|
|
126
159
|
action: z.literal("execute_tool"),
|
|
127
160
|
tool: z.string().describe("Tool name to call"),
|
|
128
161
|
params: z
|
|
129
|
-
.
|
|
162
|
+
.object({}).passthrough()
|
|
130
163
|
.optional()
|
|
131
164
|
.describe("Parameters for the tool"),
|
|
132
165
|
});
|
package/src/validate.ts
CHANGED
|
@@ -22,7 +22,7 @@ export const SerializedToolSchema = z.object({
|
|
|
22
22
|
inputSchema: z
|
|
23
23
|
.record(z.unknown())
|
|
24
24
|
.default({ type: "object", properties: {} }),
|
|
25
|
-
outputSchema: z.
|
|
25
|
+
outputSchema: z.object({}).passthrough().optional(),
|
|
26
26
|
});
|
|
27
27
|
|
|
28
28
|
// ============================================
|
|
@@ -36,7 +36,7 @@ export const SerializedAgentDefinitionSchema = z
|
|
|
36
36
|
description: z.string().default(""),
|
|
37
37
|
version: z.string().default("1.0.0"),
|
|
38
38
|
visibility: z.enum(["public", "private"]).default("public"),
|
|
39
|
-
auth: z.
|
|
39
|
+
auth: z.object({}).passthrough().optional(),
|
|
40
40
|
serverSource: z.string().optional(),
|
|
41
41
|
serverInfo: z
|
|
42
42
|
.object({
|