managed-deepagents 0.5.0-dev.79 → 0.5.0-dev.81

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 (435) hide show
  1. package/README.md +56 -13
  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 +6 -8
  8. package/dist/channels/index.d.ts.map +1 -1
  9. package/dist/channels/index.js +5 -5
  10. package/dist/channels/index.js.map +1 -1
  11. package/dist/channels/manifest.d.ts +36 -3
  12. package/dist/channels/manifest.d.ts.map +1 -1
  13. package/dist/channels/messaging-registry.d.ts +17 -0
  14. package/dist/channels/messaging-registry.d.ts.map +1 -0
  15. package/dist/channels/messaging-registry.js +44 -0
  16. package/dist/channels/messaging-registry.js.map +1 -0
  17. package/dist/channels/registry.d.ts +4 -3
  18. package/dist/channels/registry.d.ts.map +1 -1
  19. package/dist/channels/registry.js +6 -5
  20. package/dist/channels/registry.js.map +1 -1
  21. package/dist/channels/schedule-delivery.d.ts +4 -1
  22. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  23. package/dist/channels/schedule-delivery.js +4 -2
  24. package/dist/channels/schedule-delivery.js.map +1 -1
  25. package/dist/connectors/github/adapter-core.d.ts +15 -0
  26. package/dist/connectors/github/adapter-core.d.ts.map +1 -0
  27. package/dist/connectors/github/adapter-core.js +52 -0
  28. package/dist/connectors/github/adapter-core.js.map +1 -0
  29. package/dist/{channels → connectors}/github/define.d.ts +28 -58
  30. package/dist/connectors/github/define.d.ts.map +1 -0
  31. package/dist/connectors/github/define.js +72 -0
  32. package/dist/connectors/github/define.js.map +1 -0
  33. package/dist/{channels → connectors}/github/http.d.ts +4 -4
  34. package/dist/connectors/github/http.d.ts.map +1 -0
  35. package/dist/{channels → connectors}/github/http.js +24 -25
  36. package/dist/connectors/github/http.js.map +1 -0
  37. package/dist/connectors/github/index.d.ts +59 -16
  38. package/dist/connectors/github/index.d.ts.map +1 -1
  39. package/dist/connectors/github/index.js +159 -73
  40. package/dist/connectors/github/index.js.map +1 -1
  41. package/dist/connectors/github/match.d.ts +20 -0
  42. package/dist/connectors/github/match.d.ts.map +1 -0
  43. package/dist/connectors/github/match.js +41 -0
  44. package/dist/connectors/github/match.js.map +1 -0
  45. package/dist/{channels → connectors}/github/normalize.d.ts +1 -1
  46. package/dist/connectors/github/normalize.d.ts.map +1 -0
  47. package/dist/{channels → connectors}/github/normalize.js +2 -2
  48. package/dist/connectors/github/normalize.js.map +1 -0
  49. package/dist/connectors/github/sandbox.d.ts.map +1 -1
  50. package/dist/connectors/github/sandbox.js +30 -23
  51. package/dist/connectors/github/sandbox.js.map +1 -1
  52. package/dist/connectors/github/source-thread.d.ts.map +1 -0
  53. package/dist/connectors/github/source-thread.js.map +1 -0
  54. package/dist/{channels → connectors}/github/transport.d.ts +7 -1
  55. package/dist/connectors/github/transport.d.ts.map +1 -0
  56. package/dist/{channels → connectors}/github/transport.js +18 -4
  57. package/dist/connectors/github/transport.js.map +1 -0
  58. package/dist/connectors/langsmith/index.d.ts +29 -17
  59. package/dist/connectors/langsmith/index.d.ts.map +1 -1
  60. package/dist/connectors/langsmith/index.js +34 -29
  61. package/dist/connectors/langsmith/index.js.map +1 -1
  62. package/dist/connectors/langsmith/routes.d.ts +4 -15
  63. package/dist/connectors/langsmith/routes.d.ts.map +1 -1
  64. package/dist/connectors/langsmith/routes.js +63 -72
  65. package/dist/connectors/langsmith/routes.js.map +1 -1
  66. package/dist/connectors/marketplace/catalog.d.ts +96 -0
  67. package/dist/connectors/marketplace/catalog.d.ts.map +1 -0
  68. package/dist/connectors/marketplace/catalog.js +213 -0
  69. package/dist/connectors/marketplace/catalog.js.map +1 -0
  70. package/dist/connectors/marketplace/fleet-mcp.d.ts +62 -0
  71. package/dist/connectors/marketplace/fleet-mcp.d.ts.map +1 -0
  72. package/dist/connectors/marketplace/fleet-mcp.js +215 -0
  73. package/dist/connectors/marketplace/fleet-mcp.js.map +1 -0
  74. package/dist/connectors/marketplace/index.d.ts +31 -0
  75. package/dist/connectors/marketplace/index.d.ts.map +1 -0
  76. package/dist/connectors/marketplace/index.js +39 -0
  77. package/dist/connectors/marketplace/index.js.map +1 -0
  78. package/dist/connectors/marketplace/load.d.ts +15 -0
  79. package/dist/connectors/marketplace/load.d.ts.map +1 -0
  80. package/dist/connectors/marketplace/load.js +265 -0
  81. package/dist/connectors/marketplace/load.js.map +1 -0
  82. package/dist/connectors/mcp/index.d.ts +13 -20
  83. package/dist/connectors/mcp/index.d.ts.map +1 -1
  84. package/dist/connectors/mcp/index.js +92 -112
  85. package/dist/connectors/mcp/index.js.map +1 -1
  86. package/dist/connectors/mcp/load.d.ts.map +1 -1
  87. package/dist/connectors/mcp/load.js +16 -40
  88. package/dist/connectors/mcp/load.js.map +1 -1
  89. package/dist/{channels → connectors}/slack/adapter-core.d.ts +1 -1
  90. package/dist/connectors/slack/adapter-core.d.ts.map +1 -0
  91. package/dist/connectors/slack/adapter-core.js.map +1 -0
  92. package/dist/{channels → connectors}/slack/adapter.d.ts +3 -4
  93. package/dist/connectors/slack/adapter.d.ts.map +1 -0
  94. package/dist/{channels → connectors}/slack/adapter.js +1 -1
  95. package/dist/connectors/slack/adapter.js.map +1 -0
  96. package/dist/{channels → connectors}/slack/http.d.ts +6 -40
  97. package/dist/connectors/slack/http.d.ts.map +1 -0
  98. package/dist/{channels → connectors}/slack/http.js +38 -127
  99. package/dist/connectors/slack/http.js.map +1 -0
  100. package/dist/connectors/slack/index.d.ts +108 -0
  101. package/dist/connectors/slack/index.d.ts.map +1 -0
  102. package/dist/connectors/slack/index.js +191 -0
  103. package/dist/connectors/slack/index.js.map +1 -0
  104. package/dist/{channels → connectors}/slack/normalize.d.ts +5 -5
  105. package/dist/connectors/slack/normalize.d.ts.map +1 -0
  106. package/dist/{channels → connectors}/slack/normalize.js +21 -20
  107. package/dist/connectors/slack/normalize.js.map +1 -0
  108. package/dist/connectors/slack/source-thread.d.ts.map +1 -0
  109. package/dist/connectors/slack/source-thread.js.map +1 -0
  110. package/dist/{channels → connectors}/slack/transport.d.ts +1 -1
  111. package/dist/connectors/slack/transport.d.ts.map +1 -0
  112. package/dist/{channels → connectors}/slack/transport.js +4 -3
  113. package/dist/connectors/slack/transport.js.map +1 -0
  114. package/dist/connectors/tool-selection.d.ts +55 -0
  115. package/dist/connectors/tool-selection.d.ts.map +1 -0
  116. package/dist/connectors/tool-selection.js +112 -0
  117. package/dist/connectors/tool-selection.js.map +1 -0
  118. package/dist/connectors/toolserver/catalog.d.ts +332 -0
  119. package/dist/connectors/toolserver/catalog.d.ts.map +1 -0
  120. package/dist/connectors/toolserver/catalog.js +463 -0
  121. package/dist/connectors/toolserver/catalog.js.map +1 -0
  122. package/dist/connectors/toolserver/connectors.d.ts +698 -0
  123. package/dist/connectors/toolserver/connectors.d.ts.map +1 -0
  124. package/dist/connectors/toolserver/connectors.js +13 -0
  125. package/dist/connectors/toolserver/connectors.js.map +1 -0
  126. package/dist/connectors/toolserver/index.d.ts +144 -0
  127. package/dist/connectors/toolserver/index.d.ts.map +1 -0
  128. package/dist/connectors/toolserver/index.js +107 -0
  129. package/dist/connectors/toolserver/index.js.map +1 -0
  130. package/dist/connectors/toolserver/integrations.d.ts +103 -0
  131. package/dist/connectors/toolserver/integrations.d.ts.map +1 -0
  132. package/dist/connectors/toolserver/integrations.js +277 -0
  133. package/dist/connectors/toolserver/integrations.js.map +1 -0
  134. package/dist/connectors/toolserver/load.d.ts +55 -0
  135. package/dist/connectors/toolserver/load.d.ts.map +1 -0
  136. package/dist/connectors/toolserver/load.js +290 -0
  137. package/dist/connectors/toolserver/load.js.map +1 -0
  138. package/dist/extension.d.ts +77 -0
  139. package/dist/extension.d.ts.map +1 -0
  140. package/dist/extension.js +127 -0
  141. package/dist/extension.js.map +1 -0
  142. package/dist/identity/actor-subject.d.ts +60 -0
  143. package/dist/identity/actor-subject.d.ts.map +1 -0
  144. package/dist/identity/actor-subject.js +107 -0
  145. package/dist/identity/actor-subject.js.map +1 -0
  146. package/dist/identity/byo-oauth.d.ts +81 -0
  147. package/dist/identity/byo-oauth.d.ts.map +1 -0
  148. package/dist/identity/byo-oauth.js +145 -0
  149. package/dist/identity/byo-oauth.js.map +1 -0
  150. package/dist/identity/claims.d.ts +18 -0
  151. package/dist/identity/claims.d.ts.map +1 -0
  152. package/dist/identity/claims.js +37 -0
  153. package/dist/identity/claims.js.map +1 -0
  154. package/dist/identity/connect-inference.d.ts +38 -0
  155. package/dist/identity/connect-inference.d.ts.map +1 -0
  156. package/dist/identity/connect-inference.js +55 -0
  157. package/dist/identity/connect-inference.js.map +1 -0
  158. package/dist/identity/connect-provider-types.d.ts +35 -6
  159. package/dist/identity/connect-provider-types.d.ts.map +1 -1
  160. package/dist/identity/connect-provider-types.js +3 -1
  161. package/dist/identity/connect-provider-types.js.map +1 -1
  162. package/dist/identity/connect-provider.d.ts +9 -4
  163. package/dist/identity/connect-provider.d.ts.map +1 -1
  164. package/dist/identity/connect-provider.js +38 -12
  165. package/dist/identity/connect-provider.js.map +1 -1
  166. package/dist/identity/credential-resolvers.d.ts +33 -0
  167. package/dist/identity/credential-resolvers.d.ts.map +1 -0
  168. package/dist/identity/credential-resolvers.js +62 -0
  169. package/dist/identity/credential-resolvers.js.map +1 -0
  170. package/dist/identity/fleet-connect-hint.d.ts +39 -0
  171. package/dist/identity/fleet-connect-hint.d.ts.map +1 -0
  172. package/dist/identity/fleet-connect-hint.js +134 -0
  173. package/dist/identity/fleet-connect-hint.js.map +1 -0
  174. package/dist/identity/fleet-connect.d.ts +92 -0
  175. package/dist/identity/fleet-connect.d.ts.map +1 -0
  176. package/dist/identity/fleet-connect.js +256 -0
  177. package/dist/identity/fleet-connect.js.map +1 -0
  178. package/dist/identity/fleet-integration-connect.d.ts +32 -0
  179. package/dist/identity/fleet-integration-connect.d.ts.map +1 -0
  180. package/dist/identity/fleet-integration-connect.js +35 -0
  181. package/dist/identity/fleet-integration-connect.js.map +1 -0
  182. package/dist/identity/fleet.d.ts +56 -0
  183. package/dist/identity/fleet.d.ts.map +1 -0
  184. package/dist/identity/fleet.js +133 -0
  185. package/dist/identity/fleet.js.map +1 -0
  186. package/dist/identity/github/connect-http.d.ts +9 -4
  187. package/dist/identity/github/connect-http.d.ts.map +1 -1
  188. package/dist/identity/github/connect-http.js +34 -15
  189. package/dist/identity/github/connect-http.js.map +1 -1
  190. package/dist/identity/github/credentials-store.d.ts +10 -10
  191. package/dist/identity/github/credentials-store.d.ts.map +1 -1
  192. package/dist/identity/github/credentials-store.js +40 -43
  193. package/dist/identity/github/credentials-store.js.map +1 -1
  194. package/dist/identity/github/credentials.d.ts +16 -13
  195. package/dist/identity/github/credentials.d.ts.map +1 -1
  196. package/dist/identity/github/credentials.js +43 -23
  197. package/dist/identity/github/credentials.js.map +1 -1
  198. package/dist/identity/github/index.d.ts +2 -3
  199. package/dist/identity/github/index.d.ts.map +1 -1
  200. package/dist/identity/github/index.js +1 -2
  201. package/dist/identity/github/index.js.map +1 -1
  202. package/dist/identity/github/oauth.d.ts +3 -6
  203. package/dist/identity/github/oauth.d.ts.map +1 -1
  204. package/dist/identity/github/oauth.js +9 -48
  205. package/dist/identity/github/oauth.js.map +1 -1
  206. package/dist/identity/google/connect-http.d.ts +38 -0
  207. package/dist/identity/google/connect-http.d.ts.map +1 -0
  208. package/dist/identity/google/connect-http.js +59 -0
  209. package/dist/identity/google/connect-http.js.map +1 -0
  210. package/dist/identity/google/index.d.ts +7 -0
  211. package/dist/identity/google/index.d.ts.map +1 -0
  212. package/dist/identity/google/index.js +6 -0
  213. package/dist/identity/google/index.js.map +1 -0
  214. package/dist/identity/google/oauth.d.ts +22 -0
  215. package/dist/identity/google/oauth.d.ts.map +1 -0
  216. package/dist/identity/google/oauth.js +48 -0
  217. package/dist/identity/google/oauth.js.map +1 -0
  218. package/dist/identity/index.d.ts +51 -29
  219. package/dist/identity/index.d.ts.map +1 -1
  220. package/dist/identity/index.js +122 -131
  221. package/dist/identity/index.js.map +1 -1
  222. package/dist/identity/linkedin/connect-http.d.ts +38 -0
  223. package/dist/identity/linkedin/connect-http.d.ts.map +1 -0
  224. package/dist/identity/linkedin/connect-http.js +59 -0
  225. package/dist/identity/linkedin/connect-http.js.map +1 -0
  226. package/dist/identity/linkedin/index.d.ts +7 -0
  227. package/dist/identity/linkedin/index.d.ts.map +1 -0
  228. package/dist/identity/linkedin/index.js +6 -0
  229. package/dist/identity/linkedin/index.js.map +1 -0
  230. package/dist/identity/linkedin/oauth.d.ts +22 -0
  231. package/dist/identity/linkedin/oauth.d.ts.map +1 -0
  232. package/dist/identity/linkedin/oauth.js +47 -0
  233. package/dist/identity/linkedin/oauth.js.map +1 -0
  234. package/dist/identity/loopback.d.ts +27 -2
  235. package/dist/identity/loopback.d.ts.map +1 -1
  236. package/dist/identity/loopback.js +61 -8
  237. package/dist/identity/loopback.js.map +1 -1
  238. package/dist/identity/marketplace/connect-hint.d.ts +31 -0
  239. package/dist/identity/marketplace/connect-hint.d.ts.map +1 -0
  240. package/dist/identity/marketplace/connect-hint.js +59 -0
  241. package/dist/identity/marketplace/connect-hint.js.map +1 -0
  242. package/dist/identity/marketplace/connect.d.ts +51 -0
  243. package/dist/identity/marketplace/connect.d.ts.map +1 -0
  244. package/dist/identity/marketplace/connect.js +88 -0
  245. package/dist/identity/marketplace/connect.js.map +1 -0
  246. package/dist/identity/marketplace/index.d.ts +9 -0
  247. package/dist/identity/marketplace/index.d.ts.map +1 -0
  248. package/dist/identity/marketplace/index.js +9 -0
  249. package/dist/identity/marketplace/index.js.map +1 -0
  250. package/dist/identity/microsoft/connect-http.d.ts +39 -0
  251. package/dist/identity/microsoft/connect-http.d.ts.map +1 -0
  252. package/dist/identity/microsoft/connect-http.js +60 -0
  253. package/dist/identity/microsoft/connect-http.js.map +1 -0
  254. package/dist/identity/microsoft/index.d.ts +7 -0
  255. package/dist/identity/microsoft/index.d.ts.map +1 -0
  256. package/dist/identity/microsoft/index.js +6 -0
  257. package/dist/identity/microsoft/index.js.map +1 -0
  258. package/dist/identity/microsoft/oauth.d.ts +24 -0
  259. package/dist/identity/microsoft/oauth.d.ts.map +1 -0
  260. package/dist/identity/microsoft/oauth.js +65 -0
  261. package/dist/identity/microsoft/oauth.js.map +1 -0
  262. package/dist/identity/oauth-tickets.d.ts +37 -0
  263. package/dist/identity/oauth-tickets.d.ts.map +1 -0
  264. package/dist/identity/oauth-tickets.js +114 -0
  265. package/dist/identity/oauth-tickets.js.map +1 -0
  266. package/dist/identity/options.d.ts +95 -0
  267. package/dist/identity/options.d.ts.map +1 -0
  268. package/dist/identity/options.js +175 -0
  269. package/dist/identity/options.js.map +1 -0
  270. package/dist/identity/slack/connect-http.d.ts +3 -3
  271. package/dist/identity/slack/connect-http.d.ts.map +1 -1
  272. package/dist/identity/slack/connect-http.js +23 -15
  273. package/dist/identity/slack/connect-http.js.map +1 -1
  274. package/dist/identity/slack/index.d.ts +1 -2
  275. package/dist/identity/slack/index.d.ts.map +1 -1
  276. package/dist/identity/slack/index.js +1 -2
  277. package/dist/identity/slack/index.js.map +1 -1
  278. package/dist/identity/slack/links.d.ts +15 -15
  279. package/dist/identity/slack/links.d.ts.map +1 -1
  280. package/dist/identity/slack/links.js +50 -53
  281. package/dist/identity/slack/links.js.map +1 -1
  282. package/dist/identity/slack/oauth.d.ts +2 -5
  283. package/dist/identity/slack/oauth.d.ts.map +1 -1
  284. package/dist/identity/slack/oauth.js +8 -63
  285. package/dist/identity/slack/oauth.js.map +1 -1
  286. package/dist/identity/supabase.js +9 -9
  287. package/dist/identity/supabase.js.map +1 -1
  288. package/dist/identity/types.d.ts +96 -38
  289. package/dist/identity/types.d.ts.map +1 -1
  290. package/dist/identity/x/connect-http.d.ts +39 -0
  291. package/dist/identity/x/connect-http.d.ts.map +1 -0
  292. package/dist/identity/x/connect-http.js +69 -0
  293. package/dist/identity/x/connect-http.js.map +1 -0
  294. package/dist/identity/x/index.d.ts +6 -0
  295. package/dist/identity/x/index.d.ts.map +1 -0
  296. package/dist/identity/x/index.js +5 -0
  297. package/dist/identity/x/index.js.map +1 -0
  298. package/dist/index.d.ts +14 -21
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +3 -12
  301. package/dist/index.js.map +1 -1
  302. package/dist/ingress/index.d.ts +54 -0
  303. package/dist/ingress/index.d.ts.map +1 -0
  304. package/dist/ingress/index.js +128 -0
  305. package/dist/ingress/index.js.map +1 -0
  306. package/dist/namespaces.d.ts +306 -0
  307. package/dist/namespaces.d.ts.map +1 -0
  308. package/dist/namespaces.js +127 -0
  309. package/dist/namespaces.js.map +1 -0
  310. package/dist/runtime/auth.d.ts +18 -14
  311. package/dist/runtime/auth.d.ts.map +1 -1
  312. package/dist/runtime/auth.js +88 -68
  313. package/dist/runtime/auth.js.map +1 -1
  314. package/dist/runtime/backend.d.ts +1 -1
  315. package/dist/runtime/backend.d.ts.map +1 -1
  316. package/dist/runtime/connector.d.ts +66 -23
  317. package/dist/runtime/connector.d.ts.map +1 -1
  318. package/dist/runtime/connector.js +63 -27
  319. package/dist/runtime/connector.js.map +1 -1
  320. package/dist/runtime/cors.d.ts +2 -3
  321. package/dist/runtime/cors.d.ts.map +1 -1
  322. package/dist/runtime/cors.js +2 -7
  323. package/dist/runtime/cors.js.map +1 -1
  324. package/dist/runtime/credentials.d.ts +2 -2
  325. package/dist/runtime/credentials.d.ts.map +1 -1
  326. package/dist/runtime/credentials.js +41 -16
  327. package/dist/runtime/credentials.js.map +1 -1
  328. package/dist/runtime/http.d.ts +47 -0
  329. package/dist/runtime/http.d.ts.map +1 -0
  330. package/dist/runtime/http.js +54 -0
  331. package/dist/runtime/http.js.map +1 -0
  332. package/dist/runtime/identity-http.d.ts +6 -16
  333. package/dist/runtime/identity-http.d.ts.map +1 -1
  334. package/dist/runtime/identity-http.js +112 -54
  335. package/dist/runtime/identity-http.js.map +1 -1
  336. package/dist/runtime/identity-runtime.d.ts +18 -17
  337. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  338. package/dist/runtime/identity-runtime.js +55 -39
  339. package/dist/runtime/identity-runtime.js.map +1 -1
  340. package/dist/runtime/index.d.ts +85 -222
  341. package/dist/runtime/index.d.ts.map +1 -1
  342. package/dist/runtime/index.js +73 -34
  343. package/dist/runtime/index.js.map +1 -1
  344. package/dist/runtime/memory/index.d.ts +1 -0
  345. package/dist/runtime/memory/index.d.ts.map +1 -1
  346. package/dist/runtime/memory/index.js +1 -0
  347. package/dist/runtime/memory/index.js.map +1 -1
  348. package/dist/runtime/memory/lazy-context-backend.d.ts +66 -0
  349. package/dist/runtime/memory/lazy-context-backend.d.ts.map +1 -0
  350. package/dist/runtime/memory/lazy-context-backend.js +154 -0
  351. package/dist/runtime/memory/lazy-context-backend.js.map +1 -0
  352. package/dist/runtime/memory/user-repo.js +3 -3
  353. package/dist/runtime/memory/user-repo.js.map +1 -1
  354. package/dist/runtime/recursion-limit.d.ts +22 -0
  355. package/dist/runtime/recursion-limit.d.ts.map +1 -0
  356. package/dist/runtime/recursion-limit.js +46 -0
  357. package/dist/runtime/recursion-limit.js.map +1 -0
  358. package/dist/runtime/sandbox-manager.d.ts +33 -0
  359. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  360. package/dist/runtime/sandbox-manager.js +173 -9
  361. package/dist/runtime/sandbox-manager.js.map +1 -1
  362. package/dist/runtime/sandbox-stream-retry.d.ts +16 -0
  363. package/dist/runtime/sandbox-stream-retry.d.ts.map +1 -0
  364. package/dist/runtime/sandbox-stream-retry.js +61 -0
  365. package/dist/runtime/sandbox-stream-retry.js.map +1 -0
  366. package/dist/runtime/setup-script.d.ts.map +1 -1
  367. package/dist/runtime/setup-script.js +4 -2
  368. package/dist/runtime/setup-script.js.map +1 -1
  369. package/dist/runtime/validated-token.d.ts +1 -1
  370. package/dist/runtime/validated-token.d.ts.map +1 -1
  371. package/dist/runtime/validated-token.js +75 -33
  372. package/dist/runtime/validated-token.js.map +1 -1
  373. package/dist/sandbox.d.ts +19 -22
  374. package/dist/sandbox.d.ts.map +1 -1
  375. package/dist/sandbox.js +20 -34
  376. package/dist/sandbox.js.map +1 -1
  377. package/dist/schedules.js +8 -9
  378. package/dist/schedules.js.map +1 -1
  379. package/package.json +19 -28
  380. package/dist/channels/collect.d.ts +0 -26
  381. package/dist/channels/collect.d.ts.map +0 -1
  382. package/dist/channels/collect.js +0 -42
  383. package/dist/channels/collect.js.map +0 -1
  384. package/dist/channels/github/adapter-core.d.ts +0 -6
  385. package/dist/channels/github/adapter-core.d.ts.map +0 -1
  386. package/dist/channels/github/adapter-core.js +0 -27
  387. package/dist/channels/github/adapter-core.js.map +0 -1
  388. package/dist/channels/github/adapter.d.ts +0 -16
  389. package/dist/channels/github/adapter.d.ts.map +0 -1
  390. package/dist/channels/github/adapter.js +0 -52
  391. package/dist/channels/github/adapter.js.map +0 -1
  392. package/dist/channels/github/define.d.ts.map +0 -1
  393. package/dist/channels/github/define.js +0 -166
  394. package/dist/channels/github/define.js.map +0 -1
  395. package/dist/channels/github/http.d.ts.map +0 -1
  396. package/dist/channels/github/http.js.map +0 -1
  397. package/dist/channels/github/index.d.ts +0 -12
  398. package/dist/channels/github/index.d.ts.map +0 -1
  399. package/dist/channels/github/index.js +0 -10
  400. package/dist/channels/github/index.js.map +0 -1
  401. package/dist/channels/github/normalize.d.ts.map +0 -1
  402. package/dist/channels/github/normalize.js.map +0 -1
  403. package/dist/channels/github/source-thread.d.ts.map +0 -1
  404. package/dist/channels/github/source-thread.js.map +0 -1
  405. package/dist/channels/github/transport.d.ts.map +0 -1
  406. package/dist/channels/github/transport.js.map +0 -1
  407. package/dist/channels/plugin.d.ts +0 -61
  408. package/dist/channels/plugin.d.ts.map +0 -1
  409. package/dist/channels/plugin.js +0 -80
  410. package/dist/channels/plugin.js.map +0 -1
  411. package/dist/channels/slack/adapter-core.d.ts.map +0 -1
  412. package/dist/channels/slack/adapter-core.js.map +0 -1
  413. package/dist/channels/slack/adapter.d.ts.map +0 -1
  414. package/dist/channels/slack/adapter.js.map +0 -1
  415. package/dist/channels/slack/define.d.ts +0 -74
  416. package/dist/channels/slack/define.d.ts.map +0 -1
  417. package/dist/channels/slack/define.js +0 -160
  418. package/dist/channels/slack/define.js.map +0 -1
  419. package/dist/channels/slack/http.d.ts.map +0 -1
  420. package/dist/channels/slack/http.js.map +0 -1
  421. package/dist/channels/slack/index.d.ts +0 -18
  422. package/dist/channels/slack/index.d.ts.map +0 -1
  423. package/dist/channels/slack/index.js +0 -13
  424. package/dist/channels/slack/index.js.map +0 -1
  425. package/dist/channels/slack/normalize.d.ts.map +0 -1
  426. package/dist/channels/slack/normalize.js.map +0 -1
  427. package/dist/channels/slack/source-thread.d.ts.map +0 -1
  428. package/dist/channels/slack/source-thread.js.map +0 -1
  429. package/dist/channels/slack/transport.d.ts.map +0 -1
  430. package/dist/channels/slack/transport.js.map +0 -1
  431. /package/dist/{channels → connectors}/github/source-thread.d.ts +0 -0
  432. /package/dist/{channels → connectors}/github/source-thread.js +0 -0
  433. /package/dist/{channels → connectors}/slack/adapter-core.js +0 -0
  434. /package/dist/{channels → connectors}/slack/source-thread.d.ts +0 -0
  435. /package/dist/{channels → connectors}/slack/source-thread.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet.d.ts","sourceRoot":"","sources":["../../src/identity/fleet.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAMR;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBxB;AAiBD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,eAAe,EAAE,CAAC,CAsB5B;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,4BAA4B,EAClC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAwB1B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,0BAA0B,EAChC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CA2B3B;AAED,sEAAsE;AACtE,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * LangSmith Fleet client for agent-subject vault connections.
