@usestratus/sdk 1.5.0 → 1.6.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.
Files changed (39) hide show
  1. package/README.md +9 -9
  2. package/dist/azure/create-model.d.ts +1 -0
  3. package/dist/azure/create-model.d.ts.map +1 -1
  4. package/dist/azure/create-model.js +1 -0
  5. package/dist/azure/create-model.js.map +1 -1
  6. package/dist/azure/responses-model.d.ts +3 -0
  7. package/dist/azure/responses-model.d.ts.map +1 -1
  8. package/dist/azure/responses-model.js +22 -10
  9. package/dist/azure/responses-model.js.map +1 -1
  10. package/dist/core/hooks.d.ts +24 -21
  11. package/dist/core/hooks.d.ts.map +1 -1
  12. package/dist/core/index.d.ts +6 -3
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js +3 -1
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/core/mcp-client.d.ts +37 -27
  17. package/dist/core/mcp-client.d.ts.map +1 -1
  18. package/dist/core/mcp-client.js +190 -79
  19. package/dist/core/mcp-client.js.map +1 -1
  20. package/dist/core/result.d.ts +11 -1
  21. package/dist/core/result.d.ts.map +1 -1
  22. package/dist/core/result.js +19 -1
  23. package/dist/core/result.js.map +1 -1
  24. package/dist/core/run.d.ts +2 -3
  25. package/dist/core/run.d.ts.map +1 -1
  26. package/dist/core/run.js.map +1 -1
  27. package/dist/core/sandbox.d.ts +46 -0
  28. package/dist/core/sandbox.d.ts.map +1 -0
  29. package/dist/core/sandbox.js +143 -0
  30. package/dist/core/sandbox.js.map +1 -0
  31. package/dist/core/session.d.ts +4 -4
  32. package/dist/core/session.d.ts.map +1 -1
  33. package/dist/core/session.js +3 -2
  34. package/dist/core/session.js.map +1 -1
  35. package/dist/core/tracing.d.ts +23 -0
  36. package/dist/core/tracing.d.ts.map +1 -1
  37. package/dist/core/tracing.js +129 -3
  38. package/dist/core/tracing.js.map +1 -1
  39. package/package.json +52 -38
@@ -1,57 +1,67 @@
1
1
  import type { FunctionTool } from "./tool";
2
+ export type McpToolFilter = string[] | ((tool: McpToolDefinition) => boolean | Promise<boolean>);
3
+ export type McpHeaders = Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);
2
4
  export interface McpClientConfig {
3
- /** Command to spawn the MCP server process */
4
- command: string;
5
- /** Arguments for the command */
5
+ /** Transport. Defaults to stdio when command is provided, otherwise streamable-http. */
6
+ transport?: "stdio" | "streamable-http";
7
+ /** Command to spawn for stdio MCP servers. */
8
+ command?: string;
9
+ /** Arguments for the stdio command. */
6
10
  args?: string[];
7
- /** Environment variables for the process */
11
+ /** Environment variables for the stdio process. */
8
12
  env?: Record<string, string>;
9
- /** Working directory */
13
+ /** Working directory for the stdio process. */
10
14
  cwd?: string;
15
+ /** Streamable HTTP MCP endpoint. */
16
+ url?: string;
17
+ /** Static or async headers for HTTP MCP servers. Use this for Entra tokens or API keys. */
18
+ headers?: McpHeaders;
19
+ /** Cache tools/list results after the first call. */
20
+ cacheToolsList?: boolean;
21
+ /** Filter discovered tools before exposing them to an agent. */
22
+ toolFilter?: McpToolFilter;
23
+ /** Prefix exposed tool names, useful when multiple MCP servers have overlapping names. */
24
+ namePrefix?: string;
25
+ /** JSON-RPC request timeout in milliseconds. Defaults to 30 seconds. */
26
+ requestTimeoutMs?: number;
11
27
  }
