@slashfi/agents-sdk 0.67.2 → 0.69.0

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.
@@ -2,17 +2,27 @@
2
2
  /**
3
3
  * Ref Materialization — Download agent docs to local filesystem.
4
4
  *
5
- * When `adk ref add` succeeds, materialize the agent's tool schemas,
6
- * resources (skills), and generate TypeScript type definitions locally.
5
+ * When `adk ref add` or `adk sync` runs, materialize the agent's tool schemas,
6
+ * resources (skills), and generate readable markdown docs locally.
7
7
  *
8
- * Files are written under the adk config dir at refs/<name>/.
8
+ * Output format:
9
+ * refs/<name>/
10
+ * agent.json — metadata (name, description, tool list)
11
+ * entrypoint.md — agent overview with tool summary
12
+ * tools/<tool>.tool.md — per-tool docs with parameter tables
13
+ * tools/<tool>.tool.json — raw JSON schemas
14
+ * types/<name>.d.ts — TypeScript type stubs
15
+ * skills/ — resources from the agent
16
+ *
17
+ * The .tool.md files are the primary output — designed for LLMs to read.
9
18
  */
10
19
  Object.defineProperty(exports, "__esModule", { value: true });
11
20
  exports.materializeRef = materializeRef;
21
+ exports.syncAllRefs = syncAllRefs;
12
22
  const node_fs_1 = require("node:fs");
13
23
  const node_path_1 = require("node:path");
14
24
  // ============================================
15
- // Helpers
25
+ // File Helpers
16
26
  // ============================================
17
27
  function ensureWrite(path, content) {
18
28
  const dir = (0, node_path_1.dirname)(path);
@@ -21,23 +31,150 @@ function ensureWrite(path, content) {
21
31
  }
22
32
  (0, node_fs_1.writeFileSync)(path, content, "utf-8");
23
33
  }