3
+ *
4
+ * Shared by Connect providers (Google today; other toolserver OAuth providers
5
+ * later). Source of truth for Connect status is Fleet agent connections — not
6
+ * a local Store cache.
7
+ */
8
+ import { fetchWithTimeout, PROVIDER_HTTP_TIMEOUT_MS } from "../runtime/http.js";
9
+ const DEFAULT_API_URL = "https://api.smith.langchain.com";
10
+ export function resolveFleetApiUrl(env = process.env) {
11
+ const base = trimmed(env.LANGSMITH_ENDPOINT) ??
12
+ trimmed(env.LANGCHAIN_ENDPOINT) ??
13
+ DEFAULT_API_URL;
14
+ return stripTrailingSlashes(withScheme(base));
15
+ }
16
+ export function resolveFleetHeaders(label, env = process.env) {
17
+ const apiKey = trimmed(env.LANGSMITH_API_KEY);
18
+ if (!apiKey) {
19
+ throw new Error(`${label} needs LANGSMITH_API_KEY to reach the LangSmith Fleet API.`);
20
+ }
21
+ const headers = {
22
+ "x-api-key": apiKey,
23
+ "Content-Type": "application/json",
24
+ };
25
+ const workspaceId = trimmed(env.LANGCHAIN_WORKSPACE_ID);
26
+ if (workspaceId) {
27
+ headers["x-tenant-id"] = workspaceId;
28
+ }
29
+ return headers;
30
+ }
31
+ function fleetHeaders(label, options, env = process.env) {
32
+ if (options.apiKey || options.workspaceId) {
33
+ return {
34
+ "x-api-key": options.apiKey ?? trimmed(env.LANGSMITH_API_KEY) ?? "",
35
+ "Content-Type": "application/json",
36
+ ...(options.workspaceId ? { "x-tenant-id": options.workspaceId } : {}),
37
+ };
38
+ }
39
+ return resolveFleetHeaders(label, env);
40
+ }
41
+ export async function listAgentConnections(agentId, options = {}) {
42
+ const env = process.env;
43
+ const base = options.apiUrl ?? resolveFleetApiUrl(env);
44
+ const headers = fleetHeaders("fleet list connections", options, env);
45
+ const url = `${base}/v1/fleet/agents/${encodeURIComponent(agentId)}/connections`;
46
+ const response = await fetchWithTimeout(url, { method: "GET", headers }, PROVIDER_HTTP_TIMEOUT_MS, options.fetchImpl ?? fetch);
47
+ if (!response.ok) {
48
+ const text = await response.text().catch(() => "");
49
+ throw new Error(`Fleet list connections failed (${response.status}): ${text || response.statusText}`);
50
+ }
51
+ const json = (await response.json());
52
+ return json.items ?? json.data ?? [];
53
+ }
54
+ export async function upsertAgentProviderToken(agentId, providerSlug, body, options = {}) {
55
+ const env = process.env;
56
+ const base = options.apiUrl ?? resolveFleetApiUrl(env);
57
+ const headers = fleetHeaders("fleet upsert provider token", options, env);
58
+ const url = `${base}/v1/fleet/agents/${encodeURIComponent(agentId)}` +
59
+ `/providers/${encodeURIComponent(providerSlug)}/tokens`;
60
+ const response = await fetchWithTimeout(url, {
61
+ method: "POST",
62
+ headers,
63
+ body: JSON.stringify(body),
64
+ }, PROVIDER_HTTP_TIMEOUT_MS, options.fetchImpl ?? fetch);
65
+ if (!response.ok) {
66
+ const text = await response.text().catch(() => "");
67
+ throw new Error(`Fleet upsert agent provider token failed (${response.status}): ${text || response.statusText}`);
68
+ }
69
+ return (await response.json());
70
+ }
71
+ /**
72
+ * Start a Fleet OAuth session for an agent subject (platform OAuth provider).
73
+ * Returns a verification_url the browser should open.
74
+ */
75
+ export async function createFleetAuthSession(body, options = {}) {
76
+ const env = process.env;
77
+ const base = options.apiUrl ?? resolveFleetApiUrl(env);
78
+ const headers = fleetHeaders("fleet auth-session", options, env);
79
+ const url = `${base}/v1/fleet/auth-sessions`;
80
+ const response = await fetchWithTimeout(url, {
81
+ method: "POST",
82
+ headers,
83
+ body: JSON.stringify({
84
+ provider_slug: body.providerSlug,
85
+ scopes: body.scopes,
86
+ agent_id: body.agentId,
87
+ strategy: body.strategy ?? "create",
88
+ }),
89
+ }, PROVIDER_HTTP_TIMEOUT_MS, options.fetchImpl ?? fetch);
90
+ if (!response.ok) {
91
+ const text = await response.text().catch(() => "");
92
+ throw new Error(`Fleet auth-session failed (${response.status}): ${text || response.statusText}`);
93
+ }
94
+ return (await response.json());
95
+ }
96
+ /** True when LANGSMITH_API_KEY is set so Fleet APIs can be called. */
97
+ export function hasFleetAuthCredentials(env = process.env) {
98
+ return Boolean(trimmed(env.LANGSMITH_API_KEY));
99
+ }
100
+ export async function deleteAgentConnection(agentId, connectionId, options = {}) {
101
+ const env = process.env;
102
+ const base = options.apiUrl ?? resolveFleetApiUrl(env);
103
+ const headers = fleetHeaders("fleet delete connection", options, env);
104
+ const url = `${base}/v1/fleet/agents/${encodeURIComponent(agentId)}` +
105
+ `/connections/${encodeURIComponent(connectionId)}`;
106
+ const response = await fetchWithTimeout(url, { method: "DELETE", headers }, PROVIDER_HTTP_TIMEOUT_MS, options.fetchImpl ?? fetch);
107
+ if (!response.ok && response.status !== 404) {
108
+ const text = await response.text().catch(() => "");
109
+ throw new Error(`Fleet delete connection failed (${response.status}): ${text || response.statusText}`);
110
+ }
111
+ }
112
+ function withScheme(base) {
113
+ const separator = base.indexOf("://");
114
+ if (separator > 0) {
115
+ const scheme = base.slice(0, separator);
116
+ if (/^[a-z][a-z0-9+.-]*$/i.test(scheme)) {
117
+ return base;
118
+ }
119
+ }
120
+ return `https://${base}`;
121
+ }
122
+ function stripTrailingSlashes(value) {
123
+ let end = value.length;
124
+ while (end > 0 && value.charCodeAt(end - 1) === 47 /* / */) {
125
+ end -= 1;
126
+ }
127
+ return end === value.length ? value : value.slice(0, end);
128
+ }
129
+ function trimmed(value) {
130
+ const v = value?.trim();
131
+ return v ? v : undefined;
132
+ }
133
+ //# sourceMappingURL=fleet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/identity/fleet.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Connect-with-GitHub — {@link IdentityConnectProvider} for actor OAuth tokens.
3
3
  *
