managed-deepagents 0.9.6-dev.3 → 0.9.6-dev.31

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 (359) hide show
  1. package/README.md +1075 -37
  2. package/dist/agent-auth.d.ts +1 -1
  3. package/dist/agent-auth.d.ts.map +1 -1
  4. package/dist/agent-auth.js +36 -12
  5. package/dist/agent-auth.js.map +1 -1
  6. package/dist/browser.d.ts +37 -0
  7. package/dist/browser.d.ts.map +1 -0
  8. package/dist/browser.js +31 -0
  9. package/dist/browser.js.map +1 -0
  10. package/dist/channels/actor.d.ts +57 -0
  11. package/dist/channels/actor.d.ts.map +1 -0
  12. package/dist/channels/actor.js +24 -0
  13. package/dist/channels/actor.js.map +1 -0
  14. package/dist/channels/assistant-text.d.ts +29 -0
  15. package/dist/channels/assistant-text.d.ts.map +1 -1
  16. package/dist/channels/assistant-text.js +81 -4
  17. package/dist/channels/assistant-text.js.map +1 -1
  18. package/dist/channels/binding.d.ts +20 -1
  19. package/dist/channels/binding.d.ts.map +1 -1
  20. package/dist/channels/binding.js +44 -11
  21. package/dist/channels/binding.js.map +1 -1
  22. package/dist/channels/delivery.d.ts +51 -0
  23. package/dist/channels/delivery.d.ts.map +1 -0
  24. package/dist/channels/delivery.js +424 -0
  25. package/dist/channels/delivery.js.map +1 -0
  26. package/dist/channels/github/app-setup.d.ts +32 -0
  27. package/dist/channels/github/app-setup.d.ts.map +1 -0
  28. package/dist/channels/github/app-setup.js +146 -0
  29. package/dist/channels/github/app-setup.js.map +1 -0
  30. package/dist/channels/github/connections.d.ts +11 -0
  31. package/dist/channels/github/connections.d.ts.map +1 -0
  32. package/dist/channels/github/connections.js +14 -0
  33. package/dist/channels/github/connections.js.map +1 -0
  34. package/dist/channels/github/index.d.ts +12 -0
  35. package/dist/channels/github/index.d.ts.map +1 -0
  36. package/dist/channels/github/index.js +266 -0
  37. package/dist/channels/github/index.js.map +1 -0
  38. package/dist/channels/github/mentions.d.ts +12 -0
  39. package/dist/channels/github/mentions.d.ts.map +1 -0
  40. package/dist/channels/github/mentions.js +185 -0
  41. package/dist/channels/github/mentions.js.map +1 -0
  42. package/dist/channels/github/schema.d.ts +4165 -0
  43. package/dist/channels/github/schema.d.ts.map +1 -0
  44. package/dist/channels/github/schema.js +221 -0
  45. package/dist/channels/github/schema.js.map +1 -0
  46. package/dist/channels/github/types.d.ts +170 -0
  47. package/dist/channels/github/types.d.ts.map +1 -0
  48. package/dist/channels/github/types.js +2 -0
  49. package/dist/channels/github/types.js.map +1 -0
  50. package/dist/channels/http/endpoint.d.ts +137 -0
  51. package/dist/channels/http/endpoint.d.ts.map +1 -0
  52. package/dist/channels/http/endpoint.js +286 -0
  53. package/dist/channels/http/endpoint.js.map +1 -0
  54. package/dist/channels/http/http.d.ts.map +1 -1
  55. package/dist/channels/http/http.js +439 -65
  56. package/dist/channels/http/http.js.map +1 -1
  57. package/dist/channels/http/index.d.ts +8 -1
  58. package/dist/channels/http/index.d.ts.map +1 -1
  59. package/dist/channels/http/index.js +35 -16
  60. package/dist/channels/http/index.js.map +1 -1
  61. package/dist/channels/http/ingress.d.ts +67 -5
  62. package/dist/channels/http/ingress.d.ts.map +1 -1
  63. package/dist/channels/http/ingress.js +155 -43
  64. package/dist/channels/http/ingress.js.map +1 -1
  65. package/dist/channels/http/provider.d.ts +125 -0
  66. package/dist/channels/http/provider.d.ts.map +1 -0
  67. package/dist/channels/http/provider.js +227 -0
  68. package/dist/channels/http/provider.js.map +1 -0
  69. package/dist/channels/http/studio.d.ts +24 -0
  70. package/dist/channels/http/studio.d.ts.map +1 -0
  71. package/dist/channels/http/studio.js +95 -0
  72. package/dist/channels/http/studio.js.map +1 -0
  73. package/dist/channels/http/threads.d.ts +7 -0
  74. package/dist/channels/http/threads.d.ts.map +1 -0
  75. package/dist/channels/http/threads.js +10 -0
  76. package/dist/channels/http/threads.js.map +1 -0
  77. package/dist/channels/http/types.d.ts +166 -2
  78. package/dist/channels/http/types.d.ts.map +1 -1
  79. package/dist/channels/linear/app-setup.d.ts +29 -0
  80. package/dist/channels/linear/app-setup.d.ts.map +1 -0
  81. package/dist/channels/linear/app-setup.js +102 -0
  82. package/dist/channels/linear/app-setup.js.map +1 -0
  83. package/dist/channels/linear/connections.d.ts +11 -0
  84. package/dist/channels/linear/connections.d.ts.map +1 -0
  85. package/dist/channels/linear/connections.js +14 -0
  86. package/dist/channels/linear/connections.js.map +1 -0
  87. package/dist/channels/linear/graphql.d.ts +57 -0
  88. package/dist/channels/linear/graphql.d.ts.map +1 -0
  89. package/dist/channels/linear/graphql.js +167 -0
  90. package/dist/channels/linear/graphql.js.map +1 -0
  91. package/dist/channels/linear/index.d.ts +13 -0
  92. package/dist/channels/linear/index.d.ts.map +1 -0
  93. package/dist/channels/linear/index.js +457 -0
  94. package/dist/channels/linear/index.js.map +1 -0
  95. package/dist/channels/linear/schema.d.ts +1050 -0
  96. package/dist/channels/linear/schema.d.ts.map +1 -0
  97. package/dist/channels/linear/schema.js +255 -0
  98. package/dist/channels/linear/schema.js.map +1 -0
  99. package/dist/channels/linear/types.d.ts +169 -0
  100. package/dist/channels/linear/types.d.ts.map +1 -0
  101. package/dist/channels/linear/types.js +2 -0
  102. package/dist/channels/linear/types.js.map +1 -0
  103. package/dist/channels/message-schema.d.ts +2 -0
  104. package/dist/channels/message-schema.d.ts.map +1 -1
  105. package/dist/channels/message-schema.js +4 -0
  106. package/dist/channels/message-schema.js.map +1 -1
  107. package/dist/channels/messaging-registry.d.ts +16 -0
  108. package/dist/channels/messaging-registry.d.ts.map +1 -1
  109. package/dist/channels/messaging-registry.js +29 -0
  110. package/dist/channels/messaging-registry.js.map +1 -1
  111. package/dist/channels/reserved-connections.d.ts +12 -0
  112. package/dist/channels/reserved-connections.d.ts.map +1 -0
  113. package/dist/channels/reserved-connections.js +55 -0
  114. package/dist/channels/reserved-connections.js.map +1 -0
  115. package/dist/channels/resolve-user-endpoint.d.ts +34 -0
  116. package/dist/channels/resolve-user-endpoint.d.ts.map +1 -0
  117. package/dist/channels/resolve-user-endpoint.js +51 -0
  118. package/dist/channels/resolve-user-endpoint.js.map +1 -0
  119. package/dist/channels/resolve-user.d.ts +95 -0
  120. package/dist/channels/resolve-user.d.ts.map +1 -0
  121. package/dist/channels/resolve-user.js +143 -0
  122. package/dist/channels/resolve-user.js.map +1 -0
  123. package/dist/channels/run-input.d.ts +88 -0
  124. package/dist/channels/run-input.d.ts.map +1 -0
  125. package/dist/channels/run-input.js +177 -0
  126. package/dist/channels/run-input.js.map +1 -0
  127. package/dist/channels/runtime.d.ts +5 -2
  128. package/dist/channels/runtime.d.ts.map +1 -1
  129. package/dist/channels/runtime.js +19 -10
  130. package/dist/channels/runtime.js.map +1 -1
  131. package/dist/channels/schedule-delivery.d.ts +2 -13
  132. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  133. package/dist/channels/schedule-delivery.js +6 -73
  134. package/dist/channels/schedule-delivery.js.map +1 -1
  135. package/dist/channels/slack/api.d.ts +2 -0
  136. package/dist/channels/slack/api.d.ts.map +1 -1
  137. package/dist/channels/slack/api.js +6 -0
  138. package/dist/channels/slack/api.js.map +1 -1
  139. package/dist/channels/slack/connections.d.ts +6 -0
  140. package/dist/channels/slack/connections.d.ts.map +1 -0
  141. package/dist/channels/slack/connections.js +6 -0
  142. package/dist/channels/slack/connections.js.map +1 -0
  143. package/dist/channels/slack/events.d.ts +278 -0
  144. package/dist/channels/slack/events.d.ts.map +1 -0
  145. package/dist/channels/slack/events.js +235 -0
  146. package/dist/channels/slack/events.js.map +1 -0
  147. package/dist/channels/slack/files.d.ts.map +1 -1
  148. package/dist/channels/slack/files.js +2 -3
  149. package/dist/channels/slack/files.js.map +1 -1
  150. package/dist/channels/slack/index.d.ts +90 -2
  151. package/dist/channels/slack/index.d.ts.map +1 -1
  152. package/dist/channels/slack/index.js +188 -6
  153. package/dist/channels/slack/index.js.map +1 -1
  154. package/dist/channels/slack/message-content.d.ts.map +1 -1
  155. package/dist/channels/slack/message-content.js +23 -28
  156. package/dist/channels/slack/message-content.js.map +1 -1
  157. package/dist/channels/slack/status.d.ts +76 -0
  158. package/dist/channels/slack/status.d.ts.map +1 -0
  159. package/dist/channels/slack/status.js +427 -0
  160. package/dist/channels/slack/status.js.map +1 -0
  161. package/dist/channels/source-providers.js +1 -1
  162. package/dist/channels/source-providers.js.map +1 -1
  163. package/dist/channels/trigger/client.d.ts.map +1 -1
  164. package/dist/channels/trigger/client.js +9 -15
  165. package/dist/channels/trigger/client.js.map +1 -1
  166. package/dist/channels/trigger/conversation.d.ts +11 -0
  167. package/dist/channels/trigger/conversation.d.ts.map +1 -0
  168. package/dist/channels/trigger/conversation.js +72 -0
  169. package/dist/channels/trigger/conversation.js.map +1 -0
  170. package/dist/channels/trigger/http.d.ts +130 -4
  171. package/dist/channels/trigger/http.d.ts.map +1 -1
  172. package/dist/channels/trigger/http.js +408 -78
  173. package/dist/channels/trigger/http.js.map +1 -1
  174. package/dist/channels/trigger/identity-context.d.ts.map +1 -1
  175. package/dist/channels/trigger/identity-context.js +2 -5
  176. package/dist/channels/trigger/identity-context.js.map +1 -1
  177. package/dist/channels/trigger/ingress.d.ts +70 -1
  178. package/dist/channels/trigger/ingress.d.ts.map +1 -1
  179. package/dist/channels/trigger/ingress.js +135 -21
  180. package/dist/channels/trigger/ingress.js.map +1 -1
  181. package/dist/channels/trigger/transport.d.ts +10 -0
  182. package/dist/channels/trigger/transport.d.ts.map +1 -1
  183. package/dist/channels/trigger/transport.js +25 -9
  184. package/dist/channels/trigger/transport.js.map +1 -1
  185. package/dist/channels/trigger/types.d.ts +92 -3
  186. package/dist/channels/trigger/types.d.ts.map +1 -1
  187. package/dist/channels/trigger/types.js +37 -0
  188. package/dist/channels/trigger/types.js.map +1 -1
  189. package/dist/channels/types.d.ts +53 -4
  190. package/dist/channels/types.d.ts.map +1 -1
  191. package/dist/channels/types.js +2 -0
  192. package/dist/channels/types.js.map +1 -1
  193. package/dist/connections.d.ts +36 -12
  194. package/dist/connections.d.ts.map +1 -1
  195. package/dist/connections.js +125 -30
  196. package/dist/connections.js.map +1 -1
  197. package/dist/connectors/mcp/langsmith-url.d.ts.map +1 -1
  198. package/dist/connectors/mcp/langsmith-url.js +0 -1
  199. package/dist/connectors/mcp/langsmith-url.js.map +1 -1
  200. package/dist/credential-gate.d.ts +2 -0
  201. package/dist/credential-gate.d.ts.map +1 -1
  202. package/dist/credential-gate.js +37 -3
  203. package/dist/credential-gate.js.map +1 -1
  204. package/dist/define-deep-agent.d.ts +2 -2
  205. package/dist/define-deep-agent.d.ts.map +1 -1
  206. package/dist/define-deep-agent.js +53 -2
  207. package/dist/define-deep-agent.js.map +1 -1
  208. package/dist/identity/index.d.ts.map +1 -1
  209. package/dist/identity/index.js +3 -1
  210. package/dist/identity/index.js.map +1 -1
  211. package/dist/identity/loopback.d.ts +1 -1
  212. package/dist/identity/loopback.d.ts.map +1 -1
  213. package/dist/identity/loopback.js +3 -2
  214. package/dist/identity/loopback.js.map +1 -1
  215. package/dist/identity/options.d.ts +9 -0
  216. package/dist/identity/options.d.ts.map +1 -1
  217. package/dist/identity/options.js +1 -1
  218. package/dist/identity/options.js.map +1 -1
  219. package/dist/identity/slack/links.js +3 -2
  220. package/dist/identity/slack/links.js.map +1 -1
  221. package/dist/identity/types.d.ts +3 -0
  222. package/dist/identity/types.d.ts.map +1 -1
  223. package/dist/index.d.ts +19 -5
  224. package/dist/index.d.ts.map +1 -1
  225. package/dist/index.js +3 -1
  226. package/dist/index.js.map +1 -1
  227. package/dist/ingress/loopback.d.ts +1 -0
  228. package/dist/ingress/loopback.d.ts.map +1 -1
  229. package/dist/ingress/loopback.js +7 -3
  230. package/dist/ingress/loopback.js.map +1 -1
  231. package/dist/ingress/runs.d.ts +74 -1
  232. package/dist/ingress/runs.d.ts.map +1 -1
  233. package/dist/ingress/runs.js +184 -9
  234. package/dist/ingress/runs.js.map +1 -1
  235. package/dist/managed-composition.d.ts +3 -0
  236. package/dist/managed-composition.d.ts.map +1 -1
  237. package/dist/managed-composition.js +29 -13
  238. package/dist/managed-composition.js.map +1 -1
  239. package/dist/namespaces.d.ts +25 -21
  240. package/dist/namespaces.d.ts.map +1 -1
  241. package/dist/namespaces.js +4 -29
  242. package/dist/namespaces.js.map +1 -1
  243. package/dist/runtime/async-subagents.d.ts +27 -0
  244. package/dist/runtime/async-subagents.d.ts.map +1 -0
  245. package/dist/runtime/async-subagents.js +139 -0
  246. package/dist/runtime/async-subagents.js.map +1 -0
  247. package/dist/runtime/auth.d.ts.map +1 -1
  248. package/dist/runtime/auth.js +177 -8
  249. package/dist/runtime/auth.js.map +1 -1
  250. package/dist/runtime/backend.d.ts +9 -1
  251. package/dist/runtime/backend.d.ts.map +1 -1
  252. package/dist/runtime/backend.js +36 -11
  253. package/dist/runtime/backend.js.map +1 -1
  254. package/dist/runtime/browser-facade.d.ts +10 -0
  255. package/dist/runtime/browser-facade.d.ts.map +1 -0
  256. package/dist/runtime/browser-facade.js +23 -0
  257. package/dist/runtime/browser-facade.js.map +1 -0
  258. package/dist/runtime/browser-langsmith.d.ts +143 -0
  259. package/dist/runtime/browser-langsmith.d.ts.map +1 -0
  260. package/dist/runtime/browser-langsmith.js +508 -0
  261. package/dist/runtime/browser-langsmith.js.map +1 -0
  262. package/dist/runtime/browser-recorder.py +831 -0
  263. package/dist/runtime/browser-selection.d.ts +10 -0
  264. package/dist/runtime/browser-selection.d.ts.map +1 -0
  265. package/dist/runtime/browser-selection.js +21 -0
  266. package/dist/runtime/browser-selection.js.map +1 -0
  267. package/dist/runtime/browser.d.ts +138 -0
  268. package/dist/runtime/browser.d.ts.map +1 -0
  269. package/dist/runtime/browser.js +802 -0
  270. package/dist/runtime/browser.js.map +1 -0
  271. package/dist/runtime/channel-icon.d.ts +22 -0
  272. package/dist/runtime/channel-icon.d.ts.map +1 -0
  273. package/dist/runtime/channel-icon.js +81 -0
  274. package/dist/runtime/channel-icon.js.map +1 -0
  275. package/dist/runtime/channel.d.ts +11 -0
  276. package/dist/runtime/channel.d.ts.map +1 -1
  277. package/dist/runtime/channel.js.map +1 -1
  278. package/dist/runtime/graph-build-timing.d.ts +30 -0
  279. package/dist/runtime/graph-build-timing.d.ts.map +1 -0
  280. package/dist/runtime/graph-build-timing.js +50 -0
  281. package/dist/runtime/graph-build-timing.js.map +1 -0
  282. package/dist/runtime/identity-http.d.ts +2 -0
  283. package/dist/runtime/identity-http.d.ts.map +1 -1
  284. package/dist/runtime/identity-http.js +38 -2
  285. package/dist/runtime/identity-http.js.map +1 -1
  286. package/dist/runtime/identity-runtime.d.ts +10 -0
  287. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  288. package/dist/runtime/identity-runtime.js +22 -0
  289. package/dist/runtime/identity-runtime.js.map +1 -1
  290. package/dist/runtime/index.d.ts +38 -1
  291. package/dist/runtime/index.d.ts.map +1 -1
  292. package/dist/runtime/index.js +104 -50
  293. package/dist/runtime/index.js.map +1 -1
  294. package/dist/runtime/langsmith-env.d.ts +19 -0
  295. package/dist/runtime/langsmith-env.d.ts.map +1 -0
  296. package/dist/runtime/langsmith-env.js +38 -0
  297. package/dist/runtime/langsmith-env.js.map +1 -0
  298. package/dist/runtime/managed-thread.d.ts +61 -0
  299. package/dist/runtime/managed-thread.d.ts.map +1 -0
  300. package/dist/runtime/managed-thread.js +76 -0
  301. package/dist/runtime/managed-thread.js.map +1 -0
  302. package/dist/runtime/managed-tools.d.ts +10 -2
  303. package/dist/runtime/managed-tools.d.ts.map +1 -1
  304. package/dist/runtime/managed-tools.js +10 -8
  305. package/dist/runtime/managed-tools.js.map +1 -1
  306. package/dist/runtime/memory/policy.d.ts.map +1 -1
  307. package/dist/runtime/memory/policy.js +1 -3
  308. package/dist/runtime/memory/policy.js.map +1 -1
  309. package/dist/runtime/parent-run.d.ts +33 -0
  310. package/dist/runtime/parent-run.d.ts.map +1 -0
  311. package/dist/runtime/parent-run.js +114 -0
  312. package/dist/runtime/parent-run.js.map +1 -0
  313. package/dist/runtime/run-input.d.ts +14 -1
  314. package/dist/runtime/run-input.d.ts.map +1 -1
  315. package/dist/runtime/run-input.js +100 -7
  316. package/dist/runtime/run-input.js.map +1 -1
  317. package/dist/runtime/sandbox-manager.d.ts +32 -18
  318. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  319. package/dist/runtime/sandbox-manager.js +109 -65
  320. package/dist/runtime/sandbox-manager.js.map +1 -1
  321. package/dist/runtime/schedule-auth.d.ts +79 -0
  322. package/dist/runtime/schedule-auth.d.ts.map +1 -1
  323. package/dist/runtime/schedule-auth.js +165 -7
  324. package/dist/runtime/schedule-auth.js.map +1 -1
  325. package/dist/runtime/static-entry.d.ts.map +1 -1
  326. package/dist/runtime/static-entry.js +1 -0
  327. package/dist/runtime/static-entry.js.map +1 -1
  328. package/dist/runtime/thread-record.d.ts +88 -0
  329. package/dist/runtime/thread-record.d.ts.map +1 -0
  330. package/dist/runtime/thread-record.js +213 -0
  331. package/dist/runtime/thread-record.js.map +1 -0
  332. package/dist/runtime/types.d.ts +12 -1
  333. package/dist/runtime/types.d.ts.map +1 -1
  334. package/dist/runtime-schedules.d.ts +15 -0
  335. package/dist/runtime-schedules.d.ts.map +1 -1
  336. package/dist/runtime-schedules.js +83 -20
  337. package/dist/runtime-schedules.js.map +1 -1
  338. package/dist/sandbox.d.ts +0 -6
  339. package/dist/sandbox.d.ts.map +1 -1
  340. package/dist/sandbox.js +3 -7
  341. package/dist/sandbox.js.map +1 -1
  342. package/dist/schedule-channel.d.ts +5 -2
  343. package/dist/schedule-channel.d.ts.map +1 -1
  344. package/dist/schedule-channel.js +13 -12
  345. package/dist/schedule-channel.js.map +1 -1
  346. package/dist/telemetry/metadata.d.ts.map +1 -1
  347. package/dist/telemetry/metadata.js +4 -4
  348. package/dist/telemetry/metadata.js.map +1 -1
  349. package/dist/telemetry/otel/exporter.d.ts.map +1 -1
  350. package/dist/telemetry/otel/exporter.js +3 -3
  351. package/dist/telemetry/otel/exporter.js.map +1 -1
  352. package/dist/types.d.ts +19 -2
  353. package/dist/types.d.ts.map +1 -1
  354. package/dist/types.js.map +1 -1
  355. package/dist/values.d.ts +15 -0
  356. package/dist/values.d.ts.map +1 -0
  357. package/dist/values.js +31 -0
  358. package/dist/values.js.map +1 -0
  359. package/package.json +26 -12
