@rnsk/toolkits 0.0.6 → 0.0.7

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 (244) hide show
  1. package/README.md +10 -4
  2. package/dist/index.d.ts +7 -1
  3. package/dist/index.js +13 -1
  4. package/dist/toolkits/docker-hub/icon.d.ts +5 -0
  5. package/dist/toolkits/docker-hub/icon.js +29 -0
  6. package/dist/toolkits/docker-hub/manifest.d.ts +3 -0
  7. package/dist/toolkits/docker-hub/manifest.js +32 -0
  8. package/dist/toolkits/docker-hub/tools/add-org-member.d.ts +29 -0
  9. package/dist/toolkits/docker-hub/tools/add-org-member.js +39 -0
  10. package/dist/toolkits/docker-hub/tools/create-organization.d.ts +6 -0
  11. package/dist/toolkits/docker-hub/tools/create-organization.js +28 -0
  12. package/dist/toolkits/docker-hub/tools/create-repository.d.ts +9 -0
  13. package/dist/toolkits/docker-hub/tools/create-repository.js +37 -0
  14. package/dist/toolkits/docker-hub/tools/create-webhook.d.ts +48 -0
  15. package/dist/toolkits/docker-hub/tools/create-webhook.js +51 -0
  16. package/dist/toolkits/docker-hub/tools/delete-image.d.ts +11 -0
  17. package/dist/toolkits/docker-hub/tools/delete-image.js +46 -0
  18. package/dist/toolkits/docker-hub/tools/delete-organization.d.ts +23 -0
  19. package/dist/toolkits/docker-hub/tools/delete-organization.js +29 -0
  20. package/dist/toolkits/docker-hub/tools/delete-repository.d.ts +21 -0
  21. package/dist/toolkits/docker-hub/tools/delete-repository.js +29 -0
  22. package/dist/toolkits/docker-hub/tools/delete-tag.d.ts +25 -0
  23. package/dist/toolkits/docker-hub/tools/delete-tag.js +29 -0
  24. package/dist/toolkits/docker-hub/tools/delete-team.d.ts +24 -0
  25. package/dist/toolkits/docker-hub/tools/delete-team.js +25 -0
  26. package/dist/toolkits/docker-hub/tools/delete-webhook.d.ts +25 -0
  27. package/dist/toolkits/docker-hub/tools/delete-webhook.js +31 -0
  28. package/dist/toolkits/docker-hub/tools/get-image.d.ts +75 -0
  29. package/dist/toolkits/docker-hub/tools/get-image.js +51 -0
  30. package/dist/toolkits/docker-hub/tools/get-repository.d.ts +6 -0
  31. package/dist/toolkits/docker-hub/tools/get-repository.js +25 -0
  32. package/dist/toolkits/docker-hub/tools/get-tag.d.ts +7 -0
  33. package/dist/toolkits/docker-hub/tools/get-tag.js +26 -0
  34. package/dist/toolkits/docker-hub/tools/get-team.d.ts +6 -0
  35. package/dist/toolkits/docker-hub/tools/get-team.js +25 -0
  36. package/dist/toolkits/docker-hub/tools/get-webhook.d.ts +26 -0
  37. package/dist/toolkits/docker-hub/tools/get-webhook.js +26 -0
  38. package/dist/toolkits/docker-hub/tools/index.d.ts +437 -0
  39. package/dist/toolkits/docker-hub/tools/index.js +165 -0
  40. package/dist/toolkits/docker-hub/tools/list-org-access-tokens.d.ts +7 -0
  41. package/dist/toolkits/docker-hub/tools/list-org-access-tokens.js +26 -0
  42. package/dist/toolkits/docker-hub/tools/list-org-members.d.ts +7 -0
  43. package/dist/toolkits/docker-hub/tools/list-org-members.js +26 -0
  44. package/dist/toolkits/docker-hub/tools/list-organizations.d.ts +6 -0
  45. package/dist/toolkits/docker-hub/tools/list-organizations.js +25 -0
  46. package/dist/toolkits/docker-hub/tools/list-repositories.d.ts +10 -0
  47. package/dist/toolkits/docker-hub/tools/list-repositories.js +35 -0
  48. package/dist/toolkits/docker-hub/tools/list-team-members.d.ts +9 -0
  49. package/dist/toolkits/docker-hub/tools/list-team-members.js +32 -0
  50. package/dist/toolkits/docker-hub/tools/list-teams.d.ts +7 -0
  51. package/dist/toolkits/docker-hub/tools/list-teams.js +26 -0
  52. package/dist/toolkits/docker-hub/tools/list-webhooks.d.ts +8 -0
  53. package/dist/toolkits/docker-hub/tools/list-webhooks.js +38 -0
  54. package/dist/toolkits/docker-hub/tools/remove-org-member.d.ts +21 -0
  55. package/dist/toolkits/docker-hub/tools/remove-org-member.js +25 -0
  56. package/dist/toolkits/docker-hub/tools/remove-team-member.d.ts +25 -0
  57. package/dist/toolkits/docker-hub/tools/remove-team-member.js +26 -0
  58. package/dist/toolkits/docker-hub/tools/utils.d.ts +24 -0
  59. package/dist/toolkits/docker-hub/tools/utils.js +87 -0
  60. package/dist/toolkits/github/tools/Git/create-blob.d.ts +1 -1
  61. package/dist/toolkits/github/tools/Issues/remove-issue-label.d.ts +1 -1
  62. package/dist/toolkits/github/tools/Repos/star-repo.d.ts +1 -1
  63. package/dist/toolkits/github/tools/Users/follow-user.d.ts +1 -1
  64. package/dist/toolkits/github/tools/index.d.ts +4 -4
  65. package/dist/toolkits/gmail/manifest.js +82 -2
  66. package/dist/toolkits/gmail/tools/batch-delete-messages.d.ts +26 -0
  67. package/dist/toolkits/gmail/tools/batch-delete-messages.js +33 -0
  68. package/dist/toolkits/gmail/tools/batch-modify-messages.d.ts +34 -0
  69. package/dist/toolkits/gmail/tools/batch-modify-messages.js +39 -0
  70. package/dist/toolkits/gmail/tools/create-filter.d.ts +24 -0
  71. package/dist/toolkits/gmail/tools/create-filter.js +35 -0
  72. package/dist/toolkits/gmail/tools/create-label.d.ts +27 -0
  73. package/dist/toolkits/gmail/tools/create-label.js +46 -0
  74. package/dist/toolkits/gmail/tools/delete-filter.d.ts +23 -0
  75. package/dist/toolkits/gmail/tools/delete-filter.js +31 -0
  76. package/dist/toolkits/gmail/tools/delete-label.d.ts +23 -0
  77. package/dist/toolkits/gmail/tools/delete-label.js +31 -0
  78. package/dist/toolkits/gmail/tools/delete-message.d.ts +23 -0
  79. package/dist/toolkits/gmail/tools/delete-message.js +31 -0
  80. package/dist/toolkits/gmail/tools/delete-thread.d.ts +23 -0
  81. package/dist/toolkits/gmail/tools/delete-thread.js +31 -0
  82. package/dist/toolkits/gmail/tools/forward-message.d.ts +37 -0
  83. package/dist/toolkits/gmail/tools/forward-message.js +112 -0
  84. package/dist/toolkits/gmail/tools/get-attachment.d.ts +40 -0
  85. package/dist/toolkits/gmail/tools/get-attachment.js +41 -0
  86. package/dist/toolkits/gmail/tools/get-auto-forwarding.d.ts +22 -0
  87. package/dist/toolkits/gmail/tools/get-auto-forwarding.js +30 -0
  88. package/dist/toolkits/gmail/tools/get-contacts.d.ts +8 -0
  89. package/dist/toolkits/gmail/tools/get-contacts.js +50 -0
  90. package/dist/toolkits/gmail/tools/get-filter.d.ts +23 -0
  91. package/dist/toolkits/gmail/tools/get-filter.js +31 -0
  92. package/dist/toolkits/gmail/tools/index.d.ts +13 -0
  93. package/dist/toolkits/gmail/tools/index.js +13 -0
  94. package/dist/toolkits/gmail/tools/utils.d.ts +23 -0
  95. package/dist/toolkits/gmail/tools/utils.js +51 -0
  96. package/dist/toolkits/google-forms/icon.d.ts +5 -0
  97. package/dist/toolkits/google-forms/icon.js +6 -0
  98. package/dist/toolkits/google-forms/manifest.d.ts +3 -0
  99. package/dist/toolkits/google-forms/manifest.js +43 -0
  100. package/dist/toolkits/google-forms/tools/batch-update-form.d.ts +11 -0
  101. package/dist/toolkits/google-forms/tools/batch-update-form.js +49 -0
  102. package/dist/toolkits/google-forms/tools/create-form.d.ts +8 -0
  103. package/dist/toolkits/google-forms/tools/create-form.js +44 -0
  104. package/dist/toolkits/google-forms/tools/create-watch.d.ts +8 -0
  105. package/dist/toolkits/google-forms/tools/create-watch.js +48 -0
  106. package/dist/toolkits/google-forms/tools/delete-watch.d.ts +21 -0
  107. package/dist/toolkits/google-forms/tools/delete-watch.js +28 -0
  108. package/dist/toolkits/google-forms/tools/get-form.d.ts +5 -0
  109. package/dist/toolkits/google-forms/tools/get-form.js +27 -0
  110. package/dist/toolkits/google-forms/tools/get-response.d.ts +6 -0
  111. package/dist/toolkits/google-forms/tools/get-response.js +28 -0
  112. package/dist/toolkits/google-forms/tools/index.d.ts +130 -0
  113. package/dist/toolkits/google-forms/tools/index.js +85 -0
  114. package/dist/toolkits/google-forms/tools/list-responses.d.ts +8 -0
  115. package/dist/toolkits/google-forms/tools/list-responses.js +44 -0
  116. package/dist/toolkits/google-forms/tools/list-watches.d.ts +5 -0
  117. package/dist/toolkits/google-forms/tools/list-watches.js +27 -0
  118. package/dist/toolkits/google-forms/tools/renew-watch.d.ts +6 -0
  119. package/dist/toolkits/google-forms/tools/renew-watch.js +28 -0
  120. package/dist/toolkits/google-forms/tools/set-publish-settings.d.ts +8 -0
  121. package/dist/toolkits/google-forms/tools/set-publish-settings.js +43 -0
  122. package/dist/toolkits/google-forms/tools/utils.d.ts +15 -0
  123. package/dist/toolkits/google-forms/tools/utils.js +33 -0
  124. package/dist/toolkits/google-meet/icon.d.ts +5 -0
  125. package/dist/toolkits/google-meet/icon.js +153 -0
  126. package/dist/toolkits/google-meet/manifest.d.ts +3 -0
  127. package/dist/toolkits/google-meet/manifest.js +44 -0
  128. package/dist/toolkits/google-meet/tools/create-meet.d.ts +5 -0
  129. package/dist/toolkits/google-meet/tools/create-meet.js +33 -0
  130. package/dist/toolkits/google-meet/tools/end-active-conference.d.ts +26 -0
  131. package/dist/toolkits/google-meet/tools/end-active-conference.js +37 -0
  132. package/dist/toolkits/google-meet/tools/get-conference-record-by-name.d.ts +5 -0
  133. package/dist/toolkits/google-meet/tools/get-conference-record-by-name.js +30 -0
  134. package/dist/toolkits/google-meet/tools/get-meet.d.ts +5 -0
  135. package/dist/toolkits/google-meet/tools/get-meet.js +30 -0
  136. package/dist/toolkits/google-meet/tools/get-participant-session.d.ts +5 -0
  137. package/dist/toolkits/google-meet/tools/get-participant-session.js +29 -0
  138. package/dist/toolkits/google-meet/tools/get-recordings-by-conference-record-id.d.ts +7 -0
  139. package/dist/toolkits/google-meet/tools/get-recordings-by-conference-record-id.js +32 -0
  140. package/dist/toolkits/google-meet/tools/get-transcript-entry.d.ts +5 -0
  141. package/dist/toolkits/google-meet/tools/get-transcript-entry.js +29 -0
  142. package/dist/toolkits/google-meet/tools/get-transcript.d.ts +5 -0
  143. package/dist/toolkits/google-meet/tools/get-transcript.js +29 -0
  144. package/dist/toolkits/google-meet/tools/get-transcripts-by-conference-record-id.d.ts +7 -0
  145. package/dist/toolkits/google-meet/tools/get-transcripts-by-conference-record-id.js +32 -0
  146. package/dist/toolkits/google-meet/tools/index.d.ts +156 -0
  147. package/dist/toolkits/google-meet/tools/index.js +125 -0
  148. package/dist/toolkits/google-meet/tools/list-conference-records.d.ts +7 -0
  149. package/dist/toolkits/google-meet/tools/list-conference-records.js +31 -0
  150. package/dist/toolkits/google-meet/tools/list-participant-sessions.d.ts +9 -0
  151. package/dist/toolkits/google-meet/tools/list-participant-sessions.js +34 -0
  152. package/dist/toolkits/google-meet/tools/list-participants.d.ts +8 -0
  153. package/dist/toolkits/google-meet/tools/list-participants.js +35 -0
  154. package/dist/toolkits/google-meet/tools/list-recordings.d.ts +7 -0
  155. package/dist/toolkits/google-meet/tools/list-recordings.js +34 -0
  156. package/dist/toolkits/google-meet/tools/list-transcript-entries.d.ts +8 -0
  157. package/dist/toolkits/google-meet/tools/list-transcript-entries.js +33 -0
  158. package/dist/toolkits/google-meet/tools/update-space.d.ts +7 -0
  159. package/dist/toolkits/google-meet/tools/update-space.js +42 -0
  160. package/dist/toolkits/google-meet/tools/utils.d.ts +14 -0
  161. package/dist/toolkits/google-meet/tools/utils.js +39 -0
  162. package/dist/toolkits/google-search-console/icon.d.ts +5 -0
  163. package/dist/toolkits/google-search-console/icon.js +6 -0
  164. package/dist/toolkits/google-search-console/manifest.d.ts +3 -0
  165. package/dist/toolkits/google-search-console/manifest.js +46 -0
  166. package/dist/toolkits/google-search-console/tools/add-site.d.ts +29 -0
  167. package/dist/toolkits/google-search-console/tools/add-site.js +27 -0
  168. package/dist/toolkits/google-search-console/tools/delete-site.d.ts +26 -0
  169. package/dist/toolkits/google-search-console/tools/delete-site.js +27 -0
  170. package/dist/toolkits/google-search-console/tools/get-site.d.ts +5 -0
  171. package/dist/toolkits/google-search-console/tools/get-site.js +27 -0
  172. package/dist/toolkits/google-search-console/tools/get-sitemap.d.ts +6 -0
  173. package/dist/toolkits/google-search-console/tools/get-sitemap.js +28 -0
  174. package/dist/toolkits/google-search-console/tools/index.d.ts +178 -0
  175. package/dist/toolkits/google-search-console/tools/index.js +77 -0
  176. package/dist/toolkits/google-search-console/tools/inspect-url.d.ts +7 -0
  177. package/dist/toolkits/google-search-console/tools/inspect-url.js +41 -0
  178. package/dist/toolkits/google-search-console/tools/list-sitemaps.d.ts +6 -0
  179. package/dist/toolkits/google-search-console/tools/list-sitemaps.js +31 -0
  180. package/dist/toolkits/google-search-console/tools/list-sites.d.ts +4 -0
  181. package/dist/toolkits/google-search-console/tools/list-sites.js +26 -0
  182. package/dist/toolkits/google-search-console/tools/search-analytics-query.d.ts +14 -0
  183. package/dist/toolkits/google-search-console/tools/search-analytics-query.js +73 -0
  184. package/dist/toolkits/google-search-console/tools/submit-sitemap.d.ts +33 -0
  185. package/dist/toolkits/google-search-console/tools/submit-sitemap.js +28 -0
  186. package/dist/toolkits/google-search-console/tools/utils.d.ts +24 -0
  187. package/dist/toolkits/google-search-console/tools/utils.js +57 -0
  188. package/dist/toolkits/google-slides/icon.d.ts +5 -0
  189. package/dist/toolkits/google-slides/icon.js +6 -0
  190. package/dist/toolkits/google-slides/manifest.d.ts +3 -0
  191. package/dist/toolkits/google-slides/manifest.js +46 -0
  192. package/dist/toolkits/google-slides/tools/create-presentation.d.ts +8 -0
  193. package/dist/toolkits/google-slides/tools/create-presentation.js +42 -0
  194. package/dist/toolkits/google-slides/tools/create-slides-markdown.d.ts +56 -0
  195. package/dist/toolkits/google-slides/tools/create-slides-markdown.js +70 -0
  196. package/dist/toolkits/google-slides/tools/get-page-thumbnail2.d.ts +8 -0
  197. package/dist/toolkits/google-slides/tools/get-page-thumbnail2.js +41 -0
  198. package/dist/toolkits/google-slides/tools/index.d.ts +139 -0
  199. package/dist/toolkits/google-slides/tools/index.js +69 -0
  200. package/dist/toolkits/google-slides/tools/markdown.d.ts +6 -0
  201. package/dist/toolkits/google-slides/tools/markdown.js +222 -0
  202. package/dist/toolkits/google-slides/tools/presentations-batch-update.d.ts +8 -0
  203. package/dist/toolkits/google-slides/tools/presentations-batch-update.js +58 -0
  204. package/dist/toolkits/google-slides/tools/presentations-copy-from-template.d.ts +7 -0
  205. package/dist/toolkits/google-slides/tools/presentations-copy-from-template.js +42 -0
  206. package/dist/toolkits/google-slides/tools/presentations-get.d.ts +7 -0
  207. package/dist/toolkits/google-slides/tools/presentations-get.js +58 -0
  208. package/dist/toolkits/google-slides/tools/presentations-pages-get-thumbnail.d.ts +8 -0
  209. package/dist/toolkits/google-slides/tools/presentations-pages-get-thumbnail.js +41 -0
  210. package/dist/toolkits/google-slides/tools/presentations-pages-get.d.ts +6 -0
  211. package/dist/toolkits/google-slides/tools/presentations-pages-get.js +28 -0
  212. package/dist/toolkits/google-slides/tools/utils.d.ts +22 -0
  213. package/dist/toolkits/google-slides/tools/utils.js +51 -0
  214. package/dist/toolkits/grafana/icon.d.ts +5 -0
  215. package/dist/toolkits/grafana/icon.js +6 -0
  216. package/dist/toolkits/grafana/manifest.d.ts +3 -0
  217. package/dist/toolkits/grafana/manifest.js +31 -0
  218. package/dist/toolkits/grafana/tools/create-otlp-v1-logs.d.ts +23 -0
  219. package/dist/toolkits/grafana/tools/create-otlp-v1-logs.js +41 -0
  220. package/dist/toolkits/grafana/tools/get-distributor-ha-tracker.d.ts +22 -0
  221. package/dist/toolkits/grafana/tools/get-distributor-ha-tracker.js +33 -0
  222. package/dist/toolkits/grafana/tools/get-health.d.ts +4 -0
  223. package/dist/toolkits/grafana/tools/get-health.js +32 -0
  224. package/dist/toolkits/grafana/tools/get-index-gateway-ring.d.ts +22 -0
  225. package/dist/toolkits/grafana/tools/get-index-gateway-ring.js +33 -0
  226. package/dist/toolkits/grafana/tools/get-overrides-exporter-ring.d.ts +22 -0
  227. package/dist/toolkits/grafana/tools/get-overrides-exporter-ring.js +33 -0
  228. package/dist/toolkits/grafana/tools/get-ruler-ring.d.ts +22 -0
  229. package/dist/toolkits/grafana/tools/get-ruler-ring.js +33 -0
  230. package/dist/toolkits/grafana/tools/get-status.d.ts +22 -0
  231. package/dist/toolkits/grafana/tools/get-status.js +35 -0
  232. package/dist/toolkits/grafana/tools/get-store-gateway-tenants.d.ts +25 -0
  233. package/dist/toolkits/grafana/tools/get-store-gateway-tenants.js +33 -0
  234. package/dist/toolkits/grafana/tools/index.d.ts +183 -0
  235. package/dist/toolkits/grafana/tools/index.js +93 -0
  236. package/dist/toolkits/grafana/tools/post-acs.d.ts +16 -0
  237. package/dist/toolkits/grafana/tools/post-acs.js +44 -0
  238. package/dist/toolkits/grafana/tools/query-public-dashboard.d.ts +29 -0
  239. package/dist/toolkits/grafana/tools/query-public-dashboard.js +70 -0
  240. package/dist/toolkits/grafana/tools/retrieve-jwks.d.ts +4 -0
  241. package/dist/toolkits/grafana/tools/retrieve-jwks.js +32 -0
  242. package/dist/toolkits/grafana/tools/utils.d.ts +21 -0
  243. package/dist/toolkits/grafana/tools/utils.js +48 -0
  244. package/package.json +2 -1
