managed-deepagents 0.5.0-dev.89 → 0.5.0-dev.96

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 (275) hide show
  1. package/README.md +36 -37
  2. package/dist/channels/index.d.ts +6 -5
  3. package/dist/channels/index.d.ts.map +1 -1
  4. package/dist/channels/index.js +6 -5
  5. package/dist/channels/index.js.map +1 -1
  6. package/dist/channels/manifest.d.ts +1 -1
  7. package/dist/channels/manifest.d.ts.map +1 -1
  8. package/dist/channels/messaging-registry.d.ts +8 -4
  9. package/dist/channels/messaging-registry.d.ts.map +1 -1
  10. package/dist/channels/messaging-registry.js +22 -16
  11. package/dist/channels/messaging-registry.js.map +1 -1
  12. package/dist/channels/registry-types.d.ts +1 -1
  13. package/dist/channels/registry-types.d.ts.map +1 -1
  14. package/dist/channels/registry.d.ts.map +1 -1
  15. package/dist/channels/registry.js +1 -3
  16. package/dist/channels/registry.js.map +1 -1
  17. package/dist/channels/schedule-delivery.js +1 -1
  18. package/dist/channels/schedule-delivery.js.map +1 -1
  19. package/dist/{connectors → channels}/slack/adapter-core.d.ts +1 -1
  20. package/dist/channels/slack/adapter-core.d.ts.map +1 -0
  21. package/dist/channels/slack/adapter-core.js.map +1 -0
  22. package/dist/{connectors → channels}/slack/adapter.d.ts +3 -3
  23. package/dist/channels/slack/adapter.d.ts.map +1 -0
  24. package/dist/{connectors → channels}/slack/adapter.js +0 -1
  25. package/dist/channels/slack/adapter.js.map +1 -0
  26. package/dist/{connectors → channels}/slack/http.d.ts +7 -5
  27. package/dist/channels/slack/http.d.ts.map +1 -0
  28. package/dist/{connectors → channels}/slack/http.js +46 -11
  29. package/dist/channels/slack/http.js.map +1 -0
  30. package/dist/channels/slack/index.d.ts +104 -0
  31. package/dist/channels/slack/index.d.ts.map +1 -0
  32. package/dist/channels/slack/index.js +151 -0
  33. package/dist/channels/slack/index.js.map +1 -0
  34. package/dist/{connectors → channels}/slack/normalize.d.ts +7 -4
  35. package/dist/channels/slack/normalize.d.ts.map +1 -0
  36. package/dist/{connectors → channels}/slack/normalize.js +47 -11
  37. package/dist/channels/slack/normalize.js.map +1 -0
  38. package/dist/channels/slack/source-thread.d.ts.map +1 -0
  39. package/dist/channels/slack/source-thread.js.map +1 -0
  40. package/dist/{connectors → channels}/slack/transport.d.ts +1 -1
  41. package/dist/channels/slack/transport.d.ts.map +1 -0
  42. package/dist/{connectors → channels}/slack/transport.js +1 -1
  43. package/dist/channels/slack/transport.js.map +1 -0
  44. package/dist/channels/store.d.ts +14 -0
  45. package/dist/channels/store.d.ts.map +1 -1
  46. package/dist/channels/store.js +41 -27
  47. package/dist/channels/store.js.map +1 -1
  48. package/dist/connectors/slack/index.d.ts +10 -79
  49. package/dist/connectors/slack/index.d.ts.map +1 -1
  50. package/dist/connectors/slack/index.js +24 -127
  51. package/dist/connectors/slack/index.js.map +1 -1
  52. package/dist/connectors/toolserver/catalog.d.ts +4 -10
  53. package/dist/connectors/toolserver/catalog.d.ts.map +1 -1
  54. package/dist/connectors/toolserver/catalog.js +6 -54
  55. package/dist/connectors/toolserver/catalog.js.map +1 -1
  56. package/dist/connectors/toolserver/index.d.ts +5 -7
  57. package/dist/connectors/toolserver/index.d.ts.map +1 -1
  58. package/dist/connectors/toolserver/index.js +4 -6
  59. package/dist/connectors/toolserver/index.js.map +1 -1
  60. package/dist/connectors/toolserver/integrations.d.ts +4 -4
  61. package/dist/connectors/toolserver/integrations.d.ts.map +1 -1
  62. package/dist/define-deep-agent.d.ts.map +1 -1
  63. package/dist/define-deep-agent.js +9 -3
  64. package/dist/define-deep-agent.js.map +1 -1
  65. package/dist/extension.d.ts +6 -14
  66. package/dist/extension.d.ts.map +1 -1
  67. package/dist/extension.js +5 -24
  68. package/dist/extension.js.map +1 -1
  69. package/dist/identity/connect-inference.d.ts +6 -7
  70. package/dist/identity/connect-inference.d.ts.map +1 -1
  71. package/dist/identity/connect-inference.js +7 -9
  72. package/dist/identity/connect-inference.js.map +1 -1
  73. package/dist/identity/github/connect-http.d.ts +3 -4
  74. package/dist/identity/github/connect-http.d.ts.map +1 -1
  75. package/dist/identity/github/connect-http.js +7 -10
  76. package/dist/identity/github/connect-http.js.map +1 -1
  77. package/dist/identity/github/credentials-store.d.ts.map +1 -1
  78. package/dist/identity/github/credentials-store.js +26 -10
  79. package/dist/identity/github/credentials-store.js.map +1 -1
  80. package/dist/identity/github/index.d.ts +0 -2
  81. package/dist/identity/github/index.d.ts.map +1 -1
  82. package/dist/identity/github/index.js +0 -2
  83. package/dist/identity/github/index.js.map +1 -1
  84. package/dist/identity/index.d.ts +15 -71
  85. package/dist/identity/index.d.ts.map +1 -1
  86. package/dist/identity/index.js +30 -223
  87. package/dist/identity/index.js.map +1 -1
  88. package/dist/identity/oauth-env.d.ts +4 -3
  89. package/dist/identity/oauth-env.d.ts.map +1 -1
  90. package/dist/identity/oauth-env.js +4 -3
  91. package/dist/identity/oauth-env.js.map +1 -1
  92. package/dist/identity/options.d.ts +12 -72
  93. package/dist/identity/options.d.ts.map +1 -1
  94. package/dist/identity/options.js +38 -112
  95. package/dist/identity/options.js.map +1 -1
  96. package/dist/identity/slack/connect-http.d.ts +3 -1
  97. package/dist/identity/slack/connect-http.d.ts.map +1 -1
  98. package/dist/identity/slack/connect-http.js +3 -1
  99. package/dist/identity/slack/connect-http.js.map +1 -1
  100. package/dist/identity/slack/links.d.ts +3 -2
  101. package/dist/identity/slack/links.d.ts.map +1 -1
  102. package/dist/identity/slack/links.js +29 -12
  103. package/dist/identity/slack/links.js.map +1 -1
  104. package/dist/identity/types.d.ts +12 -43
  105. package/dist/identity/types.d.ts.map +1 -1
  106. package/dist/index.d.ts +8 -12
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +3 -2
  109. package/dist/index.js.map +1 -1
  110. package/dist/ingress/index.d.ts.map +1 -1
  111. package/dist/ingress/index.js +26 -10
  112. package/dist/ingress/index.js.map +1 -1
  113. package/dist/memory/define-memory.d.ts +39 -0
  114. package/dist/memory/define-memory.d.ts.map +1 -0
  115. package/dist/memory/define-memory.js +78 -0
  116. package/dist/memory/define-memory.js.map +1 -0
  117. package/dist/memory/index.d.ts +9 -0
  118. package/dist/memory/index.d.ts.map +1 -0
  119. package/dist/memory/index.js +8 -0
  120. package/dist/memory/index.js.map +1 -0
  121. package/dist/memory/instructions-middleware.d.ts +74 -0
  122. package/dist/memory/instructions-middleware.d.ts.map +1 -0
  123. package/dist/memory/instructions-middleware.js +115 -0
  124. package/dist/memory/instructions-middleware.js.map +1 -0
  125. package/dist/memory/slices.d.ts +21 -0
  126. package/dist/memory/slices.d.ts.map +1 -0
  127. package/dist/memory/slices.js +61 -0
  128. package/dist/memory/slices.js.map +1 -0
  129. package/dist/memory/types.d.ts +71 -0
  130. package/dist/memory/types.d.ts.map +1 -0
  131. package/dist/memory/types.js +10 -0
  132. package/dist/memory/types.js.map +1 -0
  133. package/dist/namespaces.d.ts +46 -90
  134. package/dist/namespaces.d.ts.map +1 -1
  135. package/dist/namespaces.js +13 -39
  136. package/dist/namespaces.js.map +1 -1
  137. package/dist/runtime/auth.d.ts +31 -19
  138. package/dist/runtime/auth.d.ts.map +1 -1
  139. package/dist/runtime/auth.js +192 -68
  140. package/dist/runtime/auth.js.map +1 -1
  141. package/dist/runtime/backend.d.ts.map +1 -1
  142. package/dist/runtime/backend.js +26 -18
  143. package/dist/runtime/backend.js.map +1 -1
  144. package/dist/runtime/channel.d.ts +91 -0
  145. package/dist/runtime/channel.d.ts.map +1 -0
  146. package/dist/runtime/channel.js +98 -0
  147. package/dist/runtime/channel.js.map +1 -0
  148. package/dist/runtime/connector.d.ts +1 -1
  149. package/dist/runtime/connector.js +5 -1
  150. package/dist/runtime/connector.js.map +1 -1
  151. package/dist/runtime/cors.d.ts +1 -1
  152. package/dist/runtime/cors.d.ts.map +1 -1
  153. package/dist/runtime/cors.js +5 -1
  154. package/dist/runtime/cors.js.map +1 -1
  155. package/dist/runtime/http.d.ts +1 -2
  156. package/dist/runtime/http.d.ts.map +1 -1
  157. package/dist/runtime/http.js +1 -2
  158. package/dist/runtime/http.js.map +1 -1
  159. package/dist/runtime/identity-http.d.ts +9 -6
  160. package/dist/runtime/identity-http.d.ts.map +1 -1
  161. package/dist/runtime/identity-http.js +67 -42
  162. package/dist/runtime/identity-http.js.map +1 -1
  163. package/dist/runtime/identity-runtime.d.ts +0 -18
  164. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  165. package/dist/runtime/identity-runtime.js +0 -27
  166. package/dist/runtime/identity-runtime.js.map +1 -1
  167. package/dist/runtime/index.d.ts +4 -3
  168. package/dist/runtime/index.d.ts.map +1 -1
  169. package/dist/runtime/index.js +33 -31
  170. package/dist/runtime/index.js.map +1 -1
  171. package/dist/runtime/memory/index.d.ts +0 -3
  172. package/dist/runtime/memory/index.d.ts.map +1 -1
  173. package/dist/runtime/memory/index.js +0 -3
  174. package/dist/runtime/memory/index.js.map +1 -1
  175. package/dist/runtime/memory/mounts.d.ts +2 -10
  176. package/dist/runtime/memory/mounts.d.ts.map +1 -1
  177. package/dist/runtime/memory/mounts.js +3 -11
  178. package/dist/runtime/memory/mounts.js.map +1 -1
  179. package/dist/runtime/sandbox-manager.d.ts +5 -0
  180. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  181. package/dist/runtime/sandbox-manager.js +21 -15
  182. package/dist/runtime/sandbox-manager.js.map +1 -1
  183. package/dist/runtime/sandbox-stream-retry.d.ts +15 -7
  184. package/dist/runtime/sandbox-stream-retry.d.ts.map +1 -1
  185. package/dist/runtime/sandbox-stream-retry.js +24 -12
  186. package/dist/runtime/sandbox-stream-retry.js.map +1 -1
  187. package/dist/runtime/types.d.ts +16 -0
  188. package/dist/runtime/types.d.ts.map +1 -1
  189. package/dist/runtime/validated-token.d.ts +7 -12
  190. package/dist/runtime/validated-token.d.ts.map +1 -1
  191. package/dist/runtime/validated-token.js +10 -66
  192. package/dist/runtime/validated-token.js.map +1 -1
  193. package/dist/sandbox.d.ts +16 -38
  194. package/dist/sandbox.d.ts.map +1 -1
  195. package/dist/sandbox.js +9 -16
  196. package/dist/sandbox.js.map +1 -1
  197. package/dist/types.d.ts +4 -3
  198. package/dist/types.d.ts.map +1 -1
  199. package/dist/types.js.map +1 -1
  200. package/package.json +8 -8
  201. package/dist/connectors/github/adapter-core.d.ts +0 -15
  202. package/dist/connectors/github/adapter-core.d.ts.map +0 -1
  203. package/dist/connectors/github/adapter-core.js +0 -52
  204. package/dist/connectors/github/adapter-core.js.map +0 -1
  205. package/dist/connectors/github/define.d.ts +0 -168
  206. package/dist/connectors/github/define.d.ts.map +0 -1
  207. package/dist/connectors/github/define.js +0 -72
  208. package/dist/connectors/github/define.js.map +0 -1
  209. package/dist/connectors/github/http.d.ts +0 -25
  210. package/dist/connectors/github/http.d.ts.map +0 -1
  211. package/dist/connectors/github/http.js +0 -146
  212. package/dist/connectors/github/http.js.map +0 -1
  213. package/dist/connectors/github/index.d.ts +0 -121
  214. package/dist/connectors/github/index.d.ts.map +0 -1
  215. package/dist/connectors/github/index.js +0 -192
  216. package/dist/connectors/github/index.js.map +0 -1
  217. package/dist/connectors/github/match.d.ts +0 -20
  218. package/dist/connectors/github/match.d.ts.map +0 -1
  219. package/dist/connectors/github/match.js +0 -41
  220. package/dist/connectors/github/match.js.map +0 -1
  221. package/dist/connectors/github/normalize.d.ts +0 -32
  222. package/dist/connectors/github/normalize.d.ts.map +0 -1
  223. package/dist/connectors/github/normalize.js +0 -152
  224. package/dist/connectors/github/normalize.js.map +0 -1
  225. package/dist/connectors/github/sandbox.d.ts +0 -54
  226. package/dist/connectors/github/sandbox.d.ts.map +0 -1
  227. package/dist/connectors/github/sandbox.js +0 -532
  228. package/dist/connectors/github/sandbox.js.map +0 -1
  229. package/dist/connectors/github/source-thread.d.ts +0 -24
  230. package/dist/connectors/github/source-thread.d.ts.map +0 -1
  231. package/dist/connectors/github/source-thread.js +0 -54
  232. package/dist/connectors/github/source-thread.js.map +0 -1
  233. package/dist/connectors/github/transport.d.ts +0 -25
  234. package/dist/connectors/github/transport.d.ts.map +0 -1
  235. package/dist/connectors/github/transport.js +0 -106
  236. package/dist/connectors/github/transport.js.map +0 -1
  237. package/dist/connectors/langsmith/index.d.ts +0 -397
  238. package/dist/connectors/langsmith/index.d.ts.map +0 -1
  239. package/dist/connectors/langsmith/index.js +0 -436
  240. package/dist/connectors/langsmith/index.js.map +0 -1
  241. package/dist/connectors/langsmith/routes.d.ts +0 -236
  242. package/dist/connectors/langsmith/routes.d.ts.map +0 -1
  243. package/dist/connectors/langsmith/routes.js +0 -1154
  244. package/dist/connectors/langsmith/routes.js.map +0 -1
  245. package/dist/connectors/slack/adapter-core.d.ts.map +0 -1
  246. package/dist/connectors/slack/adapter-core.js.map +0 -1
  247. package/dist/connectors/slack/adapter.d.ts.map +0 -1
  248. package/dist/connectors/slack/adapter.js.map +0 -1
  249. package/dist/connectors/slack/http.d.ts.map +0 -1
  250. package/dist/connectors/slack/http.js.map +0 -1
  251. package/dist/connectors/slack/normalize.d.ts.map +0 -1
  252. package/dist/connectors/slack/normalize.js.map +0 -1
  253. package/dist/connectors/slack/source-thread.d.ts.map +0 -1
  254. package/dist/connectors/slack/source-thread.js.map +0 -1
  255. package/dist/connectors/slack/transport.d.ts.map +0 -1
  256. package/dist/connectors/slack/transport.js.map +0 -1
  257. package/dist/identity/memory-slices.d.ts +0 -21
  258. package/dist/identity/memory-slices.d.ts.map +0 -1
  259. package/dist/identity/memory-slices.js +0 -105
  260. package/dist/identity/memory-slices.js.map +0 -1
  261. package/dist/runtime/memory/lazy-context-backend.d.ts +0 -74
  262. package/dist/runtime/memory/lazy-context-backend.d.ts.map +0 -1
  263. package/dist/runtime/memory/lazy-context-backend.js +0 -166
  264. package/dist/runtime/memory/lazy-context-backend.js.map +0 -1
  265. package/dist/runtime/memory/seed.d.ts +0 -30
  266. package/dist/runtime/memory/seed.d.ts.map +0 -1
  267. package/dist/runtime/memory/seed.js +0 -199
  268. package/dist/runtime/memory/seed.js.map +0 -1
  269. package/dist/runtime/memory/user-repo.d.ts +0 -18
  270. package/dist/runtime/memory/user-repo.d.ts.map +0 -1
  271. package/dist/runtime/memory/user-repo.js +0 -50
  272. package/dist/runtime/memory/user-repo.js.map +0 -1
  273. /package/dist/{connectors → channels}/slack/adapter-core.js +0 -0
  274. /package/dist/{connectors → channels}/slack/source-thread.d.ts +0 -0
  275. /package/dist/{connectors → channels}/slack/source-thread.js +0 -0