@@ -17,12 +17,14 @@ export declare const SANDBOX_API_ENDPOINT_ENV = "MDA_SANDBOX_API_ENDPOINT";
17
17
  * resolves `snapshotName` in the wrong workspace and 404s on the recipe.
18
18
  */
19
19
  export declare const WORKSPACE_ID_ENV = "LANGSMITH_WORKSPACE_ID";
20
+ /** Run `fn` with sandbox scope keys resolving to `leadThread`'s sandbox, if set. */
21
+ export declare function withLeadSandbox<T>(leadThread: string | undefined, fn: () => T): T;
20
22
  /** Optional runtime inputs that drive connector sandbox provisioning. */
21
23
  export interface ResolveManagedSandboxOptions {
22
24
  connectors?: Connector[];
23
25
  identity?: IdentityDefinition;
24
- /** Fingerprint of an explicit dynamic sandbox selection. */
25
- selectionFingerprint?: string;
26
+ /** An explicit dynamic sandbox selection. */
27
+ selection?: SandboxSelection;
26
28
  }
27
29
  /**
28
30
  * Resolve (and cache) the per-thread LangSmith sandbox backend for this run.
@@ -34,10 +36,29 @@ export interface ResolveManagedSandboxOptions {
34
36
  * messages in an already-synced thread (mode `"credentials"`).
35
37
  */