12
28
  export interface McpToolDefinition {
13
29
  name: string;
14
30
  description?: string;
15
31
  inputSchema?: Record<string, unknown>;
16
32
  }
33
+ export declare function azureMcpHeaders(tokenProvider: () => Promise<string>, extraHeaders?: Record<string, string>): () => Promise<Record<string, string>>;
17
34
  /**
18
- * Local MCP client that connects to MCP servers via stdio transport.
19
- * Discovers tools and wraps them as FunctionTool instances for use with Stratus agents.
20
- *
21
- * Usage:
22
- * ```ts
23
- * const client = new McpClient({ command: "npx", args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] });
24
- * await client.connect();
25
- * const tools = await client.getTools();
26
- * const agent = new Agent({ tools });
27
- * // ...
28
- * await client.disconnect();
29
- * ```
35
+ * MCP client for local stdio servers and Streamable HTTP servers.
36
+ * Discovers MCP tools and wraps them as Stratus FunctionTool instances.
30
37
  */
31
38
  export declare class McpClient {
32
39
  private process;
33
40
  private buffer;
34
41
  private pendingRequests;
35
42
  private nextId;
43
+ private cachedTools;
36
44
  private readonly config;
45
+ private readonly transport;
46
+ private connected;
37
47
  constructor(config: McpClientConfig);
38
- /** Connect to the MCP server and perform the initialize handshake. */
39
48
  connect(): Promise<void>;
40
- /** Discover tools exposed by the MCP server. */
41
- listTools(): Promise<McpToolDefinition[]>;
42
- /** Call a tool on the MCP server and return concatenated text content. */
49
+ listTools(options?: {
50
+ refresh?: boolean;
51
+ }): Promise<McpToolDefinition[]>;
43
52
  callTool(name: string, args: Record<string, unknown>): Promise<string>;
44
- /**
45
- * Discover MCP tools and return them as Stratus FunctionTool instances.
46
- * Each returned tool proxies execution to the MCP server via `tools/call`.
47
- */
48
- getTools<TContext = unknown>(): Promise<FunctionTool<any, TContext>[]>;
49
- /** Disconnect from the MCP server and clean up. */
53
+ getTools<TContext = unknown>(): Promise<FunctionTool<Record<string, unknown>, TContext>[]>;
50
54
  disconnect(): Promise<void>;
51
55
  [Symbol.asyncDispose](): Promise<void>;
56
+ private connectStdio;
52
57
  private assertConnected;
58
+ private applyToolFilter;
59
+ private withPrefix;
60
+ private stripPrefix;
53
61
  private processBuffer;
54
62
  private sendRequest;
55
63
  private sendNotification;
64
+ private sendHttpRequest;
65
+ private parseHttpResponse;
56
66
  }
57
67
  //# sourceMappingURL=mcp-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/core/mcp-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC/B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAOD;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAS;IACrB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAE7B,MAAM,EAAE,eAAe;IAInC,sEAAsE;IAChE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC9B,gDAAgD;IAC1C,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAQ/C,0EAA0E;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAa5E;;;OAGG;IACG,QAAQ,CAAC,QAAQ,GAAG,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;IAgB5E,mDAAmD;IAC7C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5C,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAgDrB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,gBAAgB;CAMxB"}
