mcp-google-multi 5.4.1-alpha.2 → 6.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +21 -16
  2. package/dist/accounts.d.ts +44 -5
  3. package/dist/accounts.js +267 -25
  4. package/dist/auth.d.ts +11 -4
  5. package/dist/auth.js +85 -78
  6. package/dist/client-config.d.ts +90 -0
  7. package/dist/client-config.js +282 -0
  8. package/dist/client.js +10 -4
  9. package/dist/config-file.d.ts +38 -0
  10. package/dist/config-file.js +117 -0
  11. package/dist/discover.js +57 -3
  12. package/dist/doctor.d.ts +86 -0
  13. package/dist/doctor.js +384 -0
  14. package/dist/env-load.d.ts +11 -0
  15. package/dist/env-load.js +52 -0
  16. package/dist/executor.d.ts +2 -0
  17. package/dist/executor.js +2 -1
  18. package/dist/fanout.js +8 -5
  19. package/dist/fs-atomic.d.ts +3 -0
  20. package/dist/fs-atomic.js +123 -0
  21. package/dist/http-config.d.ts +35 -0
  22. package/dist/http-config.js +113 -0
  23. package/dist/http-transport.d.ts +59 -0
  24. package/dist/http-transport.js +269 -0
  25. package/dist/identity.d.ts +24 -0
  26. package/dist/identity.js +19 -0
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.js +199 -18
  29. package/dist/master-key.d.ts +53 -0
  30. package/dist/master-key.js +242 -0
  31. package/dist/mcp-token.d.ts +81 -0
  32. package/dist/mcp-token.js +176 -0
  33. package/dist/migrate-config.d.ts +7 -0
  34. package/dist/migrate-config.js +103 -0
  35. package/dist/migrate-tokens.js +4 -3
  36. package/dist/net-tuning.d.ts +8 -0
  37. package/dist/net-tuning.js +25 -0
  38. package/dist/oauth-as.d.ts +52 -0
  39. package/dist/oauth-as.js +457 -0
  40. package/dist/oauth-consent.d.ts +28 -0
  41. package/dist/oauth-consent.js +109 -0
  42. package/dist/open-url.d.ts +1 -0
  43. package/dist/open-url.js +30 -0
  44. package/dist/reauth-hint.d.ts +2 -0
  45. package/dist/reauth-hint.js +15 -0
  46. package/dist/registry-transfer.d.ts +41 -0
  47. package/dist/registry-transfer.js +219 -0
  48. package/dist/registry.d.ts +27 -1
  49. package/dist/registry.js +117 -6
  50. package/dist/scope-catalog.d.ts +19 -0
  51. package/dist/scope-catalog.js +182 -0
  52. package/dist/scope-observability.d.ts +78 -0
  53. package/dist/scope-observability.js +192 -0
  54. package/dist/services.js +1 -1
  55. package/dist/setup-prompt.d.ts +9 -0
  56. package/dist/setup-prompt.js +59 -0
  57. package/dist/ssrf-guard.d.ts +48 -0
  58. package/dist/ssrf-guard.js +242 -0
  59. package/dist/token-store.js +23 -125
  60. package/dist/tools/_errors.d.ts +8 -2
  61. package/dist/tools/_errors.js +97 -6
  62. package/dist/tools/account-wizard.d.ts +33 -0
  63. package/dist/tools/account-wizard.js +284 -0
  64. package/dist/tools/accounts-tool.d.ts +8 -5
  65. package/dist/tools/accounts-tool.js +38 -15
  66. package/dist/tools/admin.js +2 -2
  67. package/dist/tools/calendar.js +2 -2
  68. package/dist/tools/chat.js +2 -2
  69. package/dist/tools/contacts.d.ts +40 -0
  70. package/dist/tools/contacts.js +135 -2
  71. package/dist/tools/docs.d.ts +3 -0
  72. package/dist/tools/docs.js +60 -9
  73. package/dist/tools/drive.d.ts +3 -0
  74. package/dist/tools/drive.js +60 -8
  75. package/dist/tools/forms.js +4 -2
  76. package/dist/tools/generated/_shared.d.ts +1 -3
  77. package/dist/tools/generated/_shared.js +3 -3
  78. package/dist/tools/generated/admin.js +175 -132
  79. package/dist/tools/generated/appsmarket.js +6 -2
  80. package/dist/tools/generated/calendar.js +45 -27
  81. package/dist/tools/generated/chat.js +81 -47
  82. package/dist/tools/generated/classroom.js +131 -104
  83. package/dist/tools/generated/cloudidentity.js +73 -61
  84. package/dist/tools/generated/cloudsearch.js +59 -49
  85. package/dist/tools/generated/contacts.js +22 -14
  86. package/dist/tools/generated/drive.js +51 -35
  87. package/dist/tools/generated/driveactivity.js +5 -1
  88. package/dist/tools/generated/drivelabels.js +30 -25
  89. package/dist/tools/generated/forms.js +7 -3
  90. package/dist/tools/generated/gmail.js +73 -58
  91. package/dist/tools/generated/groupsmigration.js +5 -1
  92. package/dist/tools/generated/groupssettings.js +7 -3
  93. package/dist/tools/generated/keep.js +12 -7
  94. package/dist/tools/generated/licensing.js +11 -7
  95. package/dist/tools/generated/meet.js +20 -13
  96. package/dist/tools/generated/postmaster.js +8 -4
  97. package/dist/tools/generated/reseller.js +22 -17
  98. package/dist/tools/generated/script.js +26 -16
  99. package/dist/tools/generated/sheets.js +11 -7
  100. package/dist/tools/generated/tasks.js +6 -2
  101. package/dist/tools/generated/vault.js +38 -33
  102. package/dist/tools/generated/workspaceevents.js +12 -7
  103. package/dist/tools/gmail-mime.d.ts +38 -8
  104. package/dist/tools/gmail-mime.js +75 -71
  105. package/dist/tools/gmail.d.ts +31 -0
  106. package/dist/tools/gmail.js +483 -99
  107. package/dist/tools/google-api.js +7 -4
  108. package/dist/tools/meet.js +2 -2
  109. package/dist/tools/searchconsole.js +2 -2
  110. package/dist/tools/sheets.js +6 -2
  111. package/dist/tools/slides.js +4 -2
  112. package/dist/tools/tasks.js +2 -2
  113. package/dist/types.d.ts +1 -1
  114. package/dist/write-control.d.ts +24 -1
  115. package/dist/write-control.js +26 -1
  116. package/package.json +26 -7
