@rnsk/toolkits 0.0.11 → 0.0.12

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 (492) hide show
  1. package/README.md +12 -2
  2. package/dist/index.d.ts +11 -1
  3. package/dist/index.js +21 -1
  4. package/dist/toolkits/accuweather/icon.d.ts +5 -0
  5. package/dist/toolkits/accuweather/icon.js +6 -0
  6. package/dist/toolkits/accuweather/manifest.d.ts +3 -0
  7. package/dist/toolkits/accuweather/manifest.js +35 -0
  8. package/dist/toolkits/accuweather/tools/alerts-alarms.d.ts +13 -0
  9. package/dist/toolkits/accuweather/tools/alerts-alarms.js +25 -0
  10. package/dist/toolkits/accuweather/tools/client.d.ts +17 -0
  11. package/dist/toolkits/accuweather/tools/client.js +50 -0
  12. package/dist/toolkits/accuweather/tools/current-conditions.d.ts +21 -0
  13. package/dist/toolkits/accuweather/tools/current-conditions.js +46 -0
  14. package/dist/toolkits/accuweather/tools/forecasts.d.ts +17 -0
  15. package/dist/toolkits/accuweather/tools/forecasts.js +41 -0
  16. package/dist/toolkits/accuweather/tools/imagery.d.ts +7 -0
  17. package/dist/toolkits/accuweather/tools/imagery.js +21 -0
  18. package/dist/toolkits/accuweather/tools/index.d.ts +21 -0
  19. package/dist/toolkits/accuweather/tools/index.js +60 -0
  20. package/dist/toolkits/accuweather/tools/indices.d.ts +29 -0
  21. package/dist/toolkits/accuweather/tools/indices.js +66 -0
  22. package/dist/toolkits/accuweather/tools/lightning.d.ts +11 -0
  23. package/dist/toolkits/accuweather/tools/lightning.js +35 -0
  24. package/dist/toolkits/accuweather/tools/locations.d.ts +101 -0
  25. package/dist/toolkits/accuweather/tools/locations.js +280 -0
  26. package/dist/toolkits/accuweather/tools/minutecast.d.ts +11 -0
  27. package/dist/toolkits/accuweather/tools/minutecast.js +28 -0
  28. package/dist/toolkits/accuweather/tools/translations.d.ts +20 -0
  29. package/dist/toolkits/accuweather/tools/translations.js +49 -0
  30. package/dist/toolkits/accuweather/tools/tropical.d.ts +49 -0
  31. package/dist/toolkits/accuweather/tools/tropical.js +108 -0
  32. package/dist/toolkits/aws/tools/cloudwatch/filter-log-events.d.ts +2 -2
  33. package/dist/toolkits/aws/tools/cloudwatch/get-metric-data.d.ts +2 -2
  34. package/dist/toolkits/aws/tools/index.d.ts +4 -4
  35. package/dist/toolkits/bitbucket/tools/commits.d.ts +3 -3
  36. package/dist/toolkits/bitbucket/tools/index.d.ts +4 -4
  37. package/dist/toolkits/bitbucket/tools/pull-requests.d.ts +1 -1
  38. package/dist/toolkits/bitbucket/tools/repositories.d.ts +1 -1
  39. package/dist/toolkits/cloudflare/tools/create-dns-record.d.ts +2 -2
  40. package/dist/toolkits/cloudflare/tools/create-zone.d.ts +1 -1
  41. package/dist/toolkits/cloudflare/tools/index.d.ts +9 -9
  42. package/dist/toolkits/cloudflare/tools/list-accounts.d.ts +1 -1
  43. package/dist/toolkits/cloudflare/tools/list-dns-records.d.ts +1 -1
  44. package/dist/toolkits/cloudflare/tools/list-tunnels.d.ts +1 -1
  45. package/dist/toolkits/cloudflare/tools/list-zones.d.ts +1 -1
  46. package/dist/toolkits/cloudflare/tools/update-dns-record.d.ts +1 -1
  47. package/dist/toolkits/cloudflare/tools/update-zone.d.ts +1 -1
  48. package/dist/toolkits/convex/tools/deployments.d.ts +1 -1
  49. package/dist/toolkits/convex/tools/index.d.ts +1 -1
  50. package/dist/toolkits/datadog/tools/events.d.ts +1 -1
  51. package/dist/toolkits/datadog/tools/index.d.ts +5 -5
  52. package/dist/toolkits/datadog/tools/integrations.d.ts +1 -1
  53. package/dist/toolkits/datadog/tools/metrics.d.ts +1 -1
  54. package/dist/toolkits/datadog/tools/monitors.d.ts +1 -1
  55. package/dist/toolkits/datadog/tools/synthetics.d.ts +1 -1
  56. package/dist/toolkits/dev-to/tools/articles.d.ts +1 -1
  57. package/dist/toolkits/dev-to/tools/community.d.ts +1 -1
  58. package/dist/toolkits/dev-to/tools/index.d.ts +2 -2
  59. package/dist/toolkits/discord/tools/applications.d.ts +1 -1
  60. package/dist/toolkits/discord/tools/index.d.ts +1 -1
  61. package/dist/toolkits/figma/tools/create-dev-resources.d.ts +1 -1
  62. package/dist/toolkits/figma/tools/get-activity-logs.d.ts +2 -2
  63. package/dist/toolkits/figma/tools/get-file-json.d.ts +1 -1
  64. package/dist/toolkits/figma/tools/get-team-component-sets.d.ts +1 -1
  65. package/dist/toolkits/figma/tools/get-team-components.d.ts +1 -1
  66. package/dist/toolkits/figma/tools/get-team-styles.d.ts +1 -1
  67. package/dist/toolkits/figma/tools/get-versions-of-a-file.d.ts +1 -1
  68. package/dist/toolkits/figma/tools/index.d.ts +7 -7
  69. package/dist/toolkits/figma/tools/update-dev-resources.d.ts +1 -1
  70. package/dist/toolkits/github/tools/Checks/create-check-run.d.ts +1 -1
  71. package/dist/toolkits/github/tools/Collaborators/add-collaborator.d.ts +1 -1
  72. package/dist/toolkits/github/tools/Collaborators/check-collaborator.d.ts +1 -1
  73. package/dist/toolkits/github/tools/Collaborators/remove-collaborator.d.ts +1 -1
  74. package/dist/toolkits/github/tools/Dependabot/list-alerts.d.ts +2 -2
  75. package/dist/toolkits/github/tools/Organizations/list-org-repositories.d.ts +1 -1
  76. package/dist/toolkits/github/tools/Organizations/update-organization.d.ts +1 -1
  77. package/dist/toolkits/github/tools/Projects/update-project.d.ts +1 -1
  78. package/dist/toolkits/github/tools/Releases/create-release.d.ts +1 -1
  79. package/dist/toolkits/github/tools/Releases/update-release.d.ts +1 -1
  80. package/dist/toolkits/github/tools/SecurityAdvisories/create-repository-advisory.d.ts +2 -2
  81. package/dist/toolkits/github/tools/SecurityAdvisories/get-repository-advisory.d.ts +1 -1
  82. package/dist/toolkits/github/tools/SecurityAdvisories/list-global-advisories.d.ts +1 -1
  83. package/dist/toolkits/github/tools/SecurityAdvisories/list-repository-advisories.d.ts +1 -1
  84. package/dist/toolkits/github/tools/Teams/update-team.d.ts +1 -1
  85. package/dist/toolkits/github/tools/Users/follow-user.d.ts +1 -1
  86. package/dist/toolkits/github/tools/Users/update-authenticated-user.d.ts +1 -1
  87. package/dist/toolkits/github/tools/Webhooks/create-repo-webhook.d.ts +1 -1
  88. package/dist/toolkits/github/tools/Workflows/list-workflows.d.ts +1 -1
  89. package/dist/toolkits/github/tools/index.d.ts +21 -21
  90. package/dist/toolkits/gitlab/tools/index.d.ts +2 -2
  91. package/dist/toolkits/gitlab/tools/pipelines.d.ts +1 -1
  92. package/dist/toolkits/gitlab/tools/projects.d.ts +1 -1
  93. package/dist/toolkits/gmail/manifest.js +204 -1
  94. package/dist/toolkits/gmail/tools/create-label.d.ts +2 -2
  95. package/dist/toolkits/gmail/tools/index.d.ts +5 -0
  96. package/dist/toolkits/gmail/tools/index.js +5 -0
  97. package/dist/toolkits/gmail/tools/labels-threads.d.ts +47 -0
  98. package/dist/toolkits/gmail/tools/labels-threads.js +110 -0
  99. package/dist/toolkits/gmail/tools/list-drafts.d.ts +1 -1
  100. package/dist/toolkits/gmail/tools/list-threads.d.ts +1 -1
  101. package/dist/toolkits/gmail/tools/mailbox.d.ts +46 -0
  102. package/dist/toolkits/gmail/tools/mailbox.js +142 -0
  103. package/dist/toolkits/gmail/tools/messages-extra.d.ts +34 -0
  104. package/dist/toolkits/gmail/tools/messages-extra.js +176 -0
  105. package/dist/toolkits/gmail/tools/people-extra.d.ts +18 -0
  106. package/dist/toolkits/gmail/tools/people-extra.js +67 -0
  107. package/dist/toolkits/gmail/tools/settings.d.ts +100 -0
  108. package/dist/toolkits/gmail/tools/settings.js +210 -0
  109. package/dist/toolkits/google-analytics/tools/admin.d.ts +3 -3
  110. package/dist/toolkits/google-analytics/tools/custom-definitions.d.ts +2 -2
  111. package/dist/toolkits/google-classroom/tools/announcement-addons.d.ts +4 -4
  112. package/dist/toolkits/google-classroom/tools/coursework-addons.d.ts +2 -2
  113. package/dist/toolkits/google-classroom/tools/coursework.d.ts +1 -1
  114. package/dist/toolkits/google-classroom/tools/index.d.ts +9 -9
  115. package/dist/toolkits/google-classroom/tools/invitations.d.ts +2 -2
  116. package/dist/toolkits/google-classroom/tools/materials-addons.d.ts +2 -2
  117. package/dist/toolkits/google-classroom/tools/posts-addons.d.ts +1 -1
  118. package/dist/toolkits/google-contacts/tools/contacts.d.ts +5 -5
  119. package/dist/toolkits/google-contacts/tools/directory.d.ts +3 -3
  120. package/dist/toolkits/google-contacts/tools/groups.d.ts +1 -1
  121. package/dist/toolkits/google-contacts/tools/index.d.ts +9 -9
  122. package/dist/toolkits/google-drive/tools/index.d.ts +3 -3
  123. package/dist/toolkits/google-drive/tools/search-files.d.ts +1 -1
  124. package/dist/toolkits/google-drive/tools/upload-file.d.ts +2 -2
  125. package/dist/toolkits/google-maps/tools/index.d.ts +4 -4
  126. package/dist/toolkits/google-maps/tools/places.d.ts +4 -4
  127. package/dist/toolkits/google-sheets/tools/index.d.ts +1 -1
  128. package/dist/toolkits/google-sheets/tools/list-spreadsheets.d.ts +1 -1
  129. package/dist/toolkits/google-tasks/tools/batch-execute.d.ts +1 -1
  130. package/dist/toolkits/google-tasks/tools/index.d.ts +2 -2
  131. package/dist/toolkits/google-tasks/tools/update-task-full.d.ts +1 -1
  132. package/dist/toolkits/groww/tools/index.d.ts +8 -8
  133. package/dist/toolkits/groww/tools/margin.d.ts +1 -1
  134. package/dist/toolkits/groww/tools/orders.d.ts +2 -2
  135. package/dist/toolkits/groww/tools/smart-orders.d.ts +5 -5
  136. package/dist/toolkits/gumroad/icon.d.ts +5 -0
  137. package/dist/toolkits/gumroad/icon.js +6 -0
  138. package/dist/toolkits/gumroad/manifest.d.ts +3 -0
  139. package/dist/toolkits/gumroad/manifest.js +41 -0
  140. package/dist/toolkits/gumroad/tools/client.d.ts +16 -0
  141. package/dist/toolkits/gumroad/tools/client.js +53 -0
  142. package/dist/toolkits/gumroad/tools/index.d.ts +12 -0
  143. package/dist/toolkits/gumroad/tools/index.js +17 -0
  144. package/dist/toolkits/gumroad/tools/sales.d.ts +34 -0
  145. package/dist/toolkits/gumroad/tools/sales.js +68 -0
  146. package/dist/toolkits/hostinger/tools/hosting.d.ts +2 -2
  147. package/dist/toolkits/hostinger/tools/index.d.ts +3 -3
  148. package/dist/toolkits/hostinger/tools/whois.d.ts +1 -1
  149. package/dist/toolkits/hugging-face/tools/datasets.d.ts +1 -1
  150. package/dist/toolkits/hugging-face/tools/index.d.ts +2 -2
  151. package/dist/toolkits/hugging-face/tools/papers.d.ts +1 -1
  152. package/dist/toolkits/jira/tools/boards.d.ts +1 -1
  153. package/dist/toolkits/jira/tools/index.d.ts +4 -4
  154. package/dist/toolkits/jira/tools/meta.d.ts +1 -1
  155. package/dist/toolkits/jira/tools/projects.d.ts +1 -1
  156. package/dist/toolkits/jira/tools/users.d.ts +1 -1
  157. package/dist/toolkits/kaggle/tools/competitions.d.ts +1 -1
  158. package/dist/toolkits/kaggle/tools/datasets.d.ts +1 -1
  159. package/dist/toolkits/kaggle/tools/index.d.ts +7 -7
  160. package/dist/toolkits/kaggle/tools/kernels.d.ts +3 -3
  161. package/dist/toolkits/kaggle/tools/models.d.ts +2 -2
  162. package/dist/toolkits/nasa/tools/cmr.d.ts +3 -3
  163. package/dist/toolkits/nasa/tools/eonet.d.ts +5 -5
  164. package/dist/toolkits/nasa/tools/index.d.ts +9 -9
  165. package/dist/toolkits/nasa/tools/ntrs.d.ts +1 -1
  166. package/dist/toolkits/neon/tools/auth.d.ts +5 -5
  167. package/dist/toolkits/neon/tools/index.d.ts +5 -5
  168. package/dist/toolkits/new-relic/tools/admin.d.ts +1 -1
  169. package/dist/toolkits/new-relic/tools/alert-policies.d.ts +1 -1
  170. package/dist/toolkits/new-relic/tools/apm.d.ts +9 -9
  171. package/dist/toolkits/new-relic/tools/conditions.d.ts +5 -5
  172. package/dist/toolkits/new-relic/tools/config.d.ts +1 -1
  173. package/dist/toolkits/new-relic/tools/dashboards.d.ts +2 -2
  174. package/dist/toolkits/new-relic/tools/entities.d.ts +1 -1
  175. package/dist/toolkits/new-relic/tools/notifications.d.ts +1 -1
  176. package/dist/toolkits/new-relic/tools/nrql-conditions.d.ts +2 -2
  177. package/dist/toolkits/notebook-lm/tools/index.d.ts +2 -2
  178. package/dist/toolkits/notebook-lm/tools/list-recent-notebooks.d.ts +1 -1
  179. package/dist/toolkits/notebook-lm/tools/upload-source-file.d.ts +1 -1
  180. package/dist/toolkits/postman/icon.d.ts +5 -0
  181. package/dist/toolkits/postman/icon.js +14 -0
  182. package/dist/toolkits/postman/manifest.d.ts +3 -0
  183. package/dist/toolkits/postman/manifest.js +35 -0
  184. package/dist/toolkits/postman/tools/client.d.ts +23 -0
  185. package/dist/toolkits/postman/tools/client.js +59 -0
  186. package/dist/toolkits/postman/tools/collections.d.ts +93 -0
  187. package/dist/toolkits/postman/tools/collections.js +358 -0
  188. package/dist/toolkits/postman/tools/comments.d.ts +113 -0
  189. package/dist/toolkits/postman/tools/comments.js +387 -0
  190. package/dist/toolkits/postman/tools/designs_and_apis.d.ts +106 -0
  191. package/dist/toolkits/postman/tools/designs_and_apis.js +385 -0
  192. package/dist/toolkits/postman/tools/environments.d.ts +63 -0
  193. package/dist/toolkits/postman/tools/environments.js +208 -0
  194. package/dist/toolkits/postman/tools/index.d.ts +1204 -0
  195. package/dist/toolkits/postman/tools/index.js +143 -0
  196. package/dist/toolkits/postman/tools/items.d.ts +90 -0
  197. package/dist/toolkits/postman/tools/items.js +286 -0
  198. package/dist/toolkits/postman/tools/mocks_and_tests.d.ts +100 -0
  199. package/dist/toolkits/postman/tools/mocks_and_tests.js +363 -0
  200. package/dist/toolkits/postman/tools/pull_requests.d.ts +26 -0
  201. package/dist/toolkits/postman/tools/pull_requests.js +108 -0
  202. package/dist/toolkits/postman/tools/scim_users_teams.d.ts +31 -0
  203. package/dist/toolkits/postman/tools/scim_users_teams.js +156 -0
  204. package/dist/toolkits/postman/tools/specs.d.ts +100 -0
  205. package/dist/toolkits/postman/tools/specs.js +380 -0
  206. package/dist/toolkits/postman/tools/webhooks.d.ts +8 -0
  207. package/dist/toolkits/postman/tools/webhooks.js +40 -0
  208. package/dist/toolkits/postman/tools/workspaces.d.ts +50 -0
  209. package/dist/toolkits/postman/tools/workspaces.js +198 -0
  210. package/dist/toolkits/prometheus/icon.d.ts +5 -0
  211. package/dist/toolkits/prometheus/icon.js +52 -0
  212. package/dist/toolkits/prometheus/manifest.d.ts +3 -0
  213. package/dist/toolkits/prometheus/manifest.js +32 -0
  214. package/dist/toolkits/prometheus/tools/admin.d.ts +19 -0
  215. package/dist/toolkits/prometheus/tools/admin.js +90 -0
  216. package/dist/toolkits/prometheus/tools/client.d.ts +22 -0
  217. package/dist/toolkits/prometheus/tools/client.js +91 -0
  218. package/dist/toolkits/prometheus/tools/discovery.d.ts +82 -0
  219. package/dist/toolkits/prometheus/tools/discovery.js +182 -0
  220. package/dist/toolkits/prometheus/tools/index.d.ts +16 -0
  221. package/dist/toolkits/prometheus/tools/index.js +51 -0
  222. package/dist/toolkits/prometheus/tools/query.d.ts +33 -0
  223. package/dist/toolkits/prometheus/tools/query.js +101 -0
  224. package/dist/toolkits/prometheus/tools/status.d.ts +66 -0
  225. package/dist/toolkits/prometheus/tools/status.js +248 -0
  226. package/dist/toolkits/prometheus/tools/targets.d.ts +31 -0
  227. package/dist/toolkits/prometheus/tools/targets.js +117 -0
  228. package/dist/toolkits/razorpay/icon.d.ts +5 -0
  229. package/dist/toolkits/razorpay/icon.js +33 -0
  230. package/dist/toolkits/razorpay/manifest.d.ts +3 -0
  231. package/dist/toolkits/razorpay/manifest.js +32 -0
  232. package/dist/toolkits/razorpay/tools/client.d.ts +24 -0
  233. package/dist/toolkits/razorpay/tools/client.js +73 -0
  234. package/dist/toolkits/razorpay/tools/customers.d.ts +29 -0
  235. package/dist/toolkits/razorpay/tools/customers.js +53 -0
  236. package/dist/toolkits/razorpay/tools/index.d.ts +16 -0
  237. package/dist/toolkits/razorpay/tools/index.js +56 -0
  238. package/dist/toolkits/razorpay/tools/invoices.d.ts +169 -0
  239. package/dist/toolkits/razorpay/tools/invoices.js +143 -0
  240. package/dist/toolkits/razorpay/tools/items-links.d.ts +98 -0
  241. package/dist/toolkits/razorpay/tools/items-links.js +131 -0
  242. package/dist/toolkits/razorpay/tools/orders.d.ts +63 -0
  243. package/dist/toolkits/razorpay/tools/orders.js +99 -0
  244. package/dist/toolkits/razorpay/tools/payouts.d.ts +58 -0
  245. package/dist/toolkits/razorpay/tools/payouts.js +91 -0
  246. package/dist/toolkits/servicenow/icon.d.ts +5 -0
  247. package/dist/toolkits/servicenow/icon.js +6 -0
  248. package/dist/toolkits/servicenow/manifest.d.ts +3 -0
  249. package/dist/toolkits/servicenow/manifest.js +33 -0
  250. package/dist/toolkits/servicenow/tools/attachments.d.ts +35 -0
  251. package/dist/toolkits/servicenow/tools/attachments.js +120 -0
  252. package/dist/toolkits/servicenow/tools/catalog.d.ts +122 -0
  253. package/dist/toolkits/servicenow/tools/catalog.js +333 -0
  254. package/dist/toolkits/servicenow/tools/changes.d.ts +374 -0
  255. package/dist/toolkits/servicenow/tools/changes.js +609 -0
  256. package/dist/toolkits/servicenow/tools/cicd.d.ts +109 -0
  257. package/dist/toolkits/servicenow/tools/cicd.js +316 -0
  258. package/dist/toolkits/servicenow/tools/client.d.ts +42 -0
  259. package/dist/toolkits/servicenow/tools/client.js +168 -0
  260. package/dist/toolkits/servicenow/tools/cmdb.d.ts +224 -0
  261. package/dist/toolkits/servicenow/tools/cmdb.js +460 -0
  262. package/dist/toolkits/servicenow/tools/imports.d.ts +13 -0
  263. package/dist/toolkits/servicenow/tools/imports.js +36 -0
  264. package/dist/toolkits/servicenow/tools/incidents.d.ts +94 -0
  265. package/dist/toolkits/servicenow/tools/incidents.js +226 -0
  266. package/dist/toolkits/servicenow/tools/index.d.ts +1566 -0
  267. package/dist/toolkits/servicenow/tools/index.js +169 -0
  268. package/dist/toolkits/servicenow/tools/platform.d.ts +124 -0
  269. package/dist/toolkits/servicenow/tools/platform.js +298 -0
  270. package/dist/toolkits/servicenow/tools/records.d.ts +73 -0
  271. package/dist/toolkits/servicenow/tools/records.js +185 -0
  272. package/dist/toolkits/servicenow/tools/sdon.d.ts +48 -0
  273. package/dist/toolkits/servicenow/tools/sdon.js +81 -0
  274. package/dist/toolkits/slack/tools/admin-conversations.d.ts +2 -2
  275. package/dist/toolkits/slack/tools/emoji.d.ts +1 -1
  276. package/dist/toolkits/slack/tools/messages.d.ts +2 -2
  277. package/dist/toolkits/slack/tools/reactions-stars-pins.d.ts +2 -2
  278. package/dist/toolkits/slack/tools/search.d.ts +3 -3
  279. package/dist/toolkits/slack/tools/users.d.ts +1 -1
  280. package/dist/toolkits/vercel/icon.d.ts +5 -0
  281. package/dist/toolkits/vercel/icon.js +6 -0
  282. package/dist/toolkits/vercel/manifest.d.ts +3 -0
  283. package/dist/toolkits/vercel/manifest.js +35 -0
  284. package/dist/toolkits/vercel/tools/aliases.d.ts +47 -0
  285. package/dist/toolkits/vercel/tools/aliases.js +141 -0
  286. package/dist/toolkits/vercel/tools/auth.d.ts +23 -0
  287. package/dist/toolkits/vercel/tools/auth.js +117 -0
  288. package/dist/toolkits/vercel/tools/cache-artifacts.d.ts +57 -0
  289. package/dist/toolkits/vercel/tools/cache-artifacts.js +205 -0
  290. package/dist/toolkits/vercel/tools/certs.d.ts +9 -0
  291. package/dist/toolkits/vercel/tools/certs.js +31 -0
  292. package/dist/toolkits/vercel/tools/client.d.ts +17 -0
  293. package/dist/toolkits/vercel/tools/client.js +53 -0
  294. package/dist/toolkits/vercel/tools/deployments.d.ts +169 -0
  295. package/dist/toolkits/vercel/tools/deployments.js +443 -0
  296. package/dist/toolkits/vercel/tools/domains.d.ts +229 -0
  297. package/dist/toolkits/vercel/tools/domains.js +719 -0
  298. package/dist/toolkits/vercel/tools/edge-config.d.ts +110 -0
  299. package/dist/toolkits/vercel/tools/edge-config.js +402 -0
  300. package/dist/toolkits/vercel/tools/environment-variables.d.ts +137 -0
  301. package/dist/toolkits/vercel/tools/environment-variables.js +411 -0
  302. package/dist/toolkits/vercel/tools/firewall.d.ts +57 -0
  303. package/dist/toolkits/vercel/tools/firewall.js +187 -0
  304. package/dist/toolkits/vercel/tools/index.d.ts +1944 -0
  305. package/dist/toolkits/vercel/tools/index.js +312 -0
  306. package/dist/toolkits/vercel/tools/logs.d.ts +35 -0
  307. package/dist/toolkits/vercel/tools/logs.js +129 -0
  308. package/dist/toolkits/vercel/tools/misc.d.ts +140 -0
  309. package/dist/toolkits/vercel/tools/misc.js +486 -0
  310. package/dist/toolkits/vercel/tools/projects.d.ts +194 -0
  311. package/dist/toolkits/vercel/tools/projects.js +468 -0
  312. package/dist/toolkits/vercel/tools/teams.d.ts +50 -0
  313. package/dist/toolkits/vercel/tools/teams.js +144 -0
  314. package/dist/toolkits/vercel/tools/webhooks.d.ts +27 -0
  315. package/dist/toolkits/vercel/tools/webhooks.js +103 -0
  316. package/dist/toolkits/wise/icon.d.ts +5 -0
  317. package/dist/toolkits/wise/icon.js +15 -0
  318. package/dist/toolkits/wise/manifest.d.ts +3 -0
  319. package/dist/toolkits/wise/manifest.js +30 -0
  320. package/dist/toolkits/wise/tools/create-quote.d.ts +86 -0
  321. package/dist/toolkits/wise/tools/create-quote.js +64 -0
  322. package/dist/toolkits/wise/tools/get-exchange-rate.d.ts +42 -0
  323. package/dist/toolkits/wise/tools/get-exchange-rate.js +44 -0
  324. package/dist/toolkits/wise/tools/get-quote.d.ts +82 -0
  325. package/dist/toolkits/wise/tools/get-quote.js +46 -0
  326. package/dist/toolkits/wise/tools/index.d.ts +475 -0
  327. package/dist/toolkits/wise/tools/index.js +77 -0
  328. package/dist/toolkits/wise/tools/list-activities.d.ts +43 -0
  329. package/dist/toolkits/wise/tools/list-activities.js +49 -0
  330. package/dist/toolkits/wise/tools/list-balances.d.ts +30 -0
  331. package/dist/toolkits/wise/tools/list-balances.js +34 -0
  332. package/dist/toolkits/wise/tools/list-currencies.d.ts +29 -0
  333. package/dist/toolkits/wise/tools/list-currencies.js +31 -0
  334. package/dist/toolkits/wise/tools/list-profiles.d.ts +28 -0
  335. package/dist/toolkits/wise/tools/list-profiles.js +29 -0
  336. package/dist/toolkits/wise/tools/list-recipients.d.ts +43 -0
  337. package/dist/toolkits/wise/tools/list-recipients.js +54 -0
  338. package/dist/toolkits/wise/tools/list-transfers.d.ts +44 -0
  339. package/dist/toolkits/wise/tools/list-transfers.js +52 -0
  340. package/dist/toolkits/wise/tools/utils.d.ts +18 -0
  341. package/dist/toolkits/wise/tools/utils.js +39 -0
  342. package/dist/toolkits/wordpress/icon.d.ts +5 -0
  343. package/dist/toolkits/wordpress/icon.js +6 -0
  344. package/dist/toolkits/wordpress/manifest.d.ts +3 -0
  345. package/dist/toolkits/wordpress/manifest.js +36 -0
  346. package/dist/toolkits/wordpress/tools/create-draft-post.d.ts +47 -0
  347. package/dist/toolkits/wordpress/tools/create-draft-post.js +68 -0
  348. package/dist/toolkits/wordpress/tools/delete-draft-post.d.ts +38 -0
  349. package/dist/toolkits/wordpress/tools/delete-draft-post.js +51 -0
  350. package/dist/toolkits/wordpress/tools/get-post.d.ts +41 -0
  351. package/dist/toolkits/wordpress/tools/get-post.js +48 -0
  352. package/dist/toolkits/wordpress/tools/get-site-overview.d.ts +67 -0
  353. package/dist/toolkits/wordpress/tools/get-site-overview.js +91 -0
  354. package/dist/toolkits/wordpress/tools/index.d.ts +489 -0
  355. package/dist/toolkits/wordpress/tools/index.js +85 -0
  356. package/dist/toolkits/wordpress/tools/list-blogging-prompts.d.ts +48 -0
  357. package/dist/toolkits/wordpress/tools/list-blogging-prompts.js +55 -0
  358. package/dist/toolkits/wordpress/tools/list-cms-resources.d.ts +45 -0
  359. package/dist/toolkits/wordpress/tools/list-cms-resources.js +77 -0
  360. package/dist/toolkits/wordpress/tools/list-content.d.ts +49 -0
  361. package/dist/toolkits/wordpress/tools/list-content.js +71 -0
  362. package/dist/toolkits/wordpress/tools/list-reader-subscriptions.d.ts +24 -0
  363. package/dist/toolkits/wordpress/tools/list-reader-subscriptions.js +39 -0
  364. package/dist/toolkits/wordpress/tools/list-sites.d.ts +26 -0
  365. package/dist/toolkits/wordpress/tools/list-sites.js +69 -0
  366. package/dist/toolkits/wordpress/tools/update-draft-post.d.ts +51 -0
  367. package/dist/toolkits/wordpress/tools/update-draft-post.js +93 -0
  368. package/dist/toolkits/wordpress/tools/utils.d.ts +18 -0
  369. package/dist/toolkits/wordpress/tools/utils.js +33 -0
  370. package/dist/toolkits/zoho/icon.d.ts +5 -0
  371. package/dist/toolkits/zoho/icon.js +125 -0
  372. package/dist/toolkits/zoho/manifest.d.ts +3 -0
  373. package/dist/toolkits/zoho/manifest.js +54 -0
  374. package/dist/toolkits/zoho/tools/convert-zoho-lead.d.ts +11 -0
  375. package/dist/toolkits/zoho/tools/convert-zoho-lead.js +47 -0
  376. package/dist/toolkits/zoho/tools/create-contact.d.ts +36 -0
  377. package/dist/toolkits/zoho/tools/create-contact.js +58 -0
  378. package/dist/toolkits/zoho/tools/create-deal.d.ts +17 -0
  379. package/dist/toolkits/zoho/tools/create-deal.js +39 -0
  380. package/dist/toolkits/zoho/tools/create-email-draft.d.ts +7 -0
  381. package/dist/toolkits/zoho/tools/create-email-draft.js +30 -0
  382. package/dist/toolkits/zoho/tools/create-event.d.ts +18 -0
  383. package/dist/toolkits/zoho/tools/create-event.js +40 -0
  384. package/dist/toolkits/zoho/tools/create-lead.d.ts +31 -0
  385. package/dist/toolkits/zoho/tools/create-lead.js +53 -0
  386. package/dist/toolkits/zoho/tools/create-note.d.ts +8 -0
  387. package/dist/toolkits/zoho/tools/create-note.js +31 -0
  388. package/dist/toolkits/zoho/tools/create-zoho-record.d.ts +8 -0
  389. package/dist/toolkits/zoho/tools/create-zoho-record.js +35 -0
  390. package/dist/toolkits/zoho/tools/create-zoho-tag.d.ts +7 -0
  391. package/dist/toolkits/zoho/tools/create-zoho-tag.js +30 -0
  392. package/dist/toolkits/zoho/tools/delete-account.d.ts +6 -0
  393. package/dist/toolkits/zoho/tools/delete-account.js +29 -0
  394. package/dist/toolkits/zoho/tools/delete-contact.d.ts +6 -0
  395. package/dist/toolkits/zoho/tools/delete-contact.js +29 -0
  396. package/dist/toolkits/zoho/tools/delete-deal.d.ts +6 -0
  397. package/dist/toolkits/zoho/tools/delete-deal.js +29 -0
  398. package/dist/toolkits/zoho/tools/get-account.d.ts +6 -0
  399. package/dist/toolkits/zoho/tools/get-account.js +34 -0
  400. package/dist/toolkits/zoho/tools/get-call.d.ts +6 -0
  401. package/dist/toolkits/zoho/tools/get-call.js +34 -0
  402. package/dist/toolkits/zoho/tools/get-contact.d.ts +5 -0
  403. package/dist/toolkits/zoho/tools/get-contact.js +33 -0
  404. package/dist/toolkits/zoho/tools/get-email-drafts.d.ts +6 -0
  405. package/dist/toolkits/zoho/tools/get-email-drafts.js +34 -0
  406. package/dist/toolkits/zoho/tools/get-event.d.ts +5 -0
  407. package/dist/toolkits/zoho/tools/get-event.js +33 -0
  408. package/dist/toolkits/zoho/tools/get-from-addresses.d.ts +4 -0
  409. package/dist/toolkits/zoho/tools/get-from-addresses.js +32 -0
  410. package/dist/toolkits/zoho/tools/get-module-fields.d.ts +8 -0
  411. package/dist/toolkits/zoho/tools/get-module-fields.js +36 -0
  412. package/dist/toolkits/zoho/tools/get-note.d.ts +6 -0
  413. package/dist/toolkits/zoho/tools/get-note.js +34 -0
  414. package/dist/toolkits/zoho/tools/get-record-emails.d.ts +9 -0
  415. package/dist/toolkits/zoho/tools/get-record-emails.js +37 -0
  416. package/dist/toolkits/zoho/tools/get-related-lists.d.ts +6 -0
  417. package/dist/toolkits/zoho/tools/get-related-lists.js +29 -0
  418. package/dist/toolkits/zoho/tools/get-related-records.d.ts +15 -0
  419. package/dist/toolkits/zoho/tools/get-related-records.js +38 -0
  420. package/dist/toolkits/zoho/tools/get-task.d.ts +6 -0
  421. package/dist/toolkits/zoho/tools/get-task.js +34 -0
  422. package/dist/toolkits/zoho/tools/get-user.d.ts +5 -0
  423. package/dist/toolkits/zoho/tools/get-user.js +33 -0
  424. package/dist/toolkits/zoho/tools/get-zoho-records.d.ts +13 -0
  425. package/dist/toolkits/zoho/tools/get-zoho-records.js +59 -0
  426. package/dist/toolkits/zoho/tools/get-zoho-users.d.ts +9 -0
  427. package/dist/toolkits/zoho/tools/get-zoho-users.js +32 -0
  428. package/dist/toolkits/zoho/tools/index.d.ts +789 -0
  429. package/dist/toolkits/zoho/tools/index.js +175 -0
  430. package/dist/toolkits/zoho/tools/list-accounts.d.ts +14 -0
  431. package/dist/toolkits/zoho/tools/list-accounts.js +60 -0
  432. package/dist/toolkits/zoho/tools/list-calls.d.ts +12 -0
  433. package/dist/toolkits/zoho/tools/list-calls.js +58 -0
  434. package/dist/toolkits/zoho/tools/list-contacts.d.ts +12 -0
  435. package/dist/toolkits/zoho/tools/list-contacts.js +58 -0
  436. package/dist/toolkits/zoho/tools/list-deals.d.ts +15 -0
  437. package/dist/toolkits/zoho/tools/list-deals.js +61 -0
  438. package/dist/toolkits/zoho/tools/list-events.d.ts +12 -0
  439. package/dist/toolkits/zoho/tools/list-events.js +58 -0
  440. package/dist/toolkits/zoho/tools/list-leads.d.ts +13 -0
  441. package/dist/toolkits/zoho/tools/list-leads.js +59 -0
  442. package/dist/toolkits/zoho/tools/list-modules.d.ts +4 -0
  443. package/dist/toolkits/zoho/tools/list-modules.js +50 -0
  444. package/dist/toolkits/zoho/tools/list-notes.d.ts +7 -0
  445. package/dist/toolkits/zoho/tools/list-notes.js +53 -0
  446. package/dist/toolkits/zoho/tools/list-record-attachments.d.ts +9 -0
  447. package/dist/toolkits/zoho/tools/list-record-attachments.js +55 -0
  448. package/dist/toolkits/zoho/tools/list-tasks.d.ts +12 -0
  449. package/dist/toolkits/zoho/tools/list-tasks.js +58 -0
  450. package/dist/toolkits/zoho/tools/search-accounts.d.ts +11 -0
  451. package/dist/toolkits/zoho/tools/search-accounts.js +49 -0
  452. package/dist/toolkits/zoho/tools/search-calls.d.ts +11 -0
  453. package/dist/toolkits/zoho/tools/search-calls.js +49 -0
  454. package/dist/toolkits/zoho/tools/search-contacts.d.ts +11 -0
  455. package/dist/toolkits/zoho/tools/search-contacts.js +49 -0
  456. package/dist/toolkits/zoho/tools/search-deals.d.ts +11 -0
  457. package/dist/toolkits/zoho/tools/search-deals.js +49 -0
  458. package/dist/toolkits/zoho/tools/search-events.d.ts +11 -0
  459. package/dist/toolkits/zoho/tools/search-events.js +49 -0
  460. package/dist/toolkits/zoho/tools/search-leads.d.ts +13 -0
  461. package/dist/toolkits/zoho/tools/search-leads.js +51 -0
  462. package/dist/toolkits/zoho/tools/search-notes.d.ts +11 -0
  463. package/dist/toolkits/zoho/tools/search-notes.js +49 -0
  464. package/dist/toolkits/zoho/tools/search-tasks.d.ts +11 -0
  465. package/dist/toolkits/zoho/tools/search-tasks.js +49 -0
  466. package/dist/toolkits/zoho/tools/search-zoho-records.d.ts +12 -0
  467. package/dist/toolkits/zoho/tools/search-zoho-records.js +50 -0
  468. package/dist/toolkits/zoho/tools/update-account.d.ts +32 -0
  469. package/dist/toolkits/zoho/tools/update-account.js +55 -0
  470. package/dist/toolkits/zoho/tools/update-call.d.ts +8 -0
  471. package/dist/toolkits/zoho/tools/update-call.js +33 -0
  472. package/dist/toolkits/zoho/tools/update-deal.d.ts +9 -0
  473. package/dist/toolkits/zoho/tools/update-deal.js +34 -0
  474. package/dist/toolkits/zoho/tools/update-email-draft.d.ts +17 -0
  475. package/dist/toolkits/zoho/tools/update-email-draft.js +42 -0
  476. package/dist/toolkits/zoho/tools/update-event.d.ts +6 -0
  477. package/dist/toolkits/zoho/tools/update-event.js +31 -0
  478. package/dist/toolkits/zoho/tools/update-lead.d.ts +9 -0
  479. package/dist/toolkits/zoho/tools/update-lead.js +34 -0
  480. package/dist/toolkits/zoho/tools/update-note.d.ts +8 -0
  481. package/dist/toolkits/zoho/tools/update-note.js +33 -0
  482. package/dist/toolkits/zoho/tools/update-related-records.d.ts +8 -0
  483. package/dist/toolkits/zoho/tools/update-related-records.js +33 -0
  484. package/dist/toolkits/zoho/tools/update-zoho-record.d.ts +10 -0
  485. package/dist/toolkits/zoho/tools/update-zoho-record.js +35 -0
  486. package/dist/toolkits/zoho/tools/upload-attachment.d.ts +9 -0
  487. package/dist/toolkits/zoho/tools/upload-attachment.js +34 -0
  488. package/dist/toolkits/zoho/tools/utils.d.ts +24 -0
  489. package/dist/toolkits/zoho/tools/utils.js +49 -0
  490. package/dist/toolkits/zoho/tools/validate-credential.d.ts +4 -0
  491. package/dist/toolkits/zoho/tools/validate-credential.js +27 -0
  492. package/package.json +1 -1