@@ -0,0 +1,25 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { dockerHubRequest, buildQueryString } from './utils.js';
5
+ export const listOrganizations = tool({
6
+ description: 'List Docker Hub organizations the authenticated user belongs to.',
7
+ inputSchema: z.object({
8
+ dockerHubCredentials: z.string().describe('Docker Hub credentials JSON with username and personalAccessToken'),
9
+ page: z.number().int().min(1).optional().describe('Page number (1-indexed)'),
10
+ page_size: z.number().int().min(1).max(100).optional().describe('Results per page'),
11
+ }),
12
+ execute: async ({ dockerHubCredentials, page, page_size }) => {
13
+ try {
14
+ const result = await dockerHubRequest(dockerHubCredentials, `/v2/user/orgs/${buildQueryString({ page: page ?? 1, page_size: page_size ?? 25 })}`);
15
+ if (!result.ok) {
16
+ return { error: 'Failed to list organizations', details: result.data, statusCode: result.status };
17
+ }
18
+ return result.data;
19
+ }
20
+ catch (error) {
21
+ return { error: 'Error listing organizations', message: error instanceof Error ? error.message : 'Unknown error' };
22
+ }
23
+ },
24
+ });
25
+ //# sourceMappingURL=list-organizations.js.map
@@ -0,0 +1,10 @@
1
+ export declare const listRepositories: import("ai").Tool<{
2
+ namespace: string;
3
+ dockerHubCredentials: string;
4
+ page?: number | undefined;
5
+ page_size?: number | undefined;
6
+ ordering?: string | undefined;
7
+ media_types?: string | undefined;
8
+ content_types?: string | undefined;
9
+ }, any>;
10
+ //# sourceMappingURL=list-repositories.d.ts.map
@@ -0,0 +1,35 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { dockerHubRequest, buildQueryString } from './utils.js';
5
+ export const listRepositories = tool({
6
+ description: 'List repositories under a Docker Hub namespace with optional filtering and pagination.',
7
+ inputSchema: z.object({
8
+ dockerHubCredentials: z.string().describe('Docker Hub credentials JSON with username and personalAccessToken'),
9
+ namespace: z.string().describe('Docker Hub namespace'),
10
+ page: z.number().int().min(1).optional().describe('Page number (1-indexed)'),
11
+ page_size: z.number().int().min(1).max(100).optional().describe('Results per page'),
12
+ ordering: z.string().optional().describe('Sort field such as last_updated or -pull_count'),
13
+ media_types: z.string().optional().describe('Comma-separated media types filter'),
14
+ content_types: z.string().optional().describe('Comma-separated content types filter'),
15
+ }),
16
+ execute: async ({ dockerHubCredentials, namespace, page, page_size, ordering, media_types, content_types }) => {
17
+ try {
18
+ const result = await dockerHubRequest(dockerHubCredentials, `/v2/namespaces/${encodeURIComponent(namespace)}/repositories${buildQueryString({
19
+ page: page ?? 1,
20
+ page_size: page_size ?? 25,
21
+ ordering,
22
+ media_types,
23
+ content_types,
24
+ })}`);
25
+ if (!result.ok) {
26
+ return { error: 'Failed to list repositories', details: result.data, statusCode: result.status };
27
+ }
28
+ return result.data;
29
+ }
30
+ catch (error) {
31
+ return { error: 'Error listing repositories', message: error instanceof Error ? error.message : 'Unknown error' };
32
+ }
33
+ },
34
+ });
35
+ //# sourceMappingURL=list-repositories.js.map
@@ -0,0 +1,9 @@
1
+ export declare const listTeamMembers: import("ai").Tool<{
2
+ dockerHubCredentials: string;
3
+ org_name: string;
4
+ team_name: string;
5
+ page?: number | undefined;
6
+ search?: string | undefined;
7
+ page_size?: number | undefined;
8
+ }, any>;
9
+ //# sourceMappingURL=list-team-members.d.ts.map
@@ -0,0 +1,32 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { dockerHubRequest, buildQueryString } from './utils.js';
5
+ export const listTeamMembers = tool({
6
+ description: 'List members of a Docker Hub organization team (group).',
7
+ inputSchema: z.object({
8
+ dockerHubCredentials: z.string().describe('Docker Hub credentials JSON with username and personalAccessToken'),
9
+ org_name: z.string().describe('Organization slug/name'),
10
+ team_name: z.string().describe('Team slug/name'),
11
+ page: z.number().int().min(1).optional().describe('Page number (1-indexed)'),
12
+ page_size: z.number().int().min(1).max(100).optional().describe('Results per page'),
13
+ search: z.string().optional().describe('Filter members by username, full name, or email'),
14
+ }),
15
+ execute: async ({ dockerHubCredentials, org_name, team_name, page, page_size, search }) => {
16
+ try {
17
+ const result = await dockerHubRequest(dockerHubCredentials, `/v2/orgs/${encodeURIComponent(org_name)}/groups/${encodeURIComponent(team_name)}/members${buildQueryString({
18
+ page: page ?? 1,
19
+ page_size: page_size ?? 25,
20
+ search,
21
+ })}`);
22
+ if (!result.ok) {
23
+ return { error: 'Failed to list team members', details: result.data, statusCode: result.status };
24
+ }
25
+ return result.data;
26
+ }
27
+ catch (error) {
28
+ return { error: 'Error listing team members', message: error instanceof Error ? error.message : 'Unknown error' };
29
+ }
30
+ },
31
+ });
32
+ //# sourceMappingURL=list-team-members.js.map
@@ -0,0 +1,7 @@
1
+ export declare const listTeams: import("ai").Tool<{
2
+ organization: string;
3
+ dockerHubCredentials: string;
4
+ page?: number | undefined;
5
+ page_size?: number | undefined;
6
+ }, any>;
7
+ //# sourceMappingURL=list-teams.d.ts.map
@@ -0,0 +1,26 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { dockerHubRequest, buildQueryString } from './utils.js';
5
+ export const listTeams = tool({
6
+ description: 'List all teams (groups) within a Docker Hub organization.',
7
+ inputSchema: z.object({
8
+ dockerHubCredentials: z.string().describe('Docker Hub credentials JSON with username and personalAccessToken'),
9
+ organization: z.string().describe('Organization slug/name'),
10
+ page: z.number().int().min(1).optional().describe('Page number (1-indexed)'),
11
+ page_size: z.number().int().min(1).max(100).optional().describe('Results per page'),
12
+ }),
13
+ execute: async ({ dockerHubCredentials, organization, page, page_size }) => {
14
+ try {
15
+ const result = await dockerHubRequest(dockerHubCredentials, `/v2/orgs/${encodeURIComponent(organization)}/groups${buildQueryString({ page: page ?? 1, page_size: page_size ?? 25 })}`);
16
+ if (!result.ok) {
17
+ return { error: 'Failed to list teams', details: result.data, statusCode: result.status };
18
+ }
19
+ return result.data;
20
+ }
21
+ catch (error) {
22
+ return { error: 'Error listing teams', message: error instanceof Error ? error.message : 'Unknown error' };
23
+ }
24
+ },
25
+ });
26
+ //# sourceMappingURL=list-teams.js.map
@@ -0,0 +1,8 @@
1
+ export declare const listWebhooks: import("ai").Tool<{
2
+ repository: string;
3
+ namespace: string;
4
+ dockerHubCredentials: string;
5
+ page?: number | undefined;
6
+ page_size?: number | undefined;
7
+ }, any>;
8
+ //# sourceMappingURL=list-webhooks.d.ts.map
@@ -0,0 +1,38 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { dockerHubRequest, buildQueryString, normalizeLegacyWebhook } from './utils.js';
5
+ export const listWebhooks = tool({
6
+ description: 'List webhooks configured for a Docker Hub repository.',
7
+ inputSchema: z.object({
8
+ dockerHubCredentials: z.string().describe('Docker Hub credentials JSON with username and personalAccessToken'),
9
+ namespace: z.string().describe('Docker Hub namespace'),
10
+ repository: z.string().describe('Repository name'),
11
+ page: z.number().int().min(1).optional().describe('Page number (1-indexed)'),
12
+ page_size: z.number().int().min(1).max(100).optional().describe('Results per page'),
13
+ }),
14
+ execute: async ({ dockerHubCredentials, namespace, repository, page, page_size }) => {
15
+ try {
16
+ const result = await dockerHubRequest(dockerHubCredentials, `/v2/repositories/${encodeURIComponent(namespace)}/${encodeURIComponent(repository)}/webhooks/${buildQueryString({ page, page_size })}`);
17
+ if (!result.ok) {
18
+ return { error: 'Failed to list webhooks', details: result.data, statusCode: result.status };
19
+ }
20
+ const raw = result.data;
21
+ if (Array.isArray(raw)) {
22
+ const results = raw.map((item) => normalizeLegacyWebhook(item));
23
+ return { count: results.length, results, next: null, previous: null };
24
+ }
25
+ if (raw?.results) {
26
+ return {
27
+ ...raw,
28
+ results: raw.results.map((item) => normalizeLegacyWebhook(item)),
29
+ };
30
+ }
31
+ return raw;
32
+ }
33
+ catch (error) {
34
+ return { error: 'Error listing webhooks', message: error instanceof Error ? error.message : 'Unknown error' };
35
+ }
36
+ },
37
+ });
38
+ //# sourceMappingURL=list-webhooks.js.map
@@ -0,0 +1,21 @@
1
+ export declare const removeOrgMember: import("ai").Tool<{
2
+ username: string;
3
+ dockerHubCredentials: string;
4
+ org_name: string;
5
+ }, {
6
+ message: string;
7
+ error?: undefined;
8
+ details?: undefined;
9
+ statusCode?: undefined;
10
+ } | {
11
+ error: string;
12
+ details: any;
13
+ statusCode: number;
14
+ message?: undefined;
15
+ } | {
16
+ error: string;
17
+ message: string;
18
+ details?: undefined;
19
+ statusCode?: undefined;
20
+ }>;
21
+ //# sourceMappingURL=remove-org-member.d.ts.map
@@ -0,0 +1,25 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { dockerHubRequest } from './utils.js';
5
+ export const removeOrgMember = tool({
6
+ description: 'Remove a member from a Docker Hub organization.',
7
+ inputSchema: z.object({
8
+ dockerHubCredentials: z.string().describe('Docker Hub credentials JSON with username and personalAccessToken'),
9
+ org_name: z.string().describe('Organization slug/name'),
10
+ username: z.string().describe('Docker Hub username to remove'),
11
+ }),
12
+ execute: async ({ dockerHubCredentials, org_name, username }) => {
13
+ try {
14
+ const result = await dockerHubRequest(dockerHubCredentials, `/v2/orgs/${encodeURIComponent(org_name)}/members/${encodeURIComponent(username)}`, { method: 'DELETE' });
15
+ if (result.ok || result.status === 404) {
16
+ return { message: 'Member successfully removed from organization' };
17
+ }
18
+ return { error: 'Failed to remove organization member', details: result.data, statusCode: result.status };
19
+ }
20
+ catch (error) {
21
+ return { error: 'Error removing organization member', message: error instanceof Error ? error.message : 'Unknown error' };
22
+ }
23
+ },
24
+ });
25
+ //# sourceMappingURL=remove-org-member.js.map
@@ -0,0 +1,25 @@
1
+ export declare const removeTeamMember: import("ai").Tool<{
2
+ username: string;
3
+ team_slug: string;
4
+ dockerHubCredentials: string;
5
+ org_name: string;
6
+ }, {
7
+ success: boolean;
8
+ message: string;
9
+ error?: undefined;
10
+ details?: undefined;
11
+ statusCode?: undefined;
12
+ } | {
13
+ error: string;
14
+ details: any;
15
+ statusCode: number;
16
+ success?: undefined;
17
+ message?: undefined;
18
+ } | {
19
+ error: string;
20
+ message: string;
21
+ success?: undefined;
22
+ details?: undefined;
23
+ statusCode?: undefined;
24
+ }>;
25
+ //# sourceMappingURL=remove-team-member.d.ts.map
@@ -0,0 +1,26 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { dockerHubRequest } from './utils.js';
5
+ export const removeTeamMember = tool({
6
+ description: 'Remove a user from a Docker Hub organization team (group).',
7
+ inputSchema: z.object({
8
+ dockerHubCredentials: z.string().describe('Docker Hub credentials JSON with username and personalAccessToken'),
9
+ org_name: z.string().describe('Organization slug/name'),
10
+ team_slug: z.string().describe('Team slug/name'),
11
+ username: z.string().describe('Docker Hub username to remove from the team'),
12
+ }),
13
+ execute: async ({ dockerHubCredentials, org_name, team_slug, username }) => {
14
+ try {
15
+ const result = await dockerHubRequest(dockerHubCredentials, `/v2/orgs/${encodeURIComponent(org_name)}/groups/${encodeURIComponent(team_slug)}/members/${encodeURIComponent(username)}`, { method: 'DELETE' });
16
+ if (result.ok || result.status === 404) {
17
+ return { success: true, message: 'Member removed from team successfully' };
18
+ }
19
+ return { error: 'Failed to remove team member', details: result.data, statusCode: result.status };
20
+ }
21
+ catch (error) {
22
+ return { error: 'Error removing team member', message: error instanceof Error ? error.message : 'Unknown error' };
23
+ }
24
+ },
25
+ });
26
+ //# sourceMappingURL=remove-team-member.js.map
@@ -0,0 +1,24 @@
1
+ export declare const DOCKER_HUB_BASE = "https://hub.docker.com";
2
+ export interface DockerHubCredentials {
3
+ username: string;
4
+ personalAccessToken: string;
5
+ }
6
+ export declare function parseDockerHubCredentials(raw: string): DockerHubCredentials;
7
+ export declare function buildQueryString(params: Record<string, unknown>): string;
8
+ export declare function dockerHubRequest(dockerHubCredentials: string, path: string, options?: {
9
+ method?: string;
10
+ body?: unknown;
11
+ auth?: boolean;
12
+ acceptJson?: boolean;
13
+ }): Promise<{
14
+ ok: boolean;
15
+ status: number;
16
+ data: any;
17
+ contentType: string;
18
+ }>;
19
+ export declare const credentialsSchema: {
20
+ dockerHubCredentials: {
21
+ describe: string;
22
+ };
23
+ };
24
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1,87 @@
1
+ // @ts-nocheck
2
+ export const DOCKER_HUB_BASE = 'https://hub.docker.com';
3
+ export function parseDockerHubCredentials(raw) {
4
+ const parsed = JSON.parse(raw);
5
+ if (!parsed.username || !parsed.personalAccessToken) {
6
+ throw new Error('Docker Hub credentials must include username and personalAccessToken');
7
+ }
8
+ return {
9
+ username: parsed.username,
10
+ personalAccessToken: parsed.personalAccessToken,
11
+ };
12
+ }
13
+ let tokenCache = null;
14
+ async function getAccessToken(credentials) {
15
+ const cacheKey = `${credentials.username}:${credentials.personalAccessToken.slice(0, 8)}`;
16
+ if (tokenCache && tokenCache.key === cacheKey && tokenCache.expiresAt > Date.now()) {
17
+ return tokenCache.token;
18
+ }
19
+ const response = await fetch(`${DOCKER_HUB_BASE}/v2/auth/token`, {
20
+ method: 'POST',
21
+ headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
22
+ body: JSON.stringify({
23
+ identifier: credentials.username,
24
+ secret: credentials.personalAccessToken,
25
+ }),
26
+ });
27
+ const data = await response.json().catch(() => null);
28
+ if (!response.ok) {
29
+ throw new Error(data?.message ?? data?.detail ?? 'Failed to authenticate with Docker Hub');
30
+ }
31
+ const token = data?.access_token ?? data?.token;
32
+ if (!token) {
33
+ throw new Error('Docker Hub auth response did not include an access token');
34
+ }
35
+ tokenCache = { key: cacheKey, token, expiresAt: Date.now() + 8 * 60 * 1000 };
36
+ return token;
37
+ }
38
+ export function buildQueryString(params) {
39
+ const search = new URLSearchParams();
40
+ for (const [key, value] of Object.entries(params)) {
41
+ if (value !== undefined && value !== null && value !== '') {
42
+ search.set(key, String(value));
43
+ }
44
+ }
45
+ const qs = search.toString();
46
+ return qs ? `?${qs}` : '';
47
+ }
48
+ export async function dockerHubRequest(dockerHubCredentials, path, options) {
49
+ const credentials = parseDockerHubCredentials(dockerHubCredentials);
50
+ const url = `${DOCKER_HUB_BASE}${path.startsWith('/') ? path : `/${path}`}`;
51
+ const headers = {};
52
+ if (options?.acceptJson !== false) {
53
+ headers.Accept = 'application/json';
54
+ }
55
+ if (options?.body !== undefined) {
56
+ headers['Content-Type'] = 'application/json';
57
+ }
58
+ if (options?.auth !== false) {
59
+ const token = await getAccessToken(credentials);
60
+ headers.Authorization = `Bearer ${token}`;
61
+ }
62
+ const fetchOptions = {
63
+ method: options?.method ?? 'GET',
64
+ headers,
65
+ };
66
+ if (options?.body !== undefined) {
67
+ fetchOptions.body =
68
+ typeof options.body === 'string' ? options.body : JSON.stringify(options.body);
69
+ }
70
+ const response = await fetch(url, fetchOptions);
71
+ const contentType = response.headers.get('content-type') ?? '';
72
+ if (response.status === 204 || response.status === 202) {
73
+ return { ok: response.ok, status: response.status, data: null, contentType };
74
+ }
75
+ if (contentType.includes('application/json')) {
76
+ const data = await response.json().catch(() => null);
77
+ return { ok: response.ok, status: response.status, data, contentType };
78
+ }
79
+ const text = await response.text();
80
+ return { ok: response.ok, status: response.status, data: text, contentType };
81
+ }
82
+ export const credentialsSchema = {
83
+ dockerHubCredentials: {
84
+ describe: 'Docker Hub credentials JSON with username and personalAccessToken (PAT from Account Settings)',
85
+ },
86
+ };
87
+ //# sourceMappingURL=utils.js.map
@@ -2,8 +2,8 @@ export declare const createBlob: import("ai").Tool<{
2
2
  repo: string;
3
3
  content: string;
4
4
  owner: string;
5
- githubToken?: string | undefined;
6
5
  encoding?: "utf-8" | "base64" | undefined;
6
+ githubToken?: string | undefined;
7
7
  }, {
8
8
  error: string;
9
9
  sha?: undefined;
@@ -1,8 +1,8 @@
1
1
  export declare const removeIssueLabel: import("ai").Tool<{
2
+ label: string;
2
3
  repo: string;
3
4
  owner: string;
4
5
  issueNumber: number;
5
- label: string;
6
6
  githubToken?: string | undefined;
7
7
  }, {
8
8
  error: string;
@@ -1,7 +1,7 @@
1
1
  export declare const starRepo: import("ai").Tool<{
2
+ action: "star" | "unstar";
2
3
  repo: string;
3
4
  owner: string;
4
- action: "star" | "unstar";
5
5
  githubToken?: string | undefined;
6
6
  }, {
7
7
  error: string;
@@ -1,6 +1,6 @@
1
1
  export declare const followUser: import("ai").Tool<{
2
- username: string;
3
2
  action: "follow" | "unfollow";
3
+ username: string;
4
4
  githubToken?: string | undefined;
5
5
  }, {
6
6
  error: string;
@@ -641,9 +641,9 @@ export declare const githubTools: ({
641
641
  name: string;
642
642
  description: string;
643
643
  tool: import("ai").Tool<{
644
+ action: "star" | "unstar";
644
645
  repo: string;
645
646
  owner: string;
646
- action: "star" | "unstar";
647
647
  githubToken?: string | undefined;
648
648
  }, {
649
649
  error: string;
@@ -1210,10 +1210,10 @@ export declare const githubTools: ({
1210
1210
  name: string;
1211
1211
  description: string;
1212
1212
  tool: import("ai").Tool<{
1213
+ label: string;
1213
1214
  repo: string;
1214
1215
  owner: string;
1215
1216
  issueNumber: number;
1216
- label: string;
1217
1217
  githubToken?: string | undefined;
1218
1218
  }, {
1219
1219
  error: string;
@@ -1735,8 +1735,8 @@ export declare const githubTools: ({
1735
1735
  name: string;
1736
1736
  description: string;
1737
1737
  tool: import("ai").Tool<{
1738
- username: string;
1739
1738
  action: "follow" | "unfollow";
1739
+ username: string;
1740
1740
  githubToken?: string | undefined;
1741
1741
  }, {
1742
1742
  error: string;
@@ -3028,8 +3028,8 @@ export declare const githubTools: ({
3028
3028
  repo: string;
3029
3029
  content: string;
3030
3030
  owner: string;
3031
- githubToken?: string | undefined;
3032
3031
  encoding?: "utf-8" | "base64" | undefined;
3032
+ githubToken?: string | undefined;
3033
3033
  }, {
3034
3034
  error: string;
3035
3035
  sha?: undefined;
@@ -1,6 +1,6 @@
1
1
  import { defineToolkit, defineTool } from '../../core/define.js';
2
2
  import { GMAIL_ICON } from './icon.js';
3
- import { listMessages, getMessage, sendMessage, createDraft, listDrafts, getDraft, sendDraft, deleteDraft, listThreads, getThread, replyToThread, listLabels, modifyMessageLabels, trashMessage, untrashMessage, } from './tools/index.js';
3
+ import { listMessages, getMessage, sendMessage, createDraft, listDrafts, getDraft, sendDraft, deleteDraft, listThreads, getThread, replyToThread, listLabels, modifyMessageLabels, trashMessage, untrashMessage, batchDeleteMessages, batchModifyMessages, createFilter, createLabel, deleteFilter, deleteLabel, deleteMessage, deleteThread, forwardMessage, getAttachment, getAutoForwarding, getContacts, getFilter, } from './tools/index.js';
4
4
  export default defineToolkit({
5
5
  id: 'gmail',
6
6
  displayName: 'Gmail',
@@ -21,6 +21,8 @@ export default defineToolkit({
21
21
  'https://www.googleapis.com/auth/gmail.compose',
22
22
  'https://www.googleapis.com/auth/gmail.modify',
23
23
  'https://www.googleapis.com/auth/gmail.labels',
24
+ 'https://www.googleapis.com/auth/gmail.settings.basic',
25
+ 'https://www.googleapis.com/auth/contacts.readonly',
24
26
  ],
25
27
  exchangeStyle: 'form',
26
28
  extraAuthParams: { access_type: 'offline', prompt: 'consent' },
@@ -29,7 +31,7 @@ export default defineToolkit({
29
31
  stateCookie: 'google_oauth_state',
30
32
  },
31
33
  },
32
- allowedHosts: ['gmail.googleapis.com', 'www.googleapis.com'],
34
+ allowedHosts: ['gmail.googleapis.com', 'www.googleapis.com', 'people.googleapis.com'],
33
35
  tools: [
34
36
  defineTool({
35
37
  name: 'gmailListMessages',
@@ -121,6 +123,84 @@ export default defineToolkit({
121
123
  requiredAuth: 'gmailToken',
122
124
  scope: 'write',
123
125
  }),
126
+ defineTool({
127
+ name: 'gmailBatchDeleteMessages',
128
+ tool: batchDeleteMessages,
129
+ requiredAuth: 'gmailToken',
130
+ scope: 'delete',
131
+ }),
132
+ defineTool({
133
+ name: 'gmailBatchModifyMessages',
134
+ tool: batchModifyMessages,
135
+ requiredAuth: 'gmailToken',
136
+ scope: 'write',
137
+ }),
138
+ defineTool({
139
+ name: 'gmailCreateFilter',
140
+ tool: createFilter,
141
+ requiredAuth: 'gmailToken',
142
+ scope: 'write',
143
+ }),
144
+ defineTool({
145
+ name: 'gmailCreateLabel',
146
+ tool: createLabel,
147
+ requiredAuth: 'gmailToken',
148
+ scope: 'write',
149
+ }),
150
+ defineTool({
151
+ name: 'gmailDeleteFilter',
152
+ tool: deleteFilter,
153
+ requiredAuth: 'gmailToken',
154
+ scope: 'delete',
155
+ }),
156
+ defineTool({
157
+ name: 'gmailDeleteLabel',
158
+ tool: deleteLabel,
159
+ requiredAuth: 'gmailToken',
160
+ scope: 'delete',
161
+ }),
162
+ defineTool({
163
+ name: 'gmailDeleteMessage',
164
+ tool: deleteMessage,
165
+ requiredAuth: 'gmailToken',
166
+ scope: 'delete',
167
+ }),
168
+ defineTool({
169
+ name: 'gmailDeleteThread',
170
+ tool: deleteThread,
171
+ requiredAuth: 'gmailToken',
172
+ scope: 'delete',
173
+ }),
174
+ defineTool({
175
+ name: 'gmailForwardMessage',
176
+ tool: forwardMessage,
177
+ requiredAuth: 'gmailToken',
178
+ scope: 'write',
179
+ }),
180
+ defineTool({
181
+ name: 'gmailGetAttachment',
182
+ tool: getAttachment,
183
+ requiredAuth: 'gmailToken',
184
+ scope: 'read',
185
+ }),
186
+ defineTool({
187
+ name: 'gmailGetAutoForwarding',
188
+ tool: getAutoForwarding,
189
+ requiredAuth: 'gmailToken',
190
+ scope: 'read',
191
+ }),
192
+ defineTool({
193
+ name: 'gmailGetContacts',
194
+ tool: getContacts,
195
+ requiredAuth: 'gmailToken',
196
+ scope: 'read',
197
+ }),
198
+ defineTool({
199
+ name: 'gmailGetFilter',
200
+ tool: getFilter,
201
+ requiredAuth: 'gmailToken',
202
+ scope: 'read',
203
+ }),
124
204
  ],
125
205
  meta: { since: '0.0.1' },
126
206
  });
@@ -0,0 +1,26 @@
1
+ export declare const batchDeleteMessages: import("ai").Tool<{
2
+ messageIds: string[];
3
+ gmailToken?: string | undefined;
4
+ }, {
5
+ error: string;
6
+ details: any;
7
+ success?: undefined;
8
+ deletedCount?: undefined;
9
+ messageIds?: undefined;
10
+ message?: undefined;
11
+ } | {
12
+ success: boolean;
13
+ deletedCount: number;
14
+ messageIds: string[];
15
+ error?: undefined;
16
+ details?: undefined;
17
+ message?: undefined;
18
+ } | {
19
+ error: string;
20
+ message: string;
21
+ details?: undefined;
22
+ success?: undefined;
23
+ deletedCount?: undefined;
24
+ messageIds?: undefined;
25
+ }>;
26
+ //# sourceMappingURL=batch-delete-messages.d.ts.map