managed-deepagents 0.6.2-dev.6 → 0.6.2-dev.7
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/dist/agent-auth.d.ts +104 -0
- package/dist/agent-auth.d.ts.map +1 -0
- package/dist/agent-auth.js +224 -0
- package/dist/agent-auth.js.map +1 -0
- package/dist/channels/schedule-delivery.d.ts +0 -2
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +4 -40
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/trigger/client.d.ts +0 -1
- package/dist/channels/trigger/client.d.ts.map +1 -1
- package/dist/channels/trigger/client.js +8 -19
- package/dist/channels/trigger/client.js.map +1 -1
- package/dist/channels/trigger/types.d.ts +1 -1
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/connectors/mcp/index.d.ts +29 -89
- package/dist/connectors/mcp/index.d.ts.map +1 -1
- package/dist/connectors/mcp/index.js +227 -50
- package/dist/connectors/mcp/index.js.map +1 -1
- package/dist/connectors/mcp/schema.d.ts +12 -0
- package/dist/connectors/mcp/schema.d.ts.map +1 -0
- package/dist/connectors/mcp/schema.js +55 -0
- package/dist/connectors/mcp/schema.js.map +1 -0
- package/dist/connectors/mcp/types.d.ts +62 -0
- package/dist/connectors/mcp/types.d.ts.map +1 -0
- package/dist/connectors/mcp/types.js +2 -0
- package/dist/connectors/mcp/types.js.map +1 -0
- package/dist/connectors/tool-selection.d.ts +9 -18
- package/dist/connectors/tool-selection.d.ts.map +1 -1
- package/dist/connectors/tool-selection.js +32 -58
- package/dist/connectors/tool-selection.js.map +1 -1
- package/dist/credential-gate.d.ts +39 -0
- package/dist/credential-gate.d.ts.map +1 -0
- package/dist/credential-gate.js +209 -0
- package/dist/credential-gate.js.map +1 -0
- package/dist/credentials.d.ts +88 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +246 -0
- package/dist/credentials.js.map +1 -0
- package/dist/identity/index.d.ts +1 -1
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/types.d.ts +45 -5
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/auth.d.ts +9 -4
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/http.d.ts +1 -1
- package/dist/runtime/http.d.ts.map +1 -1
- package/dist/runtime/http.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +55 -5
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +107 -0
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +12 -7
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/managed-middleware.d.ts +2 -2
- package/dist/runtime/managed-middleware.js +6 -6
- package/dist/runtime/managed-tools.d.ts +19 -15
- package/dist/runtime/managed-tools.d.ts.map +1 -1
- package/dist/runtime/managed-tools.js +14 -13
- package/dist/runtime/managed-tools.js.map +1 -1
- package/dist/runtime/types.d.ts +2 -2
- package/package.json +7 -7
- package/dist/connectors/mcp/load.d.ts +0 -12
- package/dist/connectors/mcp/load.d.ts.map +0 -1
- package/dist/connectors/mcp/load.js +0 -122
- package/dist/connectors/mcp/load.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RuntimeChannel } from "../channels/types.js";
|
|
2
|
-
import type { RuntimeIdentity } from "../identity/index.js";
|
|
2
|
+
import type { Link, Principal, PrincipalEnvelope, RuntimeIdentity, Subject } from "../identity/index.js";
|
|
3
|
+
import type { ManagedUser } from "./auth.js";
|
|
3
4
|
import type { ConfigurableCarrier } from "./types.js";
|
|
4
5
|
/** Override ambient LangGraph configurable resolution. @internal Test-only. */
|
|
5
6
|
export declare function setAmbientConfigurableForTests(loader?: () => Record<string, unknown> | undefined): void;
|
|
@@ -26,25 +27,74 @@ export declare function resolveAmbientConfigurable(): Record<string, unknown> |
|
|
|
26
27
|
* `langgraph_auth_user` the custom-auth handler produced. Returns
|
|
27
28
|
* `undefined` when the deployment has no resolvable user (identity is opt-in).
|
|
28
29
|
*
|
|
30
|
+
* Used by HTTP connector handlers (`resolveRequestIdentity`). Tools and
|
|
31
|
+
* middleware should use {@link buildPrincipalEnvelope} /
|
|
32
|
+
* `runtime.serverInfo.principal` instead.
|
|
33
|
+
*
|
|
29
34
|
* LangGraph Studio injects a `StudioUser` (no `mda_user_id`) when
|
|
30
35
|
* `x-auth-scheme: langsmith` is present; that maps to a service principal with
|
|
31
36
|
* `source.provider: "studio"` so user-scoped memory/credentials still resolve
|
|
32
37
|
* during local Studio runs.
|
|
33
38
|
*/
|
|
34
39
|
export declare function buildRuntimeIdentity(configurable: Record<string, unknown> | undefined): RuntimeIdentity | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* LangGraph {@link ServerInfo}-shaped bag the managed seam layers onto tools and
|
|
42
|
+
* middleware.
|
|
43
|
+
*
|
|
44
|
+
* Agent Auth envelope fields are flattened onto this object so authors write
|
|
45
|
+
* `runtime.serverInfo.principal.id` (not `….principal.principal.id`). Reassemble
|
|
46
|
+
* with {@link principalEnvelopeFromServerInfo} for mint.
|
|
47
|
+
*
|
|
48
|
+
* - `principal` / `subject` / `link` — author-facing identity (preferred).
|
|
49
|
+
* - `user` — LangGraph AuthUser transport (`identity` / `permissions` / `mda_*`).
|
|
50
|
+
* - `assistantId` / `graphId` — preserved from the platform when present.
|
|
51
|
+
*/
|
|
52
|
+
export interface ManagedServerInfo {
|
|
53
|
+
assistantId: string;
|
|
54
|
+
graphId: string;
|
|
55
|
+
/** Agent Auth principal (caller). Prefer this over `user`. */
|
|
56
|
+
principal?: Principal;
|
|
57
|
+
subject?: Subject;
|
|
58
|
+
link?: Link;
|
|
59
|
+
/** LangGraph auth transport. Prefer `principal` for identity decisions. */
|
|
60
|
+
user?: ManagedUser;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Reassemble the Agent Auth wire envelope from flattened `serverInfo` fields.
|
|
64
|
+
*/
|
|
65
|
+
export declare function principalEnvelopeFromServerInfo(info: ManagedServerInfo | undefined): PrincipalEnvelope | undefined;
|
|
35
66
|
/**
|
|
36
67
|
* The runtime the managed seam sees: the shared `configurable` carrier, plus the
|
|
37
|
-
* optional nested `config` (e.g. LangGraph `ToolRuntime.config`) and
|
|
38
|
-
* `
|
|
39
|
-
*
|
|
68
|
+
* optional nested `config` (e.g. LangGraph `ToolRuntime.config`) and
|
|
69
|
+
* `serverInfo` the seam layers on. Single source for the tool and middleware
|
|
70
|
+
* helpers.
|
|
40
71
|
*/
|
|
41
72
|
export interface RuntimeConfigLike extends ConfigurableCarrier {
|
|
42
|
-
|
|
73
|
+
serverInfo?: ManagedServerInfo;
|
|
43
74
|
channel?: RuntimeChannel;
|
|
44
75
|
config?: {
|
|
45
76
|
configurable?: Record<string, unknown>;
|
|
77
|
+
serverInfo?: ManagedServerInfo;
|
|
46
78
|
};
|
|
47
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Resolve the trusted auth user for `runtime.serverInfo.user`. Returns
|
|
82
|
+
* `undefined` when the deployment has no resolvable caller (identity is opt-in).
|
|
83
|
+
*/
|
|
84
|
+
export declare function resolveAuthUser(configurable: Record<string, unknown> | undefined): ManagedUser | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Project trusted auth stamps into an Agent Auth–aligned
|
|
87
|
+
* {@link PrincipalEnvelope}. Returns `undefined` when no caller resolved.
|
|
88
|
+
*
|
|
89
|
+
* Today this is built from `langgraph_auth_user`; later Agent Auth
|
|
90
|
+
* `resolve-principal` can supply the same shape directly.
|
|
91
|
+
*/
|
|
92
|
+
export declare function buildPrincipalEnvelope(configurable: Record<string, unknown> | undefined, agentId?: string): PrincipalEnvelope | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* Build LangGraph `serverInfo` with the trusted auth user and principal
|
|
95
|
+
* envelope. Preserves platform `assistantId` / `graphId` when already present.
|
|
96
|
+
*/
|
|
97
|
+
export declare function buildManagedServerInfo(runtime: RuntimeConfigLike | undefined, configurable: Record<string, unknown> | undefined): ManagedServerInfo | undefined;
|
|
48
98
|
/**
|
|
49
99
|
* Strip client-supplied identity keys from an incoming `configurable` so a
|
|
50
100
|
* request body can never spoof the user the handler resolved. The platform-set
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/identity-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"identity-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/identity-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,IAAI,EACJ,SAAS,EACT,iBAAiB,EAEjB,eAAe,EACf,OAAO,EAER,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAqCtD,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAC5C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,IAAI,CAEN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWrC;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAMrC;AAED,8DAA8D;AAC9D,wBAAgB,0BAA0B,IACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,CAcZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,eAAe,GAAG,SAAS,CA2B7B;AAwBD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,2EAA2E;IAC3E,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,iBAAiB,GAAG,SAAS,GAClC,iBAAiB,GAAG,SAAS,CAS/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAChC,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,WAAW,GAAG,SAAS,CAgBzB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjD,OAAO,SAAK,GACX,iBAAiB,GAAG,SAAS,CAmC/B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,iBAAiB,GAAG,SAAS,CAuB/B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
|
|
@@ -88,6 +88,10 @@ export function resolveAmbientConfigurable() {
|
|
|
88
88
|
* `langgraph_auth_user` the custom-auth handler produced. Returns
|
|
89
89
|
* `undefined` when the deployment has no resolvable user (identity is opt-in).
|
|
90
90
|
*
|
|
91
|
+
* Used by HTTP connector handlers (`resolveRequestIdentity`). Tools and
|
|
92
|
+
* middleware should use {@link buildPrincipalEnvelope} /
|
|
93
|
+
* `runtime.serverInfo.principal` instead.
|
|
94
|
+
*
|
|
91
95
|
* LangGraph Studio injects a `StudioUser` (no `mda_user_id`) when
|
|
92
96
|
* `x-auth-scheme: langsmith` is present; that maps to a service principal with
|
|
93
97
|
* `source.provider: "studio"` so user-scoped memory/credentials still resolve
|
|
@@ -141,6 +145,109 @@ function deepFreeze(value) {
|
|
|
141
145
|
}
|
|
142
146
|
return value;
|
|
143
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Reassemble the Agent Auth wire envelope from flattened `serverInfo` fields.
|
|
150
|
+
*/
|
|
151
|
+
export function principalEnvelopeFromServerInfo(info) {
|
|
152
|
+
if (!info?.principal || !info.subject || !info.link) {
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
return deepFreeze({
|
|
156
|
+
principal: info.principal,
|
|
157
|
+
subject: info.subject,
|
|
158
|
+
link: info.link,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Resolve the trusted auth user for `runtime.serverInfo.user`. Returns
|
|
163
|
+
* `undefined` when the deployment has no resolvable caller (identity is opt-in).
|
|
164
|
+
*/
|
|
165
|
+
export function resolveAuthUser(configurable) {
|
|
166
|
+
const user = configurable?.langgraph_auth_user;
|
|
167
|
+
const studio = isStudioAuthUser(user);
|
|
168
|
+
const userId = user?.mda_user_id ?? (studio ? user?.identity : undefined);
|
|
169
|
+
if (!user || !userId) {
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
172
|
+
return deepFreeze({
|
|
173
|
+
...user,
|
|
174
|
+
identity: typeof user.identity === "string" && user.identity.trim().length > 0
|
|
175
|
+
? user.identity
|
|
176
|
+
: String(userId),
|
|
177
|
+
permissions: Array.isArray(user.permissions) ? user.permissions : [],
|
|
178
|
+
mda_user_id: String(user.mda_user_id ?? userId),
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Project trusted auth stamps into an Agent Auth–aligned
|
|
183
|
+
* {@link PrincipalEnvelope}. Returns `undefined` when no caller resolved.
|
|
184
|
+
*
|
|
185
|
+
* Today this is built from `langgraph_auth_user`; later Agent Auth
|
|
186
|
+
* `resolve-principal` can supply the same shape directly.
|
|
187
|
+
*/
|
|
188
|
+
export function buildPrincipalEnvelope(configurable, agentId = "") {
|
|
189
|
+
const user = configurable?.langgraph_auth_user;
|
|
190
|
+
const studio = isStudioAuthUser(user);
|
|
191
|
+
const userId = user?.mda_user_id ?? (studio ? user?.identity : undefined);
|
|
192
|
+
if (!user || !userId) {
|
|
193
|
+
return undefined;
|
|
194
|
+
}
|
|
195
|
+
const isService = studio || user.mda_user_kind === "service";
|
|
196
|
+
const kind = isService ? "service" : "person";
|
|
197
|
+
const authority = isService ? "agent" : "user";
|
|
198
|
+
const claims = {
|
|
199
|
+
...(user.mda_claims && typeof user.mda_claims === "object"
|
|
200
|
+
? user.mda_claims
|
|
201
|
+
: {}),
|
|
202
|
+
};
|
|
203
|
+
if (user.mda_user_email) {
|
|
204
|
+
claims.email = String(user.mda_user_email);
|
|
205
|
+
}
|
|
206
|
+
if (Array.isArray(user.mda_groups) && user.mda_groups.length > 0) {
|
|
207
|
+
claims.groups = user.mda_groups.map(String);
|
|
208
|
+
}
|
|
209
|
+
const envelope = {
|
|
210
|
+
principal: {
|
|
211
|
+
id: String(userId),
|
|
212
|
+
kind,
|
|
213
|
+
claims,
|
|
214
|
+
},
|
|
215
|
+
subject: {
|
|
216
|
+
authority,
|
|
217
|
+
agent_id: agentId,
|
|
218
|
+
...(authority === "user" ? { user_id: String(userId) } : {}),
|
|
219
|
+
},
|
|
220
|
+
link: { status: "not_required" },
|
|
221
|
+
};
|
|
222
|
+
return deepFreeze(envelope);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Build LangGraph `serverInfo` with the trusted auth user and principal
|
|
226
|
+
* envelope. Preserves platform `assistantId` / `graphId` when already present.
|
|
227
|
+
*/
|
|
228
|
+
export function buildManagedServerInfo(runtime, configurable) {
|
|
229
|
+
const user = resolveAuthUser(configurable);
|
|
230
|
+
if (!user) {
|
|
231
|
+
return undefined;
|
|
232
|
+
}
|
|
233
|
+
const existing = runtime?.serverInfo ?? runtime?.config?.serverInfo;
|
|
234
|
+
const assistantId = typeof existing?.assistantId === "string" ? existing.assistantId : "";
|
|
235
|
+
const graphId = typeof existing?.graphId === "string" ? existing.graphId : "";
|
|
236
|
+
const agentId = assistantId || graphId;
|
|
237
|
+
const envelope = buildPrincipalEnvelope(configurable, agentId);
|
|
238
|
+
return deepFreeze({
|
|
239
|
+
assistantId,
|
|
240
|
+
graphId,
|
|
241
|
+
...(envelope
|
|
242
|
+
? {
|
|
243
|
+
principal: envelope.principal,
|
|
244
|
+
subject: envelope.subject,
|
|
245
|
+
link: envelope.link,
|
|
246
|
+
}
|
|
247
|
+
: {}),
|
|
248
|
+
user,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
144
251
|
/**
|
|
145
252
|
* Strip client-supplied identity keys from an incoming `configurable` so a
|
|
146
253
|
* request body can never spoof the user the handler resolved. The platform-set
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-runtime.js","sourceRoot":"","sources":["../../src/runtime/identity-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"identity-runtime.js","sourceRoot":"","sources":["../../src/runtime/identity-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAgCvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAExE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIzD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,EACT,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,mBAAmB,EAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2YA0J9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,mBAAmB,EACnB,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CACnD;IACC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,mBAAmB,EAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2YAsB7B"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -3,6 +3,8 @@ import { LazyManagedSandboxBackend } from "./backend.js";
|
|
|
3
3
|
import { loadConnectorTools } from "./connector.js";
|
|
4
4
|
import { createScheduleDeliveryMiddleware } from "../channels/schedule-delivery.js";
|
|
5
5
|
import { createChannelResponseFormatMiddleware } from "../channels/response-format.js";
|
|
6
|
+
import { createCredentialGateMiddleware } from "../credential-gate.js";
|
|
7
|
+
import { mcpCredentialConsumers } from "../connectors/mcp/index.js";
|
|
6
8
|
import { wrapMiddlewareWithManagedRuntime, } from "./managed-middleware.js";
|
|
7
9
|
import { wrapToolsWithManagedRuntime, } from "./managed-tools.js";
|
|
8
10
|
import { createMemoryInstructionsMiddleware, hasAgentMemorySlice, hotMemoryPaths, } from "../memory/index.js";
|
|
@@ -32,8 +34,8 @@ export async function compileManagedAgent(definition, config, options) {
|
|
|
32
34
|
// one object, but mounting is owned by the managed HTTP app — leave it on
|
|
33
35
|
// `options` unused here.
|
|
34
36
|
// Resolution + thread/store scoping run in the generated custom-auth handler
|
|
35
|
-
// (`buildManagedAuth`). When identity is declared, the seam also surfaces
|
|
36
|
-
//
|
|
37
|
+
// (`buildManagedAuth`). When identity is declared, the seam also surfaces
|
|
38
|
+
// `runtime.serverInfo.principal` to authored + connector tools (below).
|
|
37
39
|
identity,
|
|
38
40
|
// The root `memory.{ts,py}` declaration. Absent → no durable memory: the
|
|
39
41
|
// slices a run mounts come from here and nowhere else.
|
|
@@ -108,15 +110,14 @@ export async function compileManagedAgent(definition, config, options) {
|
|
|
108
110
|
const authoredTools = Array.isArray(params.tools) ? params.tools : [];
|
|
109
111
|
params.tools = [...authoredTools, ...connectorTools];
|
|
110
112
|
}
|
|
111
|
-
// With identity declared, surface
|
|
112
|
-
//
|
|
113
|
-
// `langgraph_auth_user`.
|
|
113
|
+
// With identity declared, surface `runtime.serverInfo.principal` on the runtime
|
|
114
|
+
// every tool receives, projected from the trusted `langgraph_auth_user`.
|
|
114
115
|
if (identity && Array.isArray(params.tools)) {
|
|
115
116
|
params.tools = wrapToolsWithManagedRuntime(params.tools);
|
|
116
117
|
}
|
|
117
118
|
// Do the same for authored middleware: each hook's `runtime` (and the `wrap*`
|
|
118
|
-
// hooks' `request.runtime`) gains `runtime.
|
|
119
|
-
// trusted `langgraph_auth_user` on `runtime.configurable`.
|
|
119
|
+
// hooks' `request.runtime`) gains `runtime.serverInfo.principal`, built from the
|
|
120
|
+
// same trusted `langgraph_auth_user` on `runtime.configurable`.
|
|
120
121
|
const authoredMiddleware = Array.isArray(params.middleware)
|
|
121
122
|
? params.middleware
|
|
122
123
|
: [];
|
|
@@ -124,14 +125,18 @@ export async function compileManagedAgent(definition, config, options) {
|
|
|
124
125
|
? wrapMiddlewareWithManagedRuntime(authoredMiddleware)
|
|
125
126
|
: authoredMiddleware;
|
|
126
127
|
// Always-on schedule deliverTo auto-post (cron runs); prepend before authored.
|
|
128
|
+
// The credential gate runs early so OAuth interrupts happen before the model
|
|
129
|
+
// turn; it only installs when a declaration names a user-owned credential.
|
|
127
130
|
// The memory policy goes last on purpose. First in this list is outermost, so a
|
|
128
131
|
// middleware placed earlier can have its prompt replaced by an authored one that
|
|
129
132
|
// rewrites `systemPrompt` wholesale — and this policy is a security control, not a
|
|
130
133
|
// hint. Last means nothing authored runs after it. deepagents still appends its own
|
|
131
134
|
// `<agent_memory>` block after the whole custom stack, so the policy's "block below"
|
|
132
135
|
// wording stays accurate.
|
|
136
|
+
const credentialGate = createCredentialGateMiddleware(mcpCredentialConsumers(connectors));
|
|
133
137
|
params.middleware = [
|
|
134
138
|
createScheduleDeliveryMiddleware(),
|
|
139
|
+
...(credentialGate ? [credentialGate] : []),
|
|
135
140
|
...wrappedAuthored,
|
|
136
141
|
createChannelResponseFormatMiddleware(),
|
|
137
142
|
...(mountsMemory ? [createMemoryInstructionsMiddleware()] : []),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,qCAAqC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAEL,gCAAgC,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,0EAA0E;AAC1E,gFAAgF;AAChF,wBAAwB;AACxB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,EACT,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAStB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAA+B,EAC/B,MAAyB,EACzB,OAA6B;IAE7B,MAAM,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,GAAG,KAAK,EACjB,OAAO,EACP,UAAU;IACV,4EAA4E;IAC5E,0EAA0E;IAC1E,yBAAyB;IACzB,6EAA6E;IAC7E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ export interface ManagedMiddleware {
|
|
|
7
7
|
[key: string]: unknown;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Wrap a middleware so every hook sees `runtime.
|
|
11
|
-
* its name, schema, registered tools, or class.
|
|
10
|
+
* Wrap a middleware so every hook sees `runtime.serverInfo.principal` (…) without
|
|
11
|
+
* changing its name, schema, registered tools, or class.
|
|
12
12
|
*
|
|
13
13
|
* A `Proxy` intercepts only the hook properties: lifecycle hooks
|
|
14
14
|
* (`beforeAgent`/`beforeModel`/`afterModel`/`afterAgent`, in either function or
|
|
@@ -10,10 +10,10 @@ const LIFECYCLE_HOOKS = new Set([
|
|
|
10
10
|
const WRAP_HOOKS = new Set(["wrapModelCall", "wrapToolCall"]);
|
|
11
11
|
/**
|
|
12
12
|
* Return a copy of the middleware runtime with the managed primitives
|
|
13
|
-
* (`runtime.
|
|
14
|
-
* `runtime.configurable.langgraph_auth_user` the custom-auth handler
|
|
15
|
-
* the same channel tools use — since the platform, not us, invokes the
|
|
16
|
-
* `runtime.context` is caller-supplied per-run data we do not control.
|
|
13
|
+
* (`runtime.serverInfo.principal`, …) layered on. The envelope is projected from
|
|
14
|
+
* the trusted `runtime.configurable.langgraph_auth_user` the custom-auth handler
|
|
15
|
+
* produced — the same channel tools use — since the platform, not us, invokes the
|
|
16
|
+
* graph and `runtime.context` is caller-supplied per-run data we do not control.
|
|
17
17
|
*/
|
|
18
18
|
function augmentRuntime(runtime) {
|
|
19
19
|
const overrides = managedRuntimeOverrides(runtime);
|
|
@@ -41,8 +41,8 @@ function wrapWrapHook(target, value) {
|
|
|
41
41
|
return (request, handler) => fn.call(target, { ...request, runtime: augmentRuntime(request?.runtime) }, handler);
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
* Wrap a middleware so every hook sees `runtime.
|
|
45
|
-
* its name, schema, registered tools, or class.
|
|
44
|
+
* Wrap a middleware so every hook sees `runtime.serverInfo.principal` (…) without
|
|
45
|
+
* changing its name, schema, registered tools, or class.
|
|
46
46
|
*
|
|
47
47
|
* A `Proxy` intercepts only the hook properties: lifecycle hooks
|
|
48
48
|
* (`beforeAgent`/`beforeModel`/`afterModel`/`afterAgent`, in either function or
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { ToolRuntime } from "@langchain/core/tools";
|
|
2
|
-
import type { RuntimeIdentity } from "../identity/index.js";
|
|
3
2
|
import type { RuntimeChannel } from "../channels/types.js";
|
|
4
|
-
import type { RuntimeConfigLike } from "./identity-runtime.js";
|
|
5
|
-
export type { RuntimeConfigLike } from "./identity-runtime.js";
|
|
3
|
+
import type { ManagedServerInfo, RuntimeConfigLike } from "./identity-runtime.js";
|
|
4
|
+
export type { ManagedServerInfo, RuntimeConfigLike, } from "./identity-runtime.js";
|
|
6
5
|
/**
|
|
7
6
|
* A LangChain/LangGraph tool from MDA's perspective: the only surface the runtime
|
|
8
7
|
* seam touches is `invoke(input, runtime)`. Kept structural so the wrapper works
|
|
@@ -13,7 +12,11 @@ export interface InvokableTool {
|
|
|
13
12
|
}
|
|
14
13
|
/** The managed primitives MDA layers onto the tool runtime. */
|
|
15
14
|
export interface ManagedRuntimeExtras {
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* LangGraph server metadata with the author-facing principal on `principal`
|
|
17
|
+
* (plus `subject` / `link`) and LangGraph AuthUser on `user`.
|
|
18
|
+
*/
|
|
19
|
+
serverInfo?: ManagedServerInfo;
|
|
17
20
|
/**
|
|
18
21
|
* Present only for channel-originated runs. Ordinary HTTP and schedule runs
|
|
19
22
|
* leave this undefined.
|
|
@@ -22,31 +25,32 @@ export interface ManagedRuntimeExtras {
|
|
|
22
25
|
}
|
|
23
26
|
/**
|
|
24
27
|
* The runtime surface managed Deep Agent tools receive: LangGraph's
|
|
25
|
-
* {@link ToolRuntime} plus MDA-managed primitives such as `
|
|
28
|
+
* {@link ToolRuntime} plus MDA-managed primitives such as `serverInfo`.
|
|
26
29
|
*
|
|
27
30
|
* Annotate the second parameter of a `tool(...)` handler when you need the
|
|
28
|
-
*
|
|
31
|
+
* trusted caller for the current run (`runtime.serverInfo?.principal`).
|
|
29
32
|
*/
|
|
30
33
|
export interface ManagedDeepAgentRuntime<TState = unknown, TContext = unknown> extends ToolRuntime<TState, TContext>, ManagedRuntimeExtras {
|
|
31
34
|
}
|
|
32
35
|
/**
|
|
33
36
|
* The fields MDA overlays onto the runtime a tool/middleware hook receives:
|
|
34
|
-
*
|
|
35
|
-
* reserved identity keys stripped so downstream code
|
|
36
|
-
* client-spoofed `actor_id`/`tenant_id`. Returns an empty object
|
|
37
|
-
* nothing to change, so the original runtime passes through
|
|
37
|
+
* `serverInfo.principal` / `subject` / `link` (when an actor resolved) and a
|
|
38
|
+
* `configurable` with the reserved identity keys stripped so downstream code
|
|
39
|
+
* can't read a client-spoofed `actor_id`/`tenant_id`. Returns an empty object
|
|
40
|
+
* when there is nothing to change, so the original runtime passes through
|
|
41
|
+
* untouched.
|
|
38
42
|
*/
|
|
39
43
|
export declare function managedRuntimeOverrides(runtime: RuntimeConfigLike | undefined): ManagedRuntimeExtras & {
|
|
40
44
|
configurable?: Record<string, unknown>;
|
|
41
45
|
};
|
|
42
46
|
/**
|
|
43
|
-
* Wrap a tool so its runtime carries the managed primitives
|
|
44
|
-
* …) without changing its name, schema, or class.
|
|
47
|
+
* Wrap a tool so its runtime carries the managed primitives
|
|
48
|
+
* (`runtime.serverInfo.principal`, …) without changing its name, schema, or class.
|
|
45
49
|
*
|
|
46
50
|
* Augments `invoke` (for LangGraph's `ToolNode`) and patches a shallow copy's
|
|
47
|
-
* internal `func`/`coroutine` so
|
|
48
|
-
* LangChain rewrites the runtime into a RunnableConfig before calling the
|
|
49
|
-
* function. The original tool instance is left untouched.
|
|
51
|
+
* internal `func`/`coroutine` so the auth user reaches the authored handler even
|
|
52
|
+
* when LangChain rewrites the runtime into a RunnableConfig before calling the
|
|
53
|
+
* tool function. The original tool instance is left untouched.
|
|
50
54
|
*/
|
|
51
55
|
export declare function withManagedRuntime<T extends InvokableTool>(managedTool: T): T;
|
|
52
56
|
/** Wrap every tool in a list with {@link withManagedRuntime}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-tools.d.ts","sourceRoot":"","sources":["../../src/runtime/managed-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"managed-tools.d.ts","sourceRoot":"","sources":["../../src/runtime/managed-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;CAC9D;AAED,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB,CAAC,MAAM,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO,CAC3E,SAAQ,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,oBAAoB;CAAG;AAEhE;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,oBAAoB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAmCnE;AAwBD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,aAAa,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAqC7E;AAED,iEAAiE;AACjE,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,aAAa,EACjE,KAAK,EAAE,SAAS,CAAC,EAAE,GAClB,CAAC,EAAE,CAEL"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { resolveRuntimeChannel } from "../channels/binding.js";
|
|
2
|
-
import {
|
|
2
|
+
import { buildManagedServerInfo, resolveRuntimeConfigurable, sanitizeConfigurable, } from "./identity-runtime.js";
|
|
3
3
|
/**
|
|
4
4
|
* The fields MDA overlays onto the runtime a tool/middleware hook receives:
|
|
5
|
-
*
|
|
6
|
-
* reserved identity keys stripped so downstream code
|
|
7
|
-
* client-spoofed `actor_id`/`tenant_id`. Returns an empty object
|
|
8
|
-
* nothing to change, so the original runtime passes through
|
|
5
|
+
* `serverInfo.principal` / `subject` / `link` (when an actor resolved) and a
|
|
6
|
+
* `configurable` with the reserved identity keys stripped so downstream code
|
|
7
|
+
* can't read a client-spoofed `actor_id`/`tenant_id`. Returns an empty object
|
|
8
|
+
* when there is nothing to change, so the original runtime passes through
|
|
9
|
+
* untouched.
|
|
9
10
|
*/
|
|
10
11
|
export function managedRuntimeOverrides(runtime) {
|
|
11
12
|
const overrides = {};
|
|
12
13
|
const configurable = resolveRuntimeConfigurable(runtime);
|
|
13
|
-
const
|
|
14
|
-
if (
|
|
15
|
-
overrides.
|
|
14
|
+
const serverInfo = buildManagedServerInfo(runtime, configurable);
|
|
15
|
+
if (serverInfo) {
|
|
16
|
+
overrides.serverInfo = serverInfo;
|
|
16
17
|
}
|
|
17
18
|
if (runtime?.channel) {
|
|
18
19
|
overrides.channel = runtime.channel;
|
|
@@ -49,13 +50,13 @@ function wrapToolCallable(original, receiver) {
|
|
|
49
50
|
return (input, runManager, config) => original.call(receiver, input, runManager, augmentToolConfig(config));
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
52
|
-
* Wrap a tool so its runtime carries the managed primitives
|
|
53
|
-
* …) without changing its name, schema, or class.
|
|
53
|
+
* Wrap a tool so its runtime carries the managed primitives
|
|
54
|
+
* (`runtime.serverInfo.principal`, …) without changing its name, schema, or class.
|
|
54
55
|
*
|
|
55
56
|
* Augments `invoke` (for LangGraph's `ToolNode`) and patches a shallow copy's
|
|
56
|
-
* internal `func`/`coroutine` so
|
|
57
|
-
* LangChain rewrites the runtime into a RunnableConfig before calling the
|
|
58
|
-
* function. The original tool instance is left untouched.
|
|
57
|
+
* internal `func`/`coroutine` so the auth user reaches the authored handler even
|
|
58
|
+
* when LangChain rewrites the runtime into a RunnableConfig before calling the
|
|
59
|
+
* tool function. The original tool instance is left untouched.
|
|
59
60
|
*/
|
|
60
61
|
export function withManagedRuntime(managedTool) {
|
|
61
62
|
const patchable = Object.assign(Object.create(Object.getPrototypeOf(managedTool)), managedTool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-tools.js","sourceRoot":"","sources":["../../src/runtime/managed-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"managed-tools.js","sourceRoot":"","sources":["../../src/runtime/managed-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -61,8 +61,8 @@ export interface ManagedAgentOptions {
|
|
|
61
61
|
/**
|
|
62
62
|
* The root `identity.ts` declaration, if the project opts into managed
|
|
63
63
|
* identity. Resolution + thread scoping run in the generated custom-auth
|
|
64
|
-
* handler (`buildManagedAuth`); this seam reserves the declaration for
|
|
65
|
-
*
|
|
64
|
+
* handler (`buildManagedAuth`); this seam reserves the declaration for
|
|
65
|
+
* `runtime.serverInfo.principal` and memory namespacing.
|
|
66
66
|
*/
|
|
67
67
|
identity?: IdentityDefinition;
|
|
68
68
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "managed-deepagents",
|
|
3
|
-
"version": "0.6.2-dev.
|
|
3
|
+
"version": "0.6.2-dev.7",
|
|
4
4
|
"description": "Managed Deep Agents — the `defineDeepAgent` authoring interface plus the CLI that compiles and deploys a code-first Deep Agent repository to a managed LangGraph runtime.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"langchain",
|
|
@@ -66,12 +66,12 @@
|
|
|
66
66
|
"zod": "^4.4.3"
|
|
67
67
|
},
|
|
68
68
|
"optionalDependencies": {
|
|
69
|
-
"@langchain/managed-deepagents-darwin-arm64": "0.6.2-dev.
|
|
70
|
-
"@langchain/managed-deepagents-darwin-x64": "0.6.2-dev.
|
|
71
|
-
"@langchain/managed-deepagents-linux-arm64": "0.6.2-dev.
|
|
72
|
-
"@langchain/managed-deepagents-linux-x64": "0.6.2-dev.
|
|
73
|
-
"@langchain/managed-deepagents-win32-arm64": "0.6.2-dev.
|
|
74
|
-
"@langchain/managed-deepagents-win32-x64": "0.6.2-dev.
|
|
69
|
+
"@langchain/managed-deepagents-darwin-arm64": "0.6.2-dev.7",
|
|
70
|
+
"@langchain/managed-deepagents-darwin-x64": "0.6.2-dev.7",
|
|
71
|
+
"@langchain/managed-deepagents-linux-arm64": "0.6.2-dev.7",
|
|
72
|
+
"@langchain/managed-deepagents-linux-x64": "0.6.2-dev.7",
|
|
73
|
+
"@langchain/managed-deepagents-win32-arm64": "0.6.2-dev.7",
|
|
74
|
+
"@langchain/managed-deepagents-win32-x64": "0.6.2-dev.7"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@types/node": "^26.1.1",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { McpServersDefinition } from "./index.js";
|
|
2
|
-
/**
|
|
3
|
-
* Load (and cache) the MCP tools for one connector declaration.
|
|
4
|
-
*
|
|
5
|
-
* A failed load is never cached, so a transient connection error on the first
|
|
6
|
-
* run can be retried on the next, but a misconfigured deployment surfaces the
|
|
7
|
-
* error rather than silently starting with no tools.
|
|
8
|
-
*/
|
|
9
|
-
export declare function loadManagedMcpTools(connectors: McpServersDefinition): Promise<unknown[]>;
|
|
10
|
-
/** Clear the process-level MCP tool cache. @internal Test-only. */
|
|
11
|
-
export declare function clearManagedMcpToolsCacheForTests(connectors?: McpServersDefinition): void;
|
|
12
|
-
//# sourceMappingURL=load.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/load.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAA0B,MAAM,YAAY,CAAC;AAc/E;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,OAAO,EAAE,CAAC,CAWpB;AAED,mEAAmE;AACnE,wBAAgB,iCAAiC,CAC/C,UAAU,CAAC,EAAE,oBAAoB,GAChC,IAAI,CAMN"}
|