34
+ function toKebabCase(name) {
35
+ return name
36
+ .replace(/[^a-zA-Z0-9]+/g, "-")
37
+ .replace(/^-|-$/g, "")
38
+ .toLowerCase();
39
+ }
40
+ function pascalCase(s) {
41
+ return s
42
+ .replace(/[^a-zA-Z0-9]+(.)/g, (_, c) => c.toUpperCase())
43
+ .replace(/^./, (c) => c.toUpperCase());
44
+ }
45
+ // ============================================
46
+ // JSON Schema → TypeScript type string
47
+ // ============================================
48
+ function jsonSchemaToTsType(schema) {
49
+ if (!schema)
50
+ return "unknown";
51
+ const s = schema;
52
+ // const literal
53
+ if (s.const !== undefined)
54
+ return JSON.stringify(s.const);
55
+ // enum
56
+ if (schema.enum)
57
+ return schema.enum.map((v) => JSON.stringify(v)).join(" | ");
58
+ // oneOf / anyOf → union
59
+ if (s.oneOf)
60
+ return s.oneOf.map(jsonSchemaToTsType).join(" | ");
61
+ if (s.anyOf)
62
+ return s.anyOf.map(jsonSchemaToTsType).join(" | ");
63
+ // allOf → intersection
64
+ if (s.allOf)
65
+ return s.allOf.map(jsonSchemaToTsType).join(" & ");
66
+ // $ref
67
+ if (s.$ref) {
68
+ const match = s.$ref.match(/\/([^/]+)$/);
69
+ return match ? match[1] : "unknown";
70
+ }
71
+ switch (schema.type) {
72
+ case "string":
73
+ return s.format ? `string /* ${s.format} */` : "string";
74
+ case "integer":
75
+ return "number /* integer */";
76
+ case "number":
77
+ return "number";
78
+ case "boolean":
79
+ return "boolean";
80
+ case "null":
81
+ return "null";
82
+ case "array":
83
+ return schema.items ? `${jsonSchemaToTsType(schema.items)}[]` : "unknown[]";
84
+ case "object": {
85
+ if (schema.properties) {
86
+ const required = new Set(schema.required ?? []);
87
+ const props = Object.entries(schema.properties)
88
+ .map(([k, v]) => `${k}${required.has(k) ? "" : "?"}: ${jsonSchemaToTsType(v)}`)
89
+ .join("; ");
90
+ if (schema.additionalProperties && typeof schema.additionalProperties === "object") {
91
+ const addlType = jsonSchemaToTsType(schema.additionalProperties);
92
+ return props ? `{ ${props}; [key: string]: ${addlType} }` : `Record<string, ${addlType}>`;
93
+ }
94
+ return `{ ${props} }`;
95
+ }
96
+ if (schema.additionalProperties && typeof schema.additionalProperties === "object") {
97
+ return `Record<string, ${jsonSchemaToTsType(schema.additionalProperties)}>`;
98
+ }
99
+ return "Record<string, unknown>";
100
+ }
101
+ default:
102
+ if (Array.isArray(schema.type)) {
103
+ return schema.type.map((t) => (t === "null" ? "null" : t === "integer" ? "number" : t)).join(" | ");
104
+ }
105
+ return "unknown";
106
+ }
107
+ }
108
+ // ============================================
109
+ // Markdown Generation
110
+ // ============================================
111
+ /** Generate a .tool.md file — readable tool docs with parameter tables. */
112
+ function generateToolMd(tool) {
113
+ const schema = tool.inputSchema ?? { type: "object", properties: {} };
114
+ const lines = [];
115
+ lines.push(`# ${tool.name}`);
116
+ lines.push("");
117
+ if (tool.description) {
118
+ lines.push(tool.description);
119
+ lines.push("");
120
+ }
121
+ const props = (schema.properties ?? {});
122
+ const required = new Set(schema.required ?? []);
123
+ const paramNames = Object.keys(props);
124
+ if (paramNames.length > 0) {
125
+ lines.push("## Parameters");
126
+ lines.push("");
127
+ lines.push("| Name | Type | Required | Description |");
128
+ lines.push("|------|------|----------|-------------|");
129
+ for (const name of paramNames) {
130
+ const prop = props[name];
131
+ const type = jsonSchemaToTsType(prop);
132
+ const req = required.has(name) ? "✓" : "";
133
+ const desc = (prop.description ?? "").replace(/\|/g, "\\|");
134
+ lines.push(`| ${name} | \`${type}\` | ${req} | ${desc} |`);
135
+ }
136
+ lines.push("");
137
+ }
138
+ return lines.join("\n");
139
+ }
140
+ /** Generate entrypoint.md — agent overview with tool listing. */
141
+ function generateEntrypoint(refName, description, tools) {
142
+ const lines = [];
143
+ lines.push(`# ${refName}`);
144
+ lines.push("");
145
+ if (description) {
146
+ lines.push(description);
147
+ lines.push("");
148
+ }
149
+ lines.push(`## Available Tools (${tools.length})`);
150
+ lines.push("");
151
+ for (const tool of tools) {
152
+ lines.push(`- **${tool.name}**: ${tool.description ?? "No description"}`);
153
+ }
154
+ lines.push("");
155
+ lines.push(`> Auto-generated by \`adk sync\` at ${new Date().toISOString()}`);
156
+ lines.push("");
157
+ return lines.join("\n");
158
+ }
24
159
  /** Generate a .d.ts file from tool schemas. */
