managed-deepagents 0.5.4-dev.8 → 0.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 +79 -20
- package/dist/channels/manifest.d.ts +2 -0
- package/dist/channels/manifest.d.ts.map +1 -1
- package/dist/channels/response-format.d.ts +5 -0
- package/dist/channels/response-format.d.ts.map +1 -0
- package/dist/channels/response-format.js +41 -0
- package/dist/channels/response-format.js.map +1 -0
- package/dist/channels/slack/index.d.ts +32 -71
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +73 -114
- package/dist/channels/slack/index.js.map +1 -1
- package/dist/channels/trigger/client.d.ts +30 -0
- package/dist/channels/trigger/client.d.ts.map +1 -0
- package/dist/channels/trigger/client.js +118 -0
- package/dist/channels/trigger/client.js.map +1 -0
- package/dist/channels/trigger/http.d.ts +36 -0
- package/dist/channels/trigger/http.d.ts.map +1 -0
- package/dist/channels/trigger/http.js +186 -0
- package/dist/channels/trigger/http.js.map +1 -0
- package/dist/channels/trigger/types.d.ts +108 -0
- package/dist/channels/trigger/types.d.ts.map +1 -0
- package/dist/channels/trigger/types.js +45 -0
- package/dist/channels/trigger/types.js.map +1 -0
- package/dist/channels/trigger/uuid.d.ts +3 -0
- package/dist/channels/trigger/uuid.d.ts.map +1 -0
- package/dist/channels/trigger/uuid.js +22 -0
- package/dist/channels/trigger/uuid.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/ingress/index.d.ts +31 -0
- package/dist/ingress/index.d.ts.map +1 -1
- package/dist/ingress/index.js +69 -1
- package/dist/ingress/index.js.map +1 -1
- package/dist/namespaces.d.ts +8 -6
- package/dist/namespaces.d.ts.map +1 -1
- package/dist/namespaces.js +1 -1
- package/dist/namespaces.js.map +1 -1
- package/dist/runtime/auth.d.ts +3 -0
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +20 -10
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +0 -1
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/backend.js +39 -8
- package/dist/runtime/backend.js.map +1 -1
- package/dist/runtime/channel.d.ts +5 -4
- package/dist/runtime/channel.d.ts.map +1 -1
- package/dist/runtime/channel.js.map +1 -1
- package/dist/runtime/identity-http.d.ts +3 -3
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +70 -22
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/index.d.ts +22 -8
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +3 -2
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/log.d.ts +45 -0
- package/dist/runtime/log.d.ts.map +1 -0
- package/dist/runtime/log.js +75 -0
- package/dist/runtime/log.js.map +1 -0
- package/dist/runtime/sandbox-manager.d.ts +41 -45
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +143 -135
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/sandbox-names.d.ts +9 -0
- package/dist/runtime/sandbox-names.d.ts.map +1 -0
- package/dist/runtime/sandbox-names.js +9 -0
- package/dist/runtime/sandbox-names.js.map +1 -0
- package/dist/runtime/types.d.ts +0 -5
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandbox.d.ts +61 -15
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +25 -7
- package/dist/sandbox.js.map +1 -1
- package/package.json +19 -18
- package/dist/runtime/sandbox-stream-retry.d.ts +0 -18
- package/dist/runtime/sandbox-stream-retry.d.ts.map +0 -1
- package/dist/runtime/sandbox-stream-retry.js +0 -90
- package/dist/runtime/sandbox-stream-retry.js.map +0 -1
- package/dist/runtime/setup-script.d.ts +0 -18
- package/dist/runtime/setup-script.d.ts.map +0 -1
- package/dist/runtime/setup-script.js +0 -49
- package/dist/runtime/setup-script.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
2
|
import { cors } from "hono/cors";
|
|
3
|
-
import { bodyLimit } from "hono/body-limit";
|
|
4
3
|
import { registerChannelMessaging, registerConnectorMessaging, } from "../channels/messaging-registry.js";
|
|
5
4
|
import { resolveRequestIdentity } from "./auth.js";
|
|
5
|
+
import { logger } from "./log.js";
|
|
6
6
|
import { isManagedCorsPath, matchCorsOrigin, MDA_CORS_ALLOW_HEADERS, MDA_CORS_ALLOW_METHODS, resolveCorsAllowlist, } from "./cors.js";
|
|
7
7
|
const CHANNEL_EVENTS_MAX_BODY_BYTES = 1024 * 1024;
|
|
8
8
|
/** Signals a secured route was reached but no identity is declared to resolve it. */
|
|
@@ -17,8 +17,8 @@ class IdentityNotConfiguredError extends Error {
|
|
|
17
17
|
* Build the single managed HTTP app mounted via `langgraph.json` `http.app`.
|
|
18
18
|
*
|
|
19
19
|
* It layers onto the built-in LangGraph routes:
|
|
20
|
-
* - **channels** — each channel mounts public
|
|
21
|
-
* and may register outbound messaging;
|
|
20
|
+
* - **channels** — each channel mounts a public direct or Trigger-backed
|
|
21
|
+
* Events route and may register outbound messaging;
|
|
22
22
|
* - **connectors** — each connector gets a sub-router namespaced under
|
|
23
23
|
* `/connectors/{name}`; `events` mounts connector Events (e.g. GitHub);
|
|
24
24
|
* `http` mounts additional secured/public routes.
|
|
@@ -91,13 +91,15 @@ function mountManagedCors(app) {
|
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
94
|
-
* Mount the
|
|
94
|
+
* Mount the public Events route selected by the channel transport.
|
|
95
95
|
*
|
|
96
|
-
* Ingress authenticates inside the handler
|
|
97
|
-
*
|
|
96
|
+
* Ingress authenticates inside the handler, so these routes stay public at the
|
|
97
|
+
* LangGraph auth layer.
|
|
98
98
|
*/
|
|
99
99
|
function mountChannelEvents(app, channel, name, mounted) {
|
|
100
|
-
const path =
|
|
100
|
+
const path = channel.transport === "trigger_server"
|
|
101
|
+
? `/v1/channels/${name}/events`
|
|
102
|
+
: `/channels/${name}/events`;
|
|
101
103
|
mounted.push({
|
|
102
104
|
connector: `channel:${name}`,
|
|
103
105
|
method: "post",
|
|
@@ -105,19 +107,65 @@ function mountChannelEvents(app, channel, name, mounted) {
|
|
|
105
107
|
secured: false,
|
|
106
108
|
absolute: true,
|
|
107
109
|
});
|
|
108
|
-
app.post(path,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
110
|
+
app.post(path, async (c) => {
|
|
111
|
+
try {
|
|
112
|
+
const rawBody = await readLimitedChannelBody(c.req.raw);
|
|
113
|
+
if (!rawBody) {
|
|
114
|
+
return c.text("Payload Too Large", 413);
|
|
115
|
+
}
|
|
116
|
+
return await channel.events({
|
|
117
|
+
name,
|
|
118
|
+
request: c.req.raw,
|
|
119
|
+
rawBody,
|
|
120
|
+
channel,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
logger.error(`POST ${path} failed (${logger.safeErrorLabel(error)})`);
|
|
125
|
+
return c.json({ error: "internal error" }, 500);
|
|
126
|
+
}
|
|
119
127
|
});
|
|
120
128
|
}
|
|
129
|
+
async function readLimitedChannelBody(request) {
|
|
130
|
+
const declaredLength = request.headers.get("content-length");
|
|
131
|
+
if (declaredLength !== null &&
|
|
132
|
+
/^\d+$/.test(declaredLength) &&
|
|
133
|
+
Number(declaredLength) > CHANNEL_EVENTS_MAX_BODY_BYTES) {
|
|
134
|
+
if (request.body) {
|
|
135
|
+
request.body.cancel().catch(() => undefined);
|
|
136
|
+
}
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
if (!request.body) {
|
|
140
|
+
return new Uint8Array();
|
|
141
|
+
}
|
|
142
|
+
const reader = request.body.getReader();
|
|
143
|
+
const chunks = [];
|
|
144
|
+
let size = 0;
|
|
145
|
+
try {
|
|
146
|
+
while (true) {
|
|
147
|
+
const { done, value } = await reader.read();
|
|
148
|
+
if (done)
|
|
149
|
+
break;
|
|
150
|
+
size += value.byteLength;
|
|
151
|
+
if (size > CHANNEL_EVENTS_MAX_BODY_BYTES) {
|
|
152
|
+
reader.cancel().catch(() => undefined);
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
chunks.push(value);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
finally {
|
|
159
|
+
reader.releaseLock();
|
|
160
|
+
}
|
|
161
|
+
const body = new Uint8Array(size);
|
|
162
|
+
let offset = 0;
|
|
163
|
+
for (const chunk of chunks) {
|
|
164
|
+
body.set(chunk, offset);
|
|
165
|
+
offset += chunk.byteLength;
|
|
166
|
+
}
|
|
167
|
+
return body;
|
|
168
|
+
}
|
|
121
169
|
/**
|
|
122
170
|
* Mount the conventional public Events route for a connector (e.g. GitHub).
|
|
123
171
|
*
|
|
@@ -234,17 +282,17 @@ function logConnectorSurface(mounted) {
|
|
|
234
282
|
if (mounted.length === 0) {
|
|
235
283
|
return;
|
|
236
284
|
}
|
|
237
|
-
|
|
285
|
+
logger.info(`managed HTTP surface (${mounted.length} route(s)):`);
|
|
238
286
|
for (const route of mounted) {
|
|
239
287
|
const full = route.absolute || route.connector.startsWith("identity:")
|
|
240
288
|
? route.path
|
|
241
289
|
: `/connectors/${route.connector}${route.path}`;
|
|
242
|
-
const line = `
|
|
290
|
+
const line = ` ${route.method.toUpperCase().padEnd(6)} ${full}`;
|
|
243
291
|
if (route.secured) {
|
|
244
|
-
|
|
292
|
+
logger.info(`${line} (identity enforced)`);
|
|
245
293
|
}
|
|
246
294
|
else {
|
|
247
|
-
|
|
295
|
+
logger.warn(`${line} (PUBLIC — no identity enforcement)`);
|
|
248
296
|
}
|
|
249
297
|
}
|
|
250
298
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-http.js","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"identity-http.js","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -48,7 +48,7 @@ export declare function compileManagedAgent(definition: DeepAgentDefinition, con
|
|
|
48
48
|
pattern: import("zod").ZodString;
|
|
49
49
|
path: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
50
50
|
glob: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>>;
|
|
51
|
-
max_count: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").
|
|
51
|
+
max_count: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>>>;
|
|
52
52
|
output_mode: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
53
53
|
content: "content";
|
|
54
54
|
count: "count";
|
|
@@ -64,7 +64,7 @@ export declare function compileManagedAgent(definition: DeepAgentDefinition, con
|
|
|
64
64
|
pattern: string;
|
|
65
65
|
path?: string | undefined;
|
|
66
66
|
glob?: string | null | undefined;
|
|
67
|
-
max_count?:
|
|
67
|
+
max_count?: unknown;
|
|
68
68
|
output_mode?: "content" | "count" | "files_with_matches" | undefined;
|
|
69
69
|
}, string | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "grep"> | import("langchain").DynamicStructuredTool<import("zod").ZodObject<{
|
|
70
70
|
command: import("zod").ZodString;
|
|
@@ -89,7 +89,7 @@ export declare function compileManagedAgent(definition: DeepAgentDefinition, con
|
|
|
89
89
|
data: string;
|
|
90
90
|
}[] | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "read_file"> | import("langchain").DynamicStructuredTool<import("zod").ZodPreprocess<import("zod").ZodObject<{
|
|
91
91
|
file_path: import("zod").ZodString;
|
|
92
|
-
content: import("zod").
|
|
92
|
+
content: import("zod").ZodString;
|
|
93
93
|
}, import("zod/v4/core").$strip>>, {
|
|
94
94
|
file_path: string;
|
|
95
95
|
content: string;
|
|
@@ -109,7 +109,14 @@ export declare function compileManagedAgent(definition: DeepAgentDefinition, con
|
|
|
109
109
|
}, unknown, string | import("@langchain/langgraph").Command<unknown, {
|
|
110
110
|
files: Record<string, import("deepagents").FileData>;
|
|
111
111
|
messages: import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>[];
|
|
112
|
-
}, string> | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "edit_file">
|
|
112
|
+
}, string> | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "edit_file"> | import("langchain").DynamicStructuredTool<import("zod").ZodPreprocess<import("zod").ZodObject<{
|
|
113
|
+
file_path: import("zod").ZodString;
|
|
114
|
+
}, import("zod/v4/core").$strip>>, {
|
|
115
|
+
file_path: string;
|
|
116
|
+
}, unknown, import("@langchain/langgraph").Command<unknown, {
|
|
117
|
+
files: Record<string, null>;
|
|
118
|
+
messages: import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>[];
|
|
119
|
+
}, string> | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "delete">)[], readonly []>, import("langchain").AgentMiddleware<undefined, undefined, unknown, readonly [import("langchain").DynamicStructuredTool<import("zod").ZodObject<{
|
|
113
120
|
description: import("zod").ZodString;
|
|
114
121
|
subagent_type: import("zod").ZodString;
|
|
115
122
|
}, import("zod/v4/core").$strip>, {
|
|
@@ -166,7 +173,7 @@ export declare function compileManagedAgentForEval(definition: DeepAgentDefiniti
|
|
|
166
173
|
pattern: import("zod").ZodString;
|
|
167
174
|
path: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
168
175
|
glob: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodString>>>;
|
|
169
|
-
max_count: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").
|
|
176
|
+
max_count: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>>>;
|
|
170
177
|
output_mode: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
171
178
|
content: "content";
|
|
172
179
|
count: "count";
|
|
@@ -182,7 +189,7 @@ export declare function compileManagedAgentForEval(definition: DeepAgentDefiniti
|
|
|
182
189
|
pattern: string;
|
|
183
190
|
path?: string | undefined;
|
|
184
191
|
glob?: string | null | undefined;
|
|
185
|
-
max_count?:
|
|
192
|
+
max_count?: unknown;
|
|
186
193
|
output_mode?: "content" | "count" | "files_with_matches" | undefined;
|
|
187
194
|
}, string | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "grep"> | import("langchain").DynamicStructuredTool<import("zod").ZodObject<{
|
|
188
195
|
command: import("zod").ZodString;
|
|
@@ -207,7 +214,7 @@ export declare function compileManagedAgentForEval(definition: DeepAgentDefiniti
|
|
|
207
214
|
data: string;
|
|
208
215
|
}[] | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "read_file"> | import("langchain").DynamicStructuredTool<import("zod").ZodPreprocess<import("zod").ZodObject<{
|
|
209
216
|
file_path: import("zod").ZodString;
|
|
210
|
-
content: import("zod").
|
|
217
|
+
content: import("zod").ZodString;
|
|
211
218
|
}, import("zod/v4/core").$strip>>, {
|
|
212
219
|
file_path: string;
|
|
213
220
|
content: string;
|
|
@@ -227,7 +234,14 @@ export declare function compileManagedAgentForEval(definition: DeepAgentDefiniti
|
|
|
227
234
|
}, unknown, string | import("@langchain/langgraph").Command<unknown, {
|
|
228
235
|
files: Record<string, import("deepagents").FileData>;
|
|
229
236
|
messages: import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>[];
|
|
230
|
-
}, string> | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "edit_file">
|
|
237
|
+
}, string> | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "edit_file"> | import("langchain").DynamicStructuredTool<import("zod").ZodPreprocess<import("zod").ZodObject<{
|
|
238
|
+
file_path: import("zod").ZodString;
|
|
239
|
+
}, import("zod/v4/core").$strip>>, {
|
|
240
|
+
file_path: string;
|
|
241
|
+
}, unknown, import("@langchain/langgraph").Command<unknown, {
|
|
242
|
+
files: Record<string, null>;
|
|
243
|
+
messages: import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>[];
|
|
244
|
+
}, string> | import("langchain").ToolMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>>, unknown, "delete">)[], readonly []>, import("langchain").AgentMiddleware<undefined, undefined, unknown, readonly [import("langchain").DynamicStructuredTool<import("zod").ZodObject<{
|
|
231
245
|
description: import("zod").ZodString;
|
|
232
246
|
subagent_type: import("zod").ZodString;
|
|
233
247
|
}, import("zod/v4/core").$strip>, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA8BvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAExE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EACL,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIzD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,mBAAmB,EAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2YAqJ9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,mBAAmB,EACnB,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CACnD;IACC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,mBAAmB,EAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2YAsB7B"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import { ContextHubBackend, FilesystemBackend, createDeepAgent, } from "deepagen
|
|
|
2
2
|
import { LazyManagedSandboxBackend } from "./backend.js";
|
|
3
3
|
import { loadConnectorTools } from "./connector.js";
|
|
4
4
|
import { createScheduleDeliveryMiddleware } from "../channels/schedule-delivery.js";
|
|
5
|
+
import { createChannelResponseFormatMiddleware } from "../channels/response-format.js";
|
|
5
6
|
import { wrapMiddlewareWithManagedRuntime, } from "./managed-middleware.js";
|
|
6
7
|
import { wrapToolsWithManagedRuntime, } from "./managed-tools.js";
|
|
7
8
|
import { createMemoryInstructionsMiddleware, hasAgentMemorySlice, hotMemoryPaths, } from "../memory/index.js";
|
|
@@ -29,7 +30,7 @@ export { withManagedMiddleware, wrapMiddlewareWithManagedRuntime, } from "./mana
|
|
|
29
30
|
* generated entry module; agent authors never call it.
|
|
30
31
|
*/
|
|
31
32
|
export async function compileManagedAgent(definition, config, options) {
|
|
32
|
-
const { contextRoot, contextRepo, systemPrompt, hasSkills = false, sandbox,
|
|
33
|
+
const { contextRoot, contextRepo, systemPrompt, hasSkills = false, sandbox, connectors,
|
|
33
34
|
// `channels` is accepted on the options bag so the generated entry can pass
|
|
34
35
|
// one object, but mounting is owned by the managed HTTP app — leave it on
|
|
35
36
|
// `options` unused here.
|
|
@@ -59,7 +60,6 @@ export async function compileManagedAgent(definition, config, options) {
|
|
|
59
60
|
const sandboxBackend = sandbox
|
|
60
61
|
? LazyManagedSandboxBackend.create({
|
|
61
62
|
sandbox,
|
|
62
|
-
setupScript,
|
|
63
63
|
runConfig: config,
|
|
64
64
|
connectors,
|
|
65
65
|
identity,
|
|
@@ -136,6 +136,7 @@ export async function compileManagedAgent(definition, config, options) {
|
|
|
136
136
|
params.middleware = [
|
|
137
137
|
createScheduleDeliveryMiddleware(),
|
|
138
138
|
...wrappedAuthored,
|
|
139
|
+
createChannelResponseFormatMiddleware(),
|
|
139
140
|
...(mountsMemory ? [createMemoryInstructionsMiddleware()] : []),
|
|
140
141
|
];
|
|
141
142
|
// Author `metadata` is not a createDeepAgent param — apply it on the compiled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAEL,gCAAgC,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,0EAA0E;AAC1E,gFAAgF;AAChF,wBAAwB;AACxB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAA+B,EAC/B,MAAyB,EACzB,OAA6B;IAE7B,MAAM,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,GAAG,KAAK,EACjB,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe, consistently namespaced runtime logging.
|
|
3
|
+
*
|
|
4
|
+
* Inbound channel payloads are user-controlled, and upstream SDKs fold response
|
|
5
|
+
* bodies into `error.message` — so a diagnostic log must name the failure
|
|
6
|
+
* without reproducing whatever produced it.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Runtime logger with an intentionally narrow, message-only API.
|
|
10
|
+
*
|
|
11
|
+
* Reduce unknown values through {@link logger.safeErrorLabel} and
|
|
12
|
+
* {@link logger.logIdentifier} before interpolating them. Raw objects and
|
|
13
|
+
* exceptions stay out of this interface to prevent payload or credential
|
|
14
|
+
* disclosure.
|
|
15
|
+
*/
|
|
16
|
+
export declare const logger: Readonly<{
|
|
17
|
+
info(message: string): void;
|
|
18
|
+
warn(message: string): void;
|
|
19
|
+
error(message: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Describe an error for a log line using only its type and HTTP status.
|
|
22
|
+
*
|
|
23
|
+
* Never includes `error.message`: the LangGraph SDK builds it from the Agent
|
|
24
|
+
* Server's full response body, which can echo message content back.
|
|
25
|
+
*
|
|
26
|
+
* @param error - The error to describe.
|
|
27
|
+
* @returns A safe error label.
|
|
28
|
+
*/
|
|
29
|
+
safeErrorLabel(error: unknown): string;
|
|
30
|
+
/**
|
|
31
|
+
* Sanitize and bound an untrusted identifier before interpolating it.
|
|
32
|
+
*
|
|
33
|
+
* @param value - The identifier to sanitize.
|
|
34
|
+
* @returns A safe identifier.
|
|
35
|
+
*/
|
|
36
|
+
logIdentifier(value: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Align with Python `str.isprintable()` so Unicode controls cannot split lines.
|
|
39
|
+
*
|
|
40
|
+
* @param character - The character to check.
|
|
41
|
+
* @returns True if the character is printable, false otherwise.
|
|
42
|
+
*/
|
|
43
|
+
isLogPrintable(character: string): boolean;
|
|
44
|
+
}>;
|
|
45
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/runtime/log.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM;kBACH,MAAM,GAAG,IAAI;kBAGb,MAAM,GAAG,IAAI;mBAGZ,MAAM,GAAG,IAAI;IAG5B;;;;;;;;OAQG;0BACmB,OAAO,GAAG,MAAM;IAetC;;;;;OAKG;yBACkB,MAAM,GAAG,MAAM;IAQpC;;;;;OAKG;8BACuB,MAAM,GAAG,OAAO;EAI1C,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe, consistently namespaced runtime logging.
|
|
3
|
+
*
|
|
4
|
+
* Inbound channel payloads are user-controlled, and upstream SDKs fold response
|
|
5
|
+
* bodies into `error.message` — so a diagnostic log must name the failure
|
|
6
|
+
* without reproducing whatever produced it.
|
|
7
|
+
*/
|
|
8
|
+
const LOG_PREFIX = "[mda]";
|
|
9
|
+
/**
|
|
10
|
+
* Runtime logger with an intentionally narrow, message-only API.
|
|
11
|
+
*
|
|
12
|
+
* Reduce unknown values through {@link logger.safeErrorLabel} and
|
|
13
|
+
* {@link logger.logIdentifier} before interpolating them. Raw objects and
|
|
14
|
+
* exceptions stay out of this interface to prevent payload or credential
|
|
15
|
+
* disclosure.
|
|
16
|
+
*/
|
|
17
|
+
export const logger = Object.freeze({
|
|
18
|
+
info(message) {
|
|
19
|
+
console.info(`${LOG_PREFIX} ${message}`);
|
|
20
|
+
},
|
|
21
|
+
warn(message) {
|
|
22
|
+
console.warn(`${LOG_PREFIX} ${message}`);
|
|
23
|
+
},
|
|
24
|
+
error(message) {
|
|
25
|
+
console.error(`${LOG_PREFIX} ${message}`);
|
|
26
|
+
},
|
|
27
|
+
/**
|
|
28
|
+
* Describe an error for a log line using only its type and HTTP status.
|
|
29
|
+
*
|
|
30
|
+
* Never includes `error.message`: the LangGraph SDK builds it from the Agent
|
|
31
|
+
* Server's full response body, which can echo message content back.
|
|
32
|
+
*
|
|
33
|
+
* @param error - The error to describe.
|
|
34
|
+
* @returns A safe error label.
|
|
35
|
+
*/
|
|
36
|
+
safeErrorLabel(error) {
|
|
37
|
+
if (!(error instanceof Error)) {
|
|
38
|
+
return typeof error;
|
|
39
|
+
}
|
|
40
|
+
const status = error.status;
|
|
41
|
+
if (typeof status === "number" &&
|
|
42
|
+
Number.isInteger(status) &&
|
|
43
|
+
status >= 100 &&
|
|
44
|
+
status <= 599) {
|
|
45
|
+
return `${error.name} HTTP ${status}`;
|
|
46
|
+
}
|
|
47
|
+
return error.name;
|
|
48
|
+
},
|
|
49
|
+
/**
|
|
50
|
+
* Sanitize and bound an untrusted identifier before interpolating it.
|
|
51
|
+
*
|
|
52
|
+
* @param value - The identifier to sanitize.
|
|
53
|
+
* @returns A safe identifier.
|
|
54
|
+
*/
|
|
55
|
+
logIdentifier(value) {
|
|
56
|
+
const printable = [...value]
|
|
57
|
+
.map((character) => (logger.isLogPrintable(character) ? character : "?"))
|
|
58
|
+
.join("");
|
|
59
|
+
return printable.length <= 128
|
|
60
|
+
? printable
|
|
61
|
+
: `${printable.slice(0, 125)}...`;
|
|
62
|
+
},
|
|
63
|
+
/**
|
|
64
|
+
* Align with Python `str.isprintable()` so Unicode controls cannot split lines.
|
|
65
|
+
*
|
|
66
|
+
* @param character - The character to check.
|
|
67
|
+
* @returns True if the character is printable, false otherwise.
|
|
68
|
+
*/
|
|
69
|
+
isLogPrintable(character) {
|
|
70
|
+
if (character === " ")
|
|
71
|
+
return true;
|
|
72
|
+
return !/^[\p{C}\p{Zl}\p{Zp}\p{Zs}]$/u.test(character);
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/runtime/log.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,UAAU,GAAG,OAAO,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD;;;;;;;;OAQG;IACH,cAAc,CAAC,KAAc;QAC3B,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,OAAO,KAAK,CAAC;QACtB,CAAC;QACD,MAAM,MAAM,GAAI,KAAsC,CAAC,MAAM,CAAC;QAC9D,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YACxB,MAAM,IAAI,GAAG;YACb,MAAM,IAAI,GAAG,EACb,CAAC;YACD,OAAO,GAAG,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IACD;;;;;OAKG;IACH,aAAa,CAAC,KAAa;QACzB,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC;aACzB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACxE,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,SAAS,CAAC,MAAM,IAAI,GAAG;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;IACtC,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,SAAiB;QAC9B,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,39 +1,40 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type SandboxBackendProtocolV2 } from "deepagents";
|
|
2
2
|
import type { IdentityDefinition } from "../identity/index.js";
|
|
3
3
|
import type { SandboxDefinition } from "../sandbox.js";
|
|
4
4
|
import { type Connector } from "./connector.js";
|
|
5
5
|
import type { ManagedRunConfig } from "./types.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
/** Deployment secret naming the recipe snapshot baked at `mda deploy`. */
|
|
7
|
+
export declare const RECIPE_SNAPSHOT_ENV = "MDA_SANDBOX_RECIPE_SNAPSHOT";
|
|
8
|
+
/**
|
|
9
|
+
* Env var naming the workspace the CLI baked the recipe snapshot into.
|
|
10
|
+
*
|
|
11
|
+
* `mda deploy` sets it on the deployment and `mda dev` stages it into the local
|
|
12
|
+
* `.env`. Sandboxes and snapshots are workspace-scoped, so the runtime must
|
|
13
|
+
* send it too — an API key whose default workspace differs from this one
|
|
14
|
+
* resolves `snapshotName` in the wrong workspace and 404s on the recipe.
|
|
15
|
+
*/
|
|
16
|
+
export declare const WORKSPACE_ID_ENV = "LANGSMITH_WORKSPACE_ID";
|
|
16
17
|
/** Optional runtime inputs that drive connector sandbox provisioning. */
|
|
17
18
|
export interface ResolveManagedSandboxOptions {
|
|
18
19
|
connectors?: Connector[];
|
|
19
20
|
identity?: IdentityDefinition;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
|
-
* Resolve (and cache) the
|
|
23
|
-
*
|
|
23
|
+
* Resolve (and cache) the per-thread LangSmith sandbox backend for this run.
|
|
24
|
+
* When deploy baked a recipe, new sandboxes clone it; otherwise Host supplies
|
|
25
|
+
* its default image.
|
|
24
26
|
*
|
|
25
27
|
* Connectors that implement {@link Connector.sandbox} run on create, when a
|
|
26
28
|
* new thread starts against a reused sandbox (mode `"reuse"`), and on later
|
|
27
29
|
* messages in an already-synced thread (mode `"credentials"`).
|
|
28
30
|
*/
|
|
29
|
-
export declare function resolveManagedSandbox(sandbox: SandboxDefinition,
|
|
30
|
-
/** Derive the process-level reuse key
|
|
31
|
-
export declare function sandboxScopeKey(
|
|
31
|
+
export declare function resolveManagedSandbox(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined, options?: ResolveManagedSandboxOptions): Promise<SandboxBackendProtocolV2>;
|
|
32
|
+
/** Derive the process-level reuse key (always one sandbox per thread). */
|
|
33
|
+
export declare function sandboxScopeKey(config: ManagedRunConfig | undefined): string;
|
|
32
34
|
/** Clear the process-level sandbox cache. Test-only. */
|
|
33
35
|
export declare function clearManagedSandboxCacheForTests(): void;
|
|
34
36
|
/** Options that pin invalidation to the sandbox that actually failed. */
|
|
35
37
|
export interface InvalidateManagedSandboxOptions {
|
|
36
|
-
setupScript?: string;
|
|
37
38
|
/** Backend id captured before the failing operation. */
|
|
38
39
|
expectedBackendId?: string;
|
|
39
40
|
/** Host box name captured before the failing operation. */
|
|
@@ -43,7 +44,7 @@ export interface InvalidateManagedSandboxOptions {
|
|
|
43
44
|
* Drop a cached sandbox and delete its Host box so recreate cannot adopt it.
|
|
44
45
|
*
|
|
45
46
|
* Process-cache clear alone is not enough under deploy: names are deterministic
|
|
46
|
-
* per
|
|
47
|
+
* per thread, so the next resolve would re-adopt the same broken box. Mark the
|
|
47
48
|
* name blocked (delete can lag) and best-effort `deleteSandbox`.
|
|
48
49
|
*
|
|
49
50
|
* When `expectedBackendId` / `expectedHostName` are set, only pop the cache
|
|
@@ -51,18 +52,11 @@ export interface InvalidateManagedSandboxOptions {
|
|
|
51
52
|
* already have replaced it — deleting the replacement would strand the healthy
|
|
52
53
|
* recreate.
|
|
53
54
|
*/
|
|
54
|
-
export declare function invalidateManagedSandbox(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined,
|
|
55
|
+
export declare function invalidateManagedSandbox(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined, options?: InvalidateManagedSandboxOptions): Promise<void>;
|
|
55
56
|
/** Host box name recorded for a resolved backend instance. */
|
|
56
57
|
export declare function managedSandboxHostName(backend: object): string | undefined;
|
|
57
58
|
/** True when a sandbox API error is worth invalidating + recreating once. */
|
|
58
59
|
export declare function isTransientSandboxError(error: unknown): boolean;
|
|
59
|
-
/** Override the LangSmith SDK loader. Test-only. */
|
|
60
|
-
export declare function setLangSmithSandboxClientLoaderForTests(loader?: LangSmithSandboxClientLoader): void;
|
|
61
|
-
/** Override the DeepAgents LangSmith backend wrapper. Test-only. */
|
|
62
|
-
export declare function setLangSmithSandboxBackendForTests(backend?: new (options: {
|
|
63
|
-
sandbox: unknown;
|
|
64
|
-
defaultTimeout?: number;
|
|
65
|
-
}) => object): void;
|
|
66
60
|
/**
|
|
67
61
|
* Deployment this runtime belongs to, used to name the sandboxes it creates so
|
|
68
62
|
* `mda delete` can find them again.
|
|
@@ -72,27 +66,29 @@ export declare function setLangSmithSandboxBackendForTests(backend?: new (option
|
|
|
72
66
|
* local `mda dev`, where sandboxes stay unnamed and LangSmith generates a name.
|
|
73
67
|
*/
|
|
74
68
|
export declare function managedDeploymentName(): string | undefined;
|
|
75
|
-
/** How a sandbox was provisioned, beyond the scope it serves. */
|
|
76
|
-
export interface SandboxProvisioning {
|
|
77
|
-
/** Options handed to `createSandbox` (snapshot, sizing, TTLs). */
|
|
78
|
-
createOptions?: Record<string, unknown>;
|
|
79
|
-
/** Contents of the project's `setup.sh`, if it has one. */
|
|
80
|
-
setupScript?: string;
|
|
81
|
-
}
|
|
82
69
|
/**
|
|
83
|
-
* Deterministic sandbox name for a deployment
|
|
84
|
-
* recipe.
|
|
70
|
+
* Deterministic sandbox name for a deployment and thread.
|
|
85
71
|
*
|
|
86
|
-
* The
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
72
|
+
* The thread key is digested rather than embedded so names stay short and
|
|
73
|
+
* stable across container restarts. Recipe (`setup.sh` / bake base) changes do
|
|
74
|
+
* **not** rename live boxes — new threads clone the new recipe; live threads
|
|
75
|
+
* keep `/workspace` until idle reclaim.
|
|
76
|
+
*/
|
|
77
|
+
export declare function managedSandboxName(deployment: string, scopeKey: string): string;
|
|
78
|
+
/**
|
|
79
|
+
* Options for `createSandbox`. Thread boxes clone the deploy-baked recipe when
|
|
80
|
+
* present; author `snapshotName` / `snapshotId` / `dockerImage` are bake bases
|
|
81
|
+
* only and are not passed here.
|
|
82
|
+
*/
|
|
83
|
+
export declare function sandboxCreateOptions(sandbox: SandboxDefinition): Record<string, unknown>;
|
|
84
|
+
/**
|
|
85
|
+
* Constructor options for the LangSmith sandbox client.
|
|
90
86
|
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* without this a redeploy would silently leave existing threads on the old
|
|
94
|
-
* environment.
|
|
87
|
+
* Both the API key and the workspace scope come from the environment `mda`
|
|
88
|
+
* wrote, so every sandbox call lands in the workspace holding the baked recipe.
|
|
95
89
|
*/
|
|
96
|
-
export declare function
|
|
97
|
-
|
|
90
|
+
export declare function sandboxClientOptions(sandbox: SandboxDefinition): {
|
|
91
|
+
apiKey?: string;
|
|
92
|
+
headers?: Record<string, string>;
|
|
93
|
+
} | undefined;
|
|
98
94
|
//# sourceMappingURL=sandbox-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,gCAAgC,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAuEzD,yEAAyE;AACzE,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,wBAAwB,CAAC,CAwEnC;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAE5E;AAED,wDAAwD;AACxD,wBAAgB,gCAAgC,IAAI,IAAI,CAGvD;AAED,yEAAyE;AACzE,MAAM,WAAW,+BAA+B;IAC9C,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,IAAI,CAAC,CAiEf;AAED,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1E;AA+BD,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAe/D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,SAAS,CAK1D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR;AAkED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,iBAAiB,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBzB;AAYD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,iBAAiB,GACzB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,SAAS,CAYnE"}
|