@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,34 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { onBehalfOfContentOwnerField, youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const listPlaylistItems = tool({
|
|
6
|
+
description: 'Lists videos in a playlist with pagination. Use when walking an uploads playlist (UU... IDs) to enumerate all videos.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
playlistId: z.string().describe("Playlist ID (PL... for playlists, UU... for channel uploads; do not pass UC... channel IDs)"),
|
|
10
|
+
part: z.string().optional().describe('Resource parts (default snippet,contentDetails)'),
|
|
11
|
+
maxResults: z.number().min(0).max(50).optional().describe('Items per page (0-50, default 50)'),
|
|
12
|
+
pageToken: z.string().optional().describe('Page token from a previous response'),
|
|
13
|
+
videoId: z.string().optional().describe('Filter to items containing this video ID'),
|
|
14
|
+
fields: z.string().optional().describe('Partial-response field selector'),
|
|
15
|
+
onBehalfOfContentOwner: onBehalfOfContentOwnerField,
|
|
16
|
+
}),
|
|
17
|
+
execute: async ({ youtubeToken, playlistId, part, maxResults, pageToken, videoId, fields, onBehalfOfContentOwner }) => {
|
|
18
|
+
try {
|
|
19
|
+
const result = await youtubeRequest(youtubeToken, '/playlistItems', {
|
|
20
|
+
query: { part: part ?? 'snippet,contentDetails', playlistId, maxResults, pageToken, videoId, fields, onBehalfOfContentOwner },
|
|
21
|
+
});
|
|
22
|
+
if (!result.ok)
|
|
23
|
+
return { error: 'Failed to list playlist items', details: result.error };
|
|
24
|
+
return result.data;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return {
|
|
28
|
+
error: 'Error listing playlist items',
|
|
29
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=list-playlist-items.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const listSuperChatEvents: import("ai").Tool<{
|
|
2
|
+
youtubeToken: string;
|
|
3
|
+
maxResults?: number | undefined;
|
|
4
|
+
pageToken?: string | undefined;
|
|
5
|
+
part?: string | undefined;
|
|
6
|
+
hl?: string | undefined;
|
|
7
|
+
}, any>;
|
|
8
|
+
//# sourceMappingURL=list-super-chat-events.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const listSuperChatEvents = tool({
|
|
6
|
+
description: 'Lists Super Chat and Super Sticker purchases from the past 30 days. Use to track and acknowledge supporter contributions.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
part: z.string().optional().describe("Resource parts: 'id' and/or 'snippet' (default snippet)"),
|
|
10
|
+
maxResults: z.number().min(1).max(50).optional().describe('Events per page (1-50, default 5)'),
|
|
11
|
+
pageToken: z.string().optional().describe('Page token from a previous response'),
|
|
12
|
+
hl: z.string().optional().describe('BCP-47 language for amount display (default en)'),
|
|
13
|
+
}),
|
|
14
|
+
execute: async ({ youtubeToken, part, maxResults, pageToken, hl }) => {
|
|
15
|
+
try {
|
|
16
|
+
const result = await youtubeRequest(youtubeToken, '/superChatEvents', {
|
|
17
|
+
query: { part: part ?? 'snippet', maxResults, pageToken, hl },
|
|
18
|
+
});
|
|
19
|
+
if (!result.ok)
|
|
20
|
+
return { error: 'Failed to list Super Chat events', details: result.error };
|
|
21
|
+
return result.data;
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
return {
|
|
25
|
+
error: 'Error listing Super Chat events',
|
|
26
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=list-super-chat-events.js.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const listUserPlaylists = tool({
|
|
6
|
+
description: 'Retrieves playlists owned by the authenticated user (mine=true). Use to discover playlist IDs before managing items.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
part: z.string().optional().describe('Resource parts (default snippet)'),
|
|
10
|
+
maxResults: z.number().min(1).max(50).optional().describe('Playlists per page (1-50, default 5)'),
|
|
11
|
+
pageToken: z.string().optional().describe('Page token from a previous response'),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ youtubeToken, part, maxResults, pageToken }) => {
|
|
14
|
+
try {
|
|
15
|
+
const result = await youtubeRequest(youtubeToken, '/playlists', {
|
|
16
|
+
query: { part: part ?? 'snippet', mine: true, maxResults, pageToken },
|
|
17
|
+
});
|
|
18
|
+
if (!result.ok)
|
|
19
|
+
return { error: 'Failed to list user playlists', details: result.error };
|
|
20
|
+
return result.data;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return {
|
|
24
|
+
error: 'Error listing user playlists',
|
|
25
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=list-user-playlists.js.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const listUserSubscriptions = tool({
|
|
6
|
+
description: 'Retrieves the authenticated user channel subscriptions with pagination.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
part: z.string().optional().describe('Resource parts (default snippet,contentDetails)'),
|
|
10
|
+
maxResults: z.number().min(1).max(50).optional().describe('Subscriptions per page (1-50, default 5)'),
|
|
11
|
+
pageToken: z.string().optional().describe('Page token from a previous response'),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ youtubeToken, part, maxResults, pageToken }) => {
|
|
14
|
+
try {
|
|
15
|
+
const result = await youtubeRequest(youtubeToken, '/subscriptions', {
|
|
16
|
+
query: { part: part ?? 'snippet,contentDetails', mine: true, maxResults, pageToken },
|
|
17
|
+
});
|
|
18
|
+
if (!result.ok)
|
|
19
|
+
return { error: 'Failed to list subscriptions', details: result.error };
|
|
20
|
+
return result.data;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return {
|
|
24
|
+
error: 'Error listing subscriptions',
|
|
25
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=list-user-subscriptions.js.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const listVideoAbuseReportReasons = tool({
|
|
6
|
+
description: 'Lists abuse report reasons with localized labels for use with reportVideoAbuse.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
part: z.string().optional().describe("Resource parts: 'id' and/or 'snippet' (default snippet)"),
|
|
10
|
+
hl: z.string().optional().describe('BCP-47 language for labels (default en_US)'),
|
|
11
|
+
}),
|
|
12
|
+
execute: async ({ youtubeToken, part, hl }) => {
|
|
13
|
+
try {
|
|
14
|
+
const result = await youtubeRequest(youtubeToken, '/videoAbuseReportReasons', {
|
|
15
|
+
query: { part: part ?? 'snippet', hl },
|
|
16
|
+
});
|
|
17
|
+
if (!result.ok)
|
|
18
|
+
return { error: 'Failed to list abuse report reasons', details: result.error };
|
|
19
|
+
return result.data;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return {
|
|
23
|
+
error: 'Error listing abuse report reasons',
|
|
24
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=list-video-abuse-report-reasons.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const listVideoCategories: import("ai").Tool<{
|
|
2
|
+
youtubeToken: string;
|
|
3
|
+
id?: string | undefined;
|
|
4
|
+
part?: string | undefined;
|
|
5
|
+
hl?: string | undefined;
|
|
6
|
+
regionCode?: string | undefined;
|
|
7
|
+
}, any>;
|
|
8
|
+
//# sourceMappingURL=list-video-categories.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const listVideoCategories = tool({
|
|
6
|
+
description: 'Lists video categories for a region or by ID. Either id or regionCode must be set.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
id: z.string().optional().describe('Comma-separated category IDs'),
|
|
10
|
+
regionCode: z.string().optional().describe("ISO 3166-1 alpha-2 region, e.g. 'US'"),
|
|
11
|
+
part: z.string().optional().describe("Resource parts (default snippet)"),
|
|
12
|
+
hl: z.string().optional().describe('BCP-47 language for text (default en_US)'),
|
|
13
|
+
}),
|
|
14
|
+
execute: async ({ youtubeToken, id, regionCode, part, hl }) => {
|
|
15
|
+
try {
|
|
16
|
+
if (!id && !regionCode)
|
|
17
|
+
return { error: 'Either id or regionCode must be specified' };
|
|
18
|
+
const result = await youtubeRequest(youtubeToken, '/videoCategories', {
|
|
19
|
+
query: { part: part ?? 'snippet', id, regionCode, hl },
|
|
20
|
+
});
|
|
21
|
+
if (!result.ok)
|
|
22
|
+
return { error: 'Failed to list video categories', details: result.error };
|
|
23
|
+
return result.data;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return {
|
|
27
|
+
error: 'Error listing video categories',
|
|
28
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=list-video-categories.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const markCommentAsSpam: import("ai").Tool<{
|
|
2
|
+
id: string;
|
|
3
|
+
youtubeToken: string;
|
|
4
|
+
}, {
|
|
5
|
+
error: string;
|
|
6
|
+
details: any;
|
|
7
|
+
success?: undefined;
|
|
8
|
+
httpStatus?: undefined;
|
|
9
|
+
commentIds?: undefined;
|
|
10
|
+
message?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
success: boolean;
|
|
13
|
+
httpStatus: number;
|
|
14
|
+
commentIds: string;
|
|
15
|
+
error?: undefined;
|
|
16
|
+
details?: undefined;
|
|
17
|
+
message?: undefined;
|
|
18
|
+
} | {
|
|
19
|
+
error: string;
|
|
20
|
+
message: string;
|
|
21
|
+
details?: undefined;
|
|
22
|
+
success?: undefined;
|
|
23
|
+
httpStatus?: undefined;
|
|
24
|
+
commentIds?: undefined;
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=mark-comment-as-spam.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const markCommentAsSpam = tool({
|
|
6
|
+
description: 'Flags comments as spam for moderation. Note: the underlying comments.markAsSpam endpoint is deprecated but still functional.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
id: z.string().describe('Comma-separated comment IDs to mark as spam'),
|
|
10
|
+
}),
|
|
11
|
+
execute: async ({ youtubeToken, id }) => {
|
|
12
|
+
try {
|
|
13
|
+
const result = await youtubeRequest(youtubeToken, '/comments/markAsSpam', {
|
|
14
|
+
method: 'POST',
|
|
15
|
+
query: { id },
|
|
16
|
+
});
|
|
17
|
+
if (!result.ok)
|
|
18
|
+
return { error: 'Failed to mark comments as spam', details: result.error };
|
|
19
|
+
return { success: true, httpStatus: 204, commentIds: id };
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return {
|
|
23
|
+
error: 'Error marking comments as spam',
|
|
24
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=mark-comment-as-spam.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const multipartUploadVideo: import("ai").Tool<{
|
|
2
|
+
description: string;
|
|
3
|
+
title: string;
|
|
4
|
+
youtubeToken: string;
|
|
5
|
+
privacyStatus: "private" | "public" | "unlisted";
|
|
6
|
+
videoUrl: string;
|
|
7
|
+
categoryId: string;
|
|
8
|
+
tags?: string[] | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
error: string;
|
|
11
|
+
details: any;
|
|
12
|
+
video?: undefined;
|
|
13
|
+
message?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
video: any;
|
|
16
|
+
error?: undefined;
|
|
17
|
+
details?: undefined;
|
|
18
|
+
message?: undefined;
|
|
19
|
+
} | {
|
|
20
|
+
error: string;
|
|
21
|
+
message: string;
|
|
22
|
+
details?: undefined;
|
|
23
|
+
video?: undefined;
|
|
24
|
+
}>;
|
|
25
|
+
//# sourceMappingURL=multipart-upload-video.d.ts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { YOUTUBE_UPLOAD_BASE, youtubeTokenField } from './client.js';
|
|
5
|
+
import { buildMultipart, fetchVideoBytes, snippetStatusVideo } from './upload-shared.js';
|
|
6
|
+
export const multipartUploadVideo = tool({
|
|
7
|
+
description: 'Uploads a video (metadata + bytes in one multipart request) from a publicly accessible file URL. File must be a YouTube-supported format.',
|
|
8
|
+
inputSchema: z.object({
|
|
9
|
+
youtubeToken: youtubeTokenField,
|
|
10
|
+
videoUrl: z.string().describe('Public URL of the video file to upload'),
|
|
11
|
+
title: z.string().describe('Video title'),
|
|
12
|
+
description: z.string().describe('Video description'),
|
|
13
|
+
categoryId: z.string().describe("Category ID, e.g. '22'"),
|
|
14
|
+
privacyStatus: z.enum(['public', 'private', 'unlisted']),
|
|
15
|
+
tags: z.array(z.string()).optional().describe('Keyword tags for discoverability'),
|
|
16
|
+
}),
|
|
17
|
+
execute: async ({ youtubeToken, videoUrl, title, description, categoryId, privacyStatus, tags }) => {
|
|
18
|
+
try {
|
|
19
|
+
const { bytes, contentType } = await fetchVideoBytes(videoUrl);
|
|
20
|
+
const { body, boundary } = buildMultipart(snippetStatusVideo(title, description, categoryId, privacyStatus, tags), bytes, contentType);
|
|
21
|
+
const response = await fetch(`${YOUTUBE_UPLOAD_BASE}/videos?uploadType=multipart&part=snippet,status`, {
|
|
22
|
+
method: 'POST',
|
|
23
|
+
headers: { Authorization: `Bearer ${youtubeToken}`, 'Content-Type': `multipart/related; boundary=${boundary}` },
|
|
24
|
+
body,
|
|
25
|
+
});
|
|
26
|
+
if (!response.ok) {
|
|
27
|
+
const details = await response.json().catch(() => ({}));
|
|
28
|
+
return { error: 'Failed to upload video', details };
|
|
29
|
+
}
|
|
30
|
+
return { video: await response.json() };
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return {
|
|
34
|
+
error: 'Error uploading video',
|
|
35
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=multipart-upload-video.js.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const postComment = tool({
|
|
6
|
+
description: 'Posts a new top-level comment on a video. Use to engage with video content.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
videoId: z.string().describe('Video ID to comment on (required)'),
|
|
10
|
+
channelId: z.string().describe('Channel ID that uploaded the video (required)'),
|
|
11
|
+
textOriginal: z.string().min(1).describe('Comment text to post'),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ youtubeToken, videoId, channelId, textOriginal }) => {
|
|
14
|
+
try {
|
|
15
|
+
const result = await youtubeRequest(youtubeToken, '/commentThreads', {
|
|
16
|
+
method: 'POST',
|
|
17
|
+
query: { part: 'snippet' },
|
|
18
|
+
body: {
|
|
19
|
+
snippet: { videoId, channelId, topLevelComment: { snippet: { textOriginal } } },
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
if (!result.ok)
|
|
23
|
+
return { error: 'Failed to post comment', details: result.error };
|
|
24
|
+
return result.data;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return {
|
|
28
|
+
error: 'Error posting comment',
|
|
29
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=post-comment.js.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare const rateVideo: import("ai").Tool<{
|
|
2
|
+
id: string;
|
|
3
|
+
youtubeToken: string;
|
|
4
|
+
rating: "none" | "like" | "dislike";
|
|
5
|
+
}, {
|
|
6
|
+
error: string;
|
|
7
|
+
details: any;
|
|
8
|
+
videoId?: undefined;
|
|
9
|
+
rating?: undefined;
|
|
10
|
+
success?: undefined;
|
|
11
|
+
httpStatus?: undefined;
|
|
12
|
+
message?: undefined;
|
|
13
|
+
} | {
|
|
14
|
+
videoId: string;
|
|
15
|
+
rating: "none" | "like" | "dislike";
|
|
16
|
+
success: boolean;
|
|
17
|
+
httpStatus: number;
|
|
18
|
+
error?: undefined;
|
|
19
|
+
details?: undefined;
|
|
20
|
+
message?: undefined;
|
|
21
|
+
} | {
|
|
22
|
+
error: string;
|
|
23
|
+
message: string;
|
|
24
|
+
details?: undefined;
|
|
25
|
+
videoId?: undefined;
|
|
26
|
+
rating?: undefined;
|
|
27
|
+
success?: undefined;
|
|
28
|
+
httpStatus?: undefined;
|
|
29
|
+
}>;
|
|
30
|
+
//# sourceMappingURL=rate-video.d.ts.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const rateVideo = tool({
|
|
6
|
+
description: 'Likes, dislikes, or removes the rating on a video on behalf of the authenticated user.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
id: z.string().describe('Video ID to rate'),
|
|
10
|
+
rating: z.enum(['like', 'dislike', 'none']).describe('Rating to apply; none removes any existing rating'),
|
|
11
|
+
}),
|
|
12
|
+
execute: async ({ youtubeToken, id, rating }) => {
|
|
13
|
+
try {
|
|
14
|
+
const result = await youtubeRequest(youtubeToken, '/videos/rate', {
|
|
15
|
+
method: 'POST',
|
|
16
|
+
query: { id, rating },
|
|
17
|
+
});
|
|
18
|
+
if (!result.ok)
|
|
19
|
+
return { error: 'Failed to rate video', details: result.error };
|
|
20
|
+
return { videoId: id, rating, success: true, httpStatus: 204 };
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return {
|
|
24
|
+
error: 'Error rating video',
|
|
25
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=rate-video.js.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const reportVideoAbuse: import("ai").Tool<{
|
|
2
|
+
youtubeToken: string;
|
|
3
|
+
videoId: string;
|
|
4
|
+
reasonId: "N" | "V" | "C" | "M" | "E" | "H";
|
|
5
|
+
language?: string | undefined;
|
|
6
|
+
comments?: string | undefined;
|
|
7
|
+
secondaryReasonId?: string | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
error: string;
|
|
10
|
+
details: any;
|
|
11
|
+
success?: undefined;
|
|
12
|
+
httpStatus?: undefined;
|
|
13
|
+
message?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
success: boolean;
|
|
16
|
+
httpStatus: number;
|
|
17
|
+
message: string;
|
|
18
|
+
error?: undefined;
|
|
19
|
+
details?: undefined;
|
|
20
|
+
} | {
|
|
21
|
+
error: string;
|
|
22
|
+
message: string;
|
|
23
|
+
details?: undefined;
|
|
24
|
+
success?: undefined;
|
|
25
|
+
httpStatus?: undefined;
|
|
26
|
+
}>;
|
|
27
|
+
//# sourceMappingURL=report-video-abuse.d.ts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const reportVideoAbuse = tool({
|
|
6
|
+
description: 'Reports a video for abusive content. List valid reasons with listVideoAbuseReportReasons first.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
videoId: z.string().describe('Video ID being reported'),
|
|
10
|
+
reasonId: z.enum(['N', 'V', 'C', 'M', 'E', 'H']).describe('Reason: N nudity, V violent/hateful, C child abuse, M medical misinformation, E extremism, H harassment'),
|
|
11
|
+
secondaryReasonId: z.string().optional().describe('More specific secondary reason'),
|
|
12
|
+
comments: z.string().optional().describe('Additional reporter information'),
|
|
13
|
+
language: z.string().optional().describe("Reporter language, e.g. 'en'"),
|
|
14
|
+
}),
|
|
15
|
+
execute: async ({ youtubeToken, videoId, reasonId, secondaryReasonId, comments, language }) => {
|
|
16
|
+
try {
|
|
17
|
+
const body = { videoId, reasonId };
|
|
18
|
+
if (secondaryReasonId)
|
|
19
|
+
body.secondaryReasonId = secondaryReasonId;
|
|
20
|
+
if (comments)
|
|
21
|
+
body.comments = comments;
|
|
22
|
+
if (language)
|
|
23
|
+
body.language = language;
|
|
24
|
+
const result = await youtubeRequest(youtubeToken, '/videos/reportAbuse', {
|
|
25
|
+
method: 'POST',
|
|
26
|
+
body,
|
|
27
|
+
});
|
|
28
|
+
if (!result.ok)
|
|
29
|
+
return { error: 'Failed to report video', details: result.error };
|
|
30
|
+
return { success: true, httpStatus: 204, message: 'Abuse report submitted successfully' };
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return {
|
|
34
|
+
error: 'Error reporting video',
|
|
35
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=report-video-abuse.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const searchYouTube: import("ai").Tool<{
|
|
2
|
+
q: string;
|
|
3
|
+
youtubeToken: string;
|
|
4
|
+
type?: string | undefined;
|
|
5
|
+
maxResults?: number | undefined;
|
|
6
|
+
pageToken?: string | undefined;
|
|
7
|
+
order?: "date" | "title" | "relevance" | "rating" | "videoCount" | "viewCount" | undefined;
|
|
8
|
+
part?: string | undefined;
|
|
9
|
+
publishedAfter?: string | undefined;
|
|
10
|
+
publishedBefore?: string | undefined;
|
|
11
|
+
regionCode?: string | undefined;
|
|
12
|
+
relevanceLanguage?: string | undefined;
|
|
13
|
+
}, any>;
|
|
14
|
+
//# sourceMappingURL=search-youtube.d.ts.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const searchYouTube = tool({
|
|
6
|
+
description: 'Searches YouTube for videos, channels, or playlists by query (supports exact phrases, exclusions, OR, @handles). Returns the raw search response.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
q: z.string().describe('Search query term'),
|
|
10
|
+
part: z.string().optional().describe("Response parts; only 'snippet' is valid for search (default snippet)"),
|
|
11
|
+
type: z.string().optional().describe("Restrict to 'video', 'channel', 'playlist' (comma-separated, default video)"),
|
|
12
|
+
order: z.enum(['date', 'rating', 'relevance', 'title', 'videoCount', 'viewCount']).optional(),
|
|
13
|
+
maxResults: z.number().min(1).max(50).optional().describe('Results per page (1-50, default 5)'),
|
|
14
|
+
pageToken: z.string().optional().describe('Page token from a previous response'),
|
|
15
|
+
regionCode: z.string().optional().describe('ISO 3166-1 alpha-2 country code'),
|
|
16
|
+
publishedAfter: z.string().optional().describe('RFC 3339 lower bound'),
|
|
17
|
+
publishedBefore: z.string().optional().describe('RFC 3339 upper bound'),
|
|
18
|
+
relevanceLanguage: z.string().optional().describe('ISO 639-1 language code'),
|
|
19
|
+
}),
|
|
20
|
+
execute: async ({ youtubeToken, q, part, type, order, maxResults, pageToken, regionCode, publishedAfter, publishedBefore, relevanceLanguage }) => {
|
|
21
|
+
try {
|
|
22
|
+
const result = await youtubeRequest(youtubeToken, '/search', {
|
|
23
|
+
query: { part: part ?? 'snippet', q, type: type ?? 'video', order, maxResults, pageToken, regionCode, publishedAfter, publishedBefore, relevanceLanguage },
|
|
24
|
+
});
|
|
25
|
+
if (!result.ok)
|
|
26
|
+
return { error: 'Failed to search YouTube', details: result.error };
|
|
27
|
+
return result.data;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return {
|
|
31
|
+
error: 'Error searching YouTube',
|
|
32
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=search-youtube.js.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const setCommentModerationStatus: import("ai").Tool<{
|
|
2
|
+
id: string;
|
|
3
|
+
youtubeToken: string;
|
|
4
|
+
moderationStatus: "published" | "heldForReview" | "rejected";
|
|
5
|
+
banAuthor?: boolean | undefined;
|
|
6
|
+
}, {
|
|
7
|
+
error: string;
|
|
8
|
+
details?: undefined;
|
|
9
|
+
success?: undefined;
|
|
10
|
+
message?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
error: string;
|
|
13
|
+
details: any;
|
|
14
|
+
success?: undefined;
|
|
15
|
+
message?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
success: boolean;
|
|
18
|
+
message: string;
|
|
19
|
+
error?: undefined;
|
|
20
|
+
details?: undefined;
|
|
21
|
+
} | {
|
|
22
|
+
error: string;
|
|
23
|
+
message: string;
|
|
24
|
+
details?: undefined;
|
|
25
|
+
success?: undefined;
|
|
26
|
+
}>;
|
|
27
|
+
//# sourceMappingURL=set-comment-moderation-status.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { youtubeRequest, youtubeTokenField } from './client.js';
|
|
5
|
+
export const setCommentModerationStatus = tool({
|
|
6
|
+
description: 'Holds, publishes, or rejects comments for moderation. Optionally bans the author when rejecting.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
youtubeToken: youtubeTokenField,
|
|
9
|
+
id: z.string().describe('Comma-separated comment IDs (not thread IDs)'),
|
|
10
|
+
moderationStatus: z.enum(['heldForReview', 'published', 'rejected']).describe('New moderation status'),
|
|
11
|
+
banAuthor: z.boolean().optional().describe('Ban the author (only valid with rejected, default false)'),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ youtubeToken, id, moderationStatus, banAuthor }) => {
|
|
14
|
+
try {
|
|
15
|
+
if (banAuthor === true && moderationStatus !== 'rejected') {
|
|
16
|
+
return { error: 'banAuthor is only valid when moderationStatus is rejected' };
|
|
17
|
+
}
|
|
18
|
+
const result = await youtubeRequest(youtubeToken, '/comments/setModerationStatus', {
|
|
19
|
+
method: 'POST',
|
|
20
|
+
query: { id, moderationStatus, banAuthor },
|
|
21
|
+
});
|
|
22
|
+
if (!result.ok)
|
|
23
|
+
return { error: 'Failed to set moderation status', details: result.error };
|
|
24
|
+
return { success: true, message: 'Comment moderation status updated successfully' };
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return {
|
|
28
|
+
error: 'Error setting moderation status',
|
|
29
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=set-comment-moderation-status.js.map
|