@@ -1,8 +1,8 @@
1
1
  import { Auth, HTTPException, isStudioUser, } from "@langchain/langgraph-sdk/auth";
2
2
  import { trustedMessagingProviders } from "../channels/messaging-registry.js";
3
3
  import { trustedChannelSourceProviders } from "../channels/registry-store.js";
4
- import { normalizeGroups, hasUserMemorySlice, } from "../identity/index.js";
5
- import { buildRuntimeIdentity, memoryIdentitySegments, } from "./identity-runtime.js";
4
+ import {} from "../identity/index.js";
5
+ import { buildRuntimeIdentity } from "./identity-runtime.js";
6
6
  import { resolveValidatedTokenUser } from "./validated-token.js";
7
7
  /**
8
8
  * Reserved transport for the trusted-backend ingress mode. User identity
@@ -12,18 +12,24 @@ import { resolveValidatedTokenUser } from "./validated-token.js";
12
12
  */
13
13
  /** Trusted-backend / channel-loopback identity headers (single source of truth). */
14
14
  export const USER_HEADER = "x-mda-user-id";
15
- /** Comma- or space-delimited group memberships. */
16
- export const GROUPS_HEADER = "x-mda-groups";
17
15
  export const INGRESS_SECRET_HEADER = "x-mda-ingress-secret";
