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

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 +7 -0
  251. package/dist/runtime/backend.d.ts.map +1 -1
  252. package/dist/runtime/backend.js +32 -7
  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 +97 -43
  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 +18 -4
  318. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  319. package/dist/runtime/sandbox-manager.js +57 -20
  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
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Async subagents: subagent specs marked `async: true` that MDA builds as their own graph.
3
+ */
4
+ import { GENERAL_PURPOSE_SUBAGENT } from "deepagents";
5
+ /** The general-purpose subagent, which served agents also get async. */
6
+ export const GENERAL_PURPOSE = "general-purpose";
7
+ /** The agent's skills, which deepagents' default general-purpose subagent loads. */
8
+ const AGENT_SKILLS = "/skills/";
9
+ /** Spec keys that override the lead's value; unset ones inherit it, like a sync subagent. */
10
+ const INHERITED_KEYS = [
11
+ "model",
12
+ "tools",
13
+ "permissions",
14
+ "interruptOn",
15
+ ];
16
+ /** Spec keys the lead never passes down, like a sync subagent. */
17
+ const OWN_KEYS = ["middleware", "responseFormat"];
18
+ /** Spec keys passed through to deepagents' `AsyncSubAgent`. */
19
+ const RUN_OPTION_KEYS = [
20
+ "webhook",
21
+ "notifyParent",
22
+ "updateStrategy",
23
+ "mode",
24
+ ];
25
+ /** Definition key for an async subagent's own skill sources (deepagents `SubAgent.skills`). */
26
+ export const SUBAGENT_SKILLS_KEY = "subagentSkills";
27
+ /** Whether `spec` is a subagent spec marked `async: true`. */
28
+ export function isAsyncSubagent(spec) {
29
+ return (typeof spec === "object" && spec !== null && spec.async === true);
30
+ }
31
+ /**
32
+ * Add an async general-purpose subagent, unless one is declared already.
33
+ *
34
+ * It copies a declared sync general-purpose subagent, or else deepagents'
35
+ * default, so the lead can run the same agent blocking or in the background.
36
+ */
37
+ export function withAsyncGeneralPurpose(definition) {
38
+ const subagents = specs(definition);
39
+ if (subagents.some((s) => isAsyncSubagent(s) && s.name === GENERAL_PURPOSE)) {
40
+ return definition;
41
+ }
42
+ const declared = subagents
43
+ .filter(isDeclarative)
44
+ .find((s) => s.name === GENERAL_PURPOSE);
45
+ // A declared one keeps its own `skills`; the default loads the agent's, like deepagents'.
46
+ const spec = declared ?? {
47
+ ...GENERAL_PURPOSE_SUBAGENT,
48
+ skills: [AGENT_SKILLS],
49
+ };
50
+ return withSubagents(definition, [...subagents, { ...spec, async: true }]);
51
+ }
52
+ /** Point each async subagent at the graph MDA built for it. */
53
+ export function routeAsyncSubagents(definition, graphs) {
54
+ const subagents = specs(definition);
55
+ if (!subagents.some(isAsyncSubagent))
56
+ return definition;
57
+ return withSubagents(definition, subagents.map((spec) => isAsyncSubagent(spec) ? route(spec, graphs) : spec));
58
+ }
59
+ /** Refuse async subagents in eval, which has no Agent Server to launch them on. */
60
+ export function rejectAsyncSubagents(definition) {
61
+ const spec = specs(definition).find(isAsyncSubagent);
62
+ if (spec) {
63
+ throw new Error(`async subagent ${JSON.stringify(spec.name)} is not supported in \`mda eval\`: ` +
64
+ "there is no Agent Server to launch it on");
65
+ }
66
+ }
67
+ /** Derive the definition of async subagent `name` from the lead's definition. */
68
+ export function asyncSubagentDefinition(definition, name) {
69
+ const spec = find(definition, name);
70
+ const config = { ...configOf(definition) };
71
+ for (const key of ["subagents", ...OWN_KEYS])
72
+ delete config[key];
73
+ for (const key of [...INHERITED_KEYS, ...OWN_KEYS]) {
74
+ if (key in spec)
75
+ config[key] = spec[key];
76
+ }
77
+ // Keep the lead's skills mount; load only the spec's `skills`. The lead's memory
78
+ // and instructions.md aren't the subagent's.
79
+ config[SUBAGENT_SKILLS_KEY] = Array.isArray(spec.skills)
80
+ ? [...spec.skills]
81
+ : [];
82
+ config.name = name;
83
+ config.memory = null;
84
+ config.instructions =
85
+ typeof spec.systemPrompt === "string" ? spec.systemPrompt : "";
86
+ return { ...definition, config };
87
+ }
88
+ function route(spec, graphs) {
89
+ const name = spec.name;
90
+ const graphId = typeof name === "string" ? graphs[name] : undefined;
91
+ if (graphId === undefined) {
92
+ throw new Error(`async subagent ${JSON.stringify(name)} has no graph. Declare it inline in ` +
93
+ "defineDeepAgent({ subagents: [...] }) with a literal `name` and " +
94
+ "`async: true` so `mda` can build it.");
95
+ }
96
+ const routed = {
97
+ name,
98
+ description: spec.description ?? "",
99
+ graphId,
100
+ };
101
+ for (const key of RUN_OPTION_KEYS) {
102
+ if (key in spec)
103
+ routed[key] = spec[key];
104
+ }
105
+ return routed;
106
+ }
107
+ function specs(definition) {
108
+ const subagents = configOf(definition).subagents;
109
+ return Array.isArray(subagents) ? subagents : [];
110
+ }
111
+ /** A definition's config as plain fields, to read and copy keys by name. */
112
+ function configOf(definition) {
113
+ return definition.config;
114
+ }
115
+ function withSubagents(definition, subagents) {
116
+ return {
117
+ ...definition,
118
+ config: { ...definition.config, subagents },
119
+ };
120
+ }
121
+ /** A sync spec MDA can copy: not prebuilt (`runnable`), async, or a fork of the lead. */
122
+ function isDeclarative(spec) {
123
+ return (typeof spec === "object" &&
124
+ spec !== null &&
125
+ !("runnable" in spec) &&
126
+ !("graphId" in spec) &&
127
+ spec.mode !== "fork" &&
128
+ !isAsyncSubagent(spec));
129
+ }
130
+ function find(definition, name) {
131
+ const spec = specs(definition)
132
+ .filter(isAsyncSubagent)
133
+ .find((s) => s.name === name);
134
+ if (!spec) {
135
+ throw new Error(`async subagent ${JSON.stringify(name)} is not declared in defineDeepAgent({ subagents: [...] })`);
136
+ }
137
+ return spec;
138
+ }
139
+ //# sourceMappingURL=async-subagents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-subagents.js","sourceRoot":"","sources":["../../src/runtime/async-subagents.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAItD,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AACjD,oFAAoF;AACpF,MAAM,YAAY,GAAG,UAAU,CAAC;AAEhC,6FAA6F;AAC7F,MAAM,cAAc,GAAG;IACrB,OAAO;IACP,OAAO;IACP,aAAa;IACb,aAAa;CACL,CAAC;AACX,kEAAkE;AAClE,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAU,CAAC;AAC3D,+DAA+D;AAC/D,MAAM,eAAe,GAAG;IACtB,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,MAAM;CACE,CAAC;AAEX,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAOpD,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAK,IAAa,CAAC,KAAK,KAAK,IAAI,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAA+B;IAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,CAAC;QAC5E,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS;SACvB,MAAM,CAAC,aAAa,CAAC;SACrB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;IAC3C,0FAA0F;IAC1F,MAAM,IAAI,GAAG,QAAQ,IAAI;QACvB,GAAG,wBAAwB;QAC3B,MAAM,EAAE,CAAC,YAAY,CAAC;KACvB,CAAC;IACF,OAAO,aAAa,CAAC,UAAU,EAAE,CAAC,GAAG,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,mBAAmB,CACjC,UAA+B,EAC/B,MAAwC;IAExC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;QAAE,OAAO,UAAU,CAAC;IACxD,OAAO,aAAa,CAClB,UAAU,EACV,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACnD,CACF,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,oBAAoB,CAAC,UAA+B;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACrD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC;YAC9E,0CAA0C,CAC7C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,uBAAuB,CACrC,UAA+B,EAC/B,IAAY;IAEZ,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAS,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,cAAc,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QACnD,IAAI,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IACD,iFAAiF;IACjF,6CAA6C;IAC7C,MAAM,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACtD,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,EAAE,GAAG,UAAU,EAAE,MAAM,EAAoC,CAAC;AACrE,CAAC;AAED,SAAS,KAAK,CAAC,IAAU,EAAE,MAAwC;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sCAAsC;YAC1E,kEAAkE;YAClE,sCAAsC,CACzC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAS;QACnB,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,OAAO;KACR,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,UAA+B;IAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,UAA+B;IAC/C,OAAO,UAAU,CAAC,MAAyB,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CACpB,UAA+B,EAC/B,SAAoB;IAEpB,OAAO;QACL,GAAG,UAAU;QACb,MAAM,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE;KACrB,CAAC;AAC3B,CAAC;AAED,yFAAyF;AACzF,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;QACrB,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;QACnB,IAAa,CAAC,IAAI,KAAK,MAAM;QAC9B,CAAC,eAAe,CAAC,IAAI,CAAC,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,UAA+B,EAAE,IAAY;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;SAC3B,MAAM,CAAC,eAAe,CAAC;SACvB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2DAA2D,CAClG,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,11 @@ import { Auth, HTTPException, isStudioUser, } from "@langchain/langgraph-sdk/aut
3
3
  import { isTrustedSourceProvider } from "../channels/source-providers.js";
