managed-deepagents 0.0.3-dev.24 → 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.
Files changed (47) hide show
  1. package/dist/connectors.d.ts.map +1 -1
  2. package/dist/connectors.js +3 -1
  3. package/dist/connectors.js.map +1 -1
  4. package/dist/define-deep-agent.d.ts.map +1 -1
  5. package/dist/define-deep-agent.js +5 -3
  6. package/dist/define-deep-agent.js.map +1 -1
  7. package/dist/resolve.d.ts.map +1 -1
  8. package/dist/resolve.js +16 -4
  9. package/dist/resolve.js.map +1 -1
  10. package/dist/runtime/connectors-manager.d.ts.map +1 -1
  11. package/dist/runtime/connectors-manager.js +5 -2
  12. package/dist/runtime/connectors-manager.js.map +1 -1
  13. package/dist/runtime/index.d.ts +0 -1
  14. package/dist/runtime/index.d.ts.map +1 -1
  15. package/dist/runtime/index.js +99 -43
  16. package/dist/runtime/index.js.map +1 -1
  17. package/dist/runtime/sandbox-manager.d.ts +3 -21
  18. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  19. package/dist/runtime/sandbox-manager.js +41 -119
  20. package/dist/runtime/sandbox-manager.js.map +1 -1
  21. package/dist/runtime/setup-script.d.ts +2 -4
  22. package/dist/runtime/setup-script.d.ts.map +1 -1
  23. package/dist/runtime/setup-script.js +5 -5
  24. package/dist/runtime/setup-script.js.map +1 -1
  25. package/dist/runtime/types.d.ts +3 -2
  26. package/dist/runtime/types.d.ts.map +1 -1
  27. package/dist/sandbox.d.ts +18 -18
  28. package/dist/sandbox.d.ts.map +1 -1
  29. package/dist/sandbox.js +37 -9
  30. package/dist/sandbox.js.map +1 -1
  31. package/dist/schedules.js +4 -2
  32. package/dist/schedules.js.map +1 -1
  33. package/dist/types.d.ts +1 -2
  34. package/dist/types.d.ts.map +1 -1
  35. package/package.json +15 -9
  36. package/dist/runtime/credentials.d.ts +0 -42
  37. package/dist/runtime/credentials.d.ts.map +0 -1
  38. package/dist/runtime/credentials.js +0 -69
  39. package/dist/runtime/credentials.js.map +0 -1
  40. package/dist/runtime/dev-notice.d.ts +0 -7
  41. package/dist/runtime/dev-notice.d.ts.map +0 -1
  42. package/dist/runtime/dev-notice.js +0 -27
  43. package/dist/runtime/dev-notice.js.map +0 -1
  44. package/dist/runtime/local-dev-sandbox.d.ts +0 -13
  45. package/dist/runtime/local-dev-sandbox.d.ts.map +0 -1
  46. package/dist/runtime/local-dev-sandbox.js +0 -39
  47. package/dist/runtime/local-dev-sandbox.js.map +0 -1
@@ -1,38 +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() ? DEV_SANDBOX_SCOPE_KEY : sandboxScopeKey(sandbox, config);
18
+ const key = sandboxScopeKey(sandbox, config);
32
19
  let pending = managedSandboxes.get(key);
33
20
  if (!pending) {
34
- pending = createManagedSandbox(sandbox, setupScript).catch((error) => {
35
- // 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.
36
23
  managedSandboxes.delete(key);
37
24
  throw error;
38
25
  });
@@ -40,22 +27,13 @@ export function resolveManagedSandbox(sandbox, setupScript, config) {
40
27
  }
41
28
  return pending;
42
29
  }
43
- /**
44
- * Derive the reuse key from the run. Without runtime identity, sandboxes are
45
- * keyed by thread; with identity, by the configured tenant/actor scope.
46
- */
30
+ /** Derive the process-level reuse key from the configured sandbox scope. */
47
31
  export function sandboxScopeKey(sandbox, config) {
48
- const configurable = (config?.configurable ?? {});
49
- const identity = configurable.identity;
50
32
  const scope = sandbox.options?.scope ?? "thread";
51
- let key;
52
- if (scope === "tenant")
53
- key = identity?.tenant?.id;
54
- else if (scope === "actor")
55
- key = identity?.actor?.id;
56
- else
57
- key = configurable.thread_id;
58
- return key ?? identity?.tenant?.id ?? identity?.actor?.id ?? configurable.thread_id ?? "default";
33
+ if (scope === "agent") {
34
+ return `agent:${assistantIdFromConfig(config)}`;
35
+ }
36
+ return `thread:${threadIdFromConfig(config)}`;
59
37
  }