25
160
  function generateTypes(refName, tools) {
26
161
  const lines = [
27
- `// Auto-generated by adk ref add`,
162
+ `// Auto-generated by adk sync`,
28
163
  `// Agent: ${refName}`,
29
164
  `// Tools: ${tools.length}`,
30
165
  ``,
31
166
  `export interface ${pascalCase(refName)}Tools {`,
32
167
  ];
33
168
  for (const tool of tools) {
169
+ const paramsType = tool.inputSchema
170
+ ? jsonSchemaToTsType(tool.inputSchema)
171
+ : "Record<string, unknown>";
34
172
  lines.push(` /** ${tool.description ?? tool.name} */`);
35
173
  lines.push(` ${JSON.stringify(tool.name)}: {`);
36
174
  lines.push(` name: ${JSON.stringify(tool.name)};`);
37
- if (tool.description) {
175
+ if (tool.description)
38
176
  lines.push(` description: ${JSON.stringify(tool.description)};`);
39
- }
40
- lines.push(` params: Record<string, unknown>;`);
177
+ lines.push(` params: ${paramsType};`);
41
178
  lines.push(` };`);
42
179
  }
43
180
  lines.push(`}`);
@@ -46,13 +183,8 @@ function generateTypes(refName, tools) {
46
183
  lines.push(``);
47
184
  return lines.join("\n");
48
185
  }
49
- function pascalCase(s) {
50
- return s
51
- .replace(/[^a-zA-Z0-9]+(.)/g, (_, c) => c.toUpperCase())
52
- .replace(/^./, (c) => c.toUpperCase());
53
- }
54
186
  // ============================================
55
- // Materialize
187
+ // Materialize a single ref
56
188
  // ============================================
57
189
  async function materializeRef(adk, refName, configDir) {
58
190
  const refDir = (0, node_path_1.join)(configDir, "refs", refName);
@@ -62,7 +194,8 @@ async function materializeRef(adk, refName, configDir) {
62
194
  let toolCount = 0;
63
195
  let skillCount = 0;
64
196
  let typesGenerated = false;
65
- // 1. Fetch and write tool schemas
197
+ let docsGenerated = false;
198
+ // 1. Fetch tool schemas and generate docs
66
199
  try {
67
200
  const info = await adk.ref.inspect(refName, { full: true });
68
201
  if (info?.tools && info.tools.length > 0) {
@@ -72,11 +205,16 @@ async function materializeRef(adk, refName, configDir) {
72
205
  inputSchema: t.inputSchema,
73
206
  outputSchema: t.outputSchema,
74
207
  }));
208
+ // Write .tool.md files (primary output — readable by LLMs)
75
209
  for (const tool of tools) {
76
- const safeName = tool.name.replace(/[^a-zA-Z0-9_-]/g, "_");
210
+ const safeName = toKebabCase(tool.name);
211
+ ensureWrite((0, node_path_1.join)(toolsDir, `${safeName}.tool.md`), generateToolMd(tool));
77
212
  ensureWrite((0, node_path_1.join)(toolsDir, `${safeName}.tool.json`), JSON.stringify(tool, null, 2));
78
213
  }
79
214
  toolCount = tools.length;
215
+ // Write entrypoint.md
216
+ ensureWrite((0, node_path_1.join)(refDir, "entrypoint.md"), generateEntrypoint(refName, info.description, tools));
217
+ docsGenerated = true;
80
218
  // Write agent.json metadata
81
219
  ensureWrite((0, node_path_1.join)(refDir, "agent.json"), JSON.stringify({
82
220
  name: refName,
@@ -110,6 +248,59 @@ async function materializeRef(adk, refName, configDir) {
110
248
  catch {
111
249
  // resources fetch failed — might not be supported
112
250
  }
113
- return { toolCount, skillCount, typesGenerated };
251
+ return { toolCount, skillCount, typesGenerated, docsGenerated };
252
+ }
253
+ // ============================================
254
+ // Sync all refs from consumer config
255
+ // ============================================
256
+ const DEFAULT_CONCURRENCY = 3;
257
+ async function syncAllRefs(adk, configDir, opts) {
258
+ const config = await adk.readConfig();
259
+ const refs = config.refs ?? [];
260
+ // Resolve ref names and filter
261
+ const names = [];
262
+ for (const refEntry of refs) {
263
+ const name = typeof refEntry === "string"
264
+ ? refEntry
265
+ : refEntry.as ?? refEntry.ref ?? refEntry.name;
266
+ if (!name)
267
+ continue;
268
+ if (opts?.filter && name !== opts.filter)
269
+ continue;
270
+ names.push(name);
271
+ }
272
+ const results = [];
273
+ let totalTools = 0;
274
+ let totalSkills = 0;
275
+ const concurrency = opts?.concurrency ?? DEFAULT_CONCURRENCY;
276
+ // Process in batches of `concurrency`
277
+ for (let i = 0; i < names.length; i += concurrency) {
278
+ const batch = names.slice(i, i + concurrency);
279
+ const batchResults = await Promise.allSettled(batch.map(async (name) => {
280
+ opts?.onProgress?.(name, "syncing");
281
+ try {
282
+ const result = await materializeRef(adk, name, configDir);
283
+ opts?.onProgress?.(name, `done (${result.toolCount} tools)`);
284
+ return { name, result };
285
+ }
286
+ catch (err) {
287
+ const error = err?.message ?? String(err);
288
+ opts?.onProgress?.(name, `error: ${error}`);
289
+ return {
290
+ name,
291
+ result: { toolCount: 0, skillCount: 0, typesGenerated: false, docsGenerated: false },
292
+ error,
293
+ };
294
+ }
295
+ }));
296
+ for (const settled of batchResults) {
297
+ if (settled.status === "fulfilled") {
298
+ results.push(settled.value);
299
+ totalTools += settled.value.result.toolCount;
300
+ totalSkills += settled.value.result.skillCount;
301
+ }
302
+ }
303
+ }
304
+ return { refs: results, totalTools, totalSkills };
114
305
  }
115
306
  //# sourceMappingURL=materialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../src/materialize.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA0EH,wCA2EC;AAnJD,qCAA+D;AAC/D,yCAA0C;AAqB1C,+CAA+C;AAC/C,UAAU;AACV,+CAA+C;AAE/C,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe;IAChD,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAA,oBAAU,EAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAA,mBAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,IAAA,uBAAa,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,+CAA+C;AAC/C,SAAS,aAAa,CAAC,OAAe,EAAE,KAAmB;IACzD,MAAM,KAAK,GAAa;QACtB,kCAAkC;QAClC,aAAa,OAAO,EAAE;QACtB,aAAa,KAAK,CAAC,MAAM,EAAE;QAC3B,EAAE;QACF,oBAAoB,UAAU,CAAC,OAAO,CAAC,SAAS;KACjD,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,sCAAsC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC;SACL,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACvD,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAExC,KAAK,UAAU,cAAc,CAClC,GAAQ,EACR,OAAe,EACf,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,GAAiB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B,CAAC,CAAC,CAAC;YAEJ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAC3D,WAAW,CACT,IAAA,gBAAI,EAAC,QAAQ,EAAE,GAAG,QAAQ,YAAY,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAC9B,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YAEzB,4BAA4B;YAC5B,WAAW,CACT,IAAA,gBAAI,EAAC,MAAM,EAAE,YAAY,CAAC,EAC1B,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,KAAK,CAAC,MAAM;gBACvB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC/B,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACzC,EAAE,IAAI,EAAE,CAAC,CAAC,CACZ,CAAC;YAEF,iBAAiB;YACjB,WAAW,CACT,IAAA,gBAAI,EAAC,QAAQ,EAAE,GAAG,OAAO,OAAO,CAAC,EACjC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAC9B,CAAC;YACF,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,eAAsB,CAAC;QACxC,IAAI,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAChC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACjD,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,aAAa,CAAC;oBAChE,WAAW,CAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACtD,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../src/materialize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAw1BH,4DAIC;AA8BD,oEAIC;AAED,oEAIC;AA7CD,2EAA2E;AAC3E,SAAgB,wBAAwB,CACtC,CAAoB;IAEpB,OAAO,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC;AAC7B,CAAC;AA8BD,SAAgB,4BAA4B,CAC1C,CAA0B;IAE1B,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AAC5B,CAAC;AAED,SAAgB,4BAA4B,CAC1C,CAA0B;IAE1B,OAAO,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA02BH,4DAIC;AA8BD,oEAIC;AAED,oEAIC;AA7CD,2EAA2E;AAC3E,SAAgB,wBAAwB,CACtC,CAAoB;IAEpB,OAAO,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC;AAC7B,CAAC;AA8BD,SAAgB,4BAA4B,CAC1C,CAA0B;IAE1B,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AAC5B,CAAC;AAED,SAAgB,4BAA4B,CAC1C,CAA0B;IAE1B,OAAO,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC;AACzE,CAAC"}
@@ -103,11 +103,28 @@ export interface OAuthResult {
103
103
  expiresIn?: number;
104
104
  clientId: string;
105
105
  }
106
+ /** A field the caller needs to collect from the user */
107
+ export interface AuthChallengeField {
108
+ /** Field key (e.g. "api_key", "token") */
109
+ name: string;
110
+ /** Human-readable label (e.g. "API Key", "DD-API-KEY") */
111
+ label: string;
112
+ /** Whether this is a secret value (should be masked in UI) */
113
+ secret: boolean;
114
+ /** Optional description / help text */
115
+ description?: string;
116
+ }
106
117
  export interface AuthStartResult {
107
118
  type: string;
108
119
  complete: boolean;
109
120
  /** For OAuth: the URL to open in the browser */
110
121
  authorizeUrl?: string;
122
+ /**
123
+ * When complete=false and type is "apiKey" or "http",
124
+ * these are the fields the caller should collect from the user.
125
+ * The caller can render these as a form (Slack blocks, web modal, CLI prompts).
126
+ */
127
+ fields?: AuthChallengeField[];
111
128
  }
112
129
  export interface AdkRefApi {
113
130
  add(entry: RefEntry): Promise<{
@@ -131,8 +148,14 @@ export interface AdkRefApi {
131
148
  * adk.ref.authLocal() to spin up a local server and block.
132
149
  */
133
150
  auth(name: string, opts?: {
134
- /** For API key / bearer auth: the key/token value */
151
+ /** For API key / bearer auth: the key/token value (single-key shorthand) */
135
152
  apiKey?: string;
153
+ /**
154
+ * Credentials map for multi-field auth. Keys match the `name` field
155
+ * from AuthChallengeField (e.g. { "api_key": "xxx", "app_key": "yyy" }).
156
+ * For single-key apiKey or http bearer, `apiKey` shorthand also works.
157
+ */
158
+ credentials?: Record<string, string>;
136
159
  /** Extra context to encode in the OAuth state (e.g., tenant/user IDs for multi-tenant callbacks) */
137
160
  stateContext?: Record<string, unknown>;
138
161
  /** Additional scopes to request (e.g., optional scopes declared by the agent) */
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EAEZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAiB3E,wDAAwD;AACxD,MAAM,WAAW,yBAAyB;IACxC,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,wCAAwC;IACxC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,mDAAmD;IACnD,aAAa,CAAC,EAAE,OAAO,iBAAiB,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtE;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,GAAG,EAAE,yBAAyB,KAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,WAAW,UAAU;IACzB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CACpD;AAED,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,uEAAuE;IACvE,QAAQ,EAAE,OAAO,CAAC;IAClB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAClF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/F,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/D,yDAAyD;IACzD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QACxB,qDAAqD;QACrD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,oGAAoG;QACpG,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,iFAAiF;QACjF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7B;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7B,8DAA8D;QAC9D,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QACvC,8CAA8C;QAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnC;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,GAAG,EAAE,SAAS,CAAC;IACf,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAClJ;AA0FD,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,GAAE,UAAe,GAAG,GAAG,CAkhCpE"}
1
+ {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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"}
@@ -718,12 +718,29 @@ export function createAdk(fs, options = {}) {
718
718
  };
719
719
  }
720
720
  else if (security.type === "apiKey") {
721
- fields.api_key = {
722
- required: true,
723
- automated: false,
724
- present: configKeys.includes("api_key"),
725
- resolvable: await canResolve("api_key"),
726
- };
721
+ const apiKeySec = security;
722
+ const toStorageKey = (headerName) => headerName.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_|_$/g, "");
723
+ if (apiKeySec.headers && Object.keys(apiKeySec.headers).length > 0) {
724
+ // Multi-key mode
725
+ for (const headerName of Object.keys(apiKeySec.headers)) {
726
+ const storageKey = toStorageKey(headerName);
727
+ fields[storageKey] = {
728
+ required: true,
729
+ automated: false,
730
+ present: configKeys.includes(storageKey),
731
+ resolvable: await canResolve(storageKey),
732
+ };
733
+ }
734
+ }
735
+ else {
736
+ // Single-key mode (backwards compat)
737
+ fields.api_key = {
738
+ required: true,
739
+ automated: false,
740
+ present: configKeys.includes("api_key"),
741
+ resolvable: await canResolve("api_key"),
742
+ };
743
+ }
727
744
  }
728
745
  else if (security.type === "http") {
729
746
  fields.token = {
@@ -753,16 +770,82 @@ export function createAdk(fs, options = {}) {
753
770
  return { type: "none", complete: true };
754
771
  }
755
772
  if (security.type === "apiKey") {
756
- const key = opts?.apiKey ?? await tryResolve("api_key");
757
- if (!key)
758
- return { type: "apiKey", complete: false };
773
+ const apiKeySec = security;
774
+ const toStorageKey = (headerName) => headerName.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_|_$/g, "");
775
+ if (apiKeySec.headers && Object.keys(apiKeySec.headers).length > 0) {
776
+ // Multi-key mode: iterate all declared headers
777
+ const missingFields = [];
778
+ const resolvedKeys = [];
779
+ for (const [headerName, meta] of Object.entries(apiKeySec.headers)) {
780
+ const storageKey = toStorageKey(headerName);
781
+ const value = opts?.credentials?.[storageKey] ?? await tryResolve(storageKey);
782
+ if (value) {
783
+ resolvedKeys.push({ storageKey, value });
784
+ }
785
+ else {
786
+ missingFields.push({
787
+ name: storageKey,
788
+ label: headerName,
789
+ secret: true,
790
+ description: meta.description,
791
+ });
792
+ }
793
+ }
794
+ if (missingFields.length > 0) {
795
+ return { type: "apiKey", complete: false, fields: missingFields };
796
+ }
797
+ for (const { storageKey, value } of resolvedKeys) {
798
+ await storeRefSecret(name, storageKey, value);
799
+ }
800
+ return { type: "apiKey", complete: true };
801
+ }
802
+ // Single-key mode (backwards compat)
803
+ const key = opts?.credentials?.["api_key"] ?? opts?.apiKey ?? await tryResolve("api_key");
804
+ if (!key) {
805
+ return {
806
+ type: "apiKey",
807
+ complete: false,
808
+ fields: [{
809
+ name: "api_key",
810
+ label: apiKeySec.name ?? "API Key",
811
+ secret: true,
812
+ description: apiKeySec.prefix
813
+ ? `Value sent as "${apiKeySec.prefix} <key>"`
814
+ : undefined,
815
+ }],
816
+ };
817
+ }
759
818
  await storeRefSecret(name, "api_key", key);
760
819
  return { type: "apiKey", complete: true };
761
820
  }
762
821
  if (security.type === "http") {
763
- const token = opts?.apiKey ?? await tryResolve("token");
764
- if (!token)
765
- return { type: "http", complete: false };
822
+ const httpSec = security;
823
+ const isBasic = httpSec.scheme === "basic";
824
+ if (isBasic) {
825
+ const username = opts?.credentials?.["username"] ?? await tryResolve("username");
826
+ const password = opts?.credentials?.["password"] ?? await tryResolve("password");
827
+ if (!username || !password) {
828
+ const missingFields = [];
829
+ if (!username)
830
+ missingFields.push({ name: "username", label: "Username", secret: false });
831
+ if (!password)
832
+ missingFields.push({ name: "password", label: "Password", secret: true });
833
+ return { type: "http", complete: false, fields: missingFields };
834
+ }
835
+ // Store as base64 encoded basic auth token
836
+ const token = btoa(`${username}:${password}`);
837
+ await storeRefSecret(name, "token", token);
838
+ return { type: "http", complete: true };
839
+ }
840
+ // Bearer token
841
+ const token = opts?.credentials?.["token"] ?? opts?.apiKey ?? await tryResolve("token");
842
+ if (!token) {
843
+ return {
844
+ type: "http",
845
+ complete: false,
846
+ fields: [{ name: "token", label: "Bearer Token", secret: true }],
847
+ };
848
+ }
766
849
  await storeRefSecret(name, "token", token);
767
850
  return { type: "http", complete: true };
768
851
  }
@@ -770,7 +853,14 @@ export function createAdk(fs, options = {}) {
770
853
  const flows = security.flows;
771
854
  const authCodeFlow = flows?.authorizationCode;
772
855
  if (!authCodeFlow?.authorizationUrl) {
773
- return { type: "oauth2", complete: false };
856
+ return {
857
+ type: "oauth2",
858
+ complete: false,
859
+ fields: [
860
+ { name: "client_id", label: "Client ID", secret: false },
861
+ { name: "client_secret", label: "Client Secret", secret: true },
862
+ ],
863
+ };
774
864
  }
775
865
  const authUrl = authCodeFlow.authorizationUrl;
776
866
  let metadata = await tryFetchOAuthMetadata(authUrl);
@@ -818,7 +908,14 @@ export function createAdk(fs, options = {}) {
818
908
  }
819
909
  }
820
910
  if (!clientId) {
821
- throw new Error("Could not obtain client_id. Provide via resolveCredentials callback or store manually.");
911
+ // Return fields telling the caller what OAuth credentials to provide
912
+ const missingFields = [];
913
+ if (!clientId) {
914
+ missingFields.push({ name: "client_id", label: "Client ID", secret: false });
915
+ }
916
+ // Always ask for client_secret alongside client_id — most providers need it
917
+ missingFields.push({ name: "client_secret", label: "Client Secret", secret: true });
918
+ return { type: "oauth2", complete: false, fields: missingFields };
822
919
  }
823
920
  // State ties the callback back to this ref. Encode as base64 JSON
824
921
  // so callers can include extra context (tenant/user IDs).