managed-deepagents 0.5.0-dev.78 → 0.5.0-dev.80

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 (322) hide show
  1. package/README.md +50 -8
  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 +13 -24
  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/mcp/index.d.ts +13 -20
  67. package/dist/connectors/mcp/index.d.ts.map +1 -1
  68. package/dist/connectors/mcp/index.js +92 -112
  69. package/dist/connectors/mcp/index.js.map +1 -1
  70. package/dist/connectors/mcp/load.d.ts.map +1 -1
  71. package/dist/connectors/mcp/load.js +16 -40
  72. package/dist/connectors/mcp/load.js.map +1 -1
  73. package/dist/{channels → connectors}/slack/adapter-core.d.ts +1 -1
  74. package/dist/connectors/slack/adapter-core.d.ts.map +1 -0
  75. package/dist/connectors/slack/adapter-core.js.map +1 -0
  76. package/dist/{channels → connectors}/slack/adapter.d.ts +3 -4
  77. package/dist/connectors/slack/adapter.d.ts.map +1 -0
  78. package/dist/{channels → connectors}/slack/adapter.js +1 -1
  79. package/dist/connectors/slack/adapter.js.map +1 -0
  80. package/dist/{channels → connectors}/slack/http.d.ts +6 -40
  81. package/dist/connectors/slack/http.d.ts.map +1 -0
  82. package/dist/{channels → connectors}/slack/http.js +22 -125
  83. package/dist/connectors/slack/http.js.map +1 -0
  84. package/dist/connectors/slack/index.d.ts +108 -0
  85. package/dist/connectors/slack/index.d.ts.map +1 -0
  86. package/dist/connectors/slack/index.js +191 -0
  87. package/dist/connectors/slack/index.js.map +1 -0
  88. package/dist/{channels → connectors}/slack/normalize.d.ts +5 -5
  89. package/dist/connectors/slack/normalize.d.ts.map +1 -0
  90. package/dist/{channels → connectors}/slack/normalize.js +21 -20
  91. package/dist/connectors/slack/normalize.js.map +1 -0
  92. package/dist/connectors/slack/source-thread.d.ts.map +1 -0
  93. package/dist/connectors/slack/source-thread.js.map +1 -0
  94. package/dist/{channels → connectors}/slack/transport.d.ts +1 -1
  95. package/dist/connectors/slack/transport.d.ts.map +1 -0
  96. package/dist/{channels → connectors}/slack/transport.js +4 -3
  97. package/dist/connectors/slack/transport.js.map +1 -0
  98. package/dist/connectors/tool-selection.d.ts +31 -0
  99. package/dist/connectors/tool-selection.d.ts.map +1 -0
  100. package/dist/connectors/tool-selection.js +54 -0
  101. package/dist/connectors/tool-selection.js.map +1 -0
  102. package/dist/connectors/toolserver/catalog.d.ts +134 -0
  103. package/dist/connectors/toolserver/catalog.d.ts.map +1 -0
  104. package/dist/connectors/toolserver/catalog.js +74 -0
  105. package/dist/connectors/toolserver/catalog.js.map +1 -0
  106. package/dist/connectors/toolserver/index.d.ts +119 -0
  107. package/dist/connectors/toolserver/index.d.ts.map +1 -0
  108. package/dist/connectors/toolserver/index.js +150 -0
  109. package/dist/connectors/toolserver/index.js.map +1 -0
  110. package/dist/connectors/toolserver/load.d.ts +55 -0
  111. package/dist/connectors/toolserver/load.d.ts.map +1 -0
  112. package/dist/connectors/toolserver/load.js +162 -0
  113. package/dist/connectors/toolserver/load.js.map +1 -0
  114. package/dist/extension.d.ts +77 -0
  115. package/dist/extension.d.ts.map +1 -0
  116. package/dist/extension.js +127 -0
  117. package/dist/extension.js.map +1 -0
  118. package/dist/identity/claims.d.ts +18 -0
  119. package/dist/identity/claims.d.ts.map +1 -0
  120. package/dist/identity/claims.js +37 -0
  121. package/dist/identity/claims.js.map +1 -0
  122. package/dist/identity/connect-inference.d.ts +28 -0
  123. package/dist/identity/connect-inference.d.ts.map +1 -0
  124. package/dist/identity/connect-inference.js +39 -0
  125. package/dist/identity/connect-inference.js.map +1 -0
  126. package/dist/identity/connect-provider-types.d.ts +23 -6
  127. package/dist/identity/connect-provider-types.d.ts.map +1 -1
  128. package/dist/identity/connect-provider-types.js +3 -1
  129. package/dist/identity/connect-provider-types.js.map +1 -1
  130. package/dist/identity/connect-provider.d.ts +9 -4
  131. package/dist/identity/connect-provider.d.ts.map +1 -1
  132. package/dist/identity/connect-provider.js +19 -9
  133. package/dist/identity/connect-provider.js.map +1 -1
  134. package/dist/identity/credential-resolvers.d.ts +33 -0
  135. package/dist/identity/credential-resolvers.d.ts.map +1 -0
  136. package/dist/identity/credential-resolvers.js +62 -0
  137. package/dist/identity/credential-resolvers.js.map +1 -0
  138. package/dist/identity/github/connect-http.d.ts +3 -3
  139. package/dist/identity/github/connect-http.d.ts.map +1 -1
  140. package/dist/identity/github/connect-http.js +21 -13
  141. package/dist/identity/github/connect-http.js.map +1 -1
  142. package/dist/identity/github/credentials-store.d.ts +10 -10
  143. package/dist/identity/github/credentials-store.d.ts.map +1 -1
  144. package/dist/identity/github/credentials-store.js +40 -43
  145. package/dist/identity/github/credentials-store.js.map +1 -1
  146. package/dist/identity/github/credentials.d.ts +16 -13
  147. package/dist/identity/github/credentials.d.ts.map +1 -1
  148. package/dist/identity/github/credentials.js +43 -23
  149. package/dist/identity/github/credentials.js.map +1 -1
  150. package/dist/identity/github/index.d.ts +2 -3
  151. package/dist/identity/github/index.d.ts.map +1 -1
  152. package/dist/identity/github/index.js +1 -2
  153. package/dist/identity/github/index.js.map +1 -1
  154. package/dist/identity/github/oauth.d.ts +3 -3
  155. package/dist/identity/github/oauth.d.ts.map +1 -1
  156. package/dist/identity/github/oauth.js +10 -9
  157. package/dist/identity/github/oauth.js.map +1 -1
  158. package/dist/identity/index.d.ts +35 -29
  159. package/dist/identity/index.d.ts.map +1 -1
  160. package/dist/identity/index.js +98 -131
  161. package/dist/identity/index.js.map +1 -1
  162. package/dist/identity/loopback.d.ts +27 -2
  163. package/dist/identity/loopback.d.ts.map +1 -1
  164. package/dist/identity/loopback.js +61 -8
  165. package/dist/identity/loopback.js.map +1 -1
  166. package/dist/identity/options.d.ts +90 -0
  167. package/dist/identity/options.d.ts.map +1 -0
  168. package/dist/identity/options.js +171 -0
  169. package/dist/identity/options.js.map +1 -0
  170. package/dist/identity/slack/connect-http.d.ts +3 -3
  171. package/dist/identity/slack/connect-http.d.ts.map +1 -1
  172. package/dist/identity/slack/connect-http.js +22 -14
  173. package/dist/identity/slack/connect-http.js.map +1 -1
  174. package/dist/identity/slack/index.d.ts +1 -2
  175. package/dist/identity/slack/index.d.ts.map +1 -1
  176. package/dist/identity/slack/index.js +1 -2
  177. package/dist/identity/slack/index.js.map +1 -1
  178. package/dist/identity/slack/links.d.ts +15 -15
  179. package/dist/identity/slack/links.d.ts.map +1 -1
  180. package/dist/identity/slack/links.js +50 -53
  181. package/dist/identity/slack/links.js.map +1 -1
  182. package/dist/identity/slack/oauth.d.ts +2 -2
  183. package/dist/identity/slack/oauth.d.ts.map +1 -1
  184. package/dist/identity/slack/oauth.js +9 -24
  185. package/dist/identity/slack/oauth.js.map +1 -1
  186. package/dist/identity/supabase.js +9 -9
  187. package/dist/identity/supabase.js.map +1 -1
  188. package/dist/identity/types.d.ts +82 -36
  189. package/dist/identity/types.d.ts.map +1 -1
  190. package/dist/index.d.ts +11 -21
  191. package/dist/index.d.ts.map +1 -1
  192. package/dist/index.js +2 -12
  193. package/dist/index.js.map +1 -1
  194. package/dist/ingress/index.d.ts +54 -0
  195. package/dist/ingress/index.d.ts.map +1 -0
  196. package/dist/ingress/index.js +128 -0
  197. package/dist/ingress/index.js.map +1 -0
  198. package/dist/namespaces.d.ts +76 -0
  199. package/dist/namespaces.d.ts.map +1 -0
  200. package/dist/namespaces.js +94 -0
  201. package/dist/namespaces.js.map +1 -0
  202. package/dist/runtime/auth.d.ts +18 -14
  203. package/dist/runtime/auth.d.ts.map +1 -1
  204. package/dist/runtime/auth.js +88 -68
  205. package/dist/runtime/auth.js.map +1 -1
  206. package/dist/runtime/backend.d.ts +1 -1
  207. package/dist/runtime/backend.d.ts.map +1 -1
  208. package/dist/runtime/connector.d.ts +66 -23
  209. package/dist/runtime/connector.d.ts.map +1 -1
  210. package/dist/runtime/connector.js +63 -27
  211. package/dist/runtime/connector.js.map +1 -1
  212. package/dist/runtime/cors.d.ts +2 -3
  213. package/dist/runtime/cors.d.ts.map +1 -1
  214. package/dist/runtime/cors.js +2 -7
  215. package/dist/runtime/cors.js.map +1 -1
  216. package/dist/runtime/credentials.d.ts.map +1 -1
  217. package/dist/runtime/credentials.js +39 -14
  218. package/dist/runtime/credentials.js.map +1 -1
  219. package/dist/runtime/http.d.ts +47 -0
  220. package/dist/runtime/http.d.ts.map +1 -0
  221. package/dist/runtime/http.js +54 -0
  222. package/dist/runtime/http.js.map +1 -0
  223. package/dist/runtime/identity-http.d.ts +6 -16
  224. package/dist/runtime/identity-http.d.ts.map +1 -1
  225. package/dist/runtime/identity-http.js +71 -54
  226. package/dist/runtime/identity-http.js.map +1 -1
  227. package/dist/runtime/identity-runtime.d.ts +18 -17
  228. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  229. package/dist/runtime/identity-runtime.js +55 -39
  230. package/dist/runtime/identity-runtime.js.map +1 -1
  231. package/dist/runtime/index.d.ts +77 -104
  232. package/dist/runtime/index.d.ts.map +1 -1
  233. package/dist/runtime/index.js +36 -35
  234. package/dist/runtime/index.js.map +1 -1
  235. package/dist/runtime/memory/index.d.ts +1 -0
  236. package/dist/runtime/memory/index.d.ts.map +1 -1
  237. package/dist/runtime/memory/index.js +1 -0
  238. package/dist/runtime/memory/index.js.map +1 -1
  239. package/dist/runtime/memory/lazy-context-backend.d.ts +66 -0
  240. package/dist/runtime/memory/lazy-context-backend.d.ts.map +1 -0
  241. package/dist/runtime/memory/lazy-context-backend.js +154 -0
  242. package/dist/runtime/memory/lazy-context-backend.js.map +1 -0
  243. package/dist/runtime/memory/user-repo.js +3 -3
  244. package/dist/runtime/memory/user-repo.js.map +1 -1
  245. package/dist/runtime/sandbox-manager.d.ts +33 -0
  246. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  247. package/dist/runtime/sandbox-manager.js +173 -9
  248. package/dist/runtime/sandbox-manager.js.map +1 -1
  249. package/dist/runtime/sandbox-stream-retry.d.ts +16 -0
  250. package/dist/runtime/sandbox-stream-retry.d.ts.map +1 -0
  251. package/dist/runtime/sandbox-stream-retry.js +61 -0
  252. package/dist/runtime/sandbox-stream-retry.js.map +1 -0
  253. package/dist/runtime/setup-script.d.ts.map +1 -1
  254. package/dist/runtime/setup-script.js +4 -2
  255. package/dist/runtime/setup-script.js.map +1 -1
  256. package/dist/runtime/validated-token.d.ts +1 -1
  257. package/dist/runtime/validated-token.d.ts.map +1 -1
  258. package/dist/runtime/validated-token.js +75 -33
  259. package/dist/runtime/validated-token.js.map +1 -1
  260. package/dist/sandbox.d.ts +19 -22
  261. package/dist/sandbox.d.ts.map +1 -1
  262. package/dist/sandbox.js +20 -34
  263. package/dist/sandbox.js.map +1 -1
  264. package/dist/schedules.js +8 -9
  265. package/dist/schedules.js.map +1 -1
  266. package/package.json +18 -28
  267. package/dist/channels/collect.d.ts +0 -26
  268. package/dist/channels/collect.d.ts.map +0 -1
  269. package/dist/channels/collect.js +0 -42
  270. package/dist/channels/collect.js.map +0 -1
  271. package/dist/channels/github/adapter-core.d.ts +0 -6
  272. package/dist/channels/github/adapter-core.d.ts.map +0 -1
  273. package/dist/channels/github/adapter-core.js +0 -27
  274. package/dist/channels/github/adapter-core.js.map +0 -1
  275. package/dist/channels/github/adapter.d.ts +0 -16
  276. package/dist/channels/github/adapter.d.ts.map +0 -1
  277. package/dist/channels/github/adapter.js +0 -52
  278. package/dist/channels/github/adapter.js.map +0 -1
  279. package/dist/channels/github/define.d.ts.map +0 -1
  280. package/dist/channels/github/define.js +0 -166
  281. package/dist/channels/github/define.js.map +0 -1
  282. package/dist/channels/github/http.d.ts.map +0 -1
  283. package/dist/channels/github/http.js.map +0 -1
  284. package/dist/channels/github/index.d.ts +0 -12
  285. package/dist/channels/github/index.d.ts.map +0 -1
  286. package/dist/channels/github/index.js +0 -10
  287. package/dist/channels/github/index.js.map +0 -1
  288. package/dist/channels/github/normalize.d.ts.map +0 -1
  289. package/dist/channels/github/normalize.js.map +0 -1
  290. package/dist/channels/github/source-thread.d.ts.map +0 -1
  291. package/dist/channels/github/source-thread.js.map +0 -1
  292. package/dist/channels/github/transport.d.ts.map +0 -1
  293. package/dist/channels/github/transport.js.map +0 -1
  294. package/dist/channels/plugin.d.ts +0 -61
  295. package/dist/channels/plugin.d.ts.map +0 -1
  296. package/dist/channels/plugin.js +0 -80
  297. package/dist/channels/plugin.js.map +0 -1
  298. package/dist/channels/slack/adapter-core.d.ts.map +0 -1
  299. package/dist/channels/slack/adapter-core.js.map +0 -1
  300. package/dist/channels/slack/adapter.d.ts.map +0 -1
  301. package/dist/channels/slack/adapter.js.map +0 -1
  302. package/dist/channels/slack/define.d.ts +0 -74
  303. package/dist/channels/slack/define.d.ts.map +0 -1
  304. package/dist/channels/slack/define.js +0 -160
  305. package/dist/channels/slack/define.js.map +0 -1
  306. package/dist/channels/slack/http.d.ts.map +0 -1
  307. package/dist/channels/slack/http.js.map +0 -1
  308. package/dist/channels/slack/index.d.ts +0 -18
  309. package/dist/channels/slack/index.d.ts.map +0 -1
  310. package/dist/channels/slack/index.js +0 -13
  311. package/dist/channels/slack/index.js.map +0 -1
  312. package/dist/channels/slack/normalize.d.ts.map +0 -1
  313. package/dist/channels/slack/normalize.js.map +0 -1
  314. package/dist/channels/slack/source-thread.d.ts.map +0 -1
  315. package/dist/channels/slack/source-thread.js.map +0 -1
  316. package/dist/channels/slack/transport.d.ts.map +0 -1
  317. package/dist/channels/slack/transport.js.map +0 -1
  318. /package/dist/{channels → connectors}/github/source-thread.d.ts +0 -0
  319. /package/dist/{channels → connectors}/github/source-thread.js +0 -0
  320. /package/dist/{channels → connectors}/slack/adapter-core.js +0 -0
  321. /package/dist/{channels → connectors}/slack/source-thread.d.ts +0 -0
  322. /package/dist/{channels → connectors}/slack/source-thread.js +0 -0