1
+ {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/core/mcp-client.ts"],"names":[],"mappings":"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"}
@@ -1,138 +1,186 @@
1
1
  import { spawn } from "node:child_process";
2
+ export function azureMcpHeaders(tokenProvider, extraHeaders) {
3
+ return async () => ({
4
+ ...extraHeaders,
5
+ Authorization: `Bearer ${await tokenProvider()}`,
6
+ });
7
+ }
2
8
  /**
3
- * Local MCP client that connects to MCP servers via stdio transport.
4
- * Discovers tools and wraps them as FunctionTool instances for use with Stratus agents.
5
- *
6
- * Usage:
7
- * ```ts
8
- * const client = new McpClient({ command: "npx", args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] });
9
- * await client.connect();
10
- * const tools = await client.getTools();
11
- * const agent = new Agent({ tools });
12
- * // ...
13
- * await client.disconnect();
14
- * ```
9
+ * MCP client for local stdio servers and Streamable HTTP servers.
10
+ * Discovers MCP tools and wraps them as Stratus FunctionTool instances.
15
11
  */
16
12
  export class McpClient {
17
13
  process = null;
18
14
  buffer = "";
19
15
  pendingRequests = new Map();
20
16
  nextId = 1;
17
+ cachedTools;
21
18
  config;
19
+ transport;
20
+ connected = false;
22
21
  constructor(config) {
23
22
  this.config = config;
23
+ this.transport = config.transport ?? (config.command ? "stdio" : "streamable-http");
24
24
  }
25
- /** Connect to the MCP server and perform the initialize handshake. */
26
25
  async connect() {
27
- if (this.process) {
26
+ if (this.connected) {
28
27
  throw new Error("McpClient is already connected");
29
28
  }
30
- this.process = spawn(this.config.command, this.config.args ?? [], {
31
- stdio: ["pipe", "pipe", "pipe"],
32
- env: { ...process.env, ...this.config.env },
33
- cwd: this.config.cwd,
34
- });
35
- this.process.stdout?.on("data", (data) => {
36
- this.buffer += data.toString();
37
- this.processBuffer();
38
- });
39
- this.process.on("error", (err) => {
40
- for (const { reject } of this.pendingRequests.values()) {
41
- reject(err);
42
- }
43
- this.pendingRequests.clear();
44
- });
45
- this.process.on("close", (code) => {
46
- const err = new Error(`MCP server exited with code ${code}`);
47
- for (const { reject } of this.pendingRequests.values()) {
48
- reject(err);
29
+ if (this.transport === "stdio") {
30
+ await this.connectStdio();
31
+ }
32
+ else {
33
+ if (!this.config.url) {
34
+ throw new Error("McpClient streamable-http transport requires url");
49
35
  }
50
- this.pendingRequests.clear();
51
- this.process = null;
52
- });
53
- await this.sendRequest("initialize", {
54
- protocolVersion: "2024-11-05",
55
- capabilities: {},
56
- clientInfo: { name: "stratus-sdk", version: "1.0.0" },
57
- });
58
- this.sendNotification("notifications/initialized", {});
36
+ await this.sendRequest("initialize", {
37
+ protocolVersion: "2024-11-05",
38
+ capabilities: {},
39
+ clientInfo: { name: "stratus-sdk", version: "1.0.0" },
40
+ });
41
+ await this.sendNotification("notifications/initialized", {});
42
+ }
43
+ this.connected = true;
59
44
  }
60
- /** Discover tools exposed by the MCP server. */
61
- async listTools() {
45
+ async listTools(options) {
62
46
  this.assertConnected();
47
+ if (this.config.cacheToolsList && this.cachedTools && !options?.refresh) {
48
+ return this.cachedTools;
49
+ }
63
50
  const result = (await this.sendRequest("tools/list", {}));
64
- return result.tools ?? [];
51
+ const tools = await this.applyToolFilter(result.tools ?? []);
52
+ if (this.config.cacheToolsList) {
53
+ this.cachedTools = tools;
54
+ }
55
+ return tools;
65
56
  }
66
- /** Call a tool on the MCP server and return concatenated text content. */
67
57
  async callTool(name, args) {
68
58
  this.assertConnected();
59
+ const rawName = this.stripPrefix(name);
69
60
  const result = (await this.sendRequest("tools/call", {
70
- name,
61
+ name: rawName,
71
62
  arguments: args,
72
63
  }));
73
- return (result.content ?? [])
64
+ const text = (result.content ?? [])
74
65
  .filter((c) => c.type === "text" && !!c.text)
75
66
  .map((c) => c.text)
76
67
  .join("\n");
68
+ if (result.isError) {
69
+ throw new Error(text || `MCP tool "${rawName}" failed`);
70
+ }
71
+ return text;
77
72
  }
78
- /**
79
- * Discover MCP tools and return them as Stratus FunctionTool instances.
80
- * Each returned tool proxies execution to the MCP server via `tools/call`.
81
- */
82
73
  async getTools() {
83
74
  const mcpTools = await this.listTools();
84
75
  const { z } = await import("zod");
85
- return mcpTools.map((mcpTool) => ({
86
- type: "function",
87
- name: mcpTool.name,
88
- description: mcpTool.description ?? "",
89
- parameters: z.record(z.string(), z.unknown()),
90
- _rawJsonSchema: mcpTool.inputSchema,
91
- execute: async (_context, params) => {
92
- return this.callTool(mcpTool.name, params);
93
- },
94
- }));
76
+ return mcpTools.map((mcpTool) => {
77
+ const exposedName = this.withPrefix(mcpTool.name);
78
+ return {
79
+ type: "function",
80
+ name: exposedName,
81
+ description: mcpTool.description ?? "",
82
+ parameters: z.record(z.string(), z.unknown()),
83
+ _rawJsonSchema: mcpTool.inputSchema,
84
+ execute: async (_context, params) => {
85
+ return this.callTool(exposedName, params);
86
+ },
87
+ };
88
+ });
95
89
  }
96
- /** Disconnect from the MCP server and clean up. */
97
90
  async disconnect() {
98
91
  if (this.process) {
99
92
  this.process.kill();
100
93
  this.process = null;
101
94
  }
102
- for (const { reject } of this.pendingRequests.values()) {
95
+ for (const { reject, timer } of this.pendingRequests.values()) {
96
+ clearTimeout(timer);
103
97
  reject(new Error("MCP client disconnected"));
104
98
  }
105
99
  this.pendingRequests.clear();
106
100
  this.buffer = "";
101
+ this.connected = false;
107
102
  }
108
103
  async [Symbol.asyncDispose]() {
109
104
  await this.disconnect();
110
105
  }
111
- // --- Private helpers ---
106
+ async connectStdio() {
107
+ if (!this.config.command) {
108
+ throw new Error("McpClient stdio transport requires command");
109
+ }
110
+ this.process = spawn(this.config.command, this.config.args ?? [], {
111
+ stdio: ["pipe", "pipe", "pipe"],
112
+ env: { ...process.env, ...this.config.env },
113
+ cwd: this.config.cwd,
114
+ });
115
+ this.process.stdout?.on("data", (data) => {
116
+ this.buffer += data.toString();
117
+ this.processBuffer();
118
+ });
119
+ this.process.on("error", (err) => {
120
+ for (const { reject, timer } of this.pendingRequests.values()) {
121
+ clearTimeout(timer);
122
+ reject(err);
123
+ }
124
+ this.pendingRequests.clear();
125
+ });
126
+ this.process.on("close", (code) => {
127
+ const err = new Error(`MCP server exited with code ${code}`);
128
+ for (const { reject, timer } of this.pendingRequests.values()) {
129
+ clearTimeout(timer);
130
+ reject(err);
131
+ }
132
+ this.pendingRequests.clear();
133
+ this.process = null;
134
+ this.connected = false;
135
+ });
136
+ await this.sendRequest("initialize", {
137
+ protocolVersion: "2024-11-05",
138
+ capabilities: {},
139
+ clientInfo: { name: "stratus-sdk", version: "1.0.0" },
140
+ });
141
+ await this.sendNotification("notifications/initialized", {});
142
+ }
112
143
  assertConnected() {
113
- if (!this.process) {
144
+ if (!this.connected) {
114
145
  throw new Error("McpClient is not connected. Call connect() first.");
115
146
  }
116
147
  }
148
+ async applyToolFilter(tools) {
149
+ const filter = this.config.toolFilter;
150
+ if (!filter)
151
+ return tools;
152
+ if (Array.isArray(filter)) {
153
+ const allowed = new Set(filter);
154
+ return tools.filter((tool) => allowed.has(tool.name) || allowed.has(this.withPrefix(tool.name)));
155
+ }
156
+ const filtered = [];
157
+ for (const tool of tools) {
158
+ if (await filter(tool))
159
+ filtered.push(tool);
160
+ }
161
+ return filtered;
162
+ }
163
+ withPrefix(name) {
164
+ return this.config.namePrefix ? `${this.config.namePrefix}${name}` : name;
165
+ }
166
+ stripPrefix(name) {
167
+ const prefix = this.config.namePrefix;
168
+ if (prefix && name.startsWith(prefix))
169
+ return name.slice(prefix.length);
170
+ return name;
171
+ }
117
172
  processBuffer() {
118
- // MCP stdio uses JSON-RPC with Content-Length framing (like LSP).
119
173
  while (true) {
120
174
  const headerEnd = this.buffer.indexOf("\r\n\r\n");
121
175
  if (headerEnd === -1)
122
176
  break;
123
177
  const header = this.buffer.slice(0, headerEnd);
124
178
  const match = header.match(/Content-Length:\s*(\d+)/i);
125
- if (!match) {
126
- // Malformed header; skip past it
179
+ if (!match?.[1]) {
127
180
  this.buffer = this.buffer.slice(headerEnd + 4);
128
181
  continue;
129
182
  }
130
- const rawLength = match[1];
131
- if (rawLength === undefined) {
132
- this.buffer = this.buffer.slice(headerEnd + 4);
133
- continue;
134
- }
135
- const contentLength = Number.parseInt(rawLength, 10);
183
+ const contentLength = Number.parseInt(match[1], 10);
136
184
  const bodyStart = headerEnd + 4;
137
185
  if (this.buffer.length < bodyStart + contentLength)
138
186
  break;
@@ -142,6 +190,7 @@ export class McpClient {
142
190
  const message = JSON.parse(body);
143
191
  const pending = message.id !== undefined ? this.pendingRequests.get(message.id) : undefined;
144
192
  if (pending !== undefined) {
193
+ clearTimeout(pending.timer);
145
194
  this.pendingRequests.delete(message.id);
146
195
  if (message.error) {
147
196
  pending.reject(new Error(message.error.message ?? "MCP error"));
@@ -150,32 +199,94 @@ export class McpClient {
150
199
  pending.resolve(message.result);
151
200
  }
152
201
  }
153
- // Notifications and server-initiated messages are ignored for now.
154
202
  }
155
203
  catch {
156
- // Ignore JSON parse errors in the buffer
204
+ // Ignore malformed server messages.
157
205
  }
158
206
  }
159
207
  }
160
208
  sendRequest(method, params) {
209
+ if (this.transport === "streamable-http") {
210
+ return this.sendHttpRequest(method, params, true);
211
+ }
161
212
  return new Promise((resolve, reject) => {
162
213
  if (!this.process?.stdin) {
163
214
  reject(new Error("McpClient is not connected. Call connect() first."));
164
215
  return;
165
216
  }
166
217
  const id = this.nextId++;
167
- this.pendingRequests.set(id, { resolve, reject });
218
+ const timer = setTimeout(() => {
219
+ this.pendingRequests.delete(id);
220
+ reject(new Error(`MCP request timed out: ${method}`));
221
+ }, this.config.requestTimeoutMs ?? 30_000);
222
+ this.pendingRequests.set(id, { resolve, reject, timer });
168
223
  const body = JSON.stringify({ jsonrpc: "2.0", id, method, params });
169
224
  const packet = `Content-Length: ${Buffer.byteLength(body)}\r\n\r\n${body}`;
170
225
  this.process.stdin.write(packet);
171
226
  });
172
227
  }
173
- sendNotification(method, params) {
228
+ async sendNotification(method, params) {
229
+ if (this.transport === "streamable-http") {
230
+ await this.sendHttpRequest(method, params, false);
231
+ return;
232
+ }
174
233
  if (!this.process?.stdin)
175
234
  return;
176
235
  const body = JSON.stringify({ jsonrpc: "2.0", method, params });
177
236
  const packet = `Content-Length: ${Buffer.byteLength(body)}\r\n\r\n${body}`;
178
237
  this.process.stdin.write(packet);
179
238
  }
239
+ async sendHttpRequest(method, params, expectResponse) {
240
+ if (!this.config.url) {
241
+ throw new Error("McpClient streamable-http transport requires url");
242
+ }
243
+ const id = expectResponse ? this.nextId++ : undefined;
244
+ const headers = typeof this.config.headers === "function"
245
+ ? await this.config.headers()
246
+ : (this.config.headers ?? {});
247
+ const response = await fetch(this.config.url, {
248
+ method: "POST",
249
+ headers: {
250
+ ...headers,
251
+ "Content-Type": "application/json",
252
+ Accept: "application/json, text/event-stream",
253
+ },
254
+ body: JSON.stringify({
255
+ jsonrpc: "2.0",
256
+ ...(id !== undefined ? { id } : {}),
257
+ method,
258
+ params,
259
+ }),
260
+ signal: AbortSignal.timeout(this.config.requestTimeoutMs ?? 30_000),
261
+ });
262
+ if (!response.ok) {
263
+ throw new Error(`MCP HTTP request failed (${response.status})`);
264
+ }
265
+ if (!expectResponse)
266
+ return undefined;
267
+ const json = (await this.parseHttpResponse(response));
268
+ if (json.error) {
269
+ throw new Error(json.error.message ?? "MCP error");
270
+ }
271
+ return json.result;
272
+ }
273
+ async parseHttpResponse(response) {
274
+ const contentType = response.headers.get("content-type") ?? "";
275
+ if (!contentType.includes("event-stream")) {
276
+ return response.json();
277
+ }
278
+ const text = await response.text();
279
+ for (const block of text.split("\n\n")) {
280
+ const data = block
281
+ .split("\n")
282
+ .filter((line) => line.startsWith("data:"))
283
+ .map((line) => line.slice("data:".length).trim())
284
+ .join("\n");
285
+ if (!data || data === "[DONE]")
286
+ continue;
287
+ return JSON.parse(data);
288
+ }
289
+ throw new Error("MCP HTTP event stream ended without a JSON-RPC response");
290
+ }
180
291
  }
181
292
  //# sourceMappingURL=mcp-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/core/mcp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/core/mcp-client.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,19 @@ export interface PendingToolCall {
11
11
  export declare class InterruptedRunResult<TOutput = undefined> {
12
12
  readonly interrupted: true;
13
13
  readonly pendingToolCalls: PendingToolCall[];
14
+ readonly output = "";
15
+ readonly finalOutput: TOutput extends undefined ? undefined : TOutput;
14
16
  readonly messages: ChatMessage[];
15
17
  readonly currentAgent: Agent<any, TOutput>;
18
+ readonly lastAgent: Agent<any, TOutput>;
16
19
  readonly context: any;
17
20
  readonly numTurns: number;
18
- readonly usage: UsageInfo | undefined;
21
+ readonly usage: UsageInfo;
22
+ readonly finishReason: FinishReason;
23
+ readonly totalCostUsd = 0;
24
+ readonly responseId?: string;
25
+ readonly inputGuardrailResults: readonly GuardrailRunResult[];
26
+ readonly outputGuardrailResults: readonly GuardrailRunResult[];
19
27
  constructor(options: {
20
28
  pendingToolCalls: PendingToolCall[];
21
29
  messages: ChatMessage[];
@@ -24,6 +32,8 @@ export declare class InterruptedRunResult<TOutput = undefined> {
24
32
  numTurns: number;
25
33
  usage?: UsageInfo;
26
34
  });
35
+ /** Convert the result's messages into a format suitable for chaining as input to another run */
36
+ toInputList(): ChatMessage[];
27
37
  }
28
38
  export interface RunResultOptions<TOutput = undefined> {
29
39
  output: string;
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,oBAAoB,CAAC,OAAO,GAAG,SAAS;IACpD,QAAQ,CAAC,WAAW,EAAG,IAAI,CAAU;IACrC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;gBAE1B,OAAO,EAAE;QACpB,gBAAgB,EAAE,eAAe,EAAE,CAAC;QACpC,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,YAAY,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,EAAE,GAAG,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,SAAS,CAAC;KAClB;CAQD;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,SAAS;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7C,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC9C;AAED,qBAAa,SAAS,CAAC,OAAO,GAAG,SAAS;IACzC,QAAQ,CAAC,WAAW,EAAG,KAAK,CAAU;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACtE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,qBAAqB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9D,QAAQ,CAAC,sBAAsB,EAAE,SAAS,kBAAkB,EAAE,CAAC;gBAEnD,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAc3C,gGAAgG;IAChG,WAAW,IAAI,WAAW,EAAE;CAG5B"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,oBAAoB,CAAC,OAAO,GAAG,SAAS;IACpD,QAAQ,CAAC,WAAW,EAAG,IAAI,CAAU;IACrC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,MAAM;IACrB,QAAQ,CAAC,WAAW,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACtE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAgB;IACnD,QAAQ,CAAC,YAAY,KAAK;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,qBAAqB,EAAE,SAAS,kBAAkB,EAAE,CAAM;IACnE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,kBAAkB,EAAE,CAAM;gBAExD,OAAO,EAAE;QACpB,gBAAgB,EAAE,eAAe,EAAE,CAAC;QACpC,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,YAAY,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,EAAE,GAAG,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,SAAS,CAAC;KAClB;IAeD,gGAAgG;IAChG,WAAW,IAAI,WAAW,EAAE;CAG5B;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,SAAS;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7C,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC9C;AAED,qBAAa,SAAS,CAAC,OAAO,GAAG,SAAS;IACzC,QAAQ,CAAC,WAAW,EAAG,KAAK,CAAU;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACtE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,qBAAqB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9D,QAAQ,CAAC,sBAAsB,EAAE,SAAS,kBAAkB,EAAE,CAAC;gBAEnD,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAc3C,gGAAgG;IAChG,WAAW,IAAI,WAAW,EAAE;CAG5B"}
@@ -1,18 +1,36 @@
1
1
  export class InterruptedRunResult {
2
2
  interrupted = true;
3
3
  pendingToolCalls;
4
+ output = "";
5
+ finalOutput;
4
6
  messages;
5
7
  currentAgent;
8
+ lastAgent;
6
9
  context;
7
10
  numTurns;
8
11
  usage;
12
+ finishReason = "tool_calls";
13
+ totalCostUsd = 0;
14
+ responseId;
15
+ inputGuardrailResults = [];
16
+ outputGuardrailResults = [];
9
17
  constructor(options) {
10
18
  this.pendingToolCalls = options.pendingToolCalls;
19
+ this.finalOutput = undefined;
11
20
  this.messages = options.messages;
12
21
  this.currentAgent = options.currentAgent;
22
+ this.lastAgent = options.currentAgent;
13
23
  this.context = options.context;
14
24
  this.numTurns = options.numTurns;
15
- this.usage = options.usage;
25
+ this.usage = options.usage ?? {
26
+ promptTokens: 0,
27
+ completionTokens: 0,
28
+ totalTokens: 0,
29
+ };
30
+ }
31
+ /** Convert the result's messages into a format suitable for chaining as input to another run */
32
+ toInputList() {
33
+ return this.messages.filter((m) => m.role !== "system");
16
34
  }
17
35
  }
18
36
  export class RunResult {
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,oBAAoB;IACvB,WAAW,GAAG,IAAa,CAAC;IAC5B,gBAAgB,CAAoB;IACpC,QAAQ,CAAgB;IACxB,YAAY,CAAsB;IAClC,OAAO,CAAM;IACb,QAAQ,CAAS;IACjB,KAAK,CAAwB;IAEtC,YAAY,OAOX;QACA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;CACD;AAgBD,MAAM,OAAO,SAAS;IACZ,WAAW,GAAG,KAAc,CAAC;IAC7B,MAAM,CAAS;IACf,WAAW,CAAkD;IAC7D,QAAQ,CAAgB;IACxB,KAAK,CAAY;IACjB,SAAS,CAAkB;IAC3B,YAAY,CAAgB;IAC5B,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,UAAU,CAAU;IACpB,qBAAqB,CAAgC;IACrD,sBAAsB,CAAgC;IAE/D,YAAY,IAA+B;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAA8D,CAAC;QACvF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,gGAAgG;IAChG,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACzD,CAAC;CACD"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,oBAAoB;IACvB,WAAW,GAAG,IAAa,CAAC;IAC5B,gBAAgB,CAAoB;IACpC,MAAM,GAAG,EAAE,CAAC;IACZ,WAAW,CAAkD;IAC7D,QAAQ,CAAgB;IACxB,YAAY,CAAsB;IAClC,SAAS,CAAsB;IAC/B,OAAO,CAAM;IACb,QAAQ,CAAS;IACjB,KAAK,CAAY;IACjB,YAAY,GAAiB,YAAY,CAAC;IAC1C,YAAY,GAAG,CAAC,CAAC;IACjB,UAAU,CAAU;IACpB,qBAAqB,GAAkC,EAAE,CAAC;IAC1D,sBAAsB,GAAkC,EAAE,CAAC;IAEpE,YAAY,OAOX;QACA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,SAA4D,CAAC;QAChF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI;YAC7B,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC;SACd,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACzD,CAAC;CACD;AAgBD,MAAM,OAAO,SAAS;IACZ,WAAW,GAAG,KAAc,CAAC;IAC7B,MAAM,CAAS;IACf,WAAW,CAAkD;IAC7D,QAAQ,CAAgB;IACxB,KAAK,CAAY;IACjB,SAAS,CAAkB;IAC3B,YAAY,CAAgB;IAC5B,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,UAAU,CAAU;IACpB,qBAAqB,CAAgC;IACrD,sBAAsB,CAAgC;IAE/D,YAAY,IAA+B;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAA8D,CAAC;QACvF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,gGAAgG;IAChG,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACzD,CAAC;CACD"}
@@ -81,11 +81,10 @@ export interface RunOptions<TContext, TOutput = undefined> {
81
81
  debug?: boolean;
82
82
  }
83
83
  export declare function run<TContext, TOutput = undefined>(agent: Agent<TContext, TOutput>, input: string | ChatMessage[], options?: RunOptions<TContext, TOutput>): Promise<RunResult<TOutput> | InterruptedRunResult<TOutput>>;
84
- export interface StreamOptions<TContext, TOutput = undefined> extends RunOptions<TContext, TOutput> {
85
- }
84
+ export type StreamOptions<TContext, TOutput = undefined> = RunOptions<TContext, TOutput>;
86
85
  export interface StreamedRunResult<TOutput = undefined> {
87
86
  stream: AsyncGenerator<StreamEvent>;
88
- result: Promise<RunResult<TOutput>>;
87
+ result: Promise<RunResult<TOutput> | InterruptedRunResult<TOutput>>;
89
88
  /**
90
89
  * Gracefully interrupt the run. The current model call or tool execution
91
90
  * will finish, then the run returns a partial RunResult with what has been
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/core/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/core/run.ts"],"names":[],"mappings":"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"}