36
38
  export declare function resolveManagedSandbox(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined, options?: ResolveManagedSandboxOptions): Promise<SandboxBackendProtocolV2>;
39
+ /**
40
+ * The thread's sandbox if this process has opened it, by any caller; never
41
+ * opens one. A sandbox being recreated reads as unopened until its
42
+ * replacement is ready. Like resolving, it needs `configurable.thread_id`.
43
+ */
44
+ export declare function openedManagedSandbox(config: ManagedRunConfig | undefined, selection?: SandboxSelection): SandboxBackendProtocolV2 | undefined;
37
45
  export declare function isSandboxNotFoundError(error: unknown): boolean;
38
46
  export declare function recoverManagedSandbox(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined, failedBackend: SandboxBackendProtocolV2, options?: ResolveManagedSandboxOptions): Promise<SandboxBackendProtocolV2>;
39
- /** Derive the process-level reuse key for a thread and optional selection. */
40
- export declare function sandboxScopeKey(config: ManagedRunConfig | undefined, selectionFingerprint?: string): string;
47
+ /**
48
+ * Derive the process-level reuse key for a thread and any dynamic selection's mounts.
49
+ *
50
+ * A dynamic selection's other options never change the key, so a live thread
51
+ * keeps its box when they change. An async subagent sharing its lead's sandbox
52
+ * uses the lead's thread, so both resolve, sync, and name the same sandbox.
53
+ */
54
+ export declare function sandboxScopeKey(config: ManagedRunConfig | undefined, selection?: SandboxSelection): string;
55
+ /** Digests of a dynamic sandbox selection's identity options and of its mounts alone. */
56
+ export interface SandboxSelection {
57
+ fingerprint: string;
58
+ mountsFingerprint?: string;
59
+ }
60
+ /** Fingerprint a dynamic selection: its options for create, its mounts for the box key. */
61
+ export declare function sandboxSelection(sandbox: SandboxDefinition): SandboxSelection;
41
62
  /**
42
63
  * Stable, non-plaintext identity for an explicit dynamic sandbox selection.
43
64
  *
@@ -47,14 +68,6 @@ export declare function sandboxScopeKey(config: ManagedRunConfig | undefined, se
47
68
  * are rejected.
48
69
  */