4
- * Mounted under `/identity/github/*` when listed on `identity.connect`.
4
+ * Mounted under `/identity/github/*` when listed on `identity.connect`, or when
5
+ * a user-scoped deployment declares `connectors.github` / a credential chain
6
+ * that reads per-user GitHub tokens.
5
7
  */
6
8
  import type { IdentityConnectProvider } from "../connect-provider-types.js";
7
9
  import { type GitHubCredentialStore } from "./credentials-store.js";
@@ -20,12 +22,15 @@ export declare const githubIdentityConnectProvider: IdentityConnectProvider;
20
22
  /**
21
23
  * Opt into Connect-with-GitHub on `defineIdentity({ connect: […] })`.
22
24
  *
25
+ * Usually unnecessary: `connectors.github` on a user-scoped deployment mounts
26
+ * these routes by inference.
27
+ *
23
28
  * @example
24
29
  * ```ts
25
- * import { defineIdentity, github } from "managed-deepagents";
30
+ * import { connect, defineIdentity } from "managed-deepagents";
26
31
  *
27
- * export const identity = defineIdentity.preset("internal-tool", {
28
- * connect: [github.connect()],
32
+ * export const identity = defineIdentity({
33
+ * connect: [connect.github()],
29
34
  * });
30
35
  * ```
31
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"connect-http.d.ts","sourceRoot":"","sources":["../../../src/identity/github/connect-http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAKV,uBAAuB,EAExB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAehC,eAAO,MAAM,0BAA0B,QAAe,CAAC;AACvD,eAAO,MAAM,yBAAyB,QAAgB,CAAC;AACvD,eAAO,MAAM,4BAA4B,QAAiB,CAAC;AAC3D,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAEnD,+DAA+D;AAC/D,MAAM,WAAW,oCAAoC;IACnD,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,oEAAoE;AACpE,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,oCAAyC,GACjD,uBAAuB,CAsFzB;AAED,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,EAAE,uBACL,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,OAAO,CAAC,EAAE,oCAAoC,GAC7C,uBAAuB,CAIzB"}
1
+ {"version":3,"file":"connect-http.d.ts","sourceRoot":"","sources":["../../../src/identity/github/connect-http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAKV,uBAAuB,EAExB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAchC,eAAO,MAAM,0BAA0B,QAAe,CAAC;AACvD,eAAO,MAAM,yBAAyB,QAAgB,CAAC;AACvD,eAAO,MAAM,4BAA4B,QAAiB,CAAC;AAC3D,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAEnD,+DAA+D;AAC/D,MAAM,WAAW,oCAAoC;IACnD,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,oEAAoE;AACpE,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,oCAAyC,GACjD,uBAAuB,CAqGzB;AAED,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,EAAE,uBACL,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CACrB,OAAO,CAAC,EAAE,oCAAoC,GAC7C,uBAAuB,CAIzB"}
@@ -1,11 +1,14 @@
1
1
  /**
2
2
  * Connect-with-GitHub — {@link IdentityConnectProvider} for actor OAuth tokens.
3
3
  *
4
- * Mounted under `/identity/github/*` when listed on `identity.connect`.
4
+ * Mounted under `/identity/github/*` when listed on `identity.connect`, or when
5
+ * a user-scoped deployment declares `connectors.github` / a credential chain
6
+ * that reads per-user GitHub tokens.
5
7
  */