@@ -2,11 +2,15 @@
2
2
  import { z } from 'zod';
3
3
  import { accountField, registerGeneratedTool } from './_shared.js';
4
4
  export function registerAppsmarketGeneratedTools(registry) {
5
+ // Interned method scope sets (shared across tools; see scope-observability).
6
+ const S_appsmarket_v2 = [
7
+ ["https://www.googleapis.com/auth/appsmarketplace.license"],
8
+ ];
5
9
  registerGeneratedTool(registry, {
6
10
  name: "appsmarket_customer_license_get",
7
11
  cud: "read",
8
12
  description: "Gets the customer's licensing status to determine if they have access to a given app. For more information, see [Getting app installation and licensing details]",
9
- method: { id: "appsmarket.customerLicense.get", httpMethod: "GET", path: "appsmarket/v2/customerLicense/{applicationId}/{customerId}", baseUrl: "https://appsmarket.googleapis.com/", requiredParams: ["applicationId", "customerId"] },
13
+ method: { id: "appsmarket.customerLicense.get", httpMethod: "GET", path: "appsmarket/v2/customerLicense/{applicationId}/{customerId}", baseUrl: "https://appsmarket.googleapis.com/", requiredParams: ["applicationId", "customerId"], scopes: S_appsmarket_v2[0] },
10
14
  params: [{ "field": "applicationId", "api": "applicationId", "location": "path" }, { "field": "customerId", "api": "customerId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
11
15
  hasBody: false,
12
16
  shape: {
@@ -20,7 +24,7 @@ export function registerAppsmarketGeneratedTools(registry) {
20
24
  name: "appsmarket_user_license_get",
21
25
  cud: "read",
22
26
  description: "Gets the user's licensing status to determine if they have permission to use a given app. For more information, see [Getting app installation and licensing deta",
23
- method: { id: "appsmarket.userLicense.get", httpMethod: "GET", path: "appsmarket/v2/userLicense/{applicationId}/{userId}", baseUrl: "https://appsmarket.googleapis.com/", requiredParams: ["applicationId", "userId"] },
27
+ method: { id: "appsmarket.userLicense.get", httpMethod: "GET", path: "appsmarket/v2/userLicense/{applicationId}/{userId}", baseUrl: "https://appsmarket.googleapis.com/", requiredParams: ["applicationId", "userId"], scopes: S_appsmarket_v2[0] },
24
28
  params: [{ "field": "applicationId", "api": "applicationId", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
25
29
  hasBody: false,
26
30
  shape: {
@@ -3,11 +3,29 @@ import { z } from 'zod';
3
3
  import { coerceArray, coerceBoolean, coerceJson } from '../_coerce.js';
4
4
  import { accountField, registerGeneratedTool } from './_shared.js';
5
5
  export function registerCalendarGeneratedTools(registry) {
6
+ // Interned method scope sets (shared across tools; see scope-observability).
7
+ const S_calendar_v3 = [
8
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.acls"],
9
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.acls", "https://www.googleapis.com/auth/calendar.acls.readonly", "https://www.googleapis.com/auth/calendar.readonly"],
10
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.acls", "https://www.googleapis.com/auth/calendar.acls.readonly"],
11
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.calendarlist"],
12
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.calendarlist", "https://www.googleapis.com/auth/calendar.calendarlist.readonly", "https://www.googleapis.com/auth/calendar.readonly"],
13
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.calendarlist"],
14
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.calendarlist", "https://www.googleapis.com/auth/calendar.calendarlist.readonly", "https://www.googleapis.com/auth/calendar.readonly"],
15
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.calendars"],
16
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.calendars"],
17
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.calendars", "https://www.googleapis.com/auth/calendar.calendars.readonly", "https://www.googleapis.com/auth/calendar.readonly"],
18
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.acls", "https://www.googleapis.com/auth/calendar.acls.readonly", "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.calendarlist", "https://www.googleapis.com/auth/calendar.calendarlist.readonly", "https://www.googleapis.com/auth/calendar.events", "https://www.googleapis.com/auth/calendar.events.freebusy", "https://www.googleapis.com/auth/calendar.events.owned", "https://www.googleapis.com/auth/calendar.events.owned.readonly", "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.events.readonly", "https://www.googleapis.com/auth/calendar.readonly", "https://www.googleapis.com/auth/calendar.settings.readonly"],
19
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.calendarlist", "https://www.googleapis.com/auth/calendar.calendarlist.readonly", "https://www.googleapis.com/auth/calendar.events.freebusy", "https://www.googleapis.com/auth/calendar.events.owned", "https://www.googleapis.com/auth/calendar.events.owned.readonly", "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.readonly"],
20
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.events", "https://www.googleapis.com/auth/calendar.events.owned"],
21
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.events", "https://www.googleapis.com/auth/calendar.events.freebusy", "https://www.googleapis.com/auth/calendar.events.owned", "https://www.googleapis.com/auth/calendar.events.owned.readonly", "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.events.readonly", "https://www.googleapis.com/auth/calendar.readonly"],
22
+ ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly", "https://www.googleapis.com/auth/calendar.settings.readonly"],
23
+ ];
6
24
  registerGeneratedTool(registry, {
7
25
  name: "calendar_acl_delete",
8
26
  cud: "delete",
9
27
  description: "Deletes an access control rule.",
10
- method: { id: "calendar.acl.delete", httpMethod: "DELETE", path: "calendars/{calendarId}/acl/{ruleId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "ruleId"] },
28
+ method: { id: "calendar.acl.delete", httpMethod: "DELETE", path: "calendars/{calendarId}/acl/{ruleId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "ruleId"], scopes: S_calendar_v3[0] },
11
29
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "ruleId", "api": "ruleId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
12
30
  hasBody: false,
13
31
  shape: {
@@ -21,7 +39,7 @@ export function registerCalendarGeneratedTools(registry) {
21
39
  name: "calendar_acl_get",
22
40
  cud: "read",
23
41
  description: "Returns an access control rule.",
24
- method: { id: "calendar.acl.get", httpMethod: "GET", path: "calendars/{calendarId}/acl/{ruleId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "ruleId"] },
42
+ method: { id: "calendar.acl.get", httpMethod: "GET", path: "calendars/{calendarId}/acl/{ruleId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "ruleId"], scopes: S_calendar_v3[1] },
25
43
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "ruleId", "api": "ruleId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
26
44
  hasBody: false,
27
45
  shape: {
@@ -35,7 +53,7 @@ export function registerCalendarGeneratedTools(registry) {
35
53
  name: "calendar_acl_insert",
36
54
  cud: "create",
37
55
  description: "Creates an access control rule.",
38
- method: { id: "calendar.acl.insert", httpMethod: "POST", path: "calendars/{calendarId}/acl", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
56
+ method: { id: "calendar.acl.insert", httpMethod: "POST", path: "calendars/{calendarId}/acl", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[0] },
39
57
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "sendNotifications", "api": "sendNotifications", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
40
58
  hasBody: true,
41
59
  shape: {
@@ -50,7 +68,7 @@ export function registerCalendarGeneratedTools(registry) {
50
68
  name: "calendar_acl_list",
51
69
  cud: "read",
52
70
  description: "Returns the rules in the access control list for the calendar.",
53
- method: { id: "calendar.acl.list", httpMethod: "GET", path: "calendars/{calendarId}/acl", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
71
+ method: { id: "calendar.acl.list", httpMethod: "GET", path: "calendars/{calendarId}/acl", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[2] },
54
72
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "maxResults", "api": "maxResults", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "showDeleted", "api": "showDeleted", "location": "query" }, { "field": "syncToken", "api": "syncToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
55
73
  hasBody: false,
56
74
  shape: {
@@ -67,7 +85,7 @@ export function registerCalendarGeneratedTools(registry) {
67
85
  name: "calendar_acl_patch",
68
86
  cud: "update",
69
87
  description: "Updates an access control rule. This method supports patch semantics.",
70
- method: { id: "calendar.acl.patch", httpMethod: "PATCH", path: "calendars/{calendarId}/acl/{ruleId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "ruleId"] },
88
+ method: { id: "calendar.acl.patch", httpMethod: "PATCH", path: "calendars/{calendarId}/acl/{ruleId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "ruleId"], scopes: S_calendar_v3[0] },
71
89
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "ruleId", "api": "ruleId", "location": "path" }, { "field": "sendNotifications", "api": "sendNotifications", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
72
90
  hasBody: true,
73
91
  shape: {
@@ -83,7 +101,7 @@ export function registerCalendarGeneratedTools(registry) {
83
101
  name: "calendar_acl_update",
84
102
  cud: "update",
85
103
  description: "Updates an access control rule.",
86
- method: { id: "calendar.acl.update", httpMethod: "PUT", path: "calendars/{calendarId}/acl/{ruleId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "ruleId"] },
104
+ method: { id: "calendar.acl.update", httpMethod: "PUT", path: "calendars/{calendarId}/acl/{ruleId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "ruleId"], scopes: S_calendar_v3[0] },
87
105
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "ruleId", "api": "ruleId", "location": "path" }, { "field": "sendNotifications", "api": "sendNotifications", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
88
106
  hasBody: true,
89
107
  shape: {
@@ -99,7 +117,7 @@ export function registerCalendarGeneratedTools(registry) {
99
117
  name: "calendar_acl_watch",
100
118
  cud: "create",
101
119
  description: "Watch for changes to ACL resources.",
102
- method: { id: "calendar.acl.watch", httpMethod: "POST", path: "calendars/{calendarId}/acl/watch", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
120
+ method: { id: "calendar.acl.watch", httpMethod: "POST", path: "calendars/{calendarId}/acl/watch", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[2] },
103
121
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "maxResults", "api": "maxResults", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "showDeleted", "api": "showDeleted", "location": "query" }, { "field": "syncToken", "api": "syncToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
104
122
  hasBody: true,
105
123
  shape: {
@@ -117,7 +135,7 @@ export function registerCalendarGeneratedTools(registry) {
117
135
  name: "calendar_calendar_list_delete",
118
136
  cud: "delete",
119
137
  description: "Removes a calendar from the user's calendar list.",
120
- method: { id: "calendar.calendarList.delete", httpMethod: "DELETE", path: "users/me/calendarList/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
138
+ method: { id: "calendar.calendarList.delete", httpMethod: "DELETE", path: "users/me/calendarList/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[3] },
121
139
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
122
140
  hasBody: false,
123
141
  shape: {
@@ -130,7 +148,7 @@ export function registerCalendarGeneratedTools(registry) {
130
148
  name: "calendar_calendar_list_get",
131
149
  cud: "read",
132
150
  description: "Returns a calendar from the user's calendar list.",
133
- method: { id: "calendar.calendarList.get", httpMethod: "GET", path: "users/me/calendarList/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
151
+ method: { id: "calendar.calendarList.get", httpMethod: "GET", path: "users/me/calendarList/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[4] },
134
152
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
135
153
  hasBody: false,
136
154
  shape: {
@@ -143,7 +161,7 @@ export function registerCalendarGeneratedTools(registry) {
143
161
  name: "calendar_calendar_list_insert",
144
162
  cud: "create",
145
163
  description: "Inserts an existing calendar into the user's calendar list.",
146
- method: { id: "calendar.calendarList.insert", httpMethod: "POST", path: "users/me/calendarList", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [] },
164
+ method: { id: "calendar.calendarList.insert", httpMethod: "POST", path: "users/me/calendarList", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [], scopes: S_calendar_v3[5] },
147
165
  params: [{ "field": "colorRgbFormat", "api": "colorRgbFormat", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
148
166
  hasBody: true,
149
167
  shape: {
@@ -157,7 +175,7 @@ export function registerCalendarGeneratedTools(registry) {
157
175
  name: "calendar_calendar_list_patch",
158
176
  cud: "update",
159
177
  description: "Updates an existing calendar on the user's calendar list. This method supports patch semantics.",
160
- method: { id: "calendar.calendarList.patch", httpMethod: "PATCH", path: "users/me/calendarList/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
178
+ method: { id: "calendar.calendarList.patch", httpMethod: "PATCH", path: "users/me/calendarList/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[3] },
161
179
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "colorRgbFormat", "api": "colorRgbFormat", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
162
180
  hasBody: true,
163
181
  shape: {
@@ -172,7 +190,7 @@ export function registerCalendarGeneratedTools(registry) {
172
190
  name: "calendar_calendar_list_update",
173
191
  cud: "update",
174
192
  description: "Updates an existing calendar on the user's calendar list.",
175
- method: { id: "calendar.calendarList.update", httpMethod: "PUT", path: "users/me/calendarList/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
193
+ method: { id: "calendar.calendarList.update", httpMethod: "PUT", path: "users/me/calendarList/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[3] },
176
194
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "colorRgbFormat", "api": "colorRgbFormat", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
177
195
  hasBody: true,
178
196
  shape: {
@@ -187,7 +205,7 @@ export function registerCalendarGeneratedTools(registry) {
187
205
  name: "calendar_calendar_list_watch",
188
206
  cud: "create",
189
207
  description: "Watch for changes to CalendarList resources.",
190
- method: { id: "calendar.calendarList.watch", httpMethod: "POST", path: "users/me/calendarList/watch", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [] },
208
+ method: { id: "calendar.calendarList.watch", httpMethod: "POST", path: "users/me/calendarList/watch", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [], scopes: S_calendar_v3[6] },
191
209
  params: [{ "field": "maxResults", "api": "maxResults", "location": "query" }, { "field": "minAccessRole", "api": "minAccessRole", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "showDeleted", "api": "showDeleted", "location": "query" }, { "field": "showHidden", "api": "showHidden", "location": "query" }, { "field": "showOwnOrganizationOnly", "api": "showOwnOrganizationOnly", "location": "query" }, { "field": "syncToken", "api": "syncToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
192
210
  hasBody: true,
193
211
  shape: {
@@ -207,7 +225,7 @@ export function registerCalendarGeneratedTools(registry) {
207
225
  name: "calendar_calendars_clear",
208
226
  cud: "delete",
209
227
  description: "Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account.",
210
- method: { id: "calendar.calendars.clear", httpMethod: "POST", path: "calendars/{calendarId}/clear", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
228
+ method: { id: "calendar.calendars.clear", httpMethod: "POST", path: "calendars/{calendarId}/clear", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[7] },
211
229
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
212
230
  hasBody: false,
213
231
  shape: {
@@ -220,7 +238,7 @@ export function registerCalendarGeneratedTools(registry) {
220
238
  name: "calendar_calendars_delete",
221
239
  cud: "delete",
222
240
  description: "Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars.",
223
- method: { id: "calendar.calendars.delete", httpMethod: "DELETE", path: "calendars/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
241
+ method: { id: "calendar.calendars.delete", httpMethod: "DELETE", path: "calendars/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[8] },
224
242
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
225
243
  hasBody: false,
226
244
  shape: {
@@ -233,7 +251,7 @@ export function registerCalendarGeneratedTools(registry) {
233
251
  name: "calendar_calendars_get",
234
252
  cud: "read",
235
253
  description: "Returns metadata for a calendar.",
236
- method: { id: "calendar.calendars.get", httpMethod: "GET", path: "calendars/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
254
+ method: { id: "calendar.calendars.get", httpMethod: "GET", path: "calendars/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[9] },
237
255
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
238
256
  hasBody: false,
239
257
  shape: {
@@ -246,7 +264,7 @@ export function registerCalendarGeneratedTools(registry) {
246
264
  name: "calendar_calendars_patch",
247
265
  cud: "update",
248
266
  description: "Updates metadata for a calendar. This method supports patch semantics.",
249
- method: { id: "calendar.calendars.patch", httpMethod: "PATCH", path: "calendars/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
267
+ method: { id: "calendar.calendars.patch", httpMethod: "PATCH", path: "calendars/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[8] },
250
268
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
251
269
  hasBody: true,
252
270
  shape: {
@@ -260,7 +278,7 @@ export function registerCalendarGeneratedTools(registry) {
260
278
  name: "calendar_calendars_transfer_ownership",
261
279
  cud: "create",
262
280
  description: "Transfers a secondary calendar between users within a Google Workspace organization. Requires user authentication with Manage Calendars administrator privilege,",
263
- method: { id: "calendar.calendars.transferOwnership", httpMethod: "POST", path: "calendars/{calendarId}/transferOwnership", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "newDataOwner", "useAdminAccess"] },
281
+ method: { id: "calendar.calendars.transferOwnership", httpMethod: "POST", path: "calendars/{calendarId}/transferOwnership", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "newDataOwner", "useAdminAccess"], scopes: S_calendar_v3[7] },
264
282
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "newDataOwner", "api": "newDataOwner", "location": "query" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
265
283
  hasBody: false,
266
284
  shape: {
@@ -275,7 +293,7 @@ export function registerCalendarGeneratedTools(registry) {
275
293
  name: "calendar_calendars_update",
276
294
  cud: "update",
277
295
  description: "Updates metadata for a calendar.",
278
- method: { id: "calendar.calendars.update", httpMethod: "PUT", path: "calendars/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
296
+ method: { id: "calendar.calendars.update", httpMethod: "PUT", path: "calendars/{calendarId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[8] },
279
297
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
280
298
  hasBody: true,
281
299
  shape: {
@@ -289,7 +307,7 @@ export function registerCalendarGeneratedTools(registry) {
289
307
  name: "calendar_channels_stop",
290
308
  cud: "create",
291
309
  description: "Stop watching resources through this channel",
292
- method: { id: "calendar.channels.stop", httpMethod: "POST", path: "channels/stop", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [] },
310
+ method: { id: "calendar.channels.stop", httpMethod: "POST", path: "channels/stop", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [], scopes: S_calendar_v3[10] },
293
311
  params: [{ "field": "fields", "api": "fields", "location": "query" }],
294
312
  hasBody: true,
295
313
  shape: {
@@ -302,7 +320,7 @@ export function registerCalendarGeneratedTools(registry) {
302
320
  name: "calendar_colors_get",
303
321
  cud: "read",
304
322
  description: "Returns the color definitions for calendars and events.",
305
- method: { id: "calendar.colors.get", httpMethod: "GET", path: "colors", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [] },
323
+ method: { id: "calendar.colors.get", httpMethod: "GET", path: "colors", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [], scopes: S_calendar_v3[11] },
306
324
  params: [{ "field": "fields", "api": "fields", "location": "query" }],
307
325
  hasBody: false,
308
326
  shape: {
@@ -314,7 +332,7 @@ export function registerCalendarGeneratedTools(registry) {
314
332
  name: "calendar_events_import",
315
333
  cud: "create",
316
334
  description: "Imports an event. This operation is used to add a private copy of an existing event to a calendar. Only events with an eventType of default may be imported.",
317
- method: { id: "calendar.events.import", httpMethod: "POST", path: "calendars/{calendarId}/events/import", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
335
+ method: { id: "calendar.events.import", httpMethod: "POST", path: "calendars/{calendarId}/events/import", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[12] },
318
336
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "conferenceDataVersion", "api": "conferenceDataVersion", "location": "query" }, { "field": "eventLabelVersion", "api": "eventLabelVersion", "location": "query" }, { "field": "supportsAttachments", "api": "supportsAttachments", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
319
337
  hasBody: true,
320
338
  shape: {
@@ -331,7 +349,7 @@ export function registerCalendarGeneratedTools(registry) {
331
349
  name: "calendar_events_update",
332
350
  cud: "update",
333
351
  description: "Updates an event.",
334
- method: { id: "calendar.events.update", httpMethod: "PUT", path: "calendars/{calendarId}/events/{eventId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "eventId"] },
352
+ method: { id: "calendar.events.update", httpMethod: "PUT", path: "calendars/{calendarId}/events/{eventId}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId", "eventId"], scopes: S_calendar_v3[12] },
335
353
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "eventId", "api": "eventId", "location": "path" }, { "field": "alwaysIncludeEmail", "api": "alwaysIncludeEmail", "location": "query" }, { "field": "conferenceDataVersion", "api": "conferenceDataVersion", "location": "query" }, { "field": "eventLabelVersion", "api": "eventLabelVersion", "location": "query" }, { "field": "maxAttendees", "api": "maxAttendees", "location": "query" }, { "field": "sendNotifications", "api": "sendNotifications", "location": "query" }, { "field": "sendUpdates", "api": "sendUpdates", "location": "query" }, { "field": "supportsAttachments", "api": "supportsAttachments", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
336
354
  hasBody: true,
337
355
  shape: {
@@ -353,7 +371,7 @@ export function registerCalendarGeneratedTools(registry) {
353
371
  name: "calendar_events_watch",
354
372
  cud: "create",
355
373
  description: "Watch for changes to Events resources.",
356
- method: { id: "calendar.events.watch", httpMethod: "POST", path: "calendars/{calendarId}/events/watch", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"] },
374
+ method: { id: "calendar.events.watch", httpMethod: "POST", path: "calendars/{calendarId}/events/watch", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["calendarId"], scopes: S_calendar_v3[13] },
357
375
  params: [{ "field": "calendarId", "api": "calendarId", "location": "path" }, { "field": "alwaysIncludeEmail", "api": "alwaysIncludeEmail", "location": "query" }, { "field": "eventTypes", "api": "eventTypes", "location": "query" }, { "field": "iCalUID", "api": "iCalUID", "location": "query" }, { "field": "maxAttendees", "api": "maxAttendees", "location": "query" }, { "field": "maxResults", "api": "maxResults", "location": "query" }, { "field": "orderBy", "api": "orderBy", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "privateExtendedProperty", "api": "privateExtendedProperty", "location": "query" }, { "field": "q", "api": "q", "location": "query" }, { "field": "sharedExtendedProperty", "api": "sharedExtendedProperty", "location": "query" }, { "field": "showDeleted", "api": "showDeleted", "location": "query" }, { "field": "showHiddenInvitations", "api": "showHiddenInvitations", "location": "query" }, { "field": "singleEvents", "api": "singleEvents", "location": "query" }, { "field": "syncToken", "api": "syncToken", "location": "query" }, { "field": "timeMax", "api": "timeMax", "location": "query" }, { "field": "timeMin", "api": "timeMin", "location": "query" }, { "field": "timeZone", "api": "timeZone", "location": "query" }, { "field": "updatedMin", "api": "updatedMin", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
358
376
  hasBody: true,
359
377
  shape: {
@@ -385,7 +403,7 @@ export function registerCalendarGeneratedTools(registry) {
385
403
  name: "calendar_settings_get",
386
404
  cud: "read",
387
405
  description: "Returns a single user setting.",
388
- method: { id: "calendar.settings.get", httpMethod: "GET", path: "users/me/settings/{setting}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["setting"] },
406
+ method: { id: "calendar.settings.get", httpMethod: "GET", path: "users/me/settings/{setting}", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: ["setting"], scopes: S_calendar_v3[14] },
389
407
  params: [{ "field": "setting", "api": "setting", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
390
408
  hasBody: false,
391
409
  shape: {
@@ -398,7 +416,7 @@ export function registerCalendarGeneratedTools(registry) {
398
416
  name: "calendar_settings_list",
399
417
  cud: "read",
400
418
  description: "Returns all user settings for the authenticated user.",
401
- method: { id: "calendar.settings.list", httpMethod: "GET", path: "users/me/settings", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [] },
419
+ method: { id: "calendar.settings.list", httpMethod: "GET", path: "users/me/settings", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [], scopes: S_calendar_v3[14] },
402
420
  params: [{ "field": "maxResults", "api": "maxResults", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "syncToken", "api": "syncToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
403
421
  hasBody: false,
404
422
  shape: {
@@ -413,7 +431,7 @@ export function registerCalendarGeneratedTools(registry) {
413
431
  name: "calendar_settings_watch",
414
432
  cud: "create",
415
433
  description: "Watch for changes to Settings resources.",
416
- method: { id: "calendar.settings.watch", httpMethod: "POST", path: "users/me/settings/watch", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [] },
434
+ method: { id: "calendar.settings.watch", httpMethod: "POST", path: "users/me/settings/watch", baseUrl: "https://www.googleapis.com/calendar/v3/", requiredParams: [], scopes: S_calendar_v3[14] },
417
435
  params: [{ "field": "maxResults", "api": "maxResults", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "syncToken", "api": "syncToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
418
436
  hasBody: true,
419
437
  shape: {