@@ -0,0 +1,176 @@
1
+ import { tool } from 'ai';
2
+ import { z } from 'zod';
3
+ import { encodeBase64Url, encodeMultipartMessage, extractMessageDetails } from './utils.js';
4
+ const tokenField = z.string().optional().describe('Injected by system; do not provide');
5
+ const userField = z.string().optional().default('me').describe("User's email address or 'me' for the authenticated user");
6
+ async function gmailFetch(token, path, init, label = 'Gmail request') {
7
+ try {
8
+ const response = await fetch(`https://gmail.googleapis.com/gmail/v1${path}`, {
9
+ ...init,
10
+ headers: {
11
+ Authorization: `Bearer ${token}`,
12
+ 'Content-Type': 'application/json',
13
+ ...(init?.headers || {}),
14
+ },
15
+ });
16
+ if (!response.ok) {
17
+ const error = await response.json().catch(() => ({}));
18
+ return { error: `Failed to ${label}`, details: error };
19
+ }
20
+ if (response.status === 204)
21
+ return { success: true };
22
+ return await response.json();
23
+ }
24
+ catch (error) {
25
+ return {
26
+ error: `Error in ${label}`,
27
+ message: error instanceof Error ? error.message : 'Unknown error',
28
+ };
29
+ }
30
+ }
31
+ export const fetchEmails = tool({
32
+ description: 'Search/list emails with optional hydration: ids_only (fastest), metadata, or full payload. Sort by internalDate client-side; loop page tokens for full coverage.',
33
+ inputSchema: z.object({
34
+ gmailToken: tokenField,
35
+ userId: userField,
36
+ query: z.string().optional().describe("Search query, e.g. 'from:x is:unread' (use 'is:' for states, 'label:' only for custom labels)"),
37
+ labelIds: z.array(z.string()).optional().describe('AND filter by label IDs (custom labels need Label_XXX IDs from list-labels)'),
38
+ maxResults: z.number().int().min(1).max(500).optional().describe('Messages per page (default 10)'),
39
+ pageToken: z.string().optional().describe('Next page token; loop until absent'),
40
+ includeSpamTrash: z.boolean().optional().describe('Include SPAM and TRASH'),
41
+ idsOnly: z.boolean().optional().describe('Return only IDs/thread IDs (fastest)'),
42
+ includePayload: z.boolean().optional().describe('Hydrate full payload per message (default true unless idsOnly)'),
43
+ }),
44
+ execute: async ({ gmailToken, userId, query, labelIds, maxResults, pageToken, includeSpamTrash, idsOnly, includePayload }) => {
45
+ const params = new URLSearchParams();
46
+ if (query)
47
+ params.append('q', query);
48
+ if (maxResults)
49
+ params.append('maxResults', String(maxResults));
50
+ if (pageToken)
51
+ params.append('pageToken', pageToken);
52
+ if (includeSpamTrash)
53
+ params.append('includeSpamTrash', 'true');
54
+ for (const id of labelIds || [])
55
+ params.append('labelIds', id);
56
+ const list = await gmailFetch(gmailToken, `/users/${userId}/messages?${params.toString()}`, undefined, 'list emails');
57
+ if (list?.error || idsOnly)
58
+ return list;
59
+ const hydrate = includePayload !== false;
60
+ const messages = await Promise.all((list?.messages || []).map(async (m) => {
61
+ const full = await gmailFetch(gmailToken, `/users/${userId}/messages/${m.id}?format=${hydrate ? 'full' : 'metadata'}`, undefined, 'hydrate email');
62
+ if (full?.error)
63
+ return { messageId: m.id, threadId: m.threadId, error: full.error };
64
+ return hydrate ? extractMessageDetails(full) : full;
65
+ }));
66
+ return { ...list, messages };
67
+ },
68
+ });
69
+ export const getProfile = tool({
70
+ description: 'Get mailbox profile (primary email, message/thread totals, historyId). historyId seeds incremental sync via list-history.',
71
+ inputSchema: z.object({
72
+ gmailToken: tokenField,
73
+ userId: userField,
74
+ }),
75
+ execute: async ({ gmailToken, userId }) => gmailFetch(gmailToken, `/users/${userId}/profile`, undefined, 'get profile'),
76
+ });
77
+ export const whoAmI = tool({
78
+ description: 'Return the connected account identity (sub, name, email, hosted domain) via userinfo + Gmail profile.',
79
+ inputSchema: z.object({
80
+ gmailToken: tokenField,
81
+ }),
82
+ execute: async ({ gmailToken }) => {
83
+ try {
84
+ const [userinfo, profile] = await Promise.all([
85
+ fetch('https://www.googleapis.com/oauth2/v3/userinfo', {
86
+ headers: { Authorization: `Bearer ${gmailToken}` },
87
+ }).then((r) => (r.ok ? r.json() : null)).catch(() => null),
88
+ gmailFetch(gmailToken, '/users/me/profile', undefined, 'get profile'),
89
+ ]);
90
+ if (!userinfo && profile?.error)
91
+ return profile;
92
+ return {
93
+ sub: userinfo?.sub ?? null,
94
+ name: userinfo?.name ?? null,
95
+ email: userinfo?.email ?? profile?.emailAddress ?? null,
96
+ hosted_domain: userinfo?.hd ?? null,
97
+ };
98
+ }
99
+ catch (error) {
100
+ return {
101
+ error: 'Error getting identity',
102
+ message: error instanceof Error ? error.message : 'Unknown error',
103
+ };
104
+ }
105
+ },
106
+ });
107
+ function buildMime(input) {
108
+ const lines = [
109
+ `To: ${input.to.join(', ')}`,
110
+ input.cc?.length ? `Cc: ${input.cc.join(', ')}` : null,
111
+ input.bcc?.length ? `Bcc: ${input.bcc.join(', ')}` : null,
112
+ `Subject: ${input.subject ?? ''}`,
113
+ 'MIME-Version: 1.0',
114
+ `Content-Type: ${input.isHtml ? 'text/html' : 'text/plain'}; charset="UTF-8"`,
115
+ 'Content-Transfer-Encoding: 8bit',
116
+ ].filter(Boolean);
117
+ let body = input.body ?? '';
118
+ if (!input.isHtml)
119
+ body = body.replace(/\n/g, '<br/>');
120
+ return encodeBase64Url(`${lines.join('\n')}\n\n${body}`);
121
+ }
122
+ async function fetchPublicUrlBytes(url) {
123
+ try {
124
+ const response = await fetch(url);
125
+ if (!response.ok)
126
+ return null;
127
+ const buffer = Buffer.from(await response.arrayBuffer());
128
+ return {
129
+ data: buffer.toString('base64'),
130
+ mimeType: response.headers.get('content-type') || 'application/octet-stream',
131
+ };
132
+ }
133
+ catch {
134
+ return null;
135
+ }
136
+ }
137
+ export const updateDraft = tool({
138
+ description: 'Replace a draft entirely by ID (full replace, not patch). Provide complete content; attachments via public URL only.',
139
+ inputSchema: z.object({
140
+ gmailToken: tokenField,
141
+ userId: userField,
142
+ draftId: z.string().describe('Draft ID from list-drafts or create-draft'),
143
+ recipientEmail: z.string().optional().describe('Primary To recipient'),
144
+ extraRecipients: z.array(z.string()).optional().describe('Additional To recipients'),
145
+ cc: z.array(z.string()).optional(),
146
+ bcc: z.array(z.string()).optional(),
147
+ subject: z.string().optional(),
148
+ body: z.string().optional().describe('Plain text or HTML (set isHtml for HTML)'),
149
+ isHtml: z.boolean().optional(),
150
+ threadId: z.string().optional().describe('Keep the draft in this thread'),
151
+ attachmentUrl: z.string().optional().describe('Public file URL to attach (Drive links for >25 MB total)'),
152
+ attachmentName: z.string().optional().describe('Filename for the attached URL'),
153
+ }),
154
+ execute: async ({ gmailToken, userId, draftId, recipientEmail, extraRecipients, cc, bcc, subject, body, isHtml, threadId, attachmentUrl, attachmentName }) => {
155
+ const to = [recipientEmail, ...(extraRecipients || [])].filter(Boolean);
156
+ let raw = buildMime({ to, cc, bcc, subject, body, isHtml, threadId });
157
+ if (attachmentUrl) {
158
+ const fetched = await fetchPublicUrlBytes(attachmentUrl);
159
+ if (!fetched)
160
+ return { error: 'Failed to update draft', details: 'Attachment URL could not be fetched (must be public)' };
161
+ raw = encodeMultipartMessage({
162
+ to: to.join(', '),
163
+ subject: subject ?? '',
164
+ body: body ?? '',
165
+ cc: cc?.join(', '),
166
+ bcc: bcc?.join(', '),
167
+ attachments: [{ filename: attachmentName || 'attachment', mimeType: fetched.mimeType, data: fetched.data }],
168
+ });
169
+ }
170
+ const payload = { message: { raw } };
171
+ if (threadId)
172
+ payload.message.threadId = threadId;
173
+ return gmailFetch(gmailToken, `/users/${userId}/drafts/${draftId}`, { method: 'PUT', body: JSON.stringify(payload) }, 'update draft');
174
+ },
175
+ });
176
+ //# sourceMappingURL=messages-extra.js.map
@@ -0,0 +1,18 @@
1
+ export declare const getPeople: import("ai").Tool<{
2
+ gmailToken?: string | undefined;
3
+ pageToken?: string | undefined;
4
+ pageSize?: number | undefined;
5
+ resourceName?: string | undefined;
6
+ personFields?: string | undefined;
7
+ otherContacts?: boolean | undefined;
8
+ syncToken?: string | undefined;
9
+ sources?: ("READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_PROFILE")[] | undefined;
10
+ }, any>;
11
+ export declare const searchPeople: import("ai").Tool<{
12
+ query: string;
13
+ gmailToken?: string | undefined;
14
+ pageToken?: string | undefined;
15
+ pageSize?: number | undefined;
16
+ personFields?: string | undefined;
17
+ }, any>;
18
+ //# sourceMappingURL=people-extra.d.ts.map
@@ -0,0 +1,67 @@
1
+ import { tool } from 'ai';
2
+ import { z } from 'zod';
3
+ const tokenField = z.string().optional().describe('Injected by system; do not provide');
4
+ async function peopleFetch(token, path, params, label) {
5
+ try {
6
+ const qs = new URLSearchParams();
7
+ for (const [k, v] of Object.entries(params))
8
+ if (v)
9
+ qs.append(k, v);
10
+ const url = `https://people.googleapis.com/v1/${path}${qs.toString() ? `?${qs.toString()}` : ''}`;
11
+ const response = await fetch(url, { headers: { Authorization: `Bearer ${token}` } });
12
+ if (!response.ok) {
13
+ const error = await response.json().catch(() => ({}));
14
+ return { error: `Failed to ${label}`, details: error };
15
+ }
16
+ return await response.json();
17
+ }
18
+ catch (error) {
19
+ return {
20
+ error: `Error in ${label}`,
21
+ message: error instanceof Error ? error.message : 'Unknown error',
22
+ };
23
+ }
24
+ }
25
+ const personFieldsField = z.string().optional().describe("Comma-separated mask, e.g. 'names,emailAddresses' (other-contacts mode allows only emailAddresses, names, phoneNumbers, metadata)");
26
+ export const getPeople = tool({
27
+ description: "Get one person by resource name, or list 'Other Contacts' with pagination/sync tokens. Other-contacts mode restricts person_fields.",
28
+ inputSchema: z.object({
29
+ gmailToken: tokenField,
30
+ resourceName: z.string().optional().describe("Person resource, e.g. 'people/me' or 'people/c123...' (ignored when otherContacts is true)"),
31
+ personFields: personFieldsField,
32
+ otherContacts: z.boolean().optional().describe("True: list Other Contacts (enables pageSize/pageToken/syncToken, ignores resourceName)"),
33
+ pageSize: z.number().int().min(1).max(1000).optional().describe('Other-contacts page size (default 10)'),
34
+ pageToken: z.string().optional().describe('Other-contacts next page token'),
35
+ syncToken: z.string().optional().describe('Other-contacts incremental sync token (empty = full sync)'),
36
+ sources: z.array(z.enum(['READ_SOURCE_TYPE_CONTACT', 'READ_SOURCE_TYPE_PROFILE'])).optional().describe('Other-contacts sources (PROFILE needs CONTACT too)'),
37
+ }),
38
+ execute: async ({ gmailToken, resourceName, personFields, otherContacts, pageSize, pageToken, syncToken, sources }) => {
39
+ if (otherContacts) {
40
+ return peopleFetch(gmailToken, 'otherContacts', {
41
+ readMask: personFields,
42
+ pageSize: pageSize ? String(pageSize) : undefined,
43
+ pageToken,
44
+ syncToken,
45
+ ...(sources ? { sources: sources.join(',') } : {}),
46
+ }, 'list other contacts');
47
+ }
48
+ return peopleFetch(gmailToken, resourceName || 'people/me', { personFields }, 'get person');
49
+ },
50
+ });
51
+ export const searchPeople = tool({
52
+ description: "Search saved contacts (+ Other Contacts optionally) by name/email/phone/org. Never auto-pick from ambiguous results; dedupe by email across pages.",
53
+ inputSchema: z.object({
54
+ gmailToken: tokenField,
55
+ query: z.string().describe('Query matching names, nicknames, emails, phones, organizations'),
56
+ personFields: z.string().optional().describe("Mask, e.g. 'names,emailAddresses'. Results touching 'Other Contacts' only support emailAddresses, metadata, names, phoneNumbers — avoid organizations/birthdays or they may be silently omitted."),
57
+ pageSize: z.number().int().min(0).max(30).optional().describe('Results per page (default 10, API caps at 30)'),
58
+ pageToken: z.string().optional().describe('next_page_token from previous page'),
59
+ }),
60
+ execute: async ({ gmailToken, query, personFields, pageSize, pageToken }) => peopleFetch(gmailToken, 'people:searchContacts', {
61
+ query,
62
+ readMask: personFields,
63
+ pageSize: pageSize ? String(pageSize) : undefined,
64
+ pageToken,
65
+ }, 'search people'),
66
+ });
67
+ //# sourceMappingURL=people-extra.js.map
@@ -0,0 +1,100 @@
1
+ export declare const getLanguageSettings: import("ai").Tool<{
2
+ userId: string;
3
+ gmailToken?: string | undefined;
4
+ }, any>;
5
+ export declare const updateLanguageSettings: import("ai").Tool<{
6
+ userId: string;
7
+ displayLanguage: string;
8
+ gmailToken?: string | undefined;
9
+ }, any>;
10
+ export declare const getVacationSettings: import("ai").Tool<{
11
+ userId: string;
12
+ gmailToken?: string | undefined;
13
+ }, any>;
14
+ export declare const updateVacationSettings: import("ai").Tool<{
15
+ userId: string;
16
+ gmailToken?: string | undefined;
17
+ enableAutoReply?: boolean | undefined;
18
+ responseSubject?: string | undefined;
19
+ responseBodyPlainText?: string | undefined;
20
+ responseBodyHtml?: string | undefined;
21
+ restrictToContacts?: boolean | undefined;
22
+ restrictToDomain?: boolean | undefined;
23
+ startTime?: string | undefined;
24
+ endTime?: string | undefined;
25
+ }, any>;
26
+ export declare const settingsGetImap: import("ai").Tool<{
27
+ userId: string;
28
+ gmailToken?: string | undefined;
29
+ }, any>;
30
+ export declare const updateImapSettings: import("ai").Tool<{
31
+ userId: string;
32
+ gmailToken?: string | undefined;
33
+ enabled?: boolean | undefined;
34
+ autoExpunge?: boolean | undefined;
35
+ expungeBehavior?: "expungeBehaviorUnspecified" | "archive" | "trash" | "deleteForever" | undefined;
36
+ maxFolderSize?: number | undefined;
37
+ }, any>;
38
+ export declare const settingsGetPop: import("ai").Tool<{
39
+ userId: string;
40
+ gmailToken?: string | undefined;
41
+ }, any>;
42
+ export declare const updatePopSettings: import("ai").Tool<{
43
+ userId: string;
44
+ gmailToken?: string | undefined;
45
+ accessWindow?: "accessWindowUnspecified" | "disabled" | "fromNowOn" | "allMail" | undefined;
46
+ disposition?: "archive" | "trash" | "dispositionUnspecified" | "leaveInInbox" | "markRead" | undefined;
47
+ }, any>;
48
+ export declare const listSendAs: import("ai").Tool<{
49
+ userId: string;
50
+ gmailToken?: string | undefined;
51
+ }, any>;
52
+ export declare const settingsSendAsGet: import("ai").Tool<{
53
+ userId: string;
54
+ sendAsEmail: string;
55
+ gmailToken?: string | undefined;
56
+ }, any>;
57
+ export declare const patchSendAs: import("ai").Tool<{
58
+ userId: string;
59
+ sendAsEmail: string;
60
+ gmailToken?: string | undefined;
61
+ displayName?: string | undefined;
62
+ replyToAddress?: string | undefined;
63
+ signature?: string | undefined;
64
+ isDefault?: boolean | undefined;
65
+ treatAsAlias?: boolean | undefined;
66
+ smtpMsa?: {
67
+ host: string;
68
+ port: number;
69
+ securityMode: "none" | "securityModeUnspecified" | "ssl" | "starttls";
70
+ username?: string | undefined;
71
+ password?: string | undefined;
72
+ } | undefined;
73
+ }, any>;
74
+ export declare const updateSendAs: import("ai").Tool<{
75
+ userId: string;
76
+ sendAsEmail: string;
77
+ gmailToken?: string | undefined;
78
+ displayName?: string | undefined;
79
+ replyToAddress?: string | undefined;
80
+ signature?: string | undefined;
81
+ isDefault?: boolean | undefined;
82
+ treatAsAlias?: boolean | undefined;
83
+ smtpMsa?: {
84
+ host: string;
85
+ port: number;
86
+ securityMode: "none" | "securityModeUnspecified" | "ssl" | "starttls";
87
+ username?: string | undefined;
88
+ password?: string | undefined;
89
+ } | undefined;
90
+ }, any>;
91
+ export declare const listSmimeInfo: import("ai").Tool<{
92
+ userId: string;
93
+ sendAsEmail: string;
94
+ gmailToken?: string | undefined;
95
+ }, any>;
96
+ export declare const listForwardingAddresses: import("ai").Tool<{
97
+ userId: string;
98
+ gmailToken?: string | undefined;
99
+ }, any>;
100
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1,210 @@
1
+ import { tool } from 'ai';
2
+ import { z } from 'zod';
3
+ const tokenField = z.string().optional().describe('Injected by system; do not provide');
4
+ const userField = z.string().optional().default('me').describe("User's email address or 'me' for the authenticated user");
5
+ async function gmailFetch(token, path, init, label = 'Gmail request') {
6
+ try {
7
+ const response = await fetch(`https://gmail.googleapis.com/gmail/v1${path}`, {
8
+ ...init,
9
+ headers: {
10
+ Authorization: `Bearer ${token}`,
11
+ 'Content-Type': 'application/json',
12
+ ...(init?.headers || {}),
13
+ },
14
+ });
15
+ if (!response.ok) {
16
+ const error = await response.json().catch(() => ({}));
17
+ return { error: `Failed to ${label}`, details: error };
18
+ }
19
+ if (response.status === 204)
20
+ return { success: true };
21
+ return await response.json();
22
+ }
23
+ catch (error) {
24
+ return {
25
+ error: `Error in ${label}`,
26
+ message: error instanceof Error ? error.message : 'Unknown error',
27
+ };
28
+ }
29
+ }
30
+ export const getLanguageSettings = tool({
31
+ description: "Get the Gmail display language (RFC 3066 tag like 'en-GB') for a user.",
32
+ inputSchema: z.object({
33
+ gmailToken: tokenField,
34
+ userId: userField,
35
+ }),
36
+ execute: async ({ gmailToken, userId }) => gmailFetch(gmailToken, `/users/${userId}/settings/language`, undefined, 'get language settings'),
37
+ });
38
+ export const updateLanguageSettings = tool({
39
+ description: 'Set the Gmail display language. Gmail may save a close variant if the exact tag is unsupported.',
40
+ inputSchema: z.object({
41
+ gmailToken: tokenField,
42
+ userId: userField,
43
+ displayLanguage: z.string().describe("RFC 3066 tag, e.g. 'en', 'en-GB', 'fr', 'ja'"),
44
+ }),
45
+ execute: async ({ gmailToken, userId, displayLanguage }) => gmailFetch(gmailToken, `/users/${userId}/settings/language`, { method: 'PUT', body: JSON.stringify({ displayLanguage }) }, 'update language settings'),
46
+ });
47
+ export const getVacationSettings = tool({
48
+ description: 'Get vacation responder (out-of-office) settings: enabled flag, subject, bodies, schedule, restrictions.',
49
+ inputSchema: z.object({
50
+ gmailToken: tokenField,
51
+ userId: userField,
52
+ }),
53
+ execute: async ({ gmailToken, userId }) => gmailFetch(gmailToken, `/users/${userId}/settings/vacation`, undefined, 'get vacation settings'),
54
+ });
55
+ export const updateVacationSettings = tool({
56
+ description: 'Configure out-of-office auto-replies. Either responseSubject or responseBodyPlainText must be non-empty to activate.',
57
+ inputSchema: z.object({
58
+ gmailToken: tokenField,
59
+ userId: userField,
60
+ enableAutoReply: z.boolean().optional().describe('Turn auto-replies on/off'),
61
+ responseSubject: z.string().optional().describe('Subject prefix for auto-replies'),
62
+ responseBodyPlainText: z.string().optional().describe('Plain-text auto-reply body'),
63
+ responseBodyHtml: z.string().optional().describe('HTML auto-reply body (takes priority, sanitized by Gmail)'),
64
+ restrictToContacts: z.boolean().optional().describe('Reply only to contacts'),
65
+ restrictToDomain: z.boolean().optional().describe('Reply only within Workspace domain'),
66
+ startTime: z.string().optional().describe('Start epoch millis; must precede endTime'),
67
+ endTime: z.string().optional().describe('End epoch millis'),
68
+ }),
69
+ execute: async ({ gmailToken, userId, ...body }) => {
70
+ const payload = {};
71
+ for (const [k, v] of Object.entries(body))
72
+ if (v !== undefined)
73
+ payload[k] = v;
74
+ return gmailFetch(gmailToken, `/users/${userId}/settings/vacation`, { method: 'PUT', body: JSON.stringify(payload) }, 'update vacation settings');
75
+ },
76
+ });
77
+ export const settingsGetImap = tool({
78
+ description: 'Get IMAP settings: enabled flag, auto-expunge, expunge behavior, folder size limit.',
79
+ inputSchema: z.object({
80
+ gmailToken: tokenField,
81
+ userId: userField,
82
+ }),
83
+ execute: async ({ gmailToken, userId }) => gmailFetch(gmailToken, `/users/${userId}/settings/imap`, undefined, 'get IMAP settings'),
84
+ });
85
+ export const updateImapSettings = tool({
86
+ description: 'Update IMAP settings (enabled, autoExpunge, expungeBehavior, maxFolderSize of 0/1000/2000/5000/10000).',
87
+ inputSchema: z.object({
88
+ gmailToken: tokenField,
89
+ userId: userField,
90
+ enabled: z.boolean().optional(),
91
+ autoExpunge: z.boolean().optional().describe('Immediately expunge IMAP-deleted messages'),
92
+ expungeBehavior: z.enum(['expungeBehaviorUnspecified', 'archive', 'trash', 'deleteForever']).optional(),
93
+ maxFolderSize: z.number().int().optional().describe('0 (no limit), 1000, 2000, 5000, or 10000'),
94
+ }),
95
+ execute: async ({ gmailToken, userId, ...body }) => {
96
+ const payload = {};
97
+ for (const [k, v] of Object.entries(body))
98
+ if (v !== undefined)
99
+ payload[k] = v;
100
+ return gmailFetch(gmailToken, `/users/${userId}/settings/imap`, { method: 'PUT', body: JSON.stringify(payload) }, 'update IMAP settings');
101
+ },
102
+ });
103
+ export const settingsGetPop = tool({
104
+ description: 'Get POP settings: access window and post-fetch disposition.',
105
+ inputSchema: z.object({
106
+ gmailToken: tokenField,
107
+ userId: userField,
108
+ }),
109
+ execute: async ({ gmailToken, userId }) => gmailFetch(gmailToken, `/users/${userId}/settings/pop`, undefined, 'get POP settings'),
110
+ });
111
+ export const updatePopSettings = tool({
112
+ description: 'Update POP access window (disabled/fromNowOn/allMail) and disposition (leaveInInbox/archive/trash/markRead).',
113
+ inputSchema: z.object({
114
+ gmailToken: tokenField,
115
+ userId: userField,
116
+ accessWindow: z.enum(['accessWindowUnspecified', 'disabled', 'fromNowOn', 'allMail']).optional(),
117
+ disposition: z.enum(['dispositionUnspecified', 'leaveInInbox', 'archive', 'trash', 'markRead']).optional(),
118
+ }),
119
+ execute: async ({ gmailToken, userId, ...body }) => {
120
+ const payload = {};
121
+ for (const [k, v] of Object.entries(body))
122
+ if (v !== undefined)
123
+ payload[k] = v;
124
+ return gmailFetch(gmailToken, `/users/${userId}/settings/pop`, { method: 'PUT', body: JSON.stringify(payload) }, 'update POP settings');
125
+ },
126
+ });
127
+ export const listSendAs = tool({
128
+ description: "List send-as aliases (primary + custom From addresses) with signatures and verification status. Use before composing from an alias.",
129
+ inputSchema: z.object({
130
+ gmailToken: tokenField,
131
+ userId: userField,
132
+ }),
133
+ execute: async ({ gmailToken, userId }) => gmailFetch(gmailToken, `/users/${userId}/settings/sendAs`, undefined, 'list send-as aliases'),
134
+ });
135
+ export const settingsSendAsGet = tool({
136
+ description: 'Get one send-as alias config (display name, signature, SMTP relay, verification). 404 if the address is not an alias.',
137
+ inputSchema: z.object({
138
+ gmailToken: tokenField,
139
+ userId: userField,
140
+ sendAsEmail: z.string().describe("Alias address shown in From, e.g. 'alias@example.com'"),
141
+ }),
142
+ execute: async ({ gmailToken, userId, sendAsEmail }) => gmailFetch(gmailToken, `/users/${userId}/settings/sendAs/${encodeURIComponent(sendAsEmail)}`, undefined, 'get send-as alias'),
143
+ });
144
+ const smtpMsaSchema = z.object({
145
+ host: z.string().describe('SMTP hostname'),
146
+ port: z.number().int().describe('SMTP port'),
147
+ securityMode: z.enum(['securityModeUnspecified', 'none', 'ssl', 'starttls']),
148
+ username: z.string().optional().describe('SMTP username (write-only)'),
149
+ password: z.string().optional().describe('SMTP password (write-only)'),
150
+ });
151
+ export const patchSendAs = tool({
152
+ description: 'Partially update a send-as alias (display name, signature, reply-to, default flag, SMTP relay).',
153
+ inputSchema: z.object({
154
+ gmailToken: tokenField,
155
+ userId: userField,
156
+ sendAsEmail: z.string().describe('Alias address to update'),
157
+ displayName: z.string().optional().describe('From header name'),
158
+ replyToAddress: z.string().optional().describe('Reply-To header address'),
159
+ signature: z.string().optional().describe('HTML signature (sanitized by Gmail)'),
160
+ isDefault: z.boolean().optional().describe('Make default From (only true is writable)'),
161
+ treatAsAlias: z.boolean().optional().describe('Treat as primary-address alias (custom aliases only)'),
162
+ smtpMsa: smtpMsaSchema.optional().describe('SMTP relay config'),
163
+ }),
164
+ execute: async ({ gmailToken, userId, sendAsEmail, ...body }) => {
165
+ const payload = {};
166
+ for (const [k, v] of Object.entries(body))
167
+ if (v !== undefined)
168
+ payload[k] = v;
169
+ return gmailFetch(gmailToken, `/users/${userId}/settings/sendAs/${encodeURIComponent(sendAsEmail)}`, { method: 'PATCH', body: JSON.stringify(payload) }, 'patch send-as alias');
170
+ },
171
+ });
172
+ export const updateSendAs = tool({
173
+ description: 'Fully update a send-as alias. Same fields as patch; non-primary aliases updatable only with domain-wide delegation.',
174
+ inputSchema: z.object({
175
+ gmailToken: tokenField,
176
+ userId: userField,
177
+ sendAsEmail: z.string().describe('Alias address to update'),
178
+ displayName: z.string().optional(),
179
+ replyToAddress: z.string().optional(),
180
+ signature: z.string().optional(),
181
+ isDefault: z.boolean().optional(),
182
+ treatAsAlias: z.boolean().optional(),
183
+ smtpMsa: smtpMsaSchema.optional(),
184
+ }),
185
+ execute: async ({ gmailToken, userId, sendAsEmail, ...body }) => {
186
+ const payload = {};
187
+ for (const [k, v] of Object.entries(body))
188
+ if (v !== undefined)
189
+ payload[k] = v;
190
+ return gmailFetch(gmailToken, `/users/${userId}/settings/sendAs/${encodeURIComponent(sendAsEmail)}`, { method: 'PUT', body: JSON.stringify(payload) }, 'update send-as alias');
191
+ },
192
+ });
193
+ export const listSmimeInfo = tool({
194
+ description: "List S/MIME certificate configs for a send-as alias. Needs Workspace Enterprise Plus/Education/Frontline with S/MIME enabled.",
195
+ inputSchema: z.object({
196
+ gmailToken: tokenField,
197
+ userId: userField,
198
+ sendAsEmail: z.string().describe('Alias address to list certificates for'),
199
+ }),
200
+ execute: async ({ gmailToken, userId, sendAsEmail }) => gmailFetch(gmailToken, `/users/${userId}/settings/sendAs/${encodeURIComponent(sendAsEmail)}/smimeInfo`, undefined, 'list S/MIME configs'),
201
+ });
202
+ export const listForwardingAddresses = tool({
203
+ description: 'List verified forwarding addresses (accepted/pending) usable as auto-forward targets.',
204
+ inputSchema: z.object({
205
+ gmailToken: tokenField,
206
+ userId: userField,
207
+ }),
208
+ execute: async ({ gmailToken, userId }) => gmailFetch(gmailToken, `/users/${userId}/settings/forwardingAddresses`, undefined, 'list forwarding addresses'),
209
+ });
210
+ //# sourceMappingURL=settings.js.map
@@ -16,8 +16,8 @@ export declare const listAccountSummaries: import("ai").Tool<{
16
16
  export declare const provisionAccountTicket: import("ai").Tool<{
17
17
  redirectUri: string;
18
18
  account: {
19
- regionCode: string;
20
19
  displayName: string;
20
+ regionCode: string;
21
21
  };
22
22
  googleAnalyticsToken: string;
23
23
  }, any>;
@@ -36,17 +36,17 @@ export declare const updateProperty: import("ai").Tool<{
36
36
  name: string;
37
37
  updateMask: string;
38
38
  googleAnalyticsToken: string;
39
+ displayName?: string | undefined;
39
40
  parent?: string | undefined;
40
41
  currencyCode?: string | undefined;
41
- displayName?: string | undefined;
42
42
  timeZone?: string | undefined;
43
43
  industryCategory?: string | undefined;
44
44
  propertyType?: "PROPERTY_TYPE_UNSPECIFIED" | "PROPERTY_TYPE_ORDINARY" | "PROPERTY_TYPE_SUBPROPERTY" | "PROPERTY_TYPE_ROLLUP" | undefined;
45
45
  }, any>;
46
46
  export declare const createRollupProperty: import("ai").Tool<{
47
+ displayName: string;
47
48
  account: string;
48
49
  googleAnalyticsToken: string;
49
- displayName: string;
50
50
  timeZone: string;
51
51
  sourceProperties?: string[] | undefined;
52
52
  }, any>;
@@ -1,8 +1,8 @@
1
1
  export declare const createCustomDimension: import("ai").Tool<{
2
+ displayName: string;
2
3
  scope: "EVENT" | "USER" | "ITEM";
3
4
  parent: string;
4
5
  googleAnalyticsToken: string;
5
- displayName: string;
6
6
  parameterName: string;
7
7
  description?: string | undefined;
8
8
  disallowAdsPersonalization?: boolean | undefined;
@@ -22,10 +22,10 @@ export declare const archiveCustomDimension: import("ai").Tool<{
22
22
  googleAnalyticsToken: string;
23
23
  }, any>;
24
24
  export declare const createCustomMetric: import("ai").Tool<{
25
+ displayName: string;
25
26
  scope: "EVENT";
26
27
  parent: string;
27
28
  googleAnalyticsToken: string;
28
- displayName: string;
29
29
  parameterName: string;
30
30
  measurementUnit: "STANDARD" | "CURRENCY" | "FEET" | "METERS" | "KILOMETERS" | "MILES" | "MILLISECONDS" | "SECONDS" | "MINUTES" | "HOURS";
31
31
  description?: string | undefined;
@@ -1,26 +1,26 @@
1
1
  export declare const getAnnouncementAddOnContext: import("ai").Tool<{
2
+ itemId: string;
2
3
  googleClassroomToken: string;
3
4
  courseId: string;
4
- itemId: string;
5
5
  attachmentId?: string | undefined;
6
6
  addOnToken?: string | undefined;
7
7
  }, any>;
8
8
  export declare const deleteAnnouncementAddOnAttachment: import("ai").Tool<{
9
9
  attachmentId: string;
10
+ itemId: string;
10
11
  googleClassroomToken: string;
11
12
  courseId: string;
12
- itemId: string;
13
13
  }, any>;
14
14
  export declare const getAnnouncementAddOnAttachment: import("ai").Tool<{
15
15
  attachmentId: string;
16
+ itemId: string;
16
17
  googleClassroomToken: string;
17
18
  courseId: string;
18
- itemId: string;
19
19
  }, any>;
20
20
  export declare const listAnnouncementAddOnAttachments: import("ai").Tool<{
21
+ itemId: string;
21
22
  googleClassroomToken: string;
22
23
  courseId: string;
23
- itemId: string;
24
24
  pageToken?: string | undefined;
25
25
  pageSize?: number | undefined;
26
26
  }, any>;