managed-deepagents 0.4.1 → 0.4.3-dev.94

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 (453) hide show
  1. package/README.md +78 -35
  2. package/dist/channels/assistant-text.js +1 -1
  3. package/dist/channels/assistant-text.js.map +1 -1
  4. package/dist/channels/binding.d.ts.map +1 -1
  5. package/dist/channels/binding.js +3 -1
  6. package/dist/channels/binding.js.map +1 -1
  7. package/dist/channels/index.d.ts +7 -8
  8. package/dist/channels/index.d.ts.map +1 -1
  9. package/dist/channels/index.js +6 -5
  10. package/dist/channels/index.js.map +1 -1
  11. package/dist/channels/manifest.d.ts +7 -4
  12. package/dist/channels/manifest.d.ts.map +1 -1
  13. package/dist/channels/messaging-registry.d.ts +21 -0
  14. package/dist/channels/messaging-registry.d.ts.map +1 -0
  15. package/dist/channels/messaging-registry.js +50 -0
  16. package/dist/channels/messaging-registry.js.map +1 -0
  17. package/dist/channels/registry-types.d.ts +1 -1
  18. package/dist/channels/registry.d.ts +4 -3
  19. package/dist/channels/registry.d.ts.map +1 -1
  20. package/dist/channels/registry.js +5 -6
  21. package/dist/channels/registry.js.map +1 -1
  22. package/dist/channels/schedule-delivery.d.ts +4 -1
  23. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  24. package/dist/channels/schedule-delivery.js +3 -1
  25. package/dist/channels/schedule-delivery.js.map +1 -1
  26. package/dist/channels/slack/adapter.d.ts +1 -2
  27. package/dist/channels/slack/adapter.d.ts.map +1 -1
  28. package/dist/channels/slack/adapter.js +0 -2
  29. package/dist/channels/slack/adapter.js.map +1 -1
  30. package/dist/channels/slack/http.d.ts +7 -39
  31. package/dist/channels/slack/http.d.ts.map +1 -1
  32. package/dist/channels/slack/http.js +64 -122
  33. package/dist/channels/slack/http.js.map +1 -1
  34. package/dist/channels/slack/index.d.ts +94 -8
  35. package/dist/channels/slack/index.d.ts.map +1 -1
  36. package/dist/channels/slack/index.js +144 -6
  37. package/dist/channels/slack/index.js.map +1 -1
  38. package/dist/channels/slack/normalize.d.ts +6 -4
  39. package/dist/channels/slack/normalize.d.ts.map +1 -1
  40. package/dist/channels/slack/normalize.js +61 -28
  41. package/dist/channels/slack/normalize.js.map +1 -1
  42. package/dist/channels/slack/transport.d.ts.map +1 -1
  43. package/dist/channels/slack/transport.js +3 -2
  44. package/dist/channels/slack/transport.js.map +1 -1
  45. package/dist/channels/store.d.ts +14 -0
  46. package/dist/channels/store.d.ts.map +1 -1
  47. package/dist/channels/store.js +41 -27
  48. package/dist/channels/store.js.map +1 -1
  49. package/dist/connectors/marketplace/catalog.d.ts +96 -0
  50. package/dist/connectors/marketplace/catalog.d.ts.map +1 -0
  51. package/dist/connectors/marketplace/catalog.js +213 -0
  52. package/dist/connectors/marketplace/catalog.js.map +1 -0
  53. package/dist/connectors/marketplace/fleet-mcp.d.ts +62 -0
  54. package/dist/connectors/marketplace/fleet-mcp.d.ts.map +1 -0
  55. package/dist/connectors/marketplace/fleet-mcp.js +215 -0
  56. package/dist/connectors/marketplace/fleet-mcp.js.map +1 -0
  57. package/dist/connectors/marketplace/index.d.ts +31 -0
  58. package/dist/connectors/marketplace/index.d.ts.map +1 -0
  59. package/dist/connectors/marketplace/index.js +39 -0
  60. package/dist/connectors/marketplace/index.js.map +1 -0
  61. package/dist/connectors/marketplace/load.d.ts +14 -0
  62. package/dist/connectors/marketplace/load.d.ts.map +1 -0
  63. package/dist/connectors/marketplace/load.js +206 -0
  64. package/dist/connectors/marketplace/load.js.map +1 -0
  65. package/dist/connectors/mcp/index.d.ts +13 -20
  66. package/dist/connectors/mcp/index.d.ts.map +1 -1
  67. package/dist/connectors/mcp/index.js +92 -112
  68. package/dist/connectors/mcp/index.js.map +1 -1
  69. package/dist/connectors/mcp/load.d.ts.map +1 -1
  70. package/dist/connectors/mcp/load.js +16 -40
  71. package/dist/connectors/mcp/load.js.map +1 -1
  72. package/dist/connectors/slack/index.d.ts +24 -0
  73. package/dist/connectors/slack/index.d.ts.map +1 -0
  74. package/dist/connectors/slack/index.js +64 -0
  75. package/dist/connectors/slack/index.js.map +1 -0
  76. package/dist/connectors/tool-selection.d.ts +55 -0
  77. package/dist/connectors/tool-selection.d.ts.map +1 -0
  78. package/dist/connectors/tool-selection.js +112 -0
  79. package/dist/connectors/tool-selection.js.map +1 -0
  80. package/dist/connectors/toolserver/catalog.d.ts +326 -0
  81. package/dist/connectors/toolserver/catalog.d.ts.map +1 -0
  82. package/dist/connectors/toolserver/catalog.js +415 -0
  83. package/dist/connectors/toolserver/catalog.js.map +1 -0
  84. package/dist/connectors/toolserver/connectors.d.ts +698 -0
  85. package/dist/connectors/toolserver/connectors.d.ts.map +1 -0
  86. package/dist/connectors/toolserver/connectors.js +13 -0
  87. package/dist/connectors/toolserver/connectors.js.map +1 -0
  88. package/dist/connectors/toolserver/index.d.ts +142 -0
  89. package/dist/connectors/toolserver/index.d.ts.map +1 -0
  90. package/dist/connectors/toolserver/index.js +105 -0
  91. package/dist/connectors/toolserver/index.js.map +1 -0
  92. package/dist/connectors/toolserver/integrations.d.ts +103 -0
  93. package/dist/connectors/toolserver/integrations.d.ts.map +1 -0
  94. package/dist/connectors/toolserver/integrations.js +288 -0
  95. package/dist/connectors/toolserver/integrations.js.map +1 -0
  96. package/dist/connectors/toolserver/load.d.ts +55 -0
  97. package/dist/connectors/toolserver/load.d.ts.map +1 -0
  98. package/dist/connectors/toolserver/load.js +289 -0
  99. package/dist/connectors/toolserver/load.js.map +1 -0
  100. package/dist/define-deep-agent.d.ts.map +1 -1
  101. package/dist/define-deep-agent.js +9 -3
  102. package/dist/define-deep-agent.js.map +1 -1
  103. package/dist/extension.d.ts +69 -0
  104. package/dist/extension.d.ts.map +1 -0
  105. package/dist/extension.js +108 -0
  106. package/dist/extension.js.map +1 -0
  107. package/dist/identity/actor-subject.d.ts +60 -0
  108. package/dist/identity/actor-subject.d.ts.map +1 -0
  109. package/dist/identity/actor-subject.js +107 -0
  110. package/dist/identity/actor-subject.js.map +1 -0
  111. package/dist/identity/byo-oauth.d.ts +105 -0
  112. package/dist/identity/byo-oauth.d.ts.map +1 -0
  113. package/dist/identity/byo-oauth.js +190 -0
  114. package/dist/identity/byo-oauth.js.map +1 -0
  115. package/dist/identity/claims.d.ts +16 -0
  116. package/dist/identity/claims.d.ts.map +1 -0
  117. package/dist/identity/claims.js +33 -0
  118. package/dist/identity/claims.js.map +1 -0
  119. package/dist/identity/connect-inference.d.ts +37 -0
  120. package/dist/identity/connect-inference.d.ts.map +1 -0
  121. package/dist/identity/connect-inference.js +53 -0
  122. package/dist/identity/connect-inference.js.map +1 -0
  123. package/dist/identity/connect-provider-types.d.ts +35 -6
  124. package/dist/identity/connect-provider-types.d.ts.map +1 -1
  125. package/dist/identity/connect-provider-types.js +3 -1
  126. package/dist/identity/connect-provider-types.js.map +1 -1
  127. package/dist/identity/connect-provider.d.ts +9 -4
  128. package/dist/identity/connect-provider.d.ts.map +1 -1
  129. package/dist/identity/connect-provider.js +39 -13
  130. package/dist/identity/connect-provider.js.map +1 -1
  131. package/dist/identity/credential-resolvers.d.ts +33 -0
  132. package/dist/identity/credential-resolvers.d.ts.map +1 -0
  133. package/dist/identity/credential-resolvers.js +62 -0
  134. package/dist/identity/credential-resolvers.js.map +1 -0
  135. package/dist/identity/define-fleet-connect.d.ts +53 -0
  136. package/dist/identity/define-fleet-connect.d.ts.map +1 -0
  137. package/dist/identity/define-fleet-connect.js +76 -0
  138. package/dist/identity/define-fleet-connect.js.map +1 -0
  139. package/dist/identity/fleet-connect-hint.d.ts +41 -0
  140. package/dist/identity/fleet-connect-hint.d.ts.map +1 -0
  141. package/dist/identity/fleet-connect-hint.js +190 -0
  142. package/dist/identity/fleet-connect-hint.js.map +1 -0
  143. package/dist/identity/fleet-connect.d.ts +93 -0
  144. package/dist/identity/fleet-connect.d.ts.map +1 -0
  145. package/dist/identity/fleet-connect.js +256 -0
  146. package/dist/identity/fleet-connect.js.map +1 -0
  147. package/dist/identity/fleet-integration-connect.d.ts +32 -0
  148. package/dist/identity/fleet-integration-connect.d.ts.map +1 -0
  149. package/dist/identity/fleet-integration-connect.js +35 -0
  150. package/dist/identity/fleet-integration-connect.js.map +1 -0
  151. package/dist/identity/fleet.d.ts +56 -0
  152. package/dist/identity/fleet.d.ts.map +1 -0
  153. package/dist/identity/fleet.js +131 -0
  154. package/dist/identity/fleet.js.map +1 -0
  155. package/dist/identity/github/connect-http.d.ts +8 -4
  156. package/dist/identity/github/connect-http.d.ts.map +1 -1
  157. package/dist/identity/github/connect-http.js +32 -15
  158. package/dist/identity/github/connect-http.js.map +1 -1
  159. package/dist/identity/github/credentials-store.d.ts +10 -10
  160. package/dist/identity/github/credentials-store.d.ts.map +1 -1
  161. package/dist/identity/github/credentials-store.js +51 -49
  162. package/dist/identity/github/credentials-store.js.map +1 -1
  163. package/dist/identity/github/credentials.d.ts +19 -14
  164. package/dist/identity/github/credentials.d.ts.map +1 -1
  165. package/dist/identity/github/credentials.js +54 -24
  166. package/dist/identity/github/credentials.js.map +1 -1
  167. package/dist/identity/github/index.d.ts +1 -4
  168. package/dist/identity/github/index.d.ts.map +1 -1
  169. package/dist/identity/github/index.js +0 -3
  170. package/dist/identity/github/index.js.map +1 -1
  171. package/dist/identity/github/oauth.d.ts +18 -20
  172. package/dist/identity/github/oauth.d.ts.map +1 -1
  173. package/dist/identity/github/oauth.js +90 -109
  174. package/dist/identity/github/oauth.js.map +1 -1
  175. package/dist/identity/google/connect-http.d.ts +37 -0
  176. package/dist/identity/google/connect-http.d.ts.map +1 -0
  177. package/dist/identity/google/connect-http.js +42 -0
  178. package/dist/identity/google/connect-http.js.map +1 -0
  179. package/dist/identity/google/index.d.ts +7 -0
  180. package/dist/identity/google/index.d.ts.map +1 -0
  181. package/dist/identity/google/index.js +6 -0
  182. package/dist/identity/google/index.js.map +1 -0
  183. package/dist/identity/google/oauth.d.ts +22 -0
  184. package/dist/identity/google/oauth.d.ts.map +1 -0
  185. package/dist/identity/google/oauth.js +48 -0
  186. package/dist/identity/google/oauth.js.map +1 -0
  187. package/dist/identity/index.d.ts +40 -64
  188. package/dist/identity/index.d.ts.map +1 -1
  189. package/dist/identity/index.js +104 -243
  190. package/dist/identity/index.js.map +1 -1
  191. package/dist/identity/linkedin/connect-http.d.ts +37 -0
  192. package/dist/identity/linkedin/connect-http.d.ts.map +1 -0
  193. package/dist/identity/linkedin/connect-http.js +41 -0
  194. package/dist/identity/linkedin/connect-http.js.map +1 -0
  195. package/dist/identity/linkedin/index.d.ts +7 -0
  196. package/dist/identity/linkedin/index.d.ts.map +1 -0
  197. package/dist/identity/linkedin/index.js +6 -0
  198. package/dist/identity/linkedin/index.js.map +1 -0
  199. package/dist/identity/linkedin/oauth.d.ts +22 -0
  200. package/dist/identity/linkedin/oauth.d.ts.map +1 -0
  201. package/dist/identity/linkedin/oauth.js +47 -0
  202. package/dist/identity/linkedin/oauth.js.map +1 -0
  203. package/dist/identity/loopback.d.ts +27 -2
  204. package/dist/identity/loopback.d.ts.map +1 -1
  205. package/dist/identity/loopback.js +61 -8
  206. package/dist/identity/loopback.js.map +1 -1
  207. package/dist/identity/marketplace/connect-hint.d.ts +31 -0
  208. package/dist/identity/marketplace/connect-hint.d.ts.map +1 -0
  209. package/dist/identity/marketplace/connect-hint.js +59 -0
  210. package/dist/identity/marketplace/connect-hint.js.map +1 -0
  211. package/dist/identity/marketplace/connect.d.ts +51 -0
  212. package/dist/identity/marketplace/connect.d.ts.map +1 -0
  213. package/dist/identity/marketplace/connect.js +88 -0
  214. package/dist/identity/marketplace/connect.js.map +1 -0
  215. package/dist/identity/marketplace/index.d.ts +9 -0
  216. package/dist/identity/marketplace/index.d.ts.map +1 -0
  217. package/dist/identity/marketplace/index.js +9 -0
  218. package/dist/identity/marketplace/index.js.map +1 -0
  219. package/dist/identity/microsoft/connect-http.d.ts +38 -0
  220. package/dist/identity/microsoft/connect-http.d.ts.map +1 -0
  221. package/dist/identity/microsoft/connect-http.js +42 -0
  222. package/dist/identity/microsoft/connect-http.js.map +1 -0
  223. package/dist/identity/microsoft/index.d.ts +7 -0
  224. package/dist/identity/microsoft/index.d.ts.map +1 -0
  225. package/dist/identity/microsoft/index.js +6 -0
  226. package/dist/identity/microsoft/index.js.map +1 -0
  227. package/dist/identity/microsoft/oauth.d.ts +24 -0
  228. package/dist/identity/microsoft/oauth.d.ts.map +1 -0
  229. package/dist/identity/microsoft/oauth.js +65 -0
  230. package/dist/identity/microsoft/oauth.js.map +1 -0
  231. package/dist/identity/oauth-env.d.ts +43 -0
  232. package/dist/identity/oauth-env.d.ts.map +1 -0
  233. package/dist/identity/oauth-env.js +66 -0
  234. package/dist/identity/oauth-env.js.map +1 -0
  235. package/dist/identity/oauth-tickets.d.ts +37 -0
  236. package/dist/identity/oauth-tickets.d.ts.map +1 -0
  237. package/dist/identity/oauth-tickets.js +114 -0
  238. package/dist/identity/oauth-tickets.js.map +1 -0
  239. package/dist/identity/options.d.ts +35 -0
  240. package/dist/identity/options.d.ts.map +1 -0
  241. package/dist/identity/options.js +80 -0
  242. package/dist/identity/options.js.map +1 -0
  243. package/dist/identity/slack/connect-http.d.ts +6 -4
  244. package/dist/identity/slack/connect-http.d.ts.map +1 -1
  245. package/dist/identity/slack/connect-http.js +27 -17
  246. package/dist/identity/slack/connect-http.js.map +1 -1
  247. package/dist/identity/slack/index.d.ts +1 -2
  248. package/dist/identity/slack/index.d.ts.map +1 -1
  249. package/dist/identity/slack/index.js +1 -2
  250. package/dist/identity/slack/index.js.map +1 -1
  251. package/dist/identity/slack/links.d.ts +18 -17
  252. package/dist/identity/slack/links.d.ts.map +1 -1
  253. package/dist/identity/slack/links.js +64 -61
  254. package/dist/identity/slack/links.js.map +1 -1
  255. package/dist/identity/slack/oauth.d.ts +3 -35
  256. package/dist/identity/slack/oauth.d.ts.map +1 -1
  257. package/dist/identity/slack/oauth.js +9 -115
  258. package/dist/identity/slack/oauth.js.map +1 -1
  259. package/dist/identity/supabase.js +9 -9
  260. package/dist/identity/supabase.js.map +1 -1
  261. package/dist/identity/types.d.ts +91 -54
  262. package/dist/identity/types.d.ts.map +1 -1
  263. package/dist/identity/x/connect-http.d.ts +38 -0
  264. package/dist/identity/x/connect-http.d.ts.map +1 -0
  265. package/dist/identity/x/connect-http.js +41 -0
  266. package/dist/identity/x/connect-http.js.map +1 -0
  267. package/dist/identity/x/index.d.ts +6 -0
  268. package/dist/identity/x/index.d.ts.map +1 -0
  269. package/dist/identity/x/index.js +5 -0
  270. package/dist/identity/x/index.js.map +1 -0
  271. package/dist/index.d.ts +9 -20
  272. package/dist/index.d.ts.map +1 -1
  273. package/dist/index.js +3 -11
  274. package/dist/index.js.map +1 -1
  275. package/dist/ingress/index.d.ts +52 -0
  276. package/dist/ingress/index.d.ts.map +1 -0
  277. package/dist/ingress/index.js +127 -0
  278. package/dist/ingress/index.js.map +1 -0
  279. package/dist/memory/define-memory.d.ts +39 -0
  280. package/dist/memory/define-memory.d.ts.map +1 -0
  281. package/dist/memory/define-memory.js +78 -0
  282. package/dist/memory/define-memory.js.map +1 -0
  283. package/dist/memory/index.d.ts +9 -0
  284. package/dist/memory/index.d.ts.map +1 -0
  285. package/dist/memory/index.js +8 -0
  286. package/dist/memory/index.js.map +1 -0
  287. package/dist/memory/instructions-middleware.d.ts +74 -0
  288. package/dist/memory/instructions-middleware.d.ts.map +1 -0
  289. package/dist/memory/instructions-middleware.js +115 -0
  290. package/dist/memory/instructions-middleware.js.map +1 -0
  291. package/dist/memory/slices.d.ts +21 -0
  292. package/dist/memory/slices.d.ts.map +1 -0
  293. package/dist/memory/slices.js +61 -0
  294. package/dist/memory/slices.js.map +1 -0
  295. package/dist/memory/types.d.ts +71 -0
  296. package/dist/memory/types.d.ts.map +1 -0
  297. package/dist/memory/types.js +10 -0
  298. package/dist/memory/types.js.map +1 -0
  299. package/dist/namespaces.d.ts +262 -0
  300. package/dist/namespaces.d.ts.map +1 -0
  301. package/dist/namespaces.js +101 -0
  302. package/dist/namespaces.js.map +1 -0
  303. package/dist/runtime/auth.d.ts +43 -32
  304. package/dist/runtime/auth.d.ts.map +1 -1
  305. package/dist/runtime/auth.js +225 -125
  306. package/dist/runtime/auth.js.map +1 -1
  307. package/dist/runtime/backend.d.ts +1 -1
  308. package/dist/runtime/backend.d.ts.map +1 -1
  309. package/dist/runtime/backend.js +26 -5
  310. package/dist/runtime/backend.js.map +1 -1
  311. package/dist/runtime/channel.d.ts +91 -0
  312. package/dist/runtime/channel.d.ts.map +1 -0
  313. package/dist/runtime/channel.js +98 -0
  314. package/dist/runtime/channel.js.map +1 -0
  315. package/dist/runtime/connector.d.ts +66 -22
  316. package/dist/runtime/connector.d.ts.map +1 -1
  317. package/dist/runtime/connector.js +68 -33
  318. package/dist/runtime/connector.js.map +1 -1
  319. package/dist/runtime/cors.d.ts +12 -3
  320. package/dist/runtime/cors.d.ts.map +1 -1
  321. package/dist/runtime/cors.js +23 -5
  322. package/dist/runtime/cors.js.map +1 -1
  323. package/dist/runtime/credentials.d.ts +8 -8
  324. package/dist/runtime/credentials.d.ts.map +1 -1
  325. package/dist/runtime/credentials.js +46 -23
  326. package/dist/runtime/credentials.js.map +1 -1
  327. package/dist/runtime/eval-filesystem.d.ts +7 -0
  328. package/dist/runtime/eval-filesystem.d.ts.map +1 -0
  329. package/dist/runtime/eval-filesystem.js +44 -0
  330. package/dist/runtime/eval-filesystem.js.map +1 -0
  331. package/dist/runtime/http.d.ts +46 -0
  332. package/dist/runtime/http.d.ts.map +1 -0
  333. package/dist/runtime/http.js +53 -0
  334. package/dist/runtime/http.js.map +1 -0
  335. package/dist/runtime/identity-http.d.ts +13 -20
  336. package/dist/runtime/identity-http.d.ts.map +1 -1
  337. package/dist/runtime/identity-http.js +158 -75
  338. package/dist/runtime/identity-http.js.map +1 -1
  339. package/dist/runtime/identity-runtime.d.ts +12 -28
  340. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  341. package/dist/runtime/identity-runtime.js +35 -72
  342. package/dist/runtime/identity-runtime.js.map +1 -1
  343. package/dist/runtime/index.d.ts +97 -227
  344. package/dist/runtime/index.d.ts.map +1 -1
  345. package/dist/runtime/index.js +114 -64
  346. package/dist/runtime/index.js.map +1 -1
  347. package/dist/runtime/memory/index.d.ts +0 -2
  348. package/dist/runtime/memory/index.d.ts.map +1 -1
  349. package/dist/runtime/memory/index.js +0 -2
  350. package/dist/runtime/memory/index.js.map +1 -1
  351. package/dist/runtime/memory/mounts.d.ts +4 -12
  352. package/dist/runtime/memory/mounts.d.ts.map +1 -1
  353. package/dist/runtime/memory/mounts.js +9 -20
  354. package/dist/runtime/memory/mounts.js.map +1 -1
  355. package/dist/runtime/recursion-limit.d.ts +22 -0
  356. package/dist/runtime/recursion-limit.d.ts.map +1 -0
  357. package/dist/runtime/recursion-limit.js +46 -0
  358. package/dist/runtime/recursion-limit.js.map +1 -0
  359. package/dist/runtime/sandbox-manager.d.ts +60 -3
  360. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  361. package/dist/runtime/sandbox-manager.js +326 -26
  362. package/dist/runtime/sandbox-manager.js.map +1 -1
  363. package/dist/runtime/sandbox-stream-retry.d.ts +18 -0
  364. package/dist/runtime/sandbox-stream-retry.d.ts.map +1 -0
  365. package/dist/runtime/sandbox-stream-retry.js +90 -0
  366. package/dist/runtime/sandbox-stream-retry.js.map +1 -0
  367. package/dist/runtime/setup-script.d.ts.map +1 -1
  368. package/dist/runtime/setup-script.js +16 -2
  369. package/dist/runtime/setup-script.js.map +1 -1
  370. package/dist/runtime/types.d.ts +22 -0
  371. package/dist/runtime/types.d.ts.map +1 -1
  372. package/dist/runtime/validated-token.d.ts +9 -14
  373. package/dist/runtime/validated-token.d.ts.map +1 -1
  374. package/dist/runtime/validated-token.js +79 -106
  375. package/dist/runtime/validated-token.js.map +1 -1
  376. package/dist/sandbox.d.ts +17 -42
  377. package/dist/sandbox.d.ts.map +1 -1
  378. package/dist/sandbox.js +11 -32
  379. package/dist/sandbox.js.map +1 -1
  380. package/dist/schedules.js +8 -9
  381. package/dist/schedules.js.map +1 -1
  382. package/dist/types.d.ts +4 -3
  383. package/dist/types.d.ts.map +1 -1
  384. package/dist/types.js.map +1 -1
  385. package/package.json +22 -29
  386. package/dist/channels/collect.d.ts +0 -23
  387. package/dist/channels/collect.d.ts.map +0 -1
  388. package/dist/channels/collect.js +0 -46
  389. package/dist/channels/collect.js.map +0 -1
  390. package/dist/channels/github/adapter-core.d.ts +0 -6
  391. package/dist/channels/github/adapter-core.d.ts.map +0 -1
  392. package/dist/channels/github/adapter-core.js +0 -27
  393. package/dist/channels/github/adapter-core.js.map +0 -1
  394. package/dist/channels/github/adapter.d.ts +0 -16
  395. package/dist/channels/github/adapter.d.ts.map +0 -1
  396. package/dist/channels/github/adapter.js +0 -52
  397. package/dist/channels/github/adapter.js.map +0 -1
  398. package/dist/channels/github/define.d.ts +0 -198
  399. package/dist/channels/github/define.d.ts.map +0 -1
  400. package/dist/channels/github/define.js +0 -166
  401. package/dist/channels/github/define.js.map +0 -1
  402. package/dist/channels/github/http.d.ts +0 -25
  403. package/dist/channels/github/http.d.ts.map +0 -1
  404. package/dist/channels/github/http.js +0 -147
  405. package/dist/channels/github/http.js.map +0 -1
  406. package/dist/channels/github/index.d.ts +0 -12
  407. package/dist/channels/github/index.d.ts.map +0 -1
  408. package/dist/channels/github/index.js +0 -10
  409. package/dist/channels/github/index.js.map +0 -1
  410. package/dist/channels/github/normalize.d.ts +0 -32
  411. package/dist/channels/github/normalize.d.ts.map +0 -1
  412. package/dist/channels/github/normalize.js +0 -152
  413. package/dist/channels/github/normalize.js.map +0 -1
  414. package/dist/channels/github/source-thread.d.ts +0 -24
  415. package/dist/channels/github/source-thread.d.ts.map +0 -1
  416. package/dist/channels/github/source-thread.js +0 -54
  417. package/dist/channels/github/source-thread.js.map +0 -1
  418. package/dist/channels/github/transport.d.ts +0 -19
  419. package/dist/channels/github/transport.d.ts.map +0 -1
  420. package/dist/channels/github/transport.js +0 -92
  421. package/dist/channels/github/transport.js.map +0 -1
  422. package/dist/channels/plugin.d.ts +0 -61
  423. package/dist/channels/plugin.d.ts.map +0 -1
  424. package/dist/channels/plugin.js +0 -80
  425. package/dist/channels/plugin.js.map +0 -1
  426. package/dist/channels/slack/define.d.ts +0 -74
  427. package/dist/channels/slack/define.d.ts.map +0 -1
  428. package/dist/channels/slack/define.js +0 -160
  429. package/dist/channels/slack/define.js.map +0 -1
  430. package/dist/connectors/github/index.d.ts +0 -80
  431. package/dist/connectors/github/index.d.ts.map +0 -1
  432. package/dist/connectors/github/index.js +0 -118
  433. package/dist/connectors/github/index.js.map +0 -1
  434. package/dist/connectors/github/sandbox.d.ts +0 -54
  435. package/dist/connectors/github/sandbox.d.ts.map +0 -1
  436. package/dist/connectors/github/sandbox.js +0 -519
  437. package/dist/connectors/github/sandbox.js.map +0 -1
  438. package/dist/connectors/langsmith/index.d.ts +0 -385
  439. package/dist/connectors/langsmith/index.d.ts.map +0 -1
  440. package/dist/connectors/langsmith/index.js +0 -431
  441. package/dist/connectors/langsmith/index.js.map +0 -1
  442. package/dist/connectors/langsmith/routes.d.ts +0 -247
  443. package/dist/connectors/langsmith/routes.d.ts.map +0 -1
  444. package/dist/connectors/langsmith/routes.js +0 -1182
  445. package/dist/connectors/langsmith/routes.js.map +0 -1
  446. package/dist/runtime/memory/seed.d.ts +0 -21
  447. package/dist/runtime/memory/seed.d.ts.map +0 -1
  448. package/dist/runtime/memory/seed.js +0 -160
  449. package/dist/runtime/memory/seed.js.map +0 -1
  450. package/dist/runtime/memory/user-repo.d.ts +0 -19
  451. package/dist/runtime/memory/user-repo.d.ts.map +0 -1
  452. package/dist/runtime/memory/user-repo.js +0 -57
  453. package/dist/runtime/memory/user-repo.js.map +0 -1
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Retry sandbox `execute` when the command stream dies before start.
3
+ *
4
+ * LangSmith sandboxes can return HTTP 201 / accept uploads while the websocket
5
+ * command channel is not ready yet. The first `execute` then fails with
6
+ * `Command stream ended before 'started' message`. Cold GitHub provision and
7
+ * `setup.sh` hit this path immediately after create; retrying the same execute
8
+ * with backoff is cheaper (and more reliable) than throwing away the box.
9
+ */
10
+ const STREAM_EXECUTE_ATTEMPTS = 6;
11
+ // Cold boxes often need several seconds after HTTP 201 before the websocket
12
+ // command channel is ready — a 1s base burned through attempts too quickly.
13
+ const STREAM_EXECUTE_BASE_DELAY_MS = 2_000;
14
+ // Only the "never started" race is safe to retry in place. Broader transport
15
+ // errors (bare SandboxOperationError, truncated HTTP bodies) can arrive after
16
+ // the command began or finished — those belong on the invalidate/recreate path.
17
+ const STREAM_NEVER_STARTED_RE = /Command stream ended before ['"]started['"] message/i;
18
+ const STREAM_NEVER_STARTED_NAMES = new Set([
19
+ "_StreamEndedBeforeStarted",
20
+ "StreamEndedBeforeStarted",
21
+ ]);
22
+ function errorLabel(error) {
23
+ if (error instanceof Error) {
24
+ return `${error.name}: ${error.message}`;
25
+ }
26
+ return String(error);
27
+ }
28
+ export function isSandboxStreamError(error) {
29
+ if (error instanceof Error && STREAM_NEVER_STARTED_NAMES.has(error.name)) {
30
+ return true;
31
+ }
32
+ if (error !== null &&
33
+ typeof error === "object" &&
34
+ STREAM_NEVER_STARTED_NAMES.has(error.constructor?.name ?? "")) {
35
+ return true;
36
+ }
37
+ const message = error instanceof Error
38
+ ? `${error.name}: ${error.message}`
39
+ : typeof error === "string"
40
+ ? error
41
+ : String(error);
42
+ return STREAM_NEVER_STARTED_RE.test(message);
43
+ }
44
+ export async function executeWithStreamRetry(execute, command, options = {}) {
45
+ const attempts = options.attempts ?? STREAM_EXECUTE_ATTEMPTS;
46
+ const baseDelayMs = options.baseDelayMs ?? STREAM_EXECUTE_BASE_DELAY_MS;
47
+ const sleep = options.sleep ??
48
+ ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
49
+ if (attempts < 1) {
50
+ throw new Error("attempts must be >= 1");
51
+ }
52
+ let lastError;
53
+ const op = options.label?.trim() || "execute";
54
+ const started = Date.now();
55
+ for (let attempt = 0; attempt < attempts; attempt++) {
56
+ const attemptStarted = Date.now();
57
+ try {
58
+ const result = await execute(command);
59
+ if (attempt > 0) {
60
+ console.warn(`[mda] sandbox stream execute recovered after ${attempt + 1} attempt(s) ` +
61
+ `(${((Date.now() - started) / 1000).toFixed(1)}s total) op=${JSON.stringify(op)}`);
62
+ }
63
+ return result;
64
+ }
65
+ catch (error) {
66
+ lastError = error;
67
+ const elapsedAttempt = (Date.now() - attemptStarted) / 1000;
68
+ if (!isSandboxStreamError(error)) {
69
+ console.warn(`[mda] sandbox execute failed (not stream-retryable) ` +
70
+ `attempt=${attempt + 1}/${attempts} elapsed=${elapsedAttempt.toFixed(1)}s ` +
71
+ `op=${JSON.stringify(op)} err=${errorLabel(error)}`);
72
+ throw error;
73
+ }
74
+ if (attempt >= attempts - 1) {
75
+ console.warn(`[mda] sandbox stream execute exhausted retries ` +
76
+ `attempts=${attempts} elapsed=${((Date.now() - started) / 1000).toFixed(1)}s ` +
77
+ `op=${JSON.stringify(op)} err=${errorLabel(error)}`);
78
+ throw error;
79
+ }
80
+ const delayMs = baseDelayMs * 2 ** attempt;
81
+ console.warn(`[mda] sandbox stream not ready; retrying execute ` +
82
+ `attempt=${attempt + 1}/${attempts} elapsed=${elapsedAttempt.toFixed(1)}s ` +
83
+ `sleep=${(delayMs / 1000).toFixed(1)}s op=${JSON.stringify(op)} ` +
84
+ `err=${errorLabel(error)}`);
85
+ await sleep(delayMs);
86
+ }
87
+ }
88
+ throw lastError;
89
+ }
90
+ //# sourceMappingURL=sandbox-stream-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-stream-retry.js","sourceRoot":"","sources":["../../src/runtime/sandbox-stream-retry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-script.d.ts","sourceRoot":"","sources":["../../src/runtime/setup-script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAK5E;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,QAAQ,CAAC,GACnD,IAAI,CAON"}
1
+ {"version":3,"file":"setup-script.d.ts","sourceRoot":"","sources":["../../src/runtime/setup-script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAO5E;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,QAAQ,CAAC,GACnD,IAAI,CAON"}
@@ -1,3 +1,4 @@
1
+ import { executeWithStreamRetry } from "./sandbox-stream-retry.js";
1
2
  /** Absolute path the provisioning script is uploaded to inside the sandbox. */
2
3
  const SETUP_REMOTE_PATH = "/tmp/mda-setup.sh";
3
4
  /**
@@ -8,13 +9,24 @@ const SETUP_REMOTE_PATH = "/tmp/mda-setup.sh";
8
9
  * by path; otherwise it is run inline (see {@link runSetupScriptInline}).
9
10
  */
10
11
  export async function runSetupScript(backend, script) {
12
+ const sandboxId = "id" in backend && typeof backend.id === "string"
13
+ ? backend.id
14
+ : null;
11
15
  if (typeof backend.uploadFiles === "function") {
16
+ console.info(`[mda] sandbox setup.sh: uploading script ` +
17
+ `sandbox_id=${JSON.stringify(sandboxId)} path=${SETUP_REMOTE_PATH}`);
12
18
  await backend.uploadFiles([
13
19
  [SETUP_REMOTE_PATH, new TextEncoder().encode(script)],
14
20
  ]);
15
- assertSetupSucceeded(await backend.execute(`bash ${SETUP_REMOTE_PATH}`));
21
+ console.info(`[mda] sandbox setup.sh: starting execute ` +
22
+ `sandbox_id=${JSON.stringify(sandboxId)} ` +
23
+ `cmd=${JSON.stringify(`bash ${SETUP_REMOTE_PATH}`)}`);
24
+ // Fresh sandboxes often reject the first websocket execute; retry in place.
25
+ assertSetupSucceeded(await executeWithStreamRetry((command) => backend.execute(command), `bash ${SETUP_REMOTE_PATH}`, { label: "setup.sh" }));
16
26
  return;
17
27
  }
28
+ console.info(`[mda] sandbox setup.sh: starting inline execute ` +
29
+ `sandbox_id=${JSON.stringify(sandboxId)}`);
18
30
  await runSetupScriptInline(backend, script);
19
31
  }
20
32
  /**
@@ -24,7 +36,9 @@ export async function runSetupScript(backend, script) {
24
36
  * conform to the execute surface but do not expose upload support.
25
37
  */
26
38
  export async function runSetupScriptInline(backend, script) {
27
- assertSetupSucceeded(await backend.execute(script));
39
+ assertSetupSucceeded(await executeWithStreamRetry((command) => backend.execute(command), script, {
40
+ label: "setup.sh (inline)",
41
+ }));
28
42
  }
29
43
  export function assertSetupSucceeded(result) {
30
44
  if (typeof result.exitCode === "number" && result.exitCode !== 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-script.js","sourceRoot":"","sources":["../../src/runtime/setup-script.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAiC,EACjC,MAAc;IAEd,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,OAAO,CAAC,WAAW,CAAC;YACxB,CAAC,iBAAiB,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACtD,CAAC,CAAC;QACH,oBAAoB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IACD,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAiC,EACjC,MAAc;IAEd,oBAAoB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAoD;IAEpD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,0CAA0C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"setup-script.js","sourceRoot":"","sources":["../../src/runtime/setup-script.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAiC,EACjC,MAAc;IAEd,MAAM,SAAS,GACb,IAAI,IAAI,OAAO,IAAI,OAAQ,OAA4B,CAAC,EAAE,KAAK,QAAQ;QACrE,CAAC,CAAE,OAA0B,CAAC,EAAE;QAChC,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CACV,2CAA2C;YACzC,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,iBAAiB,EAAE,CACtE,CAAC;QACF,MAAM,OAAO,CAAC,WAAW,CAAC;YACxB,CAAC,iBAAiB,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACtD,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CACV,2CAA2C;YACzC,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,iBAAiB,EAAE,CAAC,EAAE,CACvD,CAAC;QACF,4EAA4E;QAC5E,oBAAoB,CAClB,MAAM,sBAAsB,CAC1B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACrC,QAAQ,iBAAiB,EAAE,EAC3B,EAAE,KAAK,EAAE,UAAU,EAAE,CACtB,CACF,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,CACV,kDAAkD;QAChD,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAC5C,CAAC;IACF,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAiC,EACjC,MAAc;IAEd,oBAAoB,CAClB,MAAM,sBAAsB,CAC1B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACrC,MAAM,EACN;QACE,KAAK,EAAE,mBAAmB;KAC3B,CACF,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAoD;IAEpD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,0CAA0C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import type { IdentityDefinition } from "../identity/index.js";
2
+ import type { MemoryDefinition } from "../memory/index.js";
2
3
  import type { SandboxDefinition } from "../sandbox.js";
4
+ import type { Channel } from "./channel.js";
3
5
  import type { Connector } from "./connector.js";
4
6
  /**
5
7
  * Any object that carries a per-run LangGraph `configurable` map. The shared base
@@ -54,6 +56,13 @@ export interface ManagedAgentOptions {
54
56
  * tools appended to the agent's authored tools.
55
57
  */
56
58
  connectors?: Connector[];
59
+ /**
60
+ * The channels discovered under `channels/`, already validated by
61
+ * `collectChannels`. Reserved on the agent options bag so the generated
62
+ * entry can pass the same object shape; Events/messaging mount on the
63
+ * managed HTTP app, not the agent graph.
64
+ */
65
+ channels?: Channel[];
57
66
  /**
58
67
  * The root `identity.ts` declaration, if the project opts into managed
59
68
  * identity. Resolution + thread scoping run in the generated custom-auth
@@ -61,5 +70,18 @@ export interface ManagedAgentOptions {
61
70
  * frozen `runtime.identity` envelope and memory namespacing.
62
71
  */
63
72
  identity?: IdentityDefinition;
73
+ /**
74
+ * The root `memory.ts` declaration, if the project opts into durable memory.
75
+ * It is the only source of mounted slices — absent means no memory, whatever
76
+ * identity says — and it is deliberately independent of identity so a project
77
+ * can keep durable knowledge without declaring callers at all.
78
+ */
79
+ memory?: MemoryDefinition;
80
+ /**
81
+ * Harbor eval trial workspace root (usually `/app`). When set, the managed
82
+ * runtime installs a disk `FilesystemBackend` so verifier-visible writes land
83
+ * on the trial filesystem instead of StateBackend virtual state.
84
+ */
85
+ trialRootDir?: string;
64
86
  }
65
87
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,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;AAEhD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -1,20 +1,20 @@
1
1
  import { type JWTPayload } from "jose";
2
- import type { IdentityConfig, ValidatedTokenIngress, ValidatedTokenProvider } from "../identity/index.js";
2
+ import { type IdentityConfig, type ValidatedTokenIngress, type ValidatedTokenProvider } from "../identity/index.js";
3
3
  import type { ManagedUser } from "./auth.js";
4
4
  /**
5
5
  * Resolve the caller identity for the `validated_token` ingress mode: pick
6
- * the provider by token issuer, verify the token (JWKS / introspection / guest),
7
- * then map its claims into the identity envelope. Fail-closed (401) throughout.
6
+ * the provider by token issuer, verify the token (JWKS / introspection), then
7
+ * map its claims into the identity envelope. Fail-closed (401) throughout.
8
8
  *
9
9
  * OIDC discovery runs only for the selected provider, or for issuer matching
10
10
  * when no provider is identifiable from already-known config. A discovery
11
11
  * outage on an unrelated provider does not block authentication.
12
12
  */
13
- export declare function resolveValidatedTokenUser(cfg: IdentityConfig, ingress: ValidatedTokenIngress, request: Request): Promise<ManagedUser>;
13
+ export declare function resolveValidatedTokenUser(_cfg: IdentityConfig, ingress: ValidatedTokenIngress, request: Request): Promise<ManagedUser>;
14
14
  /**
15
15
  * Select the provider for `token`, materializing OIDC discovery only when
16
- * needed. Prefer providers whose issuer/guest type is already known so a
17
- * custom-domain discovery outage cannot block unrelated auth (e.g. guest).
16
+ * needed. Prefer providers whose issuer is already known so a custom-domain
17
+ * discovery outage cannot block unrelated auth.
18
18
  *
19
19
  * @param providers - Declared validated-token providers.
20
20
  * @param token - Bearer token from the request.
@@ -25,20 +25,15 @@ export declare function resolveProvider(providers: ValidatedTokenProvider[], tok
25
25
  export declare function bearerToken(request: Request): string;
26
26
  /**
27
27
  * Select the provider that should verify `token`. A single-provider deployment
28
- * always uses its one entry. Otherwise: JWT tokens route by `iss` (guest tokens
29
- * carry MDA's own issuer); opaque tokens route to the sole `introspect`
30
- * provider. Fail-closed when selection is ambiguous (401).
28
+ * always uses its one entry. Otherwise: JWT tokens route by `iss`; opaque
29
+ * tokens route to the sole `introspect` provider. Fail-closed when selection
30
+ * is ambiguous (401).
31
31
  *
32
32
  * Callers that may need OIDC discovery should use {@link resolveProvider}.
33
33
  */
34
34
  export declare function selectProvider(providers: ValidatedTokenProvider[], token: string): ValidatedTokenProvider;
35
35
  /** Map verified token claims into the managed user envelope, per `provider.claims`. */
36
36
  export declare function claimsToUser(provider: ValidatedTokenProvider, claims: JWTPayload): ManagedUser;
37
- /**
38
- * Mint a short-lived guest token for an anonymous caller. Exposed for the guest
39
- * issue/reissue route; the same deployment key verifies it on later calls.
40
- */
41
- export declare function issueGuestToken(provider: ValidatedTokenProvider, subject?: string): Promise<string>;
42
37
  /**
43
38
  * Expand `${ENV_VAR}` references. Missing variables fail closed (500) so auth
44
39
  * misconfiguration is not mistaken for a bad caller token.
@@ -1 +1 @@
1
- {"version":3,"file":"validated-token.d.ts","sourceRoot":"","sources":["../../src/runtime/validated-token.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAgB7C;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,sBAAsB,EAAE,EACnC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAiBjC;AAuDD,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAQpD;AAkED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,sBAAsB,EAAE,EACnC,KAAK,EAAE,MAAM,GACZ,sBAAsB,CAoBxB;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,UAAU,GACjB,WAAW,CA0Bb;AAkKD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,sBAAsB,EAChC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAejB;AAYD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/C"}
1
+ {"version":3,"file":"validated-token.d.ts","sourceRoot":"","sources":["../../src/runtime/validated-token.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,MAAM,CAAC;AAEd,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAgB7C;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,CAKtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,sBAAsB,EAAE,EACnC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAiBjC;AA4ED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAQpD;AA2DD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,sBAAsB,EAAE,EACnC,KAAK,EAAE,MAAM,GACZ,sBAAsB,CAoBxB;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,UAAU,GACjB,WAAW,CAgCb;AA8JD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/C"}
@@ -1,9 +1,7 @@
1
1
  import { HTTPException } from "@langchain/langgraph-sdk/auth";
2
- import { createRemoteJWKSet, decodeJwt, jwtVerify, SignJWT, } from "jose";
3
- /** Issuer stamped on MDA-minted guest tokens, used to route them at selection. */
4
- const GUEST_ISSUER = "mda:guest";
5
- /** Deployment env var carrying the HS256 key MDA signs/verifies guest tokens with. */
6
- const GUEST_KEY_ENV = "MDA_GUEST_SIGNING_KEY";
2
+ import { createRemoteJWKSet, decodeJwt, jwtVerify, } from "jose";
3
+ import { normalizeGroups, userClaimName, } from "../identity/index.js";
4
+ import { AUTH_HTTP_TIMEOUT_MS, fetchWithTimeout, JWKS_HTTP_TIMEOUT_MS, } from "./http.js";
7
5
  /** Remote JWKS key sets, cached per resolved JWKS URI for the process lifetime. */
8
6
  const jwksCache = new Map();
9
7
  /** OIDC `discover` results (issuer or discovery base → jwks_uri). */
@@ -12,29 +10,23 @@ const discoverCache = new Map();
12
10
  const oidcIssuerCache = new Map();
13
11
  /**
14
12
  * Resolve the caller identity for the `validated_token` ingress mode: pick
15
- * the provider by token issuer, verify the token (JWKS / introspection / guest),
16
- * then map its claims into the identity envelope. Fail-closed (401) throughout.
13
+ * the provider by token issuer, verify the token (JWKS / introspection), then
14
+ * map its claims into the identity envelope. Fail-closed (401) throughout.
17
15
  *
18
16
  * OIDC discovery runs only for the selected provider, or for issuer matching
19
17
  * when no provider is identifiable from already-known config. A discovery
20
18
  * outage on an unrelated provider does not block authentication.
21
19
  */
22
- export async function resolveValidatedTokenUser(cfg, ingress, request) {
20
+ export async function resolveValidatedTokenUser(_cfg, ingress, request) {
23
21
  const token = bearerToken(request);
24
22
  const provider = await resolveProvider(ingress.providers, token);
25
23
  const claims = await verifyProviderClaims(provider, token, request.headers);
26
- const user = claimsToUser(provider, claims);
27
- if (cfg.tenancy === "multi" && !user.mda_tenant_id) {
28
- throw new HTTPException(401, {
29
- message: "missing tenant for multi-tenant deployment",
30
- });
31
- }
32
- return user;
24
+ return claimsToUser(provider, claims);
33
25
  }
34
26
  /**
35
27
  * Select the provider for `token`, materializing OIDC discovery only when
36
- * needed. Prefer providers whose issuer/guest type is already known so a
37
- * custom-domain discovery outage cannot block unrelated auth (e.g. guest).
28
+ * needed. Prefer providers whose issuer is already known so a custom-domain
29
+ * discovery outage cannot block unrelated auth.
38
30
  *
39
31
  * @param providers - Declared validated-token providers.
40
32
  * @param token - Bearer token from the request.
@@ -78,13 +70,7 @@ async function discoverOidc(authBase) {
78
70
  if (cachedIssuer && cachedJwks) {
79
71
  return { issuer: cachedIssuer, jwks: cachedJwks };
80
72
  }
81
- const response = await fetch(`${base}/.well-known/openid-configuration`);
82
- if (!response.ok) {
83
- throw new HTTPException(401, {
84
- message: "failed to resolve OIDC configuration",
85
- });
86
- }
87
- const config = (await response.json());
73
+ const config = await fetchOidcConfiguration(base);
88
74
  if (!config.issuer) {
89
75
  throw new HTTPException(401, {
90
76
  message: "OIDC configuration has no issuer",
@@ -100,6 +86,30 @@ async function discoverOidc(authBase) {
100
86
  discoverCache.set(config.issuer, config.jwks_uri);
101
87
  return { issuer: config.issuer, jwks: config.jwks_uri };
102
88
  }
89
+ /**
90
+ * `GET {base}/.well-known/openid-configuration`, bounded by
91
+ * {@link AUTH_HTTP_TIMEOUT_MS}. A hung, unreachable, or malformed IdP is an
92
+ * auth failure (401), never an unhandled 500 or an unbounded wait.
93
+ */
94
+ async function fetchOidcConfiguration(base) {
95
+ try {
96
+ const response = await fetchWithTimeout(`${base}/.well-known/openid-configuration`, undefined, AUTH_HTTP_TIMEOUT_MS);
97
+ if (!response.ok) {
98
+ throw new HTTPException(401, {
99
+ message: "failed to resolve OIDC configuration",
100
+ });
101
+ }
102
+ return (await response.json());
103
+ }
104
+ catch (error) {
105
+ if (error instanceof HTTPException) {
106
+ throw error;
107
+ }
108
+ throw new HTTPException(401, {
109
+ message: "failed to resolve OIDC configuration",
110
+ });
111
+ }
112
+ }
103
113
  /** Extract the bearer token from the `Authorization` header, or 401. */
104
114
  export function bearerToken(request) {
105
115
  const header = request.headers.get("authorization") ?? "";
@@ -130,7 +140,7 @@ function configuredIssuers(providers) {
130
140
  return configured;
131
141
  }
132
142
  /**
133
- * Select a provider using only already-known issuer/guest/introspect config.
143
+ * Select a provider using only already-known issuer/introspect config.
134
144
  * Returns `undefined` when selection needs OIDC discovery (e.g. custom-domain
135
145
  * Supabase whose JWT `iss` is not yet on the provider).
136
146
  *
@@ -153,20 +163,13 @@ function trySelectKnownProvider(providers, token) {
153
163
  ? introspectProviders[0]
154
164
  : undefined;
155
165
  }
156
- const match = providers.find((p) => issuer !== undefined && providerAcceptsIssuer(p, issuer));
157
- if (match) {
158
- return match;
159
- }
160
- if (issuer === GUEST_ISSUER) {
161
- return providers.find((p) => p.guest);
162
- }
163
- return undefined;
166
+ return providers.find((p) => issuer !== undefined && providerAcceptsIssuer(p, issuer));
164
167
  }
165
168
  /**
166
169
  * Select the provider that should verify `token`. A single-provider deployment
167
- * always uses its one entry. Otherwise: JWT tokens route by `iss` (guest tokens
168
- * carry MDA's own issuer); opaque tokens route to the sole `introspect`
169
- * provider. Fail-closed when selection is ambiguous (401).
170
+ * always uses its one entry. Otherwise: JWT tokens route by `iss`; opaque
171
+ * tokens route to the sole `introspect` provider. Fail-closed when selection
172
+ * is ambiguous (401).
170
173
  *
171
174
  * Callers that may need OIDC discovery should use {@link resolveProvider}.
172
175
  */
@@ -193,29 +196,35 @@ export function selectProvider(providers, token) {
193
196
  }
194
197
  /** Map verified token claims into the managed user envelope, per `provider.claims`. */
195
198
  export function claimsToUser(provider, claims) {
196
- const actor = claims[provider.claims.actor];
197
- if (actor == null || actor === "") {
199
+ const userClaim = userClaimName(provider.claims);
200
+ if (!userClaim) {
201
+ throw new HTTPException(500, {
202
+ message: "validated_token provider maps no user claim",
203
+ });
204
+ }
205
+ const caller = claims[userClaim];
206
+ if (caller == null || caller === "") {
198
207
  throw new HTTPException(401, {
199
- message: `token missing actor claim "${provider.claims.actor}"`,
208
+ message: `token missing user claim "${userClaim}"`,
200
209
  });
201
210
  }
202
211
  const user = {
203
- identity: String(actor),
212
+ identity: String(caller),
204
213
  permissions: [],
205
- mda_actor_id: String(actor),
214
+ mda_user_id: String(caller),
206
215
  mda_claims: { ...claims },
207
216
  };
208
- const tenant = provider.claims.tenant
209
- ? claims[provider.claims.tenant]
210
- : undefined;
211
- if (tenant != null && tenant !== "") {
212
- user.mda_tenant_id = String(tenant);
217
+ const groups = provider.claims.groups
218
+ ? normalizeGroups(claims[provider.claims.groups])
219
+ : [];
220
+ if (groups.length > 0) {
221
+ user.mda_groups = groups;
213
222
  }
214
223
  const email = provider.claims.email
215
224
  ? claims[provider.claims.email]
216
225
  : undefined;
217
226
  if (email) {
218
- user.mda_actor_email = String(email);
227
+ user.mda_user_email = String(email);
219
228
  }
220
229
  return user;
221
230
  }
@@ -223,9 +232,6 @@ async function verifyProviderClaims(provider, token, headers) {
223
232
  if (provider.introspect) {
224
233
  return introspectClaims(provider, token, headers);
225
234
  }
226
- if (provider.guest) {
227
- return verifyGuestToken(token);
228
- }
229
235
  return jwksVerifyClaims(provider, token);
230
236
  }
231
237
  async function jwksVerifyClaims(provider, token) {
@@ -243,7 +249,7 @@ async function jwksVerifyClaims(provider, token) {
243
249
  if (/no applicable key|JWKS|key set|kid/i.test(detail)) {
244
250
  throw new HTTPException(401, {
245
251
  message: "token JWKS verification failed (empty key set or unknown kid); " +
246
- "legacy HS256 Supabase projects need providers.supabase(..., introspect: true)",
252
+ "legacy HS256 Supabase projects need auth.supabase(..., introspect: true)",
247
253
  });
248
254
  }
249
255
  throw new HTTPException(401, {
@@ -255,7 +261,9 @@ async function providerKeySet(provider) {
255
261
  const uri = await resolveJwksUri(provider);
256
262
  let keySet = jwksCache.get(uri);
257
263
  if (!keySet) {
258
- keySet = createRemoteJWKSet(new URL(uri));
264
+ keySet = createRemoteJWKSet(new URL(uri), {
265
+ timeoutDuration: JWKS_HTTP_TIMEOUT_MS,
266
+ });
259
267
  jwksCache.set(uri, keySet);
260
268
  }
261
269
  return keySet;
@@ -270,13 +278,7 @@ async function resolveJwksUri(provider) {
270
278
  return cached;
271
279
  }
272
280
  const base = provider.issuer.replace(/\/$/, "");
273
- const response = await fetch(`${base}/.well-known/openid-configuration`);
274
- if (!response.ok) {
275
- throw new HTTPException(401, {
276
- message: "failed to resolve OIDC configuration",
277
- });
278
- }
279
- const config = (await response.json());
281
+ const config = await fetchOidcConfiguration(base);
280
282
  if (!config.jwks_uri) {
281
283
  throw new HTTPException(401, {
282
284
  message: "OIDC configuration has no jwks_uri",
@@ -309,13 +311,26 @@ async function introspectClaims(provider, token, headers) {
309
311
  }
310
312
  // Expand `${ENV}` in the endpoint so region URLs can stay deployment-driven
311
313
  // (e.g. `${SUPABASE_EU_URL}/auth/v1/user`) rather than baked in at authoring.
312
- const response = await fetch(expandEnv(target.url), {
313
- headers: requestHeaders,
314
- });
315
- if (!response.ok) {
314
+ let body;
315
+ try {
316
+ const response = await fetchWithTimeout(expandEnv(target.url), { headers: requestHeaders }, AUTH_HTTP_TIMEOUT_MS);
317
+ if (!response.ok) {
318
+ throw new HTTPException(401, { message: "token introspection failed" });
319
+ }
320
+ // Read the body inside the same mapping: the deadline covers body
321
+ // consumption, so an endpoint that sends 200 headers and then stalls its
322
+ // body fails here rather than at the fetch.
323
+ body = await response.text();
324
+ }
325
+ catch (error) {
326
+ // A hung or unreachable introspection endpoint must fail closed rather than
327
+ // hold the request slot until the platform gateway gives up.
328
+ if (error instanceof HTTPException) {
329
+ throw error;
330
+ }
316
331
  throw new HTTPException(401, { message: "token introspection failed" });
317
332
  }
318
- return (await response.json());
333
+ return JSON.parse(body);
319
334
  }
320
335
  /**
321
336
  * Resolve the introspection endpoint (and any region-specific headers) for the
@@ -343,48 +358,6 @@ function resolveIntrospection(provider, headers) {
343
358
  message: "introspection provider declares neither url nor regions",
344
359
  });
345
360
  }
346
- /** Verify an MDA-minted guest token (HS256, signed with the deployment key). */
347
- async function verifyGuestToken(token) {
348
- try {
349
- const { payload } = await jwtVerify(token, guestSigningKey(), {
350
- issuer: GUEST_ISSUER,
351
- algorithms: ["HS256"],
352
- });
353
- return payload;
354
- }
355
- catch {
356
- throw new HTTPException(401, { message: "invalid guest token" });
357
- }
358
- }
359
- /**
360
- * Mint a short-lived guest token for an anonymous caller. Exposed for the guest
361
- * issue/reissue route; the same deployment key verifies it on later calls.
362
- */
363
- export async function issueGuestToken(provider, subject) {
364
- const guest = provider.guest;
365
- if (!guest?.issue) {
366
- throw new HTTPException(400, {
367
- message: "provider does not allow guest issuance",
368
- });
369
- }
370
- const sub = `${guest.actorPrefix ?? ""}${subject ?? crypto.randomUUID()}`;
371
- return new SignJWT({})
372
- .setProtectedHeader({ alg: "HS256" })
373
- .setIssuer(GUEST_ISSUER)
374
- .setSubject(sub)
375
- .setIssuedAt()
376
- .setExpirationTime(guest.ttl ?? "24h")
377
- .sign(guestSigningKey());
378
- }
379
- function guestSigningKey() {
380
- const key = process.env[GUEST_KEY_ENV];
381
- if (!key) {
382
- throw new HTTPException(500, {
383
- message: `guest tokens require ${GUEST_KEY_ENV}`,
384
- });
385
- }
386
- return new TextEncoder().encode(key);
387
- }
388
361
  /**
389
362
  * Expand `${ENV_VAR}` references. Missing variables fail closed (500) so auth
390
363
  * misconfiguration is not mistaken for a bad caller token.
@@ -1 +1 @@
1
- {"version":3,"file":"validated-token.js","sourceRoot":"","sources":["../../src/runtime/validated-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validated-token.js","sourceRoot":"","sources":["../../src/runtime/validated-token.ts"],"names":[],"mappings":"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"}