18
16
  /**
19
- * Internal channel handoff headers. Accepted only after the ingress secret
20
- * validates — never part of the public HTTP identity surface, and deliberately
21
- * not allowlisted into `config.configurable`.
17
+ * Internal channel handoff headers. Accepted only after a server API key or
18
+ * legacy ingress secret validates — never part of the public HTTP identity
19
+ * surface, and deliberately not allowlisted into `config.configurable`.
22
20
  */
23
21
  export const SOURCE_PROVIDER_HEADER = "x-mda-source-provider";
24
22
  export const SOURCE_THREAD_HEADER = "x-mda-source-thread-id";
25
23
  /** Deployment env var carrying the shared secret the trusted backend presents. */
26
24
  export const INGRESS_SECRET_ENV = "MDA_INGRESS_SECRET";
25
+ /** Deploy/dev-owned credential used only for internal identity handoffs. */
26
+ export const HANDOFF_SECRET_ENV = "MDA_HANDOFF_SECRET";
27
+ export const HANDOFF_SECRET_HEADER = "x-mda-handoff-secret";
28
+ /** Platform-owned LangSmith auth configuration. */
29
+ export const LANGSMITH_AUTH_ENDPOINT_ENV = "LANGSMITH_AUTH_ENDPOINT";
30
+ export const LANGSMITH_TENANT_ID_ENV = "LANGSMITH_TENANT_ID";
31
+ export const LANGSMITH_API_KEY_HEADER = "x-api-key";
32
+ export const LANGSMITH_API_KEY_ENV = "LANGSMITH_API_KEY";
27
33
  /**
28
34
  * Set to `"1"` by `mda dev` so local Studio / API clients can exercise
29
35
  * `trusted_backend` identity without injecting ingress headers. Never set in
@@ -32,15 +38,18 @@ export const INGRESS_SECRET_ENV = "MDA_INGRESS_SECRET";
32
38
  const LOCAL_DEV_ENV = "MDA_LOCAL_DEV";
33
39
  /** Synthetic user for local `mda dev` when ingress headers are absent. */
