@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,180 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { classroomRequest, googleClassroomTokenField } from './client.js';
|
|
5
|
+
export const addStudentToCourse = tool({
|
|
6
|
+
description: 'Enrolls a user as a student. Admins enroll directly; others need the enrollment code.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
9
|
+
courseId: z.string().describe('Course ID or alias'),
|
|
10
|
+
userId: z.string().describe("User ID, email, or 'me'"),
|
|
11
|
+
enrollmentCode: z.string().optional().describe('Required for self-enrollment'),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ googleClassroomToken, courseId, userId, enrollmentCode }) => {
|
|
14
|
+
try {
|
|
15
|
+
const body = { userId };
|
|
16
|
+
if (enrollmentCode)
|
|
17
|
+
body.enrollmentCode = enrollmentCode;
|
|
18
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/students`, {
|
|
19
|
+
method: 'POST',
|
|
20
|
+
body,
|
|
21
|
+
});
|
|
22
|
+
if (!result.ok)
|
|
23
|
+
return { error: 'Failed to add student', details: result.error };
|
|
24
|
+
return result.data;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return { error: 'Error adding student', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
export const deleteCourseStudent = tool({
|
|
32
|
+
description: 'Removes a student enrollment, revoking access to materials and participation.',
|
|
33
|
+
inputSchema: z.object({
|
|
34
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
35
|
+
courseId: z.string().describe('Course ID or alias'),
|
|
36
|
+
userId: z.string().describe("Student ID, email, or 'me'"),
|
|
37
|
+
}),
|
|
38
|
+
execute: async ({ googleClassroomToken, courseId, userId }) => {
|
|
39
|
+
try {
|
|
40
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/students/${userId}`, {
|
|
41
|
+
method: 'DELETE',
|
|
42
|
+
});
|
|
43
|
+
if (!result.ok)
|
|
44
|
+
return { error: 'Failed to delete student', details: result.error };
|
|
45
|
+
return result.data;
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
return { error: 'Error deleting student', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
export const getCourseStudent = tool({
|
|
53
|
+
description: 'Gets a student enrollment with profile and Drive folder details.',
|
|
54
|
+
inputSchema: z.object({
|
|
55
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
56
|
+
courseId: z.string().describe('Course ID or alias'),
|
|
57
|
+
userId: z.string().describe("Student ID, email, or 'me'"),
|
|
58
|
+
}),
|
|
59
|
+
execute: async ({ googleClassroomToken, courseId, userId }) => {
|
|
60
|
+
try {
|
|
61
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/students/${userId}`);
|
|
62
|
+
if (!result.ok)
|
|
63
|
+
return { error: 'Failed to get student', details: result.error };
|
|
64
|
+
return result.data;
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
return { error: 'Error getting student', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
export const listCourseStudents = tool({
|
|
72
|
+
description: 'Pages through enrolled students in a course.',
|
|
73
|
+
inputSchema: z.object({
|
|
74
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
75
|
+
courseId: z.string().describe('Course ID or alias'),
|
|
76
|
+
pageSize: z.number().min(1).max(100).optional(),
|
|
77
|
+
pageToken: z.string().optional(),
|
|
78
|
+
}),
|
|
79
|
+
execute: async ({ googleClassroomToken, courseId, pageSize, pageToken }) => {
|
|
80
|
+
try {
|
|
81
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/students`, {
|
|
82
|
+
query: { pageSize, pageToken },
|
|
83
|
+
});
|
|
84
|
+
if (!result.ok)
|
|
85
|
+
return { error: 'Failed to list students', details: result.error };
|
|
86
|
+
return result.data;
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
return { error: 'Error listing students', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
export const listStudentGuardians = tool({
|
|
94
|
+
description: 'Lists guardians linked to a student in a course, with pagination.',
|
|
95
|
+
inputSchema: z.object({
|
|
96
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
97
|
+
courseId: z.string().describe('Course ID or alias'),
|
|
98
|
+
studentId: z.string().describe("Student ID, email, or 'me'"),
|
|
99
|
+
pageSize: z.number().min(1).max(100).optional(),
|
|
100
|
+
pageToken: z.string().optional(),
|
|
101
|
+
}),
|
|
102
|
+
execute: async ({ googleClassroomToken, courseId, studentId, pageSize, pageToken }) => {
|
|
103
|
+
try {
|
|
104
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/students/${studentId}/guardians`, { query: { pageSize, pageToken } });
|
|
105
|
+
if (!result.ok)
|
|
106
|
+
return { error: 'Failed to list student guardians', details: result.error };
|
|
107
|
+
return result.data;
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
return { error: 'Error listing student guardians', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
export const deleteCourseTeacher = tool({
|
|
115
|
+
description: 'Removes a teacher enrollment, revoking teaching access. The course owner cannot be removed this way.',
|
|
116
|
+
inputSchema: z.object({
|
|
117
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
118
|
+
courseId: z.string().describe('Course ID or alias'),
|
|
119
|
+
userId: z.string().describe("Teacher ID, email, or 'me'"),
|
|
120
|
+
}),
|
|
121
|
+
execute: async ({ googleClassroomToken, courseId, userId }) => {
|
|
122
|
+
try {
|
|
123
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/teachers/${userId}`, {
|
|
124
|
+
method: 'DELETE',
|
|
125
|
+
});
|
|
126
|
+
if (!result.ok)
|
|
127
|
+
return { error: 'Failed to delete teacher', details: result.error };
|
|
128
|
+
return result.data;
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
return { error: 'Error deleting teacher', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
export const getTeacher = tool({
|
|
136
|
+
description: 'Gets a teacher enrollment with profile details.',
|
|
137
|
+
inputSchema: z.object({
|
|
138
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
139
|
+
courseId: z.string().describe('Course ID or alias'),
|
|
140
|
+
userId: z.string().describe('Teacher ID or email'),
|
|
141
|
+
fields: z.string().optional().describe('Partial-response field selector'),
|
|
142
|
+
quotaUser: z.string().optional().describe('Quota attribution string (server-side apps)'),
|
|
143
|
+
}),
|
|
144
|
+
execute: async ({ googleClassroomToken, courseId, userId, fields, quotaUser }) => {
|
|
145
|
+
try {
|
|
146
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/teachers/${userId}`, {
|
|
147
|
+
query: { fields, quotaUser },
|
|
148
|
+
});
|
|
149
|
+
if (!result.ok)
|
|
150
|
+
return { error: 'Failed to get teacher', details: result.error };
|
|
151
|
+
return result.data;
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
return { error: 'Error getting teacher', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
export const listCourseTeachers = tool({
|
|
159
|
+
description: 'Pages through enrolled teachers in a course.',
|
|
160
|
+
inputSchema: z.object({
|
|
161
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
162
|
+
courseId: z.string(),
|
|
163
|
+
pageSize: z.number().min(1).max(100).optional(),
|
|
164
|
+
pageToken: z.string().optional(),
|
|
165
|
+
}),
|
|
166
|
+
execute: async ({ googleClassroomToken, courseId, pageSize, pageToken }) => {
|
|
167
|
+
try {
|
|
168
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/teachers`, {
|
|
169
|
+
query: { pageSize, pageToken },
|
|
170
|
+
});
|
|
171
|
+
if (!result.ok)
|
|
172
|
+
return { error: 'Failed to list teachers', details: result.error };
|
|
173
|
+
return result.data;
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
return { error: 'Error listing teachers', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
//# sourceMappingURL=roster.js.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare const createCourseTopic: import("ai").Tool<{
|
|
2
|
+
name: string;
|
|
3
|
+
googleClassroomToken: string;
|
|
4
|
+
courseId: string;
|
|
5
|
+
}, any>;
|
|
6
|
+
export declare const deleteCourseTopic: import("ai").Tool<{
|
|
7
|
+
id: string;
|
|
8
|
+
googleClassroomToken: string;
|
|
9
|
+
courseId: string;
|
|
10
|
+
}, any>;
|
|
11
|
+
export declare const getCourseTopic: import("ai").Tool<{
|
|
12
|
+
id: string;
|
|
13
|
+
googleClassroomToken: string;
|
|
14
|
+
courseId: string;
|
|
15
|
+
}, any>;
|
|
16
|
+
export declare const listCourseTopics: import("ai").Tool<{
|
|
17
|
+
googleClassroomToken: string;
|
|
18
|
+
courseId: string;
|
|
19
|
+
pageToken?: string | undefined;
|
|
20
|
+
pageSize?: number | undefined;
|
|
21
|
+
}, any>;
|
|
22
|
+
export declare const patchCourseTopic: import("ai").Tool<{
|
|
23
|
+
id: string;
|
|
24
|
+
googleClassroomToken: string;
|
|
25
|
+
courseId: string;
|
|
26
|
+
name?: string | undefined;
|
|
27
|
+
updateMask?: string | undefined;
|
|
28
|
+
}, any>;
|
|
29
|
+
//# sourceMappingURL=topics.d.ts.map
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { classroomRequest, googleClassroomTokenField } from './client.js';
|
|
5
|
+
export const createCourseTopic = tool({
|
|
6
|
+
description: 'Creates a named topic section to organize course content.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
9
|
+
courseId: z.string(),
|
|
10
|
+
name: z.string().describe('Topic name, e.g. Homework'),
|
|
11
|
+
}),
|
|
12
|
+
execute: async ({ googleClassroomToken, courseId, name }) => {
|
|
13
|
+
try {
|
|
14
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/topics`, {
|
|
15
|
+
method: 'POST',
|
|
16
|
+
body: { name },
|
|
17
|
+
});
|
|
18
|
+
if (!result.ok)
|
|
19
|
+
return { error: 'Failed to create topic', details: result.error };
|
|
20
|
+
return result.data;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return { error: 'Error creating topic', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
export const deleteCourseTopic = tool({
|
|
28
|
+
description: 'Deletes a topic. Confirm course and topic IDs first.',
|
|
29
|
+
inputSchema: z.object({
|
|
30
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
31
|
+
courseId: z.string(),
|
|
32
|
+
id: z.string().describe('Topic ID to delete'),
|
|
33
|
+
}),
|
|
34
|
+
execute: async ({ googleClassroomToken, courseId, id }) => {
|
|
35
|
+
try {
|
|
36
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/topics/${id}`, {
|
|
37
|
+
method: 'DELETE',
|
|
38
|
+
});
|
|
39
|
+
if (!result.ok)
|
|
40
|
+
return { error: 'Failed to delete topic', details: result.error };
|
|
41
|
+
return result.data;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
return { error: 'Error deleting topic', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
export const getCourseTopic = tool({
|
|
49
|
+
description: 'Gets a topic by course and topic ID.',
|
|
50
|
+
inputSchema: z.object({
|
|
51
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
52
|
+
courseId: z.string().describe('Course ID or alias'),
|
|
53
|
+
id: z.string().describe('Topic ID'),
|
|
54
|
+
}),
|
|
55
|
+
execute: async ({ googleClassroomToken, courseId, id }) => {
|
|
56
|
+
try {
|
|
57
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/topics/${id}`);
|
|
58
|
+
if (!result.ok)
|
|
59
|
+
return { error: 'Failed to get topic', details: result.error };
|
|
60
|
+
return result.data;
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
return { error: 'Error getting topic', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
export const listCourseTopics = tool({
|
|
68
|
+
description: 'Lists topics in a course with pagination.',
|
|
69
|
+
inputSchema: z.object({
|
|
70
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
71
|
+
courseId: z.string().describe('Course ID or alias'),
|
|
72
|
+
pageSize: z.number().min(0).optional(),
|
|
73
|
+
pageToken: z.string().optional(),
|
|
74
|
+
}),
|
|
75
|
+
execute: async ({ googleClassroomToken, courseId, pageSize, pageToken }) => {
|
|
76
|
+
try {
|
|
77
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/topics`, {
|
|
78
|
+
query: { pageSize, pageToken },
|
|
79
|
+
});
|
|
80
|
+
if (!result.ok)
|
|
81
|
+
return { error: 'Failed to list topics', details: result.error };
|
|
82
|
+
return result.data;
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
return { error: 'Error listing topics', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
export const patchCourseTopic = tool({
|
|
90
|
+
description: "Renames a topic. Currently only 'name' is updatable via updateMask.",
|
|
91
|
+
inputSchema: z.object({
|
|
92
|
+
googleClassroomToken: googleClassroomTokenField,
|
|
93
|
+
courseId: z.string(),
|
|
94
|
+
id: z.string().describe('Topic ID'),
|
|
95
|
+
name: z.string().optional().describe('New topic name'),
|
|
96
|
+
updateMask: z.string().optional().describe("Fields to update, e.g. 'name'"),
|
|
97
|
+
}),
|
|
98
|
+
execute: async ({ googleClassroomToken, courseId, id, name, updateMask }) => {
|
|
99
|
+
try {
|
|
100
|
+
const body = {};
|
|
101
|
+
if (name !== undefined)
|
|
102
|
+
body.name = name;
|
|
103
|
+
const result = await classroomRequest(googleClassroomToken, `/courses/${courseId}/topics/${id}`, {
|
|
104
|
+
method: 'PATCH',
|
|
105
|
+
query: { updateMask: updateMask ?? 'name' },
|
|
106
|
+
body,
|
|
107
|
+
});
|
|
108
|
+
if (!result.ok)
|
|
109
|
+
return { error: 'Failed to patch topic', details: result.error };
|
|
110
|
+
return result.data;
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
return { error: 'Error patching topic', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=topics.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const SVG = `<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="none" viewBox="0 0 192 192"><g clip-path="url(#a)"><rect width="152" height="130" x="20" y="52" fill="#bbe2ff" rx="65"/><rect width="172" height="152" x="10" y="14" fill="#3186ff" rx="74"/><mask id="d" width="172" height="152" x="10" y="14" maskUnits="userSpaceOnUse" style="mask-type:alpha"><rect width="172" height="152" x="10" y="14" fill="#3c90ff" rx="74"/></mask><g filter="url(#b)" mask="url(#d)"><rect width="152" height="130" x="20" y="52" fill="url(#e)" rx="65"/></g><g clip-path="url(#f)"><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="12" d="m61 90 22.172 22.172a4 4 0 0 0 5.656 0L138 63"/></g></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h192v192H0z"/></clipPath><clipPath id="f"><path fill="#fff" d="M44 38h104v104H44z"/></clipPath><linearGradient id="e" x1="96" x2="100.64" y1="166.9" y2="67.25" gradientUnits="userSpaceOnUse"><stop offset=".01" stop-color="#a9a8ff"/><stop offset=".79" stop-color="#a9a8ff" stop-opacity="0"/></linearGradient><filter id="b" width="176" height="154" x="8" y="40" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_37601_9976" stdDeviation="6"/></filter></defs></svg>`;
|
|
2
|
+
export const GTASKS_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,40 @@
|
|
|
1
|
+
import { defineToolkit, defineTool } from '../../core/define.js';
|
|
2
|
+
import { inferToolScope } from '../../core/scope.js';
|
|
3
|
+
import { GTASKS_ICON } from './icon.js';
|
|
4
|
+
import { googleTasksTools } from './tools/index.js';
|
|
5
|
+
export default defineToolkit({
|
|
6
|
+
id: 'google-tasks',
|
|
7
|
+
displayName: 'Google Tasks',
|
|
8
|
+
shortDescription: 'List, create, update, and organize Google Tasks lists and to-dos.',
|
|
9
|
+
category: 'Productivity & Project Management',
|
|
10
|
+
icon: GTASKS_ICON,
|
|
11
|
+
auth: {
|
|
12
|
+
type: 'oauth2',
|
|
13
|
+
tokenField: 'googleTasksToken',
|
|
14
|
+
provider: {
|
|
15
|
+
slug: 'google-tasks',
|
|
16
|
+
env: { clientId: 'GOOGLE_TASKS_CLIENT_ID', clientSecret: 'GOOGLE_TASKS_CLIENT_SECRET' },
|
|
17
|
+
authorizeUrl: 'https://accounts.google.com/o/oauth2/v2/auth',
|
|
18
|
+
tokenUrl: 'https://oauth2.googleapis.com/token',
|
|
19
|
+
scopes: [
|
|
20
|
+
'https://www.googleapis.com/auth/tasks',
|
|
21
|
+
'https://www.googleapis.com/auth/tasks.readonly',
|
|
22
|
+
],
|
|
23
|
+
exchangeStyle: 'form',
|
|
24
|
+
extraAuthParams: { access_type: 'offline', prompt: 'consent' },
|
|
25
|
+
connectDescription: 'Connect Google Tasks to view lists, manage to-dos, and track due dates.',
|
|
26
|
+
callbackPath: '/api/auth/google-tasks/callback',
|
|
27
|
+
stateCookie: 'google_tasks_oauth_state',
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
allowedHosts: ['tasks.googleapis.com', 'www.googleapis.com'],
|
|
31
|
+
tools: googleTasksTools.map((entry) => defineTool({
|
|
32
|
+
name: entry.name,
|
|
33
|
+
description: entry.description,
|
|
34
|
+
tool: entry.tool,
|
|
35
|
+
requiredAuth: entry.requiredAuth,
|
|
36
|
+
scope: entry.scope ?? inferToolScope(entry.name),
|
|
37
|
+
})),
|
|
38
|
+
meta: { since: '0.0.7' },
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const batchExecute: import("ai").Tool<{
|
|
2
|
+
requests: {
|
|
3
|
+
path: string;
|
|
4
|
+
id: string;
|
|
5
|
+
method: "POST" | "DELETE" | "GET" | "PATCH" | "PUT";
|
|
6
|
+
query?: Record<string, string | number | boolean> | undefined;
|
|
7
|
+
headers?: Record<string, string> | undefined;
|
|
8
|
+
jsonBody?: Record<string, any> | undefined;
|
|
9
|
+
}[];
|
|
10
|
+
googleTasksToken: string;
|
|
11
|
+
maxRequests?: number | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
error: string;
|
|
14
|
+
results?: undefined;
|
|
15
|
+
totalRequests?: undefined;
|
|
16
|
+
successfulCount?: undefined;
|
|
17
|
+
failedCount?: undefined;
|
|
18
|
+
message?: undefined;
|
|
19
|
+
} | {
|
|
20
|
+
results: Record<string, unknown>[];
|
|
21
|
+
totalRequests: number;
|
|
22
|
+
successfulCount: number;
|
|
23
|
+
failedCount: number;
|
|
24
|
+
error?: undefined;
|
|
25
|
+
message?: undefined;
|
|
26
|
+
} | {
|
|
27
|
+
error: string;
|
|
28
|
+
message: string;
|
|
29
|
+
results?: undefined;
|
|
30
|
+
totalRequests?: undefined;
|
|
31
|
+
successfulCount?: undefined;
|
|
32
|
+
failedCount?: undefined;
|
|
33
|
+
}>;
|
|
34
|
+
//# sourceMappingURL=batch-execute.d.ts.map
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { tasksApiRequest } from './utils.js';
|
|
5
|
+
const ALLOWED_METHODS = ['GET', 'POST', 'PATCH', 'PUT', 'DELETE'];
|
|
6
|
+
export const batchExecute = tool({
|
|
7
|
+
description: 'Executes multiple Google Tasks API operations in a single tool call and returns structured per-item results. Use to reduce LLM tool invocations when doing bulk updates, moves, or deletes. Each sub-request still counts toward API quota.',
|
|
8
|
+
inputSchema: z.object({
|
|
9
|
+
googleTasksToken: z.string().describe('The Google Tasks access token'),
|
|
10
|
+
requests: z
|
|
11
|
+
.array(z.object({
|
|
12
|
+
id: z.string().describe("Client-chosen unique id for this sub-request, e.g. 'task1'"),
|
|
13
|
+
method: z.enum(ALLOWED_METHODS).describe('HTTP method, must be uppercase'),
|
|
14
|
+
path: z
|
|
15
|
+
.string()
|
|
16
|
+
.describe("API endpoint path starting with '/tasks/v1/', e.g. '/tasks/v1/lists/@default/tasks'"),
|
|
17
|
+
query: z.record(z.union([z.string(), z.number(), z.boolean()])).optional().describe('Query params as key-value pairs'),
|
|
18
|
+
headers: z.record(z.string()).optional().describe('Optional per-request headers'),
|
|
19
|
+
jsonBody: z.record(z.any()).optional().describe('JSON body for POST/PATCH/PUT requests'),
|
|
20
|
+
}))
|
|
21
|
+
.min(1)
|
|
22
|
+
.describe('Array of sub-requests to execute. Each returns its own result.'),
|
|
23
|
+
maxRequests: z
|
|
24
|
+
.number()
|
|
25
|
+
.min(1)
|
|
26
|
+
.max(1000)
|
|
27
|
+
.optional()
|
|
28
|
+
.describe('Maximum sub-requests allowed in a single batch (default 1000, caps response size)'),
|
|
29
|
+
}),
|
|
30
|
+
execute: async ({ googleTasksToken, requests, maxRequests }) => {
|
|
31
|
+
try {
|
|
32
|
+
const limit = maxRequests ?? 1000;
|
|
33
|
+
if (requests.length > limit) {
|
|
34
|
+
return { error: `Too many sub-requests: got ${requests.length}, max is ${limit}` };
|
|
35
|
+
}
|
|
36
|
+
const results = [];
|
|
37
|
+
for (const sub of requests) {
|
|
38
|
+
const method = String(sub.method).toUpperCase();
|
|
39
|
+
if (!ALLOWED_METHODS.includes(method)) {
|
|
40
|
+
results.push({ id: sub.id, status: 400, error: { message: `Unsupported method: ${sub.method}` } });
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
let path = sub.path;
|
|
44
|
+
if (!path.startsWith('/tasks/v1/')) {
|
|
45
|
+
results.push({
|
|
46
|
+
id: sub.id,
|
|
47
|
+
status: 400,
|
|
48
|
+
error: { message: "path must start with '/tasks/v1/'" },
|
|
49
|
+
});
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
// Strip the '/tasks/v1' prefix since TASKS_API_BASE already includes it.
|
|
53
|
+
path = path.slice('/tasks/v1'.length) || '/';
|
|
54
|
+
const searchParams = {};
|
|
55
|
+
if (sub.query) {
|
|
56
|
+
for (const [k, v] of Object.entries(sub.query)) {
|
|
57
|
+
searchParams[k] = v;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const result = await tasksApiRequest(googleTasksToken, path, {
|
|
61
|
+
method,
|
|
62
|
+
body: method === 'GET' || method === 'DELETE' ? undefined : sub.jsonBody,
|
|
63
|
+
searchParams,
|
|
64
|
+
});
|
|
65
|
+
if (!result.ok) {
|
|
66
|
+
const details = result.error;
|
|
67
|
+
const status = typeof details?.status === 'number'
|
|
68
|
+
? details.status
|
|
69
|
+
: typeof details?.code === 'number'
|
|
70
|
+
? details.code
|
|
71
|
+
: 400;
|
|
72
|
+
results.push({ id: sub.id, status, error: details });
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
const status = method === 'POST' ? 201 : 200;
|
|
76
|
+
results.push({ id: sub.id, status, jsonBody: result.data });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const successfulCount = results.filter((r) => typeof r.status === 'number' && r.status >= 200 && r.status < 300).length;
|
|
80
|
+
return {
|
|
81
|
+
results,
|
|
82
|
+
totalRequests: results.length,
|
|
83
|
+
successfulCount,
|
|
84
|
+
failedCount: results.length - successfulCount,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
return {
|
|
89
|
+
error: 'Error executing batch',
|
|
90
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=batch-execute.js.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { tasksApiRequest } from './utils.js';
|
|
5
|
+
export const clearTasks = tool({
|
|
6
|
+
description: 'Clears all completed tasks from a task list. Use to tidy up a list after tasks are done.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
googleTasksToken: z.string().describe('The Google Tasks access token'),
|
|
9
|
+
taskListId: z.string().describe('The ID of the task list to clear completed tasks from'),
|
|
10
|
+
}),
|
|
11
|
+
execute: async ({ googleTasksToken, taskListId }) => {
|
|
12
|
+
try {
|
|
13
|
+
const result = await tasksApiRequest(googleTasksToken, `/lists/${taskListId}/clear`, {
|
|
14
|
+
method: 'POST',
|
|
15
|
+
});
|
|
16
|
+
if (!result.ok) {
|
|
17
|
+
return { error: 'Failed to clear completed tasks', details: result.error };
|
|
18
|
+
}
|
|
19
|
+
return result.data;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return {
|
|
23
|
+
error: 'Error clearing completed tasks',
|
|
24
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=clear-tasks.js.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { tasksApiRequest } from './utils.js';
|
|
5
|
+
export const createTaskList = tool({
|
|
6
|
+
description: 'Creates a new task list with the given title. Use when the user wants a new list to organize tasks.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
googleTasksToken: z.string().describe('The Google Tasks access token'),
|
|
9
|
+
title: z.string().describe('Title of the new task list'),
|
|
10
|
+
}),
|
|
11
|
+
execute: async ({ googleTasksToken, title }) => {
|
|
12
|
+
try {
|
|
13
|
+
const result = await tasksApiRequest(googleTasksToken, '/users/@me/lists', {
|
|
14
|
+
method: 'POST',
|
|
15
|
+
body: { title },
|
|
16
|
+
});
|
|
17
|
+
if (!result.ok) {
|
|
18
|
+
return { error: 'Failed to create task list', details: result.error };
|
|
19
|
+
}
|
|
20
|
+
return result.data;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return {
|
|
24
|
+
error: 'Error creating task list',
|
|
25
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=create-task-list.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const createTask: import("ai").Tool<{
|
|
2
|
+
title: string;
|
|
3
|
+
googleTasksToken: string;
|
|
4
|
+
taskListId: string;
|
|
5
|
+
status?: "completed" | "needsAction" | undefined;
|
|
6
|
+
completed?: string | undefined;
|
|
7
|
+
parent?: string | undefined;
|
|
8
|
+
notes?: string | undefined;
|
|
9
|
+
due?: string | undefined;
|
|
10
|
+
previous?: string | undefined;
|
|
11
|
+
}, any>;
|
|
12
|
+
//# sourceMappingURL=create-task.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { tasksApiRequest } from './utils.js';
|
|
5
|
+
export const createTask = tool({
|
|
6
|
+
description: 'Creates a new task in a task list. Use to add to-dos with optional notes, due date, subtask parent, or position.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
googleTasksToken: z.string().describe('The Google Tasks access token'),
|
|
9
|
+
taskListId: z.string().describe('The ID of the task list to create the task in'),
|
|
10
|
+
title: z.string().describe('Title of the task'),
|
|
11
|
+
notes: z.string().optional().describe('Notes or details for the task'),
|
|
12
|
+
due: z.string().optional().describe('Due date in RFC 3339 format, e.g. 2026-09-20T00:00:00Z'),
|
|
13
|
+
completed: z.string().optional().describe('Completion timestamp in RFC 3339 format (only with status completed)'),
|
|
14
|
+
status: z.enum(['needsAction', 'completed']).optional().describe('Initial status (default needsAction)'),
|
|
15
|
+
parent: z.string().optional().describe('Parent task ID to create this as a subtask'),
|
|
16
|
+
previous: z.string().optional().describe('Sibling task ID to insert this task after'),
|
|
17
|
+
}),
|
|
18
|
+
execute: async ({ googleTasksToken, taskListId, title, notes, due, completed, status, parent, previous, }) => {
|
|
19
|
+
try {
|
|
20
|
+
const body = { title };
|
|
21
|
+
if (notes !== undefined)
|
|
22
|
+
body.notes = notes;
|
|
23
|
+
if (due !== undefined)
|
|
24
|
+
body.due = due;
|
|
25
|
+
if (completed !== undefined)
|
|
26
|
+
body.completed = completed;
|
|
27
|
+
if (status !== undefined)
|
|
28
|
+
body.status = status;
|
|
29
|
+
const result = await tasksApiRequest(googleTasksToken, `/lists/${taskListId}/tasks`, {
|
|
30
|
+
method: 'POST',
|
|
31
|
+
body,
|
|
32
|
+
searchParams: { parent, previous },
|
|
33
|
+
});
|
|
34
|
+
if (!result.ok) {
|
|
35
|
+
return { error: 'Failed to create task', details: result.error };
|
|
36
|
+
}
|
|
37
|
+
return result.data;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
return {
|
|
41
|
+
error: 'Error creating task',
|
|
42
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=create-task.js.map
|