49
70
  export declare function sandboxSelectionFingerprint(sandbox: SandboxDefinition): string;
50
- /**
51
- * Reconstruct the 0.9.0 selection fingerprint, which hashed every option.
52
- *
53
- * Used only to reconnect a live 0.9.0 box — new boxes are created under
54
- * {@link sandboxSelectionFingerprint}. Remove in 0.10 once 0.9.0 sandboxes have
55
- * idled out.
56
- */
57
- export declare function legacySandboxSelectionFingerprint(sandbox: SandboxDefinition): string;
58
71
  /** Clear the process-level sandbox cache. @internal Test-only. */
59
72
  export declare function clearManagedSandboxCacheForTests(): void;
60
73
  /** Options that pin invalidation to the sandbox that actually failed. */
@@ -63,8 +76,8 @@ export interface InvalidateManagedSandboxOptions {
63
76
  expectedBackendId?: string;
64
77
  /** Host box name captured before the failing operation. */
65
78
  expectedHostName?: string;
66
- /** Fingerprint of the explicit dynamic selection being invalidated. */
67
- selectionFingerprint?: string;
79
+ /** The explicit dynamic selection being invalidated. */
80
+ selection?: SandboxSelection;
68
81
  }
69
82
  /**
70
83
  * Drop a cached sandbox and delete its Host box so recreate cannot adopt it.
@@ -88,10 +101,11 @@ export declare function isTransientSandboxError(error: unknown): boolean;
88
101
  * `mda delete` can find them again.
89
102
  *
90
103
  * `MDA_DEPLOYMENT_NAME` is injected by `mda deploy`; `LANGSMITH_DEPLOYMENT_NAME`
91
- * is the platform's own value and is preferred when present. Undefined under
92
- * local `mda dev`, where sandboxes stay unnamed and LangSmith generates a name.
104
+ * is the platform's own value and is preferred when present. Under `mda dev`
105
+ * sandboxes fall back to {@link localDevDeploymentName}, but a given `env`
106
+ * never does.
93
107
  */
