@rnsk/toolkits 0.0.7 → 0.0.8

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 (484) hide show
  1. package/README.md +9 -1
  2. package/dist/index.d.ts +9 -1
  3. package/dist/index.js +17 -1
  4. package/dist/toolkits/cloudflare/icon.d.ts +5 -0
  5. package/dist/toolkits/cloudflare/icon.js +14 -0
  6. package/dist/toolkits/cloudflare/manifest.d.ts +3 -0
  7. package/dist/toolkits/cloudflare/manifest.js +36 -0
  8. package/dist/toolkits/cloudflare/tools/client.d.ts +19 -0
  9. package/dist/toolkits/cloudflare/tools/client.js +57 -0
  10. package/dist/toolkits/cloudflare/tools/create-dns-record.d.ts +14 -0
  11. package/dist/toolkits/cloudflare/tools/create-dns-record.js +32 -0
  12. package/dist/toolkits/cloudflare/tools/create-list.d.ts +8 -0
  13. package/dist/toolkits/cloudflare/tools/create-list.js +28 -0
  14. package/dist/toolkits/cloudflare/tools/create-zone.d.ts +8 -0
  15. package/dist/toolkits/cloudflare/tools/create-zone.js +37 -0
  16. package/dist/toolkits/cloudflare/tools/delete-dns-record.d.ts +6 -0
  17. package/dist/toolkits/cloudflare/tools/delete-dns-record.js +24 -0
  18. package/dist/toolkits/cloudflare/tools/delete-list.d.ts +6 -0
  19. package/dist/toolkits/cloudflare/tools/delete-list.js +24 -0
  20. package/dist/toolkits/cloudflare/tools/delete-zone.d.ts +5 -0
  21. package/dist/toolkits/cloudflare/tools/delete-zone.js +23 -0
  22. package/dist/toolkits/cloudflare/tools/get-bot-management-settings.d.ts +5 -0
  23. package/dist/toolkits/cloudflare/tools/get-bot-management-settings.js +23 -0
  24. package/dist/toolkits/cloudflare/tools/index.d.ts +277 -0
  25. package/dist/toolkits/cloudflare/tools/index.js +165 -0
  26. package/dist/toolkits/cloudflare/tools/list-account-members.d.ts +10 -0
  27. package/dist/toolkits/cloudflare/tools/list-account-members.js +33 -0
  28. package/dist/toolkits/cloudflare/tools/list-accounts.d.ts +8 -0
  29. package/dist/toolkits/cloudflare/tools/list-accounts.js +28 -0
  30. package/dist/toolkits/cloudflare/tools/list-dns-records.d.ts +15 -0
  31. package/dist/toolkits/cloudflare/tools/list-dns-records.js +47 -0
  32. package/dist/toolkits/cloudflare/tools/list-firewall-rules.d.ts +10 -0
  33. package/dist/toolkits/cloudflare/tools/list-firewall-rules.js +30 -0
  34. package/dist/toolkits/cloudflare/tools/list-monitors.d.ts +9 -0
  35. package/dist/toolkits/cloudflare/tools/list-monitors.js +29 -0
  36. package/dist/toolkits/cloudflare/tools/list-pools.d.ts +8 -0
  37. package/dist/toolkits/cloudflare/tools/list-pools.js +28 -0
  38. package/dist/toolkits/cloudflare/tools/list-tunnels.d.ts +9 -0
  39. package/dist/toolkits/cloudflare/tools/list-tunnels.js +29 -0
  40. package/dist/toolkits/cloudflare/tools/list-waf-lists.d.ts +5 -0
  41. package/dist/toolkits/cloudflare/tools/list-waf-lists.js +23 -0
  42. package/dist/toolkits/cloudflare/tools/list-zones.d.ts +13 -0
  43. package/dist/toolkits/cloudflare/tools/list-zones.js +38 -0
  44. package/dist/toolkits/cloudflare/tools/update-dns-record.d.ts +13 -0
  45. package/dist/toolkits/cloudflare/tools/update-dns-record.js +39 -0
  46. package/dist/toolkits/cloudflare/tools/update-list.d.ts +7 -0
  47. package/dist/toolkits/cloudflare/tools/update-list.js +27 -0
  48. package/dist/toolkits/cloudflare/tools/update-tunnel-configuration.d.ts +7 -0
  49. package/dist/toolkits/cloudflare/tools/update-tunnel-configuration.js +28 -0
  50. package/dist/toolkits/cloudflare/tools/update-zone.d.ts +8 -0
  51. package/dist/toolkits/cloudflare/tools/update-zone.js +32 -0
  52. package/dist/toolkits/figma/icon.d.ts +5 -0
  53. package/dist/toolkits/figma/icon.js +6 -0
  54. package/dist/toolkits/figma/manifest.d.ts +3 -0
  55. package/dist/toolkits/figma/manifest.js +58 -0
  56. package/dist/toolkits/figma/tools/add-comment-to-a-file.d.ts +8 -0
  57. package/dist/toolkits/figma/tools/add-comment-to-a-file.js +43 -0
  58. package/dist/toolkits/figma/tools/add-reaction-to-a-comment.d.ts +7 -0
  59. package/dist/toolkits/figma/tools/add-reaction-to-a-comment.js +31 -0
  60. package/dist/toolkits/figma/tools/client.d.ts +20 -0
  61. package/dist/toolkits/figma/tools/client.js +36 -0
  62. package/dist/toolkits/figma/tools/create-a-webhook.d.ts +12 -0
  63. package/dist/toolkits/figma/tools/create-a-webhook.js +45 -0
  64. package/dist/toolkits/figma/tools/create-dev-resources.d.ts +28 -0
  65. package/dist/toolkits/figma/tools/create-dev-resources.js +53 -0
  66. package/dist/toolkits/figma/tools/create-modify-delete-variables.d.ts +9 -0
  67. package/dist/toolkits/figma/tools/create-modify-delete-variables.js +43 -0
  68. package/dist/toolkits/figma/tools/delete-a-comment.d.ts +6 -0
  69. package/dist/toolkits/figma/tools/delete-a-comment.js +29 -0
  70. package/dist/toolkits/figma/tools/delete-a-reaction.d.ts +7 -0
  71. package/dist/toolkits/figma/tools/delete-a-reaction.js +31 -0
  72. package/dist/toolkits/figma/tools/delete-a-webhook.d.ts +5 -0
  73. package/dist/toolkits/figma/tools/delete-a-webhook.js +28 -0
  74. package/dist/toolkits/figma/tools/delete-dev-resource.d.ts +6 -0
  75. package/dist/toolkits/figma/tools/delete-dev-resource.js +29 -0
  76. package/dist/toolkits/figma/tools/design-tokens-to-tailwind.d.ts +26 -0
  77. package/dist/toolkits/figma/tools/design-tokens-to-tailwind.js +119 -0
  78. package/dist/toolkits/figma/tools/detect-background.d.ts +27 -0
  79. package/dist/toolkits/figma/tools/detect-background.js +124 -0
  80. package/dist/toolkits/figma/tools/discover-figma-resources.d.ts +38 -0
  81. package/dist/toolkits/figma/tools/discover-figma-resources.js +99 -0
  82. package/dist/toolkits/figma/tools/download-figma-images.d.ts +26 -0
  83. package/dist/toolkits/figma/tools/download-figma-images.js +86 -0
  84. package/dist/toolkits/figma/tools/extract-design-tokens.d.ts +46 -0
  85. package/dist/toolkits/figma/tools/extract-design-tokens.js +146 -0
  86. package/dist/toolkits/figma/tools/extract-prototype-interactions.d.ts +38 -0
  87. package/dist/toolkits/figma/tools/extract-prototype-interactions.js +80 -0
  88. package/dist/toolkits/figma/tools/get-a-webhook.d.ts +5 -0
  89. package/dist/toolkits/figma/tools/get-a-webhook.js +26 -0
  90. package/dist/toolkits/figma/tools/get-activity-logs.d.ts +10 -0
  91. package/dist/toolkits/figma/tools/get-activity-logs.js +33 -0
  92. package/dist/toolkits/figma/tools/get-comments-in-a-file.d.ts +6 -0
  93. package/dist/toolkits/figma/tools/get-comments-in-a-file.js +29 -0
  94. package/dist/toolkits/figma/tools/get-component-set.d.ts +5 -0
  95. package/dist/toolkits/figma/tools/get-component-set.js +26 -0
  96. package/dist/toolkits/figma/tools/get-component2.d.ts +5 -0
  97. package/dist/toolkits/figma/tools/get-component2.js +26 -0
  98. package/dist/toolkits/figma/tools/get-current-user.d.ts +4 -0
  99. package/dist/toolkits/figma/tools/get-current-user.js +25 -0
  100. package/dist/toolkits/figma/tools/get-dev-resources.d.ts +6 -0
  101. package/dist/toolkits/figma/tools/get-dev-resources.js +29 -0
  102. package/dist/toolkits/figma/tools/get-file-component-sets.d.ts +5 -0
  103. package/dist/toolkits/figma/tools/get-file-component-sets.js +26 -0
  104. package/dist/toolkits/figma/tools/get-file-components.d.ts +5 -0
  105. package/dist/toolkits/figma/tools/get-file-components.js +26 -0
  106. package/dist/toolkits/figma/tools/get-file-json.d.ts +12 -0
  107. package/dist/toolkits/figma/tools/get-file-json.js +49 -0
  108. package/dist/toolkits/figma/tools/get-file-metadata.d.ts +5 -0
  109. package/dist/toolkits/figma/tools/get-file-metadata.js +26 -0
  110. package/dist/toolkits/figma/tools/get-file-nodes.d.ts +10 -0
  111. package/dist/toolkits/figma/tools/get-file-nodes.js +34 -0
  112. package/dist/toolkits/figma/tools/get-file-styles.d.ts +5 -0
  113. package/dist/toolkits/figma/tools/get-file-styles.js +26 -0
  114. package/dist/toolkits/figma/tools/get-files-in-a-project.d.ts +6 -0
  115. package/dist/toolkits/figma/tools/get-files-in-a-project.js +29 -0
  116. package/dist/toolkits/figma/tools/get-image-fills.d.ts +5 -0
  117. package/dist/toolkits/figma/tools/get-image-fills.js +26 -0
  118. package/dist/toolkits/figma/tools/get-library-analytics-component-action-data.d.ts +4 -0
  119. package/dist/toolkits/figma/tools/get-library-analytics-component-action-data.js +4 -0
  120. package/dist/toolkits/figma/tools/get-library-analytics-component-usage-data.d.ts +4 -0
  121. package/dist/toolkits/figma/tools/get-library-analytics-component-usage-data.js +4 -0
  122. package/dist/toolkits/figma/tools/get-library-analytics-style-action-data.d.ts +4 -0
  123. package/dist/toolkits/figma/tools/get-library-analytics-style-action-data.js +4 -0
  124. package/dist/toolkits/figma/tools/get-library-analytics-style-usage-data.d.ts +4 -0
  125. package/dist/toolkits/figma/tools/get-library-analytics-style-usage-data.js +4 -0
  126. package/dist/toolkits/figma/tools/get-library-analytics-variable-action-data.d.ts +4 -0
  127. package/dist/toolkits/figma/tools/get-library-analytics-variable-action-data.js +4 -0
  128. package/dist/toolkits/figma/tools/get-library-analytics-variable-usage-data.d.ts +4 -0
  129. package/dist/toolkits/figma/tools/get-library-analytics-variable-usage-data.js +4 -0
  130. package/dist/toolkits/figma/tools/get-local-variables.d.ts +5 -0
  131. package/dist/toolkits/figma/tools/get-local-variables.js +26 -0
  132. package/dist/toolkits/figma/tools/get-payments.d.ts +9 -0
  133. package/dist/toolkits/figma/tools/get-payments.js +38 -0
  134. package/dist/toolkits/figma/tools/get-projects-in-a-team.d.ts +5 -0
  135. package/dist/toolkits/figma/tools/get-projects-in-a-team.js +26 -0
  136. package/dist/toolkits/figma/tools/get-published-variables.d.ts +5 -0
  137. package/dist/toolkits/figma/tools/get-published-variables.js +26 -0
  138. package/dist/toolkits/figma/tools/get-reactions-for-a-comment.d.ts +7 -0
  139. package/dist/toolkits/figma/tools/get-reactions-for-a-comment.js +30 -0
  140. package/dist/toolkits/figma/tools/get-scim-service-provider-config.d.ts +4 -0
  141. package/dist/toolkits/figma/tools/get-scim-service-provider-config.js +27 -0
  142. package/dist/toolkits/figma/tools/get-style.d.ts +5 -0
  143. package/dist/toolkits/figma/tools/get-style.js +26 -0
  144. package/dist/toolkits/figma/tools/get-team-component-sets.d.ts +8 -0
  145. package/dist/toolkits/figma/tools/get-team-component-sets.js +33 -0
  146. package/dist/toolkits/figma/tools/get-team-components.d.ts +8 -0
  147. package/dist/toolkits/figma/tools/get-team-components.js +33 -0
  148. package/dist/toolkits/figma/tools/get-team-styles.d.ts +8 -0
  149. package/dist/toolkits/figma/tools/get-team-styles.js +33 -0
  150. package/dist/toolkits/figma/tools/get-team-webhooks.d.ts +6 -0
  151. package/dist/toolkits/figma/tools/get-team-webhooks.js +29 -0
  152. package/dist/toolkits/figma/tools/get-versions-of-a-file.d.ts +8 -0
  153. package/dist/toolkits/figma/tools/get-versions-of-a-file.js +31 -0
  154. package/dist/toolkits/figma/tools/get-webhook-requests.d.ts +5 -0
  155. package/dist/toolkits/figma/tools/get-webhook-requests.js +26 -0
  156. package/dist/toolkits/figma/tools/index.d.ts +629 -0
  157. package/dist/toolkits/figma/tools/index.js +110 -0
  158. package/dist/toolkits/figma/tools/library-analytics-shared.d.ts +4 -0
  159. package/dist/toolkits/figma/tools/library-analytics-shared.js +40 -0
  160. package/dist/toolkits/figma/tools/render-images-of-file-nodes.d.ts +15 -0
  161. package/dist/toolkits/figma/tools/render-images-of-file-nodes.js +49 -0
  162. package/dist/toolkits/figma/tools/update-a-webhook.d.ts +10 -0
  163. package/dist/toolkits/figma/tools/update-a-webhook.js +45 -0
  164. package/dist/toolkits/figma/tools/update-dev-resources.d.ts +10 -0
  165. package/dist/toolkits/figma/tools/update-dev-resources.js +34 -0
  166. package/dist/toolkits/google-ads/icon.d.ts +5 -0
  167. package/dist/toolkits/google-ads/icon.js +18 -0
  168. package/dist/toolkits/google-ads/manifest.d.ts +3 -0
  169. package/dist/toolkits/google-ads/manifest.js +41 -0
  170. package/dist/toolkits/google-ads/tools/add-or-remove-to-customer-list.d.ts +30 -0
  171. package/dist/toolkits/google-ads/tools/add-or-remove-to-customer-list.js +69 -0
  172. package/dist/toolkits/google-ads/tools/client.d.ts +62 -0
  173. package/dist/toolkits/google-ads/tools/client.js +102 -0
  174. package/dist/toolkits/google-ads/tools/create-callout-asset.d.ts +23 -0
  175. package/dist/toolkits/google-ads/tools/create-callout-asset.js +62 -0
  176. package/dist/toolkits/google-ads/tools/create-customer-list.d.ts +9 -0
  177. package/dist/toolkits/google-ads/tools/create-customer-list.js +42 -0
  178. package/dist/toolkits/google-ads/tools/get-campaign-by-id.d.ts +32 -0
  179. package/dist/toolkits/google-ads/tools/get-campaign-by-id.js +38 -0
  180. package/dist/toolkits/google-ads/tools/get-campaign-by-name.d.ts +32 -0
  181. package/dist/toolkits/google-ads/tools/get-campaign-by-name.js +37 -0
  182. package/dist/toolkits/google-ads/tools/get-conversion-action-tag-snippets.d.ts +28 -0
  183. package/dist/toolkits/google-ads/tools/get-conversion-action-tag-snippets.js +33 -0
  184. package/dist/toolkits/google-ads/tools/get-customer-lists.d.ts +32 -0
  185. package/dist/toolkits/google-ads/tools/get-customer-lists.js +41 -0
  186. package/dist/toolkits/google-ads/tools/get-rmf-report.d.ts +60 -0
  187. package/dist/toolkits/google-ads/tools/get-rmf-report.js +97 -0
  188. package/dist/toolkits/google-ads/tools/index.d.ts +520 -0
  189. package/dist/toolkits/google-ads/tools/index.js +230 -0
  190. package/dist/toolkits/google-ads/tools/list-accessible-customers.d.ts +5 -0
  191. package/dist/toolkits/google-ads/tools/list-accessible-customers.js +26 -0
  192. package/dist/toolkits/google-ads/tools/list-sub-accounts.d.ts +51 -0
  193. package/dist/toolkits/google-ads/tools/list-sub-accounts.js +55 -0
  194. package/dist/toolkits/google-ads/tools/mutate-ad-group-ads.d.ts +11 -0
  195. package/dist/toolkits/google-ads/tools/mutate-ad-group-ads.js +40 -0
  196. package/dist/toolkits/google-ads/tools/mutate-ad-group-assets.d.ts +11 -0
  197. package/dist/toolkits/google-ads/tools/mutate-ad-group-assets.js +40 -0
  198. package/dist/toolkits/google-ads/tools/mutate-ad-group-bid-modifiers.d.ts +11 -0
  199. package/dist/toolkits/google-ads/tools/mutate-ad-group-bid-modifiers.js +40 -0
  200. package/dist/toolkits/google-ads/tools/mutate-ad-group-criteria.d.ts +11 -0
  201. package/dist/toolkits/google-ads/tools/mutate-ad-group-criteria.js +40 -0
  202. package/dist/toolkits/google-ads/tools/mutate-ad-groups.d.ts +10 -0
  203. package/dist/toolkits/google-ads/tools/mutate-ad-groups.js +38 -0
  204. package/dist/toolkits/google-ads/tools/mutate-assets.d.ts +11 -0
  205. package/dist/toolkits/google-ads/tools/mutate-assets.js +40 -0
  206. package/dist/toolkits/google-ads/tools/mutate-bidding-strategies.d.ts +11 -0
  207. package/dist/toolkits/google-ads/tools/mutate-bidding-strategies.js +40 -0
  208. package/dist/toolkits/google-ads/tools/mutate-campaign-assets.d.ts +11 -0
  209. package/dist/toolkits/google-ads/tools/mutate-campaign-assets.js +40 -0
  210. package/dist/toolkits/google-ads/tools/mutate-campaign-budgets.d.ts +11 -0
  211. package/dist/toolkits/google-ads/tools/mutate-campaign-budgets.js +40 -0
  212. package/dist/toolkits/google-ads/tools/mutate-campaign-criteria.d.ts +11 -0
  213. package/dist/toolkits/google-ads/tools/mutate-campaign-criteria.js +40 -0
  214. package/dist/toolkits/google-ads/tools/mutate-campaign-labels.d.ts +10 -0
  215. package/dist/toolkits/google-ads/tools/mutate-campaign-labels.js +38 -0
  216. package/dist/toolkits/google-ads/tools/mutate-campaigns-v2.d.ts +17 -0
  217. package/dist/toolkits/google-ads/tools/mutate-campaigns-v2.js +58 -0
  218. package/dist/toolkits/google-ads/tools/mutate-campaigns.d.ts +16 -0
  219. package/dist/toolkits/google-ads/tools/mutate-campaigns.js +53 -0
  220. package/dist/toolkits/google-ads/tools/mutate-conversion-actions.d.ts +11 -0
  221. package/dist/toolkits/google-ads/tools/mutate-conversion-actions.js +40 -0
  222. package/dist/toolkits/google-ads/tools/mutate-customer-assets.d.ts +17 -0
  223. package/dist/toolkits/google-ads/tools/mutate-customer-assets.js +51 -0
  224. package/dist/toolkits/google-ads/tools/mutate-labels.d.ts +11 -0
  225. package/dist/toolkits/google-ads/tools/mutate-labels.js +40 -0
  226. package/dist/toolkits/google-ads/tools/mutate-portfolio-bidding-strategies.d.ts +11 -0
  227. package/dist/toolkits/google-ads/tools/mutate-portfolio-bidding-strategies.js +41 -0
  228. package/dist/toolkits/google-ads/tools/search-stream-gaql.d.ts +37 -0
  229. package/dist/toolkits/google-ads/tools/search-stream-gaql.js +41 -0
  230. package/dist/toolkits/google-classroom/icon.d.ts +5 -0
  231. package/dist/toolkits/google-classroom/icon.js +42 -0
  232. package/dist/toolkits/google-classroom/manifest.d.ts +3 -0
  233. package/dist/toolkits/google-classroom/manifest.js +67 -0
  234. package/dist/toolkits/google-classroom/tools/aliases.d.ts +17 -0
  235. package/dist/toolkits/google-classroom/tools/aliases.js +70 -0
  236. package/dist/toolkits/google-classroom/tools/announcement-addons.d.ts +27 -0
  237. package/dist/toolkits/google-classroom/tools/announcement-addons.js +87 -0
  238. package/dist/toolkits/google-classroom/tools/announcements.d.ts +54 -0
  239. package/dist/toolkits/google-classroom/tools/announcements.js +158 -0
  240. package/dist/toolkits/google-classroom/tools/client.d.ts +18 -0
  241. package/dist/toolkits/google-classroom/tools/client.js +41 -0
  242. package/dist/toolkits/google-classroom/tools/courses.d.ts +60 -0
  243. package/dist/toolkits/google-classroom/tools/courses.js +189 -0
  244. package/dist/toolkits/google-classroom/tools/coursework-addons.d.ts +25 -0
  245. package/dist/toolkits/google-classroom/tools/coursework-addons.js +85 -0
  246. package/dist/toolkits/google-classroom/tools/coursework.d.ts +113 -0
  247. package/dist/toolkits/google-classroom/tools/coursework.js +248 -0
  248. package/dist/toolkits/google-classroom/tools/index.d.ts +608 -0
  249. package/dist/toolkits/google-classroom/tools/index.js +81 -0
  250. package/dist/toolkits/google-classroom/tools/invitations.d.ts +22 -0
  251. package/dist/toolkits/google-classroom/tools/invitations.js +89 -0
  252. package/dist/toolkits/google-classroom/tools/materials-addons.d.ts +13 -0
  253. package/dist/toolkits/google-classroom/tools/materials-addons.js +45 -0
  254. package/dist/toolkits/google-classroom/tools/materials.d.ts +44 -0
  255. package/dist/toolkits/google-classroom/tools/materials.js +132 -0
  256. package/dist/toolkits/google-classroom/tools/misc.d.ts +20 -0
  257. package/dist/toolkits/google-classroom/tools/misc.js +51 -0
  258. package/dist/toolkits/google-classroom/tools/posts-addons.d.ts +17 -0
  259. package/dist/toolkits/google-classroom/tools/posts-addons.js +49 -0
  260. package/dist/toolkits/google-classroom/tools/roster.d.ts +48 -0
  261. package/dist/toolkits/google-classroom/tools/roster.js +180 -0
  262. package/dist/toolkits/google-classroom/tools/topics.d.ts +29 -0
  263. package/dist/toolkits/google-classroom/tools/topics.js +117 -0
  264. package/dist/toolkits/google-tasks/icon.d.ts +5 -0
  265. package/dist/toolkits/google-tasks/icon.js +6 -0
  266. package/dist/toolkits/google-tasks/manifest.d.ts +3 -0
  267. package/dist/toolkits/google-tasks/manifest.js +40 -0
  268. package/dist/toolkits/google-tasks/tools/batch-execute.d.ts +34 -0
  269. package/dist/toolkits/google-tasks/tools/batch-execute.js +95 -0
  270. package/dist/toolkits/google-tasks/tools/clear-tasks.d.ts +5 -0
  271. package/dist/toolkits/google-tasks/tools/clear-tasks.js +29 -0
  272. package/dist/toolkits/google-tasks/tools/create-task-list.d.ts +5 -0
  273. package/dist/toolkits/google-tasks/tools/create-task-list.js +30 -0
  274. package/dist/toolkits/google-tasks/tools/create-task.d.ts +12 -0
  275. package/dist/toolkits/google-tasks/tools/create-task.js +47 -0
  276. package/dist/toolkits/google-tasks/tools/delete-task-list.d.ts +5 -0
  277. package/dist/toolkits/google-tasks/tools/delete-task-list.js +29 -0
  278. package/dist/toolkits/google-tasks/tools/delete-task.d.ts +6 -0
  279. package/dist/toolkits/google-tasks/tools/delete-task.js +28 -0
  280. package/dist/toolkits/google-tasks/tools/get-task-list.d.ts +5 -0
  281. package/dist/toolkits/google-tasks/tools/get-task-list.js +27 -0
  282. package/dist/toolkits/google-tasks/tools/get-task.d.ts +6 -0
  283. package/dist/toolkits/google-tasks/tools/get-task.js +28 -0
  284. package/dist/toolkits/google-tasks/tools/index.d.ts +249 -0
  285. package/dist/toolkits/google-tasks/tools/index.js +125 -0
  286. package/dist/toolkits/google-tasks/tools/list-all-tasks.d.ts +41 -0
  287. package/dist/toolkits/google-tasks/tools/list-all-tasks.js +106 -0
  288. package/dist/toolkits/google-tasks/tools/list-task-lists.d.ts +6 -0
  289. package/dist/toolkits/google-tasks/tools/list-task-lists.js +30 -0
  290. package/dist/toolkits/google-tasks/tools/list-tasks.d.ts +15 -0
  291. package/dist/toolkits/google-tasks/tools/list-tasks.js +50 -0
  292. package/dist/toolkits/google-tasks/tools/move-task.d.ts +9 -0
  293. package/dist/toolkits/google-tasks/tools/move-task.js +37 -0
  294. package/dist/toolkits/google-tasks/tools/update-task-full.d.ts +14 -0
  295. package/dist/toolkits/google-tasks/tools/update-task-full.js +55 -0
  296. package/dist/toolkits/google-tasks/tools/update-task-list.d.ts +6 -0
  297. package/dist/toolkits/google-tasks/tools/update-task-list.js +31 -0
  298. package/dist/toolkits/google-tasks/tools/update-task.d.ts +11 -0
  299. package/dist/toolkits/google-tasks/tools/update-task.js +47 -0
  300. package/dist/toolkits/google-tasks/tools/utils.d.ts +15 -0
  301. package/dist/toolkits/google-tasks/tools/utils.js +33 -0
  302. package/dist/toolkits/groww/icon.d.ts +5 -0
  303. package/dist/toolkits/groww/icon.js +21 -0
  304. package/dist/toolkits/groww/manifest.d.ts +3 -0
  305. package/dist/toolkits/groww/manifest.js +32 -0
  306. package/dist/toolkits/groww/tools/historical.d.ts +32 -0
  307. package/dist/toolkits/groww/tools/historical.js +85 -0
  308. package/dist/toolkits/groww/tools/index.d.ts +394 -0
  309. package/dist/toolkits/groww/tools/index.js +222 -0
  310. package/dist/toolkits/groww/tools/instruments.d.ts +51 -0
  311. package/dist/toolkits/groww/tools/instruments.js +120 -0
  312. package/dist/toolkits/groww/tools/live-data.d.ts +30 -0
  313. package/dist/toolkits/groww/tools/live-data.js +101 -0
  314. package/dist/toolkits/groww/tools/margin.d.ts +18 -0
  315. package/dist/toolkits/groww/tools/margin.js +52 -0
  316. package/dist/toolkits/groww/tools/orders.d.ts +57 -0
  317. package/dist/toolkits/groww/tools/orders.js +170 -0
  318. package/dist/toolkits/groww/tools/portfolio.d.ts +13 -0
  319. package/dist/toolkits/groww/tools/portfolio.js +58 -0
  320. package/dist/toolkits/groww/tools/smart-orders.d.ts +72 -0
  321. package/dist/toolkits/groww/tools/smart-orders.js +200 -0
  322. package/dist/toolkits/groww/tools/user.d.ts +4 -0
  323. package/dist/toolkits/groww/tools/user.js +21 -0
  324. package/dist/toolkits/groww/tools/utils.d.ts +18 -0
  325. package/dist/toolkits/groww/tools/utils.js +52 -0
  326. package/dist/toolkits/reddit/icon.d.ts +5 -0
  327. package/dist/toolkits/reddit/icon.js +6 -0
  328. package/dist/toolkits/reddit/manifest.d.ts +3 -0
  329. package/dist/toolkits/reddit/manifest.js +55 -0
  330. package/dist/toolkits/reddit/tools/check-username-available.d.ts +29 -0
  331. package/dist/toolkits/reddit/tools/check-username-available.js +30 -0
  332. package/dist/toolkits/reddit/tools/client.d.ts +10 -0
  333. package/dist/toolkits/reddit/tools/client.js +75 -0
  334. package/dist/toolkits/reddit/tools/create-post.d.ts +10 -0
  335. package/dist/toolkits/reddit/tools/create-post.js +59 -0
  336. package/dist/toolkits/reddit/tools/delete-comment.d.ts +29 -0
  337. package/dist/toolkits/reddit/tools/delete-comment.js +30 -0
  338. package/dist/toolkits/reddit/tools/delete-post.d.ts +29 -0
  339. package/dist/toolkits/reddit/tools/delete-post.js +30 -0
  340. package/dist/toolkits/reddit/tools/edit-comment-or-post.d.ts +6 -0
  341. package/dist/toolkits/reddit/tools/edit-comment-or-post.js +35 -0
  342. package/dist/toolkits/reddit/tools/get-controversial-posts.d.ts +10 -0
  343. package/dist/toolkits/reddit/tools/get-controversial-posts.js +45 -0
  344. package/dist/toolkits/reddit/tools/get-listing-by-sort.d.ts +11 -0
  345. package/dist/toolkits/reddit/tools/get-listing-by-sort.js +47 -0
  346. package/dist/toolkits/reddit/tools/get-oauth-scopes.d.ts +4 -0
  347. package/dist/toolkits/reddit/tools/get-oauth-scopes.js +28 -0
  348. package/dist/toolkits/reddit/tools/get-random-post.d.ts +5 -0
  349. package/dist/toolkits/reddit/tools/get-random-post.js +32 -0
  350. package/dist/toolkits/reddit/tools/get-subreddit-rules.d.ts +5 -0
  351. package/dist/toolkits/reddit/tools/get-subreddit-rules.js +29 -0
  352. package/dist/toolkits/reddit/tools/get-user-about.d.ts +5 -0
  353. package/dist/toolkits/reddit/tools/get-user-about.js +29 -0
  354. package/dist/toolkits/reddit/tools/get-user-flair.d.ts +8 -0
  355. package/dist/toolkits/reddit/tools/get-user-flair.js +32 -0
  356. package/dist/toolkits/reddit/tools/get-user-prefs.d.ts +5 -0
  357. package/dist/toolkits/reddit/tools/get-user-prefs.js +32 -0
  358. package/dist/toolkits/reddit/tools/index.d.ts +355 -0
  359. package/dist/toolkits/reddit/tools/index.js +173 -0
  360. package/dist/toolkits/reddit/tools/list-subreddit-post-flairs.d.ts +25 -0
  361. package/dist/toolkits/reddit/tools/list-subreddit-post-flairs.js +30 -0
  362. package/dist/toolkits/reddit/tools/post-comment.d.ts +6 -0
  363. package/dist/toolkits/reddit/tools/post-comment.js +35 -0
  364. package/dist/toolkits/reddit/tools/retrieve-post-comments.d.ts +8 -0
  365. package/dist/toolkits/reddit/tools/retrieve-post-comments.js +39 -0
  366. package/dist/toolkits/reddit/tools/retrieve-posts-from-subreddit.d.ts +12 -0
  367. package/dist/toolkits/reddit/tools/retrieve-posts-from-subreddit.js +56 -0
  368. package/dist/toolkits/reddit/tools/retrieve-specific-comment-or-post.d.ts +25 -0
  369. package/dist/toolkits/reddit/tools/retrieve-specific-comment-or-post.js +32 -0
  370. package/dist/toolkits/reddit/tools/search-across-subreddits.d.ts +12 -0
  371. package/dist/toolkits/reddit/tools/search-across-subreddits.js +59 -0
  372. package/dist/toolkits/reddit/tools/search-subreddits.d.ts +12 -0
  373. package/dist/toolkits/reddit/tools/search-subreddits.js +49 -0
  374. package/dist/toolkits/reddit/tools/toggle-inbox-replies.d.ts +34 -0
  375. package/dist/toolkits/reddit/tools/toggle-inbox-replies.js +31 -0
  376. package/dist/toolkits/youtube/icon.d.ts +5 -0
  377. package/dist/toolkits/youtube/icon.js +20 -0
  378. package/dist/toolkits/youtube/manifest.d.ts +3 -0
  379. package/dist/toolkits/youtube/manifest.js +48 -0
  380. package/dist/toolkits/youtube/tools/add-video-to-playlist.d.ts +7 -0
  381. package/dist/toolkits/youtube/tools/add-video-to-playlist.js +38 -0
  382. package/dist/toolkits/youtube/tools/client.d.ts +23 -0
  383. package/dist/toolkits/youtube/tools/client.js +55 -0
  384. package/dist/toolkits/youtube/tools/create-channel-section.d.ts +13 -0
  385. package/dist/toolkits/youtube/tools/create-channel-section.js +42 -0
  386. package/dist/toolkits/youtube/tools/create-comment-reply.d.ts +6 -0
  387. package/dist/toolkits/youtube/tools/create-comment-reply.js +31 -0
  388. package/dist/toolkits/youtube/tools/create-playlist.d.ts +7 -0
  389. package/dist/toolkits/youtube/tools/create-playlist.js +38 -0
  390. package/dist/toolkits/youtube/tools/delete-channel-section.d.ts +27 -0
  391. package/dist/toolkits/youtube/tools/delete-channel-section.js +30 -0
  392. package/dist/toolkits/youtube/tools/delete-comment.d.ts +26 -0
  393. package/dist/toolkits/youtube/tools/delete-comment.js +29 -0
  394. package/dist/toolkits/youtube/tools/delete-playlist-item.d.ts +26 -0
  395. package/dist/toolkits/youtube/tools/delete-playlist-item.js +29 -0
  396. package/dist/toolkits/youtube/tools/delete-playlist.d.ts +35 -0
  397. package/dist/toolkits/youtube/tools/delete-playlist.js +33 -0
  398. package/dist/toolkits/youtube/tools/delete-video.d.ts +35 -0
  399. package/dist/toolkits/youtube/tools/delete-video.js +33 -0
  400. package/dist/toolkits/youtube/tools/download-caption-track.d.ts +21 -0
  401. package/dist/toolkits/youtube/tools/download-caption-track.js +30 -0
  402. package/dist/toolkits/youtube/tools/get-channel-activities.d.ts +10 -0
  403. package/dist/toolkits/youtube/tools/get-channel-activities.js +33 -0
  404. package/dist/toolkits/youtube/tools/get-channel-id-by-handle.d.ts +5 -0
  405. package/dist/toolkits/youtube/tools/get-channel-id-by-handle.js +31 -0
  406. package/dist/toolkits/youtube/tools/get-channel-statistics.d.ts +9 -0
  407. package/dist/toolkits/youtube/tools/get-channel-statistics.js +53 -0
  408. package/dist/toolkits/youtube/tools/get-video-details-batch.d.ts +55 -0
  409. package/dist/toolkits/youtube/tools/get-video-details-batch.js +51 -0
  410. package/dist/toolkits/youtube/tools/get-video-rating.d.ts +6 -0
  411. package/dist/toolkits/youtube/tools/get-video-rating.js +29 -0
  412. package/dist/toolkits/youtube/tools/index.d.ts +959 -0
  413. package/dist/toolkits/youtube/tools/index.js +104 -0
  414. package/dist/toolkits/youtube/tools/list-caption-track.d.ts +6 -0
  415. package/dist/toolkits/youtube/tools/list-caption-track.js +29 -0
  416. package/dist/toolkits/youtube/tools/list-channel-sections.d.ts +10 -0
  417. package/dist/toolkits/youtube/tools/list-channel-sections.js +36 -0
  418. package/dist/toolkits/youtube/tools/list-channel-videos.d.ts +9 -0
  419. package/dist/toolkits/youtube/tools/list-channel-videos.js +76 -0
  420. package/dist/toolkits/youtube/tools/list-channels.d.ts +14 -0
  421. package/dist/toolkits/youtube/tools/list-channels.js +40 -0
  422. package/dist/toolkits/youtube/tools/list-comment-threads.d.ts +15 -0
  423. package/dist/toolkits/youtube/tools/list-comment-threads.js +38 -0
  424. package/dist/toolkits/youtube/tools/list-comments.d.ts +10 -0
  425. package/dist/toolkits/youtube/tools/list-comments.js +35 -0
  426. package/dist/toolkits/youtube/tools/list-i18n-languages.d.ts +6 -0
  427. package/dist/toolkits/youtube/tools/list-i18n-languages.js +29 -0
  428. package/dist/toolkits/youtube/tools/list-i18n-regions.d.ts +6 -0
  429. package/dist/toolkits/youtube/tools/list-i18n-regions.js +29 -0
  430. package/dist/toolkits/youtube/tools/list-live-chat-messages.d.ts +10 -0
  431. package/dist/toolkits/youtube/tools/list-live-chat-messages.js +33 -0
  432. package/dist/toolkits/youtube/tools/list-playlist-images.d.ts +11 -0
  433. package/dist/toolkits/youtube/tools/list-playlist-images.js +36 -0
  434. package/dist/toolkits/youtube/tools/list-playlist-items.d.ts +11 -0
  435. package/dist/toolkits/youtube/tools/list-playlist-items.js +34 -0
  436. package/dist/toolkits/youtube/tools/list-super-chat-events.d.ts +8 -0
  437. package/dist/toolkits/youtube/tools/list-super-chat-events.js +31 -0
  438. package/dist/toolkits/youtube/tools/list-user-playlists.d.ts +7 -0
  439. package/dist/toolkits/youtube/tools/list-user-playlists.js +30 -0
  440. package/dist/toolkits/youtube/tools/list-user-subscriptions.d.ts +7 -0
  441. package/dist/toolkits/youtube/tools/list-user-subscriptions.js +30 -0
  442. package/dist/toolkits/youtube/tools/list-video-abuse-report-reasons.d.ts +6 -0
  443. package/dist/toolkits/youtube/tools/list-video-abuse-report-reasons.js +29 -0
  444. package/dist/toolkits/youtube/tools/list-video-categories.d.ts +8 -0
  445. package/dist/toolkits/youtube/tools/list-video-categories.js +33 -0
  446. package/dist/toolkits/youtube/tools/mark-comment-as-spam.d.ts +26 -0
  447. package/dist/toolkits/youtube/tools/mark-comment-as-spam.js +29 -0
  448. package/dist/toolkits/youtube/tools/multipart-upload-video.d.ts +25 -0
  449. package/dist/toolkits/youtube/tools/multipart-upload-video.js +40 -0
  450. package/dist/toolkits/youtube/tools/post-comment.d.ts +7 -0
  451. package/dist/toolkits/youtube/tools/post-comment.js +34 -0
  452. package/dist/toolkits/youtube/tools/rate-video.d.ts +30 -0
  453. package/dist/toolkits/youtube/tools/rate-video.js +30 -0
  454. package/dist/toolkits/youtube/tools/report-video-abuse.d.ts +27 -0
  455. package/dist/toolkits/youtube/tools/report-video-abuse.js +40 -0
  456. package/dist/toolkits/youtube/tools/search-youtube.d.ts +14 -0
  457. package/dist/toolkits/youtube/tools/search-youtube.js +37 -0
  458. package/dist/toolkits/youtube/tools/set-comment-moderation-status.d.ts +27 -0
  459. package/dist/toolkits/youtube/tools/set-comment-moderation-status.js +34 -0
  460. package/dist/toolkits/youtube/tools/subscribe-channel.d.ts +5 -0
  461. package/dist/toolkits/youtube/tools/subscribe-channel.js +30 -0
  462. package/dist/toolkits/youtube/tools/unsubscribe-channel.d.ts +26 -0
  463. package/dist/toolkits/youtube/tools/unsubscribe-channel.js +29 -0
  464. package/dist/toolkits/youtube/tools/update-caption.d.ts +11 -0
  465. package/dist/toolkits/youtube/tools/update-caption.js +36 -0
  466. package/dist/toolkits/youtube/tools/update-channel-section.d.ts +15 -0
  467. package/dist/toolkits/youtube/tools/update-channel-section.js +45 -0
  468. package/dist/toolkits/youtube/tools/update-channel.d.ts +10 -0
  469. package/dist/toolkits/youtube/tools/update-channel.js +42 -0
  470. package/dist/toolkits/youtube/tools/update-comment.d.ts +6 -0
  471. package/dist/toolkits/youtube/tools/update-comment.js +31 -0
  472. package/dist/toolkits/youtube/tools/update-playlist-item.d.ts +19 -0
  473. package/dist/toolkits/youtube/tools/update-playlist-item.js +47 -0
  474. package/dist/toolkits/youtube/tools/update-playlist.d.ts +16 -0
  475. package/dist/toolkits/youtube/tools/update-playlist.js +44 -0
  476. package/dist/toolkits/youtube/tools/update-thumbnail.d.ts +6 -0
  477. package/dist/toolkits/youtube/tools/update-thumbnail.js +38 -0
  478. package/dist/toolkits/youtube/tools/update-video.d.ts +10 -0
  479. package/dist/toolkits/youtube/tools/update-video.js +56 -0
  480. package/dist/toolkits/youtube/tools/upload-shared.d.ts +15 -0
  481. package/dist/toolkits/youtube/tools/upload-shared.js +21 -0
  482. package/dist/toolkits/youtube/tools/upload-video.d.ts +30 -0
  483. package/dist/toolkits/youtube/tools/upload-video.js +56 -0
  484. package/package.json +1 -1
