@slashfi/agents-sdk 0.20.0 → 0.22.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/README.md +340 -184
- package/dist/adk.d.ts +33 -0
- package/dist/adk.d.ts.map +1 -0
- package/dist/adk.js +331 -0
- package/dist/adk.js.map +1 -0
- package/dist/client.d.ts +49 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +190 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/introspect.d.ts +16 -0
- package/dist/introspect.d.ts.map +1 -0
- package/dist/introspect.js +133 -0
- package/dist/introspect.js.map +1 -0
- package/dist/jsonc.d.ts +15 -0
- package/dist/jsonc.d.ts.map +1 -0
- package/dist/jsonc.js +70 -0
- package/dist/jsonc.js.map +1 -0
- package/dist/pack.d.ts +59 -0
- package/dist/pack.d.ts.map +1 -0
- package/dist/pack.js +249 -0
- package/dist/pack.js.map +1 -0
- package/dist/serialized.d.ts +64 -0
- package/dist/serialized.d.ts.map +1 -0
- package/dist/serialized.js +41 -0
- package/dist/serialized.js.map +1 -0
- package/package.json +3 -2
- package/src/adk.ts +398 -0
- package/src/client.ts +273 -0
- package/src/index.ts +46 -0
- package/src/introspect.ts +171 -0
- package/src/jsonc.ts +83 -0
- package/src/pack.ts +395 -0
- package/src/serialized.ts +102 -0
- package/dist/cli.d.ts +0 -24
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -234
- package/dist/cli.js.map +0 -1
- package/src/cli.ts +0 -293
package/dist/adk.js
ADDED
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/**
|
|
3
|
+
* ADK CLI — Agent Development Kit
|
|
4
|
+
*
|
|
5
|
+
* Unified CLI for building, testing, and publishing agent definitions.
|
|
6
|
+
*
|
|
7
|
+
* Commands:
|
|
8
|
+
* codegen Generate agent definitions from an MCP server (full codegen)
|
|
9
|
+
* introspect Introspect an MCP server → agent.json (lightweight)
|
|
10
|
+
* pack Generate publishable @agentdef/* package from agent.json
|
|
11
|
+
* publish Pack + npm publish to @agentdef/*
|
|
12
|
+
* use Execute a tool on a generated agent
|
|
13
|
+
* list List all generated agents
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```bash
|
|
17
|
+
* # Full codegen from MCP server
|
|
18
|
+
* adk codegen --server 'npx @mcp/notion' --name notion --out ./agents/@notion
|
|
19
|
+
*
|
|
20
|
+
* # Lightweight introspect → agent.json
|
|
21
|
+
* adk introspect --server 'npx @notionhq/notion-mcp-server' --name notion
|
|
22
|
+
*
|
|
23
|
+
* # Build + publish
|
|
24
|
+
* adk pack
|
|
25
|
+
* adk publish
|
|
26
|
+
*
|
|
27
|
+
* # Use a tool
|
|
28
|
+
* adk use notion search_pages '{"query": "hello"}'
|
|
29
|
+
* adk use notion --list
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
33
|
+
import { join, resolve } from "node:path";
|
|
34
|
+
import { codegen, listAgentTools, useAgent } from "./codegen.js";
|
|
35
|
+
import { pack, publish } from "./pack.js";
|
|
36
|
+
const args = process.argv.slice(2);
|
|
37
|
+
const command = args[0];
|
|
38
|
+
// ============================================
|
|
39
|
+
// Helpers
|
|
40
|
+
// ============================================
|
|
41
|
+
function getArg(flag) {
|
|
42
|
+
const idx = args.indexOf(flag);
|
|
43
|
+
if (idx === -1 || idx + 1 >= args.length)
|
|
44
|
+
return undefined;
|
|
45
|
+
return args[idx + 1];
|
|
46
|
+
}
|
|
47
|
+
function hasFlag(flag) {
|
|
48
|
+
return args.includes(flag);
|
|
49
|
+
}
|
|
50
|
+
function getAgentsDir() {
|
|
51
|
+
return resolve(process.env.AGENTS_SDK_DIR ?? "./agents");
|
|
52
|
+
}
|
|
53
|
+
function findAgentDir(name) {
|
|
54
|
+
const agentsDir = getAgentsDir();
|
|
55
|
+
const exactPath = resolve(name);
|
|
56
|
+
if (existsSync(join(exactPath, ".codegen-manifest.json")))
|
|
57
|
+
return exactPath;
|
|
58
|
+
const withAt = join(agentsDir, `@${name}`);
|
|
59
|
+
if (existsSync(join(withAt, ".codegen-manifest.json")))
|
|
60
|
+
return withAt;
|
|
61
|
+
const withoutAt = join(agentsDir, name);
|
|
62
|
+
if (existsSync(join(withoutAt, ".codegen-manifest.json")))
|
|
63
|
+
return withoutAt;
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
function printUsage() {
|
|
67
|
+
console.log(`
|
|
68
|
+
adk — Agent Development Kit
|
|
69
|
+
|
|
70
|
+
Usage:
|
|
71
|
+
adk codegen [options] Generate agent from MCP server (full codegen)
|
|
72
|
+
adk introspect [options] Introspect MCP server → agent.json
|
|
73
|
+
adk pack [options] Generate publishable package from agent.json
|
|
74
|
+
adk publish [options] Pack + npm publish to @agentdef/*
|
|
75
|
+
adk use <agent> [options] Execute a tool on a generated agent
|
|
76
|
+
adk list List all generated agents
|
|
77
|
+
|
|
78
|
+
Codegen options:
|
|
79
|
+
--server <source> MCP server (command string or URL)
|
|
80
|
+
--name <name> Agent name (default: derived from server)
|
|
81
|
+
--out <dir> Output directory (default: ./agents/@<name>)
|
|
82
|
+
--path <path> Agent path override
|
|
83
|
+
--no-cli Skip CLI generation
|
|
84
|
+
--no-types Skip TypeScript interface generation
|
|
85
|
+
--visibility <level> Agent visibility (public|internal|private)
|
|
86
|
+
|
|
87
|
+
Introspect options:
|
|
88
|
+
--server <cmd> MCP server command to introspect
|
|
89
|
+
--name <name> Agent name for output
|
|
90
|
+
--out <path> Output path (default: ./<name>.json)
|
|
91
|
+
|
|
92
|
+
Pack / Publish options:
|
|
93
|
+
--agent <path> Path to agent.json (default: ./agent.json)
|
|
94
|
+
--out <dir> Output directory (default: ./dist)
|
|
95
|
+
--scope <scope> npm scope (default: @agentdef)
|
|
96
|
+
--previous <path> Previous agent.json for diff
|
|
97
|
+
--dry-run Don't actually publish (publish only)
|
|
98
|
+
--tag <tag> npm dist-tag (default: latest)
|
|
99
|
+
--access <level> npm access: public | restricted (default: public)
|
|
100
|
+
|
|
101
|
+
Use options:
|
|
102
|
+
adk use <agent> <tool> [params_json]
|
|
103
|
+
adk use <agent> --list List tools on the agent
|
|
104
|
+
|
|
105
|
+
Examples:
|
|
106
|
+
adk codegen --server 'npx @mcp/notion' --name notion
|
|
107
|
+
adk introspect --server 'npx @notionhq/notion-mcp-server' --name notion
|
|
108
|
+
adk pack --agent ./agent.json
|
|
109
|
+
adk publish --dry-run
|
|
110
|
+
adk use notion search_pages '{"query": "hello"}'
|
|
111
|
+
`);
|
|
112
|
+
}
|
|
113
|
+
// ============================================
|
|
114
|
+
// Commands
|
|
115
|
+
// ============================================
|
|
116
|
+
async function runCodegen() {
|
|
117
|
+
const server = getArg("--server");
|
|
118
|
+
const name = getArg("--name");
|
|
119
|
+
const outDir = getArg("--out");
|
|
120
|
+
const agentPath = getArg("--path");
|
|
121
|
+
const visibility = getArg("--visibility");
|
|
122
|
+
const noCli = hasFlag("--no-cli");
|
|
123
|
+
const noTypes = hasFlag("--no-types");
|
|
124
|
+
if (!server) {
|
|
125
|
+
console.error("Error: --server is required.\n" +
|
|
126
|
+
" Example: adk codegen --server 'npx @mcp/notion' --name notion");
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
const resolvedOutDir = outDir ??
|
|
130
|
+
join(getAgentsDir(), `@${(name ?? "mcp-agent").toLowerCase().replace(/[^a-z0-9-]/g, "-")}`);
|
|
131
|
+
console.log(`Connecting to MCP server: ${server}`);
|
|
132
|
+
console.log(`Output: ${resolvedOutDir}\n`);
|
|
133
|
+
try {
|
|
134
|
+
const result = await codegen({
|
|
135
|
+
server,
|
|
136
|
+
outDir: resolvedOutDir,
|
|
137
|
+
agentPath,
|
|
138
|
+
name,
|
|
139
|
+
cli: !noCli,
|
|
140
|
+
types: !noTypes,
|
|
141
|
+
visibility,
|
|
142
|
+
});
|
|
143
|
+
console.log(`\x1b[32m\u2713\x1b[0m Generated ${result.toolCount} tools from ${result.serverInfo.name ?? "MCP server"}`);
|
|
144
|
+
console.log("\nFiles:");
|
|
145
|
+
for (const f of result.files) {
|
|
146
|
+
console.log(` ${f}`);
|
|
147
|
+
}
|
|
148
|
+
console.log(`\nUse: adk use ${name ?? result.serverInfo.name ?? "<agent>"} --list`);
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
console.error(`\x1b[31mError:\x1b[0m ${err instanceof Error ? err.message : String(err)}`);
|
|
152
|
+
process.exit(1);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
async function runIntrospect() {
|
|
156
|
+
const server = getArg("--server");
|
|
157
|
+
const name = getArg("--name");
|
|
158
|
+
const out = getArg("--out") || (name ? `./${name}.json` : undefined);
|
|
159
|
+
if (!server || !name) {
|
|
160
|
+
console.error("Usage: adk introspect --server <cmd> --name <name> [--out <path>]");
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
const { introspectMcp } = await import("./introspect.js");
|
|
164
|
+
await introspectMcp({ server, name, out });
|
|
165
|
+
}
|
|
166
|
+
function runPack() {
|
|
167
|
+
const agentFile = getArg("--agent") || "./agent.json";
|
|
168
|
+
const outDir = getArg("--out") || "./dist";
|
|
169
|
+
const scope = getArg("--scope") || "@agentdef";
|
|
170
|
+
const previousAgentFile = getArg("--previous");
|
|
171
|
+
if (!existsSync(resolve(agentFile))) {
|
|
172
|
+
console.error(`agent.json not found at ${resolve(agentFile)}`);
|
|
173
|
+
console.error("Run 'adk introspect' first, or specify --agent <path>");
|
|
174
|
+
process.exit(1);
|
|
175
|
+
}
|
|
176
|
+
const result = pack({ agentFile, outDir, scope, previousAgentFile });
|
|
177
|
+
console.log(`\n\u2705 Packed ${result.packageName}@${result.version}`);
|
|
178
|
+
console.log(` Hash: ${result.hash}`);
|
|
179
|
+
console.log(` Tools: ${result.meta.toolCount}`);
|
|
180
|
+
console.log(` Size: ${(result.meta.sizeBytes / 1024).toFixed(1)}KB`);
|
|
181
|
+
console.log(` Output: ${result.packageDir}`);
|
|
182
|
+
if (result.meta.changes) {
|
|
183
|
+
const c = result.meta.changes;
|
|
184
|
+
if (c.toolsAdded.length > 0)
|
|
185
|
+
console.log(` Added: ${c.toolsAdded.join(", ")}`);
|
|
186
|
+
if (c.toolsRemoved.length > 0)
|
|
187
|
+
console.log(` Removed: ${c.toolsRemoved.join(", ")}`);
|
|
188
|
+
if (c.toolsModified.length > 0)
|
|
189
|
+
console.log(` Modified: ${c.toolsModified.join(", ")}`);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
function runPublish() {
|
|
193
|
+
const agentFile = getArg("--agent") || "./agent.json";
|
|
194
|
+
const outDir = getArg("--out") || "./dist";
|
|
195
|
+
const scope = getArg("--scope") || "@agentdef";
|
|
196
|
+
const previousAgentFile = getArg("--previous");
|
|
197
|
+
const dryRun = hasFlag("--dry-run");
|
|
198
|
+
const tag = getArg("--tag");
|
|
199
|
+
const access = getArg("--access");
|
|
200
|
+
const registry = getArg("--registry");
|
|
201
|
+
if (!existsSync(resolve(agentFile))) {
|
|
202
|
+
console.error(`agent.json not found at ${resolve(agentFile)}`);
|
|
203
|
+
console.error("Run 'adk introspect' first, or specify --agent <path>");
|
|
204
|
+
process.exit(1);
|
|
205
|
+
}
|
|
206
|
+
try {
|
|
207
|
+
const result = publish({
|
|
208
|
+
agentFile,
|
|
209
|
+
outDir,
|
|
210
|
+
scope,
|
|
211
|
+
previousAgentFile,
|
|
212
|
+
dryRun,
|
|
213
|
+
tag,
|
|
214
|
+
access,
|
|
215
|
+
registry,
|
|
216
|
+
});
|
|
217
|
+
console.log(`\n\u2705 Published ${result.packageName}@${result.version} (hash: ${result.hash})`);
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
221
|
+
process.exit(1);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
async function runUse() {
|
|
225
|
+
const agentName = args[1];
|
|
226
|
+
if (!agentName) {
|
|
227
|
+
console.error("Error: agent name required.\n" +
|
|
228
|
+
" Example: adk use notion search_pages '{...}'");
|
|
229
|
+
process.exit(1);
|
|
230
|
+
}
|
|
231
|
+
const agentDir = findAgentDir(agentName);
|
|
232
|
+
if (!agentDir) {
|
|
233
|
+
console.error(`Error: agent '${agentName}' not found.\n` +
|
|
234
|
+
` Looked in: ${getAgentsDir()}\n` +
|
|
235
|
+
` Generate first: adk codegen --server '...' --name ${agentName}`);
|
|
236
|
+
process.exit(1);
|
|
237
|
+
}
|
|
238
|
+
if (hasFlag("--list")) {
|
|
239
|
+
const tools = listAgentTools(agentDir);
|
|
240
|
+
console.log(`Tools for ${agentName}:\n`);
|
|
241
|
+
for (const t of tools) {
|
|
242
|
+
console.log(` ${t.name.padEnd(30)} ${t.description ?? ""}`);
|
|
243
|
+
}
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const toolName = args[2];
|
|
247
|
+
if (!toolName) {
|
|
248
|
+
console.error(`Error: tool name required.\n Example: adk use ${agentName} <tool> [params]\n List tools: adk use ${agentName} --list`);
|
|
249
|
+
process.exit(1);
|
|
250
|
+
}
|
|
251
|
+
const paramsStr = args[3];
|
|
252
|
+
const params = paramsStr ? JSON.parse(paramsStr) : {};
|
|
253
|
+
try {
|
|
254
|
+
const result = await useAgent({
|
|
255
|
+
agentDir,
|
|
256
|
+
tool: toolName,
|
|
257
|
+
params,
|
|
258
|
+
});
|
|
259
|
+
console.log(JSON.stringify(result, null, 2));
|
|
260
|
+
}
|
|
261
|
+
catch (err) {
|
|
262
|
+
console.error(`\x1b[31mError:\x1b[0m ${err instanceof Error ? err.message : String(err)}`);
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
function runList() {
|
|
267
|
+
const agentsDir = getAgentsDir();
|
|
268
|
+
if (!existsSync(agentsDir)) {
|
|
269
|
+
console.log("No generated agents found.");
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const entries = readdirSync(agentsDir);
|
|
273
|
+
const agents = [];
|
|
274
|
+
for (const entry of entries) {
|
|
275
|
+
const manifestPath = join(agentsDir, entry, ".codegen-manifest.json");
|
|
276
|
+
if (existsSync(manifestPath)) {
|
|
277
|
+
try {
|
|
278
|
+
const manifest = JSON.parse(require("node:fs").readFileSync(manifestPath, "utf-8"));
|
|
279
|
+
agents.push({
|
|
280
|
+
name: manifest.agentPath,
|
|
281
|
+
tools: manifest.tools.length,
|
|
282
|
+
server: manifest.serverInfo.name,
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
catch {
|
|
286
|
+
agents.push({ name: entry, tools: 0 });
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
if (agents.length === 0) {
|
|
291
|
+
console.log("No generated agents found.");
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
console.log("Generated agents:\n");
|
|
295
|
+
for (const a of agents) {
|
|
296
|
+
console.log(` ${a.name.padEnd(25)} ${String(a.tools).padEnd(5)} tools${a.server ? ` (${a.server})` : ""}`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// ============================================
|
|
300
|
+
// Main
|
|
301
|
+
// ============================================
|
|
302
|
+
switch (command) {
|
|
303
|
+
case "codegen":
|
|
304
|
+
await runCodegen();
|
|
305
|
+
break;
|
|
306
|
+
case "introspect":
|
|
307
|
+
await runIntrospect();
|
|
308
|
+
break;
|
|
309
|
+
case "pack":
|
|
310
|
+
runPack();
|
|
311
|
+
break;
|
|
312
|
+
case "publish":
|
|
313
|
+
runPublish();
|
|
314
|
+
break;
|
|
315
|
+
case "use":
|
|
316
|
+
await runUse();
|
|
317
|
+
break;
|
|
318
|
+
case "list":
|
|
319
|
+
runList();
|
|
320
|
+
break;
|
|
321
|
+
case "--help":
|
|
322
|
+
case "-h":
|
|
323
|
+
case undefined:
|
|
324
|
+
printUsage();
|
|
325
|
+
break;
|
|
326
|
+
default:
|
|
327
|
+
console.error(`Unknown command: ${command}`);
|
|
328
|
+
printUsage();
|
|
329
|
+
process.exit(1);
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=adk.js.map
|
package/dist/adk.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adk.js","sourceRoot":"","sources":["../src/adk.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Client
|
|
3
|
+
*
|
|
4
|
+
* Creates a typed client from a SerializedAgentDefinition.
|
|
5
|
+
* The client spawns (or connects to) the MCP server and proxies
|
|
6
|
+
* tool calls via JSON-RPC.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { createClient } from '@slashfi/agents-sdk';
|
|
11
|
+
* import definition from './agents/notion/definition.json';
|
|
12
|
+
*
|
|
13
|
+
* const client = createClient(definition, {
|
|
14
|
+
* env: { NOTION_TOKEN: process.env.NOTION_TOKEN },
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* const result = await client.call('API-post-search', { query: 'meeting notes' });
|
|
18
|
+
* await client.close();
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
import type { SerializedAgentDefinition, SerializedTool } from "./serialized.js";
|
|
22
|
+
export interface CreateClientOptions {
|
|
23
|
+
/** Extra environment variables for the MCP server process */
|
|
24
|
+
env?: Record<string, string | undefined>;
|
|
25
|
+
/** Override the server command (defaults to definition.serverSource) */
|
|
26
|
+
serverCommand?: string;
|
|
27
|
+
/** Timeout for tool calls in ms (default: 30000) */
|
|
28
|
+
timeout?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface AgentClient {
|
|
31
|
+
/** The definition this client was created from */
|
|
32
|
+
readonly definition: SerializedAgentDefinition;
|
|
33
|
+
/** List available tools */
|
|
34
|
+
tools(): SerializedTool[];
|
|
35
|
+
/** Call a tool by name */
|
|
36
|
+
call(toolName: string, input?: Record<string, unknown>): Promise<unknown>;
|
|
37
|
+
/** Check if connected */
|
|
38
|
+
isConnected(): boolean;
|
|
39
|
+
/** Close the MCP server connection */
|
|
40
|
+
close(): void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Create an agent client from a serialized definition.
|
|
44
|
+
*
|
|
45
|
+
* The client lazily spawns the MCP server on first call and
|
|
46
|
+
* proxies tool invocations via JSON-RPC over stdio.
|
|
47
|
+
*/
|
|
48
|
+
export declare function createClient(definition: SerializedAgentDefinition, options?: CreateClientOptions): AgentClient;
|
|
49
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACf,MAAM,iBAAiB,CAAC;AAMzB,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAE/C,2BAA2B;IAC3B,KAAK,IAAI,cAAc,EAAE,CAAC;IAE1B,0BAA0B;IAC1B,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1E,yBAAyB;IACzB,WAAW,IAAI,OAAO,CAAC;IAEvB,sCAAsC;IACtC,KAAK,IAAI,IAAI,CAAC;CACf;AA0MD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,yBAAyB,EACrC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,WAAW,CAEb"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Client
|
|
3
|
+
*
|
|
4
|
+
* Creates a typed client from a SerializedAgentDefinition.
|
|
5
|
+
* The client spawns (or connects to) the MCP server and proxies
|
|
6
|
+
* tool calls via JSON-RPC.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { createClient } from '@slashfi/agents-sdk';
|
|
11
|
+
* import definition from './agents/notion/definition.json';
|
|
12
|
+
*
|
|
13
|
+
* const client = createClient(definition, {
|
|
14
|
+
* env: { NOTION_TOKEN: process.env.NOTION_TOKEN },
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* const result = await client.call('API-post-search', { query: 'meeting notes' });
|
|
18
|
+
* await client.close();
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
import { spawn } from "node:child_process";
|
|
22
|
+
class McpStdioClient {
|
|
23
|
+
definition;
|
|
24
|
+
proc = null;
|
|
25
|
+
messageId = 0;
|
|
26
|
+
buffer = "";
|
|
27
|
+
pending = new Map();
|
|
28
|
+
initialized = false;
|
|
29
|
+
initPromise = null;
|
|
30
|
+
serverCommand;
|
|
31
|
+
env;
|
|
32
|
+
timeout;
|
|
33
|
+
constructor(definition, options = {}) {
|
|
34
|
+
this.definition = definition;
|
|
35
|
+
this.serverCommand = options.serverCommand ?? definition.serverSource ?? "";
|
|
36
|
+
this.env = options.env ?? {};
|
|
37
|
+
this.timeout = options.timeout ?? 30000;
|
|
38
|
+
if (!this.serverCommand) {
|
|
39
|
+
throw new Error(`No server command for agent "${definition.path}". Set serverSource in the definition or pass serverCommand in options.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
tools() {
|
|
43
|
+
return this.definition.tools;
|
|
44
|
+
}
|
|
45
|
+
isConnected() {
|
|
46
|
+
return this.proc !== null && !this.proc.killed;
|
|
47
|
+
}
|
|
48
|
+
async call(toolName, input = {}) {
|
|
49
|
+
// Validate tool exists
|
|
50
|
+
const tool = this.definition.tools.find((t) => t.name === toolName);
|
|
51
|
+
if (!tool) {
|
|
52
|
+
const available = this.definition.tools.map((t) => t.name).join(", ");
|
|
53
|
+
throw new Error(`Tool "${toolName}" not found. Available: ${available}`);
|
|
54
|
+
}
|
|
55
|
+
// Ensure connected + initialized
|
|
56
|
+
await this.ensureInitialized();
|
|
57
|
+
// Send tools/call
|
|
58
|
+
const result = await this.sendRequest("tools/call", {
|
|
59
|
+
name: toolName,
|
|
60
|
+
arguments: input,
|
|
61
|
+
});
|
|
62
|
+
// MCP tools/call returns { content: [{ type, text }] }
|
|
63
|
+
const resultObj = result;
|
|
64
|
+
if (resultObj && typeof resultObj === "object" && "content" in resultObj) {
|
|
65
|
+
const content = resultObj.content;
|
|
66
|
+
if (Array.isArray(content) && content.length > 0) {
|
|
67
|
+
const first = content[0];
|
|
68
|
+
if (first.type === "text") {
|
|
69
|
+
try {
|
|
70
|
+
return JSON.parse(first.text);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return first.text;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return first;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
close() {
|
|
82
|
+
if (this.proc) {
|
|
83
|
+
this.proc.kill();
|
|
84
|
+
this.proc = null;
|
|
85
|
+
}
|
|
86
|
+
this.initialized = false;
|
|
87
|
+
this.initPromise = null;
|
|
88
|
+
// Reject all pending
|
|
89
|
+
for (const req of Array.from(this.pending.values())) {
|
|
90
|
+
clearTimeout(req.timer);
|
|
91
|
+
req.reject(new Error("Client closed"));
|
|
92
|
+
}
|
|
93
|
+
this.pending.clear();
|
|
94
|
+
}
|
|
95
|
+
// ── Private ──
|
|
96
|
+
async ensureInitialized() {
|
|
97
|
+
if (this.initialized)
|
|
98
|
+
return;
|
|
99
|
+
if (this.initPromise)
|
|
100
|
+
return this.initPromise;
|
|
101
|
+
this.initPromise = this.connect();
|
|
102
|
+
await this.initPromise;
|
|
103
|
+
this.initialized = true;
|
|
104
|
+
}
|
|
105
|
+
async connect() {
|
|
106
|
+
const parts = this.serverCommand.split(/\s+/);
|
|
107
|
+
this.proc = spawn(parts[0], parts.slice(1), {
|
|
108
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
109
|
+
env: { ...process.env, ...this.env },
|
|
110
|
+
});
|
|
111
|
+
this.proc.stdout?.on("data", (chunk) => this.onData(chunk));
|
|
112
|
+
this.proc.on("error", (err) => {
|
|
113
|
+
for (const req of Array.from(this.pending.values())) {
|
|
114
|
+
clearTimeout(req.timer);
|
|
115
|
+
req.reject(err);
|
|
116
|
+
}
|
|
117
|
+
this.pending.clear();
|
|
118
|
+
});
|
|
119
|
+
// Initialize handshake
|
|
120
|
+
await this.sendRequest("initialize", {
|
|
121
|
+
protocolVersion: "2024-11-05",
|
|
122
|
+
capabilities: {},
|
|
123
|
+
clientInfo: { name: "agents-sdk-client", version: "1.0.0" },
|
|
124
|
+
});
|
|
125
|
+
// Send initialized notification
|
|
126
|
+
this.sendNotification("notifications/initialized");
|
|
127
|
+
}
|
|
128
|
+
sendRequest(method, params = {}) {
|
|
129
|
+
return new Promise((resolve, reject) => {
|
|
130
|
+
const id = ++this.messageId;
|
|
131
|
+
const timer = setTimeout(() => {
|
|
132
|
+
this.pending.delete(id);
|
|
133
|
+
reject(new Error(`Timeout after ${this.timeout}ms calling ${method}`));
|
|
134
|
+
}, this.timeout);
|
|
135
|
+
this.pending.set(id, { resolve, reject, timer });
|
|
136
|
+
const msg = JSON.stringify({ jsonrpc: "2.0", id, method, params });
|
|
137
|
+
this.proc?.stdin?.write(`${msg}\n`);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
sendNotification(method, params) {
|
|
141
|
+
const msg = JSON.stringify({
|
|
142
|
+
jsonrpc: "2.0",
|
|
143
|
+
method,
|
|
144
|
+
...(params ? { params } : {}),
|
|
145
|
+
});
|
|
146
|
+
this.proc?.stdin?.write(`${msg}\n`);
|
|
147
|
+
}
|
|
148
|
+
onData(chunk) {
|
|
149
|
+
this.buffer += chunk.toString();
|
|
150
|
+
const lines = this.buffer.split("\n");
|
|
151
|
+
this.buffer = lines.pop() || "";
|
|
152
|
+
for (const line of lines) {
|
|
153
|
+
const trimmed = line.trim();
|
|
154
|
+
if (!trimmed)
|
|
155
|
+
continue;
|
|
156
|
+
try {
|
|
157
|
+
const parsed = JSON.parse(trimmed);
|
|
158
|
+
if (parsed.id != null && this.pending.has(parsed.id)) {
|
|
159
|
+
const req = this.pending.get(parsed.id);
|
|
160
|
+
if (!req)
|
|
161
|
+
continue;
|
|
162
|
+
this.pending.delete(parsed.id);
|
|
163
|
+
clearTimeout(req.timer);
|
|
164
|
+
if (parsed.error) {
|
|
165
|
+
req.reject(new Error(JSON.stringify(parsed.error)));
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
req.resolve(parsed.result);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
// ignore non-JSON lines (stderr leakage, etc.)
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
// ============================================
|
|
179
|
+
// Factory
|
|
180
|
+
// ============================================
|
|
181
|
+
/**
|
|
182
|
+
* Create an agent client from a serialized definition.
|
|
183
|
+
*
|
|
184
|
+
* The client lazily spawns the MCP server on first call and
|
|
185
|
+
* proxies tool invocations via JSON-RPC over stdio.
|
|
186
|
+
*/
|
|
187
|
+
export function createClient(definition, options) {
|
|
188
|
+
return new McpStdioClient(definition, options);
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -85,4 +85,13 @@ export { createRegistryConsumer } from "./registry-consumer.js";
|
|
|
85
85
|
export type { RegistryConsumer, RegistryConsumerOptions, RegistryConfiguration, AgentListing, SecretResolver, } from "./registry-consumer.js";
|
|
86
86
|
export { codegen, useAgent, listAgentTools } from "./codegen.js";
|
|
87
87
|
export type { CodegenOptions, CodegenResult, CodegenManifest, McpToolDefinition, McpServerInfo, McpTransport, ServerSource, } from "./codegen.js";
|
|
88
|
+
export { serializeAgent, serializeTool } from "./serialized.js";
|
|
89
|
+
export type { SerializedAgentDefinition, SerializedTool, } from "./serialized.js";
|
|
90
|
+
export { createClient } from "./client.js";
|
|
91
|
+
export type { AgentClient, CreateClientOptions, } from "./client.js";
|
|
92
|
+
export { parseJsonc, readJsoncFile } from "./jsonc.js";
|
|
93
|
+
export { pack, publish } from "./pack.js";
|
|
94
|
+
export type { PackOptions, PackResult, PublishOptions, VersionMeta, VersionChanges, } from "./pack.js";
|
|
95
|
+
export { introspectMcp } from "./introspect.js";
|
|
96
|
+
export type { IntrospectOptions } from "./introspect.js";
|
|
88
97
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -83,4 +83,24 @@ export { normalizeRef, normalizeRegistry, isSecretUrl, isSecretUri, } from "./de
|
|
|
83
83
|
export { createRegistryConsumer } from "./registry-consumer.js";
|
|
84
84
|
// Codegen
|
|
85
85
|
export { codegen, useAgent, listAgentTools } from "./codegen.js";
|
|
86
|
+
// ============================================
|
|
87
|
+
// Serialized Agent Definitions
|
|
88
|
+
// ============================================
|
|
89
|
+
export { serializeAgent, serializeTool } from "./serialized.js";
|
|
90
|
+
// ============================================
|
|
91
|
+
// Agent Client
|
|
92
|
+
// ============================================
|
|
93
|
+
export { createClient } from "./client.js";
|
|
94
|
+
// ============================================
|
|
95
|
+
// JSONC Parser
|
|
96
|
+
// ============================================
|
|
97
|
+
export { parseJsonc, readJsoncFile } from "./jsonc.js";
|
|
98
|
+
// ============================================
|
|
99
|
+
// Pack & Publish
|
|
100
|
+
// ============================================
|
|
101
|
+
export { pack, publish } from "./pack.js";
|
|
102
|
+
// ============================================
|
|
103
|
+
// Introspect
|
|
104
|
+
// ============================================
|
|
105
|
+
export { introspectMcp } from "./introspect.js";
|
|
86
106
|
//# sourceMappingURL=index.js.map
|