@rnsk/toolkits 0.0.8 → 0.0.10
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 +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +29 -1
- package/dist/toolkits/bitbucket/icon.d.ts +5 -0
- package/dist/toolkits/bitbucket/icon.js +6 -0
- package/dist/toolkits/bitbucket/manifest.d.ts +3 -0
- package/dist/toolkits/bitbucket/manifest.js +56 -0
- package/dist/toolkits/bitbucket/tools/client.d.ts +38 -0
- package/dist/toolkits/bitbucket/tools/client.js +87 -0
- package/dist/toolkits/bitbucket/tools/commits.d.ts +149 -0
- package/dist/toolkits/bitbucket/tools/commits.js +444 -0
- package/dist/toolkits/bitbucket/tools/index.d.ts +1093 -0
- package/dist/toolkits/bitbucket/tools/index.js +770 -0
- package/dist/toolkits/bitbucket/tools/issues.d.ts +73 -0
- package/dist/toolkits/bitbucket/tools/issues.js +234 -0
- package/dist/toolkits/bitbucket/tools/pipelines.d.ts +124 -0
- package/dist/toolkits/bitbucket/tools/pipelines.js +446 -0
- package/dist/toolkits/bitbucket/tools/pull-requests.d.ts +174 -0
- package/dist/toolkits/bitbucket/tools/pull-requests.js +541 -0
- package/dist/toolkits/bitbucket/tools/reports.d.ts +84 -0
- package/dist/toolkits/bitbucket/tools/reports.js +213 -0
- package/dist/toolkits/bitbucket/tools/repositories.d.ts +156 -0
- package/dist/toolkits/bitbucket/tools/repositories.js +531 -0
- package/dist/toolkits/bitbucket/tools/search.d.ts +17 -0
- package/dist/toolkits/bitbucket/tools/search.js +67 -0
- package/dist/toolkits/bitbucket/tools/snippets.d.ts +34 -0
- package/dist/toolkits/bitbucket/tools/snippets.js +122 -0
- package/dist/toolkits/bitbucket/tools/users-workspaces.d.ts +65 -0
- package/dist/toolkits/bitbucket/tools/users-workspaces.js +294 -0
- package/dist/toolkits/discord/icon.d.ts +5 -0
- package/dist/toolkits/discord/icon.js +12 -0
- package/dist/toolkits/discord/manifest.d.ts +3 -0
- package/dist/toolkits/discord/manifest.js +52 -0
- package/dist/toolkits/discord/tools/applications.d.ts +79 -0
- package/dist/toolkits/discord/tools/applications.js +216 -0
- package/dist/toolkits/discord/tools/client.d.ts +22 -0
- package/dist/toolkits/discord/tools/client.js +69 -0
- package/dist/toolkits/discord/tools/guilds.d.ts +39 -0
- package/dist/toolkits/discord/tools/guilds.js +123 -0
- package/dist/toolkits/discord/tools/index.d.ts +222 -0
- package/dist/toolkits/discord/tools/index.js +170 -0
- package/dist/toolkits/discord/tools/misc.d.ts +7 -0
- package/dist/toolkits/discord/tools/misc.js +40 -0
- package/dist/toolkits/discord/tools/users.d.ts +28 -0
- package/dist/toolkits/discord/tools/users.js +128 -0
- package/dist/toolkits/figma/tools/index.d.ts +1 -1
- package/dist/toolkits/figma/tools/render-images-of-file-nodes.d.ts +1 -1
- package/dist/toolkits/gitlab/icon.d.ts +5 -0
- package/dist/toolkits/gitlab/icon.js +6 -0
- package/dist/toolkits/gitlab/manifest.d.ts +3 -0
- package/dist/toolkits/gitlab/manifest.js +36 -0
- package/dist/toolkits/gitlab/tools/client.d.ts +7 -0
- package/dist/toolkits/gitlab/tools/client.js +45 -0
- package/dist/toolkits/gitlab/tools/index.d.ts +306 -0
- package/dist/toolkits/gitlab/tools/index.js +36 -0
- package/dist/toolkits/gitlab/tools/issues.d.ts +45 -0
- package/dist/toolkits/gitlab/tools/issues.js +103 -0
- package/dist/toolkits/gitlab/tools/merge-requests.d.ts +35 -0
- package/dist/toolkits/gitlab/tools/merge-requests.js +91 -0
- package/dist/toolkits/gitlab/tools/pipelines.d.ts +30 -0
- package/dist/toolkits/gitlab/tools/pipelines.js +66 -0
- package/dist/toolkits/gitlab/tools/projects.d.ts +36 -0
- package/dist/toolkits/gitlab/tools/projects.js +94 -0
- package/dist/toolkits/gitlab/tools/repository.d.ts +21 -0
- package/dist/toolkits/gitlab/tools/repository.js +53 -0
- package/dist/toolkits/gitlab/tools/users-groups.d.ts +11 -0
- package/dist/toolkits/gitlab/tools/users-groups.js +30 -0
- package/dist/toolkits/google-ads/tools/get-rmf-report.d.ts +2 -2
- package/dist/toolkits/google-ads/tools/index.d.ts +2 -2
- package/dist/toolkits/google-analytics/icon.d.ts +5 -0
- package/dist/toolkits/google-analytics/icon.js +11 -0
- package/dist/toolkits/google-analytics/manifest.d.ts +3 -0
- package/dist/toolkits/google-analytics/manifest.js +48 -0
- package/dist/toolkits/google-analytics/tools/admin.d.ts +73 -0
- package/dist/toolkits/google-analytics/tools/admin.js +238 -0
- package/dist/toolkits/google-analytics/tools/audiences.d.ts +81 -0
- package/dist/toolkits/google-analytics/tools/audiences.js +190 -0
- package/dist/toolkits/google-analytics/tools/client.d.ts +47 -0
- package/dist/toolkits/google-analytics/tools/client.js +74 -0
- package/dist/toolkits/google-analytics/tools/custom-definitions.d.ts +62 -0
- package/dist/toolkits/google-analytics/tools/custom-definitions.js +106 -0
- package/dist/toolkits/google-analytics/tools/index.d.ts +16 -0
- package/dist/toolkits/google-analytics/tools/index.js +88 -0
- package/dist/toolkits/google-analytics/tools/links.d.ts +22 -0
- package/dist/toolkits/google-analytics/tools/links.js +56 -0
- package/dist/toolkits/google-analytics/tools/measurement.d.ts +3 -0
- package/dist/toolkits/google-analytics/tools/measurement.js +55 -0
- package/dist/toolkits/google-analytics/tools/reports.d.ts +136 -0
- package/dist/toolkits/google-analytics/tools/reports.js +200 -0
- package/dist/toolkits/google-contacts/icon.d.ts +5 -0
- package/dist/toolkits/google-contacts/icon.js +6 -0
- package/dist/toolkits/google-contacts/manifest.d.ts +3 -0
- package/dist/toolkits/google-contacts/manifest.js +48 -0
- package/dist/toolkits/google-contacts/tools/client.d.ts +19 -0
- package/dist/toolkits/google-contacts/tools/client.js +44 -0
- package/dist/toolkits/google-contacts/tools/contacts.d.ts +94 -0
- package/dist/toolkits/google-contacts/tools/contacts.js +273 -0
- package/dist/toolkits/google-contacts/tools/directory.d.ts +36 -0
- package/dist/toolkits/google-contacts/tools/directory.js +99 -0
- package/dist/toolkits/google-contacts/tools/groups.d.ts +68 -0
- package/dist/toolkits/google-contacts/tools/groups.js +169 -0
- package/dist/toolkits/google-contacts/tools/index.d.ts +347 -0
- package/dist/toolkits/google-contacts/tools/index.js +34 -0
- package/dist/toolkits/google-contacts/tools/photos.d.ts +26 -0
- package/dist/toolkits/google-contacts/tools/photos.js +52 -0
- package/dist/toolkits/google-maps/icon.d.ts +5 -0
- package/dist/toolkits/google-maps/icon.js +39 -0
- package/dist/toolkits/google-maps/manifest.d.ts +3 -0
- package/dist/toolkits/google-maps/manifest.js +55 -0
- package/dist/toolkits/google-maps/tools/client.d.ts +27 -0
- package/dist/toolkits/google-maps/tools/client.js +72 -0
- package/dist/toolkits/google-maps/tools/geocode.d.ts +49 -0
- package/dist/toolkits/google-maps/tools/geocode.js +168 -0
- package/dist/toolkits/google-maps/tools/index.d.ts +432 -0
- package/dist/toolkits/google-maps/tools/index.js +31 -0
- package/dist/toolkits/google-maps/tools/misc.d.ts +70 -0
- package/dist/toolkits/google-maps/tools/misc.js +158 -0
- package/dist/toolkits/google-maps/tools/places.d.ts +112 -0
- package/dist/toolkits/google-maps/tools/places.js +185 -0
- package/dist/toolkits/google-maps/tools/routes.d.ts +48 -0
- package/dist/toolkits/google-maps/tools/routes.js +97 -0
- package/dist/toolkits/google-maps/tools/tiles.d.ts +51 -0
- package/dist/toolkits/google-maps/tools/tiles.js +84 -0
- package/dist/toolkits/google-photos/icon.d.ts +5 -0
- package/dist/toolkits/google-photos/icon.js +6 -0
- package/dist/toolkits/google-photos/manifest.d.ts +3 -0
- package/dist/toolkits/google-photos/manifest.js +47 -0
- package/dist/toolkits/google-photos/tools/albums.d.ts +83 -0
- package/dist/toolkits/google-photos/tools/albums.js +180 -0
- package/dist/toolkits/google-photos/tools/client.d.ts +24 -0
- package/dist/toolkits/google-photos/tools/client.js +77 -0
- package/dist/toolkits/google-photos/tools/index.d.ts +261 -0
- package/dist/toolkits/google-photos/tools/index.js +22 -0
- package/dist/toolkits/google-photos/tools/media.d.ts +52 -0
- package/dist/toolkits/google-photos/tools/media.js +142 -0
- package/dist/toolkits/google-photos/tools/uploads.d.ts +58 -0
- package/dist/toolkits/google-photos/tools/uploads.js +107 -0
- package/dist/toolkits/google-tasks/tools/index.d.ts +1 -1
- package/dist/toolkits/google-tasks/tools/update-task-full.d.ts +1 -1
- package/dist/toolkits/groww/tools/index.d.ts +1 -1
- package/dist/toolkits/groww/tools/instruments.d.ts +1 -1
- package/dist/toolkits/hacker-news/icon.d.ts +5 -0
- package/dist/toolkits/hacker-news/icon.js +9 -0
- package/dist/toolkits/hacker-news/manifest.d.ts +3 -0
- package/dist/toolkits/hacker-news/manifest.js +25 -0
- package/dist/toolkits/hacker-news/tools/client.d.ts +8 -0
- package/dist/toolkits/hacker-news/tools/client.js +51 -0
- package/dist/toolkits/hacker-news/tools/index.d.ts +89 -0
- package/dist/toolkits/hacker-news/tools/index.js +22 -0
- package/dist/toolkits/hacker-news/tools/items.d.ts +42 -0
- package/dist/toolkits/hacker-news/tools/items.js +126 -0
- package/dist/toolkits/hacker-news/tools/search.d.ts +12 -0
- package/dist/toolkits/hacker-news/tools/search.js +40 -0
- package/dist/toolkits/hacker-news/tools/stories.d.ts +25 -0
- package/dist/toolkits/hacker-news/tools/stories.js +98 -0
- package/dist/toolkits/hostinger/icon.d.ts +5 -0
- package/dist/toolkits/hostinger/icon.js +6 -0
- package/dist/toolkits/hostinger/manifest.d.ts +3 -0
- package/dist/toolkits/hostinger/manifest.js +36 -0
- package/dist/toolkits/hostinger/tools/billing.d.ts +12 -0
- package/dist/toolkits/hostinger/tools/billing.js +35 -0
- package/dist/toolkits/hostinger/tools/client.d.ts +6 -0
- package/dist/toolkits/hostinger/tools/client.js +57 -0
- package/dist/toolkits/hostinger/tools/dns.d.ts +22 -0
- package/dist/toolkits/hostinger/tools/dns.js +47 -0
- package/dist/toolkits/hostinger/tools/domains.d.ts +21 -0
- package/dist/toolkits/hostinger/tools/domains.js +62 -0
- package/dist/toolkits/hostinger/tools/hosting.d.ts +17 -0
- package/dist/toolkits/hostinger/tools/hosting.js +38 -0
- package/dist/toolkits/hostinger/tools/index.d.ts +179 -0
- package/dist/toolkits/hostinger/tools/index.js +35 -0
- package/dist/toolkits/hostinger/tools/vps.d.ts +27 -0
- package/dist/toolkits/hostinger/tools/vps.js +77 -0
- package/dist/toolkits/hostinger/tools/whois.d.ts +33 -0
- package/dist/toolkits/hostinger/tools/whois.js +85 -0
- package/dist/toolkits/hugging-face/icon.d.ts +5 -0
- package/dist/toolkits/hugging-face/icon.js +6 -0
- package/dist/toolkits/hugging-face/manifest.d.ts +3 -0
- package/dist/toolkits/hugging-face/manifest.js +42 -0
- package/dist/toolkits/hugging-face/tools/client.d.ts +93 -0
- package/dist/toolkits/hugging-face/tools/client.js +192 -0
- package/dist/toolkits/hugging-face/tools/datasets-viewer.d.ts +65 -0
- package/dist/toolkits/hugging-face/tools/datasets-viewer.js +150 -0
- package/dist/toolkits/hugging-face/tools/datasets.d.ts +160 -0
- package/dist/toolkits/hugging-face/tools/datasets.js +383 -0
- package/dist/toolkits/hugging-face/tools/discussions.d.ts +68 -0
- package/dist/toolkits/hugging-face/tools/discussions.js +144 -0
- package/dist/toolkits/hugging-face/tools/index.d.ts +523 -0
- package/dist/toolkits/hugging-face/tools/index.js +163 -0
- package/dist/toolkits/hugging-face/tools/inference.d.ts +42 -0
- package/dist/toolkits/hugging-face/tools/inference.js +86 -0
- package/dist/toolkits/hugging-face/tools/models.d.ts +117 -0
- package/dist/toolkits/hugging-face/tools/models.js +273 -0
- package/dist/toolkits/hugging-face/tools/papers.d.ts +37 -0
- package/dist/toolkits/hugging-face/tools/papers.js +91 -0
- package/dist/toolkits/hugging-face/tools/repos.d.ts +96 -0
- package/dist/toolkits/hugging-face/tools/repos.js +201 -0
- package/dist/toolkits/hugging-face/tools/settings.d.ts +53 -0
- package/dist/toolkits/hugging-face/tools/settings.js +88 -0
- package/dist/toolkits/hugging-face/tools/spaces.d.ts +245 -0
- package/dist/toolkits/hugging-face/tools/spaces.js +468 -0
- package/dist/toolkits/hugging-face/tools/sql.d.ts +21 -0
- package/dist/toolkits/hugging-face/tools/sql.js +47 -0
- package/dist/toolkits/hugging-face/tools/users.d.ts +60 -0
- package/dist/toolkits/hugging-face/tools/users.js +132 -0
- package/dist/toolkits/hugging-face/tools/webhooks.d.ts +35 -0
- package/dist/toolkits/hugging-face/tools/webhooks.js +87 -0
- package/dist/toolkits/jira/icon.d.ts +5 -0
- package/dist/toolkits/jira/icon.js +6 -0
- package/dist/toolkits/jira/manifest.d.ts +3 -0
- package/dist/toolkits/jira/manifest.js +53 -0
- package/dist/toolkits/jira/tools/boards.d.ts +52 -0
- package/dist/toolkits/jira/tools/boards.js +104 -0
- package/dist/toolkits/jira/tools/client.d.ts +23 -0
- package/dist/toolkits/jira/tools/client.js +270 -0
- package/dist/toolkits/jira/tools/index.d.ts +1280 -0
- package/dist/toolkits/jira/tools/index.js +119 -0
- package/dist/toolkits/jira/tools/issue-fields.d.ts +10 -0
- package/dist/toolkits/jira/tools/issue-fields.js +111 -0
- package/dist/toolkits/jira/tools/issues.d.ts +304 -0
- package/dist/toolkits/jira/tools/issues.js +593 -0
- package/dist/toolkits/jira/tools/meta.d.ts +212 -0
- package/dist/toolkits/jira/tools/meta.js +369 -0
- package/dist/toolkits/jira/tools/projects.d.ts +130 -0
- package/dist/toolkits/jira/tools/projects.js +263 -0
- package/dist/toolkits/jira/tools/search.d.ts +90 -0
- package/dist/toolkits/jira/tools/search.js +181 -0
- package/dist/toolkits/jira/tools/users.d.ts +114 -0
- package/dist/toolkits/jira/tools/users.js +221 -0
- package/dist/toolkits/neo4j/icon.d.ts +5 -0
- package/dist/toolkits/neo4j/icon.js +6 -0
- package/dist/toolkits/neo4j/manifest.d.ts +3 -0
- package/dist/toolkits/neo4j/manifest.js +33 -0
- package/dist/toolkits/neo4j/tools/analytics.d.ts +21 -0
- package/dist/toolkits/neo4j/tools/analytics.js +91 -0
- package/dist/toolkits/neo4j/tools/client.d.ts +6 -0
- package/dist/toolkits/neo4j/tools/client.js +105 -0
- package/dist/toolkits/neo4j/tools/index.d.ts +198 -0
- package/dist/toolkits/neo4j/tools/index.js +30 -0
- package/dist/toolkits/neo4j/tools/instances.d.ts +47 -0
- package/dist/toolkits/neo4j/tools/instances.js +127 -0
- package/dist/toolkits/neo4j/tools/projects.d.ts +44 -0
- package/dist/toolkits/neo4j/tools/projects.js +110 -0
- package/dist/toolkits/neo4j/tools/snapshots.d.ts +20 -0
- package/dist/toolkits/neo4j/tools/snapshots.js +57 -0
- package/dist/toolkits/neon/icon.d.ts +5 -0
- package/dist/toolkits/neon/icon.js +8 -0
- package/dist/toolkits/neon/manifest.d.ts +3 -0
- package/dist/toolkits/neon/manifest.js +36 -0
- package/dist/toolkits/neon/tools/auth.d.ts +115 -0
- package/dist/toolkits/neon/tools/auth.js +286 -0
- package/dist/toolkits/neon/tools/branches.d.ts +189 -0
- package/dist/toolkits/neon/tools/branches.js +465 -0
- package/dist/toolkits/neon/tools/client.d.ts +10 -0
- package/dist/toolkits/neon/tools/client.js +69 -0
- package/dist/toolkits/neon/tools/dataapi.d.ts +42 -0
- package/dist/toolkits/neon/tools/dataapi.js +111 -0
- package/dist/toolkits/neon/tools/endpoints.d.ts +59 -0
- package/dist/toolkits/neon/tools/endpoints.js +163 -0
- package/dist/toolkits/neon/tools/index.d.ts +976 -0
- package/dist/toolkits/neon/tools/index.js +130 -0
- package/dist/toolkits/neon/tools/meta.d.ts +4 -0
- package/dist/toolkits/neon/tools/meta.js +16 -0
- package/dist/toolkits/neon/tools/orgs.d.ts +112 -0
- package/dist/toolkits/neon/tools/orgs.js +303 -0
- package/dist/toolkits/neon/tools/projects.d.ts +177 -0
- package/dist/toolkits/neon/tools/projects.js +468 -0
- package/dist/toolkits/neon/tools/snapshots.d.ts +24 -0
- package/dist/toolkits/neon/tools/snapshots.js +67 -0
- package/dist/toolkits/reddit/tools/index.d.ts +1 -1
- package/dist/toolkits/reddit/tools/search-across-subreddits.d.ts +1 -1
- package/dist/toolkits/slack/icon.d.ts +5 -0
- package/dist/toolkits/slack/icon.js +20 -0
- package/dist/toolkits/slack/manifest.d.ts +3 -0
- package/dist/toolkits/slack/manifest.js +93 -0
- package/dist/toolkits/slack/tools/admin-apps.d.ts +32 -0
- package/dist/toolkits/slack/tools/admin-apps.js +116 -0
- package/dist/toolkits/slack/tools/admin-conversations.d.ts +62 -0
- package/dist/toolkits/slack/tools/admin-conversations.js +246 -0
- package/dist/toolkits/slack/tools/admin-invites.d.ts +19 -0
- package/dist/toolkits/slack/tools/admin-invites.js +75 -0
- package/dist/toolkits/slack/tools/admin-users.d.ts +52 -0
- package/dist/toolkits/slack/tools/admin-users.js +182 -0
- package/dist/toolkits/slack/tools/audit.d.ts +20 -0
- package/dist/toolkits/slack/tools/audit.js +81 -0
- package/dist/toolkits/slack/tools/calls.d.ts +38 -0
- package/dist/toolkits/slack/tools/calls.js +141 -0
- package/dist/toolkits/slack/tools/canvas.d.ts +24 -0
- package/dist/toolkits/slack/tools/canvas.js +102 -0
- package/dist/toolkits/slack/tools/client.d.ts +22 -0
- package/dist/toolkits/slack/tools/client.js +73 -0
- package/dist/toolkits/slack/tools/conversations.d.ts +131 -0
- package/dist/toolkits/slack/tools/conversations.js +463 -0
- package/dist/toolkits/slack/tools/emoji.d.ts +29 -0
- package/dist/toolkits/slack/tools/emoji.js +118 -0
- package/dist/toolkits/slack/tools/files.d.ts +113 -0
- package/dist/toolkits/slack/tools/files.js +368 -0
- package/dist/toolkits/slack/tools/index.d.ts +28 -0
- package/dist/toolkits/slack/tools/index.js +187 -0
- package/dist/toolkits/slack/tools/messages.d.ts +106 -0
- package/dist/toolkits/slack/tools/messages.js +340 -0
- package/dist/toolkits/slack/tools/misc.d.ts +42 -0
- package/dist/toolkits/slack/tools/misc.js +127 -0
- package/dist/toolkits/slack/tools/reactions-stars-pins.d.ts +69 -0
- package/dist/toolkits/slack/tools/reactions-stars-pins.js +236 -0
- package/dist/toolkits/slack/tools/reminders.d.ts +22 -0
- package/dist/toolkits/slack/tools/reminders.js +83 -0
- package/dist/toolkits/slack/tools/search.d.ts +49 -0
- package/dist/toolkits/slack/tools/search.js +155 -0
- package/dist/toolkits/slack/tools/slack-lists.d.ts +65 -0
- package/dist/toolkits/slack/tools/slack-lists.js +282 -0
- package/dist/toolkits/slack/tools/teams.d.ts +75 -0
- package/dist/toolkits/slack/tools/teams.js +285 -0
- package/dist/toolkits/slack/tools/usergroups.d.ts +56 -0
- package/dist/toolkits/slack/tools/usergroups.js +194 -0
- package/dist/toolkits/slack/tools/users.d.ts +87 -0
- package/dist/toolkits/slack/tools/users.js +396 -0
- package/dist/toolkits/youtube/tools/add-video-to-playlist.d.ts +1 -1
- package/dist/toolkits/youtube/tools/delete-video.d.ts +1 -1
- package/dist/toolkits/youtube/tools/index.d.ts +10 -10
- package/dist/toolkits/youtube/tools/list-caption-track.d.ts +1 -1
- package/dist/toolkits/youtube/tools/list-playlist-items.d.ts +1 -1
- package/dist/toolkits/youtube/tools/list-video-categories.d.ts +1 -1
- package/dist/toolkits/youtube/tools/post-comment.d.ts +1 -1
- package/dist/toolkits/youtube/tools/report-video-abuse.d.ts +1 -1
- package/dist/toolkits/youtube/tools/search-youtube.d.ts +1 -1
- package/dist/toolkits/youtube/tools/update-thumbnail.d.ts +1 -1
- package/dist/toolkits/youtube/tools/update-video.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { defineToolkit, defineTool } from '../../core/define.js';
|
|
2
|
+
import { inferToolScope } from '../../core/scope.js';
|
|
3
|
+
import { GMAPS_ICON } from './icon.js';
|
|
4
|
+
import { googleMapsTools } from './tools/index.js';
|
|
5
|
+
export default defineToolkit({
|
|
6
|
+
id: 'google-maps',
|
|
7
|
+
displayName: 'Google Maps',
|
|
8
|
+
shortDescription: 'Search places, geocode addresses, compute routes, and render map tiles.',
|
|
9
|
+
category: 'Developer Tools & DevOps',
|
|
10
|
+
icon: GMAPS_ICON,
|
|
11
|
+
auth: {
|
|
12
|
+
type: 'oauth2',
|
|
13
|
+
tokenField: 'googleMapsToken',
|
|
14
|
+
provider: {
|
|
15
|
+
slug: 'google-maps',
|
|
16
|
+
env: { clientId: 'GOOGLE_MAPS_CLIENT_ID', clientSecret: 'GOOGLE_MAPS_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/cloud-platform',
|
|
21
|
+
'https://www.googleapis.com/auth/maps-platform.geocode',
|
|
22
|
+
'https://www.googleapis.com/auth/maps-platform.geocode.address',
|
|
23
|
+
'https://www.googleapis.com/auth/maps-platform.geocode.location',
|
|
24
|
+
'https://www.googleapis.com/auth/maps-platform.geocode.place',
|
|
25
|
+
],
|
|
26
|
+
exchangeStyle: 'form',
|
|
27
|
+
extraAuthParams: { access_type: 'offline', prompt: 'consent' },
|
|
28
|
+
connectDescription: 'Connect Google Maps for places, geocoding, routes, and tiles.',
|
|
29
|
+
callbackPath: '/api/auth/google-maps/callback',
|
|
30
|
+
stateCookie: 'google_maps_oauth_state',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
allowedHosts: [
|
|
34
|
+
'places.googleapis.com',
|
|
35
|
+
'routes.googleapis.com',
|
|
36
|
+
'geocode.googleapis.com',
|
|
37
|
+
'tile.googleapis.com',
|
|
38
|
+
'aerialview.googleapis.com',
|
|
39
|
+
'www.googleapis.com',
|
|
40
|
+
'maps.googleapis.com',
|
|
41
|
+
],
|
|
42
|
+
tools: googleMapsTools.map((entry) => defineTool({
|
|
43
|
+
name: entry.name,
|
|
44
|
+
description: entry.description,
|
|
45
|
+
tool: entry.tool,
|
|
46
|
+
requiredAuth: entry.requiredAuth,
|
|
47
|
+
scope: entry.scope ?? inferToolScope(entry.name),
|
|
48
|
+
})),
|
|
49
|
+
meta: {
|
|
50
|
+
since: '0.0.8',
|
|
51
|
+
homepage: 'https://maps.google.com',
|
|
52
|
+
docsUrl: 'https://developers.google.com/maps/documentation',
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const PLACES_API_BASE = "https://places.googleapis.com/v1";
|
|
3
|
+
export declare const ROUTES_API_BASE = "https://routes.googleapis.com";
|
|
4
|
+
export declare const GEOCODE_API_BASE = "https://geocode.googleapis.com/v4beta";
|
|
5
|
+
export declare const TILE_API_BASE = "https://tile.googleapis.com/v1";
|
|
6
|
+
export declare const AERIAL_API_BASE = "https://aerialview.googleapis.com/v1";
|
|
7
|
+
export declare const googleMapsTokenField: z.ZodString;
|
|
8
|
+
export declare function buildQuery(params: Record<string, string | number | boolean | undefined>): string;
|
|
9
|
+
export interface MapsRequestOptions {
|
|
10
|
+
method?: string;
|
|
11
|
+
query?: Record<string, string | number | boolean | undefined>;
|
|
12
|
+
body?: unknown;
|
|
13
|
+
headers?: Record<string, string>;
|
|
14
|
+
responseType?: 'json' | 'bytes';
|
|
15
|
+
}
|
|
16
|
+
export declare function mapsRequest(googleMapsToken: string, base: string, path: string, options?: MapsRequestOptions): Promise<{
|
|
17
|
+
ok: false;
|
|
18
|
+
error: any;
|
|
19
|
+
data?: undefined;
|
|
20
|
+
} | {
|
|
21
|
+
ok: true;
|
|
22
|
+
data: any;
|
|
23
|
+
error?: undefined;
|
|
24
|
+
}>;
|
|
25
|
+
export declare function toFieldMask(mask: string | undefined, prefix: string, fallback: string): string;
|
|
26
|
+
export declare function normalizePlaceName(name: string): string;
|
|
27
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export const PLACES_API_BASE = 'https://places.googleapis.com/v1';
|
|
4
|
+
export const ROUTES_API_BASE = 'https://routes.googleapis.com';
|
|
5
|
+
export const GEOCODE_API_BASE = 'https://geocode.googleapis.com/v4beta';
|
|
6
|
+
export const TILE_API_BASE = 'https://tile.googleapis.com/v1';
|
|
7
|
+
export const AERIAL_API_BASE = 'https://aerialview.googleapis.com/v1';
|
|
8
|
+
export const googleMapsTokenField = z.string().describe('Google Maps OAuth access token (Bearer)');
|
|
9
|
+
export function buildQuery(params) {
|
|
10
|
+
const search = new URLSearchParams();
|
|
11
|
+
for (const [key, value] of Object.entries(params)) {
|
|
12
|
+
if (value !== undefined)
|
|
13
|
+
search.set(key, String(value));
|
|
14
|
+
}
|
|
15
|
+
const qs = search.toString();
|
|
16
|
+
return qs ? `?${qs}` : '';
|
|
17
|
+
}
|
|
18
|
+
export async function mapsRequest(googleMapsToken, base, path, options) {
|
|
19
|
+
const url = `${base}${path}${buildQuery(options?.query ?? {})}`;
|
|
20
|
+
const headers = { Authorization: `Bearer ${googleMapsToken}` };
|
|
21
|
+
if (options?.body !== undefined)
|
|
22
|
+
headers['Content-Type'] = 'application/json';
|
|
23
|
+
if (options?.headers)
|
|
24
|
+
Object.assign(headers, options.headers);
|
|
25
|
+
const response = await fetch(url, {
|
|
26
|
+
method: options?.method ?? 'GET',
|
|
27
|
+
headers,
|
|
28
|
+
body: options?.body !== undefined ? JSON.stringify(options.body) : undefined,
|
|
29
|
+
});
|
|
30
|
+
if (!response.ok) {
|
|
31
|
+
const details = await response.json().catch(() => ({}));
|
|
32
|
+
return { ok: false, error: details };
|
|
33
|
+
}
|
|
34
|
+
if (response.status === 204) {
|
|
35
|
+
return { ok: true, data: { success: true } };
|
|
36
|
+
}
|
|
37
|
+
if (options?.responseType === 'bytes') {
|
|
38
|
+
const bytes = Buffer.from(await response.arrayBuffer());
|
|
39
|
+
return {
|
|
40
|
+
ok: true,
|
|
41
|
+
data: { contentBase64: bytes.toString('base64'), byteSize: bytes.length, mimetype: response.headers.get('content-type') ?? 'application/octet-stream' },
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const data = await response.json().catch(() => ({}));
|
|
45
|
+
return { ok: true, data };
|
|
46
|
+
}
|
|
47
|
+
export function toFieldMask(mask, prefix, fallback) {
|
|
48
|
+
if (!mask || mask.trim() === '' || mask.trim() === '*')
|
|
49
|
+
return fallback;
|
|
50
|
+
return mask
|
|
51
|
+
.split(',')
|
|
52
|
+
.map((f) => f.trim())
|
|
53
|
+
.filter(Boolean)
|
|
54
|
+
.map((f) => {
|
|
55
|
+
if (f.startsWith(`${prefix}.`) || f === prefix)
|
|
56
|
+
return f;
|
|
57
|
+
const aliases = {
|
|
58
|
+
name: 'displayName',
|
|
59
|
+
address: 'formattedAddress',
|
|
60
|
+
url: 'websiteUri',
|
|
61
|
+
website: 'websiteUri',
|
|
62
|
+
type: 'types',
|
|
63
|
+
phone: 'nationalPhoneNumber',
|
|
64
|
+
};
|
|
65
|
+
return `${prefix}.${aliases[f] ?? f}`;
|
|
66
|
+
})
|
|
67
|
+
.join(',');
|
|
68
|
+
}
|
|
69
|
+
export function normalizePlaceName(name) {
|
|
70
|
+
return name.startsWith('places/') ? name : `places/${name}`;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare const geocodeAddressWithQuery: import("ai").Tool<{
|
|
2
|
+
googleMapsToken: string;
|
|
3
|
+
addressQuery: string;
|
|
4
|
+
languageCode?: string | undefined;
|
|
5
|
+
regionCode?: string | undefined;
|
|
6
|
+
}, any>;
|
|
7
|
+
export declare const geocodeDestinations: import("ai").Tool<{
|
|
8
|
+
googleMapsToken: string;
|
|
9
|
+
languageCode?: string | undefined;
|
|
10
|
+
regionCode?: string | undefined;
|
|
11
|
+
addressQuery?: string | Record<string, any> | undefined;
|
|
12
|
+
place?: string | undefined;
|
|
13
|
+
locationQuery?: {
|
|
14
|
+
location: {
|
|
15
|
+
latitude: number;
|
|
16
|
+
longitude: number;
|
|
17
|
+
};
|
|
18
|
+
} | undefined;
|
|
19
|
+
travelModes?: ("DRIVE" | "WALK")[] | undefined;
|
|
20
|
+
}, any>;
|
|
21
|
+
export declare const reverseGeocodeLocation: import("ai").Tool<{
|
|
22
|
+
googleMapsToken: string;
|
|
23
|
+
latitude: number;
|
|
24
|
+
longitude: number;
|
|
25
|
+
types?: string[] | undefined;
|
|
26
|
+
languageCode?: string | undefined;
|
|
27
|
+
regionCode?: string | undefined;
|
|
28
|
+
}, any>;
|
|
29
|
+
export declare const geocodePlace: import("ai").Tool<{
|
|
30
|
+
googleMapsToken: string;
|
|
31
|
+
placeId: string;
|
|
32
|
+
languageCode?: string | undefined;
|
|
33
|
+
regionCode?: string | undefined;
|
|
34
|
+
}, any>;
|
|
35
|
+
export declare const geocodingApi: import("ai").Tool<{
|
|
36
|
+
googleMapsToken: string;
|
|
37
|
+
language?: string | undefined;
|
|
38
|
+
key?: string | undefined;
|
|
39
|
+
placeId?: string | undefined;
|
|
40
|
+
address?: string | undefined;
|
|
41
|
+
latlng?: string | undefined;
|
|
42
|
+
bounds?: string | undefined;
|
|
43
|
+
region?: string | undefined;
|
|
44
|
+
components?: string | undefined;
|
|
45
|
+
resultType?: string | undefined;
|
|
46
|
+
locationType?: string | undefined;
|
|
47
|
+
extraComputations?: ("ADDRESS_DESCRIPTORS" | "BUILDING_AND_ENTRANCES")[] | undefined;
|
|
48
|
+
}, any>;
|
|
49
|
+
//# sourceMappingURL=geocode.d.ts.map
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { GEOCODE_API_BASE, googleMapsTokenField, mapsRequest } from './client.js';
|
|
5
|
+
export const geocodeAddressWithQuery = tool({
|
|
6
|
+
description: 'Converts a full address string to coordinates (v4beta). Include city/state/country — vague strings return zero or wrong results. Verify formattedAddress before use.',
|
|
7
|
+
inputSchema: z.object({
|
|
8
|
+
googleMapsToken: googleMapsTokenField,
|
|
9
|
+
addressQuery: z.string().min(1).describe("Full address, e.g. '1600 Amphitheatre Parkway Mountain View CA'"),
|
|
10
|
+
regionCode: z.string().optional().describe("ccTLD region, e.g. 'US'"),
|
|
11
|
+
languageCode: z.string().optional().describe("Language, e.g. 'en'"),
|
|
12
|
+
}),
|
|
13
|
+
execute: async ({ googleMapsToken, addressQuery, regionCode, languageCode }) => {
|
|
14
|
+
try {
|
|
15
|
+
const result = await mapsRequest(googleMapsToken, GEOCODE_API_BASE, '/geocode/address', {
|
|
16
|
+
query: { address: addressQuery, regionCode, languageCode },
|
|
17
|
+
});
|
|
18
|
+
if (!result.ok)
|
|
19
|
+
return { error: 'Failed to geocode address', details: result.error };
|
|
20
|
+
return result.data;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return { error: 'Error geocoding address', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
export const geocodeDestinations = tool({
|
|
28
|
+
description: 'Returns rich destination data (primary place, containing places, sub-destinations, landmarks, entrances, DRIVE/WALK navigation points) for an address, place ID, or coordinates. Provide exactly one lookup.',
|
|
29
|
+
inputSchema: z.object({
|
|
30
|
+
googleMapsToken: googleMapsTokenField,
|
|
31
|
+
place: z.string().optional().describe("Place resource 'places/{placeId}'"),
|
|
32
|
+
addressQuery: z.union([z.string(), z.record(z.any())]).optional().describe('Unstructured address string or structured postal address'),
|
|
33
|
+
locationQuery: z.object({
|
|
34
|
+
location: z.object({ latitude: z.number().min(-90).max(90), longitude: z.number().min(-180).max(180) }),
|
|
35
|
+
}).optional().describe('Coordinates lookup'),
|
|
36
|
+
regionCode: z.string().optional().describe("ccTLD region, e.g. 'US'"),
|
|
37
|
+
languageCode: z.string().optional().describe("Language, e.g. 'en'"),
|
|
38
|
+
travelModes: z.array(z.enum(['DRIVE', 'WALK'])).optional().describe('Filter navigation points'),
|
|
39
|
+
}),
|
|
40
|
+
execute: async ({ googleMapsToken, place, addressQuery, locationQuery, regionCode, languageCode, travelModes }) => {
|
|
41
|
+
try {
|
|
42
|
+
const lookups = [place, addressQuery, locationQuery].filter((v) => v !== undefined);
|
|
43
|
+
if (lookups.length !== 1)
|
|
44
|
+
return { error: 'Provide exactly one of place, addressQuery, or locationQuery' };
|
|
45
|
+
const body = {};
|
|
46
|
+
if (place)
|
|
47
|
+
body.place = place;
|
|
48
|
+
if (addressQuery !== undefined) {
|
|
49
|
+
body.addressQuery = typeof addressQuery === 'string' ? { addressQuery } : { address: addressQuery };
|
|
50
|
+
}
|
|
51
|
+
if (locationQuery)
|
|
52
|
+
body.locationQuery = locationQuery;
|
|
53
|
+
if (regionCode)
|
|
54
|
+
body.regionCode = regionCode;
|
|
55
|
+
if (languageCode)
|
|
56
|
+
body.languageCode = languageCode;
|
|
57
|
+
if (travelModes)
|
|
58
|
+
body.travelModes = travelModes;
|
|
59
|
+
const result = await mapsRequest(googleMapsToken, GEOCODE_API_BASE, '/geocode/destinations', {
|
|
60
|
+
method: 'POST',
|
|
61
|
+
body,
|
|
62
|
+
});
|
|
63
|
+
if (!result.ok)
|
|
64
|
+
return { error: 'Failed to geocode destinations', details: result.error };
|
|
65
|
+
return result.data;
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
return { error: 'Error geocoding destinations', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
export const reverseGeocodeLocation = tool({
|
|
73
|
+
description: 'Converts coordinates to addresses. One coordinate pair can return many results — verify formattedAddress and components before committing.',
|
|
74
|
+
inputSchema: z.object({
|
|
75
|
+
googleMapsToken: googleMapsTokenField,
|
|
76
|
+
latitude: z.number().min(-90).max(90),
|
|
77
|
+
longitude: z.number().min(-180).max(180),
|
|
78
|
+
regionCode: z.string().optional().describe("ccTLD region, e.g. 'US'"),
|
|
79
|
+
languageCode: z.string().optional().describe("BCP-47 language, e.g. 'en'"),
|
|
80
|
+
types: z.array(z.string()).optional().describe('Type tags to keep; others are removed'),
|
|
81
|
+
}),
|
|
82
|
+
execute: async ({ googleMapsToken, latitude, longitude, regionCode, languageCode, types }) => {
|
|
83
|
+
try {
|
|
84
|
+
const result = await mapsRequest(googleMapsToken, GEOCODE_API_BASE, '/geocode/location', {
|
|
85
|
+
query: { location: `${latitude},${longitude}`, regionCode, languageCode, types: types?.join(',') },
|
|
86
|
+
});
|
|
87
|
+
if (!result.ok)
|
|
88
|
+
return { error: 'Failed to reverse geocode', details: result.error };
|
|
89
|
+
return result.data;
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
return { error: 'Error reverse geocoding', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
export const geocodePlace = tool({
|
|
97
|
+
description: 'Looks up address and coordinates for a place ID (places/{id} or bare ID).',
|
|
98
|
+
inputSchema: z.object({
|
|
99
|
+
googleMapsToken: googleMapsTokenField,
|
|
100
|
+
placeId: z.string().describe("Place ID, e.g. 'ChIJj61dQgK6j4AR4GeTYWZsKWw' or 'places/...'"),
|
|
101
|
+
regionCode: z.string().optional().describe("ccTLD region, e.g. 'US'"),
|
|
102
|
+
languageCode: z.string().optional().describe("Language, e.g. 'en' (default en)"),
|
|
103
|
+
}),
|
|
104
|
+
execute: async ({ googleMapsToken, placeId, regionCode, languageCode }) => {
|
|
105
|
+
try {
|
|
106
|
+
const place = placeId.startsWith('places/') ? placeId : `places/${placeId}`;
|
|
107
|
+
const result = await mapsRequest(googleMapsToken, GEOCODE_API_BASE, '/geocode/place', {
|
|
108
|
+
query: { place, regionCode, languageCode },
|
|
109
|
+
});
|
|
110
|
+
if (!result.ok)
|
|
111
|
+
return { error: 'Failed to geocode place', details: result.error };
|
|
112
|
+
return result.data;
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
return { error: 'Error geocoding place', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
export const geocodingApi = tool({
|
|
120
|
+
description: 'Unified v4beta geocoder: forward (address), reverse (latlng), or place-ID lookup. Provide exactly one of address, latlng, or placeId.',
|
|
121
|
+
inputSchema: z.object({
|
|
122
|
+
googleMapsToken: googleMapsTokenField,
|
|
123
|
+
address: z.string().optional().describe("Street address to geocode, e.g. '1600 Amphitheatre Parkway, Mountain View, CA'"),
|
|
124
|
+
latlng: z.string().optional().describe("Coordinates for reverse geocoding, e.g. '40.714224,-73.961452'"),
|
|
125
|
+
placeId: z.string().optional().describe('Place ID for place geocoding'),
|
|
126
|
+
key: z.string().optional().describe('API key override (uses OAuth by default)'),
|
|
127
|
+
bounds: z.string().optional().describe('Bias viewport sw_lat,sw_lng|ne_lat,ne_lng'),
|
|
128
|
+
region: z.string().optional().describe("Bias ccTLD region, e.g. 'US'"),
|
|
129
|
+
language: z.string().optional().describe("Result language, e.g. 'en'"),
|
|
130
|
+
components: z.string().optional().describe("Restrictive filters, e.g. 'postal_code:94043|country:US'"),
|
|
131
|
+
resultType: z.string().optional().describe("Filter types for reverse/place, e.g. 'street_address|locality'"),
|
|
132
|
+
locationType: z.string().optional().describe("Filter location types, e.g. 'ROOFTOP|RANGE_INTERPOLATED'"),
|
|
133
|
+
extraComputations: z.array(z.enum(['ADDRESS_DESCRIPTORS', 'BUILDING_AND_ENTRANCES'])).optional(),
|
|
134
|
+
}),
|
|
135
|
+
execute: async ({ googleMapsToken, address, latlng, placeId, key, ...rest }) => {
|
|
136
|
+
try {
|
|
137
|
+
const modes = [address, latlng, placeId].filter((v) => v !== undefined);
|
|
138
|
+
if (modes.length !== 1)
|
|
139
|
+
return { error: 'Provide exactly one of address, latlng, or placeId' };
|
|
140
|
+
const query = { key };
|
|
141
|
+
for (const [k, v] of Object.entries(rest))
|
|
142
|
+
if (v !== undefined)
|
|
143
|
+
query[k] = String(v);
|
|
144
|
+
let path;
|
|
145
|
+
if (address) {
|
|
146
|
+
path = '/geocode/address';
|
|
147
|
+
query.address = address;
|
|
148
|
+
}
|
|
149
|
+
else if (latlng) {
|
|
150
|
+
path = '/geocode/location';
|
|
151
|
+
const [latitude, longitude] = latlng.split(',').map((s) => s.trim());
|
|
152
|
+
query.location = `${latitude},${longitude}`;
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
path = '/geocode/place';
|
|
156
|
+
query.place = placeId.startsWith('places/') ? placeId : `places/${placeId}`;
|
|
157
|
+
}
|
|
158
|
+
const result = await mapsRequest(googleMapsToken, GEOCODE_API_BASE, path, { query });
|
|
159
|
+
if (!result.ok)
|
|
160
|
+
return { error: 'Failed to geocode', details: result.error };
|
|
161
|
+
return result.data;
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
return { error: 'Error geocoding', message: error instanceof Error ? error.message : 'Unknown error' };
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
//# sourceMappingURL=geocode.js.map
|