@rnsk/toolkits 0.0.8 → 0.0.10
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 +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +29 -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/hacker-news/icon.d.ts +5 -0
- package/dist/toolkits/hacker-news/icon.js +9 -0
- package/dist/toolkits/hacker-news/manifest.d.ts +3 -0
- package/dist/toolkits/hacker-news/manifest.js +25 -0
- package/dist/toolkits/hacker-news/tools/client.d.ts +8 -0
- package/dist/toolkits/hacker-news/tools/client.js +51 -0
- package/dist/toolkits/hacker-news/tools/index.d.ts +89 -0
- package/dist/toolkits/hacker-news/tools/index.js +22 -0
- package/dist/toolkits/hacker-news/tools/items.d.ts +42 -0
- package/dist/toolkits/hacker-news/tools/items.js +126 -0
- package/dist/toolkits/hacker-news/tools/search.d.ts +12 -0
- package/dist/toolkits/hacker-news/tools/search.js +40 -0
- package/dist/toolkits/hacker-news/tools/stories.d.ts +25 -0
- package/dist/toolkits/hacker-news/tools/stories.js +98 -0
- package/dist/toolkits/hostinger/icon.d.ts +5 -0
- package/dist/toolkits/hostinger/icon.js +6 -0
- package/dist/toolkits/hostinger/manifest.d.ts +3 -0
- package/dist/toolkits/hostinger/manifest.js +36 -0
- package/dist/toolkits/hostinger/tools/billing.d.ts +12 -0
- package/dist/toolkits/hostinger/tools/billing.js +35 -0
- package/dist/toolkits/hostinger/tools/client.d.ts +6 -0
- package/dist/toolkits/hostinger/tools/client.js +57 -0
- package/dist/toolkits/hostinger/tools/dns.d.ts +22 -0
- package/dist/toolkits/hostinger/tools/dns.js +47 -0
- package/dist/toolkits/hostinger/tools/domains.d.ts +21 -0
- package/dist/toolkits/hostinger/tools/domains.js +62 -0
- package/dist/toolkits/hostinger/tools/hosting.d.ts +17 -0
- package/dist/toolkits/hostinger/tools/hosting.js +38 -0
- package/dist/toolkits/hostinger/tools/index.d.ts +179 -0
- package/dist/toolkits/hostinger/tools/index.js +35 -0
- package/dist/toolkits/hostinger/tools/vps.d.ts +27 -0
- package/dist/toolkits/hostinger/tools/vps.js +77 -0
- package/dist/toolkits/hostinger/tools/whois.d.ts +33 -0
- package/dist/toolkits/hostinger/tools/whois.js +85 -0
- package/dist/toolkits/hugging-face/icon.d.ts +5 -0
- package/dist/toolkits/hugging-face/icon.js +6 -0
- package/dist/toolkits/hugging-face/manifest.d.ts +3 -0
- package/dist/toolkits/hugging-face/manifest.js +42 -0
- package/dist/toolkits/hugging-face/tools/client.d.ts +93 -0
- package/dist/toolkits/hugging-face/tools/client.js +192 -0
- package/dist/toolkits/hugging-face/tools/datasets-viewer.d.ts +65 -0
- package/dist/toolkits/hugging-face/tools/datasets-viewer.js +150 -0
- package/dist/toolkits/hugging-face/tools/datasets.d.ts +160 -0
- package/dist/toolkits/hugging-face/tools/datasets.js +383 -0
- package/dist/toolkits/hugging-face/tools/discussions.d.ts +68 -0
- package/dist/toolkits/hugging-face/tools/discussions.js +144 -0
- package/dist/toolkits/hugging-face/tools/index.d.ts +523 -0
- package/dist/toolkits/hugging-face/tools/index.js +163 -0
- package/dist/toolkits/hugging-face/tools/inference.d.ts +42 -0
- package/dist/toolkits/hugging-face/tools/inference.js +86 -0
- package/dist/toolkits/hugging-face/tools/models.d.ts +117 -0
- package/dist/toolkits/hugging-face/tools/models.js +273 -0
- package/dist/toolkits/hugging-face/tools/papers.d.ts +37 -0
- package/dist/toolkits/hugging-face/tools/papers.js +91 -0
- package/dist/toolkits/hugging-face/tools/repos.d.ts +96 -0
- package/dist/toolkits/hugging-face/tools/repos.js +201 -0
- package/dist/toolkits/hugging-face/tools/settings.d.ts +53 -0
- package/dist/toolkits/hugging-face/tools/settings.js +88 -0
- package/dist/toolkits/hugging-face/tools/spaces.d.ts +245 -0
- package/dist/toolkits/hugging-face/tools/spaces.js +468 -0
- package/dist/toolkits/hugging-face/tools/sql.d.ts +21 -0
- package/dist/toolkits/hugging-face/tools/sql.js +47 -0
- package/dist/toolkits/hugging-face/tools/users.d.ts +60 -0
- package/dist/toolkits/hugging-face/tools/users.js +132 -0
- package/dist/toolkits/hugging-face/tools/webhooks.d.ts +35 -0
- package/dist/toolkits/hugging-face/tools/webhooks.js +87 -0
- package/dist/toolkits/jira/icon.d.ts +5 -0
- package/dist/toolkits/jira/icon.js +6 -0
- package/dist/toolkits/jira/manifest.d.ts +3 -0
- package/dist/toolkits/jira/manifest.js +53 -0
- package/dist/toolkits/jira/tools/boards.d.ts +52 -0
- package/dist/toolkits/jira/tools/boards.js +104 -0
- package/dist/toolkits/jira/tools/client.d.ts +23 -0
- package/dist/toolkits/jira/tools/client.js +270 -0
- package/dist/toolkits/jira/tools/index.d.ts +1280 -0
- package/dist/toolkits/jira/tools/index.js +119 -0
- package/dist/toolkits/jira/tools/issue-fields.d.ts +10 -0
- package/dist/toolkits/jira/tools/issue-fields.js +111 -0
- package/dist/toolkits/jira/tools/issues.d.ts +304 -0
- package/dist/toolkits/jira/tools/issues.js +593 -0
- package/dist/toolkits/jira/tools/meta.d.ts +212 -0
- package/dist/toolkits/jira/tools/meta.js +369 -0
- package/dist/toolkits/jira/tools/projects.d.ts +130 -0
- package/dist/toolkits/jira/tools/projects.js +263 -0
- package/dist/toolkits/jira/tools/search.d.ts +90 -0
- package/dist/toolkits/jira/tools/search.js +181 -0
- package/dist/toolkits/jira/tools/users.d.ts +114 -0
- package/dist/toolkits/jira/tools/users.js +221 -0
- package/dist/toolkits/neo4j/icon.d.ts +5 -0
- package/dist/toolkits/neo4j/icon.js +6 -0
- package/dist/toolkits/neo4j/manifest.d.ts +3 -0
- package/dist/toolkits/neo4j/manifest.js +33 -0
- package/dist/toolkits/neo4j/tools/analytics.d.ts +21 -0
- package/dist/toolkits/neo4j/tools/analytics.js +91 -0
- package/dist/toolkits/neo4j/tools/client.d.ts +6 -0
- package/dist/toolkits/neo4j/tools/client.js +105 -0
- package/dist/toolkits/neo4j/tools/index.d.ts +198 -0
- package/dist/toolkits/neo4j/tools/index.js +30 -0
- package/dist/toolkits/neo4j/tools/instances.d.ts +47 -0
- package/dist/toolkits/neo4j/tools/instances.js +127 -0
- package/dist/toolkits/neo4j/tools/projects.d.ts +44 -0
- package/dist/toolkits/neo4j/tools/projects.js +110 -0
- package/dist/toolkits/neo4j/tools/snapshots.d.ts +20 -0
- package/dist/toolkits/neo4j/tools/snapshots.js +57 -0
- package/dist/toolkits/neon/icon.d.ts +5 -0
- package/dist/toolkits/neon/icon.js +8 -0
- package/dist/toolkits/neon/manifest.d.ts +3 -0
- package/dist/toolkits/neon/manifest.js +36 -0
- package/dist/toolkits/neon/tools/auth.d.ts +115 -0
- package/dist/toolkits/neon/tools/auth.js +286 -0
- package/dist/toolkits/neon/tools/branches.d.ts +189 -0
- package/dist/toolkits/neon/tools/branches.js +465 -0
- package/dist/toolkits/neon/tools/client.d.ts +10 -0
- package/dist/toolkits/neon/tools/client.js +69 -0
- package/dist/toolkits/neon/tools/dataapi.d.ts +42 -0
- package/dist/toolkits/neon/tools/dataapi.js +111 -0
- package/dist/toolkits/neon/tools/endpoints.d.ts +59 -0
- package/dist/toolkits/neon/tools/endpoints.js +163 -0
- package/dist/toolkits/neon/tools/index.d.ts +976 -0
- package/dist/toolkits/neon/tools/index.js +130 -0
- package/dist/toolkits/neon/tools/meta.d.ts +4 -0
- package/dist/toolkits/neon/tools/meta.js +16 -0
- package/dist/toolkits/neon/tools/orgs.d.ts +112 -0
- package/dist/toolkits/neon/tools/orgs.js +303 -0
- package/dist/toolkits/neon/tools/projects.d.ts +177 -0
- package/dist/toolkits/neon/tools/projects.js +468 -0
- package/dist/toolkits/neon/tools/snapshots.d.ts +24 -0
- package/dist/toolkits/neon/tools/snapshots.js +67 -0
- 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,285 @@
|
|
|
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 slackGetTeamInfo = tool({
|
|
7
|
+
description: 'Get metadata for the current workspace, or a specified accessible team. Omit both filters for the current team.',
|
|
8
|
+
inputSchema: z.object({
|
|
9
|
+
slackToken: tokenField,
|
|
10
|
+
team: z.string().optional().describe('Team ID to look up'),
|
|
11
|
+
domain: z.string().optional().describe('Workspace domain (only when team is omitted, same enterprise)'),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ slackToken, team, domain }) => {
|
|
14
|
+
try {
|
|
15
|
+
const missing = requireToken(slackToken);
|
|
16
|
+
if (missing)
|
|
17
|
+
return missing;
|
|
18
|
+
return await slackApi(slackToken, 'team.info', { team, domain });
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
return toSlackError(error, 'Failed to get team info');
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
export const slackGetTeamProfile = tool({
|
|
26
|
+
description: 'Get workspace profile field definitions (custom fields and sections), optionally filtered by visibility.',
|
|
27
|
+
inputSchema: z.object({
|
|
28
|
+
slackToken: tokenField,
|
|
29
|
+
teamId: z.string().optional().describe('Workspace ID (org-level tokens only)'),
|
|
30
|
+
visibility: z.enum(['all', 'visible', 'hidden']).optional().describe('Which profile fields to include'),
|
|
31
|
+
}),
|
|
32
|
+
execute: async ({ slackToken, teamId, visibility }) => {
|
|
33
|
+
try {
|
|
34
|
+
const missing = requireToken(slackToken);
|
|
35
|
+
if (missing)
|
|
36
|
+
return missing;
|
|
37
|
+
return await slackApi(slackToken, 'team.profile.get', { team_id: teamId, visibility });
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
return toSlackError(error, 'Failed to get team profile');
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
export const slackListAuthTeams = tool({
|
|
45
|
+
description: 'List workspaces an org-wide app is approved for. Paginate with cursor.',
|
|
46
|
+
inputSchema: z.object({
|
|
47
|
+
slackToken: tokenField,
|
|
48
|
+
limit: z.number().min(1).max(1000).optional().describe('Items per page (max 1000, default 100)'),
|
|
49
|
+
cursor: z.string().optional().describe('Pagination cursor from a previous response'),
|
|
50
|
+
includeIcon: z.boolean().optional().describe('Include workspace avatar URIs'),
|
|
51
|
+
}),
|
|
52
|
+
execute: async ({ slackToken, includeIcon, ...rest }) => {
|
|
53
|
+
try {
|
|
54
|
+
const missing = requireToken(slackToken);
|
|
55
|
+
if (missing)
|
|
56
|
+
return missing;
|
|
57
|
+
return await slackApi(slackToken, 'auth.teams.list', { ...rest, include_icon: includeIcon });
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
return toSlackError(error, 'Failed to list authorized teams');
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
export const slackListAvailableWorkspaces = tool({
|
|
65
|
+
description: 'List workspaces where both the connection and a target user have access. Match a workspace name to a team_id here, then pass team_id to user tools. Meaningful for org-level installs.',
|
|
66
|
+
inputSchema: z.object({
|
|
67
|
+
slackToken: tokenField,
|
|
68
|
+
user: z.string().describe('User ID whose shared workspace memberships to find'),
|
|
69
|
+
}),
|
|
70
|
+
execute: async ({ slackToken, user }) => {
|
|
71
|
+
try {
|
|
72
|
+
const missing = requireToken(slackToken);
|
|
73
|
+
if (missing)
|
|
74
|
+
return missing;
|
|
75
|
+
const data = await slackApi(slackToken, 'auth.teams.list', { limit: 1000 });
|
|
76
|
+
const teams = data?.teams ?? [];
|
|
77
|
+
return {
|
|
78
|
+
ok: true,
|
|
79
|
+
available_workspaces: teams.map((t) => ({ id: t.id, name: t.name, icon: t.icon })),
|
|
80
|
+
total_count: teams.length,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
return toSlackError(error, 'Failed to list available workspaces');
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
export const slackCreateEnterpriseTeam = tool({
|
|
89
|
+
description: 'Create a team (workspace) in an Enterprise Grid org. Confirm with the user first.',
|
|
90
|
+
inputSchema: z.object({
|
|
91
|
+
slackToken: tokenField,
|
|
92
|
+
teamName: z.string().describe('Display name for the team'),
|
|
93
|
+
teamDomain: z.string().describe('Team domain (part of the team URL)'),
|
|
94
|
+
teamDescription: z.string().optional().describe('Team purpose'),
|
|
95
|
+
teamDiscoverability: z.enum(['open', 'closed', 'invite_only', 'unlisted']).optional().describe('Discoverability'),
|
|
96
|
+
}),
|
|
97
|
+
execute: async ({ slackToken, teamName, teamDomain, teamDescription, teamDiscoverability }) => {
|
|
98
|
+
try {
|
|
99
|
+
const missing = requireToken(slackToken);
|
|
100
|
+
if (missing)
|
|
101
|
+
return missing;
|
|
102
|
+
return await slackApi(slackToken, 'admin.teams.create', {
|
|
103
|
+
team_name: teamName,
|
|
104
|
+
team_domain: teamDomain,
|
|
105
|
+
team_description: teamDescription,
|
|
106
|
+
team_discoverability: teamDiscoverability,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
return toSlackError(error, 'Failed to create enterprise team');
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
export const slackListEnterpriseTeams = tool({
|
|
115
|
+
description: 'List teams in an Enterprise Grid org with IDs, names, and domains. Paginate with cursor. Enterprise Grid only.',
|
|
116
|
+
inputSchema: z.object({
|
|
117
|
+
slackToken: tokenField,
|
|
118
|
+
limit: z.number().min(1).max(100).optional().describe('Teams per page (max 100)'),
|
|
119
|
+
cursor: z.string().optional().describe('Pagination cursor from a previous response'),
|
|
120
|
+
}),
|
|
121
|
+
execute: async ({ slackToken, limit, cursor }) => {
|
|
122
|
+
try {
|
|
123
|
+
const missing = requireToken(slackToken);
|
|
124
|
+
if (missing)
|
|
125
|
+
return missing;
|
|
126
|
+
return await slackApi(slackToken, 'admin.teams.list', { limit, cursor });
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
return toSlackError(error, 'Failed to list enterprise teams');
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
export const slackListWorkspaceAdmins = tool({
|
|
134
|
+
description: 'List admin user IDs for a workspace. Enterprise Grid with admin.teams:read. Paginate with cursor.',
|
|
135
|
+
inputSchema: z.object({
|
|
136
|
+
slackToken: tokenField,
|
|
137
|
+
teamId: z.string().describe('Workspace ID'),
|
|
138
|
+
limit: z.number().min(1).max(1000).optional().describe('Admins per page (max 1000)'),
|
|
139
|
+
cursor: z.string().optional().describe('Pagination cursor from a previous response'),
|
|
140
|
+
}),
|
|
141
|
+
execute: async ({ slackToken, teamId, limit, cursor }) => {
|
|
142
|
+
try {
|
|
143
|
+
const missing = requireToken(slackToken);
|
|
144
|
+
if (missing)
|
|
145
|
+
return missing;
|
|
146
|
+
return await slackApi(slackToken, 'admin.teams.admins.list', {
|
|
147
|
+
team_id: teamId,
|
|
148
|
+
limit,
|
|
149
|
+
cursor,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
return toSlackError(error, 'Failed to list workspace admins');
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
export const slackListWorkspaceOwners = tool({
|
|
158
|
+
description: 'List owner user IDs for a workspace. Requires admin.teams:read. Paginate with cursor.',
|
|
159
|
+
inputSchema: z.object({
|
|
160
|
+
slackToken: tokenField,
|
|
161
|
+
teamId: z.string().describe('Workspace ID'),
|
|
162
|
+
limit: z.number().min(1).max(1000).optional().describe('Owners per page (max 1000)'),
|
|
163
|
+
cursor: z.string().optional().describe('Pagination cursor from a previous response'),
|
|
164
|
+
}),
|
|
165
|
+
execute: async ({ slackToken, teamId, limit, cursor }) => {
|
|
166
|
+
try {
|
|
167
|
+
const missing = requireToken(slackToken);
|
|
168
|
+
if (missing)
|
|
169
|
+
return missing;
|
|
170
|
+
return await slackApi(slackToken, 'admin.teams.owners.list', {
|
|
171
|
+
team_id: teamId,
|
|
172
|
+
limit,
|
|
173
|
+
cursor,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
return toSlackError(error, 'Failed to list workspace owners');
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
export const slackGetWorkspaceSettings = tool({
|
|
182
|
+
description: 'Get detailed settings for a workspace (Enterprise Grid admin audit).',
|
|
183
|
+
inputSchema: z.object({
|
|
184
|
+
slackToken: tokenField,
|
|
185
|
+
teamId: z.string().describe('Workspace ID (T-prefixed)'),
|
|
186
|
+
}),
|
|
187
|
+
execute: async ({ slackToken, teamId }) => {
|
|
188
|
+
try {
|
|
189
|
+
const missing = requireToken(slackToken);
|
|
190
|
+
if (missing)
|
|
191
|
+
return missing;
|
|
192
|
+
return await slackApi(slackToken, 'admin.teams.settings.info', { team_id: teamId });
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
return toSlackError(error, 'Failed to get workspace settings');
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
});
|
|
199
|
+
export const slackSetWorkspaceName = tool({
|
|
200
|
+
description: 'Set the display name of a workspace (Enterprise Grid). Confirm with the user first.',
|
|
201
|
+
inputSchema: z.object({
|
|
202
|
+
slackToken: tokenField,
|
|
203
|
+
teamId: z.string().describe('Workspace ID'),
|
|
204
|
+
name: z.string().describe('New workspace name'),
|
|
205
|
+
}),
|
|
206
|
+
execute: async ({ slackToken, teamId, name }) => {
|
|
207
|
+
try {
|
|
208
|
+
const missing = requireToken(slackToken);
|
|
209
|
+
if (missing)
|
|
210
|
+
return missing;
|
|
211
|
+
return await slackApi(slackToken, 'admin.teams.settings.setName', { team_id: teamId, name });
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
return toSlackError(error, 'Failed to set workspace name');
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
export const slackSetWorkspaceDescription = tool({
|
|
219
|
+
description: 'Set the description of a workspace. Confirm with the user first.',
|
|
220
|
+
inputSchema: z.object({
|
|
221
|
+
slackToken: tokenField,
|
|
222
|
+
teamId: z.string().describe('Workspace ID'),
|
|
223
|
+
description: z.string().describe('New workspace description'),
|
|
224
|
+
}),
|
|
225
|
+
execute: async ({ slackToken, teamId, description }) => {
|
|
226
|
+
try {
|
|
227
|
+
const missing = requireToken(slackToken);
|
|
228
|
+
if (missing)
|
|
229
|
+
return missing;
|
|
230
|
+
return await slackApi(slackToken, 'admin.teams.settings.setDescription', {
|
|
231
|
+
team_id: teamId,
|
|
232
|
+
description,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
return toSlackError(error, 'Failed to set workspace description');
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
export const slackSetWorkspaceIcon = tool({
|
|
241
|
+
description: 'Set the workspace icon from a publicly reachable image URL (GIF/PNG/JPG/HEIC, ideally 512x512).',
|
|
242
|
+
inputSchema: z.object({
|
|
243
|
+
slackToken: tokenField,
|
|
244
|
+
teamId: z.string().describe('Workspace ID'),
|
|
245
|
+
imageUrl: z.string().describe('Public image URL for the icon'),
|
|
246
|
+
}),
|
|
247
|
+
execute: async ({ slackToken, teamId, imageUrl }) => {
|
|
248
|
+
try {
|
|
249
|
+
const missing = requireToken(slackToken);
|
|
250
|
+
if (missing)
|
|
251
|
+
return missing;
|
|
252
|
+
return await slackApi(slackToken, 'admin.teams.settings.setIcon', {
|
|
253
|
+
team_id: teamId,
|
|
254
|
+
image_url: imageUrl,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
return toSlackError(error, 'Failed to set workspace icon');
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
});
|
|
262
|
+
export const slackSetWorkspaceDefaultChannels = tool({
|
|
263
|
+
description: 'Set the default channels new members auto-join. Pass an array or comma-separated string of channel IDs.',
|
|
264
|
+
inputSchema: z.object({
|
|
265
|
+
slackToken: tokenField,
|
|
266
|
+
teamId: z.string().describe('Workspace ID'),
|
|
267
|
+
channelIds: z.union([z.array(z.string()), z.string()]).describe('Channel IDs to set as defaults'),
|
|
268
|
+
}),
|
|
269
|
+
execute: async ({ slackToken, teamId, channelIds }) => {
|
|
270
|
+
try {
|
|
271
|
+
const missing = requireToken(slackToken);
|
|
272
|
+
if (missing)
|
|
273
|
+
return missing;
|
|
274
|
+
const ids = Array.isArray(channelIds) ? channelIds.join(',') : channelIds;
|
|
275
|
+
return await slackApi(slackToken, 'admin.teams.settings.setDefaultChannels', {
|
|
276
|
+
team_id: teamId,
|
|
277
|
+
channel_ids: ids,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
return toSlackError(error, 'Failed to set default channels');
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
});
|
|
285
|
+
//# sourceMappingURL=teams.js.map
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export declare const slackCreateUserGroup: import("ai").Tool<{
|
|
2
|
+
name: string;
|
|
3
|
+
description?: string | undefined;
|
|
4
|
+
teamId?: string | undefined;
|
|
5
|
+
handle?: string | undefined;
|
|
6
|
+
channels?: string | undefined;
|
|
7
|
+
slackToken?: string | undefined;
|
|
8
|
+
additionalChannels?: string | undefined;
|
|
9
|
+
includeCount?: boolean | undefined;
|
|
10
|
+
enableSection?: boolean | undefined;
|
|
11
|
+
}, any>;
|
|
12
|
+
export declare const slackUpdateUserGroup: import("ai").Tool<{
|
|
13
|
+
usergroup: string;
|
|
14
|
+
description?: string | undefined;
|
|
15
|
+
teamId?: string | undefined;
|
|
16
|
+
name?: string | undefined;
|
|
17
|
+
handle?: string | undefined;
|
|
18
|
+
channels?: string | undefined;
|
|
19
|
+
slackToken?: string | undefined;
|
|
20
|
+
additionalChannels?: string | undefined;
|
|
21
|
+
includeCount?: boolean | undefined;
|
|
22
|
+
enableSection?: boolean | undefined;
|
|
23
|
+
}, any>;
|
|
24
|
+
export declare const slackUpdateUserGroupMembers: import("ai").Tool<{
|
|
25
|
+
users: string;
|
|
26
|
+
usergroup: string;
|
|
27
|
+
teamId?: string | undefined;
|
|
28
|
+
slackToken?: string | undefined;
|
|
29
|
+
includeCount?: boolean | undefined;
|
|
30
|
+
}, any>;
|
|
31
|
+
export declare const slackListUserGroups: import("ai").Tool<{
|
|
32
|
+
teamId?: string | undefined;
|
|
33
|
+
slackToken?: string | undefined;
|
|
34
|
+
includeCount?: boolean | undefined;
|
|
35
|
+
includeUsers?: boolean | undefined;
|
|
36
|
+
includeDisabled?: boolean | undefined;
|
|
37
|
+
}, any>;
|
|
38
|
+
export declare const slackListUserGroupMembers: import("ai").Tool<{
|
|
39
|
+
usergroup: string;
|
|
40
|
+
teamId?: string | undefined;
|
|
41
|
+
slackToken?: string | undefined;
|
|
42
|
+
includeDisabled?: boolean | undefined;
|
|
43
|
+
}, any>;
|
|
44
|
+
export declare const slackEnableUserGroup: import("ai").Tool<{
|
|
45
|
+
usergroup: string;
|
|
46
|
+
teamId?: string | undefined;
|
|
47
|
+
slackToken?: string | undefined;
|
|
48
|
+
includeCount?: boolean | undefined;
|
|
49
|
+
}, any>;
|
|
50
|
+
export declare const slackDisableUserGroup: import("ai").Tool<{
|
|
51
|
+
usergroup: string;
|
|
52
|
+
teamId?: string | undefined;
|
|
53
|
+
slackToken?: string | undefined;
|
|
54
|
+
includeCount?: boolean | undefined;
|
|
55
|
+
}, any>;
|
|
56
|
+
//# sourceMappingURL=usergroups.d.ts.map
|
|
@@ -0,0 +1,194 @@
|
|
|
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 slackCreateUserGroup = tool({
|
|
7
|
+
description: 'Create a User Group (subteam) with a unique name, @handle, description, and default channels.',
|
|
8
|
+
inputSchema: z.object({
|
|
9
|
+
slackToken: tokenField,
|
|
10
|
+
name: z.string().describe('Unique display name, e.g. Customer Support'),
|
|
11
|
+
handle: z.string().optional().describe('Mention handle, e.g. support-team (max 21 chars, lowercase)'),
|
|
12
|
+
description: z.string().optional().describe('Group purpose'),
|
|
13
|
+
channels: z.string().optional().describe('Comma-separated default channel IDs'),
|
|
14
|
+
additionalChannels: z.string().optional().describe('Comma-separated extra channel IDs members may join'),
|
|
15
|
+
includeCount: z.boolean().optional().describe('Include member count in the response'),
|
|
16
|
+
enableSection: z.boolean().optional().describe('Show the group as a sidebar section for members'),
|
|
17
|
+
teamId: z.string().optional().describe('Workspace ID (org-level tokens only)'),
|
|
18
|
+
}),
|
|
19
|
+
execute: async ({ slackToken, additionalChannels, includeCount, enableSection, teamId, ...rest }) => {
|
|
20
|
+
try {
|
|
21
|
+
const missing = requireToken(slackToken);
|
|
22
|
+
if (missing)
|
|
23
|
+
return missing;
|
|
24
|
+
return await slackApi(slackToken, 'usergroups.create', {
|
|
25
|
+
...rest,
|
|
26
|
+
additional_channels: additionalChannels,
|
|
27
|
+
include_count: includeCount,
|
|
28
|
+
enable_section: enableSection,
|
|
29
|
+
team_id: teamId,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return toSlackError(error, 'Failed to create user group');
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
export const slackUpdateUserGroup = tool({
|
|
38
|
+
description: 'Update a User Group name, handle, description, or default channels by its ID.',
|
|
39
|
+
inputSchema: z.object({
|
|
40
|
+
slackToken: tokenField,
|
|
41
|
+
usergroup: z.string().describe('User Group ID, e.g. S0615G0KT'),
|
|
42
|
+
name: z.string().optional().describe('New unique display name'),
|
|
43
|
+
handle: z.string().optional().describe('New unique @handle'),
|
|
44
|
+
description: z.string().optional().describe('New purpose text'),
|
|
45
|
+
channels: z.string().optional().describe('Comma-separated default channel IDs'),
|
|
46
|
+
additionalChannels: z.string().optional().describe('Comma-separated extra channel IDs'),
|
|
47
|
+
includeCount: z.boolean().optional().describe('Include member count in the response'),
|
|
48
|
+
enableSection: z.boolean().optional().describe('Show the group as a sidebar section'),
|
|
49
|
+
teamId: z.string().optional().describe('Workspace ID (org-level tokens only)'),
|
|
50
|
+
}),
|
|
51
|
+
execute: async ({ slackToken, usergroup, additionalChannels, includeCount, enableSection, teamId, ...rest }) => {
|
|
52
|
+
try {
|
|
53
|
+
const missing = requireToken(slackToken);
|
|
54
|
+
if (missing)
|
|
55
|
+
return missing;
|
|
56
|
+
return await slackApi(slackToken, 'usergroups.update', {
|
|
57
|
+
usergroup,
|
|
58
|
+
...rest,
|
|
59
|
+
additional_channels: additionalChannels,
|
|
60
|
+
include_count: includeCount,
|
|
61
|
+
enable_section: enableSection,
|
|
62
|
+
team_id: teamId,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
return toSlackError(error, 'Failed to update user group');
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
export const slackUpdateUserGroupMembers = tool({
|
|
71
|
+
description: 'Replace ALL members of a User Group with a new comma-separated user ID list. This overwrites existing membership — confirm with the user first.',
|
|
72
|
+
inputSchema: z.object({
|
|
73
|
+
slackToken: tokenField,
|
|
74
|
+
usergroup: z.string().describe('User Group ID, e.g. S012AB34CD'),
|
|
75
|
+
users: z.string().describe("Complete new member list, e.g. 'U012AB34CD,W567EF89GH'"),
|
|
76
|
+
includeCount: z.boolean().optional().describe('Include updated counts in the response'),
|
|
77
|
+
teamId: z.string().optional().describe('Workspace ID (org-level tokens only)'),
|
|
78
|
+
}),
|
|
79
|
+
execute: async ({ slackToken, usergroup, users, includeCount, teamId }) => {
|
|
80
|
+
try {
|
|
81
|
+
const missing = requireToken(slackToken);
|
|
82
|
+
if (missing)
|
|
83
|
+
return missing;
|
|
84
|
+
return await slackApi(slackToken, 'usergroups.users.update', {
|
|
85
|
+
usergroup,
|
|
86
|
+
users,
|
|
87
|
+
include_count: includeCount,
|
|
88
|
+
team_id: teamId,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
return toSlackError(error, 'Failed to update user group members');
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
export const slackListUserGroups = tool({
|
|
97
|
+
description: 'List workspace User Groups, optionally with member IDs, counts, and disabled groups.',
|
|
98
|
+
inputSchema: z.object({
|
|
99
|
+
slackToken: tokenField,
|
|
100
|
+
includeUsers: z.boolean().optional().describe('Include member user IDs per group'),
|
|
101
|
+
includeCount: z.boolean().optional().describe('Include member counts'),
|
|
102
|
+
includeDisabled: z.boolean().optional().describe('Include disabled/archived groups'),
|
|
103
|
+
teamId: z.string().optional().describe('Workspace ID (org-level tokens only)'),
|
|
104
|
+
}),
|
|
105
|
+
execute: async ({ slackToken, includeUsers, includeCount, includeDisabled, teamId }) => {
|
|
106
|
+
try {
|
|
107
|
+
const missing = requireToken(slackToken);
|
|
108
|
+
if (missing)
|
|
109
|
+
return missing;
|
|
110
|
+
return await slackApi(slackToken, 'usergroups.list', {
|
|
111
|
+
include_users: includeUsers,
|
|
112
|
+
include_count: includeCount,
|
|
113
|
+
include_disabled: includeDisabled,
|
|
114
|
+
team_id: teamId,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
return toSlackError(error, 'Failed to list user groups');
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
export const slackListUserGroupMembers = tool({
|
|
123
|
+
description: 'List user IDs in a User Group, optionally including disabled groups.',
|
|
124
|
+
inputSchema: z.object({
|
|
125
|
+
slackToken: tokenField,
|
|
126
|
+
usergroup: z.string().describe('User Group ID, e.g. S0604QSJC'),
|
|
127
|
+
includeDisabled: z.boolean().optional().describe('Include users from disabled groups'),
|
|
128
|
+
teamId: z.string().optional().describe('Workspace ID (org-level tokens only)'),
|
|
129
|
+
}),
|
|
130
|
+
execute: async ({ slackToken, usergroup, includeDisabled, teamId }) => {
|
|
131
|
+
try {
|
|
132
|
+
const missing = requireToken(slackToken);
|
|
133
|
+
if (missing)
|
|
134
|
+
return missing;
|
|
135
|
+
return await slackApi(slackToken, 'usergroups.users.list', {
|
|
136
|
+
usergroup,
|
|
137
|
+
include_disabled: includeDisabled,
|
|
138
|
+
team_id: teamId,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
return toSlackError(error, 'Failed to list user group members');
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
export const slackEnableUserGroup = tool({
|
|
147
|
+
description: 'Re-enable a disabled User Group for mentions and permissions. Status-only change.',
|
|
148
|
+
inputSchema: z.object({
|
|
149
|
+
slackToken: tokenField,
|
|
150
|
+
usergroup: z.string().describe('User Group ID to enable, e.g. S0604QSJC'),
|
|
151
|
+
includeCount: z.boolean().optional().describe('Include member count in the response'),
|
|
152
|
+
teamId: z.string().optional().describe('Workspace ID (org-level tokens only)'),
|
|
153
|
+
}),
|
|
154
|
+
execute: async ({ slackToken, usergroup, includeCount, teamId }) => {
|
|
155
|
+
try {
|
|
156
|
+
const missing = requireToken(slackToken);
|
|
157
|
+
if (missing)
|
|
158
|
+
return missing;
|
|
159
|
+
return await slackApi(slackToken, 'usergroups.enable', {
|
|
160
|
+
usergroup,
|
|
161
|
+
include_count: includeCount,
|
|
162
|
+
team_id: teamId,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
return toSlackError(error, 'Failed to enable user group');
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
export const slackDisableUserGroup = tool({
|
|
171
|
+
description: 'Disable (archive) an enabled User Group by ID. The group is not deleted and can be re-enabled.',
|
|
172
|
+
inputSchema: z.object({
|
|
173
|
+
slackToken: tokenField,
|
|
174
|
+
usergroup: z.string().describe('User Group ID to disable'),
|
|
175
|
+
includeCount: z.boolean().optional().describe('Include member count in the response'),
|
|
176
|
+
teamId: z.string().optional().describe('Workspace ID (org-level tokens only)'),
|
|
177
|
+
}),
|
|
178
|
+
execute: async ({ slackToken, usergroup, includeCount, teamId }) => {
|
|
179
|
+
try {
|
|
180
|
+
const missing = requireToken(slackToken);
|
|
181
|
+
if (missing)
|
|
182
|
+
return missing;
|
|
183
|
+
return await slackApi(slackToken, 'usergroups.disable', {
|
|
184
|
+
usergroup,
|
|
185
|
+
include_count: includeCount,
|
|
186
|
+
team_id: teamId,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
return toSlackError(error, 'Failed to disable user group');
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
//# sourceMappingURL=usergroups.js.map
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export declare const slackListUsers: import("ai").Tool<{
|
|
2
|
+
teamId?: string | undefined;
|
|
3
|
+
limit?: number | undefined;
|
|
4
|
+
cursor?: string | undefined;
|
|
5
|
+
slackToken?: string | undefined;
|
|
6
|
+
includeLocale?: boolean | undefined;
|
|
7
|
+
}, any>;
|
|
8
|
+
export declare const slackFindUsers: import("ai").Tool<{
|
|
9
|
+
limit: number;
|
|
10
|
+
includeRestricted: boolean;
|
|
11
|
+
teamId?: string | undefined;
|
|
12
|
+
email?: string | undefined;
|
|
13
|
+
searchQuery?: string | undefined;
|
|
14
|
+
slackToken?: string | undefined;
|
|
15
|
+
exactMatch?: boolean | undefined;
|
|
16
|
+
includeLocale?: boolean | undefined;
|
|
17
|
+
includeBots?: boolean | undefined;
|
|
18
|
+
includeDeleted?: boolean | undefined;
|
|
19
|
+
}, any>;
|
|
20
|
+
export declare const slackFindUserByEmail: import("ai").Tool<{
|
|
21
|
+
email: string;
|
|
22
|
+
slackToken?: string | undefined;
|
|
23
|
+
}, any>;
|
|
24
|
+
export declare const slackGetUserInfo: import("ai").Tool<{
|
|
25
|
+
user: string;
|
|
26
|
+
slackToken?: string | undefined;
|
|
27
|
+
includeLocale?: boolean | undefined;
|
|
28
|
+
}, any>;
|
|
29
|
+
export declare const slackGetUserProfile: import("ai").Tool<{
|
|
30
|
+
user?: string | undefined;
|
|
31
|
+
slackToken?: string | undefined;
|
|
32
|
+
includeLabels?: boolean | undefined;
|
|
33
|
+
}, any>;
|
|
34
|
+
export declare const slackSetUserProfile: import("ai").Tool<{
|
|
35
|
+
value?: string | undefined;
|
|
36
|
+
user?: string | undefined;
|
|
37
|
+
name?: string | undefined;
|
|
38
|
+
profile?: string | undefined;
|
|
39
|
+
slackToken?: string | undefined;
|
|
40
|
+
}, any>;
|
|
41
|
+
export declare const slackGetUserPresence: import("ai").Tool<{
|
|
42
|
+
user?: string | undefined;
|
|
43
|
+
slackToken?: string | undefined;
|
|
44
|
+
}, any>;
|
|
45
|
+
export declare const slackSetUserPresence: import("ai").Tool<{
|
|
46
|
+
presence: "auto" | "away";
|
|
47
|
+
slackToken?: string | undefined;
|
|
48
|
+
}, any>;
|
|
49
|
+
export declare const slackEndDnd: import("ai").Tool<{
|
|
50
|
+
slackToken?: string | undefined;
|
|
51
|
+
}, any>;
|
|
52
|
+
export declare const slackEndSnooze: import("ai").Tool<{
|
|
53
|
+
slackToken?: string | undefined;
|
|
54
|
+
}, any>;
|
|
55
|
+
export declare const slackSetDndDuration: import("ai").Tool<{
|
|
56
|
+
numMinutes: string;
|
|
57
|
+
slackToken?: string | undefined;
|
|
58
|
+
}, any>;
|
|
59
|
+
export declare const slackGetDndStatus: import("ai").Tool<{
|
|
60
|
+
teamId?: string | undefined;
|
|
61
|
+
user?: string | undefined;
|
|
62
|
+
slackToken?: string | undefined;
|
|
63
|
+
}, any>;
|
|
64
|
+
export declare const slackGetTeamDndStatus: import("ai").Tool<{
|
|
65
|
+
users: string;
|
|
66
|
+
teamId?: string | undefined;
|
|
67
|
+
slackToken?: string | undefined;
|
|
68
|
+
}, any>;
|
|
69
|
+
export declare const slackDeleteUserPhoto: import("ai").Tool<{
|
|
70
|
+
slackToken?: string | undefined;
|
|
71
|
+
}, any>;
|
|
72
|
+
export declare const slackSetUserPhoto: import("ai").Tool<{
|
|
73
|
+
imageUrl: string;
|
|
74
|
+
slackToken?: string | undefined;
|
|
75
|
+
cropX?: number | undefined;
|
|
76
|
+
cropY?: number | undefined;
|
|
77
|
+
cropW?: number | undefined;
|
|
78
|
+
}, any>;
|
|
79
|
+
export declare const slackGetUserIdentity: import("ai").Tool<{
|
|
80
|
+
slackToken?: string | undefined;
|
|
81
|
+
}, any>;
|
|
82
|
+
export declare const slackGetBotInfo: import("ai").Tool<{
|
|
83
|
+
teamId?: string | undefined;
|
|
84
|
+
slackToken?: string | undefined;
|
|
85
|
+
bot?: string | undefined;
|
|
86
|
+
}, any>;
|
|
87
|
+
//# sourceMappingURL=users.d.ts.map
|