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.
- package/README.md +36 -37
- package/dist/channels/index.d.ts +6 -5
- package/dist/channels/index.d.ts.map +1 -1
- package/dist/channels/index.js +6 -5
- package/dist/channels/index.js.map +1 -1
- package/dist/channels/manifest.d.ts +1 -1
- package/dist/channels/manifest.d.ts.map +1 -1
- package/dist/channels/messaging-registry.d.ts +8 -4
- package/dist/channels/messaging-registry.d.ts.map +1 -1
- package/dist/channels/messaging-registry.js +22 -16
- package/dist/channels/messaging-registry.js.map +1 -1
- package/dist/channels/registry-types.d.ts +1 -1
- package/dist/channels/registry-types.d.ts.map +1 -1
- package/dist/channels/registry.d.ts.map +1 -1
- package/dist/channels/registry.js +1 -3
- package/dist/channels/registry.js.map +1 -1
- package/dist/channels/schedule-delivery.js +1 -1
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/{connectors → channels}/slack/adapter-core.d.ts +1 -1
- package/dist/channels/slack/adapter-core.d.ts.map +1 -0
- package/dist/channels/slack/adapter-core.js.map +1 -0
- package/dist/{connectors → channels}/slack/adapter.d.ts +3 -3
- package/dist/channels/slack/adapter.d.ts.map +1 -0
- package/dist/{connectors → channels}/slack/adapter.js +0 -1
- package/dist/channels/slack/adapter.js.map +1 -0
- package/dist/{connectors → channels}/slack/http.d.ts +7 -5
- package/dist/channels/slack/http.d.ts.map +1 -0
- package/dist/{connectors → channels}/slack/http.js +46 -11
- package/dist/channels/slack/http.js.map +1 -0
- package/dist/channels/slack/index.d.ts +104 -0
- package/dist/channels/slack/index.d.ts.map +1 -0
- package/dist/channels/slack/index.js +151 -0
- package/dist/channels/slack/index.js.map +1 -0
- package/dist/{connectors → channels}/slack/normalize.d.ts +7 -4
- package/dist/channels/slack/normalize.d.ts.map +1 -0
- package/dist/{connectors → channels}/slack/normalize.js +47 -11
- package/dist/channels/slack/normalize.js.map +1 -0
- package/dist/channels/slack/source-thread.d.ts.map +1 -0
- package/dist/channels/slack/source-thread.js.map +1 -0
- package/dist/{connectors → channels}/slack/transport.d.ts +1 -1
- package/dist/channels/slack/transport.d.ts.map +1 -0
- package/dist/{connectors → channels}/slack/transport.js +1 -1
- package/dist/channels/slack/transport.js.map +1 -0
- package/dist/channels/store.d.ts +14 -0
- package/dist/channels/store.d.ts.map +1 -1
- package/dist/channels/store.js +41 -27
- package/dist/channels/store.js.map +1 -1
- package/dist/connectors/slack/index.d.ts +10 -79
- package/dist/connectors/slack/index.d.ts.map +1 -1
- package/dist/connectors/slack/index.js +24 -127
- package/dist/connectors/slack/index.js.map +1 -1
- package/dist/connectors/toolserver/catalog.d.ts +4 -10
- package/dist/connectors/toolserver/catalog.d.ts.map +1 -1
- package/dist/connectors/toolserver/catalog.js +6 -54
- package/dist/connectors/toolserver/catalog.js.map +1 -1
- package/dist/connectors/toolserver/index.d.ts +5 -7
- package/dist/connectors/toolserver/index.d.ts.map +1 -1
- package/dist/connectors/toolserver/index.js +4 -6
- package/dist/connectors/toolserver/index.js.map +1 -1
- package/dist/connectors/toolserver/integrations.d.ts +4 -4
- package/dist/connectors/toolserver/integrations.d.ts.map +1 -1
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +9 -3
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/extension.d.ts +6 -14
- package/dist/extension.d.ts.map +1 -1
- package/dist/extension.js +5 -24
- package/dist/extension.js.map +1 -1
- package/dist/identity/connect-inference.d.ts +6 -7
- package/dist/identity/connect-inference.d.ts.map +1 -1
- package/dist/identity/connect-inference.js +7 -9
- package/dist/identity/connect-inference.js.map +1 -1
- package/dist/identity/github/connect-http.d.ts +3 -4
- package/dist/identity/github/connect-http.d.ts.map +1 -1
- package/dist/identity/github/connect-http.js +7 -10
- package/dist/identity/github/connect-http.js.map +1 -1
- package/dist/identity/github/credentials-store.d.ts.map +1 -1
- package/dist/identity/github/credentials-store.js +26 -10
- package/dist/identity/github/credentials-store.js.map +1 -1
- package/dist/identity/github/index.d.ts +0 -2
- package/dist/identity/github/index.d.ts.map +1 -1
- package/dist/identity/github/index.js +0 -2
- package/dist/identity/github/index.js.map +1 -1
- package/dist/identity/index.d.ts +15 -71
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +30 -223
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/oauth-env.d.ts +4 -3
- package/dist/identity/oauth-env.d.ts.map +1 -1
- package/dist/identity/oauth-env.js +4 -3
- package/dist/identity/oauth-env.js.map +1 -1
- package/dist/identity/options.d.ts +12 -72
- package/dist/identity/options.d.ts.map +1 -1
- package/dist/identity/options.js +38 -112
- package/dist/identity/options.js.map +1 -1
- package/dist/identity/slack/connect-http.d.ts +3 -1
- package/dist/identity/slack/connect-http.d.ts.map +1 -1
- package/dist/identity/slack/connect-http.js +3 -1
- package/dist/identity/slack/connect-http.js.map +1 -1
- package/dist/identity/slack/links.d.ts +3 -2
- package/dist/identity/slack/links.d.ts.map +1 -1
- package/dist/identity/slack/links.js +29 -12
- package/dist/identity/slack/links.js.map +1 -1
- package/dist/identity/types.d.ts +12 -43
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/index.d.ts +8 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/ingress/index.d.ts.map +1 -1
- package/dist/ingress/index.js +26 -10
- package/dist/ingress/index.js.map +1 -1
- package/dist/memory/define-memory.d.ts +39 -0
- package/dist/memory/define-memory.d.ts.map +1 -0
- package/dist/memory/define-memory.js +78 -0
- package/dist/memory/define-memory.js.map +1 -0
- package/dist/memory/index.d.ts +9 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +8 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/instructions-middleware.d.ts +74 -0
- package/dist/memory/instructions-middleware.d.ts.map +1 -0
- package/dist/memory/instructions-middleware.js +115 -0
- package/dist/memory/instructions-middleware.js.map +1 -0
- package/dist/memory/slices.d.ts +21 -0
- package/dist/memory/slices.d.ts.map +1 -0
- package/dist/memory/slices.js +61 -0
- package/dist/memory/slices.js.map +1 -0
- package/dist/memory/types.d.ts +71 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +10 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/namespaces.d.ts +46 -90
- package/dist/namespaces.d.ts.map +1 -1
- package/dist/namespaces.js +13 -39
- package/dist/namespaces.js.map +1 -1
- package/dist/runtime/auth.d.ts +31 -19
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +192 -68
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/backend.js +26 -18
- package/dist/runtime/backend.js.map +1 -1
- package/dist/runtime/channel.d.ts +91 -0
- package/dist/runtime/channel.d.ts.map +1 -0
- package/dist/runtime/channel.js +98 -0
- package/dist/runtime/channel.js.map +1 -0
- package/dist/runtime/connector.d.ts +1 -1
- package/dist/runtime/connector.js +5 -1
- package/dist/runtime/connector.js.map +1 -1
- package/dist/runtime/cors.d.ts +1 -1
- package/dist/runtime/cors.d.ts.map +1 -1
- package/dist/runtime/cors.js +5 -1
- package/dist/runtime/cors.js.map +1 -1
- package/dist/runtime/http.d.ts +1 -2
- package/dist/runtime/http.d.ts.map +1 -1
- package/dist/runtime/http.js +1 -2
- package/dist/runtime/http.js.map +1 -1
- package/dist/runtime/identity-http.d.ts +9 -6
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +67 -42
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +0 -18
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +0 -27
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts +4 -3
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +33 -31
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/memory/index.d.ts +0 -3
- package/dist/runtime/memory/index.d.ts.map +1 -1
- package/dist/runtime/memory/index.js +0 -3
- package/dist/runtime/memory/index.js.map +1 -1
- package/dist/runtime/memory/mounts.d.ts +2 -10
- package/dist/runtime/memory/mounts.d.ts.map +1 -1
- package/dist/runtime/memory/mounts.js +3 -11
- package/dist/runtime/memory/mounts.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +5 -0
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +21 -15
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/sandbox-stream-retry.d.ts +15 -7
- package/dist/runtime/sandbox-stream-retry.d.ts.map +1 -1
- package/dist/runtime/sandbox-stream-retry.js +24 -12
- package/dist/runtime/sandbox-stream-retry.js.map +1 -1
- package/dist/runtime/types.d.ts +16 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/validated-token.d.ts +7 -12
- package/dist/runtime/validated-token.d.ts.map +1 -1
- package/dist/runtime/validated-token.js +10 -66
- package/dist/runtime/validated-token.js.map +1 -1
- package/dist/sandbox.d.ts +16 -38
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +9 -16
- package/dist/sandbox.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +8 -8
- package/dist/connectors/github/adapter-core.d.ts +0 -15
- package/dist/connectors/github/adapter-core.d.ts.map +0 -1
- package/dist/connectors/github/adapter-core.js +0 -52
- package/dist/connectors/github/adapter-core.js.map +0 -1
- package/dist/connectors/github/define.d.ts +0 -168
- package/dist/connectors/github/define.d.ts.map +0 -1
- package/dist/connectors/github/define.js +0 -72
- package/dist/connectors/github/define.js.map +0 -1
- package/dist/connectors/github/http.d.ts +0 -25
- package/dist/connectors/github/http.d.ts.map +0 -1
- package/dist/connectors/github/http.js +0 -146
- package/dist/connectors/github/http.js.map +0 -1
- package/dist/connectors/github/index.d.ts +0 -121
- package/dist/connectors/github/index.d.ts.map +0 -1
- package/dist/connectors/github/index.js +0 -192
- package/dist/connectors/github/index.js.map +0 -1
- package/dist/connectors/github/match.d.ts +0 -20
- package/dist/connectors/github/match.d.ts.map +0 -1
- package/dist/connectors/github/match.js +0 -41
- package/dist/connectors/github/match.js.map +0 -1
- package/dist/connectors/github/normalize.d.ts +0 -32
- package/dist/connectors/github/normalize.d.ts.map +0 -1
- package/dist/connectors/github/normalize.js +0 -152
- package/dist/connectors/github/normalize.js.map +0 -1
- package/dist/connectors/github/sandbox.d.ts +0 -54
- package/dist/connectors/github/sandbox.d.ts.map +0 -1
- package/dist/connectors/github/sandbox.js +0 -532
- package/dist/connectors/github/sandbox.js.map +0 -1
- package/dist/connectors/github/source-thread.d.ts +0 -24
- package/dist/connectors/github/source-thread.d.ts.map +0 -1
- package/dist/connectors/github/source-thread.js +0 -54
- package/dist/connectors/github/source-thread.js.map +0 -1
- package/dist/connectors/github/transport.d.ts +0 -25
- package/dist/connectors/github/transport.d.ts.map +0 -1
- package/dist/connectors/github/transport.js +0 -106
- package/dist/connectors/github/transport.js.map +0 -1
- package/dist/connectors/langsmith/index.d.ts +0 -397
- package/dist/connectors/langsmith/index.d.ts.map +0 -1
- package/dist/connectors/langsmith/index.js +0 -436
- package/dist/connectors/langsmith/index.js.map +0 -1
- package/dist/connectors/langsmith/routes.d.ts +0 -236
- package/dist/connectors/langsmith/routes.d.ts.map +0 -1
- package/dist/connectors/langsmith/routes.js +0 -1154
- package/dist/connectors/langsmith/routes.js.map +0 -1
- package/dist/connectors/slack/adapter-core.d.ts.map +0 -1
- package/dist/connectors/slack/adapter-core.js.map +0 -1
- package/dist/connectors/slack/adapter.d.ts.map +0 -1
- package/dist/connectors/slack/adapter.js.map +0 -1
- package/dist/connectors/slack/http.d.ts.map +0 -1
- package/dist/connectors/slack/http.js.map +0 -1
- package/dist/connectors/slack/normalize.d.ts.map +0 -1
- package/dist/connectors/slack/normalize.js.map +0 -1
- package/dist/connectors/slack/source-thread.d.ts.map +0 -1
- package/dist/connectors/slack/source-thread.js.map +0 -1
- package/dist/connectors/slack/transport.d.ts.map +0 -1
- package/dist/connectors/slack/transport.js.map +0 -1
- package/dist/identity/memory-slices.d.ts +0 -21
- package/dist/identity/memory-slices.d.ts.map +0 -1
- package/dist/identity/memory-slices.js +0 -105
- package/dist/identity/memory-slices.js.map +0 -1
- package/dist/runtime/memory/lazy-context-backend.d.ts +0 -74
- package/dist/runtime/memory/lazy-context-backend.d.ts.map +0 -1
- package/dist/runtime/memory/lazy-context-backend.js +0 -166
- package/dist/runtime/memory/lazy-context-backend.js.map +0 -1
- package/dist/runtime/memory/seed.d.ts +0 -30
- package/dist/runtime/memory/seed.d.ts.map +0 -1
- package/dist/runtime/memory/seed.js +0 -199
- package/dist/runtime/memory/seed.js.map +0 -1
- package/dist/runtime/memory/user-repo.d.ts +0 -18
- package/dist/runtime/memory/user-repo.d.ts.map +0 -1
- package/dist/runtime/memory/user-repo.js +0 -50
- package/dist/runtime/memory/user-repo.js.map +0 -1
- /package/dist/{connectors → channels}/slack/adapter-core.js +0 -0
- /package/dist/{connectors → channels}/slack/source-thread.d.ts +0 -0
- /package/dist/{connectors → channels}/slack/source-thread.js +0 -0
package/dist/runtime/auth.js
CHANGED
|
@@ -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 {
|
|
5
|
-
import { buildRuntimeIdentity
|
|
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
|
|
20
|
-
* validates — never part of the public HTTP identity
|
|
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
|
-
*
|
|
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
|
|
55
|
-
const
|
|
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
|
|
62
|
-
*
|
|
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
|
-
//
|
|
77
|
-
//
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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(
|
|
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
|
|
124
|
-
|
|
125
|
-
|
|
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)
|
|
155
|
-
*
|
|
156
|
-
*
|
|
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(
|
|
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
|
-
...(
|
|
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
|
|
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
|
|
352
|
-
export function
|
|
475
|
+
/** Placeholder identity so LangGraph auth middleware allows public routes. */
|
|
476
|
+
export function publicRouteBypassUser() {
|
|
353
477
|
return {
|
|
354
|
-
identity:
|
|
478
|
+
identity: PUBLIC_ROUTE_USER,
|
|
355
479
|
permissions: [],
|
|
356
|
-
mda_user_id:
|
|
480
|
+
mda_user_id: PUBLIC_ROUTE_USER,
|
|
357
481
|
};
|
|
358
482
|
}
|
|
359
483
|
/** Placeholder identity so middleware allows provider-signed channel Events. */
|
package/dist/runtime/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,EACL,eAAe,EACf,kBAAkB,GAInB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;GAKG;AACH,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;AAC3C,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC;AAC5C,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;AAEvD;;;;GAIG;AACH,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,0EAA0E;AAC1E,MAAM,cAAc,GAAG,eAAe,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,MAAM,+BAA+B,GAAG,kCAAkC,CAAC;AAE3E;;;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,iFAAiF;AACjF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAE7C,+EAA+E;AAC/E,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAsBjD;;;;;;;GAOG;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,6DAA6D;QAC7D,yEAAyE;QACzE,wEAAwE;QACxE,IACE,iCAAiC,CAAC,OAAO,CAAC;YAC1C,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,EACpC,CAAC;YACD,OAAO,uBAAuB,EAAE,CAAC;QACnC,CAAC;QACD,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,IAAI,KAAK,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,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,GAAG,EAAE,IAA8B,EAAE,KAAK,CAAC,CAAC;QAC9D,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,IAAI,GACR,IAAI,KAAK,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC;QAClD,CAAC,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC;QACzC,CAAC,CAAC,MAAM,yBAAyB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,yEAAyE;IACzE,MAAM,cAAc,GAClB,IAAI,CAAC,mBAAmB;QACxB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,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;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAmB,EACnB,IAAiB,EACjB,KAAc;IAEd,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACnD,CAAC,CAAC,sBAAsB,CACpB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CACxD;QACH,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,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;IACD,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QACtD,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,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;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAEnE,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,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,MAAM;QACnB,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,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,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,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC;IAExD,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,mFAAmF;AACnF,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,GAAmB;IAEnB,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,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,6EAA6E;AAC7E,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,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9C,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,mFAAmF;AACnF,MAAM,UAAU,uBAAuB;IACrC,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
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/runtime/backend.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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=${
|
|
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
|
|
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":"AAAA;;;;;;GAMG;AAOH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/runtime/backend.ts"],"names":[],"mappings":"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"}
|