@slashfi/agents-sdk 0.68.0 → 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.
package/dist/adk.js CHANGED
@@ -22,7 +22,7 @@ import { createAdk } from "./config-store.js";
22
22
  import { createLocalFsStore, getLocalEncryptionKey } from "./local-fs.js";
23
23
  import { AdkError, getError, getRecentErrors } from "./adk-error.js";
24
24
  import { runInit, parseTarget } from "./init.js";
25
- import { materializeRef } from "./materialize.js";
25
+ import { materializeRef, syncAllRefs } from "./materialize.js";
26
26
  const args = process.argv.slice(2);
27
27
  const command = args[0];
28
28
  // ============================================
@@ -83,6 +83,7 @@ adk — Agent Development Kit
83
83
 
84
84
  Usage:
85
85
  adk init [--target <agent>:<path>] Setup + install skills for coding agents
86
+ adk sync [--ref <name>] Materialize tool docs for all refs in config
86
87
  adk proxy <op> [options] Manage remote adk proxies
87
88
  adk registry <op> [options] Manage registry connections
88
89
  adk ref <op> [options] Manage agent refs
@@ -564,6 +565,28 @@ switch (command) {
564
565
  await runInit(adk, targets);
565
566
  break;
566
567
  }
568
+ case "sync": {
569
+ const adk = getAdk();
570
+ const configDir = process.env.ADK_CONFIG_DIR ?? join(homedir(), ".adk");
571
+ const filter = getArg("--ref");
572
+ console.log(filter ? `Syncing ref: ${filter}` : "Syncing all refs from config...");
573
+ const syncResult = await syncAllRefs(adk, configDir, {
574
+ filter: filter ?? undefined,
575
+ onProgress(name, status) {
576
+ console.log(` ${name}: ${status}`);
577
+ },
578
+ });
579
+ const ok = syncResult.refs.filter((r) => !r.error);
580
+ const failed = syncResult.refs.filter((r) => r.error);
581
+ console.log(`\n\x1b[32m✓\x1b[0m Synced ${ok.length} ref(s): ${syncResult.totalTools} tools, ${syncResult.totalSkills} skills`);
582
+ if (failed.length > 0) {
583
+ console.log(`\x1b[33m!\x1b[0m ${failed.length} ref(s) failed:`);
584
+ for (const f of failed)
585
+ console.log(` ${f.name}: ${f.error}`);
586
+ }
587
+ console.log(`\nDocs written to: ${configDir}/refs/`);
588
+ break;
589
+ }
567
590
  case "config-path": {
568
591
  const dir = process.env.ADK_CONFIG_DIR ?? join(homedir(), ".adk");
569
592
  console.log(dir);
package/dist/adk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"adk.js","sourceRoot":"","sources":["../src/adk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adk.js","sourceRoot":"","sources":["../src/adk.ts"],"names":[],"mappings":"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"}
@@ -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,17 +1,40 @@
1
1
  /**
2
2
  * Ref Materialization — Download agent docs to local filesystem.
3
3
  *
4
- * When `adk ref add` succeeds, materialize the agent's tool schemas,
5
- * resources (skills), and generate TypeScript type definitions locally.
4
+ * When `adk ref add` or `adk sync` runs, materialize the agent's tool schemas,
5
+ * resources (skills), and generate readable markdown docs locally.
6
6
  *
7
- * Files are written under the adk config dir at refs/<name>/.
7
+ * Output format:
8
+ * refs/<name>/
9
+ * agent.json — metadata (name, description, tool list)
10
+ * entrypoint.md — agent overview with tool summary
11
+ * tools/<tool>.tool.md — per-tool docs with parameter tables
12
+ * tools/<tool>.tool.json — raw JSON schemas
13
+ * types/<name>.d.ts — TypeScript type stubs
14
+ * skills/ — resources from the agent
15
+ *
16
+ * The .tool.md files are the primary output — designed for LLMs to read.
8
17
  */
9
18
  import type { Adk } from "./config-store.js";
10
- interface MaterializeResult {
19
+ export interface MaterializeResult {
11
20
  toolCount: number;
12
21
  skillCount: number;
13
22
  typesGenerated: boolean;
23
+ docsGenerated: boolean;
24
+ }
25
+ export interface SyncResult {
26
+ refs: Array<{
27
+ name: string;
28
+ result: MaterializeResult;
29
+ error?: string;
30
+ }>;
31
+ totalTools: number;
32
+ totalSkills: number;
14
33
  }
15
34
  export declare function materializeRef(adk: Adk, refName: string, configDir: string): Promise<MaterializeResult>;
16
- export {};
35
+ export declare function syncAllRefs(adk: Adk, configDir: string, opts?: {
36
+ filter?: string;
37
+ concurrency?: number;
38
+ onProgress?: (name: string, status: string) => void;
39
+ }): Promise<SyncResult>;
17
40
  //# sourceMappingURL=materialize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../src/materialize.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAc7C,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB;AAoDD,wBAAsB,cAAc,CAClC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAuE5B"}
1
+ {"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../src/materialize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAc7C,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAsLD,wBAAsB,cAAc,CAClC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAwE5B;AAQD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACpG,OAAO,CAAC,UAAU,CAAC,CAoDrB"}
@@ -1,15 +1,24 @@
1
1
  /**
2
2
  * Ref Materialization — Download agent docs to local filesystem.
3
3
  *
4
- * When `adk ref add` succeeds, materialize the agent's tool schemas,
5
- * resources (skills), and generate TypeScript type definitions locally.
4
+ * When `adk ref add` or `adk sync` runs, materialize the agent's tool schemas,
5
+ * resources (skills), and generate readable markdown docs locally.
6
6
  *
7
- * Files are written under the adk config dir at refs/<name>/.
7
+ * Output format:
8
+ * refs/<name>/
9
+ * agent.json — metadata (name, description, tool list)
10
+ * entrypoint.md — agent overview with tool summary
11
+ * tools/<tool>.tool.md — per-tool docs with parameter tables
12
+ * tools/<tool>.tool.json — raw JSON schemas
13
+ * types/<name>.d.ts — TypeScript type stubs
14
+ * skills/ — resources from the agent
15
+ *
16
+ * The .tool.md files are the primary output — designed for LLMs to read.
8
17
  */
9
18
  import { existsSync, mkdirSync, writeFileSync } from "node:fs";
10
19
  import { dirname, join } from "node:path";
11
20
  // ============================================
12
- // Helpers
21
+ // File Helpers
13
22
  // ============================================
14
23
  function ensureWrite(path, content) {
15
24
  const dir = dirname(path);
@@ -18,23 +27,150 @@ function ensureWrite(path, content) {
18
27
  }
19
28
  writeFileSync(path, content, "utf-8");
20
29
  }
30
+ function toKebabCase(name) {
31
+ return name
32
+ .replace(/[^a-zA-Z0-9]+/g, "-")
33
+ .replace(/^-|-$/g, "")
34
+ .toLowerCase();
35
+ }
36
+ function pascalCase(s) {
37
+ return s
38
+ .replace(/[^a-zA-Z0-9]+(.)/g, (_, c) => c.toUpperCase())
39
+ .replace(/^./, (c) => c.toUpperCase());
40
+ }
41
+ // ============================================
42
+ // JSON Schema → TypeScript type string
43
+ // ============================================
44
+ function jsonSchemaToTsType(schema) {
45
+ if (!schema)
46
+ return "unknown";
47
+ const s = schema;
48
+ // const literal
49
+ if (s.const !== undefined)
50
+ return JSON.stringify(s.const);
51
+ // enum
52
+ if (schema.enum)
53
+ return schema.enum.map((v) => JSON.stringify(v)).join(" | ");
54
+ // oneOf / anyOf → union
55
+ if (s.oneOf)
56
+ return s.oneOf.map(jsonSchemaToTsType).join(" | ");
57
+ if (s.anyOf)
58
+ return s.anyOf.map(jsonSchemaToTsType).join(" | ");
59
+ // allOf → intersection
60
+ if (s.allOf)
61
+ return s.allOf.map(jsonSchemaToTsType).join(" & ");
62
+ // $ref
63
+ if (s.$ref) {
64
+ const match = s.$ref.match(/\/([^/]+)$/);
65
+ return match ? match[1] : "unknown";
66
+ }
67
+ switch (schema.type) {
68
+ case "string":
69
+ return s.format ? `string /* ${s.format} */` : "string";
70
+ case "integer":
71
+ return "number /* integer */";
72
+ case "number":
73
+ return "number";
74
+ case "boolean":
75
+ return "boolean";
76
+ case "null":
77
+ return "null";
78
+ case "array":
79
+ return schema.items ? `${jsonSchemaToTsType(schema.items)}[]` : "unknown[]";
80
+ case "object": {
81
+ if (schema.properties) {
82
+ const required = new Set(schema.required ?? []);
83
+ const props = Object.entries(schema.properties)
84
+ .map(([k, v]) => `${k}${required.has(k) ? "" : "?"}: ${jsonSchemaToTsType(v)}`)
85
+ .join("; ");
86
+ if (schema.additionalProperties && typeof schema.additionalProperties === "object") {
87
+ const addlType = jsonSchemaToTsType(schema.additionalProperties);
88
+ return props ? `{ ${props}; [key: string]: ${addlType} }` : `Record<string, ${addlType}>`;
89
+ }
90
+ return `{ ${props} }`;
91
+ }
92
+ if (schema.additionalProperties && typeof schema.additionalProperties === "object") {
93
+ return `Record<string, ${jsonSchemaToTsType(schema.additionalProperties)}>`;
94
+ }
95
+ return "Record<string, unknown>";
96
+ }
97
+ default:
98
+ if (Array.isArray(schema.type)) {
99
+ return schema.type.map((t) => (t === "null" ? "null" : t === "integer" ? "number" : t)).join(" | ");
100
+ }
101
+ return "unknown";
102
+ }
103
+ }
104
+ // ============================================
105
+ // Markdown Generation
106
+ // ============================================
107
+ /** Generate a .tool.md file — readable tool docs with parameter tables. */
108
+ function generateToolMd(tool) {
109
+ const schema = tool.inputSchema ?? { type: "object", properties: {} };
110
+ const lines = [];
111
+ lines.push(`# ${tool.name}`);
112
+ lines.push("");
113
+ if (tool.description) {
114
+ lines.push(tool.description);
115
+ lines.push("");
116
+ }
117
+ const props = (schema.properties ?? {});
118
+ const required = new Set(schema.required ?? []);
119
+ const paramNames = Object.keys(props);
120
+ if (paramNames.length > 0) {
121
+ lines.push("## Parameters");
122
+ lines.push("");
123
+ lines.push("| Name | Type | Required | Description |");
124
+ lines.push("|------|------|----------|-------------|");
125
+ for (const name of paramNames) {
126
+ const prop = props[name];
127
+ const type = jsonSchemaToTsType(prop);
128
+ const req = required.has(name) ? "✓" : "";
129
+ const desc = (prop.description ?? "").replace(/\|/g, "\\|");
130
+ lines.push(`| ${name} | \`${type}\` | ${req} | ${desc} |`);
131
+ }
132
+ lines.push("");
133
+ }
134
+ return lines.join("\n");
135
+ }
136
+ /** Generate entrypoint.md — agent overview with tool listing. */
137
+ function generateEntrypoint(refName, description, tools) {
138
+ const lines = [];
139
+ lines.push(`# ${refName}`);
140
+ lines.push("");
141
+ if (description) {
142
+ lines.push(description);
143
+ lines.push("");
144
+ }
145
+ lines.push(`## Available Tools (${tools.length})`);
146
+ lines.push("");
147
+ for (const tool of tools) {
148
+ lines.push(`- **${tool.name}**: ${tool.description ?? "No description"}`);
149
+ }
150
+ lines.push("");
151
+ lines.push(`> Auto-generated by \`adk sync\` at ${new Date().toISOString()}`);
152
+ lines.push("");
153
+ return lines.join("\n");
154
+ }
21
155
  /** Generate a .d.ts file from tool schemas. */
22
156
  function generateTypes(refName, tools) {
23
157
  const lines = [
24
- `// Auto-generated by adk ref add`,
158
+ `// Auto-generated by adk sync`,
25
159
  `// Agent: ${refName}`,
26
160
  `// Tools: ${tools.length}`,
27
161
  ``,
28
162
  `export interface ${pascalCase(refName)}Tools {`,
29
163
  ];
30
164
  for (const tool of tools) {
165
+ const paramsType = tool.inputSchema
166
+ ? jsonSchemaToTsType(tool.inputSchema)
167
+ : "Record<string, unknown>";
31
168
  lines.push(` /** ${tool.description ?? tool.name} */`);
32
169
  lines.push(` ${JSON.stringify(tool.name)}: {`);
33
170
  lines.push(` name: ${JSON.stringify(tool.name)};`);
34
- if (tool.description) {
171
+ if (tool.description)
35
172
  lines.push(` description: ${JSON.stringify(tool.description)};`);
36
- }
37
- lines.push(` params: Record<string, unknown>;`);
173
+ lines.push(` params: ${paramsType};`);
38
174
  lines.push(` };`);
39
175
  }
40
176
  lines.push(`}`);
@@ -43,13 +179,8 @@ function generateTypes(refName, tools) {
43
179
  lines.push(``);
44
180
  return lines.join("\n");
45
181
  }
46
- function pascalCase(s) {
47
- return s
48
- .replace(/[^a-zA-Z0-9]+(.)/g, (_, c) => c.toUpperCase())
49
- .replace(/^./, (c) => c.toUpperCase());
50
- }
51
182
  // ============================================
52
- // Materialize
183
+ // Materialize a single ref
53
184
  // ============================================
54
185
  export async function materializeRef(adk, refName, configDir) {
55
186
  const refDir = join(configDir, "refs", refName);
@@ -59,7 +190,8 @@ export async function materializeRef(adk, refName, configDir) {
59
190
  let toolCount = 0;
60
191
  let skillCount = 0;
61
192
  let typesGenerated = false;
62
- // 1. Fetch and write tool schemas
193
+ let docsGenerated = false;
194
+ // 1. Fetch tool schemas and generate docs
63
195
  try {
64
196
  const info = await adk.ref.inspect(refName, { full: true });
65
197
  if (info?.tools && info.tools.length > 0) {
@@ -69,11 +201,16 @@ export async function materializeRef(adk, refName, configDir) {
69
201
  inputSchema: t.inputSchema,
70
202
  outputSchema: t.outputSchema,
71
203
  }));
204
+ // Write .tool.md files (primary output — readable by LLMs)
72
205
  for (const tool of tools) {
73
- const safeName = tool.name.replace(/[^a-zA-Z0-9_-]/g, "_");
206
+ const safeName = toKebabCase(tool.name);
207
+ ensureWrite(join(toolsDir, `${safeName}.tool.md`), generateToolMd(tool));
74
208
  ensureWrite(join(toolsDir, `${safeName}.tool.json`), JSON.stringify(tool, null, 2));
75
209
  }
76
210
  toolCount = tools.length;
211
+ // Write entrypoint.md
212
+ ensureWrite(join(refDir, "entrypoint.md"), generateEntrypoint(refName, info.description, tools));
213
+ docsGenerated = true;
77
214
  // Write agent.json metadata
78
215
  ensureWrite(join(refDir, "agent.json"), JSON.stringify({
79
216
  name: refName,
@@ -107,6 +244,59 @@ export async function materializeRef(adk, refName, configDir) {
107
244
  catch {
108
245
  // resources fetch failed — might not be supported
109
246
  }
110
- return { toolCount, skillCount, typesGenerated };
247
+ return { toolCount, skillCount, typesGenerated, docsGenerated };
248
+ }
249
+ // ============================================
250
+ // Sync all refs from consumer config
251
+ // ============================================
252
+ const DEFAULT_CONCURRENCY = 3;
253
+ export async function syncAllRefs(adk, configDir, opts) {
254
+ const config = await adk.readConfig();
255
+ const refs = config.refs ?? [];
256
+ // Resolve ref names and filter
257
+ const names = [];
258
+ for (const refEntry of refs) {
259
+ const name = typeof refEntry === "string"
260
+ ? refEntry
261
+ : refEntry.as ?? refEntry.ref ?? refEntry.name;
262
+ if (!name)
263
+ continue;
264
+ if (opts?.filter && name !== opts.filter)
265
+ continue;
266
+ names.push(name);
267
+ }
268
+ const results = [];
269
+ let totalTools = 0;
270
+ let totalSkills = 0;
271
+ const concurrency = opts?.concurrency ?? DEFAULT_CONCURRENCY;
272
+ // Process in batches of `concurrency`
273
+ for (let i = 0; i < names.length; i += concurrency) {
274
+ const batch = names.slice(i, i + concurrency);
275
+ const batchResults = await Promise.allSettled(batch.map(async (name) => {
276
+ opts?.onProgress?.(name, "syncing");
277
+ try {
278
+ const result = await materializeRef(adk, name, configDir);
279
+ opts?.onProgress?.(name, `done (${result.toolCount} tools)`);
280
+ return { name, result };
281
+ }
282
+ catch (err) {
283
+ const error = err?.message ?? String(err);
284
+ opts?.onProgress?.(name, `error: ${error}`);
285
+ return {
286
+ name,
287
+ result: { toolCount: 0, skillCount: 0, typesGenerated: false, docsGenerated: false },
288
+ error,
289
+ };
290
+ }
291
+ }));
292
+ for (const settled of batchResults) {
293
+ if (settled.status === "fulfilled") {
294
+ results.push(settled.value);
295
+ totalTools += settled.value.result.toolCount;
296
+ totalSkills += settled.value.result.skillCount;
297
+ }
298
+ }
299
+ }
300
+ return { refs: results, totalTools, totalSkills };
111
301
  }
112
302
  //# sourceMappingURL=materialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"materialize.js","sourceRoot":"","sources":["../src/materialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materialize.js","sourceRoot":"","sources":["../src/materialize.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slashfi/agents-sdk",
3
- "version": "0.68.0",
3
+ "version": "0.69.0",
4
4
  "author": "Slash Financial",
5
5
  "repository": {
6
6
  "type": "git",
package/src/adk.ts CHANGED
@@ -24,7 +24,7 @@ import { createLocalFsStore, getLocalEncryptionKey } from "./local-fs.js";
24
24
  import type { Adk } from "./config-store.js";
25
25
  import { AdkError, getError, getRecentErrors } from "./adk-error.js";
26
26
  import { runInit, parseTarget } from "./init.js";
27
- import { materializeRef } from "./materialize.js";
27
+ import { materializeRef, syncAllRefs } from "./materialize.js";
28
28
 
29
29
  const args = process.argv.slice(2);
30
30
  const command = args[0];
@@ -92,6 +92,7 @@ adk — Agent Development Kit
92
92
 
93
93
  Usage:
94
94
  adk init [--target <agent>:<path>] Setup + install skills for coding agents
95
+ adk sync [--ref <name>] Materialize tool docs for all refs in config
95
96
  adk proxy <op> [options] Manage remote adk proxies
96
97
  adk registry <op> [options] Manage registry connections
97
98
  adk ref <op> [options] Manage agent refs
@@ -520,6 +521,27 @@ switch (command) {
520
521
  await runInit(adk, targets);
521
522
  break;
522
523
  }
524
+ case "sync": {
525
+ const adk = getAdk();
526
+ const configDir = process.env.ADK_CONFIG_DIR ?? join(homedir(), ".adk");
527
+ const filter = getArg("--ref");
528
+ console.log(filter ? `Syncing ref: ${filter}` : "Syncing all refs from config...");
529
+ const syncResult = await syncAllRefs(adk, configDir, {
530
+ filter: filter ?? undefined,
531
+ onProgress(name, status) {
532
+ console.log(` ${name}: ${status}`);
533
+ },
534
+ });
535
+ const ok = syncResult.refs.filter((r) => !r.error);
536
+ const failed = syncResult.refs.filter((r) => r.error);
537
+ console.log(`\n\x1b[32m✓\x1b[0m Synced ${ok.length} ref(s): ${syncResult.totalTools} tools, ${syncResult.totalSkills} skills`);
538
+ if (failed.length > 0) {
539
+ console.log(`\x1b[33m!\x1b[0m ${failed.length} ref(s) failed:`);
540
+ for (const f of failed) console.log(` ${f.name}: ${f.error}`);
541
+ }
542
+ console.log(`\nDocs written to: ${configDir}/refs/`);
543
+ break;
544
+ }
523
545
  case "config-path": {
524
546
  const dir = process.env.ADK_CONFIG_DIR ?? join(homedir(), ".adk");
525
547
  console.log(dir);
@@ -1,16 +1,25 @@
1
1
  /**
2
2
  * Ref Materialization — Download agent docs to local filesystem.
3
3
  *
4
- * When `adk ref add` succeeds, materialize the agent's tool schemas,
5
- * resources (skills), and generate TypeScript type definitions locally.
4
+ * When `adk ref add` or `adk sync` runs, materialize the agent's tool schemas,
5
+ * resources (skills), and generate readable markdown docs locally.
6
6
  *
7
- * Files are written under the adk config dir at refs/<name>/.
7
+ * Output format:
8
+ * refs/<name>/
9
+ * agent.json — metadata (name, description, tool list)
10
+ * entrypoint.md — agent overview with tool summary
11
+ * tools/<tool>.tool.md — per-tool docs with parameter tables
12
+ * tools/<tool>.tool.json — raw JSON schemas
13
+ * types/<name>.d.ts — TypeScript type stubs
14
+ * skills/ — resources from the agent
15
+ *
16
+ * The .tool.md files are the primary output — designed for LLMs to read.
8
17
  */
9
18
 
10
19
  import { existsSync, mkdirSync, writeFileSync } from "node:fs";
11
20
  import { dirname, join } from "node:path";
12
21
  import type { Adk } from "./config-store.js";
13
- // No init imports needed materialize is self-contained
22
+ import type { JsonSchema } from "./types.js";
14
23
 
15
24
  // ============================================
16
25
  // Types
@@ -19,18 +28,25 @@ import type { Adk } from "./config-store.js";
19
28
  interface ToolSchema {
20
29
  name: string;
21
30
  description?: string;
22
- inputSchema?: Record<string, unknown>;
31
+ inputSchema?: JsonSchema;
23
32
  outputSchema?: Record<string, unknown>;
24
33
  }
25
34
 
26
- interface MaterializeResult {
35
+ export interface MaterializeResult {
27
36
  toolCount: number;
28
37
  skillCount: number;
29
38
  typesGenerated: boolean;
39
+ docsGenerated: boolean;
40
+ }
41
+
42
+ export interface SyncResult {
43
+ refs: Array<{ name: string; result: MaterializeResult; error?: string }>;
44
+ totalTools: number;
45
+ totalSkills: number;
30
46
  }
31
47
 
32
48
  // ============================================
33
- // Helpers
49
+ // File Helpers
34
50
  // ============================================
35
51
 
36
52
  function ensureWrite(path: string, content: string): void {
@@ -41,27 +57,163 @@ function ensureWrite(path: string, content: string): void {
41
57
  writeFileSync(path, content, "utf-8");
42
58
  }
43
59
 
60
+ function toKebabCase(name: string): string {
61
+ return name
62
+ .replace(/[^a-zA-Z0-9]+/g, "-")
63
+ .replace(/^-|-$/g, "")
64
+ .toLowerCase();
65
+ }
66
+
67
+ function pascalCase(s: string): string {
68
+ return s
69
+ .replace(/[^a-zA-Z0-9]+(.)/g, (_, c) => c.toUpperCase())
70
+ .replace(/^./, (c) => c.toUpperCase());
71
+ }
72
+
73
+ // ============================================
74
+ // JSON Schema → TypeScript type string
75
+ // ============================================
76
+
77
+ function jsonSchemaToTsType(schema: JsonSchema): string {
78
+ if (!schema) return "unknown";
79
+
80
+ const s = schema as any;
81
+
82
+ // const literal
83
+ if (s.const !== undefined) return JSON.stringify(s.const);
84
+
85
+ // enum
86
+ if (schema.enum) return schema.enum.map((v) => JSON.stringify(v)).join(" | ");
87
+
88
+ // oneOf / anyOf → union
89
+ if (s.oneOf) return (s.oneOf as JsonSchema[]).map(jsonSchemaToTsType).join(" | ");
90
+ if (s.anyOf) return (s.anyOf as JsonSchema[]).map(jsonSchemaToTsType).join(" | ");
91
+
92
+ // allOf → intersection
93
+ if (s.allOf) return (s.allOf as JsonSchema[]).map(jsonSchemaToTsType).join(" & ");
94
+
95
+ // $ref
96
+ if (s.$ref) {
97
+ const match = (s.$ref as string).match(/\/([^/]+)$/);
98
+ return match ? match[1] : "unknown";
99
+ }
100
+
101
+ switch (schema.type) {
102
+ case "string":
103
+ return s.format ? `string /* ${s.format} */` : "string";
104
+ case "integer":
105
+ return "number /* integer */";
106
+ case "number":
107
+ return "number";
108
+ case "boolean":
109
+ return "boolean";
110
+ case "null":
111
+ return "null";
112
+ case "array":
113
+ return schema.items ? `${jsonSchemaToTsType(schema.items as JsonSchema)}[]` : "unknown[]";
114
+ case "object": {
115
+ if (schema.properties) {
116
+ const required = new Set((schema.required as string[]) ?? []);
117
+ const props = Object.entries(schema.properties)
118
+ .map(([k, v]) => `${k}${required.has(k) ? "" : "?"}: ${jsonSchemaToTsType(v as JsonSchema)}`)
119
+ .join("; ");
120
+ if (schema.additionalProperties && typeof schema.additionalProperties === "object") {
121
+ const addlType = jsonSchemaToTsType(schema.additionalProperties as JsonSchema);
122
+ return props ? `{ ${props}; [key: string]: ${addlType} }` : `Record<string, ${addlType}>`;
123
+ }
124
+ return `{ ${props} }`;
125
+ }
126
+ if (schema.additionalProperties && typeof schema.additionalProperties === "object") {
127
+ return `Record<string, ${jsonSchemaToTsType(schema.additionalProperties as JsonSchema)}>`;
128
+ }
129
+ return "Record<string, unknown>";
130
+ }
131
+ default:
132
+ if (Array.isArray(schema.type)) {
133
+ return (schema.type as string[]).map((t) => (t === "null" ? "null" : t === "integer" ? "number" : t)).join(" | ");
134
+ }
135
+ return "unknown";
136
+ }
137
+ }
138
+
139
+ // ============================================
140
+ // Markdown Generation
141
+ // ============================================
142
+
143
+ /** Generate a .tool.md file — readable tool docs with parameter tables. */
144
+ function generateToolMd(tool: ToolSchema): string {
145
+ const schema = tool.inputSchema ?? ({ type: "object", properties: {} } as JsonSchema);
146
+ const lines: string[] = [];
147
+
148
+ lines.push(`# ${tool.name}`);
149
+ lines.push("");
150
+ if (tool.description) {
151
+ lines.push(tool.description);
152
+ lines.push("");
153
+ }
154
+
155
+ const props = (schema.properties ?? {}) as Record<string, JsonSchema>;
156
+ const required = new Set((schema.required as string[]) ?? []);
157
+ const paramNames = Object.keys(props);
158
+
159
+ if (paramNames.length > 0) {
160
+ lines.push("## Parameters");
161
+ lines.push("");
162
+ lines.push("| Name | Type | Required | Description |");
163
+ lines.push("|------|------|----------|-------------|");
164
+ for (const name of paramNames) {
165
+ const prop = props[name];
166
+ const type = jsonSchemaToTsType(prop);
167
+ const req = required.has(name) ? "✓" : "";
168
+ const desc = (prop.description ?? "").replace(/\|/g, "\\|");
169
+ lines.push(`| ${name} | \`${type}\` | ${req} | ${desc} |`);
170
+ }
171
+ lines.push("");
172
+ }
173
+
174
+ return lines.join("\n");
175
+ }
176
+
177
+ /** Generate entrypoint.md — agent overview with tool listing. */
178
+ function generateEntrypoint(refName: string, description: string | undefined, tools: ToolSchema[]): string {
179
+ const lines: string[] = [];
180
+ lines.push(`# ${refName}`);
181
+ lines.push("");
182
+ if (description) {
183
+ lines.push(description);
184
+ lines.push("");
185
+ }
186
+ lines.push(`## Available Tools (${tools.length})`);
187
+ lines.push("");
188
+ for (const tool of tools) {
189
+ lines.push(`- **${tool.name}**: ${tool.description ?? "No description"}`);
190
+ }
191
+ lines.push("");
192
+ lines.push(`> Auto-generated by \`adk sync\` at ${new Date().toISOString()}`);
193
+ lines.push("");
194
+ return lines.join("\n");
195
+ }
196
+
44
197
  /** Generate a .d.ts file from tool schemas. */
45
198
  function generateTypes(refName: string, tools: ToolSchema[]): string {
46
199
  const lines: string[] = [
47
- `// Auto-generated by adk ref add`,
200
+ `// Auto-generated by adk sync`,
48
201
  `// Agent: ${refName}`,
49
202
  `// Tools: ${tools.length}`,
50
203
  ``,
51
204
  `export interface ${pascalCase(refName)}Tools {`,
52
205
  ];
53
-
54
206
  for (const tool of tools) {
207
+ const paramsType = tool.inputSchema
208
+ ? jsonSchemaToTsType(tool.inputSchema)
209
+ : "Record<string, unknown>";
55
210
  lines.push(` /** ${tool.description ?? tool.name} */`);
56
211
  lines.push(` ${JSON.stringify(tool.name)}: {`);
57
212
  lines.push(` name: ${JSON.stringify(tool.name)};`);
58
- if (tool.description) {
59
- lines.push(` description: ${JSON.stringify(tool.description)};`);
60
- }
61
- lines.push(` params: Record<string, unknown>;`);
213
+ if (tool.description) lines.push(` description: ${JSON.stringify(tool.description)};`);
214
+ lines.push(` params: ${paramsType};`);
62
215
  lines.push(` };`);
63
216
  }
64
-
65
217
  lines.push(`}`);
66
218
  lines.push(``);
67
219
  lines.push(`export declare const tools: (keyof ${pascalCase(refName)}Tools)[];`);
@@ -69,14 +221,8 @@ function generateTypes(refName: string, tools: ToolSchema[]): string {
69
221
  return lines.join("\n");
70
222
  }
71
223
 
72
- function pascalCase(s: string): string {
73
- return s
74
- .replace(/[^a-zA-Z0-9]+(.)/g, (_, c) => c.toUpperCase())
75
- .replace(/^./, (c) => c.toUpperCase());
76
- }
77
-
78
224
  // ============================================
79
- // Materialize
225
+ // Materialize a single ref
80
226
  // ============================================
81
227
 
82
228
  export async function materializeRef(
@@ -92,8 +238,9 @@ export async function materializeRef(
92
238
  let toolCount = 0;
93
239
  let skillCount = 0;
94
240
  let typesGenerated = false;
241
+ let docsGenerated = false;
95
242
 
96
- // 1. Fetch and write tool schemas
243
+ // 1. Fetch tool schemas and generate docs
97
244
  try {
98
245
  const info = await adk.ref.inspect(refName, { full: true });
99
246
  if (info?.tools && info.tools.length > 0) {
@@ -104,15 +251,18 @@ export async function materializeRef(
104
251
  outputSchema: t.outputSchema,
105
252
  }));
106
253
 
254
+ // Write .tool.md files (primary output — readable by LLMs)
107
255
  for (const tool of tools) {
108
- const safeName = tool.name.replace(/[^a-zA-Z0-9_-]/g, "_");
109
- ensureWrite(
110
- join(toolsDir, `${safeName}.tool.json`),
111
- JSON.stringify(tool, null, 2),
112
- );
256
+ const safeName = toKebabCase(tool.name);
257
+ ensureWrite(join(toolsDir, `${safeName}.tool.md`), generateToolMd(tool));
258
+ ensureWrite(join(toolsDir, `${safeName}.tool.json`), JSON.stringify(tool, null, 2));
113
259
  }
114
260
  toolCount = tools.length;
115
261
 
262
+ // Write entrypoint.md
263
+ ensureWrite(join(refDir, "entrypoint.md"), generateEntrypoint(refName, info.description, tools));
264
+ docsGenerated = true;
265
+
116
266
  // Write agent.json metadata
117
267
  ensureWrite(
118
268
  join(refDir, "agent.json"),
@@ -126,10 +276,7 @@ export async function materializeRef(
126
276
  );
127
277
 
128
278
  // Generate .d.ts
129
- ensureWrite(
130
- join(typesDir, `${refName}.d.ts`),
131
- generateTypes(refName, tools),
132
- );
279
+ ensureWrite(join(typesDir, `${refName}.d.ts`), generateTypes(refName, tools));
133
280
  typesGenerated = true;
134
281
  }
135
282
  } catch {
@@ -153,6 +300,69 @@ export async function materializeRef(
153
300
  // resources fetch failed — might not be supported
154
301
  }
155
302
 
156
- return { toolCount, skillCount, typesGenerated };
303
+ return { toolCount, skillCount, typesGenerated, docsGenerated };
157
304
  }
158
305
 
306
+ // ============================================
307
+ // Sync all refs from consumer config
308
+ // ============================================
309
+
310
+ const DEFAULT_CONCURRENCY = 3;
311
+
312
+ export async function syncAllRefs(
313
+ adk: Adk,
314
+ configDir: string,
315
+ opts?: { filter?: string; concurrency?: number; onProgress?: (name: string, status: string) => void },
316
+ ): Promise<SyncResult> {
317
+ const config = await adk.readConfig();
318
+ const refs = config.refs ?? [];
319
+
320
+ // Resolve ref names and filter
321
+ const names: string[] = [];
322
+ for (const refEntry of refs) {
323
+ const name = typeof refEntry === "string"
324
+ ? refEntry
325
+ : (refEntry as any).as ?? (refEntry as any).ref ?? (refEntry as any).name;
326
+ if (!name) continue;
327
+ if (opts?.filter && name !== opts.filter) continue;
328
+ names.push(name);
329
+ }
330
+
331
+ const results: SyncResult["refs"] = [];
332
+ let totalTools = 0;
333
+ let totalSkills = 0;
334
+ const concurrency = opts?.concurrency ?? DEFAULT_CONCURRENCY;
335
+
336
+ // Process in batches of `concurrency`
337
+ for (let i = 0; i < names.length; i += concurrency) {
338
+ const batch = names.slice(i, i + concurrency);
339
+ const batchResults = await Promise.allSettled(
340
+ batch.map(async (name) => {
341
+ opts?.onProgress?.(name, "syncing");
342
+ try {
343
+ const result = await materializeRef(adk, name, configDir);
344
+ opts?.onProgress?.(name, `done (${result.toolCount} tools)`);
345
+ return { name, result };
346
+ } catch (err: any) {
347
+ const error = err?.message ?? String(err);
348
+ opts?.onProgress?.(name, `error: ${error}`);
349
+ return {
350
+ name,
351
+ result: { toolCount: 0, skillCount: 0, typesGenerated: false, docsGenerated: false } as MaterializeResult,
352
+ error,
353
+ };
354
+ }
355
+ }),
356
+ );
357
+
358
+ for (const settled of batchResults) {
359
+ if (settled.status === "fulfilled") {
360
+ results.push(settled.value);
361
+ totalTools += settled.value.result.toolCount;
362
+ totalSkills += settled.value.result.skillCount;
363
+ }
364
+ }
365
+ }
366
+
367
+ return { refs: results, totalTools, totalSkills };
368
+ }