managed-deepagents 0.5.0-dev.79 → 0.5.0-dev.80
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 +50 -8
- package/dist/channels/assistant-text.js +1 -1
- package/dist/channels/assistant-text.js.map +1 -1
- package/dist/channels/binding.d.ts.map +1 -1
- package/dist/channels/binding.js +3 -1
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/index.d.ts +6 -8
- package/dist/channels/index.d.ts.map +1 -1
- package/dist/channels/index.js +5 -5
- package/dist/channels/index.js.map +1 -1
- package/dist/channels/manifest.d.ts +36 -3
- package/dist/channels/manifest.d.ts.map +1 -1
- package/dist/channels/messaging-registry.d.ts +17 -0
- package/dist/channels/messaging-registry.d.ts.map +1 -0
- package/dist/channels/messaging-registry.js +44 -0
- package/dist/channels/messaging-registry.js.map +1 -0
- package/dist/channels/registry.d.ts +4 -3
- package/dist/channels/registry.d.ts.map +1 -1
- package/dist/channels/registry.js +6 -5
- package/dist/channels/registry.js.map +1 -1
- package/dist/channels/schedule-delivery.d.ts +4 -1
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +4 -2
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/connectors/github/adapter-core.d.ts +15 -0
- package/dist/connectors/github/adapter-core.d.ts.map +1 -0
- package/dist/connectors/github/adapter-core.js +52 -0
- package/dist/connectors/github/adapter-core.js.map +1 -0
- package/dist/{channels → connectors}/github/define.d.ts +28 -58
- package/dist/connectors/github/define.d.ts.map +1 -0
- package/dist/connectors/github/define.js +72 -0
- package/dist/connectors/github/define.js.map +1 -0
- package/dist/{channels → connectors}/github/http.d.ts +4 -4
- package/dist/connectors/github/http.d.ts.map +1 -0
- package/dist/{channels → connectors}/github/http.js +13 -24
- package/dist/connectors/github/http.js.map +1 -0
- package/dist/connectors/github/index.d.ts +59 -16
- package/dist/connectors/github/index.d.ts.map +1 -1
- package/dist/connectors/github/index.js +159 -73
- package/dist/connectors/github/index.js.map +1 -1
- package/dist/connectors/github/match.d.ts +20 -0
- package/dist/connectors/github/match.d.ts.map +1 -0
- package/dist/connectors/github/match.js +41 -0
- package/dist/connectors/github/match.js.map +1 -0
- package/dist/{channels → connectors}/github/normalize.d.ts +1 -1
- package/dist/connectors/github/normalize.d.ts.map +1 -0
- package/dist/{channels → connectors}/github/normalize.js +2 -2
- package/dist/connectors/github/normalize.js.map +1 -0
- package/dist/connectors/github/sandbox.d.ts.map +1 -1
- package/dist/connectors/github/sandbox.js +30 -23
- package/dist/connectors/github/sandbox.js.map +1 -1
- package/dist/connectors/github/source-thread.d.ts.map +1 -0
- package/dist/connectors/github/source-thread.js.map +1 -0
- package/dist/{channels → connectors}/github/transport.d.ts +7 -1
- package/dist/connectors/github/transport.d.ts.map +1 -0
- package/dist/{channels → connectors}/github/transport.js +18 -4
- package/dist/connectors/github/transport.js.map +1 -0
- package/dist/connectors/langsmith/index.d.ts +29 -17
- package/dist/connectors/langsmith/index.d.ts.map +1 -1
- package/dist/connectors/langsmith/index.js +34 -29
- package/dist/connectors/langsmith/index.js.map +1 -1
- package/dist/connectors/langsmith/routes.d.ts +4 -15
- package/dist/connectors/langsmith/routes.d.ts.map +1 -1
- package/dist/connectors/langsmith/routes.js +63 -72
- package/dist/connectors/langsmith/routes.js.map +1 -1
- package/dist/connectors/mcp/index.d.ts +13 -20
- package/dist/connectors/mcp/index.d.ts.map +1 -1
- package/dist/connectors/mcp/index.js +92 -112
- package/dist/connectors/mcp/index.js.map +1 -1
- package/dist/connectors/mcp/load.d.ts.map +1 -1
- package/dist/connectors/mcp/load.js +16 -40
- package/dist/connectors/mcp/load.js.map +1 -1
- package/dist/{channels → connectors}/slack/adapter-core.d.ts +1 -1
- package/dist/connectors/slack/adapter-core.d.ts.map +1 -0
- package/dist/connectors/slack/adapter-core.js.map +1 -0
- package/dist/{channels → connectors}/slack/adapter.d.ts +3 -4
- package/dist/connectors/slack/adapter.d.ts.map +1 -0
- package/dist/{channels → connectors}/slack/adapter.js +1 -1
- package/dist/connectors/slack/adapter.js.map +1 -0
- package/dist/{channels → connectors}/slack/http.d.ts +6 -40
- package/dist/connectors/slack/http.d.ts.map +1 -0
- package/dist/{channels → connectors}/slack/http.js +22 -125
- package/dist/connectors/slack/http.js.map +1 -0
- package/dist/connectors/slack/index.d.ts +108 -0
- package/dist/connectors/slack/index.d.ts.map +1 -0
- package/dist/connectors/slack/index.js +191 -0
- package/dist/connectors/slack/index.js.map +1 -0
- package/dist/{channels → connectors}/slack/normalize.d.ts +5 -5
- package/dist/connectors/slack/normalize.d.ts.map +1 -0
- package/dist/{channels → connectors}/slack/normalize.js +21 -20
- package/dist/connectors/slack/normalize.js.map +1 -0
- package/dist/connectors/slack/source-thread.d.ts.map +1 -0
- package/dist/connectors/slack/source-thread.js.map +1 -0
- package/dist/{channels → connectors}/slack/transport.d.ts +1 -1
- package/dist/connectors/slack/transport.d.ts.map +1 -0
- package/dist/{channels → connectors}/slack/transport.js +4 -3
- package/dist/connectors/slack/transport.js.map +1 -0
- package/dist/connectors/tool-selection.d.ts +31 -0
- package/dist/connectors/tool-selection.d.ts.map +1 -0
- package/dist/connectors/tool-selection.js +54 -0
- package/dist/connectors/tool-selection.js.map +1 -0
- package/dist/connectors/toolserver/catalog.d.ts +134 -0
- package/dist/connectors/toolserver/catalog.d.ts.map +1 -0
- package/dist/connectors/toolserver/catalog.js +74 -0
- package/dist/connectors/toolserver/catalog.js.map +1 -0
- package/dist/connectors/toolserver/index.d.ts +119 -0
- package/dist/connectors/toolserver/index.d.ts.map +1 -0
- package/dist/connectors/toolserver/index.js +150 -0
- package/dist/connectors/toolserver/index.js.map +1 -0
- package/dist/connectors/toolserver/load.d.ts +55 -0
- package/dist/connectors/toolserver/load.d.ts.map +1 -0
- package/dist/connectors/toolserver/load.js +162 -0
- package/dist/connectors/toolserver/load.js.map +1 -0
- package/dist/extension.d.ts +77 -0
- package/dist/extension.d.ts.map +1 -0
- package/dist/extension.js +127 -0
- package/dist/extension.js.map +1 -0
- package/dist/identity/claims.d.ts +18 -0
- package/dist/identity/claims.d.ts.map +1 -0
- package/dist/identity/claims.js +37 -0
- package/dist/identity/claims.js.map +1 -0
- package/dist/identity/connect-inference.d.ts +28 -0
- package/dist/identity/connect-inference.d.ts.map +1 -0
- package/dist/identity/connect-inference.js +39 -0
- package/dist/identity/connect-inference.js.map +1 -0
- package/dist/identity/connect-provider-types.d.ts +23 -6
- package/dist/identity/connect-provider-types.d.ts.map +1 -1
- package/dist/identity/connect-provider-types.js +3 -1
- package/dist/identity/connect-provider-types.js.map +1 -1
- package/dist/identity/connect-provider.d.ts +9 -4
- package/dist/identity/connect-provider.d.ts.map +1 -1
- package/dist/identity/connect-provider.js +19 -9
- package/dist/identity/connect-provider.js.map +1 -1
- package/dist/identity/credential-resolvers.d.ts +33 -0
- package/dist/identity/credential-resolvers.d.ts.map +1 -0
- package/dist/identity/credential-resolvers.js +62 -0
- package/dist/identity/credential-resolvers.js.map +1 -0
- package/dist/identity/github/connect-http.d.ts +3 -3
- package/dist/identity/github/connect-http.d.ts.map +1 -1
- package/dist/identity/github/connect-http.js +21 -13
- package/dist/identity/github/connect-http.js.map +1 -1
- package/dist/identity/github/credentials-store.d.ts +10 -10
- package/dist/identity/github/credentials-store.d.ts.map +1 -1
- package/dist/identity/github/credentials-store.js +40 -43
- package/dist/identity/github/credentials-store.js.map +1 -1
- package/dist/identity/github/credentials.d.ts +16 -13
- package/dist/identity/github/credentials.d.ts.map +1 -1
- package/dist/identity/github/credentials.js +43 -23
- package/dist/identity/github/credentials.js.map +1 -1
- package/dist/identity/github/index.d.ts +2 -3
- package/dist/identity/github/index.d.ts.map +1 -1
- package/dist/identity/github/index.js +1 -2
- package/dist/identity/github/index.js.map +1 -1
- package/dist/identity/github/oauth.d.ts +3 -3
- package/dist/identity/github/oauth.d.ts.map +1 -1
- package/dist/identity/github/oauth.js +10 -9
- package/dist/identity/github/oauth.js.map +1 -1
- package/dist/identity/index.d.ts +35 -29
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +98 -131
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/loopback.d.ts +27 -2
- package/dist/identity/loopback.d.ts.map +1 -1
- package/dist/identity/loopback.js +61 -8
- package/dist/identity/loopback.js.map +1 -1
- package/dist/identity/options.d.ts +90 -0
- package/dist/identity/options.d.ts.map +1 -0
- package/dist/identity/options.js +171 -0
- package/dist/identity/options.js.map +1 -0
- package/dist/identity/slack/connect-http.d.ts +3 -3
- package/dist/identity/slack/connect-http.d.ts.map +1 -1
- package/dist/identity/slack/connect-http.js +22 -14
- package/dist/identity/slack/connect-http.js.map +1 -1
- package/dist/identity/slack/index.d.ts +1 -2
- package/dist/identity/slack/index.d.ts.map +1 -1
- package/dist/identity/slack/index.js +1 -2
- package/dist/identity/slack/index.js.map +1 -1
- package/dist/identity/slack/links.d.ts +15 -15
- package/dist/identity/slack/links.d.ts.map +1 -1
- package/dist/identity/slack/links.js +50 -53
- package/dist/identity/slack/links.js.map +1 -1
- package/dist/identity/slack/oauth.d.ts +2 -2
- package/dist/identity/slack/oauth.d.ts.map +1 -1
- package/dist/identity/slack/oauth.js +9 -24
- package/dist/identity/slack/oauth.js.map +1 -1
- package/dist/identity/supabase.js +9 -9
- package/dist/identity/supabase.js.map +1 -1
- package/dist/identity/types.d.ts +82 -36
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/index.d.ts +11 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -12
- package/dist/index.js.map +1 -1
- package/dist/ingress/index.d.ts +54 -0
- package/dist/ingress/index.d.ts.map +1 -0
- package/dist/ingress/index.js +128 -0
- package/dist/ingress/index.js.map +1 -0
- package/dist/namespaces.d.ts +76 -0
- package/dist/namespaces.d.ts.map +1 -0
- package/dist/namespaces.js +94 -0
- package/dist/namespaces.js.map +1 -0
- package/dist/runtime/auth.d.ts +18 -14
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +88 -68
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +1 -1
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/connector.d.ts +66 -23
- package/dist/runtime/connector.d.ts.map +1 -1
- package/dist/runtime/connector.js +63 -27
- package/dist/runtime/connector.js.map +1 -1
- package/dist/runtime/cors.d.ts +2 -3
- package/dist/runtime/cors.d.ts.map +1 -1
- package/dist/runtime/cors.js +2 -7
- package/dist/runtime/cors.js.map +1 -1
- package/dist/runtime/credentials.d.ts.map +1 -1
- package/dist/runtime/credentials.js +39 -14
- package/dist/runtime/credentials.js.map +1 -1
- package/dist/runtime/http.d.ts +47 -0
- package/dist/runtime/http.d.ts.map +1 -0
- package/dist/runtime/http.js +54 -0
- package/dist/runtime/http.js.map +1 -0
- package/dist/runtime/identity-http.d.ts +6 -16
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +71 -54
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +18 -17
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +55 -39
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts +77 -104
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +36 -35
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/memory/index.d.ts +1 -0
- package/dist/runtime/memory/index.d.ts.map +1 -1
- package/dist/runtime/memory/index.js +1 -0
- package/dist/runtime/memory/index.js.map +1 -1
- package/dist/runtime/memory/lazy-context-backend.d.ts +66 -0
- package/dist/runtime/memory/lazy-context-backend.d.ts.map +1 -0
- package/dist/runtime/memory/lazy-context-backend.js +154 -0
- package/dist/runtime/memory/lazy-context-backend.js.map +1 -0
- package/dist/runtime/memory/user-repo.js +3 -3
- package/dist/runtime/memory/user-repo.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +33 -0
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +173 -9
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/sandbox-stream-retry.d.ts +16 -0
- package/dist/runtime/sandbox-stream-retry.d.ts.map +1 -0
- package/dist/runtime/sandbox-stream-retry.js +61 -0
- package/dist/runtime/sandbox-stream-retry.js.map +1 -0
- package/dist/runtime/setup-script.d.ts.map +1 -1
- package/dist/runtime/setup-script.js +4 -2
- package/dist/runtime/setup-script.js.map +1 -1
- package/dist/runtime/validated-token.d.ts +1 -1
- package/dist/runtime/validated-token.d.ts.map +1 -1
- package/dist/runtime/validated-token.js +75 -33
- package/dist/runtime/validated-token.js.map +1 -1
- package/dist/sandbox.d.ts +19 -22
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +20 -34
- package/dist/sandbox.js.map +1 -1
- package/dist/schedules.js +8 -9
- package/dist/schedules.js.map +1 -1
- package/package.json +18 -28
- package/dist/channels/collect.d.ts +0 -26
- package/dist/channels/collect.d.ts.map +0 -1
- package/dist/channels/collect.js +0 -42
- package/dist/channels/collect.js.map +0 -1
- package/dist/channels/github/adapter-core.d.ts +0 -6
- package/dist/channels/github/adapter-core.d.ts.map +0 -1
- package/dist/channels/github/adapter-core.js +0 -27
- package/dist/channels/github/adapter-core.js.map +0 -1
- package/dist/channels/github/adapter.d.ts +0 -16
- package/dist/channels/github/adapter.d.ts.map +0 -1
- package/dist/channels/github/adapter.js +0 -52
- package/dist/channels/github/adapter.js.map +0 -1
- package/dist/channels/github/define.d.ts.map +0 -1
- package/dist/channels/github/define.js +0 -166
- package/dist/channels/github/define.js.map +0 -1
- package/dist/channels/github/http.d.ts.map +0 -1
- package/dist/channels/github/http.js.map +0 -1
- package/dist/channels/github/index.d.ts +0 -12
- package/dist/channels/github/index.d.ts.map +0 -1
- package/dist/channels/github/index.js +0 -10
- package/dist/channels/github/index.js.map +0 -1
- package/dist/channels/github/normalize.d.ts.map +0 -1
- package/dist/channels/github/normalize.js.map +0 -1
- package/dist/channels/github/source-thread.d.ts.map +0 -1
- package/dist/channels/github/source-thread.js.map +0 -1
- package/dist/channels/github/transport.d.ts.map +0 -1
- package/dist/channels/github/transport.js.map +0 -1
- package/dist/channels/plugin.d.ts +0 -61
- package/dist/channels/plugin.d.ts.map +0 -1
- package/dist/channels/plugin.js +0 -80
- package/dist/channels/plugin.js.map +0 -1
- package/dist/channels/slack/adapter-core.d.ts.map +0 -1
- package/dist/channels/slack/adapter-core.js.map +0 -1
- package/dist/channels/slack/adapter.d.ts.map +0 -1
- package/dist/channels/slack/adapter.js.map +0 -1
- package/dist/channels/slack/define.d.ts +0 -74
- package/dist/channels/slack/define.d.ts.map +0 -1
- package/dist/channels/slack/define.js +0 -160
- package/dist/channels/slack/define.js.map +0 -1
- package/dist/channels/slack/http.d.ts.map +0 -1
- package/dist/channels/slack/http.js.map +0 -1
- package/dist/channels/slack/index.d.ts +0 -18
- package/dist/channels/slack/index.d.ts.map +0 -1
- package/dist/channels/slack/index.js +0 -13
- package/dist/channels/slack/index.js.map +0 -1
- package/dist/channels/slack/normalize.d.ts.map +0 -1
- package/dist/channels/slack/normalize.js.map +0 -1
- package/dist/channels/slack/source-thread.d.ts.map +0 -1
- package/dist/channels/slack/source-thread.js.map +0 -1
- package/dist/channels/slack/transport.d.ts.map +0 -1
- package/dist/channels/slack/transport.js.map +0 -1
- /package/dist/{channels → connectors}/github/source-thread.d.ts +0 -0
- /package/dist/{channels → connectors}/github/source-thread.js +0 -0
- /package/dist/{channels → connectors}/slack/adapter-core.js +0 -0
- /package/dist/{channels → connectors}/slack/source-thread.d.ts +0 -0
- /package/dist/{channels → connectors}/slack/source-thread.js +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* These helpers are pure library primitives for the managed channel service.
|
|
5
5
|
* They do not perform HTTP I/O or durable enqueue.
|
|
6
6
|
*/
|
|
7
|
-
import { ChannelError } from "
|
|
7
|
+
import { ChannelError } from "../../channels/errors.js";
|
|
8
8
|
import { encodeSlackSourceThreadKey, slackGroupingId, } from "./source-thread.js";
|
|
9
9
|
const REPLAY_WINDOW_SECONDS = 60 * 5;
|
|
10
10
|
/**
|
|
@@ -87,7 +87,8 @@ export function normalizeSlackEvent(input) {
|
|
|
87
87
|
return { status: "filtered", reason: `subtype_${event.subtype}`, eventId };
|
|
88
88
|
}
|
|
89
89
|
const trigger = resolveTrigger(event, input.isDirectMessageSurface === true);
|
|
90
|
-
|
|
90
|
+
const enabledTriggers = input.config.on ?? [];
|
|
91
|
+
if (!trigger || !enabledTriggers.includes(trigger)) {
|
|
91
92
|
return {
|
|
92
93
|
status: "filtered",
|
|
93
94
|
reason: trigger ? "trigger_disabled" : "unsupported_trigger",
|
|
@@ -95,9 +96,9 @@ export function normalizeSlackEvent(input) {
|
|
|
95
96
|
};
|
|
96
97
|
}
|
|
97
98
|
const conversationId = stringField(event, "channel");
|
|
98
|
-
const
|
|
99
|
+
const slackUserId = stringField(event, "user");
|
|
99
100
|
const messageTs = stringField(event, "ts");
|
|
100
|
-
if (!conversationId || !
|
|
101
|
+
if (!conversationId || !slackUserId || !messageTs) {
|
|
101
102
|
return { status: "filtered", reason: "missing_identity_fields", eventId };
|
|
102
103
|
}
|
|
103
104
|
if (!conversationAllowed(conversationId, input.config)) {
|
|
@@ -109,13 +110,13 @@ export function normalizeSlackEvent(input) {
|
|
|
109
110
|
eventTeamId !== input.installation.id) {
|
|
110
111
|
return { status: "filtered", reason: "workspace_mismatch", eventId };
|
|
111
112
|
}
|
|
112
|
-
const
|
|
113
|
-
if (!
|
|
114
|
-
return { status: "filtered", reason: "
|
|
113
|
+
const userTeamId = resolveUserTeamId(body, event, input.installation);
|
|
114
|
+
if (!userTeamId) {
|
|
115
|
+
return { status: "filtered", reason: "ambiguous_user_namespace", eventId };
|
|
115
116
|
}
|
|
116
|
-
const
|
|
117
|
-
if (!
|
|
118
|
-
return { status: "filtered", reason: "
|
|
117
|
+
const userId = `slack:${userTeamId}:${slackUserId}`;
|
|
118
|
+
if (!userAllowed(userId, input.config)) {
|
|
119
|
+
return { status: "filtered", reason: "user_filtered", eventId };
|
|
119
120
|
}
|
|
120
121
|
const threadTs = stringField(event, "thread_ts");
|
|
121
122
|
const usesAppMentionGrouping = trigger === "app_mention" || trigger === "thread_reply";
|
|
@@ -127,7 +128,7 @@ export function normalizeSlackEvent(input) {
|
|
|
127
128
|
// When Slack dual-delivers message + app_mention for an @mention, drop the
|
|
128
129
|
// message path so app_mention owns the run.
|
|
129
130
|
if (trigger === "thread_reply" &&
|
|
130
|
-
|
|
131
|
+
enabledTriggers.includes("app_mention") &&
|
|
131
132
|
input.installation.botUserId &&
|
|
132
133
|
textMentionsBot(text, input.installation.botUserId)) {
|
|
133
134
|
return { status: "filtered", reason: "covered_by_app_mention", eventId };
|
|
@@ -185,14 +186,14 @@ export function normalizeSlackEvent(input) {
|
|
|
185
186
|
},
|
|
186
187
|
message,
|
|
187
188
|
};
|
|
188
|
-
const
|
|
189
|
+
const organizationId = input.installation.kind === "team"
|
|
189
190
|
? `slack:${input.installation.id}`
|
|
190
191
|
: `slack:${input.installation.id}`;
|
|
191
192
|
return {
|
|
192
193
|
status: "accepted",
|
|
193
194
|
event: channelEvent,
|
|
194
|
-
|
|
195
|
-
|
|
195
|
+
userId,
|
|
196
|
+
organizationId,
|
|
196
197
|
sourceThreadKey,
|
|
197
198
|
trigger,
|
|
198
199
|
groupingMode,
|
|
@@ -218,7 +219,7 @@ function textMentionsBot(text, botUserId) {
|
|
|
218
219
|
const escaped = botUserId.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
219
220
|
return new RegExp(`<@${escaped}(?:\\|[^>]+)?>`, "i").test(text);
|
|
220
221
|
}
|
|
221
|
-
function
|
|
222
|
+
function resolveUserTeamId(body, event, installation) {
|
|
222
223
|
const fromEvent = stringField(event, "team");
|
|
223
224
|
if (fromEvent)
|
|
224
225
|
return fromEvent;
|
|
@@ -242,13 +243,13 @@ function conversationAllowed(conversationId, config) {
|
|
|
242
243
|
}
|
|
243
244
|
return true;
|
|
244
245
|
}
|
|
245
|
-
function
|
|
246
|
-
const include = config.filters.
|
|
247
|
-
const exclude = config.filters.
|
|
248
|
-
if (include && include.length > 0 && !include.includes(
|
|
246
|
+
function userAllowed(userId, config) {
|
|
247
|
+
const include = config.filters.includeUsers;
|
|
248
|
+
const exclude = config.filters.excludeUsers;
|
|
249
|
+
if (include && include.length > 0 && !include.includes(userId)) {
|
|
249
250
|
return false;
|
|
250
251
|
}
|
|
251
|
-
if (exclude && exclude.includes(
|
|
252
|
+
if (exclude && exclude.includes(userId)) {
|
|
252
253
|
return false;
|
|
253
254
|
}
|
|
254
255
|
return true;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/connectors/slack/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-thread.d.ts","sourceRoot":"","sources":["../../../src/connectors/slack/source-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAC;AAErE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,YAAY,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,sBAAsB,GAC5B,MAAM,CAWR;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,GACV,sBAAsB,GAAG,SAAS,CAuCpC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAQR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-thread.js","sourceRoot":"","sources":["../../../src/connectors/slack/source-thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Credentials stay in process env / constructor args; they never appear on
|
|
6
6
|
* `runtime.channel`.
|
|
7
7
|
*/
|
|
8
|
-
import type { ChannelTransport } from "
|
|
8
|
+
import type { ChannelTransport } from "../../channels/runtime.js";
|
|
9
9
|
/** Optional override so tests can point at a local mock Slack Web API. */
|
|
10
10
|
export declare const SLACK_API_BASE_ENV = "SLACK_API_BASE";
|
|
11
11
|
/** Default status string for Slack Assistants `assistant.threads.setStatus`. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/connectors/slack/transport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD,gFAAgF;AAChF,eAAO,MAAM,wBAAwB,sBAAiB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAWrD,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,gBAAgB,CAsElB;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,OAAO,CAAC,CAyClB"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* Credentials stay in process env / constructor args; they never appear on
|
|
6
6
|
* `runtime.channel`.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { fetchWithTimeout, PROVIDER_HTTP_TIMEOUT_MS, } from "../../runtime/http.js";
|
|
9
|
+
import { ChannelError } from "../../channels/errors.js";
|
|
9
10
|
const DEFAULT_SLACK_API = "https://slack.com/api";
|
|
10
11
|
/** Optional override so tests can point at a local mock Slack Web API. */
|
|
11
12
|
export const SLACK_API_BASE_ENV = "SLACK_API_BASE";
|
|
@@ -145,14 +146,14 @@ function parseSlackMessageId(id) {
|
|
|
145
146
|
async function slackApi(doFetch, token, apiBase, method, body) {
|
|
146
147
|
let response;
|
|
147
148
|
try {
|
|
148
|
-
response = await
|
|
149
|
+
response = await fetchWithTimeout(`${apiBase}/${method}`, {
|
|
149
150
|
method: "POST",
|
|
150
151
|
headers: {
|
|
151
152
|
Authorization: `Bearer ${token}`,
|
|
152
153
|
"Content-Type": "application/json; charset=utf-8",
|
|
153
154
|
},
|
|
154
155
|
body: JSON.stringify(body),
|
|
155
|
-
});
|
|
156
|
+
}, PROVIDER_HTTP_TIMEOUT_MS, doFetch);
|
|
156
157
|
}
|
|
157
158
|
catch (error) {
|
|
158
159
|
throw new ChannelError("channel_provider_rejected", `Slack ${method} network error: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/connectors/slack/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool-name selection, shared by the connectors that load their tools from a
|
|
3
|
+
* remote MCP server.
|
|
4
|
+
*
|
|
5
|
+
* `connectors.mcp` selects by raw tool name across arbitrary servers; the
|
|
6
|
+
* tool-server integrations select from a fixed per-integration catalog. Both
|
|
7
|
+
* want the same behavior: a name in `includeTools`/`excludeTools` that no loaded
|
|
8
|
+
* tool answers to is an error naming what *was* available, so a typo fails the
|
|
9
|
+
* deployment instead of silently dropping a tool the agent was meant to have.
|
|
10
|
+
*/
|
|
11
|
+
/** Tool names to expose or hide from a connector's loaded tools. */
|
|
12
|
+
export interface ToolSelection {
|
|
13
|
+
/** Tool names to expose. Omitted means every loaded tool. */
|
|
14
|
+
includeTools?: string[];
|
|
15
|
+
/** Tool names to hide. Applied after {@link ToolSelection.includeTools}. */
|
|
16
|
+
excludeTools?: string[];
|
|
17
|
+
}
|
|
18
|
+
/** Read the name a selection matches a loaded tool by. */
|
|
19
|
+
export type ToolNameReader = (tool: unknown) => string | undefined;
|
|
20
|
+
/** Read a loaded tool's own `name`. The default for connectors that don't rename. */
|
|
21
|
+
export declare const toolName: ToolNameReader;
|
|
22
|
+
/**
|
|
23
|
+
* Apply a selection to loaded tools, rejecting names that matched nothing.
|
|
24
|
+
*
|
|
25
|
+
* `subject` names the declaration in error messages, e.g. `MCP server "docs"`
|
|
26
|
+
* or `connectors.gmail`. A tool whose name cannot be read is kept only when the
|
|
27
|
+
* selection is exclusive (`excludeTools` alone) — an `includeTools` list is an
|
|
28
|
+
* allowlist, and an unnameable tool is not on it.
|
|
29
|
+
*/
|
|
30
|
+
export declare function selectTools(subject: string, selection: ToolSelection, tools: readonly unknown[], readName?: ToolNameReader): unknown[];
|
|
31
|
+
//# sourceMappingURL=tool-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-selection.d.ts","sourceRoot":"","sources":["../../src/connectors/tool-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,0DAA0D;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;AAEnE,qFAAqF;AACrF,eAAO,MAAM,QAAQ,EAAE,cAGtB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,QAAQ,GAAE,cAAyB,GAClC,OAAO,EAAE,CAwBX"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool-name selection, shared by the connectors that load their tools from a
|
|
3
|
+
* remote MCP server.
|
|
4
|
+
*
|
|
5
|
+
* `connectors.mcp` selects by raw tool name across arbitrary servers; the
|
|
6
|
+
* tool-server integrations select from a fixed per-integration catalog. Both
|
|
7
|
+
* want the same behavior: a name in `includeTools`/`excludeTools` that no loaded
|
|
8
|
+
* tool answers to is an error naming what *was* available, so a typo fails the
|
|
9
|
+
* deployment instead of silently dropping a tool the agent was meant to have.
|
|
10
|
+
*/
|
|
11
|
+
/** Read a loaded tool's own `name`. The default for connectors that don't rename. */
|
|
12
|
+
export const toolName = (tool) => {
|
|
13
|
+
const name = tool.name;
|
|
14
|
+
return typeof name === "string" ? name : undefined;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Apply a selection to loaded tools, rejecting names that matched nothing.
|
|
18
|
+
*
|
|
19
|
+
* `subject` names the declaration in error messages, e.g. `MCP server "docs"`
|
|
20
|
+
* or `connectors.gmail`. A tool whose name cannot be read is kept only when the
|
|
21
|
+
* selection is exclusive (`excludeTools` alone) — an `includeTools` list is an
|
|
22
|
+
* allowlist, and an unnameable tool is not on it.
|
|
23
|
+
*/
|
|
24
|
+
export function selectTools(subject, selection, tools, readName = toolName) {
|
|
25
|
+
const { includeTools, excludeTools } = selection;
|
|
26
|
+
if (!includeTools && !excludeTools) {
|
|
27
|
+
return [...tools];
|
|
28
|
+
}
|
|
29
|
+
const available = new Set(tools
|
|
30
|
+
.map(readName)
|
|
31
|
+
.filter((name) => typeof name === "string"));
|
|
32
|
+
assertSelectedToolsExist(subject, available, includeTools, excludeTools);
|
|
33
|
+
const included = includeTools ? new Set(includeTools) : undefined;
|
|
34
|
+
const excluded = excludeTools ? new Set(excludeTools) : undefined;
|
|
35
|
+
return tools.filter((tool) => {
|
|
36
|
+
const name = readName(tool);
|
|
37
|
+
if (name === undefined) {
|
|
38
|
+
return included === undefined;
|
|
39
|
+
}
|
|
40
|
+
return ((included === undefined || included.has(name)) && !excluded?.has(name));
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function assertSelectedToolsExist(subject, available, includeTools, excludeTools) {
|
|
44
|
+
const selected = [...(includeTools ?? []), ...(excludeTools ?? [])];
|
|
45
|
+
const unknown = selected.filter((name) => !available.has(name));
|
|
46
|
+
if (unknown.length === 0) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const names = [...new Set(unknown)].sort().join(", ");
|
|
50
|
+
const availableNames = [...available].sort().join(", ") || "(none)";
|
|
51
|
+
throw new Error(`${subject} selected unknown tool(s): ${names}. ` +
|
|
52
|
+
`Available tools: ${availableNames}.`);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=tool-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-selection.js","sourceRoot":"","sources":["../../src/connectors/tool-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,qFAAqF;AACrF,MAAM,CAAC,MAAM,QAAQ,GAAmB,CAAC,IAAI,EAAE,EAAE;IAC/C,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;IAC/C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,OAAe,EACf,SAAwB,EACxB,KAAyB,EACzB,QAAQ,GAAmB,QAAQ;IAEnC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IACjD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,KAAK;SACF,GAAG,CAAC,QAAQ,CAAC;SACb,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAC9D,CAAC;IACF,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAEzE,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,QAAQ,KAAK,SAAS,CAAC;QAChC,CAAC;QACD,OAAO,CACL,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CACvE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAe,EACf,SAAsB,EACtB,YAAuB,EACvB,YAAuB;IAEvB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IACpE,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,8BAA8B,KAAK,IAAI;QAC/C,oBAAoB,cAAc,GAAG,CACxC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The LangSmith tool server's built-in integrations.
|
|
3
|
+
*
|
|
4
|
+
* The tool server hosts LangChain-authored tools for each provider — ordinary
|
|
5
|
+
* functions that call the provider's API with credentials looked up from
|
|
6
|
+
* LangSmith's vault — and publishes them over MCP, one endpoint per integration.
|
|
7
|
+
* A workspace connects an integration once in LangSmith, and every agent in that
|
|
8
|
+
* workspace reaches it without ever handling the provider's tokens.
|
|
9
|
+
*
|
|
10
|
+
* `slug` is the tool server's own identifier and the path segment MDA calls;
|
|
11
|
+
* `factory` is how the integration is spelled on the `connectors` namespace,
|
|
12
|
+
* since a slug like `google_sheets` is not how TypeScript names things. Only the
|
|
13
|
+
* slug crosses the wire, so a factory name can be friendlier (`x` for `x_com`)
|
|
14
|
+
* without the runtime caring.
|
|
15
|
+
*
|
|
16
|
+
* The list is checked in rather than fetched: `connectors.gmail` has to exist
|
|
17
|
+
* before the process that could ask the catalog for it is running. It is a
|
|
18
|
+
* superset of what any one workspace can use — an integration still has to be
|
|
19
|
+
* configured and connected in LangSmith, which the runtime reports per call.
|
|
20
|
+
*/
|
|
21
|
+
/** A built-in tool server integration: its wire slug and its factory name. */
|
|
22
|
+
export interface ToolServerIntegrationEntry {
|
|
23
|
+
/** The tool server's identifier, and the `/servers/{slug}/mcp` path segment. */
|
|
24
|
+
readonly slug: string;
|
|
25
|
+
/** The key this integration takes on the `connectors` namespace. */
|
|
26
|
+
readonly factory: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Every integration the tool server publishes, ordered by factory name.
|
|
30
|
+
*
|
|
31
|
+
* Adding a provider to the tool server does not update this list; adding the
|
|
32
|
+
* entry here is what exposes it to MDA.
|
|
33
|
+
*/
|
|
34
|
+
export declare const TOOL_SERVER_INTEGRATIONS: readonly [{
|
|
35
|
+
readonly slug: "apollo";
|
|
36
|
+
readonly factory: "apollo";
|
|
37
|
+
}, {
|
|
38
|
+
readonly slug: "ashby";
|
|
39
|
+
readonly factory: "ashby";
|
|
40
|
+
}, {
|
|
41
|
+
readonly slug: "base";
|
|
42
|
+
readonly factory: "base";
|
|
43
|
+
}, {
|
|
44
|
+
readonly slug: "exa";
|
|
45
|
+
readonly factory: "exa";
|
|
46
|
+
}, {
|
|
47
|
+
readonly slug: "excel";
|
|
48
|
+
readonly factory: "excel";
|
|
49
|
+
}, {
|
|
50
|
+
readonly slug: "github";
|
|
51
|
+
readonly factory: "github";
|
|
52
|
+
}, {
|
|
53
|
+
readonly slug: "gmail";
|
|
54
|
+
readonly factory: "gmail";
|
|
55
|
+
}, {
|
|
56
|
+
readonly slug: "google_bigquery";
|
|
57
|
+
readonly factory: "googleBigQuery";
|
|
58
|
+
}, {
|
|
59
|
+
readonly slug: "google_calendar";
|
|
60
|
+
readonly factory: "googleCalendar";
|
|
61
|
+
}, {
|
|
62
|
+
readonly slug: "google_docs";
|
|
63
|
+
readonly factory: "googleDocs";
|
|
64
|
+
}, {
|
|
65
|
+
readonly slug: "google_drive";
|
|
66
|
+
readonly factory: "googleDrive";
|
|
67
|
+
}, {
|
|
68
|
+
readonly slug: "google_meet";
|
|
69
|
+
readonly factory: "googleMeet";
|
|
70
|
+
}, {
|
|
71
|
+
readonly slug: "google_sheets";
|
|
72
|
+
readonly factory: "googleSheets";
|
|
73
|
+
}, {
|
|
74
|
+
readonly slug: "google_slides";
|
|
75
|
+
readonly factory: "googleSlides";
|
|
76
|
+
}, {
|
|
77
|
+
readonly slug: "linear";
|
|
78
|
+
readonly factory: "linear";
|
|
79
|
+
}, {
|
|
80
|
+
readonly slug: "linkedin";
|
|
81
|
+
readonly factory: "linkedin";
|
|
82
|
+
}, {
|
|
83
|
+
readonly slug: "outlook";
|
|
84
|
+
readonly factory: "outlook";
|
|
85
|
+
}, {
|
|
86
|
+
readonly slug: "powerpoint";
|
|
87
|
+
readonly factory: "powerpoint";
|
|
88
|
+
}, {
|
|
89
|
+
readonly slug: "pylon";
|
|
90
|
+
readonly factory: "pylon";
|
|
91
|
+
}, {
|
|
92
|
+
readonly slug: "salesforce";
|
|
93
|
+
readonly factory: "salesforce";
|
|
94
|
+
}, {
|
|
95
|
+
readonly slug: "sharepoint";
|
|
96
|
+
readonly factory: "sharepoint";
|
|
97
|
+
}, {
|
|
98
|
+
readonly slug: "slack";
|
|
99
|
+
readonly factory: "slack";
|
|
100
|
+
}, {
|
|
101
|
+
readonly slug: "tavily";
|
|
102
|
+
readonly factory: "tavily";
|
|
103
|
+
}, {
|
|
104
|
+
readonly slug: "teams";
|
|
105
|
+
readonly factory: "teams";
|
|
106
|
+
}, {
|
|
107
|
+
readonly slug: "word";
|
|
108
|
+
readonly factory: "word";
|
|
109
|
+
}, {
|
|
110
|
+
readonly slug: "x_com";
|
|
111
|
+
readonly factory: "x";
|
|
112
|
+
}];
|
|
113
|
+
/** The wire slug of a built-in tool server integration. */
|
|
114
|
+
export type ToolServerSlug = (typeof TOOL_SERVER_INTEGRATIONS)[number]["slug"];
|
|
115
|
+
/**
|
|
116
|
+
* Integrations whose connectors this module does not build.
|
|
117
|
+
*
|
|
118
|
+
* `connectors.github` and `connectors.slack` accept tool-server options and
|
|
119
|
+
* also contribute sandbox / Events / messaging — so they declare themselves in
|
|
120
|
+
* their own modules rather than being generated from a catalog entry.
|
|
121
|
+
*/
|
|
122
|
+
export declare const GITHUB_SLUG = "github";
|
|
123
|
+
export declare const SLACK_SLUG = "slack";
|
|
124
|
+
/**
|
|
125
|
+
* Integrations reached through a factory generated from this catalog.
|
|
126
|
+
*
|
|
127
|
+
* Typed as the base entry rather than the literal tuple: the namespace is what
|
|
128
|
+
* carries the per-integration types, and {@link ToolServerFactoryName} keeps the
|
|
129
|
+
* two in step.
|
|
130
|
+
*/
|
|
131
|
+
export declare const STANDALONE_TOOL_SERVER_INTEGRATIONS: readonly ToolServerIntegrationEntry[];
|
|
132
|
+
/** How a standalone tool server integration is spelled on `connectors`. */
|
|
133
|
+
export type ToolServerFactoryName = Exclude<(typeof TOOL_SERVER_INTEGRATIONS)[number]["factory"], "github" | "slack">;
|
|
134
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/connectors/toolserver/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,8EAA8E;AAC9E,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;mBAC3B,QAAQ;sBAAW,QAAQ;;mBAC3B,OAAO;sBAAW,OAAO;;mBAGzB,MAAM;sBAAW,MAAM;;mBACvB,KAAK;sBAAW,KAAK;;mBACrB,OAAO;sBAAW,OAAO;;mBACzB,QAAQ;sBAAW,QAAQ;;mBAC3B,OAAO;sBAAW,OAAO;;mBACzB,iBAAiB;sBAAW,gBAAgB;;mBAC5C,iBAAiB;sBAAW,gBAAgB;;mBAC5C,aAAa;sBAAW,YAAY;;mBACpC,cAAc;sBAAW,aAAa;;mBACtC,aAAa;sBAAW,YAAY;;mBACpC,eAAe;sBAAW,cAAc;;mBACxC,eAAe;sBAAW,cAAc;;mBACxC,QAAQ;sBAAW,QAAQ;;mBAC3B,UAAU;sBAAW,UAAU;;mBAC/B,SAAS;sBAAW,SAAS;;mBAC7B,YAAY;sBAAW,YAAY;;mBACnC,OAAO;sBAAW,OAAO;;mBACzB,YAAY;sBAAW,YAAY;;mBACnC,YAAY;sBAAW,YAAY;;mBACnC,OAAO;sBAAW,OAAO;;mBACzB,QAAQ;sBAAW,QAAQ;;mBAC3B,OAAO;sBAAW,OAAO;;mBACzB,MAAM;sBAAW,MAAM;;mBACvB,OAAO;sBAAW,GAAG;EAC2B,CAAC;AAE3D,2DAA2D;AAC3D,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,WAAoC,CAAC;AAC7D,eAAO,MAAM,UAAU,UAAmC,CAAC;AAE3D;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,EAAE,SAAS,0BAA0B,EAGlF,CAAC;AAEJ,2EAA2E;AAC3E,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EACpD,QAAQ,GAAG,OAAO,CACnB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The LangSmith tool server's built-in integrations.
|
|
3
|
+
*
|
|
4
|
+
* The tool server hosts LangChain-authored tools for each provider — ordinary
|
|
5
|
+
* functions that call the provider's API with credentials looked up from
|
|
6
|
+
* LangSmith's vault — and publishes them over MCP, one endpoint per integration.
|
|
7
|
+
* A workspace connects an integration once in LangSmith, and every agent in that
|
|
8
|
+
* workspace reaches it without ever handling the provider's tokens.
|
|
9
|
+
*
|
|
10
|
+
* `slug` is the tool server's own identifier and the path segment MDA calls;
|
|
11
|
+
* `factory` is how the integration is spelled on the `connectors` namespace,
|
|
12
|
+
* since a slug like `google_sheets` is not how TypeScript names things. Only the
|
|
13
|
+
* slug crosses the wire, so a factory name can be friendlier (`x` for `x_com`)
|
|
14
|
+
* without the runtime caring.
|
|
15
|
+
*
|
|
16
|
+
* The list is checked in rather than fetched: `connectors.gmail` has to exist
|
|
17
|
+
* before the process that could ask the catalog for it is running. It is a
|
|
18
|
+
* superset of what any one workspace can use — an integration still has to be
|
|
19
|
+
* configured and connected in LangSmith, which the runtime reports per call.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Every integration the tool server publishes, ordered by factory name.
|
|
23
|
+
*
|
|
24
|
+
* Adding a provider to the tool server does not update this list; adding the
|
|
25
|
+
* entry here is what exposes it to MDA.
|
|
26
|
+
*/
|
|
27
|
+
export const TOOL_SERVER_INTEGRATIONS = [
|
|
28
|
+
{ slug: "apollo", factory: "apollo" },
|
|
29
|
+
{ slug: "ashby", factory: "ashby" },
|
|
30
|
+
// The tool server's credential-free utilities: reading a URL's content and
|
|
31
|
+
// extracting its images. Named for the slug, which is what LangSmith shows.
|
|
32
|
+
{ slug: "base", factory: "base" },
|
|
33
|
+
{ slug: "exa", factory: "exa" },
|
|
34
|
+
{ slug: "excel", factory: "excel" },
|
|
35
|
+
{ slug: "github", factory: "github" },
|
|
36
|
+
{ slug: "gmail", factory: "gmail" },
|
|
37
|
+
{ slug: "google_bigquery", factory: "googleBigQuery" },
|
|
38
|
+
{ slug: "google_calendar", factory: "googleCalendar" },
|
|
39
|
+
{ slug: "google_docs", factory: "googleDocs" },
|
|
40
|
+
{ slug: "google_drive", factory: "googleDrive" },
|
|
41
|
+
{ slug: "google_meet", factory: "googleMeet" },
|
|
42
|
+
{ slug: "google_sheets", factory: "googleSheets" },
|
|
43
|
+
{ slug: "google_slides", factory: "googleSlides" },
|
|
44
|
+
{ slug: "linear", factory: "linear" },
|
|
45
|
+
{ slug: "linkedin", factory: "linkedin" },
|
|
46
|
+
{ slug: "outlook", factory: "outlook" },
|
|
47
|
+
{ slug: "powerpoint", factory: "powerpoint" },
|
|
48
|
+
{ slug: "pylon", factory: "pylon" },
|
|
49
|
+
{ slug: "salesforce", factory: "salesforce" },
|
|
50
|
+
{ slug: "sharepoint", factory: "sharepoint" },
|
|
51
|
+
{ slug: "slack", factory: "slack" },
|
|
52
|
+
{ slug: "tavily", factory: "tavily" },
|
|
53
|
+
{ slug: "teams", factory: "teams" },
|
|
54
|
+
{ slug: "word", factory: "word" },
|
|
55
|
+
{ slug: "x_com", factory: "x" },
|
|
56
|
+
];
|
|
57
|
+
/**
|
|
58
|
+
* Integrations whose connectors this module does not build.
|
|
59
|
+
*
|
|
60
|
+
* `connectors.github` and `connectors.slack` accept tool-server options and
|
|
61
|
+
* also contribute sandbox / Events / messaging — so they declare themselves in
|
|
62
|
+
* their own modules rather than being generated from a catalog entry.
|
|
63
|
+
*/
|
|
64
|
+
export const GITHUB_SLUG = "github";
|
|
65
|
+
export const SLACK_SLUG = "slack";
|
|
66
|
+
/**
|
|
67
|
+
* Integrations reached through a factory generated from this catalog.
|
|
68
|
+
*
|
|
69
|
+
* Typed as the base entry rather than the literal tuple: the namespace is what
|
|
70
|
+
* carries the per-integration types, and {@link ToolServerFactoryName} keeps the
|
|
71
|
+
* two in step.
|
|
72
|
+
*/
|
|
73
|
+
export const STANDALONE_TOOL_SERVER_INTEGRATIONS = TOOL_SERVER_INTEGRATIONS.filter((entry) => entry.slug !== GITHUB_SLUG && entry.slug !== SLACK_SLUG);
|
|
74
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/connectors/toolserver/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAUH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACnC,2EAA2E;IAC3E,4EAA4E;IAC5E,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;IACjC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE;IACtD,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE;IACtD,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE;IAC9C,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE;IAChD,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE;IAC9C,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE;IAClD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE;IAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;IACzC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE;IAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE;IAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE;IAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;IACjC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;CACyB,CAAC;AAK3D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAiC,CAAC;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAG,OAAgC,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAC9C,wBAAwB,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CACnE,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool server connectors — the integrations a workspace manages in LangSmith.
|
|
3
|
+
*
|
|
4
|
+
* A workspace connects Gmail, Slack, Linear, … once in LangSmith; declaring the
|
|
5
|
+
* matching connector is how a Managed Deep Agent gets those tools. The provider's
|
|
6
|
+
* tokens stay in LangSmith's vault: MDA calls LangSmith's tool server gateway,
|
|
7
|
+
* which resolves the credential for the subject and forwards to the tool server.
|
|
8
|
+
* The deployment never sees, stores, or refreshes a provider token.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // connectors/gmail.ts
|
|
13
|
+
* import { connectors } from "managed-deepagents";
|
|
14
|
+
*
|
|
15
|
+
* export const connector = connectors.gmail({
|
|
16
|
+
* includeTools: ["gmail_read_emails", "gmail_draft_email"],
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* ## Whose credentials
|
|
21
|
+
*
|
|
22
|
+
* Nothing here. Which workspace the call runs against, which key authenticates
|
|
23
|
+
* it, and whose connection it resolves are facts about the deployment, not
|
|
24
|
+
* choices the agent's source makes — so they come from the environment
|
|
25
|
+
* (`LANGSMITH_API_KEY`, `LANGSMITH_ENDPOINT`, `LANGCHAIN_WORKSPACE_ID`) and the
|
|
26
|
+
* declaration is only ever about which tools the agent gets.
|
|
27
|
+
*
|
|
28
|
+
* The gateway resolves credentials for whoever the call authenticates as, so the
|
|
29
|
+
* subject is the deployment's key rather than the caller of the run: every thread
|
|
30
|
+
* reaches the same connection. A personal key resolves that user's connections,
|
|
31
|
+
* which is what makes `mda dev` work against your own Gmail. A key with no user
|
|
32
|
+
* behind it has no subject yet, and has to borrow an agent's shared connection
|
|
33
|
+
* via `MDA_TOOLSERVER_AGENT_ID` — see the loader for why that is an env var.
|
|
34
|
+
*
|
|
35
|
+
* Per-actor credentials — each caller reaching their own Gmail — are not
|
|
36
|
+
* available through this connector. That needs [credentials](../../identity) with
|
|
37
|
+
* a resolver that can mint a token for `runtime.identity.actor`.
|
|
38
|
+
*/
|
|
39
|
+
import { z } from "zod";
|
|
40
|
+
import type { Connector } from "../../runtime/connector.js";
|
|
41
|
+
import type { ToolSelection } from "../tool-selection.js";
|
|
42
|
+
import { type ToolServerFactoryName, type ToolServerSlug } from "./catalog.js";
|
|
43
|
+
export { GITHUB_SLUG, SLACK_SLUG, STANDALONE_TOOL_SERVER_INTEGRATIONS, TOOL_SERVER_INTEGRATIONS, } from "./catalog.js";
|
|
44
|
+
export type { ToolServerFactoryName, ToolServerIntegrationEntry, ToolServerSlug, } from "./catalog.js";
|
|
45
|
+
/**
|
|
46
|
+
* Which of an integration's tools the agent gets.
|
|
47
|
+
*
|
|
48
|
+
* Omitting both means every tool the integration publishes. An empty
|
|
49
|
+
* `includeTools` selects none of them, which is how a connector declared for
|
|
50
|
+
* something other than its tools — `connectors.github` cloning a repository —
|
|
51
|
+
* says so; the gateway is then never called.
|
|
52
|
+
*/
|
|
53
|
+
export type ToolServerToolSelection = ToolSelection;
|
|
54
|
+
/**
|
|
55
|
+
* Configuration accepted by every `connectors.<integration>` factory.
|
|
56
|
+
*
|
|
57
|
+
* Only what is genuinely the agent's: which tools it gets, and how long it waits
|
|
58
|
+
* for one. How to reach LangSmith and whose credentials to use come from the
|
|
59
|
+
* deployment — see the module docs.
|
|
60
|
+
*/
|
|
61
|
+
export interface ToolServerConnectorConfig extends ToolServerToolSelection {
|
|
62
|
+
/** Timeout, in milliseconds, for each tool call. */
|
|
63
|
+
defaultToolTimeout?: number;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A declared tool server integration. Branded as a managed {@link Connector}
|
|
67
|
+
* whose `tools` hook loads the integration's tools at runtime, and whose `kind`
|
|
68
|
+
* is the integration's wire slug.
|
|
69
|
+
*/
|
|
70
|
+
export type ToolServerConnector = Connector & ToolServerConnectorConfig & {
|
|
71
|
+
/** The tool server slug this connector loads from. */
|
|
72
|
+
readonly kind: ToolServerSlug;
|
|
73
|
+
};
|
|
74
|
+
/** A `connectors.<integration>` factory. */
|
|
75
|
+
export type ToolServerConnectorFactory = (config?: ToolServerConnectorConfig) => ToolServerConnector;
|
|
76
|
+
/**
|
|
77
|
+
* Build the argument schema for one tool server integration.
|
|
78
|
+
*
|
|
79
|
+
* `extra` adds whatever the integration accepts on top of the shared options —
|
|
80
|
+
* `connectors.github`'s sandbox provisioning, say. Every integration is built
|
|
81
|
+
* from here, so the shared options are spelled, defaulted, and validated once
|
|
82
|
+
* rather than restated per integration.
|
|
83
|
+
*
|
|
84
|
+
* Strict, so an option that does not exist is an error rather than a silently
|
|
85
|
+
* ignored key — which matches the Python model's `extra="forbid"`, and is what
|
|
86
|
+
* tells a project that `apiKey` and friends now come from the environment.
|
|
87
|
+
*
|
|
88
|
+
* The result is cast to the caller's argument types. Zod cannot describe a
|
|
89
|
+
* prefaulted object as "accepts undefined, produces defaults" in one type, so
|
|
90
|
+
* the shape and the declared config interface are kept in step by review.
|
|
91
|
+
*/
|
|
92
|
+
export declare function toolServerConnectorSchema<TArgs, TInput>(extra?: z.ZodRawShape): z.ZodType<TArgs, TInput>;
|
|
93
|
+
/**
|
|
94
|
+
* Build the `tools` hook that loads one integration's tools.
|
|
95
|
+
*
|
|
96
|
+
* Shared so every integration reaches the gateway the same way, whether that is
|
|
97
|
+
* all it does (`connectors.gmail`) or one of the things it does
|
|
98
|
+
* (`connectors.github`, which also provisions the sandbox).
|
|
99
|
+
*
|
|
100
|
+
* The hook runs at agent-graph construction, so the loader is imported lazily —
|
|
101
|
+
* an authoring-only install never pulls in the MCP client.
|
|
102
|
+
*/
|
|
103
|
+
export declare function toolServerTools(slug: ToolServerSlug, label: string): (ctx: unknown, self: ToolServerConnectorConfig) => Promise<unknown[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Build the factory for one tool server integration.
|
|
106
|
+
*
|
|
107
|
+
* For the integrations that are only their tools. An integration with more to
|
|
108
|
+
* contribute — `connectors.github` — calls `defineExtension` itself with
|
|
109
|
+
* {@link toolServerConnectorSchema} and {@link toolServerTools}.
|
|
110
|
+
*/
|
|
111
|
+
export declare function toolServerConnector(slug: ToolServerSlug, label: string): ToolServerConnectorFactory;
|
|
112
|
+
/**
|
|
113
|
+
* The `connectors` entries for the integrations that have their own factory.
|
|
114
|
+
*
|
|
115
|
+
* Built from the catalog so a new integration is one entry, not an entry plus a
|
|
116
|
+
* namespace line that can be forgotten.
|
|
117
|
+
*/
|
|
118
|
+
export declare const toolServerConnectors: Record<ToolServerFactoryName, ToolServerConnectorFactory>;
|
|
119
|
+
//# sourceMappingURL=index.d.ts.map
|