4
4
  import {} from "../identity/index.js";
5
5
  import { buildRuntimeIdentity, runtimeUserId } from "./identity-runtime.js";
6
+ import { logger } from "./log.js";
7
+ import { THREAD_CONVERSATION_METADATA, hasThreadRecordKeys, parseThreadRecord, stripThreadRecordKeys, } from "./thread-record.js";
6
8
  import { resolveValidatedTokenUser } from "./validated-token.js";
7
- import { authorizeSchedule, scheduleAccess, scheduleHandoffUser, } from "./schedule-auth.js";
9
+ import { authorizeSchedule, isScheduleThreadRecord, scheduleAccess, scheduleHandoffUser, threadHandoffGrant, threadHandoffUser, } from "./schedule-auth.js";
10
+ import { isRecord } from "../values.js";
8
11
  /**
9
12
  * Reserved transport for the trusted-backend ingress mode. User identity
10
13
  * travels as reserved headers (mapped into `config.configurable` by the generated
@@ -77,6 +80,9 @@ export function buildManagedAuth(identity) {
77
80
  const scheduleUser = scheduleHandoffUser(request);
78
81
  if (scheduleUser)
79
82
  return scheduleUser;
83
+ const handoffUser = threadHandoffUser(request);
84
+ if (handoffUser)
85
+ return handoffUser;
80
86
  // Provider-signed channel Events must reach the public HTTP handler before
81
87
  // MDA ingress can succeed (Slack cannot present x-mda-ingress-secret).
82
88
  if (isChannelEventsRequest(request)) {
@@ -98,19 +104,43 @@ export function buildManagedAuth(identity) {
98
104
  return resolveValidatedTokenUser(cfg, http, request);
99
105
  });
100
106
  // Let Studio inspect every deployment thread so channel-triggered runs and
101
- // their interrupts are visible there. Keep mutations owner-scoped: Studio
107
+ // their interrupts are visible there, and answer interrupts on any thread,
108
+ // which channels link to. Keep other mutations owner-scoped: Studio
102
109
  // identity is reachable by any holder of a workspace LangSmith API key, so
103
- // exempting all thread actions would also let that key alter caller threads.
110
+ // exempting all thread actions would also let that key alter caller threads
111
+ // or speak in a channel's conversation.
104
112
  auth.on("threads", ({ user, action, value }) => {
113
+ const handoff = threadHandoffGrant(user);
114
+ if (handoff)
115
+ return authorizeThreadHandoff(user, handoff, action, value);
105
116
  if (action === "search" && scheduleAccess(user))
106
117
  return true;
118
+ // Read before the record keys are stripped: naming one is not a resume.
119
+ const resumeOnly = isStudioUser(user) && action === "create_run" && isResumeOnly(value);
120
+ guardThreadRecord(user, action, value);
107
121
  if (isLocalDevUnscopedUser(user)) {
108
122
  return true;
109
123
  }
110
124
  if (isStudioUser(user) && (action === "read" || action === "search")) {
111
125
  return true;
112
126
  }
113
- const key = threadOwnerKey(user);
127
+ // Studio may stop a run on any thread, as it may resume one there, so a
128
+ // runaway channel run can be cancelled from the deployment UI. Only
129
+ // `interrupt` on one thread: `rollback` deletes checkpoints, and a bulk
130
+ // cancel without a thread would stop every run in the deployment.
131
+ if (isStudioUser(user) &&
132
+ action === "update" &&
133
+ isSingleThreadInterrupt(value)) {
134
+ return true;
135
+ }
136
+ if (isStudioUser(user) && action === "create_run") {
137
+ if (resumeOnly)
138
+ return true;
139
+ // Owner-scoped below, so Studio sees "not found"; say why, by shape only.
140
+ logger.info(`studio run is not a resume, so it is owner-scoped ${JSON.stringify(runShape(value))}`);
141
+ }
142
+ const managed = user;
143
+ const key = threadOwnerKey(managed);
114
144
  if (value && typeof value === "object") {
115
145
  const container = value;
116
146
  container.metadata = { ...container.metadata, owner: key };
@@ -136,7 +166,16 @@ export function buildManagedAuth(identity) {
136
166
  // reachable unfiltered by any authenticated caller. The specific handlers
137
167
  // registered above take precedence over this one, so threads and store keep
138
168
  // their own scoping.
139
- auth.on("*", ({ user, resource, action }) => {
169
+ auth.on("*", ({ user, resource, action, value }) => {
170
+ // An assistant's metadata merges into its runs' too, so no caller, Studio
171
+ // included, may give an assistant a thread record.
172
+ if (resource === "assistants") {
173
+ if (isRecord(value)) {
174
+ stripThreadRecordKeys(value.metadata);
175
+ if (isRecord(value.config))
176
+ stripThreadRecordKeys(value.config.metadata);
177
+ }
178
+ }
140
179
  if (isStudioUser(user) || isLocalDevUnscopedUser(user)) {
141
180
  return true;
142
181
  }
@@ -443,7 +482,7 @@ async function verifyLangSmithApiKey(endpoint, headers) {
443
482
  message: "LangSmith API-key verification returned an invalid response",
444
483
  });
445
484
  }
446
- if (!isJsonObject(verified)) {
485
+ if (!isRecord(verified)) {
447
486
  throw new HTTPException(503, {
448
487
  message: "LangSmith API-key verification returned an invalid response",
449
488
  });
@@ -530,8 +569,14 @@ async function fetchLangSmithVerification(url, headers) {
530
569
  await sleep(Math.random() * Math.min(100 * 2 ** attempt, 200));
531
570
  }
532
571
  }
533
- function isJsonObject(value) {
534
- return typeof value === "object" && value !== null && !Array.isArray(value);
572
+ /**
573
+ * True for a run-cancel `threads:update` that interrupts runs on one thread.
574
+ *
575
+ * Run cancellation is the only thread update that carries `action`; metadata
576
+ * patches and state updates never set it.
577
+ */
578
+ function isSingleThreadInterrupt(value) {
579
+ return (isRecord(value) && value.action === "interrupt" && value.thread_id != null);
535
580
  }
