@slashfi/agents-sdk 0.77.0 → 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.
Files changed (59) hide show
  1. package/dist/adk-tools.d.ts +2 -2
  2. package/dist/adk-tools.d.ts.map +1 -1
  3. package/dist/adk-tools.js +258 -118
  4. package/dist/adk-tools.js.map +1 -1
  5. package/dist/adk.js +7 -9
  6. package/dist/adk.js.map +1 -1
  7. package/dist/agent-definitions/config.d.ts.map +1 -1
  8. package/dist/agent-definitions/config.js +12 -14
  9. package/dist/agent-definitions/config.js.map +1 -1
  10. package/dist/cjs/adk-tools.js +258 -118
  11. package/dist/cjs/adk-tools.js.map +1 -1
  12. package/dist/cjs/agent-definitions/config.js +12 -14
  13. package/dist/cjs/agent-definitions/config.js.map +1 -1
  14. package/dist/cjs/config-store.js +34 -17
  15. package/dist/cjs/config-store.js.map +1 -1
  16. package/dist/cjs/define-config.js +5 -7
  17. package/dist/cjs/define-config.js.map +1 -1
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/materialize.js +1 -1
  20. package/dist/cjs/materialize.js.map +1 -1
  21. package/dist/cjs/registry-consumer.js +1 -1
  22. package/dist/cjs/registry.js +33 -2
  23. package/dist/cjs/registry.js.map +1 -1
  24. package/dist/cjs/types.js.map +1 -1
  25. package/dist/config-store.d.ts +3 -3
  26. package/dist/config-store.d.ts.map +1 -1
  27. package/dist/config-store.js +34 -17
  28. package/dist/config-store.js.map +1 -1
  29. package/dist/define-config.d.ts +11 -18
  30. package/dist/define-config.d.ts.map +1 -1
  31. package/dist/define-config.js +5 -7
  32. package/dist/define-config.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/materialize.js +1 -1
  37. package/dist/materialize.js.map +1 -1
  38. package/dist/registry-consumer.d.ts +1 -1
  39. package/dist/registry-consumer.js +1 -1
  40. package/dist/registry.d.ts.map +1 -1
  41. package/dist/registry.js +33 -2
  42. package/dist/registry.js.map +1 -1
  43. package/dist/types.d.ts +5 -3
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js.map +1 -1
  46. package/dist/validate.d.ts +8 -8
  47. package/package.json +1 -1
  48. package/src/adk-tools.ts +289 -127
  49. package/src/adk.ts +7 -8
  50. package/src/agent-definitions/config.ts +15 -16
  51. package/src/config-store.ts +43 -19
  52. package/src/consumer.test.ts +7 -7
  53. package/src/define-config.ts +11 -20
  54. package/src/index.ts +1 -0
  55. package/src/materialize.ts +1 -1
  56. package/src/ref-naming.test.ts +164 -91
  57. package/src/registry-consumer.ts +1 -1
  58. package/src/registry.ts +40 -2
  59. package/src/types.ts +21 -6
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/agent-definitions/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAC;AAMhF;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/C,sEAAsE;IACtE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AA6BD,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,KAAK,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAClD;AAMD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAsOjB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/agent-definitions/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAC;AAMhF;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/C,sEAAsE;IACtE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AA6BD,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,KAAK,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAClD;AAMD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAqOjB"}
@@ -62,9 +62,9 @@ export function createConfigAgent(options) {
62
62
  type: "string",
63
63
  description: 'Agent ref name (e.g. "notion", "linear")',
64
64
  },