60
38
  /** Clear the process-level sandbox cache. Test-only. */
61
39
  export function clearManagedSandboxCacheForTests() {
@@ -65,115 +43,59 @@ export function clearManagedSandboxCacheForTests() {
65
43
  export function setLangSmithSandboxClientLoaderForTests(loader) {
66
44
  langSmithSandboxClientLoader = loader ?? defaultLangSmithSandboxClientLoader;
67
45
  }
68
- /**
69
- * Eagerly resolve the `mda dev` sandbox at startup so the developer sees the
70
- * definitive decision local vs. the configured provider, and the temp dir
71
- * path when local — right when the dev server boots, not on the first run.
72
- *
73
- * Sandboxes are otherwise created lazily (on first run), so with `--browser`
74
- * off nothing would print until the agent is invoked. The generated entry
75
- * calls this at module load (graph registration); because dev shares one
76
- * sandbox ({@link DEV_SANDBOX_SCOPE_KEY}), the first real run reuses what is
77
- * created here rather than provisioning a second sandbox. The authoritative
78
- * "created" log (with the temp dir) is emitted by {@link createDevSandbox}.
79
- *
80
- * No-op outside `mda dev`, so the generated entry can always call it.
81
- */
82
- export async function announceSandboxPlan(sandbox, setupScript) {
83
- if (!isDevMode())
84
- return;
85
- await resolveManagedSandbox(sandbox, setupScript, undefined);
86
- }
87
- function createManagedSandbox(sandbox, setupScript) {
88
- // `mda dev` never provisions a real provider sandbox the same way a deploy
89
- // does (it builds no snapshot/image), so it gets its own resolution path with
90
- // a local fallback. The flag gating ensures a real deployment can never be
91
- // silently downgraded to local shell execution.
92
- return isDevMode()
93
- ? createDevSandbox(sandbox, setupScript)
94
- : createProviderSandbox(sandbox, setupScript, { useDefaultLangSmithRuntime: true });
95
- }
96
- /**
97
- * Production path: construct the configured provider's sandbox and provision it.
98
- * Any failure propagates — a misconfigured deployment must surface, not degrade.
99
- */
100
- async function createProviderSandbox(sandbox, setupScript, options) {
101
- const backend = await createProviderBackend(sandbox, options);
102
- if (setupScript && setupScript.trim().length > 0) {
103
- await runSetupScript(backend, setupScript);
46
+ async function createLangSmithSandbox(sandbox, setupScript) {
47
+ if (providerKey(sandbox.provider) !== "LangSmithSandbox") {
48
+ throw new Error("MDA only supports deepagents' LangSmithSandbox provider");
104
49
  }
105
- return backend;
106
- }
107
- /**
108
- * Dev path: prefer the configured provider when its credentials are present,
109
- * but fall back to a local temp-directory sandbox when credentials are missing
110
- * *or* the provider cannot be created (e.g. `LangSmithSandbox`, which needs a
111
- * snapshot that only `mda deploy` builds). This keeps `mda dev` working offline
112
- * and resilient to provider/config gaps while still exercising real providers
113
- * that can spin up from an API key alone.
114
- */
115
- async function createDevSandbox(sandbox, setupScript) {
116
- const cred = providerCredentialStatus(sandbox.provider);
117
- if (cred.status !== "missing") {
118
- try {
119
- const backend = await createProviderSandbox(sandbox, setupScript, {
120
- useDefaultLangSmithRuntime: false,
121
- });
122
- logDevSandboxNoticeOnce(cred.status === "available"
123
- ? `[mda dev] using the configured ${cred.provider} sandbox.`
124
- : `[mda dev] using the configured sandbox provider (${cred.provider}).`);
125
- return backend;
126
- }
127
- catch (error) {
128
- return createLocalSandbox(setupScript, `the configured ${cred.provider} sandbox could not be created ` +
129
- `(${errorMessage(error)}); using a local temporary directory instead`);
130
- }
131
- }
132
- const missing = cred.missing.join(", ") || "the provider credentials";
133
- return createLocalSandbox(setupScript, `no credentials found for the configured sandbox provider (${cred.provider}); ` +
134
- `using a local temporary directory instead — set ${missing} to use it`);
135
- }
136
- /** Provision the local dev sandbox and run `setup.sh` inline inside it. */
137
- async function createLocalSandbox(setupScript, reason) {
138
- const backend = await createLocalDevSandbox(reason);
50
+ const backend = await createLangSmithSandboxBackend(sandbox);
139
51
  if (setupScript && setupScript.trim().length > 0) {
140
- await runSetupScriptInline(backend, setupScript);
52
+ await runSetupScript(backend, setupScript);
141
53
  }
142
54
  return backend;
143
55
  }
144
- /** Construct the configured provider's backend, stripping MDA-managed knobs. */
145
- async function createProviderBackend(sandbox, options) {
146
- if (options.useDefaultLangSmithRuntime && providerKey(sandbox.provider) === "LangSmithSandbox") {
147
- return createLangSmithSandboxBackend(sandbox);
148
- }
149
- const { scope: _scope, idleTtlSeconds: _idleTtlSeconds, ...providerOptions } = sandbox.options ?? {};
150
- void _scope;
151
- void _idleTtlSeconds;
152
- return (await sandbox.provider.create(providerOptions));
153
- }
154
56
  async function createLangSmithSandboxBackend(sandbox) {
155
57
  const { scope: _scope, apiKey = process.env.LANGSMITH_API_KEY, defaultTimeout, templateName, snapshotId, ...createSandboxOptions } = sandbox.options ?? {};
156
- void _scope;
157
58
  if (snapshotId && templateName) {
158
59
  throw new Error("snapshotId and templateName are mutually exclusive. Pass only one creation source.");
159
60
  }
160
61
  if (templateName) {
161
62
  createSandboxOptions.snapshotName = templateName;
162
63
  }
163
- const { SandboxClient } = await langSmithSandboxClientLoader();
164
64
  if (snapshotId) {
165
65
  createSandboxOptions.snapshotId = snapshotId;
166
66
  }
67
+ const { SandboxClient } = await langSmithSandboxClientLoader();
167
68
  const sdkOptions = stringOption(apiKey);
168
69
  const client = new SandboxClient(sdkOptions ? { apiKey: sdkOptions } : undefined);
169
70
  const langSmithSandbox = await client.createSandbox(createSandboxOptions);
170
71
  const Backend = sandbox.provider;
171
72
  return new Backend({ sandbox: langSmithSandbox, defaultTimeout });
172
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
+ }
173
91
  function stringOption(value) {
174
- 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;
175
96
  }
176
- function errorMessage(error) {
177
- return error instanceof Error ? error.message : String(error);
97
+ function configValue(config, key) {
98
+ return (stringOption(config?.metadata?.[key]) ??
99
+ stringOption(config?.configurable?.[key]));
178
100
  }
179
101
  //# sourceMappingURL=sandbox-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-manager.js","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzE;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA0C,CAAC;AAE3E;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAQ5C,MAAM,mCAAmC,GAAiC,KAAK,IAAI,EAAE;IACnF,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAErD,CAAC;IACtB,OAAO,CAAC,MAAM,aAAa,CAAC,mBAAmB,CAAC,CAE/C,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,4BAA4B,GAAG,mCAAmC,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA0B,EAC1B,WAA+B,EAC/B,MAAoC;IAEpC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnF,IAAI,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACnE,sEAAsE;YACtE,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;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA0B,EAC1B,MAAoC;IAEpC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAG/C,CAAC;IACF,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC;IAEjD,IAAI,GAAuB,CAAC;IAC5B,IAAI,KAAK,KAAK,QAAQ;QAAE,GAAG,GAAG,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;SAC9C,IAAI,KAAK,KAAK,OAAO;QAAE,GAAG,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;;QACjD,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC;IAElC,OAAO,GAAG,IAAI,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,YAAY,CAAC,SAAS,IAAI,SAAS,CAAC;AACnG,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;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA0B,EAC1B,WAAoB;IAEpB,IAAI,CAAC,SAAS,EAAE;QAAE,OAAO;IACzB,MAAM,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA0B,EAC1B,WAA+B;IAE/B,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,gDAAgD;IAChD,OAAO,SAAS,EAAE;QAChB,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;QACxC,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;AACxF,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,qBAAqB,CAClC,OAA0B,EAC1B,WAA+B,EAC/B,OAAgD;IAEhD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,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;;;;;;;GAOG;AACH,KAAK,UAAU,gBAAgB,CAC7B,OAA0B,EAC1B,WAA+B;IAE/B,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE;gBAChE,0BAA0B,EAAE,KAAK;aAClC,CAAC,CAAC;YACH,uBAAuB,CACrB,IAAI,CAAC,MAAM,KAAK,WAAW;gBACzB,CAAC,CAAC,kCAAkC,IAAI,CAAC,QAAQ,WAAW;gBAC5D,CAAC,CAAC,oDAAoD,IAAI,CAAC,QAAQ,IAAI,CAC1E,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,kBAAkB,CACvB,WAAW,EACX,kBAAkB,IAAI,CAAC,QAAQ,gCAAgC;gBAC7D,IAAI,YAAY,CAAC,KAAK,CAAC,8CAA8C,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC;IACtE,OAAO,kBAAkB,CACvB,WAAW,EACX,6DAA6D,IAAI,CAAC,QAAQ,KAAK;QAC7E,mDAAmD,OAAO,YAAY,CACzE,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,kBAAkB,CAC/B,WAA+B,EAC/B,MAAc;IAEd,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gFAAgF;AAChF,KAAK,UAAU,qBAAqB,CAClC,OAA0B,EAC1B,OAAgD;IAEhD,IAAI,OAAO,CAAC,0BAA0B,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,kBAAkB,EAAE,CAAC;QAC/F,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACrG,KAAK,MAAM,CAAC;IACZ,KAAK,eAAe,CAAC;IACrB,OAAO,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAA0B,CAAC;AACnF,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;IAC1B,KAAK,MAAM,CAAC;IAEZ,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,oBAAoB,CAAC,YAAY,GAAG,YAAY,CAAC;IACnD,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,4BAA4B,EAAE,CAAC;IAC/D,IAAI,UAAU,EAAE,CAAC;QACf,oBAAoB,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/C,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,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,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"sandbox-manager.js","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"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"}
@@ -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,CAOf;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"}
@@ -9,7 +9,9 @@ const SETUP_REMOTE_PATH = "/tmp/mda-setup.sh";
9
9
  */
10
10
  export async function runSetupScript(backend, script) {
11
11
  if (typeof backend.uploadFiles === "function") {
12
- await backend.uploadFiles([[SETUP_REMOTE_PATH, new TextEncoder().encode(script)]]);
12
+ await backend.uploadFiles([
13
+ [SETUP_REMOTE_PATH, new TextEncoder().encode(script)],
14
+ ]);
13
15
  assertSetupSucceeded(await backend.execute(`bash ${SETUP_REMOTE_PATH}`));
14
16
  return;
15
17
  }
@@ -18,10 +20,8 @@ export async function runSetupScript(backend, script) {
18
20
  /**
19
21
  * Run `setup.sh` by piping its contents straight to the backend's shell.
20
22
  *
21
- * Used for the local dev sandbox: that backend virtualizes file paths (uploads
22
- * land under the temp root) but executes shell commands against the real
23
- * filesystem, so an uploaded `/tmp/mda-setup.sh` would not be found by `bash`.
24
- * 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.
25
25
  */
26
26
  export async function runSetupScriptInline(backend, script) {
27
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,CAAC,CAAC,iBAAiB,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,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,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAChE,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,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS;IACnF,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,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;AAElF,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,CAAC,SAAS,SAAS,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CACvF,sBAAsB,CAAC,SAAS,CAAC,EACjC,uBAAuB,CACxB,GAAG;IACF;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,mDAAmD;AAEnD,MAAM,WAAW,iBAAiB,CAAC,SAAS,SAAS,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC;IAClH,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;AAsEH;;;;;;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/dist/schedules.js CHANGED
@@ -7,7 +7,8 @@ export function defineSchedule(config) {
7
7
  }
8
8
  function validateScheduleConfig(config) {
9
9
  const provided = config;
10
- if (typeof provided.cron !== "string" || provided.cron.trim().split(/\s+/).length !== 5) {
10
+ if (typeof provided.cron !== "string" ||
11
+ provided.cron.trim().split(/\s+/).length !== 5) {
11
12
  throw new Error("defineSchedule(...) requires `cron` to be a standard 5-field cron expression.");
12
13
  }
13
14
  const hasPrompt = typeof provided.prompt === "string";
@@ -31,7 +32,8 @@ function validateThread(thread) {
31
32
  if (mode !== "ephemeral" && mode !== "persistent") {
32
33
  throw new Error('defineSchedule(...) requires `thread.mode` to be "ephemeral" or "persistent".');
33
34
  }
34
- if (mode === "persistent" && (typeof config.id !== "string" || config.id.trim().length === 0)) {
35
+ if (mode === "persistent" &&
36
+ (typeof config.id !== "string" || config.id.trim().length === 0)) {
35
37
  throw new Error("defineSchedule(...) requires `thread.id` for persistent schedules.");
36
38
  }
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../src/schedules.ts"],"names":[],"mappings":"AA2FA;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB;IACpD,MAAM,QAAQ,GAAG,MAA4C,CAAC;IAE9D,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC;IACtD,MAAM,QAAQ,GAAG,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC;IACrE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,SAAS,IAAK,QAAQ,CAAC,MAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CAAC,MAAe;IACrC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IACjC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,MAAM,GAAG,MAA0C,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;IACxC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../src/schedules.ts"],"names":[],"mappings":"AA2FA;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB;IACpD,MAAM,QAAQ,GAAG,MAA4C,CAAC;IAE9D,IACE,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAC9C,CAAC;QACD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC;IACtD,MAAM,QAAQ,GAAG,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC;IACrE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,IAAK,QAAQ,CAAC,MAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CAAC,MAAe;IACrC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IACjC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAA0C,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;IACxC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,IACE,IAAI,KAAK,YAAY;QACrB,CAAC,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAChE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -43,8 +43,7 @@ export type DefineDeepAgentConfig = Omit<CreateDeepAgentParams, ManagedDeepAgent
43
43
  */
44
44
  export interface DeepAgentDefinition {
45
45
  readonly kind: "deep-agent";
46
- readonly config: Omit<CreateDeepAgentParams, ManagedDeepAgentKey>;
47
- readonly disableMemory: boolean;
46
+ readonly config: DefineDeepAgentConfig;
48
47
  }
49
48
  /**
50
49
  * Metadata about the inbound channel event that created or resumed a run.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,OAAO,GACP,cAAc,GACd,cAAc,GACd,QAAQ,GACR,QAAQ,CAAC;AAEb;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,GAAG;IACrF,4EAA4E;IAC5E,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,mDAAmD;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,kDAAkD;IAClD,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,KAAK,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IAClE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1E,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC5F;AAED;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,cAAc,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,OAAO,GACP,cAAc,GACd,cAAc,GACd,QAAQ,GACR,QAAQ,CAAC;AAEb;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,qBAAqB,EACrB,mBAAmB,CACpB,GAAG;IACF,4EAA4E;IAC5E,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,mDAAmD;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,kDAAkD;IAClD,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,KAAK,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1E,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,CACF,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,cAAc,CAAC;CACzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "managed-deepagents",
3
- "version": "0.0.3-dev.24",
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",
@@ -38,27 +38,33 @@
38
38
  "scripts": {
39
39
  "build": "tsc -p tsconfig.json",
40
40
  "clean": "rm -rf dist",
41
+ "format": "oxfmt --config ../../.oxfmtrc.jsonc --write src",
42
+ "format:check": "oxfmt --config ../../.oxfmtrc.jsonc --check src",
43
+ "lint": "oxlint --config ../../.oxlintrc.jsonc src",
44
+ "lint:fix": "oxlint --config ../../.oxlintrc.jsonc src --fix",
41
45
  "typecheck": "tsc -p tsconfig.json --noEmit",
42
- "test": "vitest run",
46
+ "test": "vitest run --typecheck",
43
47
  "test:watch": "vitest"
44
48
  },
45
49
  "engines": {
46
- "node": ">=18"
50
+ "node": ">=22"
47
51
  },
48
52
  "dependencies": {
49
53
  "@langchain/mcp-adapters": "^1.1.3",
50
54
  "deepagents": "^1.10.4"
51
55
  },
52
56
  "optionalDependencies": {
53
- "@langchain/managed-deepagents-darwin-arm64": "0.0.3-dev.24",
54
- "@langchain/managed-deepagents-darwin-x64": "0.0.3-dev.24",
55
- "@langchain/managed-deepagents-linux-arm64": "0.0.3-dev.24",
56
- "@langchain/managed-deepagents-linux-x64": "0.0.3-dev.24",
57
- "@langchain/managed-deepagents-win32-x64": "0.0.3-dev.24",
58
- "@langchain/managed-deepagents-win32-arm64": "0.0.3-dev.24"
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"
59
63
  },
60
64
  "devDependencies": {
61
65
  "@types/node": "^26.0.1",
66
+ "oxfmt": "^0.57.0",
67
+ "oxlint": "^1.72.0",
62
68
  "typescript": "^6.0.3",
63
69
  "vitest": "^4.1.9"
64
70
  }