managed-deepagents 0.6.2-dev.9 → 0.7.1-dev.1
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 +34 -16
- package/dist/agent-auth.d.ts +167 -0
- package/dist/agent-auth.d.ts.map +1 -0
- package/dist/agent-auth.js +520 -0
- package/dist/agent-auth.js.map +1 -0
- package/dist/channels/manifest.d.ts +4 -0
- package/dist/channels/manifest.d.ts.map +1 -1
- package/dist/channels/response-format.d.ts +1 -1
- package/dist/channels/response-format.d.ts.map +1 -1
- package/dist/channels/response-format.js +1 -1
- package/dist/channels/response-format.js.map +1 -1
- package/dist/channels/trigger/http.d.ts +8 -0
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +56 -6
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/identity-context.d.ts +47 -0
- package/dist/channels/trigger/identity-context.d.ts.map +1 -0
- package/dist/channels/trigger/identity-context.js +171 -0
- package/dist/channels/trigger/identity-context.js.map +1 -0
- package/dist/channels/trigger/types.d.ts +10 -0
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/channels/trigger/types.js +5 -0
- package/dist/channels/trigger/types.js.map +1 -1
- package/dist/connection-authorization.d.ts +17 -0
- package/dist/connection-authorization.d.ts.map +1 -0
- package/dist/connection-authorization.js +46 -0
- package/dist/connection-authorization.js.map +1 -0
- package/dist/connections.d.ts +98 -0
- package/dist/connections.d.ts.map +1 -0
- package/dist/connections.js +339 -0
- package/dist/connections.js.map +1 -0
- package/dist/connectors/mcp/index.d.ts +36 -95
- package/dist/connectors/mcp/index.d.ts.map +1 -1
- package/dist/connectors/mcp/index.js +266 -57
- package/dist/connectors/mcp/index.js.map +1 -1
- package/dist/connectors/mcp/schema.d.ts +17 -0
- package/dist/connectors/mcp/schema.d.ts.map +1 -0
- package/dist/connectors/mcp/schema.js +122 -0
- package/dist/connectors/mcp/schema.js.map +1 -0
- package/dist/connectors/mcp/types.d.ts +81 -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 +10 -19
- package/dist/connectors/tool-selection.d.ts.map +1 -1
- package/dist/connectors/tool-selection.js +33 -59
- package/dist/connectors/tool-selection.js.map +1 -1
- package/dist/credential-gate.d.ts +28 -0
- package/dist/credential-gate.d.ts.map +1 -0
- package/dist/credential-gate.js +179 -0
- package/dist/credential-gate.js.map +1 -0
- package/dist/extension.d.ts +3 -3
- package/dist/extension.js +2 -2
- 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 +102 -5
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/index.d.ts +9 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -6
- package/dist/index.js.map +1 -1
- package/dist/ingress/index.d.ts +10 -2
- package/dist/ingress/index.d.ts.map +1 -1
- package/dist/ingress/index.js +18 -9
- package/dist/ingress/index.js.map +1 -1
- package/dist/namespaces.d.ts +12 -29
- package/dist/namespaces.d.ts.map +1 -1
- package/dist/namespaces.js +26 -9
- package/dist/namespaces.js.map +1 -1
- package/dist/runtime/auth.d.ts +76 -5
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +114 -6
- 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 +65 -5
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +164 -0
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +13 -8
- 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/dist/runtime/validated-token.d.ts.map +1 -1
- package/dist/runtime/validated-token.js +23 -0
- package/dist/runtime/validated-token.js.map +1 -1
- package/package.json +8 -8
- 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
package/dist/index.d.ts
CHANGED
|
@@ -2,45 +2,20 @@ export { defineDeepAgent } from "./define-deep-agent.js";
|
|
|
2
2
|
export { defineSchedule } from "./schedules.js";
|
|
3
3
|
export { defineIdentity } from "./identity/index.js";
|
|
4
4
|
export { defineMemory } from "./memory/index.js";
|
|
5
|
-
export { auth, channels } from "./namespaces.js";
|
|
5
|
+
export { auth, channels, connectors } from "./namespaces.js";
|
|
6
|
+
export { connections, CredentialAuthorizationRequiredError, ConnectionNotFoundError, CredentialStoreError, InvalidAgentAuthEndpointError, } from "./connections.js";
|
|
6
7
|
export { defineSandbox } from "./sandbox.js";
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* Public connectors surface for this release: remote MCP only.
|
|
11
|
-
*/
|
|
12
|
-
export interface Connectors {
|
|
13
|
-
/**
|
|
14
|
-
* Declare remote MCP servers (HTTP/SSE) whose tools load at agent-graph
|
|
15
|
-
* construction. Stdio servers are not supported. Use static `headers` (or
|
|
16
|
-
* similar) when the server needs credentials — roll your own auth.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```ts
|
|
20
|
-
* export const connector = connectors.mcp({
|
|
21
|
-
* mcpServers: {
|
|
22
|
-
* docs: {
|
|
23
|
-
* transport: "http",
|
|
24
|
-
* url: "https://docs.example.com/mcp",
|
|
25
|
-
* headers: { Authorization: `Bearer ${process.env.DOCS_TOKEN}` },
|
|
26
|
-
* },
|
|
27
|
-
* },
|
|
28
|
-
* });
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
* @see {@link mcpConnector}
|
|
32
|
-
*/
|
|
33
|
-
mcp: typeof mcpConnector;
|
|
34
|
-
}
|
|
35
|
-
/** Public connectors namespace — MCP only for this release. */
|
|
36
|
-
export declare const connectors: Connectors;
|
|
8
|
+
export { defineMcp } from "./connectors/mcp/index.js";
|
|
9
|
+
export type { Channels, Connectors } from "./namespaces.js";
|
|
10
|
+
export type { AgentConnectionOwner, ConnectionOwner, ConnectionRequest, UserConnectionOwner, } from "./connections.js";
|
|
37
11
|
export type { DeepAgentDefinition, DefineDeepAgentConfig, ManagedDeepAgentKey, } from "./types.js";
|
|
38
12
|
export type { ScheduleConfig, ScheduleDefinition, ScheduleDeliveryTarget, ScheduleThreadConfig, } from "./schedules.js";
|
|
39
|
-
export type { ClaimMapping, CredentialScope, HttpIngress, IdentityAuth, IdentityConfig, IdentityDefinition, IdentityOptions, LangSmithApiKeyIngress, RuntimeIdentity, ValidatedTokenIngress, ValidatedTokenProvider, } from "./identity/index.js";
|
|
13
|
+
export type { ClaimMapping, CredentialScope, HttpIngress, IdentityAuth, IdentityConfig, IdentityDefinition, IdentityOptions, IdentitySource, LangSmithApiKeyIngress, Link, LinkStatus, Principal, PrincipalClaims, PrincipalEnvelope, PrincipalKind, RuntimeIdentity, Subject, SubjectAuthority, ValidatedTokenIngress, ValidatedTokenProvider, } from "./identity/index.js";
|
|
40
14
|
export type { MemoryConfig, MemoryDefinition, MemoryOptions, MemoryScope, MemoryScopeInput, MemorySliceInput, MemorySliceKind, ResolvedMemorySlice, } from "./memory/index.js";
|
|
41
|
-
export type { HttpMcpServerConfig, McpServersConfig, McpServersDefinition, McpToolSelectionConfig, RemoteMcpServerBaseConfig, RemoteMcpServerConfig, SseMcpServerConfig, } from "./connectors/mcp/index.js";
|
|
15
|
+
export type { HttpMcpServerConfig, McpServerConnection, McpServersConfig, McpServersDefinition, McpToolSelectionConfig, RemoteMcpServerBaseConfig, RemoteMcpServerConfig, SseMcpServerConfig, } from "./connectors/mcp/index.js";
|
|
16
|
+
export type { CredentialAuthorizationRequiredInterrupt, PendingCredential, } from "./connection-authorization.js";
|
|
42
17
|
export type { ChannelManifest } from "./channels/manifest.js";
|
|
43
18
|
export type { RequiredTriggerSlackChannelConfig, SlackChannel, SlackChannelConfig, } from "./channels/slack/index.js";
|
|
44
19
|
export type { SandboxDefinition, SandboxOptions } from "./sandbox.js";
|
|
45
|
-
export type { ManagedDeepAgentRuntime } from "./runtime/managed-tools.js";
|
|
20
|
+
export type { ManagedDeepAgentRuntime, ManagedServerInfo, } from "./runtime/managed-tools.js";
|
|
46
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,oCAAoC,EACpC,uBAAuB,EACvB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE5D,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,wCAAwC,EACxC,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,iCAAiC,EACjC,YAAY,EACZ,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtE,YAAY,EACV,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,11 +2,8 @@ export { defineDeepAgent } from "./define-deep-agent.js";
|
|
|
2
2
|
export { defineSchedule } from "./schedules.js";
|
|
3
3
|
export { defineIdentity } from "./identity/index.js";
|
|
4
4
|
export { defineMemory } from "./memory/index.js";
|
|
5
|
-
export { auth, channels } from "./namespaces.js";
|
|
5
|
+
export { auth, channels, connectors } from "./namespaces.js";
|
|
6
|
+
export { connections, CredentialAuthorizationRequiredError, ConnectionNotFoundError, CredentialStoreError, InvalidAgentAuthEndpointError, } from "./connections.js";
|
|
6
7
|
export { defineSandbox } from "./sandbox.js";
|
|
7
|
-
|
|
8
|
-
/** Public connectors namespace — MCP only for this release. */
|
|
9
|
-
export const connectors = {
|
|
10
|
-
mcp: mcpConnector,
|
|
11
|
-
};
|
|
8
|
+
export { defineMcp } from "./connectors/mcp/index.js";
|
|
12
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,oCAAoC,EACpC,uBAAuB,EACvB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/ingress/index.d.ts
CHANGED
|
@@ -47,8 +47,8 @@ export declare function scheduleIngressWork(work: () => Promise<void>, options:
|
|
|
47
47
|
/**
|
|
48
48
|
* True when an MDA thread already exists for this source-thread key.
|
|
49
49
|
*
|
|
50
|
-
*
|
|
51
|
-
* the
|
|
50
|
+
* The thread is owned by the source conversation rather than by the caller, so
|
|
51
|
+
* this answers "is the agent already in this thread" for any participant.
|
|
52
52
|
*/
|
|
53
53
|
export declare function ingressSourceThreadExists(input: SourceThreadExistsInput): Promise<boolean>;
|
|
54
54
|
/**
|
|
@@ -64,6 +64,8 @@ export declare function startIngressAgent(input: {
|
|
|
64
64
|
messages: Record<string, unknown>[];
|
|
65
65
|
sourceProvider: string;
|
|
66
66
|
sourceThreadKey: string;
|
|
67
|
+
/** Agent Auth principal UUID from Trigger `identity_context`. */
|
|
68
|
+
userId: string;
|
|
67
69
|
}): Promise<StartedIngressRun>;
|
|
68
70
|
/** Resume a Trigger-addressed thread with a keyed interrupt response. */
|
|
69
71
|
export declare function resumeIngressAgent(input: {
|
|
@@ -72,11 +74,17 @@ export declare function resumeIngressAgent(input: {
|
|
|
72
74
|
resume: TriggerChannelResume;
|
|
73
75
|
sourceProvider: string;
|
|
74
76
|
sourceThreadKey: string;
|
|
77
|
+
/** Agent Auth principal UUID from Trigger `identity_context`. */
|
|
78
|
+
userId: string;
|
|
75
79
|
}): Promise<StartedIngressRun>;
|
|
76
80
|
/** Join an accepted Trigger run and read its terminal status. */
|
|
77
81
|
export declare function observeIngressAgent(input: {
|
|
78
82
|
threadId: string;
|
|
79
83
|
runId: string;
|
|
84
|
+
sourceProvider: string;
|
|
85
|
+
sourceThreadKey: string;
|
|
86
|
+
/** Agent Auth principal UUID used to create the run's thread. */
|
|
87
|
+
userId: string;
|
|
80
88
|
}): Promise<ObservedIngressRun>;
|
|
81
89
|
/** Deterministic LangGraph thread id from a provider source-thread key. */
|
|
82
90
|
export declare function stableThreadId(sourceThreadKey: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ingress/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAoBhC,6EAA6E;AAC7E,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACzB,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAChD,GACA,IAAI,CASN;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAelB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CA6CnC;AAED,6DAA6D;AAC7D,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ingress/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAoBhC,6EAA6E;AAC7E,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACzB,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAChD,GACA,IAAI,CASN;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAelB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CA6CnC;AAED,6DAA6D;AAC7D,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqB7B;AAED,yEAAyE;AACzE,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiB7B;AAED,iEAAiE;AACjE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAe9B;AAqFD,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAS9D"}
|
package/dist/ingress/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import { extractAssistantText } from "../channels/assistant-text.js";
|
|
|
12
12
|
import { CHANNEL_BINDING_KEY, } from "../channels/binding.js";
|
|
13
13
|
import { ChannelError } from "../channels/errors.js";
|
|
14
14
|
import { isLoopbackUrl, resolveLoopbackApiKey, resolveLoopbackApiUrl, } from "../identity/loopback.js";
|
|
15
|
-
import {
|
|
15
|
+
import { HANDOFF_SECRET_ENV, HANDOFF_SECRET_HEADER, USER_HEADER, INGRESS_SECRET_ENV, INGRESS_SECRET_HEADER, LANGCHAIN_API_KEY_ENV, LANGSMITH_API_KEY_ENV, AGENT_AUTH_PRINCIPAL_HEADER, SOURCE_PROVIDER_HEADER, SOURCE_THREAD_HEADER, } from "../runtime/auth.js";
|
|
16
16
|
/**
|
|
17
17
|
* Schedule background work after the provider ACK. Defaults to fire-and-forget
|
|
18
18
|
* with error logging; tests pass an inline runner.
|
|
@@ -29,8 +29,8 @@ export function scheduleIngressWork(work, options) {
|
|
|
29
29
|
/**
|
|
30
30
|
* True when an MDA thread already exists for this source-thread key.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
33
|
-
* the
|
|
32
|
+
* The thread is owned by the source conversation rather than by the caller, so
|
|
33
|
+
* this answers "is the agent already in this thread" for any participant.
|
|
34
34
|
*/
|
|
35
35
|
export async function ingressSourceThreadExists(input) {
|
|
36
36
|
if (!hasLoopbackCredential()) {
|
|
@@ -95,6 +95,7 @@ export async function startIngressAgent(input) {
|
|
|
95
95
|
const client = createTriggerIngressLoopbackClient({
|
|
96
96
|
provider: input.sourceProvider,
|
|
97
97
|
threadKey: input.sourceThreadKey,
|
|
98
|
+
userId: input.userId,
|
|
98
99
|
});
|
|
99
100
|
await client.threads.create({
|
|
100
101
|
threadId: input.threadId,
|
|
@@ -114,6 +115,7 @@ export async function resumeIngressAgent(input) {
|
|
|
114
115
|
const client = createTriggerIngressLoopbackClient({
|
|
115
116
|
provider: input.sourceProvider,
|
|
116
117
|
threadKey: input.sourceThreadKey,
|
|
118
|
+
userId: input.userId,
|
|
117
119
|
});
|
|
118
120
|
const run = await client.runs.create(input.threadId, input.assistantId, {
|
|
119
121
|
command: { resume: input.resume },
|
|
@@ -126,7 +128,11 @@ export async function resumeIngressAgent(input) {
|
|
|
126
128
|
}
|
|
127
129
|
/** Join an accepted Trigger run and read its terminal status. */
|
|
128
130
|
export async function observeIngressAgent(input) {
|
|
129
|
-
const client = createTriggerIngressLoopbackClient(
|
|
131
|
+
const client = createTriggerIngressLoopbackClient({
|
|
132
|
+
provider: input.sourceProvider,
|
|
133
|
+
threadKey: input.sourceThreadKey,
|
|
134
|
+
userId: input.userId,
|
|
135
|
+
});
|
|
130
136
|
const values = await client.runs.join(input.threadId, input.runId);
|
|
131
137
|
const run = await client.runs.get(input.threadId, input.runId);
|
|
132
138
|
if (!isIngressRunStatus(run.status)) {
|
|
@@ -139,13 +145,16 @@ function createTriggerIngressLoopbackClient(source) {
|
|
|
139
145
|
if (!apiKey) {
|
|
140
146
|
throw new ChannelError("channel_run_failed", "managed loopback authentication is not configured");
|
|
141
147
|
}
|
|
148
|
+
const userId = source.userId.trim();
|
|
149
|
+
if (!userId) {
|
|
150
|
+
throw new ChannelError("channel_run_failed", "channel run requires an identity_context principal");
|
|
151
|
+
}
|
|
142
152
|
const headers = {
|
|
143
|
-
[USER_HEADER]:
|
|
153
|
+
[USER_HEADER]: userId,
|
|
154
|
+
[AGENT_AUTH_PRINCIPAL_HEADER]: userId,
|
|
155
|
+
[SOURCE_PROVIDER_HEADER]: source.provider,
|
|
156
|
+
[SOURCE_THREAD_HEADER]: source.threadKey,
|
|
144
157
|
};
|
|
145
|
-
if (source) {
|
|
146
|
-
headers[SOURCE_PROVIDER_HEADER] = source.provider;
|
|
147
|
-
headers[SOURCE_THREAD_HEADER] = source.threadKey;
|
|
148
|
-
}
|
|
149
158
|
return new Client({
|
|
150
159
|
apiUrl: resolveLoopbackApiUrl(),
|
|
151
160
|
apiKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ingress/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EACL,mBAAmB,GAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ingress/index.ts"],"names":[],"mappings":"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"}
|
package/dist/namespaces.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* ```ts
|
|
9
9
|
* channels.slack({ name: "Support Bot" });
|
|
10
|
-
*
|
|
10
|
+
* defineMcp({ servers: { docs: { transport: "http", url: "https://docs.example.com/mcp" } } });
|
|
11
11
|
* defineSandbox({ defaultTimeout: 600 });
|
|
12
12
|
* auth.supabase({ projectRef: "abc" });
|
|
13
13
|
* ```
|
|
@@ -15,44 +15,27 @@
|
|
|
15
15
|
* These are the only primitives the managed runtime will mount. A project
|
|
16
16
|
* cannot contribute its own — `defineExtension` stays internal.
|
|
17
17
|
*/
|
|
18
|
-
import { mcpConnector } from "./connectors/mcp/index.js";
|
|
19
18
|
import { slackChannel } from "./channels/slack/index.js";
|
|
19
|
+
import { defineMcp } from "./connectors/mcp/index.js";
|
|
20
20
|
export { auth } from "./identity/index.js";
|
|
21
|
+
/** @internal */
|
|
22
|
+
export declare const CONNECTORS_MCP_DEPRECATION = "connectors.mcp(...) is deprecated; use defineMcp(...) instead. It will be removed in 0.8.0.";
|
|
21
23
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
+
* @deprecated Use {@link defineMcp} instead. The `connectors` namespace will
|
|
25
|
+
* be removed in 0.8.0.
|
|
24
26
|
*
|
|
25
|
-
*
|
|
26
|
-
* {@link channels}.
|
|
27
|
-
*
|
|
28
|
-
* Docs live on this interface (not the value) so IDE hover on `connectors.<name>`
|
|
29
|
-
* stays useful — TypeScript surfaces property docs from the annotation.
|
|
27
|
+
* Docs live on this interface so IDE hover on `connectors.mcp` stays useful.
|
|
30
28
|
*/
|
|
31
29
|
export interface Connectors {
|
|
32
30
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```ts
|
|
38
|
-
* export const connector = connectors.mcp({
|
|
39
|
-
* mcpServers: {
|
|
40
|
-
* docs: { transport: "http", url: "https://docs.example.com/mcp" },
|
|
41
|
-
* },
|
|
42
|
-
* });
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
45
|
-
* @see {@link mcpConnector}
|
|
31
|
+
* @deprecated Use {@link defineMcp} instead. `connectors.mcp` will be removed
|
|
32
|
+
* in 0.8.0.
|
|
46
33
|
*/
|
|
47
|
-
mcp: typeof
|
|
34
|
+
mcp: typeof defineMcp;
|
|
48
35
|
}
|
|
49
36
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* Factories are assigned by reference (same pattern as the Python namespace) so
|
|
54
|
-
* signatures stay in step with the connector modules. Hover docs come from
|
|
55
|
-
* {@link Connectors}.
|
|
37
|
+
* @deprecated Use {@link defineMcp} instead. The `connectors` namespace will
|
|
38
|
+
* be removed in 0.8.0.
|
|
56
39
|
*/
|
|
57
40
|
export declare const connectors: Connectors;
|
|
58
41
|
/**
|
package/dist/namespaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,gGACwD,CAAC;AAyBhG;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,GAAG,EAAE,OAAO,SAAS,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,UAExB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;;;;;;OAcG;IACH,KAAK,EAAE,OAAO,YAAY,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,QAEtB,CAAC"}
|
package/dist/namespaces.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* ```ts
|
|
9
9
|
* channels.slack({ name: "Support Bot" });
|
|
10
|
-
*
|
|
10
|
+
* defineMcp({ servers: { docs: { transport: "http", url: "https://docs.example.com/mcp" } } });
|
|
11
11
|
* defineSandbox({ defaultTimeout: 600 });
|
|
12
12
|
* auth.supabase({ projectRef: "abc" });
|
|
13
13
|
* ```
|
|
@@ -15,19 +15,36 @@
|
|
|
15
15
|
* These are the only primitives the managed runtime will mount. A project
|
|
16
16
|
* cannot contribute its own — `defineExtension` stays internal.
|
|
17
17
|
*/
|
|
18
|
-
import { mcpConnector } from "./connectors/mcp/index.js";
|
|
19
18
|
import { slackChannel } from "./channels/slack/index.js";
|
|
19
|
+
import { defineMcp } from "./connectors/mcp/index.js";
|
|
20
20
|
export { auth } from "./identity/index.js";
|
|
21
|
+
/** @internal */
|
|
22
|
+
export const CONNECTORS_MCP_DEPRECATION = "connectors.mcp(...) is deprecated; use defineMcp(...) instead. It will be removed in 0.8.0.";
|
|
23
|
+
function emitConnectorsMcpDeprecation() {
|
|
24
|
+
if (typeof process !== "undefined" &&
|
|
25
|
+
typeof process.emitWarning === "function") {
|
|
26
|
+
process.emitWarning(CONNECTORS_MCP_DEPRECATION, {
|
|
27
|
+
type: "DeprecationWarning",
|
|
28
|
+
code: "MDA_CONNECTORS_MCP",
|
|
29
|
+
});
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
console.warn(CONNECTORS_MCP_DEPRECATION);
|
|
33
|
+
}
|
|
21
34
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
35
|
+
* @deprecated Use {@link defineMcp} instead. `connectors.mcp` will be removed
|
|
36
|
+
* in 0.8.0.
|
|
37
|
+
*/
|
|
38
|
+
function deprecatedMcp(config) {
|
|
39
|
+
emitConnectorsMcpDeprecation();
|
|
40
|
+
return defineMcp(config);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @deprecated Use {@link defineMcp} instead. The `connectors` namespace will
|
|
44
|
+
* be removed in 0.8.0.
|
|
28
45
|
*/
|
|
29
46
|
export const connectors = {
|
|
30
|
-
mcp:
|
|
47
|
+
mcp: deprecatedMcp,
|
|
31
48
|
};
|
|
32
49
|
/**
|
|
33
50
|
* Inbound messaging surfaces. Factories are assigned by reference so signatures
|
package/dist/namespaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,gBAAgB;AAChB,MAAM,CAAC,MAAM,0BAA0B,GACrC,6FAA6F,CAAC;AAEhG,SAAS,4BAA4B;IACnC,IACE,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EACzC,CAAC;QACD,OAAO,CAAC,WAAW,CAAC,0BAA0B,EAAE;YAC9C,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,oBAAoB;SAC3B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,MAAwB;IAC7C,4BAA4B,EAAE,CAAC;IAC/B,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAgBD;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,GAAG,EAAE,aAAa;CACnB,CAAC;AA0BF;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,KAAK,EAAE,YAAY;CACpB,CAAC"}
|
package/dist/runtime/auth.d.ts
CHANGED
|
@@ -16,6 +16,12 @@ export declare const INGRESS_SECRET_HEADER = "x-mda-ingress-secret";
|
|
|
16
16
|
*/
|
|
17
17
|
export declare const SOURCE_PROVIDER_HEADER = "x-mda-source-provider";
|
|
18
18
|
export declare const SOURCE_THREAD_HEADER = "x-mda-source-thread-id";
|
|
19
|
+
/**
|
|
20
|
+
* Trigger loopback stamp: the Agent Auth principal UUID from a verified
|
|
21
|
+
* `identity_context`. Accepted only after a trusted server credential, same as
|
|
22
|
+
* the other internal handoff headers. Not inferred from `x-mda-user-id` shape.
|
|
23
|
+
*/
|
|
24
|
+
export declare const AGENT_AUTH_PRINCIPAL_HEADER = "x-mda-agent-auth-principal-id";
|
|
19
25
|
/** Deployment env var carrying the shared secret the trusted backend presents. */
|
|
20
26
|
export declare const INGRESS_SECRET_ENV = "MDA_INGRESS_SECRET";
|
|
21
27
|
/** Deploy/dev-owned credential used only for internal identity handoffs. */
|
|
@@ -29,23 +35,51 @@ export declare const LANGSMITH_API_KEY_ENV = "LANGSMITH_API_KEY";
|
|
|
29
35
|
export declare const LANGCHAIN_API_KEY_ENV = "LANGCHAIN_API_KEY";
|
|
30
36
|
/** Internal Trigger-channel principal used to start and observe Agent runs. */
|
|
31
37
|
export declare const CHANNEL_SERVICE_USER = "mda:channel";
|
|
38
|
+
/** Owner-key namespace for threads owned by a channel source conversation. */
|
|
39
|
+
export declare const CHANNEL_THREAD_OWNER_PREFIX = "mda:source-thread:";
|
|
32
40
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
41
|
+
* LangGraph AuthUser returned by `@auth.authenticate` and stored on
|
|
42
|
+
* `langgraph_auth_user` / `serverInfo.user`.
|
|
43
|
+
*
|
|
44
|
+
* Transport for auth + authorization — not the author identity surface. Tools
|
|
45
|
+
* and middleware should read `runtime.serverInfo.principal` (Agent Auth–aligned
|
|
46
|
+
* caller). The `mda_*` stamps stay internal; the managed seam projects them
|
|
47
|
+
* into `principal` / `subject` / `link` on `serverInfo`.
|
|
36
48
|
*/
|
|
37
49
|
export interface ManagedUser {
|
|
38
50
|
identity: string;
|
|
39
51
|
permissions: string[];
|
|
52
|
+
/** Subject id stamped by managed auth (internal; prefer `serverInfo.principal`). */
|
|
40
53
|
mda_user_id: string;
|
|
41
54
|
mda_user_email?: string;
|
|
42
|
-
/** Resolved group memberships;
|
|
55
|
+
/** Resolved group memberships; never an isolation key. */
|
|
43
56
|
mda_groups?: string[];
|
|
44
57
|
mda_claims?: Record<string, unknown>;
|
|
45
58
|
/** Trusted source provider stamped by managed ingress (never client-supplied). */
|
|
46
59
|
mda_source_provider?: string;
|
|
47
60
|
/** Trusted source thread key stamped by managed channel ingress. */
|
|
48
61
|
mda_source_thread_id?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Validated-token provider id (`supabase`, …) for Agent Auth principal resolve.
|
|
64
|
+
* Never client-supplied.
|
|
65
|
+
*/
|
|
66
|
+
mda_identity_provider?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Verified IdP issuer (`iss`) for Agent Auth principal resolve.
|
|
69
|
+
* Never client-supplied.
|
|
70
|
+
*/
|
|
71
|
+
mda_identity_issuer?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Verified IdP subject (`sub`) for Agent Auth principal resolve.
|
|
74
|
+
* Never client-supplied; distinct from `mda_user_id` when `claims.user` is email.
|
|
75
|
+
*/
|
|
76
|
+
mda_identity_subject?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Agent Auth principal UUID when ingress already resolved one (Trigger
|
|
79
|
+
* `identity_context`). Credential ops use this; thread ownership still uses
|
|
80
|
+
* `mda_user_id`.
|
|
81
|
+
*/
|
|
82
|
+
mda_agent_auth_principal_id?: string;
|
|
49
83
|
[key: string]: unknown;
|
|
50
84
|
}
|
|
51
85
|
/**
|
|
@@ -55,6 +89,22 @@ export interface ManagedUser {
|
|
|
55
89
|
* Also registers thread and store scoping with a studio bypass.
|
|
56
90
|
*/
|
|
57
91
|
export declare function buildManagedAuth(identity: IdentityDefinition): Auth;
|
|
92
|
+
/**
|
|
93
|
+
* Reject (403) every resource/action pair except reading or searching
|
|
94
|
+
* assistants, covering the resources managed auth does not scope per caller.
|
|
95
|
+
*
|
|
96
|
+
* `assistants` and `crons` are deployment-owned: assistants come from the
|
|
97
|
+
* compiled project and crons from `schedules/**`, both provisioned by `mda
|
|
98
|
+
* deploy` as a workspace/Studio principal. No runtime caller needs to mutate
|
|
99
|
+
* either, and `crons:create` accepts a `thread_id`, which would let a caller
|
|
100
|
+
* schedule a run against a thread the thread-ownership filter would otherwise
|
|
101
|
+
* put out of reach.
|
|
102
|
+
*
|
|
103
|
+
* Assistant reads stay open so clients can enumerate the deployment's agents;
|
|
104
|
+
* that exposes `graph_id` and assistant config, which is deploy-authored rather
|
|
105
|
+
* than caller data.
|
|
106
|
+
*/
|
|
107
|
+
export declare function denyUnlessAssistantRead(resource: string, action: string): void;
|
|
58
108
|
/**
|
|
59
109
|
* Resolve the caller's frozen {@link RuntimeIdentity} from a raw HTTP request,
|
|
60
110
|
* using the same ingress logic (`trusted_backend` headers / `validated_token`
|
|
@@ -93,6 +143,12 @@ export declare const IDENTITY_LINKS_SERVICE_USER = "mda:identity-links";
|
|
|
93
143
|
*
|
|
94
144
|
* There is no per-caller store partition to enforce beyond that, because no
|
|
95
145
|
* declaration mounts per-caller state in this release.
|
|
146
|
+
*
|
|
147
|
+
* Studio and local-dev principals are deliberately **not** exempt here. Studio
|
|
148
|
+
* identity is reachable by any holder of a workspace LangSmith API key (via the
|
|
149
|
+
* `x-auth-scheme: langsmith` ingress the Agent Server honours), and nothing
|
|
150
|
+
* legitimately reads these tables that way: the managed link client stamps
|
|
151
|
+
* {@link IDENTITY_LINKS_SERVICE_USER} behind the handoff/ingress secret.
|
|
96
152
|
*/
|
|
97
153
|
export declare function assertStoreAccess(user: ManagedUser, value: unknown): void;
|
|
98
154
|
/**
|
|
@@ -124,7 +180,22 @@ export declare function isLocalDevUnscopedUser(user: unknown): boolean;
|
|
|
124
180
|
* present (so the normal trusted-backend path runs).
|
|
125
181
|
*/
|
|
126
182
|
export declare function tryLocalDevTrustedUser(_cfg: IdentityConfig, request: Request): ManagedUser | null;
|
|
127
|
-
/**
|
|
183
|
+
/**
|
|
184
|
+
* Derive the owner value `@auth.on.threads` filters on.
|
|
185
|
+
*
|
|
186
|
+
* A managed channel thread is owned by its source conversation; every other
|
|
187
|
+
* caller owns its threads by user id. Channel threads are addressed by
|
|
188
|
+
* `source_thread_key` and the deliveries that reach one can legitimately carry
|
|
189
|
+
* different principals: the Trigger Server does not attach `identity_context`
|
|
190
|
+
* to every envelope, and any participant may reply in a shared thread or answer
|
|
191
|
+
* an interrupt someone else raised. Keying such a thread on the delivering
|
|
192
|
+
* principal denies every later delivery that does not match.
|
|
193
|
+
*
|
|
194
|
+
* Only managed ingress sets both source stamps, and only over a trusted
|
|
195
|
+
* loopback credential — a client presenting them is rejected in
|
|
196
|
+
* {@link rejectUntrustedHandoffHeaders}. `mda_user_id` still carries the
|
|
197
|
+
* principal, so credential resolution and store scoping stay per caller.
|
|
198
|
+
*/
|
|
128
199
|
export declare function threadOwnerKey(user: ManagedUser): string;
|
|
129
200
|
/** True when the request targets a public channel/connector Events ingress route. */
|
|
130
201
|
export declare function isChannelEventsRequest(request: Request): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAGL,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAEvB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAI9B;;;;;GAKG;AACH,oFAAoF;AACpF,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAC5D;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
|