bn-slack-mcp-server 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +243 -0
  2. package/dist/debug-middleware.d.ts +12 -0
  3. package/dist/debug-middleware.d.ts.map +1 -0
  4. package/dist/debug-middleware.js +36 -0
  5. package/dist/debug-middleware.js.map +1 -0
  6. package/dist/helpers.d.ts +86 -0
  7. package/dist/helpers.d.ts.map +1 -0
  8. package/dist/helpers.js +235 -0
  9. package/dist/helpers.js.map +1 -0
  10. package/dist/index.d.ts +9 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +162 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/schemas.d.ts +286 -0
  15. package/dist/schemas.d.ts.map +1 -0
  16. package/dist/schemas.js +840 -0
  17. package/dist/schemas.js.map +1 -0
  18. package/dist/slack-api-client.d.ts +51 -0
  19. package/dist/slack-api-client.d.ts.map +1 -0
  20. package/dist/slack-api-client.js +227 -0
  21. package/dist/slack-api-client.js.map +1 -0
  22. package/dist/tool-loader.d.ts +35 -0
  23. package/dist/tool-loader.d.ts.map +1 -0
  24. package/dist/tool-loader.js +121 -0
  25. package/dist/tool-loader.js.map +1 -0
  26. package/dist/tool-registry.d.ts +44 -0
  27. package/dist/tool-registry.d.ts.map +1 -0
  28. package/dist/tool-registry.js +56 -0
  29. package/dist/tool-registry.js.map +1 -0
  30. package/dist/tools/cache.d.ts +69 -0
  31. package/dist/tools/cache.d.ts.map +1 -0
  32. package/dist/tools/cache.js +94 -0
  33. package/dist/tools/cache.js.map +1 -0
  34. package/dist/tools/channels.d.ts +76 -0
  35. package/dist/tools/channels.d.ts.map +1 -0
  36. package/dist/tools/channels.js +251 -0
  37. package/dist/tools/channels.js.map +1 -0
  38. package/dist/tools/conversations.d.ts +77 -0
  39. package/dist/tools/conversations.d.ts.map +1 -0
  40. package/dist/tools/conversations.js +302 -0
  41. package/dist/tools/conversations.js.map +1 -0
  42. package/dist/tools/files.d.ts +15 -0
  43. package/dist/tools/files.d.ts.map +1 -0
  44. package/dist/tools/files.js +30 -0
  45. package/dist/tools/files.js.map +1 -0
  46. package/dist/tools/index.d.ts +12 -0
  47. package/dist/tools/index.d.ts.map +1 -0
  48. package/dist/tools/index.js +20 -0
  49. package/dist/tools/index.js.map +1 -0
  50. package/dist/tools/messages.d.ts +20 -0
  51. package/dist/tools/messages.d.ts.map +1 -0
  52. package/dist/tools/messages.js +40 -0
  53. package/dist/tools/messages.js.map +1 -0
  54. package/dist/tools/system.d.ts +48 -0
  55. package/dist/tools/system.d.ts.map +1 -0
  56. package/dist/tools/system.js +124 -0
  57. package/dist/tools/system.js.map +1 -0
  58. package/dist/tools/users.d.ts +69 -0
  59. package/dist/tools/users.d.ts.map +1 -0
  60. package/dist/tools/users.js +179 -0
  61. package/dist/tools/users.js.map +1 -0
  62. package/dist/tools/workspace.d.ts +50 -0
  63. package/dist/tools/workspace.d.ts.map +1 -0
  64. package/dist/tools/workspace.js +56 -0
  65. package/dist/tools/workspace.js.map +1 -0
  66. package/dist/types.d.ts +160 -0
  67. package/dist/types.d.ts.map +1 -0
  68. package/dist/types.js +2 -0
  69. package/dist/types.js.map +1 -0
  70. package/package.json +48 -0
  71. package/tools.json +483 -0