6
8
  import { identityConnectPaths } from "../connect-paths.js";
9
+ import { credentialConnectIds, hasGithubConnector, isUserScopedDeployment, } from "../connect-inference.js";
7
10
  import { buildGitHubCredentialRecord, getGitHubCredentialStore, } from "./credentials-store.js";
8
- import { buildGitHubAuthorizeUrl, createGitHubOauthState, exchangeGitHubOauthCode, MDA_PUBLIC_APP_URL_ENV, OAUTH_STATE_SIGNING_KEY_ENV, readGitHubOauthConfig, readOauthStateSigningKey, resolveGitHubOauthRedirectBase, verifyGitHubOauthState, } from "./oauth.js";
11
+ import { buildGitHubAuthorizeUrl, exchangeGitHubOauthCode, githubOauthTickets, MDA_PUBLIC_APP_URL_ENV, OAUTH_STATE_SIGNING_KEY_ENV, readGitHubOauthConfig, readOauthStateSigningKey, resolveGitHubOauthRedirectBase, } from "./oauth.js";
9
12
  const PATHS = identityConnectPaths("github");
10
13
  export const GITHUB_CONNECT_STATUS_PATH = PATHS.status;
11
14
  export const GITHUB_CONNECT_START_PATH = PATHS.connect;
@@ -17,12 +20,25 @@ export function createGitHubIdentityConnectProvider(options = {}) {
17
20
  return {
18
21
  id: "github",
19
22
  shouldMount(ctx) {
20
- // Opt-in is via `identity.connect`; this is a secondary gate only.
21
- return ctx.hasIdentity;
23
+ if (!ctx.hasIdentity) {
24
+ return false;
25
+ }
26
+ // Listed on `identity.connect` — the author already opted in.
27
+ if (ctx.declared) {
28
+ return true;
29
+ }
30
+ // Otherwise mirror Google/Microsoft: a GitHub connector (or a credential
31
+ // chain that reads user tokens) on a user-scoped deployment needs
32
+ // somewhere for the caller to grant an actor OAuth token.
33
+ if (!isUserScopedDeployment(ctx.scope)) {
34
+ return false;
35
+ }
36
+ return (hasGithubConnector(ctx.connectorKinds) ||
37
+ credentialConnectIds(ctx.credentials).has("github"));
22
38
  },
23
- async status(actorId) {
39
+ async status(userId) {
24
40
  const configured = Boolean(readGitHubOauthConfig());
25
- const record = await store().getByActorId(actorId);
41
+ const record = await store().getByUserId(userId);
26
42
  return {
27
43
  configured,
28
44
  linked: Boolean(record),
@@ -36,7 +52,7 @@ export function createGitHubIdentityConnectProvider(options = {}) {
36
52
  : {}),
37
53
  };
38
54
  },
39
- async startAuthorize(actorId, redirectUri) {
55
+ async startAuthorize(userId, redirectUri) {
40
56
  const oauth = readGitHubOauthConfig();
41
57
  const stateKey = readOauthStateSigningKey();
42
58
  if (!oauth || !stateKey) {
@@ -45,7 +61,7 @@ export function createGitHubIdentityConnectProvider(options = {}) {
45
61
  error: `GitHub connect is not configured (set GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, MDA_PUBLIC_APP_URL, ${OAUTH_STATE_SIGNING_KEY_ENV})`,
46
62
  };
47
63
  }
48
- const state = await createGitHubOauthState(actorId, stateKey);
64
+ const state = await githubOauthTickets.createState(userId, stateKey);
49
65
  return {
50
66
  authorizeUrl: buildGitHubAuthorizeUrl(oauth, state, redirectUri),
51
67
  };
@@ -59,10 +75,10 @@ export function createGitHubIdentityConnectProvider(options = {}) {
59
75
  if (!stateKey) {
60
76
  throw new Error(`${OAUTH_STATE_SIGNING_KEY_ENV} is not configured`);
61
77
  }
62
- const { actorId } = await verifyGitHubOauthState(state, stateKey);
78
+ const { userId } = await githubOauthTickets.verifyState(state, stateKey);
63
79
  const token = await exchangeGitHubOauthCode(oauth, code, redirectUri);
64
80
  const record = buildGitHubCredentialRecord({
65
- actorId,
81
+ userId,
66
82
  githubUserId: token.userId,
67
83
  githubLogin: token.login,
68
84
  accessToken: token.accessToken,
@@ -76,8 +92,8 @@ export function createGitHubIdentityConnectProvider(options = {}) {
76
92
  successRedirect: `${oauth.publicAppUrl}/settings?github=connected`,
77
93
  };
78
94
  },
79
- async unlink(actorId) {
80
- await store().removeByActorId(actorId);
95
+ async unlink(userId) {
96
+ await store().removeByUserId(userId);
81
97
  },
82
98
  resolveRedirectBase(options) {
83
99
  return resolveGitHubOauthRedirectBase(options);
@@ -94,12 +110,15 @@ export const githubIdentityConnectProvider = createGitHubIdentityConnectProvider
94
110
  /**
95
111
  * Opt into Connect-with-GitHub on `defineIdentity({ connect: […] })`.
96
112
  *
113
+ * Usually unnecessary: `connectors.github` on a user-scoped deployment mounts
114
+ * these routes by inference.
115
+ *
97
116
  * @example
98
117
  * ```ts
99
- * import { defineIdentity, github } from "managed-deepagents";
118
+ * import { connect, defineIdentity } from "managed-deepagents";
100
119
  *
101
- * export const identity = defineIdentity.preset("internal-tool", {
102
- * connect: [github.connect()],
120
+ * export const identity = defineIdentity({
121
+ * connect: [connect.github()],
103
122
  * });
104
123
  * ```
105
124
  */
@@ -1 +1 @@
1
- {"version":3,"file":"connect-http.js","sourceRoot":"","sources":["../../../src/identity/github/connect-http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GAEzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC,MAAM,CAAC;AACvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC,OAAO,CAAC;AACvD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC,QAAQ,CAAC;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC;AAOnD,oEAAoE;AACpE,MAAM,UAAU,mCAAmC,CACjD,OAAO,GAAyC,EAAE;IAElD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,wBAAwB,EAAE,CAAC;IAE1E,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,WAAW,CAAC,GAAgC;YAC1C,mEAAmE;YACnE,OAAO,GAAG,CAAC,WAAW,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAe;YAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnD,OAAO;gBACL,UAAU;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;gBACvB,GAAG,CAAC,MAAM;oBACR,CAAC,CAAC;wBACE,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;wBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,WAAmB;YAEnB,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO;oBACL,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,qGAAqG,2BAA2B,GAAG;iBAC3I,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9D,OAAO;gBACL,YAAY,EAAE,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC;aACjE,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,gBAAgB,CACpB,IAAY,EACZ,KAAa,EACb,WAAmB;YAEnB,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,GAAG,2BAA2B,oBAAoB,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,2BAA2B,CAAC;gBACzC,OAAO;gBACP,YAAY,EAAE,KAAK,CAAC,MAAM;gBAC1B,WAAW,EAAE,KAAK,CAAC,KAAK;gBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/C,CAAC,CAAC;YACH,MAAM,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO;gBACL,eAAe,EAAE,GAAG,KAAK,CAAC,YAAY,4BAA4B;aACnE,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAe;YAC1B,MAAM,KAAK,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,mBAAmB,CAAC,OAA2C;YAC7D,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,mBAAmB;YACjB,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;YACtC,OAAO,CACL,KAAK,EAAE,YAAY;gBACnB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CACxD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,6BAA6B,GACxC,mCAAmC,EAAE,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CACrB,OAA8C;IAE9C,OAAO,OAAO;QACZ,CAAC,CAAC,mCAAmC,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,6BAA6B,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"connect-http.js","sourceRoot":"","sources":["../../../src/identity/github/connect-http.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Per-actor GitHub OAuth credential vault.
3
3
  *
4
4
  * Stored in the LangGraph Store under `["mda_github_credentials"]`. Connect-
5
- * with-GitHub upserts after OAuth; `github.credentials` resolves `actor` tokens
5
+ * with-GitHub upserts after OAuth; `credentials.github` resolves `actor` tokens
6
6
  * from here until managed Agent Auth lands.
7
7
  *
8
8
  * Tokens are deployment-scoped Store values — treat the Store namespace as
@@ -23,7 +23,7 @@ export declare const GITHUB_CREDENTIAL_CACHE_TTL_MS = 30000;
23
23
  /** Soft cap on cached GitHub credential records per process. */
24
24
  export declare const GITHUB_CREDENTIAL_CACHE_MAX_ENTRIES = 256;
25
25
  export interface GitHubCredentialRecord {
26
- actorId: string;
26
+ userId: string;
27
27
  githubUserId: string;
28
28
  githubLogin: string;
29
29
  accessToken: string;
@@ -35,24 +35,24 @@ export interface GitHubCredentialRecord {
35
35
  source: "github_oauth";
36
36
  }
37
37
  export interface GitHubCredentialStore {
38
- getByActorId(actorId: string): Promise<GitHubCredentialRecord | null>;
38
+ getByUserId(userId: string): Promise<GitHubCredentialRecord | null>;
39
39
  upsert(record: GitHubCredentialRecord): Promise<void>;
40
- removeByActorId(actorId: string): Promise<void>;
40
+ removeByUserId(userId: string): Promise<void>;
41
41
  }
42
42
  /** In-memory store for tests. */
43
43
  export declare class InMemoryGitHubCredentialStore implements GitHubCredentialStore {
44
- private readonly byActor;
45
- getByActorId(actorId: string): Promise<GitHubCredentialRecord | null>;
44
+ private readonly byUser;
45
+ getByUserId(userId: string): Promise<GitHubCredentialRecord | null>;
46
46
  upsert(record: GitHubCredentialRecord): Promise<void>;
47
- removeByActorId(actorId: string): Promise<void>;
47
+ removeByUserId(userId: string): Promise<void>;
48
48
  }
49
49
  /** LangGraph Store–backed GitHub credential vault. */
50
50
  export declare class LangGraphGitHubCredentialStore implements GitHubCredentialStore {
51
51
  private readonly client;
52
52
  constructor(client: Client);
53
- getByActorId(actorId: string): Promise<GitHubCredentialRecord | null>;
53
+ getByUserId(userId: string): Promise<GitHubCredentialRecord | null>;
54
54
  upsert(record: GitHubCredentialRecord): Promise<void>;
55
- removeByActorId(actorId: string): Promise<void>;
55
+ removeByUserId(userId: string): Promise<void>;
56
56
  }
57
57
  /** Override the process-default credential store (tests). */
58
58
  export declare function setGitHubCredentialStore(store: GitHubCredentialStore | null): void;
@@ -64,7 +64,7 @@ export declare function createLangGraphGitHubCredentialStore(options?: {
64
64
  ingressSecret?: string;
65
65
  }): LangGraphGitHubCredentialStore | null;
66
66
  export declare function buildGitHubCredentialRecord(input: {
67
- actorId: string;
67
+ userId: string;
68
68
  githubUserId: string;
69
69
  githubLogin: string;
70
70
  accessToken: string;
@@ -1 +1 @@
1
- {"version":3,"file":"credentials-store.d.ts","sourceRoot":"","sources":["../../../src/identity/github/credentials-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAEL,+BAA+B,EAIhC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,+BAA+B,EAAE,CAAC;AAC3C,eAAO,MAAM,4BAA4B,qCAE/B,CAAC;AAEX,2EAA2E;AAC3E,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,gEAAgE;AAChE,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAgBD,iCAAiC;AACjC,qBAAa,6BAA8B,YAAW,qBAAqB;IACzE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IAE/D,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAE1E;IAEK,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;CACF;AAED,sDAAsD;AACtD,qBAAa,8BAA+B,YAAW,qBAAqB;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,MAAM,EAAI;IAEzC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA0C1E;IAEK,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1D;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpD;CACF;AAID,6DAA6D;AAC7D,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,qBAAqB,GAAG,IAAI,GAClC,IAAI,CAGN;AAED,oDAAoD;AACpD,wBAAgB,wBAAwB,IAAI,qBAAqB,CAQhE;AAED,wBAAgB,oCAAoC,CAClD,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACzE,8BAA8B,GAAG,IAAI,CAqBvC;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,sBAAsB,CAazB"}
1
+ {"version":3,"file":"credentials-store.d.ts","sourceRoot":"","sources":["../../../src/identity/github/credentials-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAEL,+BAA+B,EAIhC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,+BAA+B,EAAE,CAAC;AAC3C,eAAO,MAAM,4BAA4B,qCAE/B,CAAC;AAEX,2EAA2E;AAC3E,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,gEAAgE;AAChE,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAgBD,iCAAiC;AACjC,qBAAa,6BAA8B,YAAW,qBAAqB;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IAE9D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAExE;IAEK,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;IAEK,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;CACF;AAED,sDAAsD;AACtD,qBAAa,8BAA+B,YAAW,qBAAqB;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,MAAM,EAAI;IAEzC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA0CxE;IAEK,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1D;IAEK,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlD;CACF;AAID,6DAA6D;AAC7D,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,qBAAqB,GAAG,IAAI,GAClC,IAAI,CAGN;AAED,oDAAoD;AACpD,wBAAgB,wBAAwB,IAAI,qBAAqB,CAQhE;AAED,wBAAgB,oCAAoC,CAClD,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACzE,8BAA8B,GAAG,IAAI,CAiBvC;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,sBAAsB,CAazB"}
@@ -2,7 +2,7 @@
2
2
  * Per-actor GitHub OAuth credential vault.
3
3
  *
4
4
  * Stored in the LangGraph Store under `["mda_github_credentials"]`. Connect-
5
- * with-GitHub upserts after OAuth; `github.credentials` resolves `actor` tokens
5
+ * with-GitHub upserts after OAuth; `credentials.github` resolves `actor` tokens
6
6
  * from here until managed Agent Auth lands.
7
7
  *
8
8
  * Tokens are deployment-scoped Store values — treat the Store namespace as
@@ -16,8 +16,8 @@
16
16
  */
17
17
  import { getStore } from "@langchain/langgraph";
18
18
  import { Client } from "@langchain/langgraph-sdk";
19
- import { ACTOR_HEADER, GITHUB_CREDENTIALS_STORE_PREFIX, IDENTITY_LINKS_SERVICE_ACTOR, INGRESS_SECRET_ENV, INGRESS_SECRET_HEADER, } from "../../runtime/auth.js";
20
- import { resolveLoopbackApiUrl } from "../loopback.js";
19
+ import { USER_HEADER, GITHUB_CREDENTIALS_STORE_PREFIX, IDENTITY_LINKS_SERVICE_USER, INGRESS_SECRET_ENV, INGRESS_SECRET_HEADER, } from "../../runtime/auth.js";
20
+ import { resolveLoopbackApiKey, resolveLoopbackApiUrl } from "../loopback.js";
21
21
  export { GITHUB_CREDENTIALS_STORE_PREFIX };
22
22
  export const GITHUB_CREDENTIALS_NAMESPACE = [
23
23
  GITHUB_CREDENTIALS_STORE_PREFIX,
@@ -30,15 +30,15 @@ export const GITHUB_CREDENTIAL_CACHE_MAX_ENTRIES = 256;
30
30
  const processCache = new Map();
31
31
  /** In-memory store for tests. */
32
32
  export class InMemoryGitHubCredentialStore {
33
- byActor = new Map();
34
- async getByActorId(actorId) {
35
- return this.byActor.get(actorId) ?? null;
33
+ byUser = new Map();
34
+ async getByUserId(userId) {
35
+ return this.byUser.get(userId) ?? null;
36
36
  }
37
37
  async upsert(record) {
38
- this.byActor.set(record.actorId, record);
38
+ this.byUser.set(record.userId, record);
39
39
  }
40
- async removeByActorId(actorId) {
41
- this.byActor.delete(actorId);
40
+ async removeByUserId(userId) {
41
+ this.byUser.delete(userId);
42
42
  }
43
43
  }
44
44
  /** LangGraph Store–backed GitHub credential vault. */
@@ -47,20 +47,20 @@ export class LangGraphGitHubCredentialStore {
47
47
  constructor(client) {
48
48
  this.client = client;
49
49
  }
50
- async getByActorId(actorId) {
51
- const fromGraph = await readFromAmbientStore(actorId);
50
+ async getByUserId(userId) {
51
+ const fromGraph = await readFromAmbientStore(userId);
52
52
  if (fromGraph) {
53
- rememberCache(actorId, fromGraph, { localWrite: false });
53
+ rememberCache(userId, fromGraph, { localWrite: false });
54
54
  return fromGraph;
55
55
  }
56
56
  let storeMiss = false;
57
57
  let storeUnavailable = false;
58
58
  try {
59
- const item = await this.client.store.getItem([...GITHUB_CREDENTIALS_NAMESPACE], actorKey(actorId));
59
+ const item = await this.client.store.getItem([...GITHUB_CREDENTIALS_NAMESPACE], userKey(userId));
60
60
  if (item?.value && typeof item.value === "object") {
61
61
  const record = valueToRecord(item.value);
62
62
  if (record) {
63
- rememberCache(actorId, record, { localWrite: false });
63
+ rememberCache(userId, record, { localWrite: false });
64
64
  return record;
65
65
  }
66
66
  }
@@ -69,7 +69,7 @@ export class LangGraphGitHubCredentialStore {
69
69
  catch {
70
70
  storeUnavailable = true;
71
71
  }
72
- const cached = liveCacheEntry(actorId);
72
+ const cached = liveCacheEntry(userId);
73
73
  if (cached) {
74
74
  if (storeUnavailable) {
75
75
  return cached.record;
@@ -81,19 +81,19 @@ export class LangGraphGitHubCredentialStore {
81
81
  }
82
82
  if (storeMiss) {
83
83
  // Authoritative miss — honor unlink/rotate from another worker.
84
- processCache.delete(actorId);
84
+ processCache.delete(userId);
85
85
  }
86
86
  return null;
87
87
  }
88
88
  async upsert(record) {
89
- await this.client.store.putItem([...GITHUB_CREDENTIALS_NAMESPACE], actorKey(record.actorId), recordToValue(record));
90
- rememberCache(record.actorId, record, { localWrite: true });
89
+ await this.client.store.putItem([...GITHUB_CREDENTIALS_NAMESPACE], userKey(record.userId), recordToValue(record));
90
+ rememberCache(record.userId, record, { localWrite: true });
91
91
  await writeToAmbientStore(record);
92
92
  }
93
- async removeByActorId(actorId) {
94
- processCache.delete(actorId);
95
- await this.client.store.deleteItem([...GITHUB_CREDENTIALS_NAMESPACE], actorKey(actorId));
96
- await deleteFromAmbientStore(actorId);
93
+ async removeByUserId(userId) {
94
+ processCache.delete(userId);
95
+ await this.client.store.deleteItem([...GITHUB_CREDENTIALS_NAMESPACE], userKey(userId));
96
+ await deleteFromAmbientStore(userId);
97
97
  }
98
98
  }
99
99
  let defaultStore = null;
@@ -118,23 +118,20 @@ export function createLangGraphGitHubCredentialStore(options = {}) {
118
118
  return null;
119
119
  }
120
120
  const apiUrl = resolveLoopbackApiUrl(options.apiUrl);
121
- const apiKey = options.apiKey ??
122
- process.env.LANGSMITH_API_KEY ??
123
- process.env.LANGGRAPH_API_KEY ??
124
- "local";
121
+ const apiKey = resolveLoopbackApiKey(options.apiKey);
125
122
  const client = new Client({
126
123
  apiUrl,
127
124
  apiKey,
128
125
  defaultHeaders: {
129
126
  [INGRESS_SECRET_HEADER]: ingressSecret,
130
- [ACTOR_HEADER]: IDENTITY_LINKS_SERVICE_ACTOR,
127
+ [USER_HEADER]: IDENTITY_LINKS_SERVICE_USER,
131
128
  },
132
129
  });
133
130
  return new LangGraphGitHubCredentialStore(client);
134
131
  }
135
132
  export function buildGitHubCredentialRecord(input) {
136
133
  return {
137
- actorId: input.actorId,
134
+ userId: input.userId,
138
135
  githubUserId: input.githubUserId,
139
136
  githubLogin: input.githubLogin,
140
137
  accessToken: input.accessToken,
@@ -146,25 +143,25 @@ export function buildGitHubCredentialRecord(input) {
146
143
  source: "github_oauth",
147
144
  };
148
145
  }
149
- function actorKey(actorId) {
150
- return `actor:${actorId}`;
146
+ function userKey(userId) {
147
+ return `actor:${userId}`;
151
148
  }
152
149
  function recordToValue(record) {
153
150
  return { ...record };
154
151
  }
155
152
  function valueToRecord(value) {
156
- const actorId = value.actorId;
153
+ const userId = value.userId;
157
154
  const githubUserId = value.githubUserId;
158
155
  const githubLogin = value.githubLogin;
159
156
  const accessToken = value.accessToken;
160
- if (typeof actorId !== "string" ||
157
+ if (typeof userId !== "string" ||
161
158
  typeof githubUserId !== "string" ||
162
159
  typeof githubLogin !== "string" ||
163
160
  typeof accessToken !== "string") {
164
161
  return null;
165
162
  }
166
163
  return {
167
- actorId,
164
+ userId,
168
165
  githubUserId,
169
166
  githubLogin,
170
167
  accessToken,
@@ -182,21 +179,21 @@ function valueToRecord(value) {
182
179
  source: "github_oauth",
183
180
  };
184
181
  }
185
- function rememberCache(actorId, record, options) {
186
- processCache.set(actorId, {
182
+ function rememberCache(userId, record, options) {
183
+ processCache.set(userId, {
187
184
  record,
188
185
  cachedAtMs: Date.now(),
189
186
  localWrite: options.localWrite,
190
187
  });
191
188
  evictExpiredAndOverflow();
192
189
  }
193
- function liveCacheEntry(actorId) {
194
- const entry = processCache.get(actorId);
190
+ function liveCacheEntry(userId) {
191
+ const entry = processCache.get(userId);
195
192
  if (!entry) {
196
193
  return undefined;
197
194
  }
198
195
  if (Date.now() - entry.cachedAtMs > GITHUB_CREDENTIAL_CACHE_TTL_MS) {
199
- processCache.delete(actorId);
196
+ processCache.delete(userId);
200
197
  return undefined;
201
198
  }
202
199
  return entry;
@@ -216,12 +213,12 @@ function evictExpiredAndOverflow() {
216
213
  processCache.delete(oldest);
217
214
  }
218
215
  }
219
- async function readFromAmbientStore(actorId) {
216
+ async function readFromAmbientStore(userId) {
220
217
  try {
221
218
  const store = getStore();
222
219
  if (!store)
223
220
  return null;
224
- const item = await store.get([...GITHUB_CREDENTIALS_NAMESPACE], actorKey(actorId));
221
+ const item = await store.get([...GITHUB_CREDENTIALS_NAMESPACE], userKey(userId));
225
222
  if (!item?.value || typeof item.value !== "object") {
226
223
  return null;
227
224
  }
@@ -237,18 +234,18 @@ async function writeToAmbientStore(record) {
237
234
  const store = getStore();
238
235
  if (!store)
239
236
  return;
240
- await store.put([...GITHUB_CREDENTIALS_NAMESPACE], actorKey(record.actorId), recordToValue(record));
237
+ await store.put([...GITHUB_CREDENTIALS_NAMESPACE], userKey(record.userId), recordToValue(record));
241
238
  }
242
239
  catch {
243
240
  // Best-effort; HTTP put already persisted.
244
241
  }
245
242
  }
246
- async function deleteFromAmbientStore(actorId) {
243
+ async function deleteFromAmbientStore(userId) {
247
244
  try {
248
245
  const store = getStore();
249
246
  if (!store)
250
247
  return;
251
- await store.delete([...GITHUB_CREDENTIALS_NAMESPACE], actorKey(actorId));
248
+ await store.delete([...GITHUB_CREDENTIALS_NAMESPACE], userKey(userId));
252
249
  }
253
250
  catch {
254
251
  // Best-effort.