94
- export declare function managedDeploymentName(): string | undefined;
108
+ export declare function managedDeploymentName(env?: NodeJS.ProcessEnv): string | undefined;
95
109
  /**
96
110
  * Deterministic sandbox name for a deployment and thread.
97
111
  *
@@ -130,7 +144,7 @@ export interface SandboxCreateRequest {
130
144
  options: CreateSandboxOptions;
131
145
  }
132
146
  /** Options for `createSandbox`. */
133
- export declare function sandboxCreateOptions(sandbox: SandboxDefinition, selectionFingerprint?: string): SandboxCreateRequest;
147
+ export declare function sandboxCreateOptions(sandbox: SandboxDefinition, selection?: SandboxSelection): SandboxCreateRequest;
134
148
  /**
135
149
  * Constructor options for the LangSmith sandbox client.
136
150
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
1
2
  import { createHash, randomBytes } from "node:crypto";
3
+ import { hostname } from "node:os";
2
4
  import { LangSmithSandbox } from "deepagents";
3
5
  import { Sandbox, SandboxClient, LangSmithResourceNotFoundError, LangSmithResourceAlreadyExistsError, LangSmithResourceNameConflictError, LangSmithSandboxConnectionError, } from "langsmith/sandbox";
4
6
  import { isConnectionReference } from "../connections.js";
5
7
  import { validateAndCollectSandboxProxyConfigReferences, staticSandboxProxyConfig, } from "../sandbox-proxy.js";
6
8
  import { hasSandboxConnectors, runConnectorSandboxHooks, } from "./connector.js";
9
+ import { resolveLangSmithEndpoint, resolveServerApiKey, } from "./langsmith-env.js";
7
10
  import { logger } from "./log.js";
8
11
  import { HOST_SANDBOX_NAME_LIMIT } from "./sandbox-names.js";
9
12
  /** Deployment secret naming the recipe snapshot baked at `mda deploy`. */
@@ -22,7 +25,7 @@ export const WORKSPACE_ID_ENV = "LANGSMITH_WORKSPACE_ID";
22
25
  /** Header the LangSmith APIs use to scope a request to one workspace. */
23
26
  const TENANT_HEADER = "X-Tenant-Id";
24
27
  /**
25
- * Created sandboxes, keyed by thread and any explicit dynamic selection,
28
+ * Created sandboxes, keyed by thread and any dynamic selection's mounts,
26
29
  * reused for the lifetime of this runtime process. Storing the in-flight
27
30
  * promise dedupes concurrent runs. Provisioning (`setup.sh`) happens at deploy
28
31
  * bake, not on thread create.
@@ -60,6 +63,12 @@ const SANDBOX_DEPLOYMENT_DIGEST_LENGTH = 8;
60
63
  const ADOPTABLE_STATUS = new Set(["ready", "running"]);
61
64
  /** Sandbox status for one that is stopped but restartable. */
62
65
  const STOPPED_STATUS = "stopped";
66
+ /** Lead thread whose sandbox this run shares; set only by the verified backend, never from config. */
67
+ const sharedLeadThread = new AsyncLocalStorage();
68
+ /** Run `fn` with sandbox scope keys resolving to `leadThread`'s sandbox, if set. */
69
+ export function withLeadSandbox(leadThread, fn) {
70
+ return leadThread ? sharedLeadThread.run(leadThread, fn) : fn();
71
+ }
63
72
  /**
64
73
  * Resolve (and cache) the per-thread LangSmith sandbox backend for this run.
65
74
  * When deploy baked a recipe, new sandboxes clone it; otherwise Host supplies
@@ -70,21 +79,28 @@ const STOPPED_STATUS = "stopped";
70
79
  * messages in an already-synced thread (mode `"credentials"`).
71
80
  */