536
581
  function isLangSmithApiKeyAuth(http) {
537
582
  return typeof http === "object" && http.mode === "langsmith_api_key";
@@ -584,6 +629,130 @@ function localDevServiceUser(request) {
584
629
  mda_user_kind: "service",
585
630
  };
586
631
  }
632
+ /**
633
+ * Whether a run only answers the interrupts of an existing thread: a
634
+ * `command` with nothing but a `resume` value, no new input, and no webhook
635
+ * to report the thread elsewhere. Encrypted or otherwise opaque run payloads
636
+ * are not.
637
+ *
638
+ * Studio resumes with `multitask_strategy: "rollback"`, the thread's
639
+ * checkpoint and the user's breakpoints, so none of those can be refused.
640
+ */
641
+ function isResumeOnly(value) {
642
+ if (!isRecord(value))
643
+ return false;
644
+ const { thread_id: threadId, kwargs } = value;
645
+ if (typeof threadId !== "string" || !threadId.trim())
646
+ return false;
647
+ if (!isRecord(kwargs) || kwargs.input != null)
648
+ return false;
649
+ if (kwargs.webhook != null)
650
+ return false;
651
+ // The run's metadata merges over the thread's; it may not touch its record.
652
+ if (claimsThreadRecord(value.metadata))
653
+ return false;
654
+ const { config } = kwargs;
655
+ if (config != null && !isRecord(config))
656
+ return false;
657
+ if (isRecord(config) && claimsThreadRecord(config.metadata)) {
658
+ return false;
659
+ }
660
+ const { command } = kwargs;
661
+ return (isRecord(command) &&
662
+ Object.keys(command).every((key) => key === "resume") &&
663
+ command.resume != null);
664
+ }
665
+ /** Whether run metadata names a thread-record key at all. */
666
+ function claimsThreadRecord(metadata) {
667
+ if (metadata == null)
668
+ return false;
669
+ return !isRecord(metadata) || hasThreadRecordKeys(metadata);
670
+ }
671
+ /**
672
+ * Strip the thread record from a payload unless managed ingress writes it.
673
+ *
674
+ * The Agent Server protects no metadata key, and a run's metadata merges over
675
+ * its thread's, so only a thread create or update by the conversation's own
676
+ * channel caller keeps a record, and only one for that conversation. Runs
677
+ * carry none, except a cron fire whose new-thread record names its
678
+ * execution. Searches only filter, so they keep theirs.
679
+ */
680
+ function guardThreadRecord(user, action, value) {
681
+ if (action === "search" || !isRecord(value))
682
+ return;
683
+ const { metadata, config, kwargs } = value;
684
+ // A cron fire's run metadata is its cron's, which becomes a new thread's
685
+ // metadata; cron auth already checked that record against the execution.
686
+ const keepRecord = action === "create" || action === "update"
687
+ ? isIngressThreadRecord(user, metadata)
688
+ : action === "create_run" &&
689
+ user.mda_scheduled_run === true &&
690
+ isScheduleThreadRecord(metadata, user);
691
+ stripThreadRecordKeys(metadata, { keepRecord });
692
+ stripThreadRecordKeys(isRecord(config) ? config.metadata : undefined);
693
+ const runConfig = isRecord(kwargs) ? kwargs.config : undefined;
694
+ stripThreadRecordKeys(isRecord(runConfig) ? runConfig.metadata : undefined);
695
+ }
696
+ /**
697
+ * Let a scheduled run move its own thread to the conversation its post
698
+ * started: one update, found under the run's owner key, that writes the
699
+ * conversation's record and key and makes the conversation the owner. A read
700
+ * finds the thread only once the conversation owns it.
701
+ */
702
+ function authorizeThreadHandoff(user, handoff, action, value) {
703
+ if (action === "read" &&
704
+ isRecord(value) &&
705
+ value.thread_id === handoff.thread)
706
+ return { owner: threadOwnerKey(user) };
707
+ if (action !== "update" ||
708
+ !isRecord(value) ||
709
+ value.thread_id !== handoff.thread ||
710
+ value.action != null ||
711
+ !isRecord(value.metadata) ||
712
+ value.metadata[THREAD_CONVERSATION_METADATA] !==
713
+ user.mda_source_thread_id ||
714
+ !isIngressThreadRecord(user, value.metadata))
715
+ throw new HTTPException(403, {
716
+ message: "Thread handoff is not permitted",
717
+ });
718
+ stripThreadRecordKeys(value.metadata, {
719
+ keepRecord: true,
720
+ keepConversation: true,
721
+ });
722
+ value.metadata.owner = threadOwnerKey(user);
723
+ return { owner: threadOwnerKey(handoff.execution) };
724
+ }
725
+ /** Whether metadata holds a well-formed record of the caller's own conversation. */
726
+ function isIngressThreadRecord(user, metadata) {
727
+ if (!channelConversationOwnerKey(user))
728
+ return false;
729
+ const origin = parseThreadRecord(metadata, { exact: true })?.origin;
730
+ return (!!origin &&
731
+ origin.channel.provider === user.mda_source_provider &&
732
+ origin.channel.source_thread_key === user.mda_source_thread_id &&
733
+ (origin.sender === null || origin.sender === user.mda_user_id));
734
+ }
735
+ /** What a run payload holds, without its values, to explain a refusal. */
736
+ function runShape(value) {
737
+ if (!isRecord(value))
738
+ return { value: typeof value };
739
+ const { thread_id: threadId, kwargs } = value;
740
+ const input = isRecord(kwargs) ? kwargs.input : undefined;
741
+ const command = isRecord(kwargs) ? kwargs.command : undefined;
742
+ return {
743
+ threadId: typeof threadId,
744
+ webhook: isRecord(kwargs) && kwargs.webhook != null,
745
+ kwargs: isRecord(kwargs) ? "object" : typeof kwargs,
746
+ input: input === null ? "null" : Array.isArray(input) ? "array" : typeof input,
747
+ command: isRecord(command)
748
+ ? Object.keys(command)
749
+ .slice(0, 8)
750
+ .map((key) => logger.logIdentifier(key))
751
+ : command === null
752
+ ? "null"
753
+ : typeof command,
754
+ };
755
+ }
587
756
  /**
588
757
  * Derive the owner value `@auth.on.threads` filters on.
589
758
  *
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ type SandboxBackendDeps = {
18
18
  runConfig: ManagedRunConfig | undefined;
19
19
  connectors: readonly Connector[] | undefined;
20
20
  identity: IdentityDefinition | undefined;
21
+ /** The lead thread an async subagent run shares the sandbox of, once verified. */
22
+ leadThread?: string;
21
23
  };