65
- as: {
65
+ name: {
66
66
  type: "string",
67
- description: "Local alias (for multi-instance refs)",
67
+ description: "Local ref name. Defaults to ref when omitted.",
68
68
  },
69
69
  url: {
70
70
  type: "string",
@@ -85,26 +85,24 @@ export function createConfigAgent(options) {
85
85
  execute: async (input, ctx) => {
86
86
  const fs = getStore(ctx);
87
87
  const currentConfig = await readConfig(fs);
88
+ const name = input.name ?? input.ref;
88
89
  const entry = {
89
90
  ref: input.ref,
90
- ...(input.as && { as: input.as }),
91
+ name,
91
92
  ...(input.url && { url: input.url }),
92
93
  ...(input.config && { config: input.config }),
93
94
  ...(input.registry && { registry: input.registry }),
94
95
  };
95
- // Upsert: find existing ref by name/alias, replace or append
96
- const name = input.as ?? input.ref;
97
96
  const refs = currentConfig.refs ?? [];
98
- const existingIdx = refs.findIndex((r) => {
97
+ const altName = name.startsWith("@") ? name.slice(1) : `@${name}`;
98
+ const duplicate = refs.some((r) => {
99
99
  const normalized = normalizeRef(r);
100
- return normalized.name === name;
100
+ return normalized.name === name || normalized.name === altName;
101
101
  });
102
- if (existingIdx >= 0) {
103
- refs[existingIdx] = entry;
104
- }
105
- else {
106
- refs.push(entry);
102
+ if (duplicate) {
103
+ throw new Error(`Cannot add ref "${input.ref}" as "${name}": a ref with that name already exists`);
107
104
  }
105
+ refs.push(entry);
108
106
  currentConfig.refs = refs;
109
107
  await writeConfig(fs, currentConfig);
110
108
  return {
@@ -117,13 +115,13 @@ export function createConfigAgent(options) {
117
115
  // ---- remove_ref ----
118
116
  const removeRefTool = defineTool({
119
117
  name: "remove_ref",
120
- description: "Remove an agent ref from the consumer config by name or alias.",
118
+ description: "Remove an agent ref from the consumer config by name.",
121
119
  inputSchema: {
122
120
  type: "object",
123
121
  properties: {
124
122
  name: {
125
123
  type: "string",
126
- description: "Ref name or alias to remove",
124
+ description: "Ref name to remove",
127
125
  },
128
126
  },
129
127
  required: ["name"],
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/agent-definitions/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/agent-definitions/config.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,227 @@
19
19
  */
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.createAdkTools = createAdkTools;
22
+ const zod_1 = require("zod");
23
+ const adk_error_js_1 = require("./adk-error.js");
24
+ const call_agent_schema_js_1 = require("./call-agent-schema.js");
22
25
  const define_js_1 = require("./define.js");
26
+ const objectRecordSchema = zod_1.z.record(zod_1.z.unknown());
27
+ const sourceRegistrySchema = zod_1.z
28
+ .object({
29
+ url: zod_1.z.string().min(1).describe("Registry MCP URL."),
30
+ agentPath: zod_1.z.string().optional().describe("Agent path on that registry."),
31
+ })
32
+ .passthrough();
33
+ const refScopeSchema = zod_1.z
34
+ .string()
35
+ .optional()
36
+ .describe("Config scope to operate on.");
37
+ const refNameSchema = zod_1.z.string().min(1).describe("Local connection name.");
38
+ const refAddOperationSchema = zod_1.z
39
+ .object({
40
+ operation: zod_1.z.literal("add"),
41
+ scope: refScopeSchema,
42
+ ref: zod_1.z
43
+ .string()
44
+ .min(1)
45
+ .optional()
46
+ .describe("Canonical agent path, e.g. 'google-calendar'. Defaults to name when omitted."),
47
+ name: refNameSchema
48
+ .optional()
49
+ .describe("Local connection name. Defaults to ref when omitted."),
50
+ scheme: zod_1.z
51
+ .enum(["registry", "mcp", "https"])
52
+ .optional()
53
+ .describe("Connection type. Usually inferred from sourceRegistry or url."),
54
+ url: zod_1.z
55
+ .string()
56
+ .min(1)
57
+ .optional()
58
+ .describe("Direct MCP/HTTPS URL. Required for direct mcp/https refs."),
59
+ sourceRegistry: sourceRegistrySchema
60
+ .optional()
61
+ .describe("Registry that serves this agent. Required for registry-backed refs."),
62
+ config: objectRecordSchema
63
+ .optional()
64
+ .describe("Optional per-instance config."),
65
+ })
66
+ .passthrough()
67
+ .superRefine((input, ctx) => {
68
+ if (!input.ref && !input.name) {
69
+ ctx.addIssue({
70
+ code: zod_1.z.ZodIssueCode.custom,
71
+ path: ["ref"],
72
+ message: "Either ref or name is required.",
73
+ });
74
+ }
75
+ if (input.scheme === "registry" && !input.sourceRegistry?.url) {
76
+ ctx.addIssue({
77
+ code: zod_1.z.ZodIssueCode.custom,
78
+ path: ["sourceRegistry", "url"],
79
+ message: "scheme=registry requires sourceRegistry.url.",
80
+ });
81
+ }
82
+ if ((input.scheme === "mcp" || input.scheme === "https") && !input.url) {
83
+ ctx.addIssue({
84
+ code: zod_1.z.ZodIssueCode.custom,
85
+ path: ["url"],
86
+ message: `scheme=${input.scheme} requires url.`,
87
+ });
88
+ }
89
+ if (!input.url && !input.sourceRegistry?.url) {
90
+ ctx.addIssue({
91
+ code: zod_1.z.ZodIssueCode.custom,
92
+ path: ["sourceRegistry"],
93
+ message: "Connection target is required: provide sourceRegistry.url for a registry ref, or url for a direct mcp/https ref.",
94
+ });
95
+ }
96
+ });
97
+ const refOperationSchemas = {
98
+ add: refAddOperationSchema,
99
+ remove: zod_1.z
100
+ .object({
101
+ operation: zod_1.z.literal("remove"),
102
+ scope: refScopeSchema,
103
+ name: refNameSchema,
104
+ })
105
+ .passthrough(),
106
+ list: zod_1.z
107
+ .object({ operation: zod_1.z.literal("list"), scope: refScopeSchema })
108
+ .passthrough(),
109
+ update: zod_1.z
110
+ .object({
111
+ operation: zod_1.z.literal("update"),
112
+ scope: refScopeSchema,
113
+ name: refNameSchema,
114
+ ref: zod_1.z.string().optional(),
115
+ scheme: zod_1.z.enum(["registry", "mcp", "https"]).optional(),
116
+ url: zod_1.z.string().optional(),
117
+ sourceRegistry: sourceRegistrySchema.optional(),
118
+ config: objectRecordSchema.optional(),
119
+ })
120
+ .passthrough(),
121
+ inspect: zod_1.z
122
+ .object({
123
+ operation: zod_1.z.literal("inspect"),
124
+ scope: refScopeSchema,
125
+ name: refNameSchema,
126
+ full: zod_1.z.boolean().optional(),
127
+ })
128
+ .passthrough(),
129
+ call: zod_1.z
130
+ .object({
131
+ operation: zod_1.z.literal("call"),
132
+ scope: refScopeSchema,
133
+ name: refNameSchema,
134
+ tool: zod_1.z.string().min(1),
135
+ params: objectRecordSchema.optional(),
136
+ })
137
+ .passthrough(),
138
+ auth: zod_1.z
139
+ .object({
140
+ operation: zod_1.z.literal("auth"),
141
+ scope: refScopeSchema,
142
+ name: refNameSchema,
143
+ ref: zod_1.z.string().optional(),
144
+ apiKey: zod_1.z.string().optional(),
145
+ credentials: zod_1.z.record(zod_1.z.string()).optional(),
146
+ sourceRegistry: sourceRegistrySchema.optional(),
147
+ })
148
+ .passthrough(),
149
+ "auth-status": zod_1.z
150
+ .object({
151
+ operation: zod_1.z.literal("auth-status"),
152
+ scope: refScopeSchema,
153
+ name: refNameSchema,
154
+ })
155
+ .passthrough(),
156
+ "refresh-token": zod_1.z
157
+ .object({
158
+ operation: zod_1.z.literal("refresh-token"),
159
+ scope: refScopeSchema,
160
+ name: refNameSchema,
161
+ })
162
+ .passthrough(),
163
+ resources: zod_1.z
164
+ .object({
165
+ operation: zod_1.z.literal("resources"),
166
+ scope: refScopeSchema,
167
+ name: refNameSchema,
168
+ })
169
+ .passthrough(),
170
+ read: zod_1.z
171
+ .object({
172
+ operation: zod_1.z.literal("read"),
173
+ scope: refScopeSchema,
174
+ name: refNameSchema,
175
+ uris: zod_1.z.array(zod_1.z.string()),
176
+ })
177
+ .passthrough(),
178
+ };
179
+ const refToolInputSchema = zod_1.z.union([
180
+ refOperationSchemas.add,
181
+ refOperationSchemas.remove,
182
+ refOperationSchemas.list,
183
+ refOperationSchemas.update,
184
+ refOperationSchemas.inspect,
185
+ refOperationSchemas.call,
186
+ refOperationSchemas.auth,
187
+ refOperationSchemas["auth-status"],
188
+ refOperationSchemas["refresh-token"],
189
+ refOperationSchemas.resources,
190
+ refOperationSchemas.read,
191
+ ]);
192
+ const refToolInputJsonSchema = (0, call_agent_schema_js_1.zodToOpenAiJsonSchema)(refToolInputSchema);
193
+ function parseRefToolInput(input) {
194
+ const op = typeof input.operation === "string" ? input.operation : undefined;
195
+ const schema = op && op in refOperationSchemas
196
+ ? refOperationSchemas[op]
197
+ : refToolInputSchema;
198
+ const result = schema.safeParse(input);
199
+ if (result.success)
200
+ return result.data;
201
+ const operation = op ? `ref.${op}` : "ref";
202
+ throw new adk_error_js_1.AdkError({
203
+ code: "TOOL_INPUT_INVALID",
204
+ message: `Invalid ${operation} input`,
205
+ hint: "The expected input schema is serialized in details.schema; operation-specific schema is in details.operationSchema.",
206
+ details: {
207
+ operation,
208
+ issues: result.error.issues.map((issue) => ({
209
+ path: issue.path.join("."),
210
+ message: issue.message,
211
+ })),
212
+ received: input,
213
+ schema: refToolInputJsonSchema,
214
+ ...(op &&
215
+ op in refOperationSchemas && {
216
+ operationSchema: (0, call_agent_schema_js_1.zodToOpenAiJsonSchema)(refOperationSchemas[op]),
217
+ }),
218
+ },
219
+ });
220
+ }
221
+ function withScopeSchema(schema, scopeSchema) {
222
+ const clone = JSON.parse(JSON.stringify(schema));
223
+ const visit = (value) => {
224
+ if (!value || typeof value !== "object")
225
+ return;
226
+ if (Array.isArray(value)) {
227
+ for (const item of value)
228
+ visit(item);
229
+ return;
230
+ }
231
+ const record = value;
232
+ const properties = record.properties;
233
+ if (properties?.scope) {
234
+ properties.scope = scopeSchema;
235
+ }
236
+ for (const child of Object.values(record)) {
237
+ visit(child);
238
+ }
239
+ };
240
+ visit(clone);
241
+ return clone;
242
+ }
23
243
  function createAdkTools(opts) {
24
244
  const { resolveScope, scopes } = opts;
25
245
  const scopeSchema = scopes
@@ -31,156 +251,76 @@ function createAdkTools(opts) {
31
251
  : { type: "string", description: "Config scope (optional)" };
32
252
  const refTool = (0, define_js_1.defineTool)({
33
253
  name: "ref",
34
- 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 optionally `name` for a local alias; either one uniquely identifies the ref. For every other operation, pass `name` (the local identifier you used on add defaults to `ref` when you didn't set it explicitly).",
35
- inputSchema: {
36
- type: "object",
37
- properties: {
38
- operation: {
39
- type: "string",
40
- enum: [
41
- "add",
42
- "remove",
43
- "list",
44
- "update",
45
- "inspect",
46
- "call",
47
- "auth",
48
- "auth-status",
49
- "refresh-token",
50
- "resources",
51
- "read",
52
- ],
53
- },
54
- scope: scopeSchema,
55
- ref: {
56
- type: "string",
57
- 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`.",
58
- },
59
- name: {
60
- type: "string",
61
- description: "Local identifier for this ref, used by all operations except `add` to look up the entry. On `add`, `name` is optional — it only needs to differ from `ref` when you want multiple local instances of the same agent (e.g. `{ ref: 'notion', name: 'work-notion' }`). Omit it and the ref is identified by its canonical path.",
62
- },
63
- scheme: {
64
- type: "string",
65
- description: "Connection scheme: 'mcp' (direct MCP server), 'https' (REST proxy), or 'registry' (discovered via a registry). Auto-inferred from `url` or `sourceRegistry` when omitted.",
66
- },
67
- url: {
68
- type: "string",
69
- description: "Direct URL to the agent (e.g. https://mcp.notion.com/mcp). Required for 'mcp' and 'https' schemes.",
70
- },
71
- sourceRegistry: {
72
- type: "object",
73
- properties: {
74
- url: { type: "string" },
75
- agentPath: { type: "string" },
76
- },
77
- description: "When scheme is 'registry', the registry + agent path to resolve through.",
78
- },
79
- config: {
80
- type: "object",
81
- description: "Per-instance config passed to the agent (headers, credentials, etc.). Supports `{{secret-uri}}` templates.",
82
- },
83
- tool: {
84
- type: "string",
85
- description: "For `call` operation: the tool name on the ref to invoke.",
86
- },
87
- params: {
88
- type: "object",
89
- description: "For `call` operation: arguments to pass to the tool.",
90
- },
91
- full: {
92
- type: "boolean",
93
- description: "For `inspect` operation: include full agent definition.",
94
- },
95
- uris: {
96
- type: "array",
97
- items: { type: "string" },
98
- description: "For `read` operation: the resource URIs to read.",
99
- },
100
- apiKey: {
101
- type: "string",
102
- description: "For `auth` operation: pre-provisioned API key.",
103
- },
104
- credentials: {
105
- type: "object",
106
- description: "For `auth` operation: key-value map of credential fields (keys match field names from the auth challenge).",
107
- },
108
- },
109
- required: ["operation"],
110
- },
254
+ 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`.",
255
+ inputSchema: withScopeSchema(refToolInputJsonSchema, scopeSchema),
111
256
  execute: async (input, ctx) => {
112
- const adk = await resolveScope(input.scope, ctx);
113
- const op = input.operation;
257
+ const parsedInput = parseRefToolInput(input);
258
+ const adk = await resolveScope(parsedInput.scope, ctx);
259
+ const op = parsedInput.operation;
114
260
  switch (op) {
115
261
  case "add": {
116
262
  // Accept `ref` or `name` (or both). If only one is given, the
117
- // other defaults to it. This matches the "Add a ref called X"
118
- // natural-language phrasing LLMs that pick `name` get the
119
- // same behavior as ones that pick `ref`, eliminating
120
- // non-determinism on the identifier field. Throws when both
121
- // are missing, so misuse is loud instead of silently storing
122
- // `{ ref: undefined }`.
123
- const refValue = (input.ref ?? input.name);
263
+ // other defaults to it. The stored entry always has an explicit
264
+ // `name`, so downstream auth/callback state can distinguish the
265
+ // canonical ref from the local connection handle.
266
+ const refValue = (parsedInput.ref ?? parsedInput.name);
124
267
  if (!refValue) {
125
268
  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.");
126
269
  }
127
- const entry = { ref: refValue };
128
- if (input.scheme)
129
- entry.scheme = input.scheme;
130
- if (input.url)
131
- entry.url = input.url;
132
- // Only store `name` when it's meaningfully different from
133
- // `ref` (the multi-instance aliasing case). Avoids a
134
- // redundant `{ name: 'notion', ref: 'notion' }` stored shape.
135
- const nameValue = input.name;
136
- if (nameValue && nameValue !== refValue) {
137
- entry.name = nameValue;
138
- }
139
- if (input.sourceRegistry)
140
- entry.sourceRegistry = input.sourceRegistry;
141
- if (input.config)
142
- entry.config = input.config;
270
+ const nameValue = (parsedInput.name ?? refValue);
271
+ const entry = {
272
+ ref: refValue,
273
+ name: nameValue,
274
+ };
275
+ if (parsedInput.scheme)
276
+ entry.scheme = parsedInput.scheme;
277
+ if (parsedInput.url)
278
+ entry.url = parsedInput.url;
279
+ if (parsedInput.sourceRegistry)
280
+ entry.sourceRegistry = parsedInput.sourceRegistry;
281
+ if (parsedInput.config)
282
+ entry.config = parsedInput.config;
143
283
  const { security } = await adk.ref.add(entry);
144
284
  return {
145
285
  added: true,
146
286
  ref: refValue,
147
- name: (entry.name ?? refValue),
287
+ name: nameValue,
148
288
  security,
149
289
  };
150
290
  }
151
291
  case "remove":
152
- return { removed: await adk.ref.remove(input.name) };
292
+ return { removed: await adk.ref.remove(parsedInput.name) };
153
293
  case "list":
154
294
  return { refs: await adk.ref.list() };
155
295
  case "update":
156
296
  return {
157
- updated: await adk.ref.update(input.name, input),
297
+ updated: await adk.ref.update(parsedInput.name, parsedInput),
158
298
  };
159
299
  case "inspect":
160
- return await adk.ref.inspect(input.name, {
161
- full: input.full,
300
+ return await adk.ref.inspect(parsedInput.name, {
301
+ full: parsedInput.full,
162
302
  });
163
303
  case "call":
164
- return await adk.ref.call(input.name, input.tool, input.params);
304
+ return await adk.ref.call(parsedInput.name, parsedInput.tool, parsedInput.params);
165
305
  case "auth": {
166
306
  const authOpts = {};
167
- if (input.apiKey)
168
- authOpts.apiKey = input.apiKey;
169
- if (input.credentials)
170
- authOpts.credentials = input.credentials;
307
+ if (parsedInput.apiKey)
308
+ authOpts.apiKey = parsedInput.apiKey;
309
+ if (parsedInput.credentials)
310
+ authOpts.credentials = parsedInput.credentials;
171
311
  if (opts.hooks?.getAuthStateContext) {
172
- authOpts.stateContext = await opts.hooks.getAuthStateContext(ctx);
312
+ authOpts.stateContext = await opts.hooks.getAuthStateContext(parsedInput, ctx);
173
313
  }
174
- return await adk.ref.auth(input.name, authOpts);
314
+ return await adk.ref.auth(parsedInput.name, authOpts);
175
315
  }
176
316
  case "auth-status":
177
- return await adk.ref.authStatus(input.name);
317
+ return await adk.ref.authStatus(parsedInput.name);
178
318
  case "refresh-token":
179
- return await adk.ref.refreshToken(input.name);
319
+ return await adk.ref.refreshToken(parsedInput.name);
180
320
  case "resources":
181
- return await adk.ref.resources(input.name);
321
+ return await adk.ref.resources(parsedInput.name);
182
322
  case "read":
183
- return await adk.ref.read(input.name, input.uris);
323
+ return await adk.ref.read(parsedInput.name, parsedInput.uris);
184
324
  default:
185
325
  throw new Error(`Unknown ref operation: ${op}`);
186
326
  }
@@ -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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"}
@@ -65,9 +65,9 @@ function createConfigAgent(options) {
65
65
  type: "string",
66
66
  description: 'Agent ref name (e.g. "notion", "linear")',
67
67
  },
68
- as: {
68
+ name: {
69
69
  type: "string",
70
- description: "Local alias (for multi-instance refs)",
70
+ description: "Local ref name. Defaults to ref when omitted.",
71
71
  },
72
72
  url: {
73
73
  type: "string",
@@ -88,26 +88,24 @@ function createConfigAgent(options) {
88
88
  execute: async (input, ctx) => {
89
89
  const fs = getStore(ctx);
90
90
  const currentConfig = await readConfig(fs);
91
+ const name = input.name ?? input.ref;
91
92
  const entry = {
92
93
  ref: input.ref,
93
- ...(input.as && { as: input.as }),
94
+ name,
94
95
  ...(input.url && { url: input.url }),
95
96
  ...(input.config && { config: input.config }),
96
97
  ...(input.registry && { registry: input.registry }),
97
98
  };
98
- // Upsert: find existing ref by name/alias, replace or append
99
- const name = input.as ?? input.ref;
100
99
  const refs = currentConfig.refs ?? [];
101
- const existingIdx = refs.findIndex((r) => {
100
+ const altName = name.startsWith("@") ? name.slice(1) : `@${name}`;
101
+ const duplicate = refs.some((r) => {
102
102
  const normalized = (0, define_config_js_1.normalizeRef)(r);
103
- return normalized.name === name;
103
+ return normalized.name === name || normalized.name === altName;
104
104
  });
105
- if (existingIdx >= 0) {
106
- refs[existingIdx] = entry;
107
- }
108
- else {
109
- refs.push(entry);
105
+ if (duplicate) {
106
+ throw new Error(`Cannot add ref "${input.ref}" as "${name}": a ref with that name already exists`);
110
107
  }
108
+ refs.push(entry);
111
109
  currentConfig.refs = refs;
112
110
  await writeConfig(fs, currentConfig);
113
111
  return {
@@ -120,13 +118,13 @@ function createConfigAgent(options) {
120
118
  // ---- remove_ref ----
121
119
  const removeRefTool = (0, define_js_1.defineTool)({
122
120
  name: "remove_ref",
123
- description: "Remove an agent ref from the consumer config by name or alias.",
121
+ description: "Remove an agent ref from the consumer config by name.",
124
122
  inputSchema: {
125
123
  type: "object",
126
124
  properties: {
127
125
  name: {
128
126
  type: "string",
129
- description: "Ref name or alias to remove",
127
+ description: "Ref name to remove",
130
128
  },
131
129
  },
132
130
  required: ["name"],