@@ -1,24 +1,12 @@
1
1
  import { Hono } from "hono";
2
2
  import type { IdentityDefinition } from "../identity/index.js";
3
- import type { ChannelManifest } from "../channels/manifest.js";
4
- import type { Connector } from "./connector.js";
3
+ import type { Connector, ConnectorRequirements } from "./connector.js";
5
4
  /** Inputs the managed HTTP app is built from. */
6
5
  export interface ManagedHttpAppInputs {
7
6
  /** The declared identity, if the project opts into managed identity. */
8
7
  identity?: IdentityDefinition;
9
- /** Discovered connectors; those implementing `http` mount routes. */
8
+ /** Discovered connectors; those implementing hooks mount routes / messaging. */
10
9
  connectors?: Connector[];
11
- /**
12
- * Channel manifests (optional when {@link channelDefinitions} is present).
13
- * Prefer live definitions — manifests are derived via `toManifest`.
14
- */
15
- channels?: Record<string, ChannelManifest>;
16
- /**
17
- * Live channel declarations from `_mda_channels`. Keyed by file-stem name.
18
- * When set, adapters are registered and manifests are derived from each
19
- * branded definition's `toManifest`.
20
- */
21
- channelDefinitions?: Record<string, unknown>;
22
10
  }
23
11
  /**
24
12
  * Build the single managed HTTP app mounted via `langgraph.json` `http.app`.
@@ -26,8 +14,9 @@ export interface ManagedHttpAppInputs {
26
14
  * It layers two concerns onto the built-in LangGraph routes:
27
15
  * - **identity** — public guest issuance (`POST /identity/guest`) when the
28
16
  * declared identity enables a guest provider;
29
- * - **connectors** — each connector implementing `http` gets a sub-router
30
- * namespaced under `/connectors/{kind}` and mounts its own routes.
17
+ * - **connectors** — each connector gets a sub-router namespaced under
18
+ * `/connectors/{name}`; `events` mounts the conventional public inbound
19
+ * route; `http` mounts additional secured/public routes.
31
20
  *
32
21
  * Connector routes are **secure by default**: MDA resolves and enforces the
33
22
  * caller's identity before the handler runs, and a route must opt out of
@@ -36,4 +25,5 @@ export interface ManagedHttpAppInputs {
36
25
  * invisible.
37
26
  */
