@usestratus/sdk 1.3.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.
- package/README.md +69 -34
- package/dist/azure/create-model.d.ts +16 -0
- package/dist/azure/create-model.d.ts.map +1 -0
- package/dist/azure/create-model.js +45 -0
- package/dist/azure/create-model.js.map +1 -0
- package/dist/azure/endpoint.d.ts +5 -0
- package/dist/azure/endpoint.d.ts.map +1 -1
- package/dist/azure/endpoint.js +22 -0
- package/dist/azure/endpoint.js.map +1 -1
- package/dist/azure/index.d.ts +3 -1
- package/dist/azure/index.d.ts.map +1 -1
- package/dist/azure/index.js +1 -0
- package/dist/azure/index.js.map +1 -1
- package/dist/azure/responses-model.d.ts +74 -0
- package/dist/azure/responses-model.d.ts.map +1 -1
- package/dist/azure/responses-model.js +259 -6
- package/dist/azure/responses-model.js.map +1 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +2 -0
- package/dist/core/agent.js.map +1 -1
- package/dist/core/debug.d.ts +5 -0
- package/dist/core/debug.d.ts.map +1 -0
- package/dist/core/debug.js +36 -0
- package/dist/core/debug.js.map +1 -0
- package/dist/core/hooks.d.ts +24 -21
- package/dist/core/hooks.d.ts.map +1 -1
- package/dist/core/index.d.ts +8 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/mcp-client.d.ts +37 -27
- package/dist/core/mcp-client.d.ts.map +1 -1
- package/dist/core/mcp-client.js +190 -79
- package/dist/core/mcp-client.js.map +1 -1
- package/dist/core/model.d.ts +2 -0
- package/dist/core/model.d.ts.map +1 -1
- package/dist/core/result.d.ts +11 -1
- package/dist/core/result.d.ts.map +1 -1
- package/dist/core/result.js +19 -1
- package/dist/core/result.js.map +1 -1
- package/dist/core/run.d.ts +4 -3
- package/dist/core/run.d.ts.map +1 -1
- package/dist/core/run.js +21 -0
- package/dist/core/run.js.map +1 -1
- package/dist/core/sandbox.d.ts +46 -0
- package/dist/core/sandbox.d.ts.map +1 -0
- package/dist/core/sandbox.js +143 -0
- package/dist/core/sandbox.js.map +1 -0
- package/dist/core/session.d.ts +9 -3
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +15 -2
- package/dist/core/session.js.map +1 -1
- package/dist/core/tracing.d.ts +23 -0
- package/dist/core/tracing.d.ts.map +1 -1
- package/dist/core/tracing.js +129 -3
- package/dist/core/tracing.js.map +1 -1
- package/dist/core/types.d.ts +4 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/validate-agent.d.ts +14 -0
- package/dist/core/validate-agent.d.ts.map +1 -0
- package/dist/core/validate-agent.js +33 -0
- package/dist/core/validate-agent.js.map +1 -0
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-model.d.ts +12 -0
- package/dist/testing/mock-model.d.ts.map +1 -0
- package/dist/testing/mock-model.js +40 -0
- package/dist/testing/mock-model.js.map +1 -0
- package/dist/testing/response-builders.d.ts +15 -0
- package/dist/testing/response-builders.d.ts.map +1 -0
- package/dist/testing/response-builders.js +22 -0
- package/dist/testing/response-builders.js.map +1 -0
- package/package.json +52 -34
package/dist/core/mcp-client.js
CHANGED
|
@@ -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
|
-
*
|
|
4
|
-
* Discovers tools and wraps them as FunctionTool instances
|
|
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.
|
|
26
|
+
if (this.connected) {
|
|
28
27
|
throw new Error("McpClient is already connected");
|
|
29
28
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
|
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
|
-
|
|
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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"}
|
package/dist/core/model.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface ModelRequest {
|
|
|
5
5
|
modelSettings?: ModelSettings;
|
|
6
6
|
responseFormat?: ResponseFormat;
|
|
7
7
|
previousResponseId?: string;
|
|
8
|
+
/** Raw input items appended to the Responses API input array (compaction items, MCP approval responses, etc.). */
|
|
9
|
+
rawInputItems?: Record<string, unknown>[];
|
|
8
10
|
}
|
|
9
11
|
export interface UsageInfo {
|
|
10
12
|
promptTokens: number;
|
package/dist/core/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,cAAc,EACd,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAClD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":"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"}
|
package/dist/core/result.d.ts
CHANGED
|
@@ -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
|
|
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,
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"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"}
|
package/dist/core/result.js
CHANGED
|
@@ -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 {
|
package/dist/core/result.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/core/run.d.ts
CHANGED
|
@@ -77,13 +77,14 @@ export interface RunOptions<TContext, TOutput = undefined> {
|
|
|
77
77
|
* Takes precedence over per-tool `needsApproval` and `beforeToolCall` hooks.
|
|
78
78
|
*/
|
|
79
79
|
canUseTool?: CanUseTool<TContext>;
|
|
80
|
+
/** Enable debug logging to stderr. Logs model requests/responses, tool calls, and handoffs. */
|
|
81
|
+
debug?: boolean;
|
|
80
82
|
}
|
|
81
83
|
export declare function run<TContext, TOutput = undefined>(agent: Agent<TContext, TOutput>, input: string | ChatMessage[], options?: RunOptions<TContext, TOutput>): Promise<RunResult<TOutput> | InterruptedRunResult<TOutput>>;
|
|
82
|
-
export
|
|
83
|
-
}
|
|
84
|
+
export type StreamOptions<TContext, TOutput = undefined> = RunOptions<TContext, TOutput>;
|
|
84
85
|
export interface StreamedRunResult<TOutput = undefined> {
|
|
85
86
|
stream: AsyncGenerator<StreamEvent>;
|
|
86
|
-
result: Promise<RunResult<TOutput>>;
|
|
87
|
+
result: Promise<RunResult<TOutput> | InterruptedRunResult<TOutput>>;
|
|
87
88
|
/**
|
|
88
89
|
* Gracefully interrupt the run. The current model call or tool execution
|
|
89
90
|
* will finish, then the run returns a partial RunResult with what has been
|
package/dist/core/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/core/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/core/run.ts"],"names":[],"mappings":"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"}
|
package/dist/core/run.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RunContext } from "./context";
|
|
2
|
+
import { createDebugLogger } from "./debug";
|
|
2
3
|
import { MaxBudgetExceededError, MaxTurnsExceededError, OutputParseError, RunAbortedError, StratusError, ToolTimeoutError, } from "./errors";
|
|
3
4
|
import { runInputGuardrails, runOutputGuardrails, runToolInputGuardrails, runToolOutputGuardrails, } from "./guardrails";
|
|
4
5
|
import { handoffToDefinition } from "./handoff";
|
|
@@ -209,6 +210,7 @@ export async function run(agent, input, options) {
|
|
|
209
210
|
const dynamicSubagents = options?.dynamicSubagents;
|
|
210
211
|
const allowedTools = options?.allowedTools;
|
|
211
212
|
const canUseToolFn = options?.canUseTool;
|
|
213
|
+
const debugLog = createDebugLogger(options?.debug);
|
|
212
214
|
// Fire beforeRun hook on the entry agent
|
|
213
215
|
const inputText = typeof input === "string" ? input : extractUserText(input);
|
|
214
216
|
if (agent.hooks.beforeRun) {
|
|
@@ -271,6 +273,11 @@ export async function run(agent, input, options) {
|
|
|
271
273
|
if (runHooks?.onLlmStart) {
|
|
272
274
|
await runHooks.onLlmStart({ agent: currentAgent, request, context: ctx.context });
|
|
273
275
|
}
|
|
276
|
+
debugLog.log("model", `request to ${currentAgent.name}`, {
|
|
277
|
+
messages: messages.length,
|
|
278
|
+
tools: toolDefs.length,
|
|
279
|
+
turn,
|
|
280
|
+
});
|
|
274
281
|
let response;
|
|
275
282
|
if (trace) {
|
|
276
283
|
const span = trace.startSpan(`model_call:${currentAgent.name}`, "model_call", {
|
|
@@ -292,6 +299,11 @@ export async function run(agent, input, options) {
|
|
|
292
299
|
else {
|
|
293
300
|
response = await model.getResponse(request, { signal });
|
|
294
301
|
}
|
|
302
|
+
debugLog.log("model", `response from ${currentAgent.name}`, {
|
|
303
|
+
content: response.content?.slice(0, 200),
|
|
304
|
+
toolCalls: response.toolCalls.map((tc) => tc.function.name),
|
|
305
|
+
usage: response.usage,
|
|
306
|
+
});
|
|
295
307
|
// Fire onLlmEnd hooks
|
|
296
308
|
const llmEndInfo = { content: response.content, toolCallCount: response.toolCalls.length };
|
|
297
309
|
if (currentAgent.hooks.onLlmEnd) {
|
|
@@ -354,8 +366,10 @@ export async function run(agent, input, options) {
|
|
|
354
366
|
usage: ctx.usage,
|
|
355
367
|
});
|
|
356
368
|
}
|
|
369
|
+
debugLog.log("tool", "executing", response.toolCalls.map((tc) => tc.function.name));
|
|
357
370
|
const { toolMessages, handoffAgent } = await executeToolCallsWithHandoffs(currentAgent, ctx, response.toolCalls, trace, signal, toolErrorFmt, runHooks, toolInputGuardrails, toolOutputGuardrails, undefined, dynamicSubagents, canUseToolFn);
|
|
358
371
|
messages.push(...toolMessages);
|
|
372
|
+
debugLog.log("tool", "results", toolMessages.map((m) => String(m.content).slice(0, 100)));
|
|
359
373
|
// Check toolUseBehavior — should we stop instead of calling the LLM again?
|
|
360
374
|
if (await shouldStopAfterToolCalls(currentAgent, response.toolCalls, toolMessages)) {
|
|
361
375
|
const toolOutput = toolMessages.map((m) => m.content).join("\n");
|
|
@@ -372,6 +386,7 @@ export async function run(agent, input, options) {
|
|
|
372
386
|
});
|
|
373
387
|
}
|
|
374
388
|
if (handoffAgent) {
|
|
389
|
+
debugLog.log("handoff", `${currentAgent.name} → ${handoffAgent.name}`);
|
|
375
390
|
let allowHandoff = true;
|
|
376
391
|
// Fire beforeHandoff hook on current agent
|
|
377
392
|
if (currentAgent.hooks.beforeHandoff) {
|
|
@@ -499,6 +514,7 @@ async function* streamInternal(agent, input, options, resolveResult, rejectResul
|
|
|
499
514
|
const dynamicSubagents = options?.dynamicSubagents;
|
|
500
515
|
const allowedTools = options?.allowedTools;
|
|
501
516
|
const canUseToolFn = options?.canUseTool;
|
|
517
|
+
const debugLog = createDebugLogger(options?.debug);
|
|
502
518
|
// Fire beforeRun hook on the entry agent
|
|
503
519
|
const inputText = typeof input === "string" ? input : extractUserText(input);
|
|
504
520
|
if (agent.hooks.beforeRun) {
|
|
@@ -582,6 +598,11 @@ async function* streamInternal(agent, input, options, resolveResult, rejectResul
|
|
|
582
598
|
if (runHooks?.onLlmStart) {
|
|
583
599
|
await runHooks.onLlmStart({ agent: currentAgent, request, context: ctx.context });
|
|
584
600
|
}
|
|
601
|
+
debugLog.log("model", `stream request to ${currentAgent.name}`, {
|
|
602
|
+
messages: messages.length,
|
|
603
|
+
tools: toolDefs.length,
|
|
604
|
+
turn,
|
|
605
|
+
});
|
|
585
606
|
let finalResponse;
|
|
586
607
|
let gotDone = false;
|
|
587
608
|
for await (const event of model.getStreamedResponse(request, { signal })) {
|