@rnsk/toolkits 0.0.8 → 0.0.9
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 +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +17 -1
- package/dist/toolkits/bitbucket/icon.d.ts +5 -0
- package/dist/toolkits/bitbucket/icon.js +6 -0
- package/dist/toolkits/bitbucket/manifest.d.ts +3 -0
- package/dist/toolkits/bitbucket/manifest.js +56 -0
- package/dist/toolkits/bitbucket/tools/client.d.ts +38 -0
- package/dist/toolkits/bitbucket/tools/client.js +87 -0
- package/dist/toolkits/bitbucket/tools/commits.d.ts +149 -0
- package/dist/toolkits/bitbucket/tools/commits.js +444 -0
- package/dist/toolkits/bitbucket/tools/index.d.ts +1093 -0
- package/dist/toolkits/bitbucket/tools/index.js +770 -0
- package/dist/toolkits/bitbucket/tools/issues.d.ts +73 -0
- package/dist/toolkits/bitbucket/tools/issues.js +234 -0
- package/dist/toolkits/bitbucket/tools/pipelines.d.ts +124 -0
- package/dist/toolkits/bitbucket/tools/pipelines.js +446 -0
- package/dist/toolkits/bitbucket/tools/pull-requests.d.ts +174 -0
- package/dist/toolkits/bitbucket/tools/pull-requests.js +541 -0
- package/dist/toolkits/bitbucket/tools/reports.d.ts +84 -0
- package/dist/toolkits/bitbucket/tools/reports.js +213 -0
- package/dist/toolkits/bitbucket/tools/repositories.d.ts +156 -0
- package/dist/toolkits/bitbucket/tools/repositories.js +531 -0
- package/dist/toolkits/bitbucket/tools/search.d.ts +17 -0
- package/dist/toolkits/bitbucket/tools/search.js +67 -0
- package/dist/toolkits/bitbucket/tools/snippets.d.ts +34 -0
- package/dist/toolkits/bitbucket/tools/snippets.js +122 -0
- package/dist/toolkits/bitbucket/tools/users-workspaces.d.ts +65 -0
- package/dist/toolkits/bitbucket/tools/users-workspaces.js +294 -0
- package/dist/toolkits/discord/icon.d.ts +5 -0
- package/dist/toolkits/discord/icon.js +12 -0
- package/dist/toolkits/discord/manifest.d.ts +3 -0
- package/dist/toolkits/discord/manifest.js +52 -0
- package/dist/toolkits/discord/tools/applications.d.ts +79 -0
- package/dist/toolkits/discord/tools/applications.js +216 -0
- package/dist/toolkits/discord/tools/client.d.ts +22 -0
- package/dist/toolkits/discord/tools/client.js +69 -0
- package/dist/toolkits/discord/tools/guilds.d.ts +39 -0
- package/dist/toolkits/discord/tools/guilds.js +123 -0
- package/dist/toolkits/discord/tools/index.d.ts +222 -0
- package/dist/toolkits/discord/tools/index.js +170 -0
- package/dist/toolkits/discord/tools/misc.d.ts +7 -0
- package/dist/toolkits/discord/tools/misc.js +40 -0
- package/dist/toolkits/discord/tools/users.d.ts +28 -0
- package/dist/toolkits/discord/tools/users.js +128 -0
- package/dist/toolkits/figma/tools/index.d.ts +1 -1
- package/dist/toolkits/figma/tools/render-images-of-file-nodes.d.ts +1 -1
- package/dist/toolkits/gitlab/icon.d.ts +5 -0
- package/dist/toolkits/gitlab/icon.js +6 -0
- package/dist/toolkits/gitlab/manifest.d.ts +3 -0
- package/dist/toolkits/gitlab/manifest.js +36 -0
- package/dist/toolkits/gitlab/tools/client.d.ts +7 -0
- package/dist/toolkits/gitlab/tools/client.js +45 -0
- package/dist/toolkits/gitlab/tools/index.d.ts +306 -0
- package/dist/toolkits/gitlab/tools/index.js +36 -0
- package/dist/toolkits/gitlab/tools/issues.d.ts +45 -0
- package/dist/toolkits/gitlab/tools/issues.js +103 -0
- package/dist/toolkits/gitlab/tools/merge-requests.d.ts +35 -0
- package/dist/toolkits/gitlab/tools/merge-requests.js +91 -0
- package/dist/toolkits/gitlab/tools/pipelines.d.ts +30 -0
- package/dist/toolkits/gitlab/tools/pipelines.js +66 -0
- package/dist/toolkits/gitlab/tools/projects.d.ts +36 -0
- package/dist/toolkits/gitlab/tools/projects.js +94 -0
- package/dist/toolkits/gitlab/tools/repository.d.ts +21 -0
- package/dist/toolkits/gitlab/tools/repository.js +53 -0
- package/dist/toolkits/gitlab/tools/users-groups.d.ts +11 -0
- package/dist/toolkits/gitlab/tools/users-groups.js +30 -0
- package/dist/toolkits/google-ads/tools/get-rmf-report.d.ts +2 -2
- package/dist/toolkits/google-ads/tools/index.d.ts +2 -2
- package/dist/toolkits/google-analytics/icon.d.ts +5 -0
- package/dist/toolkits/google-analytics/icon.js +11 -0
- package/dist/toolkits/google-analytics/manifest.d.ts +3 -0
- package/dist/toolkits/google-analytics/manifest.js +48 -0
- package/dist/toolkits/google-analytics/tools/admin.d.ts +73 -0
- package/dist/toolkits/google-analytics/tools/admin.js +238 -0
- package/dist/toolkits/google-analytics/tools/audiences.d.ts +81 -0
- package/dist/toolkits/google-analytics/tools/audiences.js +190 -0
- package/dist/toolkits/google-analytics/tools/client.d.ts +47 -0
- package/dist/toolkits/google-analytics/tools/client.js +74 -0
- package/dist/toolkits/google-analytics/tools/custom-definitions.d.ts +62 -0
- package/dist/toolkits/google-analytics/tools/custom-definitions.js +106 -0
- package/dist/toolkits/google-analytics/tools/index.d.ts +16 -0
- package/dist/toolkits/google-analytics/tools/index.js +88 -0
- package/dist/toolkits/google-analytics/tools/links.d.ts +22 -0
- package/dist/toolkits/google-analytics/tools/links.js +56 -0
- package/dist/toolkits/google-analytics/tools/measurement.d.ts +3 -0
- package/dist/toolkits/google-analytics/tools/measurement.js +55 -0
- package/dist/toolkits/google-analytics/tools/reports.d.ts +136 -0
- package/dist/toolkits/google-analytics/tools/reports.js +200 -0
- package/dist/toolkits/google-contacts/icon.d.ts +5 -0
- package/dist/toolkits/google-contacts/icon.js +6 -0
- package/dist/toolkits/google-contacts/manifest.d.ts +3 -0
- package/dist/toolkits/google-contacts/manifest.js +48 -0
- package/dist/toolkits/google-contacts/tools/client.d.ts +19 -0
- package/dist/toolkits/google-contacts/tools/client.js +44 -0
- package/dist/toolkits/google-contacts/tools/contacts.d.ts +94 -0
- package/dist/toolkits/google-contacts/tools/contacts.js +273 -0
- package/dist/toolkits/google-contacts/tools/directory.d.ts +36 -0
- package/dist/toolkits/google-contacts/tools/directory.js +99 -0
- package/dist/toolkits/google-contacts/tools/groups.d.ts +68 -0
- package/dist/toolkits/google-contacts/tools/groups.js +169 -0
- package/dist/toolkits/google-contacts/tools/index.d.ts +347 -0
- package/dist/toolkits/google-contacts/tools/index.js +34 -0
- package/dist/toolkits/google-contacts/tools/photos.d.ts +26 -0
- package/dist/toolkits/google-contacts/tools/photos.js +52 -0
- package/dist/toolkits/google-maps/icon.d.ts +5 -0
- package/dist/toolkits/google-maps/icon.js +39 -0
- package/dist/toolkits/google-maps/manifest.d.ts +3 -0
- package/dist/toolkits/google-maps/manifest.js +55 -0
- package/dist/toolkits/google-maps/tools/client.d.ts +27 -0
- package/dist/toolkits/google-maps/tools/client.js +72 -0
- package/dist/toolkits/google-maps/tools/geocode.d.ts +49 -0
- package/dist/toolkits/google-maps/tools/geocode.js +168 -0
- package/dist/toolkits/google-maps/tools/index.d.ts +432 -0
- package/dist/toolkits/google-maps/tools/index.js +31 -0
- package/dist/toolkits/google-maps/tools/misc.d.ts +70 -0
- package/dist/toolkits/google-maps/tools/misc.js +158 -0
- package/dist/toolkits/google-maps/tools/places.d.ts +112 -0
- package/dist/toolkits/google-maps/tools/places.js +185 -0
- package/dist/toolkits/google-maps/tools/routes.d.ts +48 -0
- package/dist/toolkits/google-maps/tools/routes.js +97 -0
- package/dist/toolkits/google-maps/tools/tiles.d.ts +51 -0
- package/dist/toolkits/google-maps/tools/tiles.js +84 -0
- package/dist/toolkits/google-photos/icon.d.ts +5 -0
- package/dist/toolkits/google-photos/icon.js +6 -0
- package/dist/toolkits/google-photos/manifest.d.ts +3 -0
- package/dist/toolkits/google-photos/manifest.js +47 -0
- package/dist/toolkits/google-photos/tools/albums.d.ts +83 -0
- package/dist/toolkits/google-photos/tools/albums.js +180 -0
- package/dist/toolkits/google-photos/tools/client.d.ts +24 -0
- package/dist/toolkits/google-photos/tools/client.js +77 -0
- package/dist/toolkits/google-photos/tools/index.d.ts +261 -0
- package/dist/toolkits/google-photos/tools/index.js +22 -0
- package/dist/toolkits/google-photos/tools/media.d.ts +52 -0
- package/dist/toolkits/google-photos/tools/media.js +142 -0
- package/dist/toolkits/google-photos/tools/uploads.d.ts +58 -0
- package/dist/toolkits/google-photos/tools/uploads.js +107 -0
- package/dist/toolkits/google-tasks/tools/index.d.ts +1 -1
- package/dist/toolkits/google-tasks/tools/update-task-full.d.ts +1 -1
- package/dist/toolkits/groww/tools/index.d.ts +1 -1
- package/dist/toolkits/groww/tools/instruments.d.ts +1 -1
- package/dist/toolkits/reddit/tools/index.d.ts +1 -1
- package/dist/toolkits/reddit/tools/search-across-subreddits.d.ts +1 -1
- package/dist/toolkits/slack/icon.d.ts +5 -0
- package/dist/toolkits/slack/icon.js +20 -0
- package/dist/toolkits/slack/manifest.d.ts +3 -0
- package/dist/toolkits/slack/manifest.js +93 -0
- package/dist/toolkits/slack/tools/admin-apps.d.ts +32 -0
- package/dist/toolkits/slack/tools/admin-apps.js +116 -0
- package/dist/toolkits/slack/tools/admin-conversations.d.ts +62 -0
- package/dist/toolkits/slack/tools/admin-conversations.js +246 -0
- package/dist/toolkits/slack/tools/admin-invites.d.ts +19 -0
- package/dist/toolkits/slack/tools/admin-invites.js +75 -0
- package/dist/toolkits/slack/tools/admin-users.d.ts +52 -0
- package/dist/toolkits/slack/tools/admin-users.js +182 -0
- package/dist/toolkits/slack/tools/audit.d.ts +20 -0
- package/dist/toolkits/slack/tools/audit.js +81 -0
- package/dist/toolkits/slack/tools/calls.d.ts +38 -0
- package/dist/toolkits/slack/tools/calls.js +141 -0
- package/dist/toolkits/slack/tools/canvas.d.ts +24 -0
- package/dist/toolkits/slack/tools/canvas.js +102 -0
- package/dist/toolkits/slack/tools/client.d.ts +22 -0
- package/dist/toolkits/slack/tools/client.js +73 -0
- package/dist/toolkits/slack/tools/conversations.d.ts +131 -0
- package/dist/toolkits/slack/tools/conversations.js +463 -0
- package/dist/toolkits/slack/tools/emoji.d.ts +29 -0
- package/dist/toolkits/slack/tools/emoji.js +118 -0
- package/dist/toolkits/slack/tools/files.d.ts +113 -0
- package/dist/toolkits/slack/tools/files.js +368 -0
- package/dist/toolkits/slack/tools/index.d.ts +28 -0
- package/dist/toolkits/slack/tools/index.js +187 -0
- package/dist/toolkits/slack/tools/messages.d.ts +106 -0
- package/dist/toolkits/slack/tools/messages.js +340 -0
- package/dist/toolkits/slack/tools/misc.d.ts +42 -0
- package/dist/toolkits/slack/tools/misc.js +127 -0
- package/dist/toolkits/slack/tools/reactions-stars-pins.d.ts +69 -0
- package/dist/toolkits/slack/tools/reactions-stars-pins.js +236 -0
- package/dist/toolkits/slack/tools/reminders.d.ts +22 -0
- package/dist/toolkits/slack/tools/reminders.js +83 -0
- package/dist/toolkits/slack/tools/search.d.ts +49 -0
- package/dist/toolkits/slack/tools/search.js +155 -0
- package/dist/toolkits/slack/tools/slack-lists.d.ts +65 -0
- package/dist/toolkits/slack/tools/slack-lists.js +282 -0
- package/dist/toolkits/slack/tools/teams.d.ts +75 -0
- package/dist/toolkits/slack/tools/teams.js +285 -0
- package/dist/toolkits/slack/tools/usergroups.d.ts +56 -0
- package/dist/toolkits/slack/tools/usergroups.js +194 -0
- package/dist/toolkits/slack/tools/users.d.ts +87 -0
- package/dist/toolkits/slack/tools/users.js +396 -0
- package/dist/toolkits/youtube/tools/add-video-to-playlist.d.ts +1 -1
- package/dist/toolkits/youtube/tools/delete-video.d.ts +1 -1
- package/dist/toolkits/youtube/tools/index.d.ts +10 -10
- package/dist/toolkits/youtube/tools/list-caption-track.d.ts +1 -1
- package/dist/toolkits/youtube/tools/list-playlist-items.d.ts +1 -1
- package/dist/toolkits/youtube/tools/list-video-categories.d.ts +1 -1
- package/dist/toolkits/youtube/tools/post-comment.d.ts +1 -1
- package/dist/toolkits/youtube/tools/report-video-abuse.d.ts +1 -1
- package/dist/toolkits/youtube/tools/search-youtube.d.ts +1 -1
- package/dist/toolkits/youtube/tools/update-thumbnail.d.ts +1 -1
- package/dist/toolkits/youtube/tools/update-video.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { slackApi, toSlackError, requireToken } from './client.js';
|
|
5
|
+
const tokenField = z.string().optional().describe('Injected by system; do not provide');
|
|
6
|
+
export const slackCreateCanvas = tool({
|
|
7
|
+
description: 'Create a Canvas with an optional title, markdown content, and channel tab. Returns the canvas_id.',
|
|
8
|
+
inputSchema: z.object({
|
|
9
|
+
slackToken: tokenField,
|
|
10
|
+
title: z.string().optional().describe('Canvas title (Slack defaults when omitted)'),
|
|
11
|
+
documentContent: z.record(z.any()).optional().describe('Initial content, e.g. {type:"markdown",markdown:"# Hi"}'),
|
|
12
|
+
channelId: z.string().optional().describe('Channel ID to add the canvas as a tab to'),
|
|
13
|
+
}),
|
|
14
|
+
execute: async ({ slackToken, title, documentContent, channelId }) => {
|
|
15
|
+
try {
|
|
16
|
+
const missing = requireToken(slackToken);
|
|
17
|
+
if (missing)
|
|
18
|
+
return missing;
|
|
19
|
+
return await slackApi(slackToken, 'canvases.create', {
|
|
20
|
+
title,
|
|
21
|
+
document_content: documentContent,
|
|
22
|
+
channel_id: channelId,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return toSlackError(error, 'Failed to create canvas');
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
export const slackEditCanvas = tool({
|
|
31
|
+
description: 'Edit a Canvas: replace whole content or a section, insert before/after/at start/at end, delete a section, or rename. Use slackLookupCanvasSections to find section IDs for targeted edits.',
|
|
32
|
+
inputSchema: z.object({
|
|
33
|
+
slackToken: tokenField,
|
|
34
|
+
canvasId: z.string().describe('Canvas ID, e.g. F01234ABCDE'),
|
|
35
|
+
operation: z
|
|
36
|
+
.enum(['replace', 'insert_after', 'insert_before', 'insert_at_start', 'insert_at_end', 'delete', 'rename'])
|
|
37
|
+
.optional()
|
|
38
|
+
.default('replace')
|
|
39
|
+
.describe('Edit operation'),
|
|
40
|
+
sectionId: z.string().optional().describe('Target section (required for insert_after/before and delete)'),
|
|
41
|
+
documentContent: z.record(z.any()).optional().describe('Content in Slack document format (not for delete/rename)'),
|
|
42
|
+
titleContent: z.record(z.any()).optional().describe('New title in markdown format (rename only)'),
|
|
43
|
+
}),
|
|
44
|
+
execute: async ({ slackToken, canvasId, operation = 'replace', sectionId, documentContent, titleContent }) => {
|
|
45
|
+
try {
|
|
46
|
+
const missing = requireToken(slackToken);
|
|
47
|
+
if (missing)
|
|
48
|
+
return missing;
|
|
49
|
+
return await slackApi(slackToken, 'canvases.edit', {
|
|
50
|
+
canvas_id: canvasId,
|
|
51
|
+
operation,
|
|
52
|
+
section_id: sectionId,
|
|
53
|
+
document_content: documentContent,
|
|
54
|
+
title_content: titleContent,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
return toSlackError(error, 'Failed to edit canvas');
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
export const slackDeleteCanvas = tool({
|
|
63
|
+
description: 'Permanently delete a Canvas. Irreversible — confirm with the user first.',
|
|
64
|
+
inputSchema: z.object({
|
|
65
|
+
slackToken: tokenField,
|
|
66
|
+
canvasId: z.string().describe('Canvas ID to delete'),
|
|
67
|
+
}),
|
|
68
|
+
execute: async ({ slackToken, canvasId }) => {
|
|
69
|
+
try {
|
|
70
|
+
const missing = requireToken(slackToken);
|
|
71
|
+
if (missing)
|
|
72
|
+
return missing;
|
|
73
|
+
return await slackApi(slackToken, 'canvases.delete', { canvas_id: canvasId });
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return toSlackError(error, 'Failed to delete canvas');
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
export const slackLookupCanvasSections = tool({
|
|
81
|
+
description: 'Find section IDs in a Canvas by text criteria. Use the returned IDs with slackEditCanvas targeted operations.',
|
|
82
|
+
inputSchema: z.object({
|
|
83
|
+
slackToken: tokenField,
|
|
84
|
+
canvasId: z.string().describe('Canvas ID to search, e.g. F01234ABCDE'),
|
|
85
|
+
criteria: z.record(z.any()).describe('Search criteria, e.g. {contains_text:"Roadmap"}'),
|
|
86
|
+
}),
|
|
87
|
+
execute: async ({ slackToken, canvasId, criteria }) => {
|
|
88
|
+
try {
|
|
89
|
+
const missing = requireToken(slackToken);
|
|
90
|
+
if (missing)
|
|
91
|
+
return missing;
|
|
92
|
+
return await slackApi(slackToken, 'canvases.sections.lookup', {
|
|
93
|
+
canvas_id: canvasId,
|
|
94
|
+
criteria,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
return toSlackError(error, 'Failed to look up canvas sections');
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=canvas.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare class SlackApiError extends Error {
|
|
2
|
+
status: number;
|
|
3
|
+
details: unknown;
|
|
4
|
+
constructor(message: string, status: number, details: unknown);
|
|
5
|
+
}
|
|
6
|
+
/** Call a Slack Web API method. Throws SlackApiError when ok === false. */
|
|
7
|
+
export declare function slackApi(slackToken: string, method: string, params?: Record<string, unknown>): Promise<any>;
|
|
8
|
+
/** GET helper for non-Web-API hosts (Audit Logs, SCIM). */
|
|
9
|
+
export declare function slackGet(slackToken: string, url: string, query?: Record<string, string | number | boolean | undefined>): Promise<any>;
|
|
10
|
+
export declare function toSlackError(error: unknown, label: string): {
|
|
11
|
+
error: string;
|
|
12
|
+
details: any;
|
|
13
|
+
message?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
error: string;
|
|
16
|
+
message: string;
|
|
17
|
+
details?: undefined;
|
|
18
|
+
};
|
|
19
|
+
export declare function requireToken(slackToken: string | undefined): {
|
|
20
|
+
error: string;
|
|
21
|
+
} | null;
|
|
22
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
const API_BASE = 'https://slack.com/api';
|
|
3
|
+
export class SlackApiError extends Error {
|
|
4
|
+
status;
|
|
5
|
+
details;
|
|
6
|
+
constructor(message, status, details) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.status = status;
|
|
9
|
+
this.details = details;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function toForm(params) {
|
|
13
|
+
const form = new URLSearchParams();
|
|
14
|
+
if (!params)
|
|
15
|
+
return form;
|
|
16
|
+
for (const [key, value] of Object.entries(params)) {
|
|
17
|
+
if (value === undefined)
|
|
18
|
+
continue;
|
|
19
|
+
form.set(key, typeof value === 'string' ? value : JSON.stringify(value));
|
|
20
|
+
}
|
|
21
|
+
return form;
|
|
22
|
+
}
|
|
23
|
+
/** Call a Slack Web API method. Throws SlackApiError when ok === false. */
|
|
24
|
+
export async function slackApi(slackToken, method, params) {
|
|
25
|
+
const response = await fetch(`${API_BASE}/${method}`, {
|
|
26
|
+
method: 'POST',
|
|
27
|
+
headers: {
|
|
28
|
+
Authorization: `Bearer ${slackToken}`,
|
|
29
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
|
|
30
|
+
},
|
|
31
|
+
body: toForm(params).toString(),
|
|
32
|
+
});
|
|
33
|
+
const data = await response.json().catch(() => ({}));
|
|
34
|
+
if (!response.ok || data?.ok === false) {
|
|
35
|
+
throw new SlackApiError(`Slack ${method} failed${data?.error ? `: ${data.error}` : ''}`, response.status, data);
|
|
36
|
+
}
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
39
|
+
/** GET helper for non-Web-API hosts (Audit Logs, SCIM). */
|
|
40
|
+
export async function slackGet(slackToken, url, query) {
|
|
41
|
+
const u = new URL(url);
|
|
42
|
+
if (query) {
|
|
43
|
+
for (const [key, value] of Object.entries(query)) {
|
|
44
|
+
if (value === undefined)
|
|
45
|
+
continue;
|
|
46
|
+
u.searchParams.set(key, String(value));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const response = await fetch(u.toString(), {
|
|
50
|
+
headers: { Authorization: `Bearer ${slackToken}` },
|
|
51
|
+
});
|
|
52
|
+
const data = await response.json().catch(() => ({}));
|
|
53
|
+
if (!response.ok || data?.ok === false) {
|
|
54
|
+
throw new SlackApiError(`Slack request failed${data?.error ? `: ${data.error}` : ''}`, response.status, data);
|
|
55
|
+
}
|
|
56
|
+
return data;
|
|
57
|
+
}
|
|
58
|
+
export function toSlackError(error, label) {
|
|
59
|
+
if (error?.details !== undefined) {
|
|
60
|
+
return { error: label, details: error.details };
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
error: label.replace('Failed', 'Error').replace('failed', 'error'),
|
|
64
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export function requireToken(slackToken) {
|
|
68
|
+
if (!slackToken) {
|
|
69
|
+
return { error: 'Slack token is required. Connect Slack first.' };
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
export declare const slackListAllChannels: import("ai").Tool<{
|
|
2
|
+
types?: string | undefined;
|
|
3
|
+
teamId?: string | undefined;
|
|
4
|
+
limit?: number | undefined;
|
|
5
|
+
cursor?: string | undefined;
|
|
6
|
+
slackToken?: string | undefined;
|
|
7
|
+
excludeArchived?: boolean | undefined;
|
|
8
|
+
}, any>;
|
|
9
|
+
export declare const slackFindChannels: import("ai").Tool<{
|
|
10
|
+
query: string;
|
|
11
|
+
types: string;
|
|
12
|
+
limit: number;
|
|
13
|
+
excludeArchived: boolean;
|
|
14
|
+
teamId?: string | undefined;
|
|
15
|
+
slackToken?: string | undefined;
|
|
16
|
+
exactMatch?: boolean | undefined;
|
|
17
|
+
memberOnly?: boolean | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
error: string;
|
|
20
|
+
} | {
|
|
21
|
+
ok: boolean;
|
|
22
|
+
channels: any;
|
|
23
|
+
total_channels_searched: any;
|
|
24
|
+
}>;
|
|
25
|
+
export declare const slackListConversations: import("ai").Tool<{
|
|
26
|
+
types?: string | undefined;
|
|
27
|
+
teamId?: string | undefined;
|
|
28
|
+
user?: string | undefined;
|
|
29
|
+
limit?: number | undefined;
|
|
30
|
+
cursor?: string | undefined;
|
|
31
|
+
slackToken?: string | undefined;
|
|
32
|
+
excludeArchived?: boolean | undefined;
|
|
33
|
+
}, any>;
|
|
34
|
+
export declare const slackGetConversationInfo: import("ai").Tool<{
|
|
35
|
+
channel: string;
|
|
36
|
+
slackToken?: string | undefined;
|
|
37
|
+
includeNumMembers?: boolean | undefined;
|
|
38
|
+
includeLocale?: boolean | undefined;
|
|
39
|
+
}, any>;
|
|
40
|
+
export declare const slackGetConversationMembers: import("ai").Tool<{
|
|
41
|
+
channel: string;
|
|
42
|
+
limit?: number | undefined;
|
|
43
|
+
cursor?: string | undefined;
|
|
44
|
+
slackToken?: string | undefined;
|
|
45
|
+
}, any>;
|
|
46
|
+
export declare const slackGetConversationHistory: import("ai").Tool<{
|
|
47
|
+
limit: number;
|
|
48
|
+
channel: string;
|
|
49
|
+
inclusive?: boolean | undefined;
|
|
50
|
+
latest?: string | undefined;
|
|
51
|
+
cursor?: string | undefined;
|
|
52
|
+
slackToken?: string | undefined;
|
|
53
|
+
oldest?: string | undefined;
|
|
54
|
+
includeAllMetadata?: boolean | undefined;
|
|
55
|
+
}, any>;
|
|
56
|
+
export declare const slackGetConversationReplies: import("ai").Tool<{
|
|
57
|
+
channel: string;
|
|
58
|
+
ts: string;
|
|
59
|
+
inclusive?: boolean | undefined;
|
|
60
|
+
limit?: number | undefined;
|
|
61
|
+
latest?: string | undefined;
|
|
62
|
+
cursor?: string | undefined;
|
|
63
|
+
slackToken?: string | undefined;
|
|
64
|
+
oldest?: string | undefined;
|
|
65
|
+
includeAllMetadata?: boolean | undefined;
|
|
66
|
+
}, any>;
|
|
67
|
+
export declare const slackCreateChannel: import("ai").Tool<{
|
|
68
|
+
name: string;
|
|
69
|
+
teamId?: string | undefined;
|
|
70
|
+
slackToken?: string | undefined;
|
|
71
|
+
isPrivate?: boolean | undefined;
|
|
72
|
+
}, any>;
|
|
73
|
+
export declare const slackArchiveChannel: import("ai").Tool<{
|
|
74
|
+
channel: string;
|
|
75
|
+
slackToken?: string | undefined;
|
|
76
|
+
}, any>;
|
|
77
|
+
export declare const slackUnarchiveChannel: import("ai").Tool<{
|
|
78
|
+
channel: string;
|
|
79
|
+
slackToken?: string | undefined;
|
|
80
|
+
}, any>;
|
|
81
|
+
export declare const slackCloseDm: import("ai").Tool<{
|
|
82
|
+
channel: string;
|
|
83
|
+
slackToken?: string | undefined;
|
|
84
|
+
}, any>;
|
|
85
|
+
export declare const slackJoinConversation: import("ai").Tool<{
|
|
86
|
+
channel: string;
|
|
87
|
+
slackToken?: string | undefined;
|
|
88
|
+
}, any>;
|
|
89
|
+
export declare const slackLeaveConversation: import("ai").Tool<{
|
|
90
|
+
channel: string;
|
|
91
|
+
slackToken?: string | undefined;
|
|
92
|
+
}, any>;
|
|
93
|
+
export declare const slackRenameConversation: import("ai").Tool<{
|
|
94
|
+
name: string;
|
|
95
|
+
channel: string;
|
|
96
|
+
slackToken?: string | undefined;
|
|
97
|
+
}, any>;
|
|
98
|
+
export declare const slackSetConversationTopic: import("ai").Tool<{
|
|
99
|
+
channel: string;
|
|
100
|
+
topic: string;
|
|
101
|
+
slackToken?: string | undefined;
|
|
102
|
+
}, any>;
|
|
103
|
+
export declare const slackSetConversationPurpose: import("ai").Tool<{
|
|
104
|
+
channel: string;
|
|
105
|
+
purpose: string;
|
|
106
|
+
slackToken?: string | undefined;
|
|
107
|
+
}, any>;
|
|
108
|
+
export declare const slackMarkConversationRead: import("ai").Tool<{
|
|
109
|
+
channel: string;
|
|
110
|
+
ts: string;
|
|
111
|
+
slackToken?: string | undefined;
|
|
112
|
+
}, any>;
|
|
113
|
+
export declare const slackInviteUsersToChannel: import("ai").Tool<{
|
|
114
|
+
users: string;
|
|
115
|
+
channel: string;
|
|
116
|
+
force?: boolean | undefined;
|
|
117
|
+
slackToken?: string | undefined;
|
|
118
|
+
}, any>;
|
|
119
|
+
export declare const slackRemoveUserFromConversation: import("ai").Tool<{
|
|
120
|
+
user: string;
|
|
121
|
+
channel: string;
|
|
122
|
+
slackToken?: string | undefined;
|
|
123
|
+
}, any>;
|
|
124
|
+
export declare const slackOpenDm: import("ai").Tool<{
|
|
125
|
+
users?: string | undefined;
|
|
126
|
+
channel?: string | undefined;
|
|
127
|
+
slackToken?: string | undefined;
|
|
128
|
+
returnIm?: boolean | undefined;
|
|
129
|
+
preventCreation?: boolean | undefined;
|
|
130
|
+
}, any>;
|
|
131
|
+
//# sourceMappingURL=conversations.d.ts.map
|