34
40
  const LOCAL_DEV_USER = "mda:local-dev";
35
- /** Path MDA exposes for anonymous guest token issuance (must stay public). */
36
- const GUEST_ISSUANCE_PATH = "/identity/guest";
37
41
  /**
38
42
  * Provider OAuth/OIDC callbacks must stay public (IdP redirects the browser
39
43
  * here). Path shape: `/identity/{provider}/callback`.
40
44
  */
41
45
  const IDENTITY_PROVIDER_CALLBACK_PATH = /^\/identity\/[^/]+\/callback\/?$/;
42
46
  /**
43
- * Connector Events routes authenticate via provider signatures (Slack HMAC),
47
+ * Channel Events routes authenticate via provider signatures (Slack HMAC),
48
+ * not MDA ingress. Path shape: `/channels/{name}/events`.
49
+ */
50
+ const CHANNEL_EVENTS_PATH = /^\/channels\/[^/]+\/events\/?$/;
51
+ /**
52
+ * Connector Events routes authenticate via provider signatures (GitHub HMAC),
44
53
  * not MDA ingress. Path shape: `/connectors/{name}/events`.
45
54
  */
46
55
  const CONNECTOR_EVENTS_PATH = /^\/connectors\/[^/]+\/events\/?$/;
@@ -51,17 +60,15 @@ function isTrustedSourceProvider(provider) {
51
60
  trustedMessagingProviders().has(provider) ||
52
61
  trustedChannelSourceProviders().has(provider));
53
62
  }
54
- /** Synthetic user used only to satisfy auth middleware on the issuance route. */
55
- const GUEST_ISSUER_USER = "mda:guest-issuer";
63
+ /** Synthetic user used only to satisfy auth middleware on public routes. */
64
+ const PUBLIC_ROUTE_USER = "mda:public-route";
56
65
  /** Synthetic user so middleware_first allows unsigned Slack Events ingress. */
57
66
  const CHANNEL_EVENTS_USER = "mda:channel-events";
58
67
  /**
59
68
  * Build the managed LangGraph custom-auth handler from a declared identity.
60
69
  *
61
- * Handles both ingress modes: `trusted_backend` (reserved headers behind a
62
- * shared ingress secret) and `validated_token` (browser-direct IdP tokens
63
- * verified via JWKS / introspection / MDA-signed guest). Also registers thread
64
- * and store scoping with a studio bypass.
70
+ * Handles trusted-backend, LangSmith API-key, and validated-token ingress.
71
+ * Also registers thread and store scoping with a studio bypass.
65
72
  */
