managed-deepagents 0.0.3-dev.25 → 0.0.3-dev.26

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.
@@ -1,7 +1,6 @@
1
1
  import type { DeepAgentDefinition } from "../types.js";
2
2
  import type { ManagedAgentOptions, ManagedRunConfig } from "./types.js";
3
3
  export type { ManagedAgentOptions, ManagedRunConfig } from "./types.js";
4
- export { announceSandboxPlan } from "./sandbox-manager.js";
5
4
  /**
6
5
  * Compile a {@link DeepAgentDefinition} into a runnable Deep Agent.
7
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,mBAAmB,EAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2YA4D9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA4HxE;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,mBAAmB,EAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2YA4D9B"}
@@ -1,7 +1,69 @@
1
1
  import { CompositeBackend, ContextHubBackend, StateBackend, createDeepAgent, } from "deepagents";
2
2
  import { loadManagedMcpTools } from "./connectors-manager.js";
3
3
  import { resolveManagedSandbox } from "./sandbox-manager.js";
4
- export { announceSandboxPlan } from "./sandbox-manager.js";
4
+ class LazyManagedSandboxBackend {
5
+ sandbox;
6
+ setupScript;
7
+ runConfig;
8
+ pendingBackend;
9
+ resolvedBackend;
10
+ constructor(sandbox, setupScript, runConfig) {
11
+ this.sandbox = sandbox;
12
+ this.setupScript = setupScript;
13
+ this.runConfig = runConfig;
14
+ }
15
+ get id() {
16
+ return this.resolvedBackend?.id;
17
+ }
18
+ async ls(path = "/") {
19
+ return (await this.backend()).ls?.(path);
20
+ }
21
+ async read(filePath, offset, limit) {
22
+ return (await this.backend()).read?.(filePath, offset, limit);
23
+ }
24
+ async readRaw(filePath) {
25
+ return (await this.backend()).readRaw?.(filePath);
26
+ }
27
+ async grep(pattern, path, glob) {
28
+ return (await this.backend()).grep?.(pattern, path, glob);
29
+ }
30
+ async glob(pattern, path) {
31
+ return (await this.backend()).glob?.(pattern, path);
32
+ }
33
+ async write(filePath, content) {
34
+ return (await this.backend()).write?.(filePath, content);
35
+ }
36
+ async edit(filePath, oldString, newString, replaceAll = false) {
37
+ return (await this.backend()).edit?.(filePath, oldString, newString, replaceAll);
38
+ }
39
+ async delete(filePath) {
40
+ return (await this.backend()).delete?.(filePath);
41
+ }
42
+ async uploadFiles(files) {
43
+ return (await this.backend()).uploadFiles?.(files);
44
+ }
45
+ async downloadFiles(paths) {
46
+ return (await this.backend()).downloadFiles?.(paths);
47
+ }
48
+ async execute(command, options) {
49
+ const backend = await this.backend();
50
+ return options
51
+ ? backend.execute(command, options)
52
+ : backend.execute(command);
53
+ }
54
+ backend() {
55
+ if (!this.pendingBackend) {
56
+ this.pendingBackend = resolveManagedSandbox(this.sandbox, this.setupScript, this.runConfig).then((backend) => {
57
+ this.resolvedBackend = backend;
58
+ return this.resolvedBackend;
59
+ }, (error) => {
60
+ this.pendingBackend = undefined;
61
+ throw error;
62
+ });
63
+ }
64
+ return this.pendingBackend;
65
+ }
66
+ }
5
67
  /**
6
68
  * Compile a {@link DeepAgentDefinition} into a runnable Deep Agent.
7
69
  *
@@ -26,7 +88,7 @@ export async function compileManagedAgent(definition, config, options) {
26
88
  ? loadManagedMcpTools(connectors)
27
89
  : undefined;
28
90
  const sandboxBackend = sandbox
29
- ? managedSandboxBackend(sandbox, setupScript, config)
91
+ ? new LazyManagedSandboxBackend(sandbox, setupScript, config)
30
92
  : undefined;
31
93
  if (contextRepo) {
32
94
  const contextBackend = new ContextHubBackend(contextRepo);
@@ -202,72 +264,6 @@ class MountedPathBackend {
202
264
  }
203
265
  }
204
266
  }
205
- class LazyManagedSandboxBackend {
206
- sandbox;
207
- setupScript;
208
- graphConfig;
209
- pendingBackend;
210
- resolvedBackend;
211
- constructor(sandbox, setupScript, graphConfig) {
212
- this.sandbox = sandbox;
213
- this.setupScript = setupScript;
214
- this.graphConfig = graphConfig;
215
- }
216
- get id() {
217
- return this.resolvedBackend?.id;
218
- }
219
- async ls(path = "/") {
220
- return (await this.backend()).ls?.(path);
221
- }
222
- async read(filePath, offset, limit) {
223
- return (await this.backend()).read?.(filePath, offset, limit);
224
- }
225
- async readRaw(filePath) {
226
- return (await this.backend()).readRaw?.(filePath);
227
- }
228
- async grep(pattern, path, glob) {
229
- return (await this.backend()).grep?.(pattern, path, glob);
230
- }
231
- async glob(pattern, path) {
232
- return (await this.backend()).glob?.(pattern, path);
233
- }
234
- async write(filePath, content) {
235
- return (await this.backend()).write?.(filePath, content);
236
- }
237
- async edit(filePath, oldString, newString, replaceAll = false) {
238
- return (await this.backend()).edit?.(filePath, oldString, newString, replaceAll);
239
- }
240
- async delete(filePath) {
241
- return (await this.backend()).delete?.(filePath);
242
- }
243
- async uploadFiles(files) {
244
- return (await this.backend()).uploadFiles?.(files);
245
- }
246
- async downloadFiles(paths) {
247
- return (await this.backend()).downloadFiles?.(paths);
248
- }
249
- async execute(command, options) {
250
- const backend = await this.backend();
251
- return options
252
- ? backend.execute(command, options)
253
- : backend.execute(command);
254
- }
255
- backend() {
256
- if (!this.pendingBackend) {
257
- this.pendingBackend = resolveManagedSandbox(this.sandbox, this.setupScript, this.graphConfig).then((backend) => {
258
- this.resolvedBackend = backend;
259
- return this.resolvedBackend;
260
- }, (error) => {
261
- this.pendingBackend = undefined;
262
- throw error;
263
- });
264
- }
265
- return this.pendingBackend;
266
- }
267
- }
268
- function managedSandboxBackend(sandbox, setupScript, graphConfig) {
269
- return new LazyManagedSandboxBackend(sandbox, setupScript, graphConfig);
270
- }
271
267
  function managedContextRoutes(contextBackend) {
272
268
  return {
273
269
  "/instructions.md": MountedPathBackend.file(contextBackend, "instructions.md", "/instructions.md"),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
@@ -8,33 +8,15 @@ type LangSmithSandboxClientLoader = () => Promise<{
8
8
  };
9
9
  }>;
10
10
  /**
11
- * Resolve (and cache) the scoped sandbox backend for this run, provisioning it
12
- * with `setup.sh` the first time it is created.
11
+ * Resolve (and cache) the scoped LangSmith sandbox backend for this run,
12
+ * provisioning it with `setup.sh` the first time it is created.
13
13
  */
