@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.
- package/README.md +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +17 -1
- package/dist/toolkits/cloudflare/icon.d.ts +5 -0
- package/dist/toolkits/cloudflare/icon.js +14 -0
- package/dist/toolkits/cloudflare/manifest.d.ts +3 -0
- package/dist/toolkits/cloudflare/manifest.js +36 -0
- package/dist/toolkits/cloudflare/tools/client.d.ts +19 -0
- package/dist/toolkits/cloudflare/tools/client.js +57 -0
- package/dist/toolkits/cloudflare/tools/create-dns-record.d.ts +14 -0
- package/dist/toolkits/cloudflare/tools/create-dns-record.js +32 -0
- package/dist/toolkits/cloudflare/tools/create-list.d.ts +8 -0
- package/dist/toolkits/cloudflare/tools/create-list.js +28 -0
- package/dist/toolkits/cloudflare/tools/create-zone.d.ts +8 -0
- package/dist/toolkits/cloudflare/tools/create-zone.js +37 -0
- package/dist/toolkits/cloudflare/tools/delete-dns-record.d.ts +6 -0
- package/dist/toolkits/cloudflare/tools/delete-dns-record.js +24 -0
- package/dist/toolkits/cloudflare/tools/delete-list.d.ts +6 -0
- package/dist/toolkits/cloudflare/tools/delete-list.js +24 -0
- package/dist/toolkits/cloudflare/tools/delete-zone.d.ts +5 -0
- package/dist/toolkits/cloudflare/tools/delete-zone.js +23 -0
- package/dist/toolkits/cloudflare/tools/get-bot-management-settings.d.ts +5 -0
- package/dist/toolkits/cloudflare/tools/get-bot-management-settings.js +23 -0
- package/dist/toolkits/cloudflare/tools/index.d.ts +277 -0
- package/dist/toolkits/cloudflare/tools/index.js +165 -0
- package/dist/toolkits/cloudflare/tools/list-account-members.d.ts +10 -0
- package/dist/toolkits/cloudflare/tools/list-account-members.js +33 -0
- package/dist/toolkits/cloudflare/tools/list-accounts.d.ts +8 -0
- package/dist/toolkits/cloudflare/tools/list-accounts.js +28 -0
- package/dist/toolkits/cloudflare/tools/list-dns-records.d.ts +15 -0
- package/dist/toolkits/cloudflare/tools/list-dns-records.js +47 -0
- package/dist/toolkits/cloudflare/tools/list-firewall-rules.d.ts +10 -0
- package/dist/toolkits/cloudflare/tools/list-firewall-rules.js +30 -0
- package/dist/toolkits/cloudflare/tools/list-monitors.d.ts +9 -0
- package/dist/toolkits/cloudflare/tools/list-monitors.js +29 -0
- package/dist/toolkits/cloudflare/tools/list-pools.d.ts +8 -0
- package/dist/toolkits/cloudflare/tools/list-pools.js +28 -0
- package/dist/toolkits/cloudflare/tools/list-tunnels.d.ts +9 -0
- package/dist/toolkits/cloudflare/tools/list-tunnels.js +29 -0
- package/dist/toolkits/cloudflare/tools/list-waf-lists.d.ts +5 -0
- package/dist/toolkits/cloudflare/tools/list-waf-lists.js +23 -0
- package/dist/toolkits/cloudflare/tools/list-zones.d.ts +13 -0
- package/dist/toolkits/cloudflare/tools/list-zones.js +38 -0
- package/dist/toolkits/cloudflare/tools/update-dns-record.d.ts +13 -0
- package/dist/toolkits/cloudflare/tools/update-dns-record.js +39 -0
- package/dist/toolkits/cloudflare/tools/update-list.d.ts +7 -0
- package/dist/toolkits/cloudflare/tools/update-list.js +27 -0
- package/dist/toolkits/cloudflare/tools/update-tunnel-configuration.d.ts +7 -0
- package/dist/toolkits/cloudflare/tools/update-tunnel-configuration.js +28 -0
- package/dist/toolkits/cloudflare/tools/update-zone.d.ts +8 -0
- package/dist/toolkits/cloudflare/tools/update-zone.js +32 -0
- package/dist/toolkits/figma/icon.d.ts +5 -0
- package/dist/toolkits/figma/icon.js +6 -0
- package/dist/toolkits/figma/manifest.d.ts +3 -0
- package/dist/toolkits/figma/manifest.js +58 -0
- package/dist/toolkits/figma/tools/add-comment-to-a-file.d.ts +8 -0
- package/dist/toolkits/figma/tools/add-comment-to-a-file.js +43 -0
- package/dist/toolkits/figma/tools/add-reaction-to-a-comment.d.ts +7 -0
- package/dist/toolkits/figma/tools/add-reaction-to-a-comment.js +31 -0
- package/dist/toolkits/figma/tools/client.d.ts +20 -0
- package/dist/toolkits/figma/tools/client.js +36 -0
- package/dist/toolkits/figma/tools/create-a-webhook.d.ts +12 -0
- package/dist/toolkits/figma/tools/create-a-webhook.js +45 -0
- package/dist/toolkits/figma/tools/create-dev-resources.d.ts +28 -0
- package/dist/toolkits/figma/tools/create-dev-resources.js +53 -0
- package/dist/toolkits/figma/tools/create-modify-delete-variables.d.ts +9 -0
- package/dist/toolkits/figma/tools/create-modify-delete-variables.js +43 -0
- package/dist/toolkits/figma/tools/delete-a-comment.d.ts +6 -0
- package/dist/toolkits/figma/tools/delete-a-comment.js +29 -0
- package/dist/toolkits/figma/tools/delete-a-reaction.d.ts +7 -0
- package/dist/toolkits/figma/tools/delete-a-reaction.js +31 -0
- package/dist/toolkits/figma/tools/delete-a-webhook.d.ts +5 -0
- package/dist/toolkits/figma/tools/delete-a-webhook.js +28 -0
- package/dist/toolkits/figma/tools/delete-dev-resource.d.ts +6 -0
- package/dist/toolkits/figma/tools/delete-dev-resource.js +29 -0
- package/dist/toolkits/figma/tools/design-tokens-to-tailwind.d.ts +26 -0
- package/dist/toolkits/figma/tools/design-tokens-to-tailwind.js +119 -0
- package/dist/toolkits/figma/tools/detect-background.d.ts +27 -0
- package/dist/toolkits/figma/tools/detect-background.js +124 -0
- package/dist/toolkits/figma/tools/discover-figma-resources.d.ts +38 -0
- package/dist/toolkits/figma/tools/discover-figma-resources.js +99 -0
- package/dist/toolkits/figma/tools/download-figma-images.d.ts +26 -0
- package/dist/toolkits/figma/tools/download-figma-images.js +86 -0
- package/dist/toolkits/figma/tools/extract-design-tokens.d.ts +46 -0
- package/dist/toolkits/figma/tools/extract-design-tokens.js +146 -0
- package/dist/toolkits/figma/tools/extract-prototype-interactions.d.ts +38 -0
- package/dist/toolkits/figma/tools/extract-prototype-interactions.js +80 -0
- package/dist/toolkits/figma/tools/get-a-webhook.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-a-webhook.js +26 -0
- package/dist/toolkits/figma/tools/get-activity-logs.d.ts +10 -0
- package/dist/toolkits/figma/tools/get-activity-logs.js +33 -0
- package/dist/toolkits/figma/tools/get-comments-in-a-file.d.ts +6 -0
- package/dist/toolkits/figma/tools/get-comments-in-a-file.js +29 -0
- package/dist/toolkits/figma/tools/get-component-set.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-component-set.js +26 -0
- package/dist/toolkits/figma/tools/get-component2.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-component2.js +26 -0
- package/dist/toolkits/figma/tools/get-current-user.d.ts +4 -0
- package/dist/toolkits/figma/tools/get-current-user.js +25 -0
- package/dist/toolkits/figma/tools/get-dev-resources.d.ts +6 -0
- package/dist/toolkits/figma/tools/get-dev-resources.js +29 -0
- package/dist/toolkits/figma/tools/get-file-component-sets.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-file-component-sets.js +26 -0
- package/dist/toolkits/figma/tools/get-file-components.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-file-components.js +26 -0
- package/dist/toolkits/figma/tools/get-file-json.d.ts +12 -0
- package/dist/toolkits/figma/tools/get-file-json.js +49 -0
- package/dist/toolkits/figma/tools/get-file-metadata.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-file-metadata.js +26 -0
- package/dist/toolkits/figma/tools/get-file-nodes.d.ts +10 -0
- package/dist/toolkits/figma/tools/get-file-nodes.js +34 -0
- package/dist/toolkits/figma/tools/get-file-styles.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-file-styles.js +26 -0
- package/dist/toolkits/figma/tools/get-files-in-a-project.d.ts +6 -0
- package/dist/toolkits/figma/tools/get-files-in-a-project.js +29 -0
- package/dist/toolkits/figma/tools/get-image-fills.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-image-fills.js +26 -0
- package/dist/toolkits/figma/tools/get-library-analytics-component-action-data.d.ts +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-component-action-data.js +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-component-usage-data.d.ts +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-component-usage-data.js +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-style-action-data.d.ts +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-style-action-data.js +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-style-usage-data.d.ts +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-style-usage-data.js +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-variable-action-data.d.ts +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-variable-action-data.js +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-variable-usage-data.d.ts +4 -0
- package/dist/toolkits/figma/tools/get-library-analytics-variable-usage-data.js +4 -0
- package/dist/toolkits/figma/tools/get-local-variables.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-local-variables.js +26 -0
- package/dist/toolkits/figma/tools/get-payments.d.ts +9 -0
- package/dist/toolkits/figma/tools/get-payments.js +38 -0
- package/dist/toolkits/figma/tools/get-projects-in-a-team.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-projects-in-a-team.js +26 -0
- package/dist/toolkits/figma/tools/get-published-variables.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-published-variables.js +26 -0
- package/dist/toolkits/figma/tools/get-reactions-for-a-comment.d.ts +7 -0
- package/dist/toolkits/figma/tools/get-reactions-for-a-comment.js +30 -0
- package/dist/toolkits/figma/tools/get-scim-service-provider-config.d.ts +4 -0
- package/dist/toolkits/figma/tools/get-scim-service-provider-config.js +27 -0
- package/dist/toolkits/figma/tools/get-style.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-style.js +26 -0
- package/dist/toolkits/figma/tools/get-team-component-sets.d.ts +8 -0
- package/dist/toolkits/figma/tools/get-team-component-sets.js +33 -0
- package/dist/toolkits/figma/tools/get-team-components.d.ts +8 -0
- package/dist/toolkits/figma/tools/get-team-components.js +33 -0
- package/dist/toolkits/figma/tools/get-team-styles.d.ts +8 -0
- package/dist/toolkits/figma/tools/get-team-styles.js +33 -0
- package/dist/toolkits/figma/tools/get-team-webhooks.d.ts +6 -0
- package/dist/toolkits/figma/tools/get-team-webhooks.js +29 -0
- package/dist/toolkits/figma/tools/get-versions-of-a-file.d.ts +8 -0
- package/dist/toolkits/figma/tools/get-versions-of-a-file.js +31 -0
- package/dist/toolkits/figma/tools/get-webhook-requests.d.ts +5 -0
- package/dist/toolkits/figma/tools/get-webhook-requests.js +26 -0
- package/dist/toolkits/figma/tools/index.d.ts +629 -0
- package/dist/toolkits/figma/tools/index.js +110 -0
- package/dist/toolkits/figma/tools/library-analytics-shared.d.ts +4 -0
- package/dist/toolkits/figma/tools/library-analytics-shared.js +40 -0
- package/dist/toolkits/figma/tools/render-images-of-file-nodes.d.ts +15 -0
- package/dist/toolkits/figma/tools/render-images-of-file-nodes.js +49 -0
- package/dist/toolkits/figma/tools/update-a-webhook.d.ts +10 -0
- package/dist/toolkits/figma/tools/update-a-webhook.js +45 -0
- package/dist/toolkits/figma/tools/update-dev-resources.d.ts +10 -0
- package/dist/toolkits/figma/tools/update-dev-resources.js +34 -0
- package/dist/toolkits/google-ads/icon.d.ts +5 -0
- package/dist/toolkits/google-ads/icon.js +18 -0
- package/dist/toolkits/google-ads/manifest.d.ts +3 -0
- package/dist/toolkits/google-ads/manifest.js +41 -0
- package/dist/toolkits/google-ads/tools/add-or-remove-to-customer-list.d.ts +30 -0
- package/dist/toolkits/google-ads/tools/add-or-remove-to-customer-list.js +69 -0
- package/dist/toolkits/google-ads/tools/client.d.ts +62 -0
- package/dist/toolkits/google-ads/tools/client.js +102 -0
- package/dist/toolkits/google-ads/tools/create-callout-asset.d.ts +23 -0
- package/dist/toolkits/google-ads/tools/create-callout-asset.js +62 -0
- package/dist/toolkits/google-ads/tools/create-customer-list.d.ts +9 -0
- package/dist/toolkits/google-ads/tools/create-customer-list.js +42 -0
- package/dist/toolkits/google-ads/tools/get-campaign-by-id.d.ts +32 -0
- package/dist/toolkits/google-ads/tools/get-campaign-by-id.js +38 -0
- package/dist/toolkits/google-ads/tools/get-campaign-by-name.d.ts +32 -0
- package/dist/toolkits/google-ads/tools/get-campaign-by-name.js +37 -0
- package/dist/toolkits/google-ads/tools/get-conversion-action-tag-snippets.d.ts +28 -0
- package/dist/toolkits/google-ads/tools/get-conversion-action-tag-snippets.js +33 -0
- package/dist/toolkits/google-ads/tools/get-customer-lists.d.ts +32 -0
- package/dist/toolkits/google-ads/tools/get-customer-lists.js +41 -0
- package/dist/toolkits/google-ads/tools/get-rmf-report.d.ts +60 -0
- package/dist/toolkits/google-ads/tools/get-rmf-report.js +97 -0
- package/dist/toolkits/google-ads/tools/index.d.ts +520 -0
- package/dist/toolkits/google-ads/tools/index.js +230 -0
- package/dist/toolkits/google-ads/tools/list-accessible-customers.d.ts +5 -0
- package/dist/toolkits/google-ads/tools/list-accessible-customers.js +26 -0
- package/dist/toolkits/google-ads/tools/list-sub-accounts.d.ts +51 -0
- package/dist/toolkits/google-ads/tools/list-sub-accounts.js +55 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-group-ads.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-group-ads.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-group-assets.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-group-assets.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-group-bid-modifiers.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-group-bid-modifiers.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-group-criteria.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-group-criteria.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-groups.d.ts +10 -0
- package/dist/toolkits/google-ads/tools/mutate-ad-groups.js +38 -0
- package/dist/toolkits/google-ads/tools/mutate-assets.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-assets.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-bidding-strategies.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-bidding-strategies.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-campaign-assets.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-campaign-assets.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-campaign-budgets.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-campaign-budgets.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-campaign-criteria.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-campaign-criteria.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-campaign-labels.d.ts +10 -0
- package/dist/toolkits/google-ads/tools/mutate-campaign-labels.js +38 -0
- package/dist/toolkits/google-ads/tools/mutate-campaigns-v2.d.ts +17 -0
- package/dist/toolkits/google-ads/tools/mutate-campaigns-v2.js +58 -0
- package/dist/toolkits/google-ads/tools/mutate-campaigns.d.ts +16 -0
- package/dist/toolkits/google-ads/tools/mutate-campaigns.js +53 -0
- package/dist/toolkits/google-ads/tools/mutate-conversion-actions.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-conversion-actions.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-customer-assets.d.ts +17 -0
- package/dist/toolkits/google-ads/tools/mutate-customer-assets.js +51 -0
- package/dist/toolkits/google-ads/tools/mutate-labels.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-labels.js +40 -0
- package/dist/toolkits/google-ads/tools/mutate-portfolio-bidding-strategies.d.ts +11 -0
- package/dist/toolkits/google-ads/tools/mutate-portfolio-bidding-strategies.js +41 -0
- package/dist/toolkits/google-ads/tools/search-stream-gaql.d.ts +37 -0
- package/dist/toolkits/google-ads/tools/search-stream-gaql.js +41 -0
- package/dist/toolkits/google-classroom/icon.d.ts +5 -0
- package/dist/toolkits/google-classroom/icon.js +42 -0
- package/dist/toolkits/google-classroom/manifest.d.ts +3 -0
- package/dist/toolkits/google-classroom/manifest.js +67 -0
- package/dist/toolkits/google-classroom/tools/aliases.d.ts +17 -0
- package/dist/toolkits/google-classroom/tools/aliases.js +70 -0
- package/dist/toolkits/google-classroom/tools/announcement-addons.d.ts +27 -0
- package/dist/toolkits/google-classroom/tools/announcement-addons.js +87 -0
- package/dist/toolkits/google-classroom/tools/announcements.d.ts +54 -0
- package/dist/toolkits/google-classroom/tools/announcements.js +158 -0
- package/dist/toolkits/google-classroom/tools/client.d.ts +18 -0
- package/dist/toolkits/google-classroom/tools/client.js +41 -0
- package/dist/toolkits/google-classroom/tools/courses.d.ts +60 -0
- package/dist/toolkits/google-classroom/tools/courses.js +189 -0
- package/dist/toolkits/google-classroom/tools/coursework-addons.d.ts +25 -0
- package/dist/toolkits/google-classroom/tools/coursework-addons.js +85 -0
- package/dist/toolkits/google-classroom/tools/coursework.d.ts +113 -0
- package/dist/toolkits/google-classroom/tools/coursework.js +248 -0
- package/dist/toolkits/google-classroom/tools/index.d.ts +608 -0
- package/dist/toolkits/google-classroom/tools/index.js +81 -0
- package/dist/toolkits/google-classroom/tools/invitations.d.ts +22 -0
- package/dist/toolkits/google-classroom/tools/invitations.js +89 -0
- package/dist/toolkits/google-classroom/tools/materials-addons.d.ts +13 -0
- package/dist/toolkits/google-classroom/tools/materials-addons.js +45 -0
- package/dist/toolkits/google-classroom/tools/materials.d.ts +44 -0
- package/dist/toolkits/google-classroom/tools/materials.js +132 -0
- package/dist/toolkits/google-classroom/tools/misc.d.ts +20 -0
- package/dist/toolkits/google-classroom/tools/misc.js +51 -0
- package/dist/toolkits/google-classroom/tools/posts-addons.d.ts +17 -0
- package/dist/toolkits/google-classroom/tools/posts-addons.js +49 -0
- package/dist/toolkits/google-classroom/tools/roster.d.ts +48 -0
- package/dist/toolkits/google-classroom/tools/roster.js +180 -0
- package/dist/toolkits/google-classroom/tools/topics.d.ts +29 -0
- package/dist/toolkits/google-classroom/tools/topics.js +117 -0
- package/dist/toolkits/google-tasks/icon.d.ts +5 -0
- package/dist/toolkits/google-tasks/icon.js +6 -0
- package/dist/toolkits/google-tasks/manifest.d.ts +3 -0
- package/dist/toolkits/google-tasks/manifest.js +40 -0
- package/dist/toolkits/google-tasks/tools/batch-execute.d.ts +34 -0
- package/dist/toolkits/google-tasks/tools/batch-execute.js +95 -0
- package/dist/toolkits/google-tasks/tools/clear-tasks.d.ts +5 -0
- package/dist/toolkits/google-tasks/tools/clear-tasks.js +29 -0
- package/dist/toolkits/google-tasks/tools/create-task-list.d.ts +5 -0
- package/dist/toolkits/google-tasks/tools/create-task-list.js +30 -0
- package/dist/toolkits/google-tasks/tools/create-task.d.ts +12 -0
- package/dist/toolkits/google-tasks/tools/create-task.js +47 -0
- package/dist/toolkits/google-tasks/tools/delete-task-list.d.ts +5 -0
- package/dist/toolkits/google-tasks/tools/delete-task-list.js +29 -0
- package/dist/toolkits/google-tasks/tools/delete-task.d.ts +6 -0
- package/dist/toolkits/google-tasks/tools/delete-task.js +28 -0
- package/dist/toolkits/google-tasks/tools/get-task-list.d.ts +5 -0
- package/dist/toolkits/google-tasks/tools/get-task-list.js +27 -0
- package/dist/toolkits/google-tasks/tools/get-task.d.ts +6 -0
- package/dist/toolkits/google-tasks/tools/get-task.js +28 -0
- package/dist/toolkits/google-tasks/tools/index.d.ts +249 -0
- package/dist/toolkits/google-tasks/tools/index.js +125 -0
- package/dist/toolkits/google-tasks/tools/list-all-tasks.d.ts +41 -0
- package/dist/toolkits/google-tasks/tools/list-all-tasks.js +106 -0
- package/dist/toolkits/google-tasks/tools/list-task-lists.d.ts +6 -0
- package/dist/toolkits/google-tasks/tools/list-task-lists.js +30 -0
- package/dist/toolkits/google-tasks/tools/list-tasks.d.ts +15 -0
- package/dist/toolkits/google-tasks/tools/list-tasks.js +50 -0
- package/dist/toolkits/google-tasks/tools/move-task.d.ts +9 -0
- package/dist/toolkits/google-tasks/tools/move-task.js +37 -0
- package/dist/toolkits/google-tasks/tools/update-task-full.d.ts +14 -0
- package/dist/toolkits/google-tasks/tools/update-task-full.js +55 -0
- package/dist/toolkits/google-tasks/tools/update-task-list.d.ts +6 -0
- package/dist/toolkits/google-tasks/tools/update-task-list.js +31 -0
- package/dist/toolkits/google-tasks/tools/update-task.d.ts +11 -0
- package/dist/toolkits/google-tasks/tools/update-task.js +47 -0
- package/dist/toolkits/google-tasks/tools/utils.d.ts +15 -0
- package/dist/toolkits/google-tasks/tools/utils.js +33 -0
- package/dist/toolkits/groww/icon.d.ts +5 -0
- package/dist/toolkits/groww/icon.js +21 -0
- package/dist/toolkits/groww/manifest.d.ts +3 -0
- package/dist/toolkits/groww/manifest.js +32 -0
- package/dist/toolkits/groww/tools/historical.d.ts +32 -0
- package/dist/toolkits/groww/tools/historical.js +85 -0
- package/dist/toolkits/groww/tools/index.d.ts +394 -0
- package/dist/toolkits/groww/tools/index.js +222 -0
- package/dist/toolkits/groww/tools/instruments.d.ts +51 -0
- package/dist/toolkits/groww/tools/instruments.js +120 -0
- package/dist/toolkits/groww/tools/live-data.d.ts +30 -0
- package/dist/toolkits/groww/tools/live-data.js +101 -0
- package/dist/toolkits/groww/tools/margin.d.ts +18 -0
- package/dist/toolkits/groww/tools/margin.js +52 -0
- package/dist/toolkits/groww/tools/orders.d.ts +57 -0
- package/dist/toolkits/groww/tools/orders.js +170 -0
- package/dist/toolkits/groww/tools/portfolio.d.ts +13 -0
- package/dist/toolkits/groww/tools/portfolio.js +58 -0
- package/dist/toolkits/groww/tools/smart-orders.d.ts +72 -0
- package/dist/toolkits/groww/tools/smart-orders.js +200 -0
- package/dist/toolkits/groww/tools/user.d.ts +4 -0
- package/dist/toolkits/groww/tools/user.js +21 -0
- package/dist/toolkits/groww/tools/utils.d.ts +18 -0
- package/dist/toolkits/groww/tools/utils.js +52 -0
- package/dist/toolkits/reddit/icon.d.ts +5 -0
- package/dist/toolkits/reddit/icon.js +6 -0
- package/dist/toolkits/reddit/manifest.d.ts +3 -0
- package/dist/toolkits/reddit/manifest.js +55 -0
- package/dist/toolkits/reddit/tools/check-username-available.d.ts +29 -0
- package/dist/toolkits/reddit/tools/check-username-available.js +30 -0
- package/dist/toolkits/reddit/tools/client.d.ts +10 -0
- package/dist/toolkits/reddit/tools/client.js +75 -0
- package/dist/toolkits/reddit/tools/create-post.d.ts +10 -0
- package/dist/toolkits/reddit/tools/create-post.js +59 -0
- package/dist/toolkits/reddit/tools/delete-comment.d.ts +29 -0
- package/dist/toolkits/reddit/tools/delete-comment.js +30 -0
- package/dist/toolkits/reddit/tools/delete-post.d.ts +29 -0
- package/dist/toolkits/reddit/tools/delete-post.js +30 -0
- package/dist/toolkits/reddit/tools/edit-comment-or-post.d.ts +6 -0
- package/dist/toolkits/reddit/tools/edit-comment-or-post.js +35 -0
- package/dist/toolkits/reddit/tools/get-controversial-posts.d.ts +10 -0
- package/dist/toolkits/reddit/tools/get-controversial-posts.js +45 -0
- package/dist/toolkits/reddit/tools/get-listing-by-sort.d.ts +11 -0
- package/dist/toolkits/reddit/tools/get-listing-by-sort.js +47 -0
- package/dist/toolkits/reddit/tools/get-oauth-scopes.d.ts +4 -0
- package/dist/toolkits/reddit/tools/get-oauth-scopes.js +28 -0
- package/dist/toolkits/reddit/tools/get-random-post.d.ts +5 -0
- package/dist/toolkits/reddit/tools/get-random-post.js +32 -0
- package/dist/toolkits/reddit/tools/get-subreddit-rules.d.ts +5 -0
- package/dist/toolkits/reddit/tools/get-subreddit-rules.js +29 -0
- package/dist/toolkits/reddit/tools/get-user-about.d.ts +5 -0
- package/dist/toolkits/reddit/tools/get-user-about.js +29 -0
- package/dist/toolkits/reddit/tools/get-user-flair.d.ts +8 -0
- package/dist/toolkits/reddit/tools/get-user-flair.js +32 -0
- package/dist/toolkits/reddit/tools/get-user-prefs.d.ts +5 -0
- package/dist/toolkits/reddit/tools/get-user-prefs.js +32 -0
- package/dist/toolkits/reddit/tools/index.d.ts +355 -0
- package/dist/toolkits/reddit/tools/index.js +173 -0
- package/dist/toolkits/reddit/tools/list-subreddit-post-flairs.d.ts +25 -0
- package/dist/toolkits/reddit/tools/list-subreddit-post-flairs.js +30 -0
- package/dist/toolkits/reddit/tools/post-comment.d.ts +6 -0
- package/dist/toolkits/reddit/tools/post-comment.js +35 -0
- package/dist/toolkits/reddit/tools/retrieve-post-comments.d.ts +8 -0
- package/dist/toolkits/reddit/tools/retrieve-post-comments.js +39 -0
- package/dist/toolkits/reddit/tools/retrieve-posts-from-subreddit.d.ts +12 -0
- package/dist/toolkits/reddit/tools/retrieve-posts-from-subreddit.js +56 -0
- package/dist/toolkits/reddit/tools/retrieve-specific-comment-or-post.d.ts +25 -0
- package/dist/toolkits/reddit/tools/retrieve-specific-comment-or-post.js +32 -0
- package/dist/toolkits/reddit/tools/search-across-subreddits.d.ts +12 -0
- package/dist/toolkits/reddit/tools/search-across-subreddits.js +59 -0
- package/dist/toolkits/reddit/tools/search-subreddits.d.ts +12 -0
- package/dist/toolkits/reddit/tools/search-subreddits.js +49 -0
- package/dist/toolkits/reddit/tools/toggle-inbox-replies.d.ts +34 -0
- package/dist/toolkits/reddit/tools/toggle-inbox-replies.js +31 -0
- package/dist/toolkits/youtube/icon.d.ts +5 -0
- package/dist/toolkits/youtube/icon.js +20 -0
- package/dist/toolkits/youtube/manifest.d.ts +3 -0
- package/dist/toolkits/youtube/manifest.js +48 -0
- package/dist/toolkits/youtube/tools/add-video-to-playlist.d.ts +7 -0
- package/dist/toolkits/youtube/tools/add-video-to-playlist.js +38 -0
- package/dist/toolkits/youtube/tools/client.d.ts +23 -0
- package/dist/toolkits/youtube/tools/client.js +55 -0
- package/dist/toolkits/youtube/tools/create-channel-section.d.ts +13 -0
- package/dist/toolkits/youtube/tools/create-channel-section.js +42 -0
- package/dist/toolkits/youtube/tools/create-comment-reply.d.ts +6 -0
- package/dist/toolkits/youtube/tools/create-comment-reply.js +31 -0
- package/dist/toolkits/youtube/tools/create-playlist.d.ts +7 -0
- package/dist/toolkits/youtube/tools/create-playlist.js +38 -0
- package/dist/toolkits/youtube/tools/delete-channel-section.d.ts +27 -0
- package/dist/toolkits/youtube/tools/delete-channel-section.js +30 -0
- package/dist/toolkits/youtube/tools/delete-comment.d.ts +26 -0
- package/dist/toolkits/youtube/tools/delete-comment.js +29 -0
- package/dist/toolkits/youtube/tools/delete-playlist-item.d.ts +26 -0
- package/dist/toolkits/youtube/tools/delete-playlist-item.js +29 -0
- package/dist/toolkits/youtube/tools/delete-playlist.d.ts +35 -0
- package/dist/toolkits/youtube/tools/delete-playlist.js +33 -0
- package/dist/toolkits/youtube/tools/delete-video.d.ts +35 -0
- package/dist/toolkits/youtube/tools/delete-video.js +33 -0
- package/dist/toolkits/youtube/tools/download-caption-track.d.ts +21 -0
- package/dist/toolkits/youtube/tools/download-caption-track.js +30 -0
- package/dist/toolkits/youtube/tools/get-channel-activities.d.ts +10 -0
- package/dist/toolkits/youtube/tools/get-channel-activities.js +33 -0
- package/dist/toolkits/youtube/tools/get-channel-id-by-handle.d.ts +5 -0
- package/dist/toolkits/youtube/tools/get-channel-id-by-handle.js +31 -0
- package/dist/toolkits/youtube/tools/get-channel-statistics.d.ts +9 -0
- package/dist/toolkits/youtube/tools/get-channel-statistics.js +53 -0
- package/dist/toolkits/youtube/tools/get-video-details-batch.d.ts +55 -0
- package/dist/toolkits/youtube/tools/get-video-details-batch.js +51 -0
- package/dist/toolkits/youtube/tools/get-video-rating.d.ts +6 -0
- package/dist/toolkits/youtube/tools/get-video-rating.js +29 -0
- package/dist/toolkits/youtube/tools/index.d.ts +959 -0
- package/dist/toolkits/youtube/tools/index.js +104 -0
- package/dist/toolkits/youtube/tools/list-caption-track.d.ts +6 -0
- package/dist/toolkits/youtube/tools/list-caption-track.js +29 -0
- package/dist/toolkits/youtube/tools/list-channel-sections.d.ts +10 -0
- package/dist/toolkits/youtube/tools/list-channel-sections.js +36 -0
- package/dist/toolkits/youtube/tools/list-channel-videos.d.ts +9 -0
- package/dist/toolkits/youtube/tools/list-channel-videos.js +76 -0
- package/dist/toolkits/youtube/tools/list-channels.d.ts +14 -0
- package/dist/toolkits/youtube/tools/list-channels.js +40 -0
- package/dist/toolkits/youtube/tools/list-comment-threads.d.ts +15 -0
- package/dist/toolkits/youtube/tools/list-comment-threads.js +38 -0
- package/dist/toolkits/youtube/tools/list-comments.d.ts +10 -0
- package/dist/toolkits/youtube/tools/list-comments.js +35 -0
- package/dist/toolkits/youtube/tools/list-i18n-languages.d.ts +6 -0
- package/dist/toolkits/youtube/tools/list-i18n-languages.js +29 -0
- package/dist/toolkits/youtube/tools/list-i18n-regions.d.ts +6 -0
- package/dist/toolkits/youtube/tools/list-i18n-regions.js +29 -0
- package/dist/toolkits/youtube/tools/list-live-chat-messages.d.ts +10 -0
- package/dist/toolkits/youtube/tools/list-live-chat-messages.js +33 -0
- package/dist/toolkits/youtube/tools/list-playlist-images.d.ts +11 -0
- package/dist/toolkits/youtube/tools/list-playlist-images.js +36 -0
- package/dist/toolkits/youtube/tools/list-playlist-items.d.ts +11 -0
- package/dist/toolkits/youtube/tools/list-playlist-items.js +34 -0
- package/dist/toolkits/youtube/tools/list-super-chat-events.d.ts +8 -0
- package/dist/toolkits/youtube/tools/list-super-chat-events.js +31 -0
- package/dist/toolkits/youtube/tools/list-user-playlists.d.ts +7 -0
- package/dist/toolkits/youtube/tools/list-user-playlists.js +30 -0
- package/dist/toolkits/youtube/tools/list-user-subscriptions.d.ts +7 -0
- package/dist/toolkits/youtube/tools/list-user-subscriptions.js +30 -0
- package/dist/toolkits/youtube/tools/list-video-abuse-report-reasons.d.ts +6 -0
- package/dist/toolkits/youtube/tools/list-video-abuse-report-reasons.js +29 -0
- package/dist/toolkits/youtube/tools/list-video-categories.d.ts +8 -0
- package/dist/toolkits/youtube/tools/list-video-categories.js +33 -0
- package/dist/toolkits/youtube/tools/mark-comment-as-spam.d.ts +26 -0
- package/dist/toolkits/youtube/tools/mark-comment-as-spam.js +29 -0
- package/dist/toolkits/youtube/tools/multipart-upload-video.d.ts +25 -0
- package/dist/toolkits/youtube/tools/multipart-upload-video.js +40 -0
- package/dist/toolkits/youtube/tools/post-comment.d.ts +7 -0
- package/dist/toolkits/youtube/tools/post-comment.js +34 -0
- package/dist/toolkits/youtube/tools/rate-video.d.ts +30 -0
- package/dist/toolkits/youtube/tools/rate-video.js +30 -0
- package/dist/toolkits/youtube/tools/report-video-abuse.d.ts +27 -0
- package/dist/toolkits/youtube/tools/report-video-abuse.js +40 -0
- package/dist/toolkits/youtube/tools/search-youtube.d.ts +14 -0
- package/dist/toolkits/youtube/tools/search-youtube.js +37 -0
- package/dist/toolkits/youtube/tools/set-comment-moderation-status.d.ts +27 -0
- package/dist/toolkits/youtube/tools/set-comment-moderation-status.js +34 -0
- package/dist/toolkits/youtube/tools/subscribe-channel.d.ts +5 -0
- package/dist/toolkits/youtube/tools/subscribe-channel.js +30 -0
- package/dist/toolkits/youtube/tools/unsubscribe-channel.d.ts +26 -0
- package/dist/toolkits/youtube/tools/unsubscribe-channel.js +29 -0
- package/dist/toolkits/youtube/tools/update-caption.d.ts +11 -0
- package/dist/toolkits/youtube/tools/update-caption.js +36 -0
- package/dist/toolkits/youtube/tools/update-channel-section.d.ts +15 -0
- package/dist/toolkits/youtube/tools/update-channel-section.js +45 -0
- package/dist/toolkits/youtube/tools/update-channel.d.ts +10 -0
- package/dist/toolkits/youtube/tools/update-channel.js +42 -0
- package/dist/toolkits/youtube/tools/update-comment.d.ts +6 -0
- package/dist/toolkits/youtube/tools/update-comment.js +31 -0
- package/dist/toolkits/youtube/tools/update-playlist-item.d.ts +19 -0
- package/dist/toolkits/youtube/tools/update-playlist-item.js +47 -0
- package/dist/toolkits/youtube/tools/update-playlist.d.ts +16 -0
- package/dist/toolkits/youtube/tools/update-playlist.js +44 -0
- package/dist/toolkits/youtube/tools/update-thumbnail.d.ts +6 -0
- package/dist/toolkits/youtube/tools/update-thumbnail.js +38 -0
- package/dist/toolkits/youtube/tools/update-video.d.ts +10 -0
- package/dist/toolkits/youtube/tools/update-video.js +56 -0
- package/dist/toolkits/youtube/tools/upload-shared.d.ts +15 -0
- package/dist/toolkits/youtube/tools/upload-shared.js +21 -0
- package/dist/toolkits/youtube/tools/upload-video.d.ts +30 -0
- package/dist/toolkits/youtube/tools/upload-video.js +56 -0
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const cloudflareListPools: import("ai").Tool<{
|
|
2
|
+
accountId: string;
|
|
3
|
+
perPage?: number | undefined;
|
|
4
|
+
page?: number | undefined;
|
|
5
|
+
cloudflareApiKey?: string | undefined;
|
|
6
|
+
monitor?: string | undefined;
|
|
7
|
+
}, any>;
|
|
8
|
+
//# sourceMappingURL=list-pools.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { cfRequest, toCfError } from './client.js';
|
|
5
|
+
export const cloudflareListPools = tool({
|
|
6
|
+
description: 'List load balancer pools in an account to discover pool IDs and origins. Optionally filter by health-check monitor ID. Paginate with page/perPage.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
cloudflareApiKey: z.string().optional().describe('Injected by system; do not provide'),
|
|
9
|
+
accountId: z.string().describe('Account identifier to list pools for'),
|
|
10
|
+
monitor: z.string().optional().describe('Filter pools by monitor ID'),
|
|
11
|
+
page: z.number().min(1).optional().describe('Page number, starting from 1'),
|
|
12
|
+
perPage: z.number().min(1).max(50).optional().describe('Pools per page (1-50)'),
|
|
13
|
+
}),
|
|
14
|
+
execute: async ({ cloudflareApiKey, accountId, perPage, ...filters }) => {
|
|
15
|
+
try {
|
|
16
|
+
if (!cloudflareApiKey) {
|
|
17
|
+
return { error: 'Cloudflare API key is required. Connect Cloudflare first.' };
|
|
18
|
+
}
|
|
19
|
+
return await cfRequest(cloudflareApiKey, 'GET', `/accounts/${accountId}/load_balancers/pools`, {
|
|
20
|
+
query: { ...filters, per_page: perPage },
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
return toCfError(error, 'Failed to list pools');
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=list-pools.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const cloudflareListTunnels: import("ai").Tool<{
|
|
2
|
+
accountId: string;
|
|
3
|
+
perPage?: number | undefined;
|
|
4
|
+
page?: number | undefined;
|
|
5
|
+
name?: string | undefined;
|
|
6
|
+
cloudflareApiKey?: string | undefined;
|
|
7
|
+
isDeleted?: boolean | undefined;
|
|
8
|
+
}, any>;
|
|
9
|
+
//# sourceMappingURL=list-tunnels.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { cfRequest, toCfError } from './client.js';
|
|
5
|
+
export const cloudflareListTunnels = tool({
|
|
6
|
+
description: 'List Cloudflare Tunnel (cloudflared) tunnels in an account to discover tunnel IDs, names, and statuses. Use before tunnel operations like routing or debugging.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
cloudflareApiKey: z.string().optional().describe('Injected by system; do not provide'),
|
|
9
|
+
accountId: z.string().describe('Account identifier to list tunnels for'),
|
|
10
|
+
name: z.string().optional().describe('Filter tunnels by name'),
|
|
11
|
+
isDeleted: z.boolean().optional().describe('True to include deleted tunnels'),
|
|
12
|
+
page: z.number().min(1).optional().describe('Page number, starting from 1'),
|
|
13
|
+
perPage: z.number().min(1).optional().describe('Tunnels per page'),
|
|
14
|
+
}),
|
|
15
|
+
execute: async ({ cloudflareApiKey, accountId, isDeleted, perPage, ...filters }) => {
|
|
16
|
+
try {
|
|
17
|
+
if (!cloudflareApiKey) {
|
|
18
|
+
return { error: 'Cloudflare API key is required. Connect Cloudflare first.' };
|
|
19
|
+
}
|
|
20
|
+
return await cfRequest(cloudflareApiKey, 'GET', `/accounts/${accountId}/cfd_tunnel`, {
|
|
21
|
+
query: { ...filters, per_page: perPage, is_deleted: isDeleted },
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
return toCfError(error, 'Failed to list tunnels');
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=list-tunnels.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { cfRequest, toCfError } from './client.js';
|
|
5
|
+
export const cloudflareListWafLists = tool({
|
|
6
|
+
description: 'List WAF custom lists for an account (metadata only, no items). Iterate with page/perPage until result_info.total_pages is reached to retrieve all lists.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
cloudflareApiKey: z.string().optional().describe('Injected by system; do not provide'),
|
|
9
|
+
accountId: z.string().describe('Account identifier owning the lists'),
|
|
10
|
+
}),
|
|
11
|
+
execute: async ({ cloudflareApiKey, accountId }) => {
|
|
12
|
+
try {
|
|
13
|
+
if (!cloudflareApiKey) {
|
|
14
|
+
return { error: 'Cloudflare API key is required. Connect Cloudflare first.' };
|
|
15
|
+
}
|
|
16
|
+
return await cfRequest(cloudflareApiKey, 'GET', `/accounts/${accountId}/rules/lists`);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
return toCfError(error, 'Failed to list WAF lists');
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=list-waf-lists.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const cloudflareListZones: import("ai").Tool<{
|
|
2
|
+
status?: "active" | "pending" | "initializing" | "moved" | undefined;
|
|
3
|
+
perPage?: number | undefined;
|
|
4
|
+
page?: number | undefined;
|
|
5
|
+
direction?: "asc" | "desc" | undefined;
|
|
6
|
+
name?: string | undefined;
|
|
7
|
+
order?: "status" | "name" | "account.id" | "account.name" | "plan.id" | undefined;
|
|
8
|
+
match?: "all" | "any" | undefined;
|
|
9
|
+
cloudflareApiKey?: string | undefined;
|
|
10
|
+
accountId?: string | undefined;
|
|
11
|
+
accountName?: string | undefined;
|
|
12
|
+
}, any>;
|
|
13
|
+
//# sourceMappingURL=list-zones.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { cfRequest, toCfError } from './client.js';
|
|
5
|
+
export const cloudflareListZones = tool({
|
|
6
|
+
description: 'List, search, and filter zones in the account. Paginate with page/perPage and check result_info.total_pages for all pages. Extract zone_id from results before calling zone-scoped tools. Only zones delegated to Cloudflare nameservers appear.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
cloudflareApiKey: z.string().optional().describe('Injected by system; do not provide'),
|
|
9
|
+
name: z.string().optional().describe('Filter by domain name'),
|
|
10
|
+
status: z.enum(['initializing', 'pending', 'active', 'moved']).optional().describe('Filter by zone status'),
|
|
11
|
+
match: z.enum(['all', 'any']).optional().describe('Match all filters or any filter'),
|
|
12
|
+
order: z.enum(['name', 'status', 'account.id', 'account.name', 'plan.id']).optional().describe('Field to order by'),
|
|
13
|
+
direction: z.enum(['asc', 'desc']).optional().describe('Sort direction'),
|
|
14
|
+
accountId: z.string().optional().describe('Filter by account ID'),
|
|
15
|
+
accountName: z.string().optional().describe('Filter by account name'),
|
|
16
|
+
page: z.number().min(1).optional().describe('Page number, starting from 1'),
|
|
17
|
+
perPage: z.number().min(5).max(50).optional().describe('Zones per page (5-50)'),
|
|
18
|
+
}),
|
|
19
|
+
execute: async ({ cloudflareApiKey, accountId, accountName, perPage, ...filters }) => {
|
|
20
|
+
try {
|
|
21
|
+
if (!cloudflareApiKey) {
|
|
22
|
+
return { error: 'Cloudflare API key is required. Connect Cloudflare first.' };
|
|
23
|
+
}
|
|
24
|
+
return await cfRequest(cloudflareApiKey, 'GET', '/zones', {
|
|
25
|
+
query: {
|
|
26
|
+
...filters,
|
|
27
|
+
per_page: perPage,
|
|
28
|
+
'account.id': accountId,
|
|
29
|
+
'account.name': accountName,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
return toCfError(error, 'Failed to list zones');
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=list-zones.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const cloudflareUpdateDnsRecord: import("ai").Tool<{
|
|
2
|
+
zoneId: string;
|
|
3
|
+
recordId: string;
|
|
4
|
+
type?: "A" | "AAAA" | "CNAME" | "MX" | "TXT" | "SRV" | "LOC" | "CERT" | "DNSKEY" | "DS" | "NS" | "PTR" | "SSHFP" | "TLSA" | "URI" | "SPF" | undefined;
|
|
5
|
+
priority?: number | undefined;
|
|
6
|
+
data?: Record<string, any> | undefined;
|
|
7
|
+
content?: string | undefined;
|
|
8
|
+
name?: string | undefined;
|
|
9
|
+
cloudflareApiKey?: string | undefined;
|
|
10
|
+
ttl?: number | undefined;
|
|
11
|
+
proxied?: boolean | undefined;
|
|
12
|
+
}, any>;
|
|
13
|
+
//# sourceMappingURL=update-dns-record.d.ts.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { cfRequest, toCfError } from './client.js';
|
|
5
|
+
export const cloudflareUpdateDnsRecord = tool({
|
|
6
|
+
description: 'Update an existing DNS record. Only provided fields are modified. Confirm zone and record IDs first via cloudflareListZones and cloudflareListDnsRecords. Changes to records used by active tunnels take effect immediately.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
cloudflareApiKey: z.string().optional().describe('Injected by system; do not provide'),
|
|
9
|
+
zoneId: z.string().describe('Zone identifier of the record'),
|
|
10
|
+
recordId: z.string().describe('DNS record identifier to update'),
|
|
11
|
+
type: z
|
|
12
|
+
.enum([
|
|
13
|
+
'A', 'AAAA', 'CNAME', 'CERT', 'DNSKEY', 'DS', 'LOC', 'MX', 'NS', 'PTR',
|
|
14
|
+
'SPF', 'SRV', 'SSHFP', 'TLSA', 'TXT', 'URI',
|
|
15
|
+
])
|
|
16
|
+
.optional()
|
|
17
|
+
.describe('DNS record type'),
|
|
18
|
+
name: z.string().optional().describe('DNS record name'),
|
|
19
|
+
content: z.string().optional().describe('DNS record content'),
|
|
20
|
+
ttl: z.number().min(1).optional().describe('TTL in seconds; 1 for automatic'),
|
|
21
|
+
proxied: z.boolean().optional().describe('Route through Cloudflare proxy'),
|
|
22
|
+
priority: z.number().min(0).optional().describe('Priority for MX, SRV, and URI records'),
|
|
23
|
+
data: z.record(z.any()).optional().describe('Extra data for LOC, SRV, and CAA records'),
|
|
24
|
+
}),
|
|
25
|
+
execute: async ({ cloudflareApiKey, zoneId, recordId, ...patch }) => {
|
|
26
|
+
try {
|
|
27
|
+
if (!cloudflareApiKey) {
|
|
28
|
+
return { error: 'Cloudflare API key is required. Connect Cloudflare first.' };
|
|
29
|
+
}
|
|
30
|
+
return await cfRequest(cloudflareApiKey, 'PATCH', `/zones/${zoneId}/dns_records/${recordId}`, {
|
|
31
|
+
body: patch,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
return toCfError(error, 'Failed to update DNS record');
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=update-dns-record.js.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { cfRequest, toCfError } from './client.js';
|
|
5
|
+
export const cloudflareUpdateList = tool({
|
|
6
|
+
description: 'Update the description of a WAF list. Only the description can be changed — list items cannot be updated with this tool.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
cloudflareApiKey: z.string().optional().describe('Injected by system; do not provide'),
|
|
9
|
+
accountId: z.string().describe('Account identifier owning the list'),
|
|
10
|
+
listId: z.string().describe('WAF list identifier to update'),
|
|
11
|
+
description: z.string().max(500).describe('New description for the list (max 500 chars)'),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ cloudflareApiKey, accountId, listId, description }) => {
|
|
14
|
+
try {
|
|
15
|
+
if (!cloudflareApiKey) {
|
|
16
|
+
return { error: 'Cloudflare API key is required. Connect Cloudflare first.' };
|
|
17
|
+
}
|
|
18
|
+
return await cfRequest(cloudflareApiKey, 'PUT', `/accounts/${accountId}/rules/lists/${listId}`, {
|
|
19
|
+
body: { description },
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return toCfError(error, 'Failed to update WAF list');
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=update-list.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { cfRequest, toCfError } from './client.js';
|
|
5
|
+
export const cloudflareUpdateTunnelConfiguration = tool({
|
|
6
|
+
description: 'Replace the remotely-managed configuration (ingress rules and routing) of a Cloudflare Tunnel. This REPLACES the entire config — include all existing rules you want to keep plus a catch-all (service http_status:404) last. Incorrect config can break routing; confirm with the user first.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
cloudflareApiKey: z.string().optional().describe('Injected by system; do not provide'),
|
|
9
|
+
accountId: z.string().describe('Account identifier where the tunnel resides'),
|
|
10
|
+
tunnelId: z.string().describe('Tunnel UUID to configure'),
|
|
11
|
+
config: z.record(z.any()).describe('Full tunnel config object with an ingress array mapping hostnames to origin services'),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ cloudflareApiKey, accountId, tunnelId, config }) => {
|
|
14
|
+
try {
|
|
15
|
+
if (!cloudflareApiKey) {
|
|
16
|
+
return { error: 'Cloudflare API key is required. Connect Cloudflare first.' };
|
|
17
|
+
}
|
|
18
|
+
if (!Array.isArray(config?.ingress) || config.ingress.length === 0) {
|
|
19
|
+
return { error: 'Config must include a non-empty ingress array of hostname-to-service rules.' };
|
|
20
|
+
}
|
|
21
|
+
return await cfRequest(cloudflareApiKey, 'PUT', `/accounts/${accountId}/cfd_tunnel/${tunnelId}/configurations`, { body: { config } });
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
return toCfError(error, 'Failed to update tunnel configuration');
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=update-tunnel-configuration.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const cloudflareUpdateZone: import("ai").Tool<{
|
|
2
|
+
zoneId: string;
|
|
3
|
+
type?: "partial" | "full" | "secondary" | undefined;
|
|
4
|
+
cloudflareApiKey?: string | undefined;
|
|
5
|
+
paused?: boolean | undefined;
|
|
6
|
+
vanityNameServers?: string[] | undefined;
|
|
7
|
+
}, any>;
|
|
8
|
+
//# sourceMappingURL=update-zone.d.ts.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { cfRequest, toCfError } from './client.js';
|
|
5
|
+
export const cloudflareUpdateZone = tool({
|
|
6
|
+
description: 'Update one property of an existing zone (pause/unpause, type, or vanity nameservers). Changes apply immediately — confirm the zone ID and change with the user first. Exactly one of paused, type, or vanityNameServers must be provided per call.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
cloudflareApiKey: z.string().optional().describe('Injected by system; do not provide'),
|
|
9
|
+
zoneId: z.string().describe('Zone identifier to update'),
|
|
10
|
+
paused: z.boolean().optional().describe('True to pause the zone, false to unpause'),
|
|
11
|
+
type: z.enum(['full', 'partial', 'secondary']).optional().describe('Zone setup type'),
|
|
12
|
+
vanityNameServers: z.array(z.string()).optional().describe('Custom vanity nameservers'),
|
|
13
|
+
}),
|
|
14
|
+
execute: async ({ cloudflareApiKey, zoneId, paused, type, vanityNameServers }) => {
|
|
15
|
+
try {
|
|
16
|
+
if (!cloudflareApiKey) {
|
|
17
|
+
return { error: 'Cloudflare API key is required. Connect Cloudflare first.' };
|
|
18
|
+
}
|
|
19
|
+
const provided = [paused, type, vanityNameServers].filter((v) => v !== undefined);
|
|
20
|
+
if (provided.length !== 1) {
|
|
21
|
+
return { error: 'Provide exactly one of paused, type, or vanityNameServers per call.' };
|
|
22
|
+
}
|
|
23
|
+
return await cfRequest(cloudflareApiKey, 'PATCH', `/zones/${zoneId}`, {
|
|
24
|
+
body: { paused, type, vanity_name_servers: vanityNameServers },
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
return toCfError(error, 'Failed to update zone');
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=update-zone.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const SVG = `<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 300" width="1667" height="2500"><style>.st0{fill:#0acf83}.st1{fill:#a259ff}.st2{fill:#f24e1e}.st3{fill:#ff7262}.st4{fill:#1abcfe}</style><title>Figma.logo</title><desc>Created using Figma</desc><path id="path0_fill" class="st0" d="M50 300c27.6 0 50-22.4 50-50v-50H50c-27.6 0-50 22.4-50 50s22.4 50 50 50z"/><path id="path1_fill" class="st1" d="M0 150c0-27.6 22.4-50 50-50h50v100H50c-27.6 0-50-22.4-50-50z"/><path id="path1_fill_1_" class="st2" d="M0 50C0 22.4 22.4 0 50 0h50v100H50C22.4 100 0 77.6 0 50z"/><path id="path2_fill" class="st3" d="M100 0h50c27.6 0 50 22.4 50 50s-22.4 50-50 50h-50V0z"/><path id="path3_fill" class="st4" d="M200 150c0 27.6-22.4 50-50 50s-50-22.4-50-50 22.4-50 50-50 50 22.4 50 50z"/></svg>`;
|
|
2
|
+
export const FIGMA_ICON = {
|
|
3
|
+
kind: 'svg',
|
|
4
|
+
dataUri: `data:image/svg+xml;base64,${Buffer.from(SVG).toString('base64')}`,
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=icon.js.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { defineToolkit, defineTool } from '../../core/define.js';
|
|
2
|
+
import { inferToolScope } from '../../core/scope.js';
|
|
3
|
+
import { FIGMA_ICON } from './icon.js';
|
|
4
|
+
import { figmaTools } from './tools/index.js';
|
|
5
|
+
export default defineToolkit({
|
|
6
|
+
id: 'figma',
|
|
7
|
+
displayName: 'Figma',
|
|
8
|
+
shortDescription: 'Read files, export assets, manage comments, variables, webhooks, and libraries in Figma.',
|
|
9
|
+
category: 'Design & Creative Tools',
|
|
10
|
+
icon: FIGMA_ICON,
|
|
11
|
+
auth: {
|
|
12
|
+
type: 'oauth2',
|
|
13
|
+
tokenField: 'figmaToken',
|
|
14
|
+
provider: {
|
|
15
|
+
slug: 'figma',
|
|
16
|
+
env: { clientId: 'FIGMA_CLIENT_ID', clientSecret: 'FIGMA_CLIENT_SECRET' },
|
|
17
|
+
authorizeUrl: 'https://www.figma.com/oauth',
|
|
18
|
+
tokenUrl: 'https://api.figma.com/v1/oauth/token',
|
|
19
|
+
scopes: [
|
|
20
|
+
'file_content:read',
|
|
21
|
+
'file_metadata:read',
|
|
22
|
+
'file_comments:write',
|
|
23
|
+
'file_variables:read',
|
|
24
|
+
'file_variables:write',
|
|
25
|
+
'file_dev_resources:read',
|
|
26
|
+
'file_dev_resources:write',
|
|
27
|
+
'file_versions:read',
|
|
28
|
+
'files:read',
|
|
29
|
+
'library_content:read',
|
|
30
|
+
'library_analytics:read',
|
|
31
|
+
'projects:read',
|
|
32
|
+
'webhooks:read',
|
|
33
|
+
'webhooks:write',
|
|
34
|
+
'team_library_content:read',
|
|
35
|
+
'org:activity_log_read',
|
|
36
|
+
],
|
|
37
|
+
exchangeStyle: 'form',
|
|
38
|
+
extraAuthParams: {},
|
|
39
|
+
connectDescription: 'Connect Figma to read designs, export assets, and manage libraries.',
|
|
40
|
+
callbackPath: '/api/auth/figma/callback',
|
|
41
|
+
stateCookie: 'figma_oauth_state',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
allowedHosts: ['api.figma.com', 'www.figma.com'],
|
|
45
|
+
tools: figmaTools.map((entry) => defineTool({
|
|
46
|
+
name: entry.name,
|
|
47
|
+
description: entry.description,
|
|
48
|
+
tool: entry.tool,
|
|
49
|
+
requiredAuth: entry.requiredAuth,
|
|
50
|
+
scope: entry.scope ?? inferToolScope(entry.name),
|
|
51
|
+
})),
|
|
52
|
+
meta: {
|
|
53
|
+
since: '0.0.8',
|
|
54
|
+
homepage: 'https://www.figma.com',
|
|
55
|
+
docsUrl: 'https://developers.figma.com/docs/rest-api',
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const addCommentToAFile: import("ai").Tool<{
|
|
2
|
+
message: string;
|
|
3
|
+
figmaToken: string;
|
|
4
|
+
fileKey: string;
|
|
5
|
+
commentId?: string | undefined;
|
|
6
|
+
clientMeta?: Record<string, any> | undefined;
|
|
7
|
+
}, any>;
|
|
8
|
+
//# sourceMappingURL=add-comment-to-a-file.d.ts.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { figmaRequest, figmaTokenField } from './client.js';
|
|
5
|
+
export const addCommentToAFile = tool({
|
|
6
|
+
description: 'Posts a comment to a file or branch, optionally as a reply to a root comment (no nested replies). Provide clientMeta to position the pin.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
figmaToken: figmaTokenField,
|
|
9
|
+
fileKey: z.string().describe('File or branch key from the file URL'),
|
|
10
|
+
message: z.string().describe('Comment text'),
|
|
11
|
+
commentId: z.string().optional().describe('Root comment ID to reply to'),
|
|
12
|
+
clientMeta: z.record(z.any()).optional().describe('Position: {x,y}, {node_id,node_offset}, or region with positive region_height/region_width'),
|
|
13
|
+
}),
|
|
14
|
+
execute: async ({ figmaToken, fileKey, message, commentId, clientMeta }) => {
|
|
15
|
+
try {
|
|
16
|
+
if (clientMeta && ('region_height' in clientMeta || 'region_width' in clientMeta)) {
|
|
17
|
+
const h = Number(clientMeta.region_height);
|
|
18
|
+
const w = Number(clientMeta.region_width);
|
|
19
|
+
if (!(h > 0) || !(w > 0))
|
|
20
|
+
return { error: 'region_height and region_width must be positive' };
|
|
21
|
+
}
|
|
22
|
+
const body = { message };
|
|
23
|
+
if (commentId)
|
|
24
|
+
body.comment_id = commentId;
|
|
25
|
+
if (clientMeta)
|
|
26
|
+
body.client_meta = clientMeta;
|
|
27
|
+
const result = await figmaRequest(figmaToken, `/v1/files/${fileKey}/comments`, {
|
|
28
|
+
method: 'POST',
|
|
29
|
+
body,
|
|
30
|
+
});
|
|
31
|
+
if (!result.ok)
|
|
32
|
+
return { error: 'Failed to post comment', details: result.error };
|
|
33
|
+
return result.data;
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
return {
|
|
37
|
+
error: 'Error posting comment',
|
|
38
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=add-comment-to-a-file.js.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { figmaRequest, figmaTokenField } from './client.js';
|
|
5
|
+
export const addReactionToAComment = tool({
|
|
6
|
+
description: 'Posts an emoji reaction (shortcode like :heart:) to a comment in a file or branch.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
figmaToken: figmaTokenField,
|
|
9
|
+
fileKey: z.string().describe('File or branch key from the file URL'),
|
|
10
|
+
commentId: z.string().describe('Comment ID to react to'),
|
|
11
|
+
emoji: z.string().describe('Emoji shortcode, e.g. :heart: or :+1::skin-tone-2:'),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ figmaToken, fileKey, commentId, emoji }) => {
|
|
14
|
+
try {
|
|
15
|
+
const result = await figmaRequest(figmaToken, `/v1/files/${fileKey}/comments/${commentId}/reactions`, {
|
|
16
|
+
method: 'POST',
|
|
17
|
+
body: { emoji },
|
|
18
|
+
});
|
|
19
|
+
if (!result.ok)
|
|
20
|
+
return { error: 'Failed to add reaction', details: result.error };
|
|
21
|
+
return result.data;
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
return {
|
|
25
|
+
error: 'Error adding reaction',
|
|
26
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=add-reaction-to-a-comment.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const FIGMA_API_BASE = "https://api.figma.com";
|
|
3
|
+
export declare const FIGMA_SCIM_BASE = "https://www.figma.com/scim/v2";
|
|
4
|
+
export declare const figmaTokenField: z.ZodString;
|
|
5
|
+
export declare function buildQuery(params: Record<string, string | number | boolean | undefined>): string;
|
|
6
|
+
export declare function figmaRequest(figmaToken: string, path: string, options?: {
|
|
7
|
+
method?: string;
|
|
8
|
+
query?: Record<string, string | number | boolean | undefined>;
|
|
9
|
+
body?: unknown;
|
|
10
|
+
base?: string;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
ok: false;
|
|
13
|
+
error: any;
|
|
14
|
+
data?: undefined;
|
|
15
|
+
} | {
|
|
16
|
+
ok: true;
|
|
17
|
+
data: any;
|
|
18
|
+
error?: undefined;
|
|
19
|
+
}>;
|
|
20
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export const FIGMA_API_BASE = 'https://api.figma.com';
|
|
4
|
+
export const FIGMA_SCIM_BASE = 'https://www.figma.com/scim/v2';
|
|
5
|
+
export const figmaTokenField = z.string().describe('Figma OAuth access token (sent as Bearer)');
|
|
6
|
+
export function buildQuery(params) {
|
|
7
|
+
const search = new URLSearchParams();
|
|
8
|
+
for (const [key, value] of Object.entries(params)) {
|
|
9
|
+
if (value !== undefined)
|
|
10
|
+
search.set(key, String(value));
|
|
11
|
+
}
|
|
12
|
+
const qs = search.toString();
|
|
13
|
+
return qs ? `?${qs}` : '';
|
|
14
|
+
}
|
|
15
|
+
export async function figmaRequest(figmaToken, path, options) {
|
|
16
|
+
const base = options?.base ?? FIGMA_API_BASE;
|
|
17
|
+
const url = `${base}${path}${buildQuery(options?.query ?? {})}`;
|
|
18
|
+
const response = await fetch(url, {
|
|
19
|
+
method: options?.method ?? 'GET',
|
|
20
|
+
headers: {
|
|
21
|
+
Authorization: `Bearer ${figmaToken}`,
|
|
22
|
+
...(options?.body !== undefined ? { 'Content-Type': 'application/json' } : {}),
|
|
23
|
+
},
|
|
24
|
+
body: options?.body !== undefined ? JSON.stringify(options.body) : undefined,
|
|
25
|
+
});
|
|
26
|
+
if (!response.ok) {
|
|
27
|
+
const details = await response.json().catch(() => ({}));
|
|
28
|
+
return { ok: false, error: details };
|
|
29
|
+
}
|
|
30
|
+
if (response.status === 204) {
|
|
31
|
+
return { ok: true, data: { success: true } };
|
|
32
|
+
}
|
|
33
|
+
const data = await response.json().catch(() => ({}));
|
|
34
|
+
return { ok: true, data };
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const createAWebhook: import("ai").Tool<{
|
|
2
|
+
eventType: "FILE_COMMENT" | "FILE_DELETE" | "FILE_UPDATE" | "FILE_VERSION_UPDATE" | "LIBRARY_PUBLISH";
|
|
3
|
+
endpoint: string;
|
|
4
|
+
figmaToken: string;
|
|
5
|
+
passcode: string;
|
|
6
|
+
status?: "ACTIVE" | "PAUSED" | undefined;
|
|
7
|
+
description?: string | undefined;
|
|
8
|
+
teamId?: string | undefined;
|
|
9
|
+
context?: "team" | "file" | "project" | undefined;
|
|
10
|
+
contextId?: string | undefined;
|
|
11
|
+
}, any>;
|
|
12
|
+
//# sourceMappingURL=create-a-webhook.d.ts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { figmaRequest, figmaTokenField } from './client.js';
|
|
5
|
+
const eventType = z.enum(['FILE_COMMENT', 'FILE_DELETE', 'FILE_UPDATE', 'FILE_VERSION_UPDATE', 'LIBRARY_PUBLISH']);
|
|
6
|
+
export const createAWebhook = tool({
|
|
7
|
+
description: 'Creates a team/project/file webhook. Figma PINGs the endpoint on creation unless PAUSED. Extract team/project/file IDs from Figma URLs or discoverFigmaResources.',
|
|
8
|
+
inputSchema: z.object({
|
|
9
|
+
figmaToken: figmaTokenField,
|
|
10
|
+
eventType: eventType.describe('Event that triggers the webhook'),
|
|
11
|
+
endpoint: z.string().describe('Public HTTPS URL receiving Figma POSTs (max 2048 chars)'),
|
|
12
|
+
passcode: z.string().describe('Secret for verifying Figma requests (max 100 chars)'),
|
|
13
|
+
context: z.enum(['team', 'project', 'file']).optional().describe('Scope; use with contextId'),
|
|
14
|
+
contextId: z.string().optional().describe('Team, project, or file ID to monitor'),
|
|
15
|
+
teamId: z.string().optional().describe('DEPRECATED: use context=team with contextId'),
|
|
16
|
+
status: z.enum(['ACTIVE', 'PAUSED']).optional().describe('Initial status (default ACTIVE)'),
|
|
17
|
+
description: z.string().optional().describe('Human-readable purpose (max 150 chars)'),
|
|
18
|
+
}),
|
|
19
|
+
execute: async ({ figmaToken, eventType, endpoint, passcode, context, contextId, teamId, status, description }) => {
|
|
20
|
+
try {
|
|
21
|
+
const body = { event_type: eventType, endpoint, passcode };
|
|
22
|
+
if (context)
|
|
23
|
+
body.context = context;
|
|
24
|
+
if (contextId)
|
|
25
|
+
body.context_id = contextId;
|
|
26
|
+
if (teamId)
|
|
27
|
+
body.team_id = teamId;
|
|
28
|
+
if (status)
|
|
29
|
+
body.status = status;
|
|
30
|
+
if (description)
|
|
31
|
+
body.description = description;
|
|
32
|
+
const result = await figmaRequest(figmaToken, '/v2/webhooks', { method: 'POST', body });
|
|
33
|
+
if (!result.ok)
|
|
34
|
+
return { error: 'Failed to create webhook', details: result.error };
|
|
35
|
+
return result.data;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return {
|
|
39
|
+
error: 'Error creating webhook',
|
|
40
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=create-a-webhook.js.map
|