22
24
  /**
23
25
  * Lazy sandbox backend. Identity is frozen at construction — use
@@ -38,6 +40,11 @@ export declare class LazyManagedSandboxBackend implements SandboxBackendProtocol
38
40
  /** Capture the run without resolving its sandbox until an operation needs it. */
39
41
  bindRuntime(runtime: unknown): LazyManagedSandboxBackend;
40
42
  get id(): string;
43
+ /**
44
+ * This thread's sandbox if this process opened it, through any handle.
45
+ * Never opens one, and is `undefined` when the run has no thread id.
46
+ */
47
+ opened(): SandboxBackendProtocolV2 | undefined;
41
48
  ls(path?: string): Promise<import("deepagents").LsResult>;
42
49
  read(filePath: string, offset?: number, limit?: number): Promise<import("deepagents").ReadResult>;
43
50
  readRaw(filePath: string): Promise<import("deepagents").ReadRawResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/runtime/backend.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAUhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,yDAAyD;AACzD,KAAK,iBAAiB,GAAG,UAAU,CACjC,WAAW,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CACrD,CAAC,CAAC,CAAC,CAAC;AAkCL,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC1C,CAAC;AA0FF;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,wBAAwB;IAEtE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAHpC,OAAO,eAIH;IAEJ,gEAAgE;IAChE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,yBAAyB,CAMjE;IAED;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,CAItD;IAED,iFAAiF;IACjF,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,CAKvD;IAED,IAAI,EAAE,IAAI,MAAM,CAsBf;IAEK,EAAE,CAAC,IAAI,SAAM,0CAElB;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,4CAE3D;IAEK,OAAO,CAAC,QAAQ,EAAE,MAAM,+CAE7B;IAEK,IAAI,CACR,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,4CAOzB;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,4CAMxC;IAEK,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,6CAE5C;IAEK,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,4CAKnB;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,8CAO5B;IAEK,WAAW,CAAC,KAAK,EAAE,iBAAiB,sDAOzC;IAEK,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,wDAOlC;IAEK,OAAO,CAAC,OAAO,EAAE,MAAM,iDAO5B;YAEa,sBAAsB;IAqBpC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,SAAS;CAoBlB"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/runtime/backend.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAYhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,yDAAyD;AACzD,KAAK,iBAAiB,GAAG,UAAU,CACjC,WAAW,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CACrD,CAAC,CAAC,CAAC,CAAC;AAkCL,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACzC,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAkHF;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,wBAAwB;IAEtE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAHpC,OAAO,eAIH;IAEJ,gEAAgE;IAChE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,yBAAyB,CAMjE;IAED;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,CAItD;IAED,iFAAiF;IACjF,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,CAKvD;IAED,IAAI,EAAE,IAAI,MAAM,CAgBf;IAED;;;OAGG;IACH,MAAM,IAAI,wBAAwB,GAAG,SAAS,CAa7C;IAEK,EAAE,CAAC,IAAI,SAAM,0CAElB;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,4CAE3D;IAEK,OAAO,CAAC,QAAQ,EAAE,MAAM,+CAE7B;IAEK,IAAI,CACR,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,4CAOzB;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,4CAMxC;IAEK,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,6CAE5C;IAEK,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,4CAKnB;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,8CAO5B;IAEK,WAAW,CAAC,KAAK,EAAE,iBAAiB,sDAOzC;IAEK,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,wDAOlC;IAEK,OAAO,CAAC,OAAO,EAAE,MAAM,iDAO5B;YAEa,sBAAsB;IAqBpC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,SAAS;CAoBlB"}