14
14
  export declare function resolveManagedSandbox(sandbox: SandboxDefinition, setupScript: string | undefined, config: ManagedRunConfig | undefined): Promise<ManagedSandboxBackend>;
15
- /**
16
- * Derive the reuse key from the run. Without runtime identity, sandboxes are
17
- * keyed by thread; with identity, by the configured tenant/actor scope.
18
- */
15
+ /** Derive the process-level reuse key from the configured sandbox scope. */
19
16
  export declare function sandboxScopeKey(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined): string;
20
17
  /** Clear the process-level sandbox cache. Test-only. */
21
18
  export declare function clearManagedSandboxCacheForTests(): void;
22
19
  /** Override the LangSmith SDK loader. Test-only. */
23
20
  export declare function setLangSmithSandboxClientLoaderForTests(loader?: LangSmithSandboxClientLoader): void;
24
- /**
25
- * Eagerly resolve the `mda dev` sandbox at startup so the developer sees the
26
- * definitive decision — local vs. the configured provider, and the temp dir
27
- * path when local — right when the dev server boots, not on the first run.
28
- *
29
- * Sandboxes are otherwise created lazily (on first run), so with `--browser`
30
- * off nothing would print until the agent is invoked. The generated entry
31
- * calls this at module load (graph registration); because dev shares one
32
- * sandbox ({@link DEV_SANDBOX_SCOPE_KEY}), the first real run reuses what is
33
- * created here rather than provisioning a second sandbox. The authoritative
34
- * "created" log (with the temp dir) is emitted by {@link createDevSandbox}.
35
- *
36
- * No-op outside `mda dev`, so the generated entry can always call it.
37
- */
38
- export declare function announceSandboxPlan(sandbox: SandboxDefinition, setupScript?: string): Promise<void>;
39
21
  export {};
40
22
  //# 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":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AASvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAoB1E,KAAK,4BAA4B,GAAG,MAAM,OAAO,CAAC;IAChD,aAAa,EAAE,KAAK,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK;QACpD,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACpE,CAAC;CACH,CAAC,CAAC;AAeH;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAchC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,MAAM,CAoBR;AAED,wDAAwD;AACxD,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,oDAAoD;AACpD,wBAAgB,uCAAuC,CACrD,MAAM,CAAC,EAAE,4BAA4B,GACpC,IAAI,CAEN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,iBAAiB,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf"}
1
+ {"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAS1E,KAAK,4BAA4B,GAAG,MAAM,OAAO,CAAC;IAChD,aAAa,EAAE,KAAK,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK;QACpD,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACpE,CAAC;CACH,CAAC,CAAC;AAeH;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAYhC;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,MAAM,CAMR;AAED,wDAAwD;AACxD,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,oDAAoD;AACpD,wBAAgB,uCAAuC,CACrD,MAAM,CAAC,EAAE,4BAA4B,GACpC,IAAI,CAEN"}
@@ -1,40 +1,25 @@
1
- import { isDevMode, providerCredentialStatus, providerKey, } from "./credentials.js";
2
- import { logDevSandboxNoticeOnce } from "./dev-notice.js";
3
- import { createLocalDevSandbox } from "./local-dev-sandbox.js";
4
- import { runSetupScript, runSetupScriptInline } from "./setup-script.js";
1
+ import { runSetupScript } from "./setup-script.js";
5
2
  /**
6
3
  * Created sandboxes, keyed by scope, reused for the lifetime of this runtime
7
4
  * process. Storing the in-flight promise dedupes concurrent runs and guarantees
8
5
  * `setup.sh` is executed only once per newly created sandbox.
9
6
  */
10
7
  const managedSandboxes = new Map();
11
- /**
12
- * Cache key for the single, process-wide sandbox used under `mda dev`.
13
- *
14
- * Deploys key sandboxes per scope (thread/tenant/actor) for isolation. Dev is a
15
- * single developer iterating locally, so it shares one sandbox across every
16
- * thread: that lets `announceSandboxPlan` create it eagerly at startup (to
17
- * report local-vs-remote and the temp dir up front) and have the first real run
18
- * reuse it instead of provisioning a second one.
19
- */
20
- const DEV_SANDBOX_SCOPE_KEY = "__mda_dev__";
21
8
  const defaultLangSmithSandboxClientLoader = async () => {
22
9
  const dynamicImport = new Function("specifier", "return import(specifier)");
23
10
  return (await dynamicImport("langsmith/sandbox"));
24
11
  };
25
12
  let langSmithSandboxClientLoader = defaultLangSmithSandboxClientLoader;
26
13
  /**
27
- * Resolve (and cache) the scoped sandbox backend for this run, provisioning it
28
- * with `setup.sh` the first time it is created.
14
+ * Resolve (and cache) the scoped LangSmith sandbox backend for this run,
15
+ * provisioning it with `setup.sh` the first time it is created.
29
16
  */