66
73
  export function buildManagedAuth(identity) {
67
74
  const cfg = identity.config;
@@ -73,18 +80,24 @@ export function buildManagedAuth(identity) {
73
80
  if (isChannelEventsRequest(request)) {
74
81
  return channelEventsBypassUser();
75
82
  }
76
- // Guest issuance and provider callback requests bypass auth.
77
- // Channel loopback (and other trusted handoffs) stamp the ingress secret
78
- // even when public HTTP ingress is validated_token (e.g. Supabase web).
79
- if (isIdentityProviderCallbackRequest(request) ||
80
- isGuestIssuanceRequest(request, cfg)) {
81
- return guestIssuanceBypassUser();
83
+ // Provider OAuth/OIDC callback requests bypass auth (the IdP redirects the
84
+ // browser here with no MDA token to present).
85
+ if (isIdentityProviderCallbackRequest(request)) {
86
+ return publicRouteBypassUser();
87
+ }
88
+ // Deploy/dev inject a private handoff credential. A local server API key
89
+ // remains compatible, as does the legacy trusted-backend ingress secret.
90
+ const managedHandoff = resolveManagedHandoffUser(request);
91
+ if (managedHandoff) {
92
+ return managedHandoff;
82
93
  }
83
- // Channel loopback (and other trusted handoffs) stamp the ingress secret
84
- // even when public HTTP ingress is validated_token (e.g. Supabase web).
85
94
  if (http === "backend" || hasValidIngressSecret(request)) {
86
95
  return resolveTrustedBackendUser(cfg, request);
87
96
  }
97
+ rejectUntrustedHandoffHeaders(request);
98
+ if (isLangSmithApiKeyAuth(http)) {
99
+ return resolveLangSmithApiKeyUser(request);
100
+ }
88
101
  return resolveValidatedTokenUser(cfg, http, request);
89
102
  });
90
103
  auth.on("threads", ({ user, value }) => {
@@ -104,7 +117,7 @@ export function buildManagedAuth(identity) {
104
117
  if (isStudioUser(user) || isLocalDevUnscopedUser(user)) {
105
118
  return true;
106
119
  }
107
- assertStoreAccess(cfg, user, value);
120
+ assertStoreAccess(user, value);
108
121
  return true;
109
122
  });
110
123
  return auth;
@@ -120,12 +133,20 @@ export function buildManagedAuth(identity) {
120
133
  */
121
134
  export async function resolveRequestIdentity(cfg, request) {
122
135
  const http = cfg.ingress.http;
123
- const user = http === "backend" || hasValidIngressSecret(request)
124
- ? resolveTrustedBackendUser(cfg, request)
125
- : await resolveValidatedTokenUser(cfg, http, request);
136
+ const managedHandoff = resolveManagedHandoffUser(request);
137
+ const trustedHandoff = managedHandoff !== null || hasValidIngressSecret(request);
138
+ if (!managedHandoff && http !== "backend" && !trustedHandoff) {
139
+ rejectUntrustedHandoffHeaders(request);
140
+ }
141
+ const user = managedHandoff
142
+ ? managedHandoff
143
+ : http === "backend" || trustedHandoff
144
+ ? resolveTrustedBackendUser(cfg, request)
145
+ : isLangSmithApiKeyAuth(http)
146
+ ? await resolveLangSmithApiKeyUser(request)
147
+ : await resolveValidatedTokenUser(cfg, http, request);
126
148
  // Preserve trusted channel source stamps; default public HTTP to "http".
127
- const sourceProvider = user.mda_source_provider ??
128
- (hasValidIngressSecret(request) ? undefined : "http");
149
+ const sourceProvider = user.mda_source_provider ?? (trustedHandoff ? undefined : "http");
129
150
  const identity = buildRuntimeIdentity({
130
151
  langgraph_auth_user: {
131
152
  ...user,
@@ -151,17 +172,19 @@ export const GITHUB_CREDENTIALS_STORE_PREFIX = "mda_github_credentials";
151
172
  */
152
173
  export const IDENTITY_LINKS_SERVICE_USER = "mda:identity-links";
153
174
  /**
154
- * Fail-closed (403) unless the store `namespace` contains the caller id as a
155
- * contiguous ordered prefix (typically after the deployment id). No user slice
156
- * no per-identity restriction.
175
+ * Fail-closed (403) on the managed reserved namespaces.
176
+ *
177
+ * `mda_identity_links` and `mda_github_credentials` are deployment-wide managed
178
+ * tables — account links and OAuth tokens for every caller — so only the trusted
179
+ * identity-links service principal may touch them. This check deliberately does
180
+ * not consult memory: it used to sit behind a per-caller memory check, which left
181
+ * the tables open to any authenticated caller on deployments without a user
182
+ * slice.
183
+ *
184
+ * There is no per-caller store partition to enforce beyond that, because no
185
+ * declaration mounts per-caller state in this release.
157
186
  */
158
- export function assertStoreAccess(cfg, user, value) {
159
- const required = hasUserMemorySlice(cfg.scope.memory)
160
- ? memoryIdentitySegments(user.mda_user_id ? String(user.mda_user_id) : undefined)
161
- : [];
162
- if (required.length === 0) {
163
- return;
164
- }
187
+ export function assertStoreAccess(user, value) {
165
188
  const namespace = value &&
166
189
  typeof value === "object" &&
167
190
  Array.isArray(value.namespace)
@@ -179,11 +202,6 @@ export function assertStoreAccess(cfg, user, value) {
179
202
  message: "store namespace is outside the caller's identity boundary",
180
203
  });
181
204
  }
182
- if (!namespaceHasOrderedSegments(namespace, required)) {
183
- throw new HTTPException(403, {
184
- message: "store namespace is outside the caller's identity boundary",
185
- });
186
- }
187
205
  }
188
206
  /** True when `required` appears as a contiguous ordered subsequence of `namespace`. */
189
207
  export function namespaceHasOrderedSegments(namespace, required) {
@@ -219,11 +237,14 @@ export function resolveTrustedBackendUser(cfg, request) {
219
237
  return local;
220
238
  }
221
239
  requireIngressSecret(request);
240
+ return trustedHeadersUser(request);
241
+ }
242
+ /** Resolve headers only after the caller has established a trusted credential. */
243
+ function trustedHeadersUser(request) {
222
244
  const userId = trustedUserId(request);
223
245
  if (!userId) {
224
246
  throw new HTTPException(401, { message: `missing ${USER_HEADER}` });
225
247
  }
226
- const groups = normalizeGroups(request.headers.get(GROUPS_HEADER));
227
248
  const sourceProvider = request.headers.get(SOURCE_PROVIDER_HEADER) ?? undefined;
228
249
  const sourceThread = request.headers.get(SOURCE_THREAD_HEADER) ?? undefined;
229
250
  if (sourceProvider !== undefined) {
@@ -243,11 +264,15 @@ export function resolveTrustedBackendUser(cfg, request) {
243
264
  message: `missing ${SOURCE_PROVIDER_HEADER}`,
244
265
  });
245
266
  }
267
+ // Only the fixed Slack agent principal is a service. Connected Slack Events
268
+ // loopback as the linked person (`sourceProvider: "slack"`) and must stay
269
+ // kind=person so credentials/memory follow the caller.
270
+ const isService = userId === "mda:slack";
246
271
  return {
247
272
  identity: userId,
248
273
  permissions: [],
249
274
  mda_user_id: userId,
250
- ...(groups.length > 0 ? { mda_groups: groups } : {}),
275
+ ...(isService ? { mda_user_kind: "service" } : {}),
251
276
  ...(sourceProvider
252
277
  ? {
253
278
  mda_source_provider: sourceProvider,
@@ -256,6 +281,117 @@ export function resolveTrustedBackendUser(cfg, request) {
256
281
  : {}),
257
282
  };
258
283
  }
284
+ /** Resolve reserved identity headers authenticated by an internal credential. */
285
+ function resolveManagedHandoffUser(request) {
286
+ if (!hasHandoffHeaders(request) ||
287
+ (!hasValidHandoffSecret(request) && !hasServerApiKey(request))) {
288
+ return null;
289
+ }
290
+ return trustedHeadersUser(request);
291
+ }
292
+ function hasValidHandoffSecret(request) {
293
+ const expected = process.env[HANDOFF_SECRET_ENV]?.trim();
294
+ const provided = request.headers.get(HANDOFF_SECRET_HEADER)?.trim();
295
+ return Boolean(expected && provided && constantTimeEquals(expected, provided));
296
+ }
297
+ function hasHandoffHeaders(request) {
298
+ return (request.headers.has(USER_HEADER) ||
299
+ request.headers.has(SOURCE_PROVIDER_HEADER) ||
300
+ request.headers.has(SOURCE_THREAD_HEADER));
301
+ }
302
+ function rejectUntrustedHandoffHeaders(request) {
303
+ if (hasHandoffHeaders(request)) {
304
+ throw new HTTPException(401, {
305
+ message: "reserved MDA identity headers require a trusted server credential",
306
+ });
307
+ }
308
+ }
309
+ function hasServerApiKey(request) {
310
+ const expected = process.env[LANGSMITH_API_KEY_ENV]?.trim();
311
+ const provided = request.headers.get(LANGSMITH_API_KEY_HEADER)?.trim();
312
+ return Boolean(expected && provided && constantTimeEquals(expected, provided));
313
+ }
314
+ /** Verify a LangSmith API key without replacing MDA's authorization hooks. */
315
+ export async function resolveLangSmithApiKeyUser(request) {
316
+ const apiKey = request.headers.get(LANGSMITH_API_KEY_HEADER)?.trim();
317
+ const endpoint = process.env[LANGSMITH_AUTH_ENDPOINT_ENV]?.trim();
318
+ const expectedTenant = process.env[LANGSMITH_TENANT_ID_ENV]?.trim();
319
+ if (process.env[LOCAL_DEV_ENV] === "1" && (!endpoint || !expectedTenant)) {
320
+ return localDevServiceUser(request);
321
+ }
322
+ if (!apiKey) {
323
+ throw new HTTPException(401, { message: "missing x-api-key" });
324
+ }
325
+ if (!endpoint || !expectedTenant) {
326
+ throw new HTTPException(500, {
327
+ message: "LangSmith API-key authentication is not configured",
328
+ });
329
+ }
330
+ const headers = new Headers({ "x-api-key": apiKey });
331
+ const tenantHeader = request.headers.get("x-tenant-id");
332
+ if (tenantHeader) {
333
+ headers.set("x-tenant-id", tenantHeader);
334
+ }
335
+ let response;
336
+ try {
337
+ response = await fetch(new URL("/auth/public", endpoint), {
338
+ headers,
339
+ signal: AbortSignal.timeout(2_000),
340
+ });
341
+ }
342
+ catch {
343
+ throw new HTTPException(503, {
344
+ message: "LangSmith API-key verification unavailable",
345
+ });
346
+ }
347
+ if (response.status === 401) {
348
+ throw new HTTPException(401, { message: "invalid API key" });
349
+ }
350
+ if (response.status === 403) {
351
+ throw new HTTPException(403, { message: "API key is forbidden" });
352
+ }
353
+ if (!response.ok) {
354
+ throw new HTTPException(503, {
355
+ message: "LangSmith API-key verification unavailable",
356
+ });
357
+ }
358
+ let verified;
359
+ try {
360
+ verified = await response.json();
361
+ }
362
+ catch {
363
+ throw new HTTPException(503, {
364
+ message: "LangSmith API-key verification returned an invalid response",
365
+ });
366
+ }
367
+ if (!isJsonObject(verified)) {
368
+ throw new HTTPException(503, {
369
+ message: "LangSmith API-key verification returned an invalid response",
370
+ });
371
+ }
372
+ if (typeof verified.tenant_id !== "string" ||
373
+ verified.tenant_id !== expectedTenant) {
374
+ throw new HTTPException(403, { message: "API key tenant mismatch" });
375
+ }
376
+ const userId = typeof verified.user_id === "string" && verified.user_id.trim()
377
+ ? `langsmith:user:${verified.user_id.trim()}`
378
+ : `langsmith:tenant:${verified.tenant_id}`;
379
+ return {
380
+ identity: userId,
381
+ permissions: [],
382
+ mda_user_id: userId,
383
+ mda_user_kind: "service",
384
+ ...(typeof verified.user_email === "string" && verified.user_email.trim()
385
+ ? { mda_user_email: verified.user_email.trim() }
386
+ : {}),
387
+ };
388
+ }
389
+ function isJsonObject(value) {
390
+ return typeof value === "object" && value !== null && !Array.isArray(value);
391
+ }
392
+ function isLangSmithApiKeyAuth(http) {
393
+ return typeof http === "object" && http.mode === "langsmith_api_key";
394
+ }
259
395
  /** Caller id from the trusted headers. */
260
396
  function trustedUserId(request) {
261
397
  return request.headers.get(USER_HEADER) ?? undefined;
@@ -293,6 +429,9 @@ export function tryLocalDevTrustedUser(_cfg, request) {
293
429
  if (hasValidIngressSecret(request)) {
294
430
  return null;
295
431
  }
432
+ return localDevServiceUser(request);
433
+ }
434
+ function localDevServiceUser(request) {
296
435
  const userId = trustedUserId(request) ?? LOCAL_DEV_USER;
297
436
  return {
298
437
  identity: userId,
@@ -317,28 +456,13 @@ function hasValidIngressSecret(request) {
317
456
  const provided = request.headers.get(INGRESS_SECRET_HEADER);
318
457
  return Boolean(expected && provided && constantTimeEquals(expected, provided));
319
458
  }
320
- /** True when this deployment exposes guest issuance and the request targets it. */
321
- export function isGuestIssuanceRequest(request, cfg) {
322
- if (request.method !== "POST") {
323
- return false;
324
- }
325
- const { pathname } = new URL(request.url);
326
- if (pathname !== GUEST_ISSUANCE_PATH) {
327
- return false;
328
- }
329
- const http = cfg.ingress.http;
330
- if (http === "backend") {
331
- return false;
332
- }
333
- return http.providers.some((provider) => provider.guest?.issue);
334
- }
335
- /** True when the request targets a public connector Events ingress route. */
459
+ /** True when the request targets a public channel/connector Events ingress route. */
336
460
  export function isChannelEventsRequest(request) {
337
461
  if (request.method !== "POST") {
338
462
  return false;
339
463
  }
340
464
  const { pathname } = new URL(request.url);
341
- return CONNECTOR_EVENTS_PATH.test(pathname);
465
+ return (CHANNEL_EVENTS_PATH.test(pathname) || CONNECTOR_EVENTS_PATH.test(pathname));
342
466
  }
343
467
  /** True when the request is a public identity-provider OAuth/OIDC callback. */
344
468
  export function isIdentityProviderCallbackRequest(request) {
@@ -348,12 +472,12 @@ export function isIdentityProviderCallbackRequest(request) {
348
472
  const { pathname } = new URL(request.url);
349
473
  return IDENTITY_PROVIDER_CALLBACK_PATH.test(pathname);
350
474
  }
351
- /** Placeholder identity so LangGraph auth middleware allows tokenless issuance. */
352
- export function guestIssuanceBypassUser() {
475
+ /** Placeholder identity so LangGraph auth middleware allows public routes. */
476
+ export function publicRouteBypassUser() {
353
477
  return {
354
- identity: GUEST_ISSUER_USER,
478
+ identity: PUBLIC_ROUTE_USER,
355
479
  permissions: [],
356
- mda_user_id: GUEST_ISSUER_USER,
480
+ mda_user_id: PUBLIC_ROUTE_USER,
357
481
  };
358
482
  }
359
483
  /** Placeholder identity so middleware allows provider-signed channel Events. */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,GACb,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAKN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;GAKG;AACH,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAC5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAE7D,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE5D,mDAAmD;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAyB,CAAC;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,0EAA0E;AAC1E,MAAM,cAAc,GAAG,eAAe,CAAC;AAEvC;;;GAGG;AACH,MAAM,+BAA+B,GAAG,kCAAkC,CAAC;AAE3E;;;GAGG;AACH,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AAE7D;;;GAGG;AACH,MAAM,qBAAqB,GAAG,kCAAkC,CAAC;AAEjE,2FAA2F;AAC3F,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEtE,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,OAAO,CACL,gCAAgC,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9C,yBAAyB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzC,6BAA6B,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAE7C,+EAA+E;AAC/E,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAsBjD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA4B;IAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAExB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAgB,EAAwB,EAAE;QACjE,2EAA2E;QAC3E,uEAAuE;QACvE,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,uBAAuB,EAAE,CAAC;QACnC,CAAC;QACD,2EAA2E;QAC3E,8CAA8C;QAC9C,IAAI,iCAAiC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,OAAO,qBAAqB,EAAE,CAAC;QACjC,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,yBAAyB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACrC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,cAAc,CAAC,IAA8B,CAAC,CAAC;QAC3D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,KAA+C,CAAC;YAClE,SAAS,CAAC,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,+BAA+B;IAC/B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACnC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,iBAAiB,CAAC,IAA8B,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAAmB,EACnB,OAAgB;IAEhB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,cAAc,GAClB,cAAc,KAAK,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,cAAc,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7D,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,IAAI,GAAG,cAAc;QACzB,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,cAAc;YACpC,CAAC,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC;YACzC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBAC3B,CAAC,CAAC,MAAM,0BAA0B,CAAC,OAAO,CAAC;gBAC3C,CAAC,CAAC,MAAM,yBAAyB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,yEAAyE;IACzE,MAAM,cAAc,GAClB,IAAI,CAAC,mBAAmB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,mBAAmB,EAAE;YACnB,GAAG,IAAI;YACP,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE;KACF,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,oBAAoB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,oBAAoB,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAiB,EAAE,KAAc;IACjE,MAAM,SAAS,GACb,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAE,KAAiC,CAAC,SAAS,CAAC;QACzD,CAAC,CAAE,KAAkC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC;IACT,4EAA4E;IAC5E,gFAAgF;IAChF,4EAA4E;IAC5E,IACE,SAAS,CAAC,CAAC,CAAC,KAAK,2BAA2B;QAC5C,SAAS,CAAC,CAAC,CAAC,KAAK,+BAA+B,EAChD,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,2BAA2B,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,2DAA2D;SACrE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,2BAA2B,CACzC,SAAmB,EACnB,QAAkB;IAElB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5E,IACE,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,OAAO,CAAC,EACxE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CACvC,GAAmB,EACnB,OAAgB;IAEhB,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,kFAAkF;AAClF,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW,WAAW,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,cAAc,GAClB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,SAAS,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC;IAC5E,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;gBAC3B,OAAO,EAAE,eAAe,sBAAsB,EAAE;aACjD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;gBAC3B,OAAO,EAAE,WAAW,oBAAoB,EAAE;aAC3C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,WAAW,sBAAsB,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,uDAAuD;IACvD,MAAM,SAAS,GAAG,MAAM,KAAK,WAAW,CAAC;IAEzC,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,MAAM;QACnB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC;gBACE,mBAAmB,EAAE,cAAc;gBACnC,oBAAoB,EAAE,YAAY;aACnC;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IACE,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC;IACpE,OAAO,OAAO,CACZ,QAAQ,IAAI,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,OAAO,CACL,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAChC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAC1C,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAgB;IACrD,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;YAC3B,OAAO,EACL,mEAAmE;SACtE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;IACvE,OAAO,OAAO,CACZ,QAAQ,IAAI,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAgB;IAEhB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,CAAC;IAClE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC;IAEpE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACzE,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,oDAAoD;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE;YACxD,OAAO;YACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,4CAA4C;SACtD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,4CAA4C;SACtD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;IACL,CAAC;IACD,IACE,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;QACtC,QAAQ,CAAC,SAAS,KAAK,cAAc,EACrC,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,MAAM,GACV,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;QAC7D,CAAC,CAAC,kBAAkB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;QAC7C,CAAC,CAAC,oBAAoB,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC/C,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,MAAM;QACnB,aAAa,EAAE,SAAS;QACxB,GAAG,CAAC,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;YACvE,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAuC;IAEvC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC;AACvE,CAAC;AAED,0CAA0C;AAC1C,SAAS,aAAa,CAAC,OAAgB;IACrC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAa;IAClD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAI,IAAoB,CAAC,WAAW,CAAC;IACjD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,MAAM,KAAK,cAAc;QACzB,MAAM,KAAK,eAAe;QACzB,IAAoB,CAAC,aAAa,KAAK,SAAS,CAClD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAoB,EACpB,OAAgB;IAEhB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC;IACxD,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,MAAM;QACnB,aAAa,EAAE,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,mCAAmC;SAC7C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC5D,OAAO,OAAO,CACZ,QAAQ,IAAI,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,CACL,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3E,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,iCAAiC,CAAC,OAAgB;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,QAAQ,EAAE,iBAAiB;QAC3B,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,iBAAiB;KAC/B,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,QAAQ,EAAE,mBAAmB;QAC7B,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,mBAAmB;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAS,EAAE,CAAS;IAC9C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,QAAQ,KAAK,CAAC,CAAC;AACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/runtime/backend.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAShD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMnD,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC1C,CAAC;AAuGF;;;GAGG;AACH,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAHpC,OAAO,eAIH;IAEJ,gEAAgE;IAChE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,yBAAyB,CAMjE;IAED;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,CAWtD;IAED,IAAI,EAAE,IAAI,MAAM,CAgBf;IAEK,EAAE,CAAC,IAAI,SAAM,0CAElB;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,4CAE3D;IAEK,OAAO,CAAC,QAAQ,EAAE,MAAM,+CAE7B;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,4CAErE;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,4CAExC;IAEK,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,6CAE5C;IAEK,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,4CAKnB;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,0DAE5B;IAEK,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,kEAEnD;IAEK,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,oEAElC;IAEK,OAAO,CAAC,OAAO,EAAE,MAAM,iDAE5B;IAED,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,SAAS;CAsBlB"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/runtime/backend.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAUhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMnD,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC1C,CAAC;AAiHF;;;GAGG;AACH,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAHpC,OAAO,eAIH;IAEJ,gEAAgE;IAChE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,yBAAyB,CAMjE;IAED;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,CAWtD;IAED,IAAI,EAAE,IAAI,MAAM,CAgBf;IAEK,EAAE,CAAC,IAAI,SAAM,0CAElB;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,4CAK3D;IAEK,OAAO,CAAC,QAAQ,EAAE,MAAM,+CAE7B;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,4CAKrE;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,4CAExC;IAEK,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,6CAK5C;IAEK,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,4CAMnB;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,0DAE5B;IAEK,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,kEAKnD;IAEK,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,oEAKlC;IAEK,OAAO,CAAC,OAAO,EAAE,MAAM,iDAE5B;IAED,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;CAsBlB"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { resolveRuntimeConfigurable } from "./identity-runtime.js";
9
9
  import { invalidateManagedSandbox, isTransientSandboxError, managedSandboxHostName, resolveManagedSandbox, sandboxScopeKey, } from "./sandbox-manager.js";
10
+ import { withStreamRetry } from "./sandbox-stream-retry.js";
10
11
  /**
11
12
  * Process-scoped resolve cache shared by all {@link LazyManagedSandboxBackend}
12
13
  * instances created from the same factory (unbound + per-run siblings).
@@ -40,11 +41,15 @@ class SandboxResolveCache {
40
41
  this.pendingByScope.set(key, pending);
41
42
  return pending;
42
43
  }
43
- async withRetry(deps, config, operation) {
44
+ async withRetry(deps, config, operation, label = "sandbox-op") {
45
+ // Prefer in-place stream retry over recreate. Cold LangSmith boxes often
46
+ // accept HTTP uploads while the websocket command channel is not ready;
47
+ // `write`'s mkdir preflight hits that race. Only after stream retries are
48
+ // exhausted (or for other transient errors) do we invalidate once.
44
49
  const key = sandboxScopeKey(deps.sandbox, config);
45
50
  let failingId;
46
51
  let failingHostName;
47
- try {
52
+ const run = async () => {
48
53
  const backend = await this.resolve(deps, config);
49
54
  failingId =
50
55
  typeof backend.id === "string" && backend.id.trim()
@@ -52,17 +57,20 @@ class SandboxResolveCache {
52
57
  : undefined;
53
58
  failingHostName = managedSandboxHostName(backend);
54
59
  return await operation(backend);
60
+ };
61
+ try {
62
+ return await withStreamRetry(run, { label });
55
63
  }
56
64
  catch (error) {
57
65
  if (this.recreatedScopes.has(key) || !isTransientSandboxError(error)) {
58
66
  throw error;
59
67
  }
60
- const label = error instanceof Error
68
+ const errLabel = error instanceof Error
61
69
  ? `${error.name}: ${error.message}`
62
70
  : String(error);
63
71
  console.warn(`[mda] sandbox op failed; invalidating and recreating once ` +
64
72
  `scope=${JSON.stringify(key)} sandbox_id=${JSON.stringify(failingId ?? null)} ` +
65
- `err=${label}`);
73
+ `err=${errLabel}`);
66
74
  this.recreatedScopes.add(key);
67
75
  await invalidateManagedSandbox(deps.sandbox, config, {
68
76
  setupScript: deps.setupScript,
@@ -74,7 +82,7 @@ class SandboxResolveCache {
74
82
  this.pendingByScope.delete(key);
75
83
  this.resolvedByScope.delete(key);
76
84
  }
77
- return await operation(await this.resolve(deps, config));
85
+ return await withStreamRetry(run, { label });
78
86
  }
79
87
  }
80
88
  }
@@ -124,43 +132,43 @@ export class LazyManagedSandboxBackend {
124
132
  }
125
133
  }
126
134
  async ls(path = "/") {
127
- return this.withRetry((backend) => backend.ls(path));
135
+ return this.withRetry((backend) => backend.ls(path), "ls");
128
136
  }
129
137
  async read(filePath, offset, limit) {
130
- return this.withRetry((backend) => backend.read(filePath, offset, limit));
138
+ return this.withRetry((backend) => backend.read(filePath, offset, limit), "read");
131
139
  }
132
140
  async readRaw(filePath) {
133
- return this.withRetry((backend) => backend.readRaw(filePath));
141
+ return this.withRetry((backend) => backend.readRaw(filePath), "readRaw");
134
142
  }
135
143
  async grep(pattern, path, glob) {
136
- return this.withRetry((backend) => backend.grep(pattern, path, glob));
144
+ return this.withRetry((backend) => backend.grep(pattern, path, glob), "grep");
137
145
  }
138
146
  async glob(pattern, path) {
139
- return this.withRetry((backend) => backend.glob(pattern, path));
147
+ return this.withRetry((backend) => backend.glob(pattern, path), "glob");
140
148
  }
141
149
  async write(filePath, content) {
142
- return this.withRetry((backend) => backend.write(filePath, content));
150
+ return this.withRetry((backend) => backend.write(filePath, content), "write");
143
151
  }
144
152
  async edit(filePath, oldString, newString, replaceAll = false) {
145
- return this.withRetry((backend) => backend.edit(filePath, oldString, newString, replaceAll));
153
+ return this.withRetry((backend) => backend.edit(filePath, oldString, newString, replaceAll), "edit");
146
154
  }
147
155
  async delete(filePath) {
148
- return this.withRetry((backend) => backend.delete?.(filePath));
156
+ return this.withRetry((backend) => backend.delete?.(filePath), "delete");
149
157
  }
150
158
  async uploadFiles(files) {
151
- return this.withRetry((backend) => backend.uploadFiles?.(files));
159
+ return this.withRetry((backend) => backend.uploadFiles?.(files), "uploadFiles");
152
160
  }
153
161
  async downloadFiles(paths) {
154
- return this.withRetry((backend) => backend.downloadFiles?.(paths));
162
+ return this.withRetry((backend) => backend.downloadFiles?.(paths), "downloadFiles");
155
163
  }
156
164
  async execute(command) {
157
- return this.withRetry((backend) => backend.execute(command));
165
+ return this.withRetry((backend) => backend.execute(command), "execute");
158
166
  }
159
167
  prefetch() {
160
168
  return this.cache.resolve(this.deps, this.runConfig());
161
169
  }
162
- withRetry(operation) {
163
- return this.cache.withRetry(this.deps, this.runConfig(), operation);
170
+ withRetry(operation, label = "sandbox-op") {
171
+ return this.cache.withRetry(this.deps, this.runConfig(), operation, label);
164
172
  }
165
173
  runConfig() {
166
174
  const closed = this.deps.runConfig?.configurable;
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/runtime/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/runtime/backend.ts"],"names":[],"mappings":"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"}