72
81
  export function resolveManagedSandbox(sandbox, config, options) {
73
- const key = sandboxScopeKey(config, options?.selectionFingerprint);
82
+ const key = sandboxScopeKey(config, options?.selection);
74
83
  const hasSandbox = hasSandboxConnectors(options?.connectors);
84
+ // A subagent on its lead's sandbox only refreshes credentials.
85
+ const sharesLeadSandbox = sharedLeadThread.getStore() !== undefined;
75
86
  let entry = managedSandboxes.get(key);
76
- if (!entry) {
87
+ if (entry) {
88
+ warnSelectionChanged(entry, options?.selection, config);
89
+ }
90
+ else {
77
91
  const created = {
78
92
  syncedThreads: new Set(),
79
93
  syncChain: Promise.resolve(),
80
94
  freshlyCreated: true,
95
+ selectionFingerprint: options?.selection?.fingerprint,
81
96
  ready: Promise.resolve().then(async () => {
82
- const { backend, hostName, sandboxId } = await createLangSmithSandbox(sandbox, config, options, "create", key);
97
+ const { backend, hostName, sandboxId } = await createLangSmithSandbox(sandbox, config, options, "create", key, { adoptedMode: sharesLeadSandbox ? "credentials" : "reuse" });
83
98
  created.hostName = hostName;
84
99
  created.sandboxId = sandboxId;
85
100
  const id = backend.id;
86
101
  created.backendId =
87
102
  typeof id === "string" && id.trim() ? id.trim() : undefined;
103
+ created.backend = backend;
88
104
  if (hostName) {
89
105
  backendHostNames.set(backend, hostName);
90
106
  }
@@ -112,8 +128,8 @@ export function resolveManagedSandbox(sandbox, config, options) {
112
128
  cached.freshlyCreated = false;
113
129
  return;
114
130
  }
115
- if (cached.syncedThreads.has(key)) {
116
- // Same thread: refresh credentials / CLI wiring without re-cloning.
131
+ if (cached.syncedThreads.has(key) || sharesLeadSandbox) {
132
+ // Same thread, or a lead's subagent: refresh credentials / CLI wiring without re-cloning.
117
133
  // Otherwise redeploys that fix auth (e.g. gh wrapper) never apply mid-thread.
118
134
  await runConnectorSandboxHooks(options?.connectors, {
119
135
  backend,
@@ -136,13 +152,21 @@ export function resolveManagedSandbox(sandbox, config, options) {
136
152
  return backend;
137
153
  });
138
154
  }
155
+ /**
156
+ * The thread's sandbox if this process has opened it, by any caller; never
157
+ * opens one. A sandbox being recreated reads as unopened until its
158
+ * replacement is ready. Like resolving, it needs `configurable.thread_id`.
159
+ */
160
+ export function openedManagedSandbox(config, selection) {
161
+ return managedSandboxes.get(sandboxScopeKey(config, selection))?.backend;
162
+ }
139
163
  export function isSandboxNotFoundError(error) {
140
164
  return (error instanceof LangSmithResourceNotFoundError ||
141
165
  (error instanceof LangSmithSandboxConnectionError &&
142
166
  /\bHTTP 404\b/.test(error.message)));
143
167
  }
144
168
  export async function recoverManagedSandbox(sandbox, config, failedBackend, options) {
145
- const key = sandboxScopeKey(config, options?.selectionFingerprint);
169
+ const key = sandboxScopeKey(config, options?.selection);
146
170
  const entry = managedSandboxes.get(key);
147
171
  if (!entry)
148
172
  return failedBackend;
@@ -168,10 +192,12 @@ export async function recoverManagedSandbox(sandbox, config, failedBackend, opti
168
192
  syncChain: Promise.resolve(),
169
193
  freshlyCreated: false,
170
194
  hostName: entry.hostName,
195
+ selectionFingerprint: options?.selection?.fingerprint,
171
196
  ready: Promise.resolve().then(async () => {
172
- const { backend, hostName, sandboxId } = await createLangSmithSandbox(sandbox, config, options, "create", key, entry.hostName, existing);
197
+ const { backend, hostName, sandboxId } = await createLangSmithSandbox(sandbox, config, options, "create", key, { recoveryName: entry.hostName, existingSandbox: existing });
173
198
  replacement.sandboxId = sandboxId;
174
199
  replacement.backendId = backend.id;
200
+ replacement.backend = backend;
175
201
  if (hostName)
176
202
  backendHostNames.set(backend, hostName);
177
203
  return backend;
@@ -185,13 +211,41 @@ export async function recoverManagedSandbox(sandbox, config, failedBackend, opti
185
211
  managedSandboxes.set(key, replacement);
186
212
  return await replacement.ready;
187
213
  }
188
- /** Derive the process-level reuse key for a thread and optional selection. */
189
- export function sandboxScopeKey(config, selectionFingerprint) {
190
- const threadKey = `thread:${threadIdFromConfig(config)}`;
191
- return selectionFingerprint
192
- ? `${threadKey}:sandbox:${selectionFingerprint}`
214
+ /**
215
+ * Derive the process-level reuse key for a thread and any dynamic selection's mounts.
216
+ *
217
+ * A dynamic selection's other options never change the key, so a live thread
218
+ * keeps its box when they change. An async subagent sharing its lead's sandbox
219
+ * uses the lead's thread, so both resolve, sync, and name the same sandbox.
220
+ */
221
+ export function sandboxScopeKey(config, selection) {
222
+ const threadKey = `thread:${sharedLeadThread.getStore() ?? threadIdFromConfig(config)}`;
223
+ return selection?.mountsFingerprint
224
+ ? `${threadKey}:mounts:${selection.mountsFingerprint}`
193
225
  : threadKey;
194
226
  }
227
+ /** Fingerprint a dynamic selection: its options for create, its mounts for the box key. */
228
+ export function sandboxSelection(sandbox) {
229
+ const mounts = sandbox.options?.mountConfig?.mounts;
230
+ return {
231
+ fingerprint: sandboxSelectionFingerprint(sandbox),
232
+ mountsFingerprint: mounts?.length ? sandboxValueDigest(mounts) : undefined,
233
+ };
234
+ }
235
+ /** Warn when a run's selection options differ from those the live box was created with. */
236
+ function warnSelectionChanged(entry, selection, config) {
237
+ if (!selection ||
238
+ entry.selectionFingerprint === undefined ||
239
+ entry.selectionFingerprint === selection.fingerprint) {
240
+ return;
241
+ }
242
+ logger.warn(`sandbox options changed on thread ${threadIdFromConfig(config)}; they apply only when a new sandbox is created`);
243
+ }
244
+ function sandboxValueDigest(value) {
245
+ return createHash("sha256")
246
+ .update(JSON.stringify(canonicalSandboxValue(value, new Set())))
247
+ .digest("hex");
248
+ }
195
249
  /**
196
250
  * Stable, non-plaintext identity for an explicit dynamic sandbox selection.
197
251
  *
@@ -212,21 +266,7 @@ export function sandboxSelectionFingerprint(sandbox) {
212
266
  fsCapacityBytes: options.fsCapacityBytes,
213
267
  mounts: options.mountConfig?.mounts,
214
268
  }).filter(([, value]) => value !== undefined));
215
- return createHash("sha256")
216
- .update(JSON.stringify(canonicalSandboxValue(identity, new Set())))
217
- .digest("hex");
218
- }
219
- /**
220
- * Reconstruct the 0.9.0 selection fingerprint, which hashed every option.
221
- *
222
- * Used only to reconnect a live 0.9.0 box — new boxes are created under
223
- * {@link sandboxSelectionFingerprint}. Remove in 0.10 once 0.9.0 sandboxes have
224
- * idled out.
225
- */
226
- export function legacySandboxSelectionFingerprint(sandbox) {
227
- return createHash("sha256")
228
- .update(JSON.stringify(canonicalSandboxValue(sandbox.options, new Set())))
229
- .digest("hex");
269
+ return sandboxValueDigest(identity);
230
270
  }
231
271
  function canonicalSandboxValue(value, ancestors) {
232
272
  if (value === null)
@@ -307,8 +347,8 @@ export function clearManagedSandboxCacheForTests() {
307
347
  * recreate.
308
348
  */
309
349
  export async function invalidateManagedSandbox(sandbox, config, options = {}) {
310
- const { expectedBackendId, expectedHostName, selectionFingerprint } = options;
311
- const key = sandboxScopeKey(config, selectionFingerprint);
350
+ const { expectedBackendId, expectedHostName, selection } = options;
351
+ const key = sandboxScopeKey(config, selection);
312
352
  const names = new Set();
313
353
  let popCache = true;
314
354
  let entry = managedSandboxes.get(key);
@@ -344,7 +384,7 @@ export async function invalidateManagedSandbox(sandbox, config, options = {}) {
344
384
  expectedBackendId === undefined &&
345
385
  expectedHostName === undefined) {
346
386
  try {
347
- for (const computed of hostSandboxNamesFor(sandbox, config, selectionFingerprint)) {
387
+ for (const computed of hostSandboxNamesFor(sandbox, config, selection)) {
348
388
  names.add(computed);
349
389
  }
350
390
  }
@@ -406,12 +446,26 @@ export function isTransientSandboxError(error) {
406
446
  * `mda delete` can find them again.
407
447
  *
408
448
  * `MDA_DEPLOYMENT_NAME` is injected by `mda deploy`; `LANGSMITH_DEPLOYMENT_NAME`
409
- * is the platform's own value and is preferred when present. Undefined under
410
- * local `mda dev`, where sandboxes stay unnamed and LangSmith generates a name.
449
+ * is the platform's own value and is preferred when present. Under `mda dev`
450
+ * sandboxes fall back to {@link localDevDeploymentName}, but a given `env`
451
+ * never does.
452
+ */
453
+ export function managedDeploymentName(env) {
454
+ const values = env ?? process.env;
455
+ return (stringOption(values.LANGSMITH_DEPLOYMENT_NAME) ??
456
+ stringOption(values.MDA_DEPLOYMENT_NAME) ??
457
+ (env === undefined ? localDevDeploymentName() : undefined));
458
+ }
459
+ /**
460
+ * A stable name for `mda dev` boxes, so a restarted dev server finds its
461
+ * threads' boxes. Unique per machine and project directory, so two projects
462
+ * never share a box.
411
463
  */
412
- export function managedDeploymentName() {
413
- return (stringOption(process.env.LANGSMITH_DEPLOYMENT_NAME) ??
414
- stringOption(process.env.MDA_DEPLOYMENT_NAME));
464
+ function localDevDeploymentName() {
465
+ if (process.env.MDA_LOCAL_DEV !== "1")
466
+ return undefined;
467
+ const machine = `${hostname()}\0${process.cwd()}`;
468
+ return `mda-dev-${createHash("sha256").update(machine).digest("hex").slice(0, 8)}`;
415
469
  }
416
470
  /**
417
471
  * Deterministic sandbox name for a deployment and thread.
@@ -478,7 +532,7 @@ function legacyProvisioningFingerprint(createOptions) {
478
532
  * `snapshotName`, and managed keys are dropped.
479
533
  */
480
534
  function legacySandboxCreateOptions(sandbox) {
481
- const { scope: _scope, apiKey: _apiKey, defaultTimeout: _defaultTimeout, templateName, snapshotId, ...resolvedCreateOptions } = (sandbox.options ?? {});
535
+ const { apiKey: _apiKey, defaultTimeout: _defaultTimeout, templateName, snapshotId, ...resolvedCreateOptions } = (sandbox.options ?? {});
482
536
  const createSandboxOptions = {
483
537
  ...resolvedCreateOptions,
484
538
  };
@@ -495,29 +549,23 @@ function legacySandboxCreateOptions(sandbox) {
495
549
  }
496
550
  return createSandboxOptions;
497
551
  }
498
- /** Create name, then 0.9.0 and 0.5.x names that only reconnect a live box. */
499
- function managedSandboxLookupNames(deployment, sandbox, config, selectionFingerprint) {
500
- const scopeKey = sandboxScopeKey(config, selectionFingerprint);
552
+ /** Create name, then 0.9.x and 0.5.x names that only reconnect a live box. */
553
+ function managedSandboxLookupNames(deployment, sandbox, config, selection) {
554
+ const scopeKey = sandboxScopeKey(config, selection);
501
555
  const names = [managedSandboxName(deployment, scopeKey)];
502
- if (selectionFingerprint) {
503
- try {
504
- names.push(managedSandboxName(deployment, sandboxScopeKey(config, legacySandboxSelectionFingerprint(sandbox))));
505
- }
506
- catch (error) {
507
- if (!(error instanceof TypeError))
508
- throw error;
509
- }
556
+ if (selection) {
557
+ names.push(managedSandboxName(deployment, `${sandboxScopeKey(config)}:sandbox:${selection.fingerprint}`));
510
558
  }
511
559
  names.push(legacyManagedSandboxName(deployment, scopeKey, legacySandboxCreateOptions(sandbox)));
512
560
  return [...new Set(names)];
513
561
  }
514
- async function createLangSmithSandbox(sandbox, config, options, mode, scopeKey, recoveryName, existingSandbox) {
515
- const { backend, adopted, hostName, sandboxId } = await createLangSmithSandboxBackend(sandbox, config, scopeKey, options?.selectionFingerprint, recoveryName, existingSandbox);
562
+ async function createLangSmithSandbox(sandbox, config, options, mode, scopeKey, { recoveryName, existingSandbox, adoptedMode = "reuse", } = {}) {
563
+ const { backend, adopted, hostName, sandboxId } = await createLangSmithSandboxBackend(sandbox, config, scopeKey, options?.selection, recoveryName, existingSandbox);
516
564
  await runConnectorSandboxHooks(options?.connectors, {
517
565
  backend,
518
566
  // An adopted sandbox already ran create-time provisioning in an earlier
519
567
  // process, so treat it as a reuse for connector purposes.
520
- mode: adopted ? "reuse" : mode,
568
+ mode: adopted ? adoptedMode : mode,
521
569
  config,
522
570
  identity: options?.identity,
523
571
  });
@@ -557,15 +605,15 @@ export function inheritSetupRecipe(selected, declared) {
557
605
  throw new TypeError(`sandbox/setup.sh is baked on ${bakedOn}, but this run selected ${base.key} ${JSON.stringify(base.value)}. Remove ${base.key} from the selected sandbox, or declare the same base in sandbox/index.ts.`);
558
606
  }
559
607
  /** Options for `createSandbox`. */
560
- export function sandboxCreateOptions(sandbox, selectionFingerprint) {
608
+ export function sandboxCreateOptions(sandbox, selection) {
561
609
  const { apiKey: _apiKey, defaultTimeout: _defaultTimeout, snapshotName, snapshotId, dockerImage: _dockerImage, registry: _registry, proxyConfig, ...resolvedCreateOptions } = sandbox.options ?? {};
562
610
  const options = { ...resolvedCreateOptions };
563
611
  const request = { options };
564
612
  const recipe = stringOption(process.env[RECIPE_SNAPSHOT_ENV]);
565
- if (selectionFingerprint && snapshotId) {
613
+ if (selection && snapshotId) {
566
614
  request.snapshotId = snapshotId;
567
615
  }
568
- else if (selectionFingerprint && snapshotName) {
616
+ else if (selection && snapshotName) {
569
617
  options.snapshotName = snapshotName;
570
618
  }
571
619
  else if (recipe) {
@@ -584,12 +632,12 @@ function createHostSandbox(client, request, name) {
584
632
  ? client.createSandbox(request.snapshotId, options)
585
633
  : client.createSandbox(options);
586
634
  }
587
- function hostSandboxNamesFor(sandbox, config, selectionFingerprint) {
635
+ function hostSandboxNamesFor(sandbox, config, selection) {
588
636
  const deployment = managedDeploymentName();
589
637
  if (!deployment) {
590
638
  return [];
591
639
  }
592
- return managedSandboxLookupNames(deployment, sandbox, config, selectionFingerprint);
640
+ return managedSandboxLookupNames(deployment, sandbox, config, selection);
593
641
  }
594
642
  /**
595
643
  * Constructor options for the LangSmith sandbox client.
@@ -599,9 +647,7 @@ function hostSandboxNamesFor(sandbox, config, selectionFingerprint) {
599
647
  */
600
648
  export function sandboxClientOptions(sandbox) {
601
649
  const apiEndpoint = configuredSandboxApiEndpoint();
602
- const apiKey = stringOption(sandbox.options?.apiKey) ??
603
- stringOption(process.env.LANGSMITH_API_KEY) ??
604
- stringOption(process.env.LANGCHAIN_API_KEY);
650
+ const apiKey = stringOption(sandbox.options?.apiKey) ?? resolveServerApiKey();
605
651
  const workspaceId = stringOption(process.env[WORKSPACE_ID_ENV]);
606
652
  if (!apiEndpoint && !apiKey && !workspaceId) {
607
653
  return undefined;
@@ -637,9 +683,7 @@ function sandboxApiEndpoint() {
637
683
  const configured = configuredSandboxApiEndpoint();
638
684
  if (configured)
639
685
  return configured;
640
- const base = stringOption(process.env.LANGSMITH_ENDPOINT) ??
641
- stringOption(process.env.LANGCHAIN_ENDPOINT) ??
642
- "https://api.smith.langchain.com";
686
+ const base = resolveLangSmithEndpoint();
643
687
  return `${base.replace(/\/$/, "")}/v2/sandboxes`;
644
688
  }
645
689
  async function deleteHostSandbox(sandbox, name) {
@@ -655,13 +699,13 @@ async function deleteHostSandbox(sandbox, name) {
655
699
  logger.error(`sandbox invalidate: delete failed name=${JSON.stringify(logger.logIdentifier(name))} err=${logger.safeErrorLabel(error)}`, error, { sandbox: name });
656
700
  }
657
701
  }
658
- async function createLangSmithSandboxBackend(sandbox, config, scopeKey, selectionFingerprint, recoveryName, existingSandbox) {
702
+ async function createLangSmithSandboxBackend(sandbox, config, scopeKey, selection, recoveryName, existingSandbox) {
659
703
  const { defaultTimeout } = sandbox.options ?? {};
660
- const createRequest = sandboxCreateOptions(sandbox, selectionFingerprint);
704
+ const createRequest = sandboxCreateOptions(sandbox, selection);
661
705
  const client = new SandboxClient(sandboxClientOptions(sandbox));
662
706
  const deployment = managedDeploymentName();
663
707
  const lookupNames = deployment
664
- ? managedSandboxLookupNames(deployment, sandbox, config, selectionFingerprint)
708
+ ? managedSandboxLookupNames(deployment, sandbox, config, selection)
665
709
  : [];
666
710
  const sandboxName = recoveryName ?? lookupNames[0];
667
711
  const fallbackName = deployment
@@ -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":"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"}