30
17
  export function resolveManagedSandbox(sandbox, setupScript, config) {
31
- const key = isDevMode()
32
- ? DEV_SANDBOX_SCOPE_KEY
33
- : sandboxScopeKey(sandbox, config);
18
+ const key = sandboxScopeKey(sandbox, config);
34
19
  let pending = managedSandboxes.get(key);
35
20
  if (!pending) {
36
- pending = createManagedSandbox(sandbox, setupScript).catch((error) => {
37
- // Don't cache a failed provisioning attempt let the next run retry.
21
+ pending = createLangSmithSandbox(sandbox, setupScript).catch((error) => {
22
+ // Don't cache a failed provisioning attempt. Let the next run retry.
38
23
  managedSandboxes.delete(key);
39
24
  throw error;
40
25
  });
@@ -42,26 +27,13 @@ export function resolveManagedSandbox(sandbox, setupScript, config) {
42
27
  }
43
28
  return pending;
44
29
  }
45
- /**
46
- * Derive the reuse key from the run. Without runtime identity, sandboxes are
47
- * keyed by thread; with identity, by the configured tenant/actor scope.
48
- */
30
+ /** Derive the process-level reuse key from the configured sandbox scope. */
49
31
  export function sandboxScopeKey(sandbox, config) {
50
- const configurable = (config?.configurable ?? {});
51
- const identity = configurable.identity;
52
32
  const scope = sandbox.options?.scope ?? "thread";
53
- let key;
54
- if (scope === "tenant")
55
- key = identity?.tenant?.id;
56
- else if (scope === "actor")
57
- key = identity?.actor?.id;
58
- else
59
- key = configurable.thread_id;
60
- return (key ??
61
- identity?.tenant?.id ??
62
- identity?.actor?.id ??
63
- configurable.thread_id ??
64
- "default");
33
+ if (scope === "agent") {
34
+ return `agent:${assistantIdFromConfig(config)}`;
35
+ }
36
+ return `thread:${threadIdFromConfig(config)}`;
65
37
  }
66
38
  /** Clear the process-level sandbox cache. Test-only. */
67
39
  export function clearManagedSandboxCacheForTests() {
@@ -71,93 +43,16 @@ export function clearManagedSandboxCacheForTests() {
71
43
  export function setLangSmithSandboxClientLoaderForTests(loader) {
72
44
  langSmithSandboxClientLoader = loader ?? defaultLangSmithSandboxClientLoader;
73
45
  }
74
- /**
75
- * Eagerly resolve the `mda dev` sandbox at startup so the developer sees the
76
- * definitive decision local vs. the configured provider, and the temp dir
77
- * path when local — right when the dev server boots, not on the first run.
78
- *
79
- * Sandboxes are otherwise created lazily (on first run), so with `--browser`
80
- * off nothing would print until the agent is invoked. The generated entry
81
- * calls this at module load (graph registration); because dev shares one
82
- * sandbox ({@link DEV_SANDBOX_SCOPE_KEY}), the first real run reuses what is
83
- * created here rather than provisioning a second sandbox. The authoritative
84
- * "created" log (with the temp dir) is emitted by {@link createDevSandbox}.
85
- *
86
- * No-op outside `mda dev`, so the generated entry can always call it.
87
- */
88
- export async function announceSandboxPlan(sandbox, setupScript) {
89
- if (!isDevMode())
90
- return;
91
- await resolveManagedSandbox(sandbox, setupScript, undefined);
92
- }
93
- function createManagedSandbox(sandbox, setupScript) {
94
- // `mda dev` never provisions a real provider sandbox the same way a deploy
95
- // does (it builds no snapshot/image), so it gets its own resolution path with
96
- // a local fallback. The flag gating ensures a real deployment can never be
97
- // silently downgraded to local shell execution.
98
- return isDevMode()
99
- ? createDevSandbox(sandbox, setupScript)
100
- : createProviderSandbox(sandbox, setupScript, {
101
- useDefaultLangSmithRuntime: true,
102
- });
103
- }
104
- /**
105
- * Production path: construct the configured provider's sandbox and provision it.
106
- * Any failure propagates — a misconfigured deployment must surface, not degrade.
107
- */
108
- async function createProviderSandbox(sandbox, setupScript, options) {
109
- const backend = await createProviderBackend(sandbox, options);
110
- if (setupScript && setupScript.trim().length > 0) {
111
- await runSetupScript(backend, setupScript);
112
- }
113
- return backend;
114
- }
115
- /**
116
- * Dev path: prefer the configured provider when its credentials are present,
117
- * but fall back to a local temp-directory sandbox when credentials are missing
118
- * *or* the provider cannot be created (e.g. `LangSmithSandbox`, which needs a
119
- * snapshot that only `mda deploy` builds). This keeps `mda dev` working offline
120
- * and resilient to provider/config gaps while still exercising real providers
121
- * that can spin up from an API key alone.
122
- */
123
- async function createDevSandbox(sandbox, setupScript) {
124
- const cred = providerCredentialStatus(sandbox.provider);
125
- if (cred.status !== "missing") {
126
- try {
127
- const backend = await createProviderSandbox(sandbox, setupScript, {
128
- useDefaultLangSmithRuntime: false,
129
- });
130
- logDevSandboxNoticeOnce(cred.status === "available"
131
- ? `[mda dev] using the configured ${cred.provider} sandbox.`
132
- : `[mda dev] using the configured sandbox provider (${cred.provider}).`);
133
- return backend;
134
- }
135
- catch (error) {
136
- return createLocalSandbox(setupScript, `the configured ${cred.provider} sandbox could not be created ` +
137
- `(${errorMessage(error)}); using a local temporary directory instead`);
138
- }
46
+ async function createLangSmithSandbox(sandbox, setupScript) {
47
+ if (providerKey(sandbox.provider) !== "LangSmithSandbox") {
48
+ throw new Error("MDA only supports deepagents' LangSmithSandbox provider");
139
49
  }
140
- const missing = cred.missing.join(", ") || "the provider credentials";
141
- return createLocalSandbox(setupScript, `no credentials found for the configured sandbox provider (${cred.provider}); ` +
142
- `using a local temporary directory instead — set ${missing} to use it`);
143
- }
144
- /** Provision the local dev sandbox and run `setup.sh` inline inside it. */
145
- async function createLocalSandbox(setupScript, reason) {
146
- const backend = await createLocalDevSandbox(reason);
50
+ const backend = await createLangSmithSandboxBackend(sandbox);
147
51
  if (setupScript && setupScript.trim().length > 0) {
148
- await runSetupScriptInline(backend, setupScript);
52
+ await runSetupScript(backend, setupScript);
149
53
  }
150
54
  return backend;
151
55
  }
152
- /** Construct the configured provider's backend, stripping MDA-managed knobs. */
153
- async function createProviderBackend(sandbox, options) {
154
- if (options.useDefaultLangSmithRuntime &&
155
- providerKey(sandbox.provider) === "LangSmithSandbox") {
156
- return createLangSmithSandboxBackend(sandbox);
157
- }
158
- const { scope: _scope, idleTtlSeconds: _idleTtlSeconds, ...providerOptions } = sandbox.options ?? {};
159
- return (await sandbox.provider.create(providerOptions));
160
- }
161
56
  async function createLangSmithSandboxBackend(sandbox) {
162
57
  const { scope: _scope, apiKey = process.env.LANGSMITH_API_KEY, defaultTimeout, templateName, snapshotId, ...createSandboxOptions } = sandbox.options ?? {};
163
58
  if (snapshotId && templateName) {
@@ -166,20 +61,41 @@ async function createLangSmithSandboxBackend(sandbox) {
166
61
  if (templateName) {
167
62
  createSandboxOptions.snapshotName = templateName;
168
63
  }
169
- const { SandboxClient } = await langSmithSandboxClientLoader();
170
64
  if (snapshotId) {
171
65
  createSandboxOptions.snapshotId = snapshotId;
172
66
  }
67
+ const { SandboxClient } = await langSmithSandboxClientLoader();
173
68
  const sdkOptions = stringOption(apiKey);
174
69
  const client = new SandboxClient(sdkOptions ? { apiKey: sdkOptions } : undefined);
175
70
  const langSmithSandbox = await client.createSandbox(createSandboxOptions);
176
71
  const Backend = sandbox.provider;
177
72
  return new Backend({ sandbox: langSmithSandbox, defaultTimeout });
178
73
  }
74
+ function providerKey(provider) {
75
+ const providerId = provider.providerId;
76
+ if (typeof providerId === "string" && providerId.trim()) {
77
+ return providerId.trim();
78
+ }
79
+ return typeof provider.name === "string" ? provider.name.trim() : "";
80
+ }
81
+ function threadIdFromConfig(config) {
82
+ const threadId = configValue(config, "thread_id");
83
+ if (threadId === undefined) {
84
+ throw new Error('sandbox scope "thread" requires configurable.thread_id');
85
+ }
86
+ return threadId;
87
+ }
88
+ function assistantIdFromConfig(config) {
89
+ return configValue(config, "assistant_id") ?? "agent";
90
+ }
179
91
  function stringOption(value) {
180
- return typeof value === "string" && value.length > 0 ? value : undefined;
92
+ if (typeof value !== "string")
93
+ return undefined;
94
+ const trimmed = value.trim();
95
+ return trimmed.length > 0 ? trimmed : undefined;
181
96
  }
182
- function errorMessage(error) {
183
- return error instanceof Error ? error.message : String(error);
97
+ function configValue(config, key) {
98
+ return (stringOption(config?.metadata?.[key]) ??
99
+ stringOption(config?.configurable?.[key]));
184
100
  }
185
101
  //# sourceMappingURL=sandbox-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-manager.js","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-manager.js","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA0C,CAAC;AAQ3E,MAAM,mCAAmC,GACvC,KAAK,IAAI,EAAE;IACT,MAAM,aAAa,GAAG,IAAI,QAAQ,CAChC,WAAW,EACX,0BAA0B,CACgB,CAAC;IAC7C,OAAO,CAAC,MAAM,aAAa,CAAC,mBAAmB,CAAC,CAE/C,CAAC;AACJ,CAAC,CAAC;AAEJ,IAAI,4BAA4B,GAAG,mCAAmC,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA0B,EAC1B,WAA+B,EAC/B,MAAoC;IAEpC,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACrE,qEAAqE;YACrE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAC7B,OAA0B,EAC1B,MAAoC;IAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC;IACjD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,SAAS,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,UAAU,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,gCAAgC;IAC9C,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,uCAAuC,CACrD,MAAqC;IAErC,4BAA4B,GAAG,MAAM,IAAI,mCAAmC,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAA0B,EAC1B,WAA+B;IAE/B,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,kBAAkB,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,OAA0B;IAE1B,MAAM,EACJ,KAAK,EAAE,MAAM,EACb,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EACtC,cAAc,EACd,YAAY,EACZ,UAAU,EACV,GAAG,oBAAoB,EACxB,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAE1B,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,oBAAoB,CAAC,YAAY,GAAG,YAAY,CAAC;IACnD,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,oBAAoB,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/C,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,4BAA4B,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,QAGG,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,WAAW,CAClB,QAA2D;IAE3D,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAoC;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAoC;IACjE,OAAO,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,OAAO,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAClB,MAAoC,EACpC,GAAW;IAEX,OAAO,CACL,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QACrC,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC"}
@@ -10,10 +10,8 @@ export declare function runSetupScript(backend: ManagedSandboxBackend, script: s
10
10
  /**
11
11
  * Run `setup.sh` by piping its contents straight to the backend's shell.
12
12
  *
13
- * Used for the local dev sandbox: that backend virtualizes file paths (uploads
14
- * land under the temp root) but executes shell commands against the real
15
- * filesystem, so an uploaded `/tmp/mda-setup.sh` would not be found by `bash`.
16
- * Executed inline, the script runs with the temp root as its working directory.
13
+ * Kept as a compatibility fallback for sandbox backend implementations that
14
+ * conform to the execute surface but do not expose upload support.
17
15
  */
18
16
  export declare function runSetupScriptInline(backend: ManagedSandboxBackend, script: string): Promise<void>;
19
17
  export declare function assertSetupSucceeded(result: {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-script.d.ts","sourceRoot":"","sources":["../../src/runtime/setup-script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKxD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,IAAI,CAOP"}
1
+ {"version":3,"file":"setup-script.d.ts","sourceRoot":"","sources":["../../src/runtime/setup-script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKxD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,IAAI,CAOP"}
@@ -20,10 +20,8 @@ export async function runSetupScript(backend, script) {
20
20
  /**
21
21
  * Run `setup.sh` by piping its contents straight to the backend's shell.
22
22
  *
23
- * Used for the local dev sandbox: that backend virtualizes file paths (uploads
24
- * land under the temp root) but executes shell commands against the real
25
- * filesystem, so an uploaded `/tmp/mda-setup.sh` would not be found by `bash`.
26
- * Executed inline, the script runs with the temp root as its working directory.
23
+ * Kept as a compatibility fallback for sandbox backend implementations that
24
+ * conform to the execute surface but do not expose upload support.
27
25
  */
28
26
  export async function runSetupScriptInline(backend, script) {
29
27
  assertSetupSucceeded(await backend.execute(script));
@@ -1 +1 @@
1
- {"version":3,"file":"setup-script.js","sourceRoot":"","sources":["../../src/runtime/setup-script.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B,EAC9B,MAAc;IAEd,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,OAAO,CAAC,WAAW,CAAC;YACxB,CAAC,iBAAiB,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACtD,CAAC,CAAC;QACH,oBAAoB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IACD,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA8B,EAC9B,MAAc;IAEd,oBAAoB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAGpC;IACC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,0CAA0C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"setup-script.js","sourceRoot":"","sources":["../../src/runtime/setup-script.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B,EAC9B,MAAc;IAEd,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,OAAO,CAAC,WAAW,CAAC;YACxB,CAAC,iBAAiB,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACtD,CAAC,CAAC;QACH,oBAAoB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IACD,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA8B,EAC9B,MAAc;IAEd,oBAAoB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAGpC;IACC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,0CAA0C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -3,11 +3,12 @@ import type { SandboxDefinition } from "../sandbox.js";
3
3
  /**
4
4
  * The LangGraph runnable config passed to a graph factory at invocation time.
5
5
  *
6
- * Kept loose for v0; the managed runtime reads identity and thread metadata
7
- * from here to scope the store/sandbox.
6
+ * Kept loose for v0; the managed runtime reads LangGraph metadata/configurable
7
+ * values from here to scope the managed sandbox.
8
8
  */
9
9
  export interface ManagedRunConfig {
10
10
  configurable?: Record<string, unknown>;
11
+ metadata?: Record<string, unknown>;
11
12
  [key: string]: unknown;
12
13
  }
13
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CACL,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC,CAAC;IACH,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CACL,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC,CAAC;IACH,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpE"}
package/dist/sandbox.d.ts CHANGED
@@ -2,11 +2,11 @@
2
2
  * The managed `sandbox/` declaration primitive.
3
3
  *
4
4
  * A Managed Deep Agent declares its execution environment in `sandbox/index.ts`
5
- * by importing a real provider class (e.g. `LangSmithSandbox` from `deepagents`)
6
- * and handing it to {@link defineSandbox}. The options are typed straight from
7
- * the provider's own `create(...)` signature — MDA invents no schema. MDA owns
8
- * how the sandbox is *resolved*: construction, run-scoped naming, reuse across
9
- * turns, the provisioning `setup.sh`, and lifecycle/TTL.
5
+ * by importing `LangSmithSandbox` from `deepagents` and handing it to
6
+ * {@link defineSandbox}. The options are typed straight from the provider's own
7
+ * `create(...)` signature — MDA invents no schema. MDA owns how the sandbox is
8
+ * *resolved*: construction, scoped reuse across turns, the provisioning
9
+ * `setup.sh`, and lifecycle/TTL.
10
10
  *
11
11
  * @example
12
12
  * ```ts
@@ -19,25 +19,26 @@
19
19
  * });
20
20
  * ```
21
21
  */
22
+ import { LangSmithSandbox } from "deepagents";
22
23
  /**
23
24
  * A sandbox provider class MDA knows how to instantiate.
24
25
  *
25
- * Providers expose a static async `create(options)` factory. MDA calls it after
26
- * merging the developer's typed options with managed fields. This matches the
27
- * shape of `deepagents`' `LangSmithSandbox.create(...)`.
26
+ * Providers expose a static async `create(options)` factory. MDA types options
27
+ * from that factory signature (matching `deepagents`' `LangSmithSandbox.create(...)`)
28
+ * and constructs the backend with `new Provider({ sandbox, ... })` at runtime.
28
29
  */
29
30
  export interface SandboxProviderClass<TOptions extends Record<string, any>, TInstance> {
30
31
  create(options: TOptions): Promise<TInstance>;
31
- /** Optional stable provider id for debugging, validation, and traces. */
32
+ /** Optional stable provider id for validation and diagnostics. */
32
33
  readonly providerId?: string;
33
34
  }
34
35
  /** Reuse boundary for a managed sandbox. Defaults to `"thread"`. */
35
- export type SandboxScope = "thread" | "tenant" | "actor";
36
+ export type SandboxScope = "thread" | "agent";
36
37
  /**
37
38
  * Provider options MDA owns and developers must not set directly.
38
39
  *
39
- * MDA supplies the image/snapshot (built from `sandbox/Dockerfile` or the
40
- * provider default) and the run-scoped sandbox name when it calls `create(...)`.
40
+ * MDA owns sandbox identity and managed runtime safety knobs. Use
41
+ * `templateName` or `snapshotId` when an explicit LangSmith source is needed.
41
42
  */
42
43
  export type ManagedSandboxOptionKey = "name" | "image" | "snapshot" | "imageName";
43
44
  /** Extracts the option type accepted by a provider's static `create(...)`. */
@@ -55,8 +56,7 @@ export type DefineSandboxOptions<TProvider extends SandboxProviderClass<any, any
55
56
  * Sandbox reuse scope. Defaults to `"thread"`.
56
57
  *
57
58
  * - `"thread"`: one sandbox per durable thread/conversation.
58
- * - `"tenant"`: one sandbox shared across threads for the current tenant.
59
- * - `"actor"`: one sandbox shared across threads for the current actor.
59
+ * - `"agent"`: one sandbox shared by all threads handled by this agent process.
60
60
  */
61
61
  scope?: SandboxScope;
62
62
  /**
@@ -74,9 +74,9 @@ export interface SandboxDefinition<TProvider extends SandboxProviderClass<any, a
74
74
  /**
75
75
  * Declare the managed sandbox provider for a Managed Deep Agent.
76
76
  *
77
- * The developer chooses the provider and its typed options; MDA owns naming,
78
- * scoping, lifecycle, image/snapshot construction, reuse, the provisioning
79
- * `setup.sh`, and cleanup. The agent file stays clean — it never sets `backend`.
77
+ * The provider must be `LangSmithSandbox`; MDA owns naming, scoping, lifecycle,
78
+ * reuse, the provisioning `setup.sh`, and cleanup. The agent file stays clean —
79
+ * it never sets `backend`.
80
80
  */
81
- export declare function defineSandbox<TProvider extends SandboxProviderClass<any, any>>(provider: TProvider, options?: DefineSandboxOptions<TProvider>): SandboxDefinition<TProvider>;
81
+ export declare function defineSandbox<TProvider extends typeof LangSmithSandbox = typeof LangSmithSandbox>(provider: TProvider, options?: DefineSandboxOptions<TProvider>): SandboxDefinition<TProvider>;
82
82
  //# sourceMappingURL=sandbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;GAMG;AAEH,MAAM,WAAW,oBAAoB,CACnC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,SAAS;IAET,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,OAAO,GACP,UAAU,GACV,WAAW,CAAC;AAEhB,8EAA8E;AAC9E,MAAM,MAAM,sBAAsB,CAAC,SAAS,IAAI,SAAS,SAAS;IAChE,MAAM,CAAC,OAAO,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD,GACG,QAAQ,SAAS,MAAM,GACrB,QAAQ,GACR,KAAK,GACP,KAAK,CAAC;AAEV;;;;;GAKG;AAEH,MAAM,MAAM,oBAAoB,CAC9B,SAAS,SAAS,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,IAC9C,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC,GAAG;IACrE;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,mDAAmD;AAEnD,MAAM,WAAW,iBAAiB,CAChC,SAAS,SAAS,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,oBAAoB,CACrE,GAAG,EACH,GAAG,CACJ;IAED,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CACpD;AAED;;;;;;GAMG;AAEH,wBAAgB,aAAa,CAAC,SAAS,SAAS,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC5E,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,GACxC,iBAAiB,CAAC,SAAS,CAAC,CAE9B"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;GAMG;AAEH,MAAM,WAAW,oBAAoB,CACnC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,SAAS;IAET,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,kEAAkE;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,OAAO,GACP,UAAU,GACV,WAAW,CAAC;AAEhB,8EAA8E;AAC9E,MAAM,MAAM,sBAAsB,CAAC,SAAS,IAAI,SAAS,SAAS;IAChE,MAAM,CAAC,OAAO,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD,GACG,QAAQ,SAAS,MAAM,GACrB,QAAQ,GACR,KAAK,GACP,KAAK,CAAC;AAEV;;;;;GAKG;AAEH,MAAM,MAAM,oBAAoB,CAC9B,SAAS,SAAS,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,IAC9C,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC,GAAG;IACrE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,mDAAmD;AAEnD,MAAM,WAAW,iBAAiB,CAChC,SAAS,SAAS,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,oBAAoB,CACrE,GAAG,EACH,GAAG,CACJ;IAED,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CACpD;AAED;;;;;;GAMG;AAEH,wBAAgB,aAAa,CAC3B,SAAS,SAAS,OAAO,gBAAgB,GAAG,OAAO,gBAAgB,EAEnE,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,GACxC,iBAAiB,CAAC,SAAS,CAAC,CAuB9B"}
package/dist/sandbox.js CHANGED
@@ -2,11 +2,11 @@
2
2
  * The managed `sandbox/` declaration primitive.
3
3
  *
4
4
  * A Managed Deep Agent declares its execution environment in `sandbox/index.ts`
5
- * by importing a real provider class (e.g. `LangSmithSandbox` from `deepagents`)
6
- * and handing it to {@link defineSandbox}. The options are typed straight from
7
- * the provider's own `create(...)` signature — MDA invents no schema. MDA owns
8
- * how the sandbox is *resolved*: construction, run-scoped naming, reuse across
9
- * turns, the provisioning `setup.sh`, and lifecycle/TTL.
5
+ * by importing `LangSmithSandbox` from `deepagents` and handing it to
6
+ * {@link defineSandbox}. The options are typed straight from the provider's own
7
+ * `create(...)` signature — MDA invents no schema. MDA owns how the sandbox is
8
+ * *resolved*: construction, scoped reuse across turns, the provisioning
9
+ * `setup.sh`, and lifecycle/TTL.
10
10
  *
11
11
  * @example
12
12
  * ```ts
@@ -19,15 +19,43 @@
19
19
  * });
20
20
  * ```
21
21
  */
22
+ import { LangSmithSandbox } from "deepagents";
22
23
  /**
23
24
  * Declare the managed sandbox provider for a Managed Deep Agent.
24
25
  *
25
- * The developer chooses the provider and its typed options; MDA owns naming,
26
- * scoping, lifecycle, image/snapshot construction, reuse, the provisioning
27
- * `setup.sh`, and cleanup. The agent file stays clean — it never sets `backend`.
26
+ * The provider must be `LangSmithSandbox`; MDA owns naming, scoping, lifecycle,
27
+ * reuse, the provisioning `setup.sh`, and cleanup. The agent file stays clean —
28
+ * it never sets `backend`.
28
29
  */
29
30
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
31
  export function defineSandbox(provider, options) {
31
- return { kind: "sandbox", provider, options };
32
+ if (providerKey(provider) !== "LangSmithSandbox") {
33
+ throw new TypeError("defineSandbox(...) only supports deepagents' LangSmithSandbox provider");
34
+ }
35
+ const scope = options?.scope ?? "thread";
36
+ if (scope !== "thread" && scope !== "agent") {
37
+ throw new TypeError('sandbox scope must be "thread" or "agent"');
38
+ }
39
+ const managed = managedOptionKeys(options);
40
+ if (managed.length > 0) {
41
+ throw new TypeError(`${managed.join(", ")} ${managed.length === 1 ? "is" : "are"} owned by the managed runtime and cannot be set in defineSandbox(...).`);
42
+ }
43
+ return {
44
+ kind: "sandbox",
45
+ provider,
46
+ options: { ...options, scope },
47
+ };
48
+ }
49
+ function providerKey(provider) {
50
+ const providerId = provider.providerId;
51
+ if (typeof providerId === "string" && providerId.trim()) {
52
+ return providerId.trim();
53
+ }
54
+ return typeof provider.name === "string" ? provider.name.trim() : "";
55
+ }
56
+ function managedOptionKeys(options) {
57
+ if (!options)
58
+ return [];
59
+ return ["name", "image", "snapshot", "imageName"].filter((key) => Object.prototype.hasOwnProperty.call(options, key));
32
60
  }
33
61
  //# sourceMappingURL=sandbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAiFH;;;;;;GAMG;AACH,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAC3B,QAAmB,EACnB,OAAyC;IAEzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgF9C;;;;;;GAMG;AACH,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAG3B,QAAmB,EACnB,OAAyC;IAEzC,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,kBAAkB,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CACjB,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC;IACzC,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IACnB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAChC,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ;QACR,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAqC;KAClE,CAAC;AACJ,CAAC;AAMD,SAAS,WAAW,CAAC,QAAiC;IACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA4C;IAE5C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CACnD,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "managed-deepagents",
3
- "version": "0.0.3-dev.25",
3
+ "version": "0.0.3-dev.26",
4
4
  "description": "Managed Deep Agents — the `defineDeepAgent` authoring interface plus the CLI that compiles and deploys a code-first Deep Agent repository to a managed LangGraph runtime.",
5
5
  "keywords": [
6
6
  "langchain",
@@ -43,7 +43,7 @@
43
43
  "lint": "oxlint --config ../../.oxlintrc.jsonc src",
44
44
  "lint:fix": "oxlint --config ../../.oxlintrc.jsonc src --fix",
45
45
  "typecheck": "tsc -p tsconfig.json --noEmit",
46
- "test": "vitest run",
46
+ "test": "vitest run --typecheck",
47
47
  "test:watch": "vitest"
48
48
  },
49
49
  "engines": {
@@ -54,12 +54,12 @@
54
54
  "deepagents": "^1.10.4"
55
55
  },
56
56
  "optionalDependencies": {
57
- "@langchain/managed-deepagents-darwin-arm64": "0.0.3-dev.25",
58
- "@langchain/managed-deepagents-darwin-x64": "0.0.3-dev.25",
59
- "@langchain/managed-deepagents-linux-arm64": "0.0.3-dev.25",
60
- "@langchain/managed-deepagents-linux-x64": "0.0.3-dev.25",
61
- "@langchain/managed-deepagents-win32-arm64": "0.0.3-dev.25",
62
- "@langchain/managed-deepagents-win32-x64": "0.0.3-dev.25"
57
+ "@langchain/managed-deepagents-darwin-arm64": "0.0.3-dev.26",
58
+ "@langchain/managed-deepagents-darwin-x64": "0.0.3-dev.26",
59
+ "@langchain/managed-deepagents-linux-arm64": "0.0.3-dev.26",
60
+ "@langchain/managed-deepagents-linux-x64": "0.0.3-dev.26",
61
+ "@langchain/managed-deepagents-win32-arm64": "0.0.3-dev.26",
62
+ "@langchain/managed-deepagents-win32-x64": "0.0.3-dev.26"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@types/node": "^26.0.1",
@@ -1,42 +0,0 @@
1
- import type { SandboxDefinition } from "../sandbox.js";
2
- /**
3
- * Per-provider environment variables MDA expects to hold the credentials each
4
- * sandbox provider needs. Keyed by the provider's `providerId` (when set) or
5
- * its class name.
6
- *
7
- * The value is a list of alternative credential *sets*: a provider is
8
- * considered credentialed if **every** variable in **any one** set is present.
9
- * An empty list means the provider needs no credentials (e.g. it runs locally).
10
- *
11
- * Sources: the deepagents sandbox docs and each provider's own SDK docs.
12
- * - LangSmith: https://docs.langchain.com/langsmith/sandboxes
13
- * - Daytona / E2B / Modal / Runloop / Vercel / AgentCore / Deno: provider SDK docs.
14
- */
15
- export declare const PROVIDER_CREDENTIAL_ENV_VARS: Record<string, string[][]>;
16
- export interface ProviderCredentialStatus {
17
- /**
18
- * - `available`: required credentials are present (or none are needed).
19
- * - `missing`: a known provider's credentials are absent.
20
- * - `unknown`: provider is not in {@link PROVIDER_CREDENTIAL_ENV_VARS}.
21
- */
22
- status: "available" | "missing" | "unknown";
23
- /** The provider id / class name used for the lookup. */
24
- provider: string;
25
- /** Env vars from the primary credential set, surfaced when `missing`. */
26
- missing: string[];
27
- }
28
- /**
29
- * Whether MDA is running under `mda dev`. The CLI sets `MDA_DEV` when it
30
- * launches the local LangGraph dev server; it is never set for `mda deploy`.
31
- */
32
- export declare function isDevMode(): boolean;
33
- /** Resolve the lookup key for a sandbox provider (its id, else class name). */
34
- export declare function providerKey(provider: SandboxDefinition["provider"]): string;
35
- /** Whether every variable in a credential set is set and non-empty. */
36
- export declare function credentialSetSatisfied(envVars: string[]): boolean;
37
- /**
38
- * Determine whether the configured provider's credentials are available so
39
- * `mda dev` can decide between the real provider and the local fallback.
40
- */
41
- export declare function providerCredentialStatus(provider: SandboxDefinition["provider"]): ProviderCredentialStatus;
42
- //# sourceMappingURL=credentials.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/runtime/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAyBnE,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5C,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,MAAM,CAG3E;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAEjE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,GACtC,wBAAwB,CAU1B"}
@@ -1,72 +0,0 @@
1
- /**
2
- * Per-provider environment variables MDA expects to hold the credentials each
3
- * sandbox provider needs. Keyed by the provider's `providerId` (when set) or
4
- * its class name.
5
- *
6
- * The value is a list of alternative credential *sets*: a provider is
7
- * considered credentialed if **every** variable in **any one** set is present.
8
- * An empty list means the provider needs no credentials (e.g. it runs locally).
9
- *
10
- * Sources: the deepagents sandbox docs and each provider's own SDK docs.
11
- * - LangSmith: https://docs.langchain.com/langsmith/sandboxes
12
- * - Daytona / E2B / Modal / Runloop / Vercel / AgentCore / Deno: provider SDK docs.
13
- */
14
- export const PROVIDER_CREDENTIAL_ENV_VARS = {
15
- // LangSmith managed sandboxes.
16
- LangSmithSandbox: [["LANGSMITH_API_KEY"]],
17
- // Daytona (`langchain-daytona` / deepagents `DaytonaSandbox`).
18
- DaytonaSandbox: [["DAYTONA_API_KEY"]],
19
- // E2B (`langchain-e2b` / deepagents `E2BSandbox`).
20
- E2BSandbox: [["E2B_API_KEY"]],
21
- // Modal requires both a token id and secret.
22
- ModalSandbox: [["MODAL_TOKEN_ID", "MODAL_TOKEN_SECRET"]],
23
- // Runloop devboxes.
24
- RunloopSandbox: [["RUNLOOP_API_KEY"]],
25
- // Vercel: either an OIDC token, or an access token + team + project ids.
26
- VercelSandbox: [
27
- ["VERCEL_OIDC_TOKEN"],
28
- ["VERCEL_TOKEN", "VERCEL_TEAM_ID", "VERCEL_PROJECT_ID"],
29
- ],
30
- // AWS Bedrock AgentCore: standard AWS credential resolution.
31
- AgentCoreSandbox: [
32
- ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY"],
33
- ["AWS_PROFILE"],
34
- ],
35
- // Deno Deploy microVMs (`@langchain/deno`) need an organization token.
36
- DenoSandbox: [["DENO_DEPLOY_TOKEN"]],
37
- // Node VFS runs locally and needs no credentials.
38
- NodeVFSSandbox: [],
39
- };
40
- /**
41
- * Whether MDA is running under `mda dev`. The CLI sets `MDA_DEV` when it
42
- * launches the local LangGraph dev server; it is never set for `mda deploy`.
43
- */
44
- export function isDevMode() {
45
- const value = process.env.MDA_DEV;
46
- return typeof value === "string" && value.length > 0;
47
- }
48
- /** Resolve the lookup key for a sandbox provider (its id, else class name). */
49
- export function providerKey(provider) {
50
- const p = provider;
51
- return (p.providerId ?? p.name ?? "").trim();
52
- }
53
- /** Whether every variable in a credential set is set and non-empty. */
54
- export function credentialSetSatisfied(envVars) {
55
- return envVars.every((name) => (process.env[name] ?? "").trim().length > 0);
56
- }
57
- /**
58
- * Determine whether the configured provider's credentials are available so
59
- * `mda dev` can decide between the real provider and the local fallback.
60
- */
61
- export function providerCredentialStatus(provider) {
62
- const key = providerKey(provider);
63
- const sets = PROVIDER_CREDENTIAL_ENV_VARS[key];
64
- if (sets === undefined) {
65
- return { status: "unknown", provider: key || "unknown", missing: [] };
66
- }
67
- if (sets.length === 0 || sets.some(credentialSetSatisfied)) {
68
- return { status: "available", provider: key, missing: [] };
69
- }
70
- return { status: "missing", provider: key, missing: sets[0] ?? [] };
71
- }
72
- //# sourceMappingURL=credentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/runtime/credentials.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAA+B;IACtE,+BAA+B;IAC/B,gBAAgB,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACzC,+DAA+D;IAC/D,cAAc,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACrC,mDAAmD;IACnD,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC7B,6CAA6C;IAC7C,YAAY,EAAE,CAAC,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IACxD,oBAAoB;IACpB,cAAc,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACrC,yEAAyE;IACzE,aAAa,EAAE;QACb,CAAC,mBAAmB,CAAC;QACrB,CAAC,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;KACxD;IACD,6DAA6D;IAC7D,gBAAgB,EAAE;QAChB,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;QAC9C,CAAC,aAAa,CAAC;KAChB;IACD,uEAAuE;IACvE,WAAW,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACpC,kDAAkD;IAClD,cAAc,EAAE,EAAE;CACnB,CAAC;AAeF;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,QAAuC;IACjE,MAAM,CAAC,GAAG,QAAkD,CAAC;IAC7D,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,sBAAsB,CAAC,OAAiB;IACtD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAuC;IAEvC,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACtE,CAAC"}
@@ -1,7 +0,0 @@
1
- export declare function logDevSandboxNoticeOnce(message: string): void;
2
- /**
3
- * Reset the one-time notice guard. Test-only: the guard is module-level state
4
- * that otherwise persists across test cases in the same module instance.
5
- */
6
- export declare function resetDevSandboxNoticeForTests(): void;
7
- //# sourceMappingURL=dev-notice.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev-notice.d.ts","sourceRoot":"","sources":["../../src/runtime/dev-notice.ts"],"names":[],"mappings":"AAaA,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAK7D;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Emit a one-time notice describing which dev sandbox mode is in effect.
3
- *
4
- * Deduped for the lifetime of the process because the managed sandbox is
5
- * created once per sandbox *scope key* (thread/tenant/actor), not once per
6
- * process. The `mda dev` LangGraph server is long-lived and serves many
7
- * threads, so each new thread misses the sandbox cache and provisions a fresh
8
- * sandbox — without this guard the banner would reprint on the first turn of
9
- * every new thread (and could interleave when threads start concurrently). The
10
- * message is session-level context, so once is enough.
11
- */
12
- let loggedDevSandboxNotice = false;
13
- export function logDevSandboxNoticeOnce(message) {
14
- if (loggedDevSandboxNotice)
15
- return;
16
- loggedDevSandboxNotice = true;
17
- // eslint-disable-next-line no-console
18
- console.log(message);
19
- }
20
- /**
21
- * Reset the one-time notice guard. Test-only: the guard is module-level state
22
- * that otherwise persists across test cases in the same module instance.
23
- */
24
- export function resetDevSandboxNoticeForTests() {
25
- loggedDevSandboxNotice = false;
26
- }
27
- //# sourceMappingURL=dev-notice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev-notice.js","sourceRoot":"","sources":["../../src/runtime/dev-notice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,IAAI,sBAAsB;QAAE,OAAO;IACnC,sBAAsB,GAAG,IAAI,CAAC;IAC9B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,sBAAsB,GAAG,KAAK,CAAC;AACjC,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { ManagedSandboxBackend } from "./types.js";
2
- /**
3
- * Provision a local, throwaway sandbox rooted at a fresh OS temp directory.
4
- *
5
- * Uses `deepagents`' `LocalShellBackend`, which runs commands and file
6
- * operations against the host within the temp dir — no remote sandbox, no
7
- * credentials, no network. Intended only for `mda dev`.
8
- *
9
- * `reason` explains *why* the local sandbox is being used (missing credentials,
10
- * provider creation failure, …) and is logged once alongside the temp dir path.
11
- */
12
- export declare function createLocalDevSandbox(reason: string): Promise<ManagedSandboxBackend>;
13
- //# sourceMappingURL=local-dev-sandbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-dev-sandbox.d.ts","sourceRoot":"","sources":["../../src/runtime/local-dev-sandbox.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAexD;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC,CAkChC"}
@@ -1,39 +0,0 @@
1
- import { mkdtemp } from "node:fs/promises";
2
- import { tmpdir } from "node:os";
3
- import { join } from "node:path";
4
- import { logDevSandboxNoticeOnce } from "./dev-notice.js";
5
- /**
6
- * Provision a local, throwaway sandbox rooted at a fresh OS temp directory.
7
- *
8
- * Uses `deepagents`' `LocalShellBackend`, which runs commands and file
9
- * operations against the host within the temp dir — no remote sandbox, no
10
- * credentials, no network. Intended only for `mda dev`.
11
- *
12
- * `reason` explains *why* the local sandbox is being used (missing credentials,
13
- * provider creation failure, …) and is logged once alongside the temp dir path.
14
- */
15
- export async function createLocalDevSandbox(reason) {
16
- const dir = await mkdtemp(join(tmpdir(), "mda-dev-sandbox-"));
17
- logDevSandboxNoticeOnce(`[mda dev] ${reason}:\n ${dir}`);
18
- // Loaded dynamically (rather than a static named import) so the build does
19
- // not depend on `LocalShellBackend` being present in the resolved
20
- // `deepagents` type surface; it is provided by the runtime's `deepagents`.
21
- const deepagentsModule = (await import("deepagents"));
22
- const LocalShellBackend = deepagentsModule.LocalShellBackend;
23
- if (typeof LocalShellBackend !== "function") {
24
- throw new Error("the installed `deepagents` does not export `LocalShellBackend`; upgrade " +
25
- "`deepagents` to use the local `mda dev` sandbox, or set the provider credentials.");
26
- }
27
- const backend = new LocalShellBackend({
28
- rootDir: dir,
29
- virtualMode: true,
30
- inheritEnv: true,
31
- });
32
- // Initialize eagerly when the backend supports it, mirroring how the provider
33
- // `create(...)` factory hands back a ready-to-use backend.
34
- if (typeof backend.initialize === "function") {
35
- await backend.initialize();
36
- }
37
- return backend;
38
- }
39
- //# sourceMappingURL=local-dev-sandbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-dev-sandbox.js","sourceRoot":"","sources":["../../src/runtime/local-dev-sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAgB1D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC9D,uBAAuB,CAAC,aAAa,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC;IAE1D,2EAA2E;IAC3E,kEAAkE;IAClE,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAGnD,CAAC;IACF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,iBAE9B,CAAC;IACd,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,0EAA0E;YACxE,mFAAmF,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;QACpC,OAAO,EAAE,GAAG;QACZ,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,8EAA8E;IAC9E,2DAA2D;IAC3D,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,OAA2C,CAAC;AACrD,CAAC"}