package/dist/index.js ADDED
@@ -0,0 +1,162 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Slack MCP Server
4
+ *
5
+ * A stateless Model Context Protocol server for Slack API
6
+ * using Bearer token authentication.
7
+ */
8
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
9
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
10
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
11
+ import express from "express";
12
+ import { z } from "zod";
13
+ // Import schemas
14
+ import { ConversationsHistorySchema, ConversationsRepliesSchema, ConversationsAddMessageSchema, ConversationsSearchMessagesSchema, BulkConversationsHistorySchema, UsersListSchema, UserInfoSchema, UserPresenceSchema, ChannelInfoSchema, ChannelMembersSchema, ChannelsListSchema, ChannelsDetailedSchema, SetChannelTopicSchema, SetChannelPurposeSchema, MessagePermalinkSchema, AddReactionSchema, FilesListSchema, WorkspaceInfoSchema, InitializeCacheSchema, CacheInfoSchema, ClearCacheSchema, CheckPermissionsSchema, AnalyticsSummarySchema, } from "./schemas.js";
15
+ // Import tool handlers
16
+ import { conversationsHistory, conversationsReplies, conversationsAddMessage, conversationsSearchMessages, bulkConversationsHistory, usersList, userInfo, userPresence, channelInfo, channelMembers, channelsList, channelsDetailed, setChannelTopic, setChannelPurpose, messagePermalink, addReaction, filesList, workspaceInfo, initializeCache, cacheInfo, clearCache, checkPermissions, analyticsSummary, } from "./tools/index.js";
17
+ // Import tool loader
18
+ import { loadToolDefinitions } from "./tool-loader.js";
19
+ // Import tool registry
20
+ import { ToolRegistry } from "./tool-registry.js";
21
+ // Import debug mode flag
22
+ import { DEBUG_MODE } from "./debug-middleware.js";
23
+ // Create tool registry and register all tools
24
+ const toolRegistry = new ToolRegistry();
25
+ // Register Conversation tools (5)
26
+ toolRegistry.register("conversations_history", ConversationsHistorySchema, conversationsHistory);
27
+ toolRegistry.register("conversations_replies", ConversationsRepliesSchema, conversationsReplies);
28
+ toolRegistry.register("conversations_add_message", ConversationsAddMessageSchema, conversationsAddMessage);
29
+ toolRegistry.register("conversations_search_messages", ConversationsSearchMessagesSchema, conversationsSearchMessages);
30
+ toolRegistry.register("bulk_conversations_history", BulkConversationsHistorySchema, bulkConversationsHistory);
31
+ // Register User tools (3)
32
+ toolRegistry.register("users_list", UsersListSchema, usersList);
33
+ toolRegistry.register("user_info", UserInfoSchema, userInfo);
34
+ toolRegistry.register("user_presence", UserPresenceSchema, userPresence);
35
+ // Register Channel tools (6)
36
+ toolRegistry.register("channel_info", ChannelInfoSchema, channelInfo);
37
+ toolRegistry.register("channel_members", ChannelMembersSchema, channelMembers);
38
+ toolRegistry.register("channels_list", ChannelsListSchema, channelsList);
39
+ toolRegistry.register("channels_detailed", ChannelsDetailedSchema, channelsDetailed);
40
+ toolRegistry.register("set_channel_topic", SetChannelTopicSchema, setChannelTopic);
41
+ toolRegistry.register("set_channel_purpose", SetChannelPurposeSchema, setChannelPurpose);
42
+ // Register Message tools (2)
43
+ toolRegistry.register("message_permalink", MessagePermalinkSchema, messagePermalink);
44
+ toolRegistry.register("add_reaction", AddReactionSchema, addReaction);
45
+ // Register File tools (1)
46
+ toolRegistry.register("files_list", FilesListSchema, filesList);
47
+ // Register Workspace tools (1)
48
+ toolRegistry.register("workspace_info", WorkspaceInfoSchema, workspaceInfo);
49
+ // Register Cache tools (3)
50
+ toolRegistry.register("initialize_cache", InitializeCacheSchema, initializeCache);
51
+ toolRegistry.register("cache_info", CacheInfoSchema, cacheInfo);
52
+ toolRegistry.register("clear_cache", ClearCacheSchema, clearCache);
53
+ // Register System tools (2)
54
+ toolRegistry.register("check_permissions", CheckPermissionsSchema, checkPermissions);
55
+ toolRegistry.register("analytics_summary", AnalyticsSummarySchema, analyticsSummary);
56
+ // Create MCP server
57
+ const server = new Server({
58
+ name: "slack-mcp-server",
59
+ version: "1.0.0",
60
+ }, {
61
+ capabilities: {
62
+ tools: {},
63
+ },
64
+ });
65
+ // Register tool handlers
66
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
67
+ // Load tool definitions from JSON (reloads on each request in dev mode)
68
+ const toolDefinitions = loadToolDefinitions();
69
+ return {
70
+ tools: toolDefinitions,
71
+ };
72
+ });
73
+ // Store current request in context (set during HTTP request handling)
74
+ let currentRequest = null;
75
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
76
+ if (!currentRequest) {
77
+ throw new Error("No request context available. This server must be called via HTTP transport.");
78
+ }
79
+ try {
80
+ // Execute tool via registry (includes automatic validation and debug wrapping)
81
+ const result = await toolRegistry.execute(request.params.name, request.params.arguments, currentRequest);
82
+ // Return formatted response with data and optional debug info
83
+ // Debug info is included in the response when DEBUG mode is enabled
84
+ return {
85
+ content: [
86
+ {
87
+ type: "text",
88
+ text: JSON.stringify(result, null, 2),
89
+ },
90
+ ],
91
+ };
92
+ }
93
+ catch (error) {
94
+ if (error instanceof z.ZodError) {
95
+ throw new Error(`Invalid arguments: ${error.message}`);
96
+ }
97
+ throw error;
98
+ }
99
+ });
100
+ // Create Express app with stateless HTTP transport
101
+ const app = express();
102
+ app.use(express.json());
103
+ // Create stateless transport (no session management)
104
+ const transport = new StreamableHTTPServerTransport({
105
+ sessionIdGenerator: undefined, // Stateless mode
106
+ enableJsonResponse: true,
107
+ });
108
+ // Connect server to transport
109
+ await server.connect(transport);
110
+ // Handle MCP requests
111
+ app.post("/mcp", async (req, res) => {
112
+ try {
113
+ // Store request in context for tool handlers to access headers
114
+ currentRequest = req;
115
+ await transport.handleRequest(req, res, req.body);
116
+ currentRequest = null; // Clear context after request
117
+ }
118
+ catch (error) {
119
+ currentRequest = null; // Clear context on error
120
+ console.error("Error handling MCP request:", error);
121
+ res.status(500).json({
122
+ error: "Internal server error",
123
+ message: error instanceof Error ? error.message : "Unknown error",
124
+ });
125
+ }
126
+ });
127
+ // Health check endpoint
128
+ app.get("/health", (_req, res) => {
129
+ res.json({
130
+ status: "healthy",
131
+ server: "slack-mcp-server",
132
+ version: "1.0.0",
133
+ stateless: true,
134
+ debug: DEBUG_MODE,
135
+ registeredTools: toolRegistry.getToolNames(),
136
+ categories: {
137
+ conversations: 5,
138
+ users: 3,
139
+ channels: 6,
140
+ messages: 2,
141
+ files: 1,
142
+ workspace: 1,
143
+ cache: 3,
144
+ system: 2,
145
+ },
146
+ });
147
+ });
148
+ // Start server
149
+ const PORT = process.env.PORT || 30001;
150
+ app.listen(PORT, () => {
151
+ console.log(`Slack MCP Server running on http://localhost:${PORT}`);
152
+ console.log(`MCP endpoint: http://localhost:${PORT}/mcp`);
153
+ console.log(`Health check: http://localhost:${PORT}/health`);
154
+ console.log("Mode: Stateless (no session management)");
155
+ console.log("Authentication: Bearer token required");
156
+ console.log(`Debug mode: ${DEBUG_MODE ? "ENABLED" : "DISABLED"}`);
157
+ console.log(`Total tools: ${toolRegistry.getToolNames().length}`);
158
+ if (DEBUG_MODE) {
159
+ console.log(`Registered tools: ${toolRegistry.getToolNames().join(", ")}`);
160
+ }
161
+ });
162
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Zod schemas for Slack MCP Server tools
3
+ *
4
+ * Each schema includes comprehensive .describe() documentation for LLM-friendly usage.
5
+ * Descriptions include: use cases, examples, parameter relationships, and best practices.
6
+ */
7
+ import { z } from "zod";
8
+ export declare const ConversationsHistorySchema: z.ZodObject<{
9
+ channel_id: z.ZodString;
10
+ limit: z.ZodDefault<z.ZodOptional<z.ZodString>>;
11
+ include_activity_messages: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
12
+ include_user_details: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
13
+ cursor: z.ZodOptional<z.ZodString>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ channel_id: string;
16
+ limit: string;
17
+ include_activity_messages: boolean;
18
+ include_user_details: boolean;
19
+ cursor?: string | undefined;
20
+ }, {
21
+ channel_id: string;
22
+ limit?: string | undefined;
23
+ include_activity_messages?: boolean | undefined;
24
+ include_user_details?: boolean | undefined;
25
+ cursor?: string | undefined;
26
+ }>;
27
+ export declare const ConversationsRepliesSchema: z.ZodObject<{
28
+ channel_id: z.ZodString;
29
+ thread_ts: z.ZodString;
30
+ limit: z.ZodDefault<z.ZodOptional<z.ZodString>>;
31
+ include_activity_messages: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
32
+ cursor: z.ZodOptional<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ channel_id: string;
35
+ limit: string;
36
+ include_activity_messages: boolean;
37
+ thread_ts: string;
38
+ cursor?: string | undefined;
39
+ }, {
40
+ channel_id: string;
41
+ thread_ts: string;
42
+ limit?: string | undefined;
43
+ include_activity_messages?: boolean | undefined;
44
+ cursor?: string | undefined;
45
+ }>;
46
+ export declare const ConversationsAddMessageSchema: z.ZodObject<{
47
+ channel_id: z.ZodString;
48
+ payload: z.ZodString;
49
+ thread_ts: z.ZodOptional<z.ZodString>;
50
+ content_type: z.ZodDefault<z.ZodOptional<z.ZodString>>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ channel_id: string;
53
+ payload: string;
54
+ content_type: string;
55
+ thread_ts?: string | undefined;
56
+ }, {
57
+ channel_id: string;
58
+ payload: string;
59
+ thread_ts?: string | undefined;
60
+ content_type?: string | undefined;
61
+ }>;
62
+ export declare const ConversationsSearchMessagesSchema: z.ZodObject<{
63
+ search_query: z.ZodOptional<z.ZodString>;
64
+ filter_in_channel: z.ZodOptional<z.ZodString>;
65
+ filter_in_im_or_mpim: z.ZodOptional<z.ZodString>;
66
+ filter_users_from: z.ZodOptional<z.ZodString>;
67
+ filter_users_with: z.ZodOptional<z.ZodString>;
68
+ filter_date_before: z.ZodOptional<z.ZodString>;
69
+ filter_date_after: z.ZodOptional<z.ZodString>;
70
+ filter_date_on: z.ZodOptional<z.ZodString>;
71
+ filter_date_during: z.ZodOptional<z.ZodString>;
72
+ filter_threads_only: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
73
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
74
+ cursor: z.ZodOptional<z.ZodString>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ limit: number;
77
+ filter_threads_only: boolean;
78
+ cursor?: string | undefined;
79
+ search_query?: string | undefined;
80
+ filter_in_channel?: string | undefined;
81
+ filter_in_im_or_mpim?: string | undefined;
82
+ filter_users_from?: string | undefined;
83
+ filter_users_with?: string | undefined;
84
+ filter_date_before?: string | undefined;
85
+ filter_date_after?: string | undefined;
86
+ filter_date_on?: string | undefined;
87
+ filter_date_during?: string | undefined;
88
+ }, {
89
+ limit?: number | undefined;
90
+ cursor?: string | undefined;
91
+ search_query?: string | undefined;
92
+ filter_in_channel?: string | undefined;
93
+ filter_in_im_or_mpim?: string | undefined;
94
+ filter_users_from?: string | undefined;
95
+ filter_users_with?: string | undefined;
96
+ filter_date_before?: string | undefined;
97
+ filter_date_after?: string | undefined;
98
+ filter_date_on?: string | undefined;
99
+ filter_date_during?: string | undefined;
100
+ filter_threads_only?: boolean | undefined;
101
+ }>;
102
+ export declare const BulkConversationsHistorySchema: z.ZodObject<{
103
+ channel_ids: z.ZodString;
104
+ limit: z.ZodDefault<z.ZodOptional<z.ZodString>>;
105
+ include_user_details: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
106
+ include_activity_messages: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
107
+ filter_user: z.ZodOptional<z.ZodString>;
108
+ }, "strip", z.ZodTypeAny, {
109
+ limit: string;
110
+ include_activity_messages: boolean;
111
+ include_user_details: boolean;
112
+ channel_ids: string;
113
+ filter_user?: string | undefined;
114
+ }, {
115
+ channel_ids: string;
116
+ limit?: string | undefined;
117
+ include_activity_messages?: boolean | undefined;
118
+ include_user_details?: boolean | undefined;
119
+ filter_user?: string | undefined;
120
+ }>;
121
+ export declare const UsersListSchema: z.ZodObject<{
122
+ filter_type: z.ZodDefault<z.ZodOptional<z.ZodString>>;
123
+ include_bots: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
124
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
125
+ }, "strip", z.ZodTypeAny, {
126
+ limit: number;
127
+ filter_type: string;
128
+ include_bots: boolean;
129
+ }, {
130
+ limit?: number | undefined;
131
+ filter_type?: string | undefined;
132
+ include_bots?: boolean | undefined;
133
+ }>;
134
+ export declare const UserInfoSchema: z.ZodObject<{
135
+ user_ids: z.ZodString;
136
+ use_cache: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ user_ids: string;
139
+ use_cache: boolean;
140
+ }, {
141
+ user_ids: string;
142
+ use_cache?: boolean | undefined;
143
+ }>;
144
+ export declare const UserPresenceSchema: z.ZodObject<{
145
+ user_id: z.ZodString;
146
+ }, "strip", z.ZodTypeAny, {
147
+ user_id: string;
148
+ }, {
149
+ user_id: string;
150
+ }>;
151
+ export declare const ChannelInfoSchema: z.ZodObject<{
152
+ channel_id: z.ZodString;
153
+ include_locale: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
154
+ use_cache: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
155
+ }, "strip", z.ZodTypeAny, {
156
+ channel_id: string;
157
+ use_cache: boolean;
158
+ include_locale: boolean;
159
+ }, {
160
+ channel_id: string;
161
+ use_cache?: boolean | undefined;
162
+ include_locale?: boolean | undefined;
163
+ }>;
164
+ export declare const ChannelMembersSchema: z.ZodObject<{
165
+ channel_id: z.ZodString;
166
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
167
+ cursor: z.ZodOptional<z.ZodString>;
168
+ }, "strip", z.ZodTypeAny, {
169
+ channel_id: string;
170
+ limit: number;
171
+ cursor?: string | undefined;
172
+ }, {
173
+ channel_id: string;
174
+ limit?: number | undefined;
175
+ cursor?: string | undefined;
176
+ }>;
177
+ export declare const ChannelsListSchema: z.ZodObject<{
178
+ channel_types: z.ZodString;
179
+ sort: z.ZodOptional<z.ZodString>;
180
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
181
+ cursor: z.ZodOptional<z.ZodString>;
182
+ }, "strip", z.ZodTypeAny, {
183
+ limit: number;
184
+ channel_types: string;
185
+ cursor?: string | undefined;
186
+ sort?: string | undefined;
187
+ }, {
188
+ channel_types: string;
189
+ limit?: number | undefined;
190
+ cursor?: string | undefined;
191
+ sort?: string | undefined;
192
+ }>;
193
+ export declare const ChannelsDetailedSchema: z.ZodObject<{
194
+ channel_types: z.ZodDefault<z.ZodOptional<z.ZodString>>;
195
+ sort: z.ZodOptional<z.ZodString>;
196
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
197
+ include_detailed_info: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ limit: number;
200
+ channel_types: string;
201
+ include_detailed_info: boolean;
202
+ sort?: string | undefined;
203
+ }, {
204
+ limit?: number | undefined;
205
+ sort?: string | undefined;
206
+ channel_types?: string | undefined;
207
+ include_detailed_info?: boolean | undefined;
208
+ }>;
209
+ export declare const SetChannelTopicSchema: z.ZodObject<{
210
+ channel_id: z.ZodString;
211
+ topic: z.ZodString;
212
+ }, "strip", z.ZodTypeAny, {
213
+ channel_id: string;
214
+ topic: string;
215
+ }, {
216
+ channel_id: string;
217
+ topic: string;
218
+ }>;
219
+ export declare const SetChannelPurposeSchema: z.ZodObject<{
220
+ channel_id: z.ZodString;
221
+ purpose: z.ZodString;
222
+ }, "strip", z.ZodTypeAny, {
223
+ channel_id: string;
224
+ purpose: string;
225
+ }, {
226
+ channel_id: string;
227
+ purpose: string;
228
+ }>;
229
+ export declare const MessagePermalinkSchema: z.ZodObject<{
230
+ channel_id: z.ZodString;
231
+ message_ts: z.ZodString;
232
+ }, "strip", z.ZodTypeAny, {
233
+ channel_id: string;
234
+ message_ts: string;
235
+ }, {
236
+ channel_id: string;
237
+ message_ts: string;
238
+ }>;
239
+ export declare const AddReactionSchema: z.ZodObject<{
240
+ channel_id: z.ZodString;
241
+ message_ts: z.ZodString;
242
+ emoji_name: z.ZodString;
243
+ }, "strip", z.ZodTypeAny, {
244
+ channel_id: string;
245
+ message_ts: string;
246
+ emoji_name: string;
247
+ }, {
248
+ channel_id: string;
249
+ message_ts: string;
250
+ emoji_name: string;
251
+ }>;
252
+ export declare const FilesListSchema: z.ZodObject<{
253
+ channel_id: z.ZodOptional<z.ZodString>;
254
+ user_id: z.ZodOptional<z.ZodString>;
255
+ count: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
256
+ types: z.ZodDefault<z.ZodOptional<z.ZodString>>;
257
+ }, "strip", z.ZodTypeAny, {
258
+ count: number;
259
+ types: string;
260
+ channel_id?: string | undefined;
261
+ user_id?: string | undefined;
262
+ }, {
263
+ channel_id?: string | undefined;
264
+ user_id?: string | undefined;
265
+ count?: number | undefined;
266
+ types?: string | undefined;
267
+ }>;
268
+ export declare const WorkspaceInfoSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
269
+ export declare const InitializeCacheSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
270
+ export declare const CacheInfoSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
271
+ export declare const ClearCacheSchema: z.ZodObject<{
272
+ cache_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["users", "channels", "both"]>>>;
273
+ }, "strip", z.ZodTypeAny, {
274
+ cache_type: "users" | "channels" | "both";
275
+ }, {
276
+ cache_type?: "users" | "channels" | "both" | undefined;
277
+ }>;
278
+ export declare const CheckPermissionsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
279
+ export declare const AnalyticsSummarySchema: z.ZodObject<{
280
+ date_range: z.ZodDefault<z.ZodOptional<z.ZodString>>;
281
+ }, "strip", z.ZodTypeAny, {
282
+ date_range: string;
283
+ }, {
284
+ date_range?: string | undefined;
285
+ }>;
286
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAwHrC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EA2CrC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;EAwFxC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwJ5C,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;EAyDzC,CAAC;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;EA2C1B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;EAuCzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;EAoB7B,CAAC;AAMH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EA0B5B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAyB/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAoC7B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EA2BjC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;EAoBhC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;EAkBlC,CAAC;AAMH,eAAO,MAAM,sBAAsB;;;;;;;;;EAgBjC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAkC5B,CAAC;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAwC1B,CAAC;AAMH,eAAO,MAAM,mBAAmB,gDAmB/B,CAAC;AAMF,eAAO,MAAM,qBAAqB,gDAoBjC,CAAC;AAEF,eAAO,MAAM,eAAe,gDAgB3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;EAiB3B,CAAC;AAMH,eAAO,MAAM,sBAAsB,gDAwBlC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;EA2BlC,CAAC"}