@slashfi/agents-sdk 0.77.1 → 0.77.2

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":"adk-tools.d.ts","sourceRoot":"","sources":["../src/adk-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,aAAa,CAAC,IAAI,SAAS,WAAW,GAAG,WAAW;IACnE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,IAAI,KACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,qBAAqB,CAAC,IAAI,SAAS,WAAW,GAAG,WAAW;IAC3E;;;OAGG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3E,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAS,WAAW,GAAG,WAAW,EACnE,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAChC,cAAc,CAAC,IAAI,CAAC,EAAE,CA6QxB"}
1
+ {"version":3,"file":"adk-tools.d.ts","sourceRoot":"","sources":["../src/adk-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,KAAK,EAAc,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiP1E,MAAM,WAAW,aAAa,CAAC,IAAI,SAAS,WAAW,GAAG,WAAW;IACnE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,IAAI,KACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,qBAAqB,CAAC,IAAI,SAAS,WAAW,GAAG,WAAW;IAC3E;;;OAGG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3E,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAS,WAAW,GAAG,WAAW,EACnE,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAChC,cAAc,CAAC,IAAI,CAAC,EAAE,CAoMxB"}
package/dist/adk-tools.js CHANGED
@@ -16,7 +16,227 @@
16
16
  * });
17
17
  * ```
18
18
  */
19
+ import { z } from "zod";
20
+ import { AdkError } from "./adk-error.js";
21
+ import { zodToOpenAiJsonSchema } from "./call-agent-schema.js";
19
22
  import { defineTool } from "./define.js";
23
+ const objectRecordSchema = z.record(z.unknown());
24
+ const sourceRegistrySchema = z
25
+ .object({
26
+ url: z.string().min(1).describe("Registry MCP URL."),
27
+ agentPath: z.string().optional().describe("Agent path on that registry."),
28
+ })
29
+ .passthrough();
30
+ const refScopeSchema = z
31
+ .string()
32
+ .optional()
33
+ .describe("Config scope to operate on.");
34
+ const refNameSchema = z.string().min(1).describe("Local connection name.");
35
+ const refAddOperationSchema = z
36
+ .object({
37
+ operation: z.literal("add"),
38
+ scope: refScopeSchema,
39
+ ref: z
40
+ .string()
41
+ .min(1)
42
+ .optional()
43
+ .describe("Canonical agent path, e.g. 'google-calendar'. Defaults to name when omitted."),
44
+ name: refNameSchema
45
+ .optional()
46
+ .describe("Local connection name. Defaults to ref when omitted."),
47
+ scheme: z
48
+ .enum(["registry", "mcp", "https"])
49
+ .optional()
50
+ .describe("Connection type. Usually inferred from sourceRegistry or url."),
51
+ url: z
52
+ .string()
53
+ .min(1)
54
+ .optional()
55
+ .describe("Direct MCP/HTTPS URL. Required for direct mcp/https refs."),
56
+ sourceRegistry: sourceRegistrySchema
57
+ .optional()
58
+ .describe("Registry that serves this agent. Required for registry-backed refs."),
59
+ config: objectRecordSchema
60
+ .optional()
61
+ .describe("Optional per-instance config."),
62
+ })
63
+ .passthrough()
64
+ .superRefine((input, ctx) => {
65
+ if (!input.ref && !input.name) {
66
+ ctx.addIssue({
67
+ code: z.ZodIssueCode.custom,
68
+ path: ["ref"],
69
+ message: "Either ref or name is required.",
70
+ });
71
+ }
72
+ if (input.scheme === "registry" && !input.sourceRegistry?.url) {
73
+ ctx.addIssue({
74
+ code: z.ZodIssueCode.custom,
75
+ path: ["sourceRegistry", "url"],
76
+ message: "scheme=registry requires sourceRegistry.url.",
77
+ });
78
+ }
79
+ if ((input.scheme === "mcp" || input.scheme === "https") && !input.url) {
80
+ ctx.addIssue({
81
+ code: z.ZodIssueCode.custom,
82
+ path: ["url"],
83
+ message: `scheme=${input.scheme} requires url.`,
84
+ });
85
+ }
86
+ if (!input.url && !input.sourceRegistry?.url) {
87
+ ctx.addIssue({
88
+ code: z.ZodIssueCode.custom,
89
+ path: ["sourceRegistry"],
90
+ message: "Connection target is required: provide sourceRegistry.url for a registry ref, or url for a direct mcp/https ref.",
91
+ });
92
+ }
93
+ });
94
+ const refOperationSchemas = {
95
+ add: refAddOperationSchema,
96
+ remove: z
97
+ .object({
98
+ operation: z.literal("remove"),
99
+ scope: refScopeSchema,
100
+ name: refNameSchema,
101
+ })
102
+ .passthrough(),
103
+ list: z
104
+ .object({ operation: z.literal("list"), scope: refScopeSchema })
105
+ .passthrough(),
106
+ update: z
107
+ .object({
108
+ operation: z.literal("update"),
109
+ scope: refScopeSchema,
110
+ name: refNameSchema,
111
+ ref: z.string().optional(),
112
+ scheme: z.enum(["registry", "mcp", "https"]).optional(),
113
+ url: z.string().optional(),
114
+ sourceRegistry: sourceRegistrySchema.optional(),
115
+ config: objectRecordSchema.optional(),
116
+ })
117
+ .passthrough(),
118
+ inspect: z
119
+ .object({
120
+ operation: z.literal("inspect"),
121
+ scope: refScopeSchema,
122
+ name: refNameSchema,
123
+ full: z.boolean().optional(),
124
+ })
125
+ .passthrough(),
126
+ call: z
127
+ .object({
128
+ operation: z.literal("call"),
129
+ scope: refScopeSchema,
130
+ name: refNameSchema,
131
+ tool: z.string().min(1),
132
+ params: objectRecordSchema.optional(),
133
+ })
134
+ .passthrough(),
135
+ auth: z
136
+ .object({
137
+ operation: z.literal("auth"),
138
+ scope: refScopeSchema,
139
+ name: refNameSchema,
140
+ ref: z.string().optional(),
141
+ apiKey: z.string().optional(),
142
+ credentials: z.record(z.string()).optional(),
143
+ sourceRegistry: sourceRegistrySchema.optional(),
144
+ })
145
+ .passthrough(),
146
+ "auth-status": z
147
+ .object({
148
+ operation: z.literal("auth-status"),
149
+ scope: refScopeSchema,
150
+ name: refNameSchema,
151
+ })
152
+ .passthrough(),
153
+ "refresh-token": z
154
+ .object({
155
+ operation: z.literal("refresh-token"),
156
+ scope: refScopeSchema,
157
+ name: refNameSchema,
158
+ })
159
+ .passthrough(),
160
+ resources: z
161
+ .object({
162
+ operation: z.literal("resources"),
163
+ scope: refScopeSchema,
164
+ name: refNameSchema,
165
+ })
166
+ .passthrough(),
167
+ read: z
168
+ .object({
169
+ operation: z.literal("read"),
170
+ scope: refScopeSchema,
171
+ name: refNameSchema,
172
+ uris: z.array(z.string()),
173
+ })
174
+ .passthrough(),
175
+ };
176
+ const refToolInputSchema = z.union([
177
+ refOperationSchemas.add,
178
+ refOperationSchemas.remove,
179
+ refOperationSchemas.list,
180
+ refOperationSchemas.update,
181
+ refOperationSchemas.inspect,
182
+ refOperationSchemas.call,
183
+ refOperationSchemas.auth,
184
+ refOperationSchemas["auth-status"],
185
+ refOperationSchemas["refresh-token"],
186
+ refOperationSchemas.resources,
187
+ refOperationSchemas.read,
188
+ ]);
189
+ const refToolInputJsonSchema = zodToOpenAiJsonSchema(refToolInputSchema);
190
+ function parseRefToolInput(input) {
191
+ const op = typeof input.operation === "string" ? input.operation : undefined;
192
+ const schema = op && op in refOperationSchemas
193
+ ? refOperationSchemas[op]
194
+ : refToolInputSchema;
195
+ const result = schema.safeParse(input);
196
+ if (result.success)
197
+ return result.data;
198
+ const operation = op ? `ref.${op}` : "ref";
199
+ throw new AdkError({
200
+ code: "TOOL_INPUT_INVALID",
201
+ message: `Invalid ${operation} input`,
202
+ hint: "The expected input schema is serialized in details.schema; operation-specific schema is in details.operationSchema.",
203
+ details: {
204
+ operation,
205
+ issues: result.error.issues.map((issue) => ({
206
+ path: issue.path.join("."),
207
+ message: issue.message,
208
+ })),
209
+ received: input,
210
+ schema: refToolInputJsonSchema,
211
+ ...(op &&
212
+ op in refOperationSchemas && {
213
+ operationSchema: zodToOpenAiJsonSchema(refOperationSchemas[op]),
214
+ }),
215
+ },
216
+ });
217
+ }
218
+ function withScopeSchema(schema, scopeSchema) {
219
+ const clone = JSON.parse(JSON.stringify(schema));
220
+ const visit = (value) => {
221
+ if (!value || typeof value !== "object")
222
+ return;
223
+ if (Array.isArray(value)) {
224
+ for (const item of value)
225
+ visit(item);
226
+ return;
227
+ }
228
+ const record = value;
229
+ const properties = record.properties;
230
+ if (properties?.scope) {
231
+ properties.scope = scopeSchema;
232
+ }
233
+ for (const child of Object.values(record)) {
234
+ visit(child);
235
+ }
236
+ };
237
+ visit(clone);
238
+ return clone;
239
+ }
20
240
  export function createAdkTools(opts) {
21
241
  const { resolveScope, scopes } = opts;
22
242
  const scopeSchema = scopes
@@ -29,105 +249,34 @@ export function createAdkTools(opts) {
29
249
  const refTool = defineTool({
30
250
  name: "ref",
31
251
  description: "Manage agent refs. Operations: add, remove, list, update, inspect, call, auth, auth-status, refresh-token, resources, read. For `add`, supply `ref` (canonical agent path, e.g. 'notion') and `name` (local identifier). If `name` is omitted on add, it defaults to `ref`. For every other operation, pass `name`.",
32
- inputSchema: {
33
- type: "object",
34
- properties: {
35
- operation: {
36
- type: "string",
37
- enum: [
38
- "add",
39
- "remove",
40
- "list",
41
- "update",
42
- "inspect",
43
- "call",
44
- "auth",
45
- "auth-status",
46
- "refresh-token",
47
- "resources",
48
- "read",
49
- ],
50
- },
51
- scope: scopeSchema,
52
- ref: {
53
- type: "string",
54
- description: "Canonical agent path on the remote registry (e.g. 'notion', 'linear', 'github'). Used by `add` to identify which agent definition to connect to. Other operations use `name` instead. If you call `add` with only `name` and no `ref`, `ref` defaults to `name`.",
55
- },
56
- name: {
57
- type: "string",
58
- description: "Local identifier for this ref, used by all operations to look up the entry. On `add`, defaults to `ref` when omitted.",
59
- },
60
- scheme: {
61
- type: "string",
62
- description: "Connection scheme: 'mcp' (direct MCP server), 'https' (REST proxy), or 'registry' (discovered via a registry). Auto-inferred from `url` or `sourceRegistry` when omitted.",
63
- },
64
- url: {
65
- type: "string",
66
- description: "Direct URL to the agent (e.g. https://mcp.notion.com/mcp). Required for 'mcp' and 'https' schemes.",
67
- },
68
- sourceRegistry: {
69
- type: "object",
70
- properties: {
71
- url: { type: "string" },
72
- agentPath: { type: "string" },
73
- },
74
- description: "When scheme is 'registry', the registry + agent path to resolve through.",
75
- },
76
- config: {
77
- type: "object",
78
- description: "Per-instance config passed to the agent (headers, credentials, etc.). Supports `{{secret-uri}}` templates.",
79
- },
80
- tool: {
81
- type: "string",
82
- description: "For `call` operation: the tool name on the ref to invoke.",
83
- },
84
- params: {
85
- type: "object",
86
- description: "For `call` operation: arguments to pass to the tool.",
87
- },
88
- full: {
89
- type: "boolean",
90
- description: "For `inspect` operation: include full agent definition.",
91
- },
92
- uris: {
93
- type: "array",
94
- items: { type: "string" },
95
- description: "For `read` operation: the resource URIs to read.",
96
- },
97
- apiKey: {
98
- type: "string",
99
- description: "For `auth` operation: pre-provisioned API key.",
100
- },
101
- credentials: {
102
- type: "object",
103
- description: "For `auth` operation: key-value map of credential fields (keys match field names from the auth challenge).",
104
- },
105
- },
106
- required: ["operation"],
107
- },
252
+ inputSchema: withScopeSchema(refToolInputJsonSchema, scopeSchema),
108
253
  execute: async (input, ctx) => {
109
- const adk = await resolveScope(input.scope, ctx);
110
- const op = input.operation;
254
+ const parsedInput = parseRefToolInput(input);
255
+ const adk = await resolveScope(parsedInput.scope, ctx);
256
+ const op = parsedInput.operation;
111
257
  switch (op) {
112
258
  case "add": {
113
259
  // Accept `ref` or `name` (or both). If only one is given, the
114
260
  // other defaults to it. The stored entry always has an explicit
115
261
  // `name`, so downstream auth/callback state can distinguish the
116
262
  // canonical ref from the local connection handle.
117
- const refValue = (input.ref ?? input.name);
263
+ const refValue = (parsedInput.ref ?? parsedInput.name);
118
264
  if (!refValue) {
119
265
  throw new Error("ref.add: must supply either 'ref' (canonical agent path) or 'name' (local identifier); both may be the same string for the common single-instance case.");
120
266
  }
121
- const nameValue = (input.name ?? refValue);
122
- const entry = { ref: refValue, name: nameValue };
123
- if (input.scheme)
124
- entry.scheme = input.scheme;
125
- if (input.url)
126
- entry.url = input.url;
127
- if (input.sourceRegistry)
128
- entry.sourceRegistry = input.sourceRegistry;
129
- if (input.config)
130
- entry.config = input.config;
267
+ const nameValue = (parsedInput.name ?? refValue);
268
+ const entry = {
269
+ ref: refValue,
270
+ name: nameValue,
271
+ };
272
+ if (parsedInput.scheme)
273
+ entry.scheme = parsedInput.scheme;
274
+ if (parsedInput.url)
275
+ entry.url = parsedInput.url;
276
+ if (parsedInput.sourceRegistry)
277
+ entry.sourceRegistry = parsedInput.sourceRegistry;
278
+ if (parsedInput.config)
279
+ entry.config = parsedInput.config;
131
280
  const { security } = await adk.ref.add(entry);
132
281
  return {
133
282
  added: true,
@@ -137,38 +286,38 @@ export function createAdkTools(opts) {
137
286
  };
138
287
  }
139
288
  case "remove":
140
- return { removed: await adk.ref.remove(input.name) };
289
+ return { removed: await adk.ref.remove(parsedInput.name) };
141
290
  case "list":
142
291
  return { refs: await adk.ref.list() };
143
292
  case "update":
144
293
  return {
145
- updated: await adk.ref.update(input.name, input),
294
+ updated: await adk.ref.update(parsedInput.name, parsedInput),
146
295
  };
147
296
  case "inspect":
148
- return await adk.ref.inspect(input.name, {
149
- full: input.full,
297
+ return await adk.ref.inspect(parsedInput.name, {
298
+ full: parsedInput.full,
150
299
  });
151
300
  case "call":
152
- return await adk.ref.call(input.name, input.tool, input.params);
301
+ return await adk.ref.call(parsedInput.name, parsedInput.tool, parsedInput.params);
153
302
  case "auth": {
154
303
  const authOpts = {};
155
- if (input.apiKey)
156
- authOpts.apiKey = input.apiKey;
157
- if (input.credentials)
158
- authOpts.credentials = input.credentials;
304
+ if (parsedInput.apiKey)
305
+ authOpts.apiKey = parsedInput.apiKey;
306
+ if (parsedInput.credentials)
307
+ authOpts.credentials = parsedInput.credentials;
159
308
  if (opts.hooks?.getAuthStateContext) {
160
- authOpts.stateContext = await opts.hooks.getAuthStateContext(input, ctx);
309
+ authOpts.stateContext = await opts.hooks.getAuthStateContext(parsedInput, ctx);
161
310
  }
162
- return await adk.ref.auth(input.name, authOpts);
311
+ return await adk.ref.auth(parsedInput.name, authOpts);
163
312
  }
164
313
  case "auth-status":
165
- return await adk.ref.authStatus(input.name);
314
+ return await adk.ref.authStatus(parsedInput.name);
166
315
  case "refresh-token":
167
- return await adk.ref.refreshToken(input.name);
316
+ return await adk.ref.refreshToken(parsedInput.name);
168
317
  case "resources":
169
- return await adk.ref.resources(input.name);
318
+ return await adk.ref.resources(parsedInput.name);
170
319
  case "read":
171
- return await adk.ref.read(input.name, input.uris);
320
+ return await adk.ref.read(parsedInput.name, parsedInput.uris);
172
321
  default:
173
322
  throw new Error(`Unknown ref operation: ${op}`);
174
323
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adk-tools.js","sourceRoot":"","sources":["../src/adk-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adk-tools.js","sourceRoot":"","sources":["../src/adk-tools.ts"],"names":[],"mappings":"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"}