@@ -0,0 +1,99 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { figmaRequest, figmaTokenField } from './client.js';
5
+ function parseFigmaUrl(url) {
6
+ const out = {};
7
+ const fileMatch = url.match(/figma\.com\/(?:file|design|board|proto|slides)\/([A-Za-z0-9]+)/);
8
+ if (fileMatch)
9
+ out.fileKey = fileMatch[1];
10
+ const nodeMatch = url.match(/[?&]node-id=([\d-]+)/);
11
+ if (nodeMatch)
12
+ out.nodeId = nodeMatch[1].replace(/-/g, ':');
13
+ const teamMatch = url.match(/figma\.com\/files\/team\/(\d+)/);
14
+ if (teamMatch)
15
+ out.teamId = teamMatch[1];
16
+ const projectMatch = url.match(/[?&]project(?:_|-)id=(\d+)/);
17
+ if (projectMatch)
18
+ out.projectId = projectMatch[1];
19
+ return out;
20
+ }
21
+ function collectNodes(node, path, depth, maxDepth, out) {
22
+ const name = String(node.name ?? '');
23
+ const current = path ? `${path}/${name}` : name;
24
+ if (node.id)
25
+ out.push({ id: String(node.id), name, type: String(node.type ?? ''), path: current });
26
+ if (depth >= maxDepth)
27
+ return;
28
+ for (const child of (node.children ?? [])) {
29
+ collectNodes(child, current, depth + 1, maxDepth, out);
30
+ }
31
+ }
32
+ export const discoverFigmaResources = tool({
33
+ description: 'Extracts file/node/team IDs from any Figma URL and traverses team → projects → files → nodes. Shallow by default (maxDepth 2-3); target FRAME/CANVAS IDs for big files.',
34
+ inputSchema: z.object({
35
+ figmaToken: figmaTokenField,
36
+ figmaUrl: z.string().optional().describe('Any Figma URL (/file/, /design/, /board/, /proto/, /slides/, team)'),
37
+ teamId: z.string().optional().describe('Team ID to list projects for'),
38
+ projectId: z.string().optional().describe('Project ID to list files for'),
39
+ fileKey: z.string().optional().describe('File key to list nodes for'),
40
+ maxDepth: z.number().optional().describe('Node traversal depth (default 2)'),
41
+ }),
42
+ execute: async ({ figmaToken, figmaUrl, teamId, projectId, fileKey, maxDepth }) => {
43
+ try {
44
+ const errors = [];
45
+ const instructions = [];
46
+ const extracted = figmaUrl ? parseFigmaUrl(figmaUrl) : {};
47
+ const effTeamId = teamId ?? extracted.teamId;
48
+ const effProjectId = projectId ?? extracted.projectId;
49
+ const effFileKey = fileKey ?? extracted.fileKey;
50
+ const projects = [];
51
+ const files = [];
52
+ const nodes = [];
53
+ if (effTeamId && !effProjectId && !effFileKey) {
54
+ const res = await figmaRequest(figmaToken, `/v1/teams/${effTeamId}/projects`);
55
+ if (!res.ok)
56
+ errors.push(`Failed to list team projects: ${JSON.stringify(res.error)}`);
57
+ else {
58
+ const data = res.data;
59
+ for (const p of data.projects ?? [])
60
+ projects.push({ id: p.id, name: p.name });
61
+ instructions.push('Pass a project_id to list its files.');
62
+ }
63
+ }
64
+ if (effProjectId) {
65
+ const res = await figmaRequest(figmaToken, `/v1/projects/${effProjectId}/files`);
66
+ if (!res.ok)
67
+ errors.push(`Failed to list project files: ${JSON.stringify(res.error)}`);
68
+ else {
69
+ const data = res.data;
70
+ for (const f of data.files ?? [])
71
+ files.push(f);
72
+ instructions.push('Pass a file_key to list its nodes.');
73
+ }
74
+ }
75
+ if (effFileKey) {
76
+ const res = await figmaRequest(figmaToken, `/v1/files/${effFileKey}`, { query: { depth: maxDepth ?? 2 } });
77
+ if (!res.ok)
78
+ errors.push(`Failed to fetch file nodes: ${JSON.stringify(res.error)}`);
79
+ else {
80
+ const doc = res.data.document;
81
+ if (doc)
82
+ collectNodes(doc, '', 0, maxDepth ?? 2, nodes);
83
+ instructions.push('Use node IDs with getFileNodes, detectBackground, or image rendering.');
84
+ }
85
+ }
86
+ if (!figmaUrl && !teamId && !projectId && !fileKey) {
87
+ instructions.push('Provide figmaUrl, teamId, projectId, or fileKey to start discovery.');
88
+ }
89
+ return { extracted_ids: extracted, projects, files, nodes, errors, instructions };
90
+ }
91
+ catch (error) {
92
+ return {
93
+ error: 'Error discovering Figma resources',
94
+ message: error instanceof Error ? error.message : 'Unknown error',
95
+ };
96
+ }
97
+ },
98
+ });
99
+ //# sourceMappingURL=discover-figma-resources.js.map
@@ -0,0 +1,26 @@
1
+ export declare const downloadFigmaImages: import("ai").Tool<{
2
+ images: {
3
+ fileName: string;
4
+ nodeId: string;
5
+ format?: string | undefined;
6
+ }[];
7
+ figmaToken: string;
8
+ fileKey: string;
9
+ scale?: number | undefined;
10
+ svgIncludeId?: boolean | undefined;
11
+ svgOutlineText?: boolean | undefined;
12
+ svgSimplifyStroke?: boolean | undefined;
13
+ }, {
14
+ downloaded_images: Record<string, unknown>[];
15
+ successful_count: number;
16
+ failed_count: number;
17
+ error?: undefined;
18
+ message?: undefined;
19
+ } | {
20
+ error: string;
21
+ message: string;
22
+ downloaded_images?: undefined;
23
+ successful_count?: undefined;
24
+ failed_count?: undefined;
25
+ }>;
26
+ //# sourceMappingURL=download-figma-images.d.ts.map
@@ -0,0 +1,86 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { figmaRequest, figmaTokenField } from './client.js';
5
+ const MIME_BY_FORMAT = { png: 'image/png', jpg: 'image/jpeg', svg: 'image/svg+xml', pdf: 'application/pdf' };
6
+ export const downloadFigmaImages = tool({
7
+ description: 'Renders nodes and downloads the bytes (base64) in PNG/SVG/JPG/PDF. Find node IDs via getFileJson or node-id in URLs. Render URLs expire fast — bytes are fetched immediately.',
8
+ inputSchema: z.object({
9
+ figmaToken: figmaTokenField,
10
+ fileKey: z.string().describe('File key from the file URL'),
11
+ images: z.array(z.object({
12
+ nodeId: z.string().describe("Node ID, e.g. '1:2'"),
13
+ fileName: z.string().describe("Output filename, e.g. 'logo.png'"),
14
+ format: z.string().optional().describe("png (default), svg, jpg, or pdf"),
15
+ })).min(1),
16
+ scale: z.number().optional().describe('PNG/JPG scale 0.01-4 (default 2)'),
17
+ svgIncludeId: z.boolean().optional(),
18
+ svgOutlineText: z.boolean().optional(),
19
+ svgSimplifyStroke: z.boolean().optional(),
20
+ }),
21
+ execute: async ({ figmaToken, fileKey, images, scale, svgIncludeId, svgOutlineText, svgSimplifyStroke }) => {
22
+ try {
23
+ const byFormat = new Map();
24
+ for (const img of images) {
25
+ const fmt = (img.format ?? 'png').toLowerCase();
26
+ const list = byFormat.get(fmt) ?? [];
27
+ list.push(img);
28
+ byFormat.set(fmt, list);
29
+ }
30
+ const downloaded = [];
31
+ for (const [format, group] of byFormat) {
32
+ const render = await figmaRequest(figmaToken, `/v1/files/${fileKey}/images`, {
33
+ query: {
34
+ ids: group.map((g) => g.nodeId).join(','),
35
+ format,
36
+ scale: format === 'svg' || format === 'pdf' ? undefined : (scale ?? 2),
37
+ svg_include_id: svgIncludeId,
38
+ svg_outline_text: svgOutlineText,
39
+ svg_simplify_stroke: svgSimplifyStroke,
40
+ },
41
+ });
42
+ if (!render.ok) {
43
+ for (const g of group) {
44
+ downloaded.push({ node_id: g.nodeId, file_name: g.fileName, success: false, error: JSON.stringify(render.error) });
45
+ }
46
+ continue;
47
+ }
48
+ const urlMap = render.data.images ?? {};
49
+ for (const g of group) {
50
+ const url = urlMap[g.nodeId];
51
+ if (!url) {
52
+ downloaded.push({ node_id: g.nodeId, file_name: g.fileName, success: false, error: 'Render returned null for node' });
53
+ continue;
54
+ }
55
+ try {
56
+ const bytes = await fetch(url).then((r) => {
57
+ if (!r.ok)
58
+ throw new Error(`HTTP ${r.status}`);
59
+ return r.arrayBuffer();
60
+ });
61
+ downloaded.push({
62
+ node_id: g.nodeId,
63
+ file_name: g.fileName,
64
+ success: true,
65
+ mimetype: MIME_BY_FORMAT[format] ?? 'application/octet-stream',
66
+ content_base64: Buffer.from(bytes).toString('base64'),
67
+ source_url: url,
68
+ });
69
+ }
70
+ catch (fetchError) {
71
+ downloaded.push({ node_id: g.nodeId, file_name: g.fileName, success: false, error: fetchError instanceof Error ? fetchError.message : 'Download failed', source_url: url });
72
+ }
73
+ }
74
+ }
75
+ const successfulCount = downloaded.filter((d) => d.success).length;
76
+ return { downloaded_images: downloaded, successful_count: successfulCount, failed_count: downloaded.length - successfulCount };
77
+ }
78
+ catch (error) {
79
+ return {
80
+ error: 'Error downloading Figma images',
81
+ message: error instanceof Error ? error.message : 'Unknown error',
82
+ };
83
+ }
84
+ },
85
+ });
86
+ //# sourceMappingURL=download-figma-images.js.map
@@ -0,0 +1,46 @@
1
+ export declare const extractDesignTokens: import("ai").Tool<{
2
+ figmaToken: string;
3
+ fileKey: string;
4
+ includeVariables?: boolean | undefined;
5
+ includeLocalStyles?: boolean | undefined;
6
+ extractFromNodes?: boolean | undefined;
7
+ }, {
8
+ error: string;
9
+ details: any;
10
+ colors?: undefined;
11
+ typography?: undefined;
12
+ spacing?: undefined;
13
+ border_radius?: undefined;
14
+ shadows?: undefined;
15
+ total_tokens?: undefined;
16
+ sources?: undefined;
17
+ message?: undefined;
18
+ } | {
19
+ colors: {
20
+ name: string;
21
+ value: string;
22
+ source: string;
23
+ usage_count: number;
24
+ }[];
25
+ typography: Record<string, unknown>[];
26
+ spacing: Record<string, unknown>[];
27
+ border_radius: Record<string, unknown>[];
28
+ shadows: Record<string, unknown>[];
29
+ total_tokens: number;
30
+ sources: Record<string, number>;
31
+ error?: undefined;
32
+ details?: undefined;
33
+ message?: undefined;
34
+ } | {
35
+ error: string;
36
+ message: string;
37
+ details?: undefined;
38
+ colors?: undefined;
39
+ typography?: undefined;
40
+ spacing?: undefined;
41
+ border_radius?: undefined;
42
+ shadows?: undefined;
43
+ total_tokens?: undefined;
44
+ sources?: undefined;
45
+ }>;
46
+ //# sourceMappingURL=extract-design-tokens.d.ts.map
@@ -0,0 +1,146 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { figmaRequest, figmaTokenField } from './client.js';
5
+ function rgbaToHex(color) {
6
+ const to255 = (v) => Math.round(Number(v ?? 0) * 255);
7
+ const hex = [to255(color.r), to255(color.g), to255(color.b)].map((v) => v.toString(16).padStart(2, '0')).join('');
8
+ return `#${hex}`;
9
+ }
10
+ function walk(node, visit) {
11
+ visit(node);
12
+ for (const child of (node.children ?? []))
13
+ walk(child, visit);
14
+ }
15
+ export const extractDesignTokens = tool({
16
+ description: 'Extracts colors, typography, spacing, radii, and shadows from styles, variables (optional), and node properties. Only style/variable-backed values are captured. Feed output into designTokensToTailwind.',
17
+ inputSchema: z.object({
18
+ figmaToken: figmaTokenField,
19
+ fileKey: z.string().describe('File key from the file URL'),
20
+ includeVariables: z.boolean().optional().describe('Include variables (use getLocalVariables for full mode/alias coverage)'),
21
+ includeLocalStyles: z.boolean().optional().describe('Include local styles (default true)'),
22
+ extractFromNodes: z.boolean().optional().describe('Extract from node properties (default true)'),
23
+ }),
24
+ execute: async ({ figmaToken, fileKey, includeVariables, includeLocalStyles, extractFromNodes }) => {
25
+ try {
26
+ const colors = new Map();
27
+ const typography = new Map();
28
+ const spacing = new Map();
29
+ const borderRadius = new Map();
30
+ const shadows = new Map();
31
+ const sources = { style: 0, variable: 0, extracted: 0 };
32
+ const bump = (map, key) => {
33
+ const entry = map.get(key);
34
+ if (entry)
35
+ entry.usage_count += 1;
36
+ };
37
+ if (includeLocalStyles !== false) {
38
+ const res = await figmaRequest(figmaToken, `/v1/files/${fileKey}/styles`);
39
+ if (res.ok) {
40
+ const styles = (res.data.meta?.styles ?? []);
41
+ for (const s of styles) {
42
+ sources.style += 1;
43
+ const name = String(s.name ?? 'style');
44
+ if (s.style_type === 'TEXT') {
45
+ typography.set(name, { name, source: 'style', usage_count: 0 });
46
+ }
47
+ else {
48
+ colors.set(name, { name, value: '#000000', source: 'style', usage_count: 0 });
49
+ }
50
+ }
51
+ }
52
+ }
53
+ if (includeVariables === true) {
54
+ const res = await figmaRequest(figmaToken, `/v1/files/${fileKey}/variables/local`);
55
+ if (res.ok) {
56
+ const meta = res.data.meta;
57
+ for (const v of Object.values(meta?.variables ?? {})) {
58
+ sources.variable += 1;
59
+ const name = String(v.name ?? 'variable');
60
+ if (v.resolvedType === 'COLOR') {
61
+ const modes = (v.valuesByMode ?? {});
62
+ const first = Object.values(modes)[0];
63
+ colors.set(name, { name, value: first && typeof first === 'object' ? rgbaToHex(first) : '#000000', source: 'variable', usage_count: 0 });
64
+ }
65
+ }
66
+ }
67
+ }
68
+ if (extractFromNodes !== false) {
69
+ const res = await figmaRequest(figmaToken, `/v1/files/${fileKey}`, { query: { depth: 4 } });
70
+ if (!res.ok)
71
+ return { error: 'Failed to fetch file for token extraction', details: res.error };
72
+ const doc = res.data.document;
73
+ if (doc) {
74
+ walk(doc, (n) => {
75
+ for (const fill of (n.fills ?? [])) {
76
+ if (fill.type === 'SOLID' && fill.color && fill.visible !== false) {
77
+ const hex = rgbaToHex(fill.color);
78
+ const existing = colors.get(hex);
79
+ if (existing)
80
+ bump(colors, hex);
81
+ else {
82
+ colors.set(hex, { name: hex, value: hex, source: 'extracted', usage_count: 1 });
83
+ sources.extracted += 1;
84
+ }
85
+ }
86
+ }
87
+ if (typeof n.cornerRadius === 'number' && n.cornerRadius > 0) {
88
+ const key = `radius-${n.cornerRadius}`;
89
+ const existing = borderRadius.get(key);
90
+ if (existing)
91
+ existing.usage_count += 1;
92
+ else {
93
+ borderRadius.set(key, { name: key, value: n.cornerRadius, source: 'extracted', usage_count: 1 });
94
+ sources.extracted += 1;
95
+ }
96
+ }
97
+ const style = n.style;
98
+ if (n.type === 'TEXT' && style?.fontFamily) {
99
+ const key = `${style.fontFamily}-${style.fontSize ?? ''}-${style.fontWeight ?? ''}`;
100
+ const existing = typography.get(key);
101
+ if (existing)
102
+ existing.usage_count += 1;
103
+ else {
104
+ typography.set(key, { name: String(style.fontFamily), source: 'extracted', font_size: style.fontSize, font_family: style.fontFamily, font_weight: style.fontWeight, line_height: style.lineHeight, letter_spacing: style.letterSpacing, usage_count: 1 });
105
+ sources.extracted += 1;
106
+ }
107
+ }
108
+ for (const effect of (n.effects ?? [])) {
109
+ if ((effect.type === 'DROP_SHADOW' || effect.type === 'INNER_SHADOW') && effect.visible !== false) {
110
+ const key = `shadow-${effect.offset?.x ?? 0}-${effect.offset?.y ?? 0}-${effect.radius ?? 0}`;
111
+ const existing = shadows.get(key);
112
+ if (existing)
113
+ existing.usage_count += 1;
114
+ else {
115
+ shadows.set(key, { name: key, source: 'extracted', shadows: [{ type: effect.type, color: effect.color, offset: effect.offset, radius: effect.radius, visible: true }], usage_count: 1 });
116
+ sources.extracted += 1;
117
+ }
118
+ }
119
+ }
120
+ });
121
+ }
122
+ }
123
+ const colorList = [...colors.values()];
124
+ const typoList = [...typography.values()];
125
+ const spacingList = [...spacing.values()];
126
+ const radiusList = [...borderRadius.values()];
127
+ const shadowList = [...shadows.values()];
128
+ return {
129
+ colors: colorList,
130
+ typography: typoList,
131
+ spacing: spacingList,
132
+ border_radius: radiusList,
133
+ shadows: shadowList,
134
+ total_tokens: colorList.length + typoList.length + spacingList.length + radiusList.length + shadowList.length,
135
+ sources,
136
+ };
137
+ }
138
+ catch (error) {
139
+ return {
140
+ error: 'Error extracting design tokens',
141
+ message: error instanceof Error ? error.message : 'Unknown error',
142
+ };
143
+ }
144
+ },
145
+ });
146
+ //# sourceMappingURL=extract-design-tokens.js.map
@@ -0,0 +1,38 @@
1
+ export declare const extractPrototypeInteractions: import("ai").Tool<{
2
+ figmaToken: string;
3
+ fileKey: string;
4
+ analyzeComponents?: boolean | undefined;
5
+ includeAnimations?: boolean | undefined;
6
+ }, {
7
+ error: string;
8
+ details: any;
9
+ interactions?: undefined;
10
+ component_states?: undefined;
11
+ prototype_flows?: undefined;
12
+ total_interactions?: undefined;
13
+ animation_types_used?: undefined;
14
+ message?: undefined;
15
+ } | {
16
+ interactions: Record<string, unknown>[];
17
+ component_states: Record<string, unknown>[];
18
+ prototype_flows: {
19
+ name: string;
20
+ starting_node_id: string;
21
+ nodes_in_flow: string[];
22
+ }[];
23
+ total_interactions: number;
24
+ animation_types_used: string[];
25
+ error?: undefined;
26
+ details?: undefined;
27
+ message?: undefined;
28
+ } | {
29
+ error: string;
30
+ message: string;
31
+ details?: undefined;
32
+ interactions?: undefined;
33
+ component_states?: undefined;
34
+ prototype_flows?: undefined;
35
+ total_interactions?: undefined;
36
+ animation_types_used?: undefined;
37
+ }>;
38
+ //# sourceMappingURL=extract-prototype-interactions.d.ts.map
@@ -0,0 +1,80 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { figmaRequest, figmaTokenField } from './client.js';
5
+ function walk(node, visit) {
6
+ visit(node);
7
+ for (const child of (node.children ?? []))
8
+ walk(child, visit);
9
+ }
10
+ export const extractPrototypeInteractions = tool({
11
+ description: 'Extracts prototype flows, node interactions (triggers, actions, transitions), and component variant states from a file.',
12
+ inputSchema: z.object({
13
+ figmaToken: figmaTokenField,
14
+ fileKey: z.string().describe('File key from the file URL'),
15
+ analyzeComponents: z.boolean().optional().describe('Extract component variant states (default true)'),
16
+ includeAnimations: z.boolean().optional().describe('Include transition animation data (default true)'),
17
+ }),
18
+ execute: async ({ figmaToken, fileKey, analyzeComponents, includeAnimations }) => {
19
+ try {
20
+ const withAnims = includeAnimations !== false;
21
+ const result = await figmaRequest(figmaToken, `/v1/files/${fileKey}`, { query: { depth: 6 } });
22
+ if (!result.ok)
23
+ return { error: 'Failed to fetch file for prototype extraction', details: result.error };
24
+ const data = result.data;
25
+ const interactions = [];
26
+ const animationTypes = new Set();
27
+ if (data.document) {
28
+ walk(data.document, (n) => {
29
+ const nodeInteractions = (n.interactions ?? n.prototypeInteractions);
30
+ if (!Array.isArray(nodeInteractions) || nodeInteractions.length === 0)
31
+ return;
32
+ const actions = nodeInteractions.flatMap((i) => (i.actions ?? []).map((a) => {
33
+ const transition = (a.transition ?? a).transition;
34
+ const t = (transition ?? a);
35
+ if (withAnims && typeof t.type === 'string')
36
+ animationTypes.add(t.type);
37
+ return {
38
+ type: a.type,
39
+ navigation: a.navigation,
40
+ destination_id: a.destinationId,
41
+ url: a.url,
42
+ transition: withAnims ? (transition ?? undefined) : undefined,
43
+ };
44
+ }));
45
+ interactions.push({
46
+ node_id: n.id,
47
+ node_name: n.name,
48
+ trigger: nodeInteractions.map((i) => i.trigger),
49
+ actions,
50
+ });
51
+ });
52
+ }
53
+ const componentStates = [];
54
+ if (analyzeComponents !== false) {
55
+ for (const [id, set] of Object.entries(data.componentSets ?? {})) {
56
+ componentStates.push({ component_id: id, name: set.name, variants: [], default_variant: undefined });
57
+ }
58
+ }
59
+ const prototypeFlows = (data.prototypeStartingPoints ?? []).map((p) => ({
60
+ name: p.name ?? '',
61
+ starting_node_id: p.nodeId ?? '',
62
+ nodes_in_flow: [],
63
+ }));
64
+ return {
65
+ interactions,
66
+ component_states: componentStates,
67
+ prototype_flows: prototypeFlows,
68
+ total_interactions: interactions.length,
69
+ animation_types_used: [...animationTypes],
70
+ };
71
+ }
72
+ catch (error) {
73
+ return {
74
+ error: 'Error extracting prototype interactions',
75
+ message: error instanceof Error ? error.message : 'Unknown error',
76
+ };
77
+ }
78
+ },
79
+ });
80
+ //# sourceMappingURL=extract-prototype-interactions.js.map
@@ -0,0 +1,5 @@
1
+ export declare const getAWebhook: import("ai").Tool<{
2
+ figmaToken: string;
3
+ webhookId: string;
4
+ }, any>;
5
+ //# sourceMappingURL=get-a-webhook.d.ts.map
@@ -0,0 +1,26 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { figmaRequest, figmaTokenField } from './client.js';
5
+ export const getAWebhook = tool({
6
+ description: 'Retrieves a webhook by ID, if it exists and is accessible.',
7
+ inputSchema: z.object({
8
+ figmaToken: figmaTokenField,
9
+ webhookId: z.string().describe('Webhook ID'),
10
+ }),
11
+ execute: async ({ figmaToken, webhookId }) => {
12
+ try {
13
+ const result = await figmaRequest(figmaToken, `/v2/webhooks/${webhookId}`);
14
+ if (!result.ok)
15
+ return { error: 'Failed to get webhook', details: result.error };
16
+ return result.data;
17
+ }
18
+ catch (error) {
19
+ return {
20
+ error: 'Error getting webhook',
21
+ message: error instanceof Error ? error.message : 'Unknown error',
22
+ };
23
+ }
24
+ },
25
+ });
26
+ //# sourceMappingURL=get-a-webhook.js.map
@@ -0,0 +1,10 @@
1
+ export declare const getActivityLogs: import("ai").Tool<{
2
+ figmaToken: string;
3
+ limit?: number | undefined;
4
+ order?: "asc" | "desc" | undefined;
5
+ events?: string | undefined;
6
+ startTime?: number | undefined;
7
+ endTime?: number | undefined;
8
+ cursor?: string | undefined;
9
+ }, any>;
10
+ //# sourceMappingURL=get-activity-logs.d.ts.map
@@ -0,0 +1,33 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { figmaRequest, figmaTokenField } from './client.js';
5
+ export const getActivityLogs = tool({
6
+ description: 'Retrieves org activity log events with type, time-range, and pagination filters. Defaults: last year to now, 1000 per page, ascending.',
7
+ inputSchema: z.object({
8
+ figmaToken: figmaTokenField,
9
+ events: z.string().optional().describe("Comma-separated event types, e.g. 'file_viewed,file_commented'"),
10
+ startTime: z.number().optional().describe('Unix timestamp lower bound (default one year ago)'),
11
+ endTime: z.number().optional().describe('Unix timestamp upper bound (default now)'),
12
+ limit: z.number().optional().describe('Events per page (default 1000)'),
13
+ order: z.enum(['asc', 'desc']).optional().describe('Sort by timestamp (default asc)'),
14
+ cursor: z.string().optional().describe('Pagination cursor from a previous response'),
15
+ }),
16
+ execute: async ({ figmaToken, events, startTime, endTime, limit, order, cursor }) => {
17
+ try {
18
+ const result = await figmaRequest(figmaToken, '/v1/activity_logs', {
19
+ query: { events, start_time: startTime, end_time: endTime, limit, order, cursor },
20
+ });
21
+ if (!result.ok)
22
+ return { error: 'Failed to get activity logs', details: result.error };
23
+ return result.data;
24
+ }
25
+ catch (error) {
26
+ return {
27
+ error: 'Error getting activity logs',
28
+ message: error instanceof Error ? error.message : 'Unknown error',
29
+ };
30
+ }
31
+ },
32
+ });
33
+ //# sourceMappingURL=get-activity-logs.js.map
@@ -0,0 +1,6 @@
1
+ export declare const getCommentsInAFile: import("ai").Tool<{
2
+ figmaToken: string;
3
+ fileKey: string;
4
+ asMd?: boolean | undefined;
5
+ }, any>;
6
+ //# sourceMappingURL=get-comments-in-a-file.d.ts.map
@@ -0,0 +1,29 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { figmaRequest, figmaTokenField } from './client.js';
5
+ export const getCommentsInAFile = tool({
6
+ description: 'Retrieves all comments (content, author, position, reactions) from a file or branch. Set asMd for Markdown content.',
7
+ inputSchema: z.object({
8
+ figmaToken: figmaTokenField,
9
+ fileKey: z.string().describe('File or branch key from the file URL'),
10
+ asMd: z.boolean().optional().describe('Return content as Markdown (default rich text)'),
11
+ }),
12
+ execute: async ({ figmaToken, fileKey, asMd }) => {
13
+ try {
14
+ const result = await figmaRequest(figmaToken, `/v1/files/${fileKey}/comments`, {
15
+ query: { as_md: asMd },
16
+ });
17
+ if (!result.ok)
18
+ return { error: 'Failed to get comments', details: result.error };
19
+ return result.data;
20
+ }
21
+ catch (error) {
22
+ return {
23
+ error: 'Error getting comments',
24
+ message: error instanceof Error ? error.message : 'Unknown error',
25
+ };
26
+ }
27
+ },
28
+ });
29
+ //# sourceMappingURL=get-comments-in-a-file.js.map
@@ -0,0 +1,5 @@
1
+ export declare const getComponentSet: import("ai").Tool<{
2
+ key: string;
3
+ figmaToken: string;
4
+ }, any>;
5
+ //# sourceMappingURL=get-component-set.d.ts.map