@mastra/server 1.31.0-alpha.2 → 1.31.0-alpha.4
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/CHANGELOG.md +18 -0
- package/dist/{chunk-HR4M27JP.cjs → chunk-2HIGXJMR.cjs} +2 -2
- package/dist/{chunk-HR4M27JP.cjs.map → chunk-2HIGXJMR.cjs.map} +1 -1
- package/dist/chunk-CUIH4FYN.js +190 -0
- package/dist/chunk-CUIH4FYN.js.map +1 -0
- package/dist/chunk-CXBX2UAP.cjs +195 -0
- package/dist/chunk-CXBX2UAP.cjs.map +1 -0
- package/dist/{chunk-2PF5ZR2Q.js → chunk-S4EHZQFI.js} +2 -2
- package/dist/{chunk-2PF5ZR2Q.js.map → chunk-S4EHZQFI.js.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/channels.cjs +24 -0
- package/dist/server/handlers/channels.cjs.map +1 -0
- package/dist/server/handlers/channels.d.ts +90 -0
- package/dist/server/handlers/channels.d.ts.map +1 -0
- package/dist/server/handlers/channels.js +3 -0
- package/dist/server/handlers/channels.js.map +1 -0
- package/dist/server/handlers.cjs +12 -12
- package/dist/server/handlers.js +3 -3
- package/dist/server/schemas/channels.d.ts +45 -0
- package/dist/server/schemas/channels.d.ts.map +1 -0
- package/dist/server/schemas/index.cjs +83 -83
- package/dist/server/schemas/index.js +3 -3
- package/dist/server/server-adapter/index.cjs +31 -21
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.js +16 -6
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/routes/channels.d.ts +75 -0
- package/dist/server/server-adapter/routes/channels.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/index.d.ts +3 -1
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { createRoute } from './chunk-PA2BYLKF.js';
|
|
2
|
+
import { handleError } from './chunk-P23KBWKB.js';
|
|
3
|
+
import { HTTPException } from './chunk-6QWQZI4Q.js';
|
|
4
|
+
import { coreFeatures } from '@mastra/core/features';
|
|
5
|
+
import { z } from 'zod/v4';
|
|
6
|
+
|
|
7
|
+
var channelPlatformPathParams = z.object({
|
|
8
|
+
platform: z.string().describe('Channel platform identifier (e.g., "slack")')
|
|
9
|
+
});
|
|
10
|
+
var channelAgentPathParams = z.object({
|
|
11
|
+
platform: z.string().describe('Channel platform identifier (e.g., "slack")'),
|
|
12
|
+
agentId: z.string().describe("Agent identifier")
|
|
13
|
+
});
|
|
14
|
+
var connectChannelBodySchema = z.object({
|
|
15
|
+
agentId: z.string().describe("Agent identifier to connect"),
|
|
16
|
+
options: z.record(z.string(), z.unknown()).optional().describe("Platform-specific connection options")
|
|
17
|
+
});
|
|
18
|
+
var channelPlatformInfoSchema = z.object({
|
|
19
|
+
id: z.string().describe("Platform identifier"),
|
|
20
|
+
name: z.string().describe("Human-readable platform name"),
|
|
21
|
+
isConfigured: z.boolean().describe("Whether the platform is ready to connect agents"),
|
|
22
|
+
connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe("JSON Schema for connect options")
|
|
23
|
+
});
|
|
24
|
+
var channelInstallationInfoSchema = z.object({
|
|
25
|
+
id: z.string().describe("Installation identifier"),
|
|
26
|
+
platform: z.string().describe("Platform identifier"),
|
|
27
|
+
agentId: z.string().describe("Connected agent identifier"),
|
|
28
|
+
status: z.enum(["active", "pending"]).describe("Installation status"),
|
|
29
|
+
displayName: z.string().optional().describe("Platform-specific display name"),
|
|
30
|
+
installedAt: z.coerce.date().optional().describe("Installation timestamp")
|
|
31
|
+
});
|
|
32
|
+
var channelConnectOAuthSchema = z.object({
|
|
33
|
+
type: z.literal("oauth").describe("OAuth-based connection requiring browser redirect"),
|
|
34
|
+
authorizationUrl: z.string().describe("OAuth authorization URL for user redirect"),
|
|
35
|
+
installationId: z.string().describe("Installation identifier")
|
|
36
|
+
});
|
|
37
|
+
var channelConnectDeepLinkSchema = z.object({
|
|
38
|
+
type: z.literal("deep_link").describe("Deep-link connection requiring native app interaction"),
|
|
39
|
+
url: z.string().describe("Deep link URL to open in platform app"),
|
|
40
|
+
installationId: z.string().describe("Installation identifier")
|
|
41
|
+
});
|
|
42
|
+
var channelConnectImmediateSchema = z.object({
|
|
43
|
+
type: z.literal("immediate").describe("Immediate connection with no user interaction needed"),
|
|
44
|
+
installationId: z.string().describe("Installation identifier")
|
|
45
|
+
});
|
|
46
|
+
var channelConnectResultSchema = z.discriminatedUnion("type", [
|
|
47
|
+
channelConnectOAuthSchema,
|
|
48
|
+
channelConnectDeepLinkSchema,
|
|
49
|
+
channelConnectImmediateSchema
|
|
50
|
+
]);
|
|
51
|
+
var listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);
|
|
52
|
+
var listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);
|
|
53
|
+
var connectChannelResponseSchema = channelConnectResultSchema;
|
|
54
|
+
var disconnectChannelResponseSchema = z.object({
|
|
55
|
+
success: z.boolean()
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
// src/server/handlers/channels.ts
|
|
59
|
+
function assertChannelsAvailable() {
|
|
60
|
+
if (!coreFeatures.has("channels")) {
|
|
61
|
+
throw new HTTPException(501, { message: "Channels require a newer version of @mastra/core" });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function getChannelOrThrow(mastra, platform) {
|
|
65
|
+
const channels = mastra.channels ?? {};
|
|
66
|
+
const channel = Object.values(channels).find((c) => c.id === platform);
|
|
67
|
+
if (!channel) {
|
|
68
|
+
const available = Object.values(channels).map((c) => c.id).join(", ");
|
|
69
|
+
throw new HTTPException(404, {
|
|
70
|
+
message: `Channel "${platform}" is not registered. Available: ${available || "none"}`
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return channel;
|
|
74
|
+
}
|
|
75
|
+
function assertAgentExists(mastra, agentId) {
|
|
76
|
+
const agent = mastra.getAgentById?.(agentId);
|
|
77
|
+
if (!agent) {
|
|
78
|
+
throw new HTTPException(404, {
|
|
79
|
+
message: `Agent "${agentId}" not found`
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
var LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({
|
|
84
|
+
method: "GET",
|
|
85
|
+
path: "/channels/platforms",
|
|
86
|
+
responseType: "json",
|
|
87
|
+
responseSchema: listChannelPlatformsResponseSchema,
|
|
88
|
+
summary: "List channel platforms",
|
|
89
|
+
description: "Returns available channel platforms and their configuration status",
|
|
90
|
+
tags: ["Channels"],
|
|
91
|
+
requiresAuth: true,
|
|
92
|
+
handler: async ({ mastra }) => {
|
|
93
|
+
assertChannelsAvailable();
|
|
94
|
+
try {
|
|
95
|
+
const channels = mastra.channels ?? {};
|
|
96
|
+
return Object.values(channels).map((channel) => {
|
|
97
|
+
if (channel.getInfo) {
|
|
98
|
+
return channel.getInfo();
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
id: channel.id,
|
|
102
|
+
name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),
|
|
103
|
+
isConfigured: true
|
|
104
|
+
};
|
|
105
|
+
});
|
|
106
|
+
} catch (error) {
|
|
107
|
+
return handleError(error, "Error listing channel platforms");
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
var LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({
|
|
112
|
+
method: "GET",
|
|
113
|
+
path: "/channels/:platform/installations",
|
|
114
|
+
responseType: "json",
|
|
115
|
+
pathParamSchema: channelPlatformPathParams,
|
|
116
|
+
responseSchema: listChannelInstallationsResponseSchema,
|
|
117
|
+
summary: "List channel installations",
|
|
118
|
+
description: "Returns all active and pending installations for a channel platform",
|
|
119
|
+
tags: ["Channels"],
|
|
120
|
+
requiresAuth: true,
|
|
121
|
+
handler: async ({ mastra, platform }) => {
|
|
122
|
+
assertChannelsAvailable();
|
|
123
|
+
try {
|
|
124
|
+
const channel = getChannelOrThrow(mastra, platform);
|
|
125
|
+
if (!channel.listInstallations) {
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
return await channel.listInstallations();
|
|
129
|
+
} catch (error) {
|
|
130
|
+
return handleError(error, "Error listing channel installations");
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
var CONNECT_CHANNEL_ROUTE = createRoute({
|
|
135
|
+
method: "POST",
|
|
136
|
+
path: "/channels/:platform/connect",
|
|
137
|
+
responseType: "json",
|
|
138
|
+
pathParamSchema: channelPlatformPathParams,
|
|
139
|
+
bodySchema: connectChannelBodySchema,
|
|
140
|
+
responseSchema: connectChannelResponseSchema,
|
|
141
|
+
summary: "Connect agent to channel",
|
|
142
|
+
description: "Creates a platform app for the agent and returns an OAuth authorization URL",
|
|
143
|
+
tags: ["Channels"],
|
|
144
|
+
requiresAuth: true,
|
|
145
|
+
handler: async ({ mastra, platform, agentId, options }) => {
|
|
146
|
+
assertChannelsAvailable();
|
|
147
|
+
try {
|
|
148
|
+
const channel = getChannelOrThrow(mastra, platform);
|
|
149
|
+
if (!channel.connect) {
|
|
150
|
+
throw new HTTPException(400, {
|
|
151
|
+
message: `Channel "${platform}" does not support programmatic connection`
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
return await channel.connect(agentId, options);
|
|
155
|
+
} catch (error) {
|
|
156
|
+
return handleError(error, "Error connecting agent to channel");
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
var DISCONNECT_CHANNEL_ROUTE = createRoute({
|
|
161
|
+
method: "POST",
|
|
162
|
+
path: "/channels/:platform/:agentId/disconnect",
|
|
163
|
+
responseType: "json",
|
|
164
|
+
pathParamSchema: channelAgentPathParams,
|
|
165
|
+
responseSchema: disconnectChannelResponseSchema,
|
|
166
|
+
summary: "Disconnect agent from channel",
|
|
167
|
+
description: "Deletes the platform app and cleans up the installation",
|
|
168
|
+
tags: ["Channels"],
|
|
169
|
+
requiresAuth: true,
|
|
170
|
+
handler: async ({ mastra, platform, agentId }) => {
|
|
171
|
+
assertChannelsAvailable();
|
|
172
|
+
try {
|
|
173
|
+
assertAgentExists(mastra, agentId);
|
|
174
|
+
const channel = getChannelOrThrow(mastra, platform);
|
|
175
|
+
if (!channel.disconnect) {
|
|
176
|
+
throw new HTTPException(400, {
|
|
177
|
+
message: `Channel "${platform}" does not support programmatic disconnection`
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
await channel.disconnect(agentId);
|
|
181
|
+
return { success: true };
|
|
182
|
+
} catch (error) {
|
|
183
|
+
return handleError(error, "Error disconnecting agent from channel");
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
export { CONNECT_CHANNEL_ROUTE, DISCONNECT_CHANNEL_ROUTE, LIST_CHANNEL_INSTALLATIONS_ROUTE, LIST_CHANNEL_PLATFORMS_ROUTE };
|
|
189
|
+
//# sourceMappingURL=chunk-CUIH4FYN.js.map
|
|
190
|
+
//# sourceMappingURL=chunk-CUIH4FYN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":[],"mappings":"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","file":"chunk-CUIH4FYN.js","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import { coreFeatures } from '@mastra/core/features';\n\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk5UKYK7YK_cjs = require('./chunk-5UKYK7YK.cjs');
|
|
4
|
+
var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
|
|
5
|
+
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
6
|
+
var features = require('@mastra/core/features');
|
|
7
|
+
var v4 = require('zod/v4');
|
|
8
|
+
|
|
9
|
+
var channelPlatformPathParams = v4.z.object({
|
|
10
|
+
platform: v4.z.string().describe('Channel platform identifier (e.g., "slack")')
|
|
11
|
+
});
|
|
12
|
+
var channelAgentPathParams = v4.z.object({
|
|
13
|
+
platform: v4.z.string().describe('Channel platform identifier (e.g., "slack")'),
|
|
14
|
+
agentId: v4.z.string().describe("Agent identifier")
|
|
15
|
+
});
|
|
16
|
+
var connectChannelBodySchema = v4.z.object({
|
|
17
|
+
agentId: v4.z.string().describe("Agent identifier to connect"),
|
|
18
|
+
options: v4.z.record(v4.z.string(), v4.z.unknown()).optional().describe("Platform-specific connection options")
|
|
19
|
+
});
|
|
20
|
+
var channelPlatformInfoSchema = v4.z.object({
|
|
21
|
+
id: v4.z.string().describe("Platform identifier"),
|
|
22
|
+
name: v4.z.string().describe("Human-readable platform name"),
|
|
23
|
+
isConfigured: v4.z.boolean().describe("Whether the platform is ready to connect agents"),
|
|
24
|
+
connectOptionsSchema: v4.z.record(v4.z.string(), v4.z.unknown()).optional().describe("JSON Schema for connect options")
|
|
25
|
+
});
|
|
26
|
+
var channelInstallationInfoSchema = v4.z.object({
|
|
27
|
+
id: v4.z.string().describe("Installation identifier"),
|
|
28
|
+
platform: v4.z.string().describe("Platform identifier"),
|
|
29
|
+
agentId: v4.z.string().describe("Connected agent identifier"),
|
|
30
|
+
status: v4.z.enum(["active", "pending"]).describe("Installation status"),
|
|
31
|
+
displayName: v4.z.string().optional().describe("Platform-specific display name"),
|
|
32
|
+
installedAt: v4.z.coerce.date().optional().describe("Installation timestamp")
|
|
33
|
+
});
|
|
34
|
+
var channelConnectOAuthSchema = v4.z.object({
|
|
35
|
+
type: v4.z.literal("oauth").describe("OAuth-based connection requiring browser redirect"),
|
|
36
|
+
authorizationUrl: v4.z.string().describe("OAuth authorization URL for user redirect"),
|
|
37
|
+
installationId: v4.z.string().describe("Installation identifier")
|
|
38
|
+
});
|
|
39
|
+
var channelConnectDeepLinkSchema = v4.z.object({
|
|
40
|
+
type: v4.z.literal("deep_link").describe("Deep-link connection requiring native app interaction"),
|
|
41
|
+
url: v4.z.string().describe("Deep link URL to open in platform app"),
|
|
42
|
+
installationId: v4.z.string().describe("Installation identifier")
|
|
43
|
+
});
|
|
44
|
+
var channelConnectImmediateSchema = v4.z.object({
|
|
45
|
+
type: v4.z.literal("immediate").describe("Immediate connection with no user interaction needed"),
|
|
46
|
+
installationId: v4.z.string().describe("Installation identifier")
|
|
47
|
+
});
|
|
48
|
+
var channelConnectResultSchema = v4.z.discriminatedUnion("type", [
|
|
49
|
+
channelConnectOAuthSchema,
|
|
50
|
+
channelConnectDeepLinkSchema,
|
|
51
|
+
channelConnectImmediateSchema
|
|
52
|
+
]);
|
|
53
|
+
var listChannelPlatformsResponseSchema = v4.z.array(channelPlatformInfoSchema);
|
|
54
|
+
var listChannelInstallationsResponseSchema = v4.z.array(channelInstallationInfoSchema);
|
|
55
|
+
var connectChannelResponseSchema = channelConnectResultSchema;
|
|
56
|
+
var disconnectChannelResponseSchema = v4.z.object({
|
|
57
|
+
success: v4.z.boolean()
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// src/server/handlers/channels.ts
|
|
61
|
+
function assertChannelsAvailable() {
|
|
62
|
+
if (!features.coreFeatures.has("channels")) {
|
|
63
|
+
throw new chunk64ITUOXI_cjs.HTTPException(501, { message: "Channels require a newer version of @mastra/core" });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function getChannelOrThrow(mastra, platform) {
|
|
67
|
+
const channels = mastra.channels ?? {};
|
|
68
|
+
const channel = Object.values(channels).find((c) => c.id === platform);
|
|
69
|
+
if (!channel) {
|
|
70
|
+
const available = Object.values(channels).map((c) => c.id).join(", ");
|
|
71
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, {
|
|
72
|
+
message: `Channel "${platform}" is not registered. Available: ${available || "none"}`
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return channel;
|
|
76
|
+
}
|
|
77
|
+
function assertAgentExists(mastra, agentId) {
|
|
78
|
+
const agent = mastra.getAgentById?.(agentId);
|
|
79
|
+
if (!agent) {
|
|
80
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, {
|
|
81
|
+
message: `Agent "${agentId}" not found`
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
var LIST_CHANNEL_PLATFORMS_ROUTE = chunk5UKYK7YK_cjs.createRoute({
|
|
86
|
+
method: "GET",
|
|
87
|
+
path: "/channels/platforms",
|
|
88
|
+
responseType: "json",
|
|
89
|
+
responseSchema: listChannelPlatformsResponseSchema,
|
|
90
|
+
summary: "List channel platforms",
|
|
91
|
+
description: "Returns available channel platforms and their configuration status",
|
|
92
|
+
tags: ["Channels"],
|
|
93
|
+
requiresAuth: true,
|
|
94
|
+
handler: async ({ mastra }) => {
|
|
95
|
+
assertChannelsAvailable();
|
|
96
|
+
try {
|
|
97
|
+
const channels = mastra.channels ?? {};
|
|
98
|
+
return Object.values(channels).map((channel) => {
|
|
99
|
+
if (channel.getInfo) {
|
|
100
|
+
return channel.getInfo();
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
id: channel.id,
|
|
104
|
+
name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),
|
|
105
|
+
isConfigured: true
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
} catch (error) {
|
|
109
|
+
return chunkB34S64RC_cjs.handleError(error, "Error listing channel platforms");
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
var LIST_CHANNEL_INSTALLATIONS_ROUTE = chunk5UKYK7YK_cjs.createRoute({
|
|
114
|
+
method: "GET",
|
|
115
|
+
path: "/channels/:platform/installations",
|
|
116
|
+
responseType: "json",
|
|
117
|
+
pathParamSchema: channelPlatformPathParams,
|
|
118
|
+
responseSchema: listChannelInstallationsResponseSchema,
|
|
119
|
+
summary: "List channel installations",
|
|
120
|
+
description: "Returns all active and pending installations for a channel platform",
|
|
121
|
+
tags: ["Channels"],
|
|
122
|
+
requiresAuth: true,
|
|
123
|
+
handler: async ({ mastra, platform }) => {
|
|
124
|
+
assertChannelsAvailable();
|
|
125
|
+
try {
|
|
126
|
+
const channel = getChannelOrThrow(mastra, platform);
|
|
127
|
+
if (!channel.listInstallations) {
|
|
128
|
+
return [];
|
|
129
|
+
}
|
|
130
|
+
return await channel.listInstallations();
|
|
131
|
+
} catch (error) {
|
|
132
|
+
return chunkB34S64RC_cjs.handleError(error, "Error listing channel installations");
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
var CONNECT_CHANNEL_ROUTE = chunk5UKYK7YK_cjs.createRoute({
|
|
137
|
+
method: "POST",
|
|
138
|
+
path: "/channels/:platform/connect",
|
|
139
|
+
responseType: "json",
|
|
140
|
+
pathParamSchema: channelPlatformPathParams,
|
|
141
|
+
bodySchema: connectChannelBodySchema,
|
|
142
|
+
responseSchema: connectChannelResponseSchema,
|
|
143
|
+
summary: "Connect agent to channel",
|
|
144
|
+
description: "Creates a platform app for the agent and returns an OAuth authorization URL",
|
|
145
|
+
tags: ["Channels"],
|
|
146
|
+
requiresAuth: true,
|
|
147
|
+
handler: async ({ mastra, platform, agentId, options }) => {
|
|
148
|
+
assertChannelsAvailable();
|
|
149
|
+
try {
|
|
150
|
+
const channel = getChannelOrThrow(mastra, platform);
|
|
151
|
+
if (!channel.connect) {
|
|
152
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, {
|
|
153
|
+
message: `Channel "${platform}" does not support programmatic connection`
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
return await channel.connect(agentId, options);
|
|
157
|
+
} catch (error) {
|
|
158
|
+
return chunkB34S64RC_cjs.handleError(error, "Error connecting agent to channel");
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
var DISCONNECT_CHANNEL_ROUTE = chunk5UKYK7YK_cjs.createRoute({
|
|
163
|
+
method: "POST",
|
|
164
|
+
path: "/channels/:platform/:agentId/disconnect",
|
|
165
|
+
responseType: "json",
|
|
166
|
+
pathParamSchema: channelAgentPathParams,
|
|
167
|
+
responseSchema: disconnectChannelResponseSchema,
|
|
168
|
+
summary: "Disconnect agent from channel",
|
|
169
|
+
description: "Deletes the platform app and cleans up the installation",
|
|
170
|
+
tags: ["Channels"],
|
|
171
|
+
requiresAuth: true,
|
|
172
|
+
handler: async ({ mastra, platform, agentId }) => {
|
|
173
|
+
assertChannelsAvailable();
|
|
174
|
+
try {
|
|
175
|
+
assertAgentExists(mastra, agentId);
|
|
176
|
+
const channel = getChannelOrThrow(mastra, platform);
|
|
177
|
+
if (!channel.disconnect) {
|
|
178
|
+
throw new chunk64ITUOXI_cjs.HTTPException(400, {
|
|
179
|
+
message: `Channel "${platform}" does not support programmatic disconnection`
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
await channel.disconnect(agentId);
|
|
183
|
+
return { success: true };
|
|
184
|
+
} catch (error) {
|
|
185
|
+
return chunkB34S64RC_cjs.handleError(error, "Error disconnecting agent from channel");
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
exports.CONNECT_CHANNEL_ROUTE = CONNECT_CHANNEL_ROUTE;
|
|
191
|
+
exports.DISCONNECT_CHANNEL_ROUTE = DISCONNECT_CHANNEL_ROUTE;
|
|
192
|
+
exports.LIST_CHANNEL_INSTALLATIONS_ROUTE = LIST_CHANNEL_INSTALLATIONS_ROUTE;
|
|
193
|
+
exports.LIST_CHANNEL_PLATFORMS_ROUTE = LIST_CHANNEL_PLATFORMS_ROUTE;
|
|
194
|
+
//# sourceMappingURL=chunk-CXBX2UAP.cjs.map
|
|
195
|
+
//# sourceMappingURL=chunk-CXBX2UAP.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":["z","coreFeatures","HTTPException","createRoute","handleError"],"mappings":"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","file":"chunk-CXBX2UAP.cjs","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import { coreFeatures } from '@mastra/core/features';\n\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
|
|
@@ -30831,5 +30831,5 @@ var OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE = createRoute({
|
|
|
30831
30831
|
});
|
|
30832
30832
|
|
|
30833
30833
|
export { CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE, CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE, GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE, GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE, LIST_AGENT_BUILDER_ACTIONS_ROUTE, LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE, OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE, OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE, RESUME_AGENT_BUILDER_ACTION_ROUTE, RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE, RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE, START_AGENT_BUILDER_ACTION_RUN_ROUTE, START_ASYNC_AGENT_BUILDER_ACTION_ROUTE, STREAM_AGENT_BUILDER_ACTION_ROUTE, STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE, agent_builder_exports };
|
|
30834
|
-
//# sourceMappingURL=chunk-
|
|
30835
|
-
//# sourceMappingURL=chunk-
|
|
30834
|
+
//# sourceMappingURL=chunk-S4EHZQFI.js.map
|
|
30835
|
+
//# sourceMappingURL=chunk-S4EHZQFI.js.map
|