38
27
  export declare function buildManagedHttpApp(inputs: ManagedHttpAppInputs): Hono;
28
+ export type { ConnectorRequirements };
39
29
  //# sourceMappingURL=identity-http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-http.d.ts","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK/D,OAAO,KAAK,EACV,SAAS,EAKV,MAAM,gBAAgB,CAAC;AAUxB,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,qEAAqE;IACrE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C;AAuBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAmCtE"}
1
+ {"version":3,"file":"identity-http.d.ts","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAO/E,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EAKtB,MAAM,gBAAgB,CAAC;AAWxB,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,gFAAgF;IAChF,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAyBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CA8DtE;AA4ND,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { Hono } from "hono";
2
2
  import { cors } from "hono/cors";
3
- import { manifestsFromChannelDefinitions } from "../channels/plugin.js";
4
- import { getChannelAdapter } from "../channels/registry.js";
3
+ import { registerConnectorMessaging } from "../channels/messaging-registry.js";
5
4
  import { mountIdentityConnectProviders } from "../identity/connect-provider.js";
5
+ import { githubIdentityConnectProvider } from "../identity/github/connect-http.js";
6
+ import { slackIdentityConnectProvider } from "../identity/slack/connect-http.js";
6
7
  import { resolveRequestIdentity } from "./auth.js";
8
+ import { requirementsFromConnectors } from "./connector.js";
7
9
  import { isManagedCorsPath, matchCorsOrigin, MDA_CORS_ALLOW_HEADERS, MDA_CORS_ALLOW_METHODS, resolveCorsAllowlist, } from "./cors.js";
8
10
  import { issueGuestToken } from "./validated-token.js";
9
11
  /** Signals a secured route was reached but no identity is declared to resolve it. */
@@ -20,8 +22,9 @@ class IdentityNotConfiguredError extends Error {
20
22
  * It layers two concerns onto the built-in LangGraph routes:
21
23
  * - **identity** — public guest issuance (`POST /identity/guest`) when the
22
24
  * declared identity enables a guest provider;
23
- * - **connectors** — each connector implementing `http` gets a sub-router
24
- * namespaced under `/connectors/{kind}` and mounts its own routes.
25
+ * - **connectors** — each connector gets a sub-router namespaced under
26
+ * `/connectors/{name}`; `events` mounts the conventional public inbound
27
+ * route; `http` mounts additional secured/public routes.
25
28
  *
26
29
  * Connector routes are **secure by default**: MDA resolves and enforces the
27
30
  * caller's identity before the handler runs, and a route must opt out of
@@ -35,24 +38,49 @@ export function buildManagedHttpApp(inputs) {
35
38
  if (inputs.identity) {
36
39
  mountIdentityRoutes(app, inputs.identity);
37
40
  }
41
+ const connectors = inputs.connectors ?? [];
42
+ registerConnectorMessaging(connectors);
38
43
  const mounted = [];
39
- for (const connector of inputs.connectors ?? []) {
44
+ for (const connector of connectors) {
45
+ // Prefer the file-stem name from collectConnectors; fall back to kind for
46
+ // hand-built connectors in unit tests.
47
+ const name = connector.name ?? connector.kind;
48
+ if (!name) {
49
+ throw new Error(`Connector kind "${connector.kind}" has no file-stem name; ` +
50
+ "pass connectors through collectConnectors before mounting.");
51
+ }
40
52
  if (typeof connector.http === "function") {
41
- mountConnectorRoutes(app, connector, inputs.identity?.config, mounted);
53
+ mountConnectorRoutes(app, connector, name, inputs.identity?.config, mounted);
54
+ }
55
+ if (typeof connector.events === "function") {
56
+ mountConnectorEvents(app, connector, name, mounted);
42
57
  }
43
58
  }
44
- const channels = inputs.channelDefinitions &&
45
- Object.keys(inputs.channelDefinitions).length > 0
46
- ? manifestsFromChannelDefinitions(inputs.channelDefinitions)
47
- : inputs.channels;
48
- mountChannelRoutes(app, channels, inputs.channelDefinitions, mounted);
49
- // Connect-with-X: only providers listed on identity.connect.
59
+ const requirements = requirementsFromConnectors(connectors);
60
+ // Connect-with-X: providers listed on identity.connect, plus built-ins the
61
+ // rest of the identity declaration implies.
50
62
  if (inputs.identity) {
51
- mountIdentityConnectProviders(app, inputs.identity.config, { channels, hasIdentity: true }, mounted, { providers: inputs.identity.config.connect ?? [] });
63
+ const cfg = inputs.identity.config;
64
+ mountIdentityConnectProviders(app, cfg, {
65
+ channels: requirements,
66
+ hasIdentity: true,
67
+ scope: cfg.scope,
68
+ ...(cfg.credentials ? { credentials: cfg.credentials } : {}),
69
+ }, mounted, {
70
+ providers: cfg.connect ?? [],
71
+ candidates: builtinIdentityConnectCandidates(),
72
+ });
52
73
  }
53
74
  logConnectorSurface(mounted);
54
75
  return app;
55
76
  }
77
+ /**
78
+ * Built-in connect providers offered to every identity-enabled deployment. Each
79
+ * one mounts only when its own predicate says the declaration implies it.
80
+ */
81
+ function builtinIdentityConnectCandidates() {
82
+ return [githubIdentityConnectProvider, slackIdentityConnectProvider];
83
+ }
56
84
  /**
57
85
  * CORS for managed routes only.
58
86
  *
@@ -81,7 +109,7 @@ function mountManagedCors(app) {
81
109
  /** Mount the public identity routes (guest issuance) onto `app`. */
82
110
  function mountIdentityRoutes(app, identity) {
83
111
  const http = identity.config.ingress.http;
84
- if (http === "trusted_backend") {
112
+ if (http === "backend") {
85
113
  return;
86
114
  }
87
115
  const guestProvider = http.providers.find((provider) => provider.guest?.issue);
@@ -94,52 +122,42 @@ function mountIdentityRoutes(app, identity) {
94
122
  });
95
123
  }
96
124
  /**
97
- * Mount public Events routes for each channel manifest via the provider registry.
125
+ * Mount the conventional public Events route for a connector.
98
126
  *
99
- * Channel ingress authenticates inside the adapter (Slack signatures, GitHub
100
- * HMAC, …) — these routes stay public at the LangGraph auth layer.
127
+ * Ingress authenticates inside the handler (Slack signatures, GitHub HMAC, …)
128
+ * — these routes stay public at the LangGraph auth layer.
101
129
  */
102
- function mountChannelRoutes(app, channels, channelDefinitions, mounted) {
103
- if (!channels)
104
- return;
105
- for (const [name, manifest] of Object.entries(channels)) {
106
- const adapter = getChannelAdapter(manifest.provider);
107
- if (!adapter) {
108
- throw new Error(`No channel adapter registered for provider "${manifest.provider}" (channel "${name}")`);
109
- }
110
- const path = `/channels/${name}/events`;
111
- mounted.push({
112
- connector: `channel:${name}`,
113
- method: "post",
114
- path,
115
- secured: false,
116
- });
117
- const definition = channelDefinitions?.[name];
118
- app.post(path, async (c) => {
119
- // Read the body through Hono so signature verification sees the same
120
- // bytes the provider signed (platform middleware may otherwise consume `raw`).
121
- const rawBody = await c.req.text();
122
- return adapter.handleEventsRequest(c.req.raw, {
123
- name,
124
- manifest,
125
- definition,
126
- rawBody,
127
- });
130
+ function mountConnectorEvents(app, connector, name, mounted) {
131
+ const path = `/connectors/${name}/events`;
132
+ mounted.push({
133
+ connector: name,
134
+ method: "post",
135
+ path,
136
+ secured: false,
137
+ absolute: true,
138
+ });
139
+ app.post(path, async (c) => {
140
+ const rawBody = await c.req.text();
141
+ return connector.events({
142
+ name,
143
+ request: c.req.raw,
144
+ rawBody,
145
+ connector,
128
146
  });
129
- }
147
+ });
130
148
  }
131
149
  /**
132
150
  * Mount a connector's `http` routes on a sub-router namespaced under
133
- * `/connectors/{kind}`, so connector routes cannot collide with identity/API
151
+ * `/connectors/{name}`, so connector routes cannot collide with identity/API
134
152
  * routes or with each other.
135
153
  *
136
154
  * The connector's `http` hook must mount synchronously. Async hooks are rejected
137
155
  * because LangGraph captures custom routes when the module is imported — a
138
156
  * deferred mount leaves those paths as platform 404s.
139
157
  */
140
- function mountConnectorRoutes(app, connector, cfg, mounted) {
158
+ function mountConnectorRoutes(app, connector, name, cfg, mounted) {
141
159
  const sub = new Hono();
142
- const router = honoConnectorRouter(sub, connector.kind, cfg, mounted);
160
+ const router = honoConnectorRouter(sub, name, cfg, mounted);
143
161
  const ctx = {
144
162
  router,
145
163
  identity: cfg,
@@ -154,19 +172,19 @@ function mountConnectorRoutes(app, connector, cfg, mounted) {
154
172
  const result = connector.http?.(ctx);
155
173
  if (result != null &&
156
174
  typeof result.then === "function") {
157
- throw new Error(`Connector "${connector.kind}" http() returned a Promise. HTTP hooks must ` +
175
+ throw new Error(`Connector "${name}" http() returned a Promise. HTTP hooks must ` +
158
176
  `mount routes synchronously so LangGraph can capture them at import time.`);
159
177
  }
160
- app.route(`/connectors/${connector.kind}`, sub);
178
+ app.route(`/connectors/${name}`, sub);
161
179
  }
162
180
  /**
163
181
  * Build the secure-by-default {@link HttpSubRouter} over a Hono sub-app. Secured
164
182
  * routes resolve identity (401 on failure) before the handler runs; `public.*`
165
183
  * routes skip enforcement. Every registration is recorded in `mounted`.
166
184
  */
167
- function honoConnectorRouter(sub, kind, cfg, mounted) {
185
+ function honoConnectorRouter(sub, name, cfg, mounted) {
168
186
  const secured = (method) => (path, handler) => {
169
- mounted.push({ connector: kind, method, path, secured: true });
187
+ mounted.push({ connector: name, method, path, secured: true });
170
188
  sub[method](path, async (c) => {
171
189
  const request = c.req.raw;
172
190
  if (!cfg) {
@@ -183,7 +201,7 @@ function honoConnectorRouter(sub, kind, cfg, mounted) {
183
201
  });
184
202
  };
185
203
  const publicRoute = (method) => (path, handler) => {
186
- mounted.push({ connector: kind, method, path, secured: false });
204
+ mounted.push({ connector: name, method, path, secured: false });
187
205
  sub[method](path, (c) => handler(c.req.raw));
188
206
  };
189
207
  return {
@@ -221,8 +239,7 @@ function logConnectorSurface(mounted) {
221
239
  }
222
240
  console.info(`[mda] managed HTTP surface (${mounted.length} route(s)):`);
223
241
  for (const route of mounted) {
224
- const full = route.connector.startsWith("channel:") ||
225
- route.connector.startsWith("identity:")
242
+ const full = route.absolute || route.connector.startsWith("identity:")
226
243
  ? route.path
227
244
  : `/connectors/${route.connector}${route.path}`;
228
245
  const line = `[mda] ${route.method.toUpperCase().padEnd(6)} ${full}`;
@@ -1 +1 @@
1
- {"version":3,"file":"identity-http.js","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-http.js","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { RuntimeChannel } from "../channels/types.js";
2
- import type { MemoryScope, RuntimeIdentity, Tenancy } from "../identity/index.js";
2
+ import type { MemoryScope, RuntimeIdentity, OrganizationRequirement } from "../identity/index.js";
3
3
  import type { ConfigurableCarrier } from "./types.js";
4
4
  /** Override ambient LangGraph configurable resolution. Test-only. */
5
5
  export declare function setAmbientConfigurableForTests(loader?: () => Record<string, unknown> | undefined): void;
@@ -8,14 +8,13 @@ export declare function setAmbientConfigurableForTests(loader?: () => Record<str
8
8
  * nested `ToolRuntime` shape LangChain passes to tools
9
9
  * (`runtime.config.configurable`).
10
10
  *
11
- * When the caller only passes `{ state }` (deepagents memory/skills middleware
12
- * does this when resolving a {@link BackendFactory}), fall back to the ambient
13
- * LangGraph runnable config so `langgraph_auth_user` still reaches actor/tenant
14
- * memory remounts.
11
+ * When the caller only passes `{ state }` (or omits auth), fall back to the
12
+ * ambient LangGraph runnable config so `langgraph_auth_user` still reaches
13
+ * user/organization memory remounts on `LazyPerRunContextBackend`.
15
14
  *
16
15
  * Also fall back when a runtime `config` is present but its `configurable` bag
17
16
  * lacks `langgraph_auth_user` (empty or partial). Returning that bag would skip
18
- * ambient and break first-turn actor memory remounts.
17
+ * ambient and break first-turn user memory remounts.
19
18
  */
20
19
  export declare function resolveRuntimeConfigurable(runtime: RuntimeConfigLike | undefined): Record<string, unknown> | undefined;
21
20
  /** Read `configurable` from a flat runtime or nested `ToolRuntime.config`. */
@@ -25,11 +24,11 @@ export declare function resolveAmbientConfigurable(): Record<string, unknown> |
25
24
  /**
26
25
  * Build the frozen identity envelope for the current run from the trusted
27
26
  * `langgraph_auth_user` the custom-auth handler produced. Returns
28
- * `undefined` when the deployment has no resolvable actor (identity is opt-in).
27
+ * `undefined` when the deployment has no resolvable user (identity is opt-in).
29
28
  *
30
- * LangGraph Studio injects a `StudioUser` (no `mda_actor_id`) when
29
+ * LangGraph Studio injects a `StudioUser` (no `mda_user_id`) when
31
30
  * `x-auth-scheme: langsmith` is present; that maps to a service principal with
32
- * `source.provider: "studio"` so actor-scoped memory/credentials still resolve
31
+ * `source.provider: "studio"` so user-scoped memory/credentials still resolve
33
32
  * during local Studio runs.
34
33
  */
35
34
  export declare function buildRuntimeIdentity(configurable: Record<string, unknown> | undefined): RuntimeIdentity | undefined;
@@ -51,18 +50,20 @@ export interface RuntimeConfigLike extends ConfigurableCarrier {
51
50
  * hub-repo naming and the `@auth.on.store` boundary check so both agree on
52
51
  * exactly which segments identify a namespace.
53
52
  */
54
- export declare function memoryIdentitySegments(scope: MemoryScope, tenancy: Tenancy, actorId: string | undefined, tenantId: string | undefined): string[];
53
+ export declare function memoryIdentitySegments(scope: MemoryScope, organizations: OrganizationRequirement, userId: string | undefined, organizationId: string | undefined): string[];
55
54
  /**
56
- * Dedicated Context Hub repo handle for actor/tenant memory.
55
+ * Dedicated Context Hub repo handle for user/organization memory.
57
56
  *
58
- * LangSmith requires `^[a-z][a-z0-9-_]*$`. Naming:
59
- * - single · actor `{deploy}--u--{actor}`
60
- * - multi · actor → `{deploy}--t--{tenant}--u--{actor}`
61
- * - tenant → `{deploy}--t--{tenant}`
57
+ * LangSmith requires `^[a-z][a-z0-9-_]*$`. The `--u--` / `--t--` separators are
58
+ * persisted repo names, so they stay as they are; only the vocabulary around
59
+ * them changed.
60
+ * - optional · user → `{deploy}--u--{user}`
61
+ * - required · user → `{deploy}--t--{organization}--u--{user}`
62
+ * - organization → `{deploy}--t--{organization}`
62
63
  *
63
64
  * Returns `null` for `agent` / `none` (those stay on the deployment repo).
64
65
  */
65
- export declare function memoryHubRepoHandle(deployRepo: string, scope: MemoryScope, tenancy: Tenancy, actorId: string | undefined, tenantId: string | undefined): string | null;
66
+ export declare function memoryHubRepoHandle(deployRepo: string, scope: MemoryScope, organizations: OrganizationRequirement, userId: string | undefined, organizationId: string | undefined): string | null;
66
67
  /**
67
68
  * Make identity ids safe as Context Hub *repo handles*
68
69
  * (`^[a-z][a-z0-9-_]*$` — LangSmith `pushAgent` requirement).
@@ -73,7 +74,7 @@ export declare function memoryHubRepoHandle(deployRepo: string, scope: MemorySco
73
74
  export declare function sanitizeHubRepoSegment(segment: string): string;
74
75
  /**
75
76
  * Strip client-supplied identity keys from an incoming `configurable` so a
76
- * request body can never spoof the actor/tenant the handler resolved. The
77
+ * request body can never spoof the user/organization the handler resolved. The
77
78
  * platform-set `langgraph_auth_user` is preserved — it is the only trusted source.
78
79
  */
79
80
  export declare function sanitizeConfigurable(configurable: Record<string, unknown> | undefined): Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"identity-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/identity-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,OAAO,EACR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA0BtD,qEAAqE;AACrE,wBAAgB,8BAA8B,CAC5C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,IAAI,CAEN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWrC;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAMrC;AAED,8DAA8D;AAC9D,wBAAgB,0BAA0B,IACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,CAcZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,eAAe,GAAG,SAAS,CA0B7B;AAwBD;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,EAAE,CAgBV;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,IAAI,CAsBf;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA0B9D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
1
+ {"version":3,"file":"identity-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/identity-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAqCtD,qEAAqE;AACrE,wBAAgB,8BAA8B,CAC5C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,IAAI,CAEN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWrC;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAMrC;AAED,8DAA8D;AAC9D,wBAAgB,0BAA0B,IACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,CAcZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,eAAe,GAAG,SAAS,CA8B7B;AAwBD;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,uBAAuB,EACtC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,EAAE,CAgBV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,uBAAuB,EACtC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,GAAG,IAAI,CAsBf;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA0B9D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
@@ -7,13 +7,24 @@ import { trustedChannelSourceProviders } from "../channels/registry-store.js";
7
7
  const RESERVED_CONFIGURABLE_KEYS = new Set([
8
8
  "actor_id",
9
9
  "tenant_id",
10
- "mda_actor_id",
11
- "mda_tenant_id",
12
- "mda_actor_email",
10
+ "mda_user_id",
11
+ "mda_organization_id",
12
+ "mda_user_email",
13
13
  "mda_claims",
14
- "mda_actor_type",
14
+ "mda_user_kind",
15
15
  "mda_source_provider",
16
16
  "mda_source_thread_id",
17
+ /**
18
+ * Current spellings of the fields above. Reserved alongside the legacy names
19
+ * so the `actor` → `user` rename cannot open a spoofing path.
20
+ */
21
+ "user_id",
22
+ "organization_id",
23
+ "mda_user_id",
24
+ "mda_organization_id",
25
+ "mda_groups",
26
+ "mda_user_type",
27
+ "mda_user_email",
17
28
  /** Stamped by the managed channel runner; rebuilt into `runtime.channel`. */
18
29
  "mda_channel_binding",
19
30
  /** Stamped by compiled cron entries; never client-asserted. */
@@ -29,14 +40,13 @@ export function setAmbientConfigurableForTests(loader) {
29
40
  * nested `ToolRuntime` shape LangChain passes to tools
30
41
  * (`runtime.config.configurable`).
31
42
  *
32
- * When the caller only passes `{ state }` (deepagents memory/skills middleware
33
- * does this when resolving a {@link BackendFactory}), fall back to the ambient
34
- * LangGraph runnable config so `langgraph_auth_user` still reaches actor/tenant
35
- * memory remounts.
43
+ * When the caller only passes `{ state }` (or omits auth), fall back to the
44
+ * ambient LangGraph runnable config so `langgraph_auth_user` still reaches
45
+ * user/organization memory remounts on `LazyPerRunContextBackend`.
36
46
  *
37
47
  * Also fall back when a runtime `config` is present but its `configurable` bag
38
48
  * lacks `langgraph_auth_user` (empty or partial). Returning that bag would skip
39
- * ambient and break first-turn actor memory remounts.
49
+ * ambient and break first-turn user memory remounts.
40
50
  */
41
51
  export function resolveRuntimeConfigurable(runtime) {
42
52
  const fromRuntime = configurableFromRuntime(runtime);
@@ -76,33 +86,37 @@ export function resolveAmbientConfigurable() {
76
86
  /**
77
87
  * Build the frozen identity envelope for the current run from the trusted
78
88
  * `langgraph_auth_user` the custom-auth handler produced. Returns
79
- * `undefined` when the deployment has no resolvable actor (identity is opt-in).
89
+ * `undefined` when the deployment has no resolvable user (identity is opt-in).
80
90
  *
81
- * LangGraph Studio injects a `StudioUser` (no `mda_actor_id`) when
91
+ * LangGraph Studio injects a `StudioUser` (no `mda_user_id`) when
82
92
  * `x-auth-scheme: langsmith` is present; that maps to a service principal with
83
- * `source.provider: "studio"` so actor-scoped memory/credentials still resolve
93
+ * `source.provider: "studio"` so user-scoped memory/credentials still resolve
84
94
  * during local Studio runs.
85
95
  */
86
96
  export function buildRuntimeIdentity(configurable) {
87
97
  const user = configurable?.langgraph_auth_user;
88
98
  const studio = isStudioAuthUser(user);
89
- const actorId = user?.mda_actor_id ?? (studio ? user?.identity : undefined);
90
- if (!user || !actorId) {
99
+ const userId = user?.mda_user_id ?? (studio ? user?.identity : undefined);
100
+ if (!user || !userId) {
91
101
  return undefined;
92
102
  }
103
+ const isService = studio || user.mda_user_kind === "service";
93
104
  const identity = {
94
- actor: {
95
- type: studio || user.mda_actor_type === "service" ? "service" : "user",
96
- id: String(actorId),
97
- ...(user.mda_actor_email ? { email: String(user.mda_actor_email) } : {}),
105
+ user: {
106
+ kind: isService ? "service" : "person",
107
+ id: String(userId),
108
+ ...(user.mda_user_email ? { email: String(user.mda_user_email) } : {}),
98
109
  },
99
110
  source: {
100
111
  provider: studio ? "studio" : sourceProvider(configurable),
101
112
  ...(threadId(configurable) ? { threadId: threadId(configurable) } : {}),
102
113
  },
103
114
  };
104
- if (user.mda_tenant_id) {
105
- identity.tenant = { id: String(user.mda_tenant_id) };
115
+ if (user.mda_organization_id) {
116
+ identity.organization = { id: String(user.mda_organization_id) };
117
+ }
118
+ if (Array.isArray(user.mda_groups) && user.mda_groups.length > 0) {
119
+ identity.groups = user.mda_groups.map(String);
106
120
  }
107
121
  if (user.mda_claims && typeof user.mda_claims === "object") {
108
122
  identity.claims = user.mda_claims;
@@ -135,47 +149,49 @@ function deepFreeze(value) {
135
149
  * hub-repo naming and the `@auth.on.store` boundary check so both agree on
136
150
  * exactly which segments identify a namespace.
137
151
  */
138
- export function memoryIdentitySegments(scope, tenancy, actorId, tenantId) {
139
- if (scope === "actor") {
152
+ export function memoryIdentitySegments(scope, organizations, userId, organizationId) {
153
+ if (scope === "user") {
140
154
  const segments = [];
141
- if (tenancy === "multi" && tenantId) {
142
- segments.push(tenantId);
155
+ if (organizations === "required" && organizationId) {
156
+ segments.push(organizationId);
143
157
  }
144
- if (actorId) {
145
- segments.push(actorId);
158
+ if (userId) {
159
+ segments.push(userId);
146
160
  }
147
161
  return segments;
148
162
  }
149
- if (scope === "tenant") {
150
- return tenantId ? [tenantId] : [];
163
+ if (scope === "organization") {
164
+ return organizationId ? [organizationId] : [];
151
165
  }
152
166
  // "agent" (shared) | "none" (no memory) → no per-identity restriction.
153
167
  return [];
154
168
  }
155
169
  /**
156
- * Dedicated Context Hub repo handle for actor/tenant memory.
170
+ * Dedicated Context Hub repo handle for user/organization memory.
157
171
  *
158
- * LangSmith requires `^[a-z][a-z0-9-_]*$`. Naming:
159
- * - single · actor `{deploy}--u--{actor}`
160
- * - multi · actor → `{deploy}--t--{tenant}--u--{actor}`
161
- * - tenant → `{deploy}--t--{tenant}`
172
+ * LangSmith requires `^[a-z][a-z0-9-_]*$`. The `--u--` / `--t--` separators are
173
+ * persisted repo names, so they stay as they are; only the vocabulary around
174
+ * them changed.
175
+ * - optional · user → `{deploy}--u--{user}`
176
+ * - required · user → `{deploy}--t--{organization}--u--{user}`
177
+ * - organization → `{deploy}--t--{organization}`
162
178
  *
163
179
  * Returns `null` for `agent` / `none` (those stay on the deployment repo).
164
180
  */
165
- export function memoryHubRepoHandle(deployRepo, scope, tenancy, actorId, tenantId) {
181
+ export function memoryHubRepoHandle(deployRepo, scope, organizations, userId, organizationId) {
166
182
  if (scope === "none" || scope === "agent") {
167
183
  return null;
168
184
  }
169
- const segments = memoryIdentitySegments(scope, tenancy, actorId, tenantId).map(sanitizeHubRepoSegment);
185
+ const segments = memoryIdentitySegments(scope, organizations, userId, organizationId).map(sanitizeHubRepoSegment);
170
186
  if (segments.length === 0) {
171
187
  return null;
172
188
  }
173
189
  const base = sanitizeHubRepoSegment(deployRepo);
174
- if (scope === "tenant") {
190
+ if (scope === "organization") {
175
191
  return `${base}--t--${segments[0]}`;
176
192
  }
177
- // actor
178
- if (tenancy === "multi" && segments.length >= 2) {
193
+ // user
194
+ if (organizations === "required" && segments.length >= 2) {
179
195
  return `${base}--t--${segments[0]}--u--${segments[1]}`;
180
196
  }
181
197
  return `${base}--u--${segments[0]}`;
@@ -218,7 +234,7 @@ export function sanitizeHubRepoSegment(segment) {
218
234
  }
219
235
  /**
220
236
  * Strip client-supplied identity keys from an incoming `configurable` so a
221
- * request body can never spoof the actor/tenant the handler resolved. The
237
+ * request body can never spoof the user/organization the handler resolved. The
222
238
  * platform-set `langgraph_auth_user` is preserved — it is the only trusted source.
223
239
  */
224
240
  export function sanitizeConfigurable(configurable) {
@@ -1 +1 @@
1
- {"version":3,"file":"identity-runtime.js","sourceRoot":"","sources":["../../src/runtime/identity-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-runtime.js","sourceRoot":"","sources":["../../src/runtime/identity-runtime.ts"],"names":[],"mappings":"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"}