@@ -9,7 +9,7 @@ import { createHash } from "node:crypto";
9
9
  import { posix as posixPath } from "node:path";
10
10
  import { resolveSandboxProxyConfig } from "../sandbox-proxy.js";
11
11
  import { resolveRuntimeConfigurable } from "./identity-runtime.js";
12
- import { managedSandboxHostName, recoverManagedSandbox, isSandboxNotFoundError, resolveManagedSandbox, sandboxScopeKey, updateManagedSandboxProxyConfig, } from "./sandbox-manager.js";
12
+ import { managedSandboxHostName, recoverManagedSandbox, withLeadSandbox, isSandboxNotFoundError, openedManagedSandbox, resolveManagedSandbox, sandboxScopeKey, updateManagedSandboxProxyConfig, } from "./sandbox-manager.js";
13
13
  /**
14
14
  * Refusal returned instead of globbing the sandbox root.
15
15
  *
@@ -37,6 +37,10 @@ function isFilesystemRoot(path) {
37
37
  }
38
38
  return posixPath.normalize(raw) === "/";
39
39
  }
40
+ /** The run's sandbox scope: its lead's, for an async subagent sharing it. */
41
+ function scopeKey(deps, config) {
42
+ return withLeadSandbox(deps.leadThread, () => sandboxScopeKey(config, deps.sandboxSelectionFingerprint));
43
+ }
40
44
  /**
41
45
  * Process-scoped resolve cache shared by all {@link LazyManagedSandboxBackend}
42
46
  * instances created from the same factory (unbound + per-run siblings).
@@ -45,11 +49,16 @@ class SandboxResolveCache {
45
49
  pendingByScope = new Map();
46
50
  resolvedByScope = new Map();
47
51
  sandboxProxyConfigHashes = new WeakMap();
48
- idFor(config, selectionFingerprint) {
49
- return (this.resolvedByScope.get(sandboxScopeKey(config, selectionFingerprint))
50
- ?.id ?? "");
52
+ idFor(deps, config) {
53
+ return this.resolvedFor(deps, config)?.id ?? "";
54
+ }
55
+ resolvedFor(deps, config) {
56
+ return this.resolvedByScope.get(scopeKey(deps, config));
51
57
  }
52
58
  resolve(deps, config) {
59
+ return withLeadSandbox(deps.leadThread, () => this.resolveInScope(deps, config));
60
+ }
61
+ resolveInScope(deps, config) {
53
62
  const key = sandboxScopeKey(config, deps.sandboxSelectionFingerprint);
54
63
  const existing = this.pendingByScope.get(key);
55
64
  if (existing) {
@@ -79,7 +88,8 @@ class SandboxResolveCache {
79
88
  return await operation(backend);
80
89
  }
81
90
  catch (error) {
82
- if (isSandboxNotFoundError(error)) {
91
+ // Only the lead recovers its sandbox.
92
+ if (isSandboxNotFoundError(error) && !deps.leadThread) {
83
93
  const key = sandboxScopeKey(config, deps.sandboxSelectionFingerprint);
84
94
  await recoverManagedSandbox(deps.sandbox, config, backend, {
85
95
  connectors: deps.connectors === undefined ? undefined : [...deps.connectors],
@@ -137,16 +147,31 @@ export class LazyManagedSandboxBackend {
137
147
  // must not crash CompositeBackend construction.
138
148
  try {
139
149
  const config = this.runConfig();
140
- const resolved = this.cache.idFor(config, this.deps.sandboxSelectionFingerprint);
150
+ const resolved = this.cache.idFor(this.deps, config);
141
151
  if (resolved) {
142
152
  return resolved;
143
153
  }
144
- return `pending:${sandboxScopeKey(config, this.deps.sandboxSelectionFingerprint)}`;
154
+ return `pending:${scopeKey(this.deps, config)}`;
145
155
  }
146
156
  catch {
147
157
  return "pending:sandbox";
148
158
  }
149
159
  }
160
+ /**
161
+ * This thread's sandbox if this process opened it, through any handle.
162
+ * Never opens one, and is `undefined` when the run has no thread id.
163
+ */
164
+ opened() {
165
+ try {
166
+ const config = this.runConfig();
167
+ const fingerprint = this.deps.sandboxSelectionFingerprint;
168
+ return (this.cache.resolvedFor(this.deps, config) ??
169
+ withLeadSandbox(this.deps.leadThread, () => openedManagedSandbox(config, fingerprint)));
170
+ }
171
+ catch {
172
+ return undefined;
173
+ }
174
+ }
150
175
  async ls(path = "/") {
151
176
  return this.withBackend((backend) => backend.ls(path));
152
177
  }