managed-deepagents 0.6.2-dev.4 → 0.6.2-dev.41
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 +18 -3
- package/dist/agent-auth.d.ts +141 -0
- package/dist/agent-auth.d.ts.map +1 -0
- package/dist/agent-auth.js +426 -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/schedule-delivery.d.ts +2 -0
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +40 -4
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/trigger/client.d.ts +1 -0
- package/dist/channels/trigger/client.d.ts.map +1 -1
- package/dist/channels/trigger/client.js +19 -8
- package/dist/channels/trigger/client.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 +42 -1
- 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 +5 -1
- 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/connections.d.ts +74 -0
- package/dist/connections.d.ts.map +1 -0
- package/dist/connections.js +277 -0
- package/dist/connections.js.map +1 -0
- 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 +258 -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 +57 -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 +40 -0
- package/dist/credential-gate.d.ts.map +1 -0
- package/dist/credential-gate.js +227 -0
- package/dist/credential-gate.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 +79 -5
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/index.d.ts +11 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- 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 +17 -9
- package/dist/ingress/index.js.map +1 -1
- package/dist/runtime/auth.d.ts +49 -5
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +100 -5
- 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 +148 -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 +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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-context.js","sourceRoot":"","sources":["../../../src/channels/trigger/identity-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,SAAS,GAEV,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AACjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAO,CAAU,CAAC;AAE9D,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAIrE,qEAAqE;AACrE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;AAElD,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,GAAG,6BAA6B,CAAC;IAE9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,mFAAmF;AACnF,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,IAAI,GAAG,iCAAiC,CAAC;IAElD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAaD,yEAAyE;AACzE,MAAM,UAAU,4BAA4B,CAC1C,GAAG,GAAsB,OAAO,CAAC,GAAG;IAEpC,MAAM,GAAG,GACP,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE;QAC9B,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE;QAC9B,0BAA0B,CAAC;IAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,6BAA6B,CAC3C,GAAG,GAAsB,OAAO,CAAC,GAAG;IAEpC,OAAO,GAAG,4BAA4B,CAAC,GAAG,CAAC,wBAAwB,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAa,EACb,OAAO,GAAiC,EAAE;IAE1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,MAAgD,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,2BAA2B,CAAC,+BAA+B,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,KAAK,0BAA0B,EAAE,CAAC;QAC9C,MAAM,IAAI,2BAA2B,CACnC,gCAAgC,0BAA0B,EAAE,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,2BAA2B,CAAC,oCAAoC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAEjD,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;YAC9C,MAAM;YACN,QAAQ,EAAE,yBAAyB;YACnC,UAAU,EAAE,CAAC,GAAG,2BAA2B,CAAC;YAC5C,GAAG,EAAE,0BAA0B;YAC/B,cAAc,EAAE,CAAC,KAAK,CAAC;SACxB,CAAC,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,OAAkC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,2BAA2B;YAC5C,KAAK,YAAY,+BAA+B,EAChD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,+BAA+B,CACvC,mDAAmD,CACpD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,GACR,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;YACnD,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,IAAI,KAAK,iBAAiB,IAAI,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,2BAA2B,CAAC,6BAA6B,CAAC,CAAC;QACvE,CAAC;QACD,IACE,IAAI,KAAK,iCAAiC;YAC1C,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,EACnC,CAAC;YACD,MAAM,IAAI,2BAA2B,CAAC,iCAAiC,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,IAAI,2BAA2B,CACnC,gDAAgD,CACjD,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,2BAA2B,CAAC,iCAAiC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,wBAAwB,EAAE,CAAC;QAChD,MAAM,IAAI,2BAA2B,CACnC,oCAAoC,wBAAwB,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,WAAW,GACf,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAI,aAAa,IAAI,WAAW,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;QAClE,MAAM,IAAI,2BAA2B,CACnC,gDAAgD,CACjD,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,IAAI,WAAW,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,2BAA2B,CACnC,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC1D,KAAgC,EAChC,OAAO,GAAiC,EAAE;IAE1C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,2BAA2B,CAAC,mCAAmC,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc;IAClD,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GACR,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;QACnD,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GACR,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;QACnD,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,wDAAwD,CAAC,IAAI,CAClE,KAAK,CAAC,OAAO,CACd,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,GAAsB;IACxC,MAAM,GAAG,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,kBAAkB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;YACxC,eAAe,EAAE,oBAAoB;SACtC,CAAC,CAAC;QACH,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,aAAa,CAAE,KAA0B,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -10,6 +10,7 @@ declare const messageEventSchema: z.ZodObject<{
|
|
|
10
10
|
channel_id: z.ZodString;
|
|
11
11
|
source_thread_key: z.ZodString;
|
|
12
12
|
address: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
13
|
+
identity_context: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
13
14
|
type: z.ZodLiteral<"message">;
|
|
14
15
|
input: z.ZodObject<{
|
|
15
16
|
messages: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -23,6 +24,7 @@ declare const interruptResumeEventSchema: z.ZodObject<{
|
|
|
23
24
|
channel_id: z.ZodString;
|
|
24
25
|
source_thread_key: z.ZodString;
|
|
25
26
|
address: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
27
|
+
identity_context: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26
28
|
type: z.ZodLiteral<"interrupt_resume">;
|
|
27
29
|
interaction: z.ZodObject<{
|
|
28
30
|
type: z.ZodLiteral<"interrupt_resume">;
|
|
@@ -37,6 +39,7 @@ declare const eventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
37
39
|
channel_id: z.ZodString;
|
|
38
40
|
source_thread_key: z.ZodString;
|
|
39
41
|
address: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
42
|
+
identity_context: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
40
43
|
type: z.ZodLiteral<"message">;
|
|
41
44
|
input: z.ZodObject<{
|
|
42
45
|
messages: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -49,6 +52,7 @@ declare const eventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
49
52
|
channel_id: z.ZodString;
|
|
50
53
|
source_thread_key: z.ZodString;
|
|
51
54
|
address: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
55
|
+
identity_context: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
52
56
|
type: z.ZodLiteral<"interrupt_resume">;
|
|
53
57
|
interaction: z.ZodObject<{
|
|
54
58
|
type: z.ZodLiteral<"interrupt_resume">;
|
|
@@ -66,7 +70,7 @@ export interface TriggerChannelActionRequest {
|
|
|
66
70
|
type: "post";
|
|
67
71
|
action_id: string;
|
|
68
72
|
address: TriggerChannelAddress;
|
|
69
|
-
source_thread_key
|
|
73
|
+
source_thread_key?: string;
|
|
70
74
|
message: {
|
|
71
75
|
text: string;
|
|
72
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/trigger/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,0BAA0B,kBAAkB,CAAC;AAK1D,uDAAuD;AACvD,QAAA,MAAM,YAAY,wCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/trigger/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,0BAA0B,kBAAkB,CAAC;AAK1D,uDAAuD;AACvD,QAAA,MAAM,YAAY,wCAAoC,CAAC;AAoBvD,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;iBAKtB,CAAC;AACH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;iBAM9B,CAAC;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAGf,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACjE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,CACtC,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC5E,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,0BAA0B,CAClC,CAAC;AACF,6HAA6H;AAC7H,MAAM,MAAM,oBAAoB,GAC9B,kCAAkC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAE9D,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,8BAA8B,GACtC,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,YAAY,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,8BAA8B,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,kCAAkC;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAG5E"}
|
|
@@ -19,6 +19,11 @@ const channelEventBase = z.object({
|
|
|
19
19
|
channel_id: channelId,
|
|
20
20
|
source_thread_key: nonblankString,
|
|
21
21
|
address: opaqueObject,
|
|
22
|
+
/**
|
|
23
|
+
* Short-lived Agent Auth identity-context JWT. When present, ingress stamps
|
|
24
|
+
* its principal UUID as `x-mda-user-id` instead of `mda:channel`.
|
|
25
|
+
*/
|
|
26
|
+
identity_context: z.string().nullish(),
|
|
22
27
|
});
|
|
23
28
|
const messageEventSchema = channelEventBase.extend({
|
|
24
29
|
type: z.literal("message"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/channels/trigger/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAE1D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;IAC3E,OAAO,EAAE,kBAAkB;CAC5B,CAAC,CAAC;AACH,uDAAuD;AACvD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACvD,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;IACrD,OAAO,EAAE,cAAc;CACxB,CAAC,CAAC;AACL,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACvB,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE,SAAS;IACrB,iBAAiB,EAAE,cAAc;IACjC,OAAO,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/channels/trigger/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAE1D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;IAC3E,OAAO,EAAE,kBAAkB;CAC5B,CAAC,CAAC;AACH,uDAAuD;AACvD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACvD,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;IACrD,OAAO,EAAE,cAAc;CACxB,CAAC,CAAC;AACL,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACvB,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE,SAAS;IACrB,iBAAiB,EAAE,cAAc;IACjC,OAAO,EAAE,YAAY;IACrB;;;OAGG;IACH,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CACvC,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;KAChC,CAAC;CACH,CAAC,CAAC;AACH,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACzD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACnC,MAAM,EAAE,YAAY;KACrB,CAAC;CACH,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/C,kBAAkB;IAClB,0BAA0B;CAC3B,CAAC,CAAC;AA+DH,mFAAmF;AACnF,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,KAA4B,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `connections.get(...)` — read a managed connection from a tool.
|
|
3
|
+
*
|
|
4
|
+
* `{ type: "agent" }` resolves material owned by the current deployment.
|
|
5
|
+
* `{ type: "user" }` resolves per-caller grants (OAuth or opaque). Resolution
|
|
6
|
+
* reads Agent Auth on every await and never caches.
|
|
7
|
+
*
|
|
8
|
+
* `mda dev` substitutes local values for agent opaque secrets via `MDA_DEV_*`.
|
|
9
|
+
* User-owned connections need a deployment; opaque user grants use the same
|
|
10
|
+
* pre-run gate as OAuth.
|
|
11
|
+
*/
|
|
12
|
+
import type { RuntimeIdentity } from "./identity/index.js";
|
|
13
|
+
import { CredentialStoreError, type AgentAuthContext } from "./agent-auth.js";
|
|
14
|
+
export { AGENT_AUTH_TIMEOUT_MS, AgentAuthUnknownProviderError, CredentialAuthorizationRequiredError, CredentialStoreError, } from "./agent-auth.js";
|
|
15
|
+
export type { AgentAuthContext, PendingAuthorization } from "./agent-auth.js";
|
|
16
|
+
export type AgentConnectionOwner = {
|
|
17
|
+
type: "agent";
|
|
18
|
+
};
|
|
19
|
+
export type UserConnectionOwner = {
|
|
20
|
+
type: "user";
|
|
21
|
+
id?: string;
|
|
22
|
+
};
|
|
23
|
+
export type ConnectionOwner = AgentConnectionOwner | UserConnectionOwner;
|
|
24
|
+
export interface ConnectionRequest {
|
|
25
|
+
slug: string;
|
|
26
|
+
owner: ConnectionOwner;
|
|
27
|
+
identity?: RuntimeIdentity;
|
|
28
|
+
}
|
|
29
|
+
declare const CONNECTION_REFERENCE: unique symbol;
|
|
30
|
+
export declare class ConnectionNotFoundError extends Error {
|
|
31
|
+
readonly slug: string;
|
|
32
|
+
readonly ownerType: ConnectionOwner["type"];
|
|
33
|
+
constructor(slug: string, ownerType: ConnectionOwner["type"]);
|
|
34
|
+
}
|
|
35
|
+
/** `LANGSMITH_ENDPOINT` is missing a usable Agent Auth origin. */
|
|
36
|
+
export declare class InvalidAgentAuthEndpointError extends CredentialStoreError {
|
|
37
|
+
readonly name = "InvalidAgentAuthEndpointError";
|
|
38
|
+
constructor();
|
|
39
|
+
}
|
|
40
|
+
export declare class ConnectionReference implements PromiseLike<string> {
|
|
41
|
+
readonly slug: string;
|
|
42
|
+
readonly owner: ConnectionOwner;
|
|
43
|
+
private readonly accessor;
|
|
44
|
+
readonly [CONNECTION_REFERENCE] = true;
|
|
45
|
+
constructor(slug: string, owner: ConnectionOwner, accessor: Connections);
|
|
46
|
+
then<TResult1 = string, TResult2 = never>(onfulfilled?: ((value: string) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
|
|
47
|
+
}
|
|
48
|
+
export declare function isConnectionReference(value: unknown): value is ConnectionReference;
|
|
49
|
+
export declare class AgentAuthConnectionStore {
|
|
50
|
+
private readonly env;
|
|
51
|
+
private readonly fetchImpl;
|
|
52
|
+
private readonly timeoutMs;
|
|
53
|
+
constructor(env?: NodeJS.ProcessEnv, fetchImpl?: typeof fetch, timeoutMs?: number);
|
|
54
|
+
fetch(request: ConnectionRequest): Promise<string | undefined>;
|
|
55
|
+
}
|
|
56
|
+
export declare class Connections {
|
|
57
|
+
private readonly store;
|
|
58
|
+
constructor(store?: AgentAuthConnectionStore);
|
|
59
|
+
get(slug: string, owner: ConnectionOwner): ConnectionReference;
|
|
60
|
+
resolve(slug: string, owner: ConnectionOwner): Promise<string>;
|
|
61
|
+
resolveDeploymentSecret(slug: string): Promise<string>;
|
|
62
|
+
}
|
|
63
|
+
export declare function agentConnectionEnvKey(slug: string): string;
|
|
64
|
+
export declare function resolveOwnerId(owner: ConnectionOwner, identity: RuntimeIdentity | undefined, deploymentId: string | undefined): string;
|
|
65
|
+
export declare function resolveAgentAuthContext(identity: RuntimeIdentity | undefined, env?: NodeJS.ProcessEnv): AgentAuthContext;
|
|
66
|
+
/**
|
|
67
|
+
* Origin for Agent Auth HTTP calls from `LANGSMITH_ENDPOINT`.
|
|
68
|
+
*
|
|
69
|
+
* Cloud SaaS revisions omit that reserved name and inject `LANGCHAIN_ENDPOINT`
|
|
70
|
+
* instead; read it as the same setting so we do not default to production.
|
|
71
|
+
*/
|
|
72
|
+
export declare function resolveAgentAuthBaseUrl(env?: NodeJS.ProcessEnv): string;
|
|
73
|
+
export declare const connections: Connections;
|
|
74
|
+
//# sourceMappingURL=connections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `connections.get(...)` — read a managed connection from a tool.
|
|
3
|
+
*
|
|
4
|
+
* `{ type: "agent" }` resolves material owned by the current deployment.
|
|
5
|
+
* `{ type: "user" }` resolves per-caller grants (OAuth or opaque). Resolution
|
|
6
|
+
* reads Agent Auth on every await and never caches.
|
|
7
|
+
*
|
|
8
|
+
* `mda dev` substitutes local values for agent opaque secrets via `MDA_DEV_*`.
|
|
9
|
+
* User-owned connections need a deployment; opaque user grants use the same
|
|
10
|
+
* pre-run gate as OAuth.
|
|
11
|
+
*/
|
|
12
|
+
import { AGENT_AUTH_TIMEOUT_MS, AgentAuth, CredentialAuthorizationRequiredError, CredentialStoreError, } from "./agent-auth.js";
|
|
13
|
+
import { buildRuntimeIdentity, resolveRuntimeConfigurable, } from "./runtime/identity-runtime.js";
|
|
14
|
+
export { AGENT_AUTH_TIMEOUT_MS, AgentAuthUnknownProviderError, CredentialAuthorizationRequiredError, CredentialStoreError, } from "./agent-auth.js";
|
|
15
|
+
const CONNECTION_REFERENCE = Symbol("managed-deepagents.connection");
|
|
16
|
+
const SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
17
|
+
const MAX_SLUG_LENGTH = 64;
|
|
18
|
+
const DEFAULT_LANGSMITH_ENDPOINT = "https://api.smith.langchain.com";
|
|
19
|
+
const DEV_CREDENTIAL_PREFIX = "MDA_DEV_";
|
|
20
|
+
function localUserConnectionUnsupported(slug) {
|
|
21
|
+
const localHint = slug
|
|
22
|
+
? `set ${agentConnectionEnvKey(slug)}`
|
|
23
|
+
: "set the corresponding MDA_DEV_<slug> variable";
|
|
24
|
+
return ("user-owned connections need a deployment, so they do not resolve in `mda dev`: " +
|
|
25
|
+
"deploy with `mda deploy` to exercise this connection, or declare it as " +
|
|
26
|
+
`{ type: "agent" } and ${localHint} for local runs`);
|
|
27
|
+
}
|
|
28
|
+
export class ConnectionNotFoundError extends Error {
|
|
29
|
+
slug;
|
|
30
|
+
ownerType;
|
|
31
|
+
constructor(slug, ownerType) {
|
|
32
|
+
super(`no ${ownerType} connection is set for slug ${JSON.stringify(slug)}`);
|
|
33
|
+
this.name = "ConnectionNotFoundError";
|
|
34
|
+
this.slug = slug;
|
|
35
|
+
this.ownerType = ownerType;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** `LANGSMITH_ENDPOINT` is missing a usable Agent Auth origin. */
|
|
39
|
+
export class InvalidAgentAuthEndpointError extends CredentialStoreError {
|
|
40
|
+
name = "InvalidAgentAuthEndpointError";
|
|
41
|
+
constructor() {
|
|
42
|
+
super("LangSmith Agent Auth endpoint is not a valid URL (set LANGSMITH_ENDPOINT)");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export class ConnectionReference {
|
|
46
|
+
slug;
|
|
47
|
+
owner;
|
|
48
|
+
accessor;
|
|
49
|
+
[CONNECTION_REFERENCE] = true;
|
|
50
|
+
constructor(slug, owner, accessor) {
|
|
51
|
+
this.slug = slug;
|
|
52
|
+
this.owner = owner;
|
|
53
|
+
this.accessor = accessor;
|
|
54
|
+
}
|
|
55
|
+
then(onfulfilled, onrejected) {
|
|
56
|
+
return this.accessor
|
|
57
|
+
.resolve(this.slug, this.owner)
|
|
58
|
+
.then(onfulfilled, onrejected);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function isConnectionReference(value) {
|
|
62
|
+
return (value instanceof ConnectionReference ||
|
|
63
|
+
(typeof value === "object" &&
|
|
64
|
+
value !== null &&
|
|
65
|
+
CONNECTION_REFERENCE in value));
|
|
66
|
+
}
|
|
67
|
+
export class AgentAuthConnectionStore {
|
|
68
|
+
env;
|
|
69
|
+
fetchImpl;
|
|
70
|
+
timeoutMs;
|
|
71
|
+
constructor(env = process.env, fetchImpl = fetch, timeoutMs = AGENT_AUTH_TIMEOUT_MS) {
|
|
72
|
+
this.env = env;
|
|
73
|
+
this.fetchImpl = fetchImpl;
|
|
74
|
+
this.timeoutMs = timeoutMs;
|
|
75
|
+
}
|
|
76
|
+
async fetch(request) {
|
|
77
|
+
if (this.env.MDA_LOCAL_DEV === "1") {
|
|
78
|
+
if (request.owner.type === "user") {
|
|
79
|
+
throw new CredentialStoreError(localUserConnectionUnsupported(request.slug));
|
|
80
|
+
}
|
|
81
|
+
const value = this.env[agentConnectionEnvKey(request.slug)];
|
|
82
|
+
if (value !== undefined && value.trim()) {
|
|
83
|
+
return value;
|
|
84
|
+
}
|
|
85
|
+
throw new CredentialStoreError(`local agent connection ${JSON.stringify(request.slug)} is not configured; ` +
|
|
86
|
+
`set ${agentConnectionEnvKey(request.slug)}`);
|
|
87
|
+
}
|
|
88
|
+
const config = resolveAgentAuthConfig(this.env);
|
|
89
|
+
const ownerId = resolveOwnerId(request.owner, request.identity, config.deploymentId);
|
|
90
|
+
const client = new AgentAuth({
|
|
91
|
+
baseUrl: config.baseUrl,
|
|
92
|
+
agentId: config.deploymentId ?? ownerId,
|
|
93
|
+
principalId: ownerId,
|
|
94
|
+
apiKey: config.apiKey,
|
|
95
|
+
workspaceId: config.workspaceId,
|
|
96
|
+
}, this.fetchImpl, this.timeoutMs);
|
|
97
|
+
const row = await client.findWorkspaceConnection(request.slug);
|
|
98
|
+
if (!row) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
if (request.owner.type === "user") {
|
|
102
|
+
if (row.kind === "secret") {
|
|
103
|
+
return await client.readUserSecretForConnection(row);
|
|
104
|
+
}
|
|
105
|
+
if (row.kind === "oauth2") {
|
|
106
|
+
return await client.readUserAccessTokenForConnection(row);
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
if (row.kind === "secret") {
|
|
111
|
+
const credentialId = await client.findSecretCredentialId(row, request.slug);
|
|
112
|
+
if (!credentialId) {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
return await client.readSecret(credentialId);
|
|
116
|
+
}
|
|
117
|
+
if (row.kind === "oauth2") {
|
|
118
|
+
return await client.readConnectionAccessToken(row.connectionId);
|
|
119
|
+
}
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export class Connections {
|
|
124
|
+
store;
|
|
125
|
+
constructor(store = new AgentAuthConnectionStore()) {
|
|
126
|
+
this.store = store;
|
|
127
|
+
}
|
|
128
|
+
get(slug, owner) {
|
|
129
|
+
return new ConnectionReference(normalizeSlug(slug), normalizeOwner(owner), this);
|
|
130
|
+
}
|
|
131
|
+
async resolve(slug, owner) {
|
|
132
|
+
const configurable = resolveRuntimeConfigurable(undefined);
|
|
133
|
+
if (!configurable) {
|
|
134
|
+
throw new Error("connections.get(...) must be awaited inside a run: resolve a connection in a tool or middleware, not at import time");
|
|
135
|
+
}
|
|
136
|
+
const value = await this.store.fetch({
|
|
137
|
+
slug,
|
|
138
|
+
owner,
|
|
139
|
+
identity: buildRuntimeIdentity(configurable),
|
|
140
|
+
});
|
|
141
|
+
if (value === undefined) {
|
|
142
|
+
throw owner.type === "user"
|
|
143
|
+
? new CredentialAuthorizationRequiredError([slug])
|
|
144
|
+
: new ConnectionNotFoundError(slug, owner.type);
|
|
145
|
+
}
|
|
146
|
+
return value;
|
|
147
|
+
}
|
|
148
|
+
async resolveDeploymentSecret(slug) {
|
|
149
|
+
const value = await this.store.fetch({
|
|
150
|
+
slug,
|
|
151
|
+
owner: { type: "agent" },
|
|
152
|
+
});
|
|
153
|
+
if (value === undefined) {
|
|
154
|
+
throw new ConnectionNotFoundError(slug, "agent");
|
|
155
|
+
}
|
|
156
|
+
return value;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
export function agentConnectionEnvKey(slug) {
|
|
160
|
+
return `${DEV_CREDENTIAL_PREFIX}${normalizeSlug(slug)
|
|
161
|
+
.toUpperCase()
|
|
162
|
+
.replaceAll("-", "_")}`;
|
|
163
|
+
}
|
|
164
|
+
function normalizeSlug(slug) {
|
|
165
|
+
if (typeof slug !== "string") {
|
|
166
|
+
throw new TypeError("connection slug must be a string");
|
|
167
|
+
}
|
|
168
|
+
const canonical = slug.trim();
|
|
169
|
+
if (!canonical ||
|
|
170
|
+
canonical.length > MAX_SLUG_LENGTH ||
|
|
171
|
+
!SLUG_PATTERN.test(canonical)) {
|
|
172
|
+
throw new TypeError(`connection slug ${JSON.stringify(slug)} is invalid: use lowercase letters, digits, and single hyphens, at most ${MAX_SLUG_LENGTH} characters`);
|
|
173
|
+
}
|
|
174
|
+
return canonical;
|
|
175
|
+
}
|
|
176
|
+
function normalizeOwner(owner) {
|
|
177
|
+
if (!owner || typeof owner !== "object") {
|
|
178
|
+
throw new TypeError('connection owner is required: pass { type: "agent" } or { type: "user" }');
|
|
179
|
+
}
|
|
180
|
+
const keys = Object.keys(owner);
|
|
181
|
+
if (keys.some((key) => key !== "type" && key !== "id")) {
|
|
182
|
+
throw new TypeError("connection owner has an unknown key");
|
|
183
|
+
}
|
|
184
|
+
if (owner.type === "agent") {
|
|
185
|
+
if ("id" in owner) {
|
|
186
|
+
throw new TypeError('connection owner "id" is not accepted for { type: "agent" }');
|
|
187
|
+
}
|
|
188
|
+
return { type: "agent" };
|
|
189
|
+
}
|
|
190
|
+
if (owner.type === "user") {
|
|
191
|
+
if (owner.id === undefined)
|
|
192
|
+
return { type: "user" };
|
|
193
|
+
if (typeof owner.id !== "string" || !owner.id.trim()) {
|
|
194
|
+
throw new TypeError('connection owner "id" must be a non-empty string');
|
|
195
|
+
}
|
|
196
|
+
return { type: "user", id: owner.id.trim() };
|
|
197
|
+
}
|
|
198
|
+
throw new TypeError("connection owner type is not supported");
|
|
199
|
+
}
|
|
200
|
+
export function resolveOwnerId(owner, identity, deploymentId) {
|
|
201
|
+
if (owner.type === "user") {
|
|
202
|
+
const authenticated = identity?.user.id;
|
|
203
|
+
if (!authenticated) {
|
|
204
|
+
throw new CredentialStoreError("user connections require an authenticated user principal");
|
|
205
|
+
}
|
|
206
|
+
if (owner.id !== undefined && owner.id !== authenticated) {
|
|
207
|
+
throw new CredentialStoreError("user connection owner id must match the authenticated principal");
|
|
208
|
+
}
|
|
209
|
+
return authenticated;
|
|
210
|
+
}
|
|
211
|
+
if (!deploymentId) {
|
|
212
|
+
throw new CredentialStoreError("connections are not configured: LANGSMITH_HOST_PROJECT_ID is not set");
|
|
213
|
+
}
|
|
214
|
+
return deploymentId;
|
|
215
|
+
}
|
|
216
|
+
export function resolveAgentAuthContext(identity, env = process.env) {
|
|
217
|
+
if (env.MDA_LOCAL_DEV === "1") {
|
|
218
|
+
throw new CredentialStoreError(localUserConnectionUnsupported());
|
|
219
|
+
}
|
|
220
|
+
const config = resolveAgentAuthConfig(env);
|
|
221
|
+
if (!config.deploymentId) {
|
|
222
|
+
throw new CredentialStoreError("connections are not configured: LANGSMITH_HOST_PROJECT_ID is not set");
|
|
223
|
+
}
|
|
224
|
+
return {
|
|
225
|
+
baseUrl: config.baseUrl,
|
|
226
|
+
agentId: config.deploymentId,
|
|
227
|
+
principalId: resolveOwnerId({ type: "user" }, identity, config.deploymentId),
|
|
228
|
+
apiKey: config.apiKey,
|
|
229
|
+
workspaceId: config.workspaceId,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
function resolveAgentAuthConfig(env) {
|
|
233
|
+
const apiKey = env.LANGSMITH_API_KEY?.trim();
|
|
234
|
+
if (!apiKey) {
|
|
235
|
+
throw new CredentialStoreError("connections are not configured: LANGSMITH_API_KEY is not set");
|
|
236
|
+
}
|
|
237
|
+
const workspaceId = env.LANGSMITH_WORKSPACE_ID?.trim();
|
|
238
|
+
if (!workspaceId) {
|
|
239
|
+
throw new CredentialStoreError("connections are not configured: LANGSMITH_WORKSPACE_ID is not set");
|
|
240
|
+
}
|
|
241
|
+
return {
|
|
242
|
+
baseUrl: resolveAgentAuthBaseUrl(env),
|
|
243
|
+
apiKey,
|
|
244
|
+
deploymentId: env.LANGSMITH_HOST_PROJECT_ID?.trim() || undefined,
|
|
245
|
+
workspaceId,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Origin for Agent Auth HTTP calls from `LANGSMITH_ENDPOINT`.
|
|
250
|
+
*
|
|
251
|
+
* Cloud SaaS revisions omit that reserved name and inject `LANGCHAIN_ENDPOINT`
|
|
252
|
+
* instead; read it as the same setting so we do not default to production.
|
|
253
|
+
*/
|
|
254
|
+
export function resolveAgentAuthBaseUrl(env = process.env) {
|
|
255
|
+
const raw = env.LANGSMITH_ENDPOINT?.trim() ||
|
|
256
|
+
env.LANGCHAIN_ENDPOINT?.trim() ||
|
|
257
|
+
DEFAULT_LANGSMITH_ENDPOINT;
|
|
258
|
+
let parsed;
|
|
259
|
+
try {
|
|
260
|
+
parsed = new URL(raw);
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
throw new InvalidAgentAuthEndpointError();
|
|
264
|
+
}
|
|
265
|
+
if (!["http:", "https:"].includes(parsed.protocol) ||
|
|
266
|
+
!parsed.hostname ||
|
|
267
|
+
parsed.username ||
|
|
268
|
+
parsed.password ||
|
|
269
|
+
(parsed.pathname !== "/" && parsed.pathname !== "") ||
|
|
270
|
+
parsed.search ||
|
|
271
|
+
parsed.hash) {
|
|
272
|
+
throw new InvalidAgentAuthEndpointError();
|
|
273
|
+
}
|
|
274
|
+
return parsed.origin;
|
|
275
|
+
}
|
|
276
|
+
export const connections = new Connections();
|
|
277
|
+
//# sourceMappingURL=connections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* @example
|
|
19
19
|
* ```ts
|
|
20
20
|
* // connectors/mcp.ts
|
|
21
|
-
* import { connectors } from "managed-deepagents";
|
|
21
|
+
* import { connectors, connections } from "managed-deepagents";
|
|
22
22
|
*
|
|
23
23
|
* export const connector = connectors.mcp({
|
|
24
24
|
* mcpServers: {
|
|
@@ -26,102 +26,42 @@
|
|
|
26
26
|
* transport: "http",
|
|
27
27
|
* url: "https://docs.example.com/mcp",
|
|
28
28
|
* },
|
|
29
|
+
* notion: {
|
|
30
|
+
* transport: "http",
|
|
31
|
+
* url: "https://mcp.notion.com/mcp",
|
|
32
|
+
* connection: connections.get("notion", { type: "user" }),
|
|
33
|
+
* },
|
|
29
34
|
* },
|
|
30
35
|
* });
|
|
31
36
|
* ```
|
|
32
37
|
*/
|
|
33
|
-
import type {
|
|
34
|
-
|
|
35
|
-
export
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
/** Shared options for all remote MCP server connections. */
|
|
48
|
-
export interface RemoteMcpServerBaseConfig extends McpToolSelectionConfig {
|
|
49
|
-
/** URL of the remote MCP server endpoint. */
|
|
50
|
-
url: string;
|
|
51
|
-
/** Optional static headers sent when connecting to the MCP server. */
|
|
52
|
-
headers?: Record<string, string>;
|
|
53
|
-
/** Default timeout, in milliseconds, for tools loaded from this server. */
|
|
54
|
-
defaultToolTimeout?: number;
|
|
55
|
-
}
|
|
56
|
-
/** Streamable HTTP MCP server connection. */
|
|
57
|
-
export interface HttpMcpServerConfig extends RemoteMcpServerBaseConfig {
|
|
58
|
-
/** Remote transport. `"http"` selects Streamable HTTP. */
|
|
59
|
-
transport: "http";
|
|
60
|
-
/**
|
|
61
|
-
* Whether the client may fall back to SSE if the server does not support
|
|
62
|
-
* Streamable HTTP. Defaults to the behavior of `@langchain/mcp-adapters`.
|
|
63
|
-
*/
|
|
64
|
-
automaticSSEFallback?: boolean;
|
|
65
|
-
}
|
|
66
|
-
/** Legacy SSE MCP server connection. */
|
|
67
|
-
export interface SseMcpServerConfig extends RemoteMcpServerBaseConfig {
|
|
68
|
-
/** Remote transport. `"sse"` selects legacy SSE. */
|
|
69
|
-
transport: "sse";
|
|
70
|
-
/** Reconnection behavior for SSE MCP servers. */
|
|
71
|
-
reconnect?: {
|
|
72
|
-
enabled: boolean;
|
|
73
|
-
maxAttempts?: number;
|
|
74
|
-
delayMs?: number;
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
/** A remote MCP server connection. Stdio servers are intentionally excluded. */
|
|
78
|
-
export type RemoteMcpServerConfig = HttpMcpServerConfig | SseMcpServerConfig;
|
|
79
|
-
/** Configuration accepted by `connectors.mcp`. */
|
|
80
|
-
export interface McpServersConfig {
|
|
81
|
-
/**
|
|
82
|
-
* MCP servers to connect to. Each key is the logical server name MDA uses
|
|
83
|
-
* for validation, tracing metadata, and tool-name prefixing.
|
|
84
|
-
*/
|
|
85
|
-
mcpServers: Record<string, RemoteMcpServerConfig>;
|
|
86
|
-
/**
|
|
87
|
-
* Whether tool names should be prefixed with the MCP server name (e.g.
|
|
88
|
-
* `docs__search`). Defaults to `true`, which avoids collisions between
|
|
89
|
-
* authored tools and common MCP tool names like `search` or `read`.
|
|
90
|
-
*/
|
|
91
|
-
prefixToolNameWithServerName?: boolean;
|
|
92
|
-
/**
|
|
93
|
-
* Whether tool loading should fail if a tool cannot be loaded. Defaults to
|
|
94
|
-
* `true` — a managed deployment should fail rather than start with a
|
|
95
|
-
* partially loaded tool surface.
|
|
96
|
-
*/
|
|
97
|
-
throwOnLoadError?: boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Whether MCP tool outputs should be converted to LangChain standard content
|
|
100
|
-
* blocks. Defaults to `true` for new managed agents.
|
|
101
|
-
*/
|
|
102
|
-
useStandardContentBlocks?: boolean;
|
|
103
|
-
/**
|
|
104
|
-
* Behavior when an MCP server cannot be connected. Only `"throw"` is
|
|
105
|
-
* supported for the POC — a failed connection fails the deployment.
|
|
106
|
-
*/
|
|
107
|
-
onConnectionError?: "throw";
|
|
108
|
-
}
|
|
38
|
+
import type { CredentialConsumer, LoadedCredentialTools } from "../../credential-gate.js";
|
|
39
|
+
import type { McpServersConfig, McpServersDefinition } from "./types.js";
|
|
40
|
+
export type * from "./types.js";
|
|
41
|
+
/**
|
|
42
|
+
* Load (and cache) the MCP tools for one connector declaration.
|
|
43
|
+
*
|
|
44
|
+
* A failed load is never cached, so a transient connection error on the first
|
|
45
|
+
* run can be retried on the next, but a misconfigured deployment surfaces the
|
|
46
|
+
* error rather than silently starting with no tools.
|
|
47
|
+
*/
|
|
48
|
+
export declare function loadManagedMcpTools(connectors: McpServersDefinition): Promise<unknown[]>;
|
|
49
|
+
/** Clear the process-level MCP tool cache. Test-only. */
|
|
50
|
+
export declare function clearManagedMcpToolsCacheForTests(connectors?: McpServersDefinition): void;
|
|
109
51
|
/**
|
|
110
|
-
* The
|
|
111
|
-
*
|
|
112
|
-
*
|
|
52
|
+
* The credential gate's view of the declared MCP connectors.
|
|
53
|
+
*
|
|
54
|
+
* One consumer per declaration that names a user-owned connection; a
|
|
55
|
+
* declaration that needs no grant never reaches the gate.
|
|
113
56
|
*/
|
|
114
|
-
export
|
|
115
|
-
/** Internal discriminator used by the MDA loader. */
|
|
116
|
-
readonly kind: "mcp_servers";
|
|
117
|
-
}
|
|
57
|
+
export declare function mcpCredentialConsumers(connectors: readonly unknown[] | undefined): CredentialConsumer[];
|
|
118
58
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
59
|
+
* Load tools for user-connection servers, once the gate has confirmed the
|
|
60
|
+
* caller's grants.
|
|
121
61
|
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
* installs never pull in `@langchain/mcp-adapters`.
|
|
62
|
+
* Not process-cached here: the Authorization header is per caller, so the gate
|
|
63
|
+
* owns both the cache and closing the returned transport.
|
|
125
64
|
*/
|
|
65
|
+
export declare function loadUserConnectionMcpTools(connectors: McpServersDefinition, accessTokens: ReadonlyMap<string, string>): Promise<LoadedCredentialTools>;
|
|
126
66
|
export declare const mcpConnector: (config: McpServersConfig) => McpServersDefinition;
|
|
127
67
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAUH,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EAGrB,MAAM,YAAY,CAAC;AAEpB,mBAAmB,YAAY,CAAC;AAkBhC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,OAAO,EAAE,CAAC,CAWpB;AAED,yDAAyD;AACzD,wBAAgB,iCAAiC,CAC/C,UAAU,CAAC,EAAE,oBAAoB,GAChC,IAAI,CAMN;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GACzC,kBAAkB,EAAE,CAuBtB;AA0ED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,oBAAoB,EAChC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,qBAAqB,CAAC,CAyBhC;AAsKD,eAAO,MAAM,YAAY,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,oBAOrD,CAAC"}
|