@aaronsb/google-workspace-mcp 4.3.2 → 4.5.0

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 (60) hide show
  1. package/README.md +54 -7
  2. package/build/accounts/oauth.d.ts +16 -0
  3. package/build/accounts/oauth.js +24 -0
  4. package/build/accounts/oauth.js.map +1 -1
  5. package/build/coverage/compare.js +13 -8
  6. package/build/coverage/compare.js.map +1 -1
  7. package/build/factory/defaults.js +1 -1
  8. package/build/factory/defaults.js.map +1 -1
  9. package/build/factory/generator.d.ts +8 -1
  10. package/build/factory/generator.js +15 -3
  11. package/build/factory/generator.js.map +1 -1
  12. package/build/factory/manifest/calendar.yaml +10 -5
  13. package/build/factory/manifest/contacts.yaml +8 -0
  14. package/build/factory/manifest/drive.yaml +76 -7
  15. package/build/factory/manifest/gmail.yaml +31 -0
  16. package/build/factory/safety.d.ts +61 -5
  17. package/build/factory/safety.js +110 -5
  18. package/build/factory/safety.js.map +1 -1
  19. package/build/factory/types.d.ts +16 -0
  20. package/build/server/batch.d.ts +20 -0
  21. package/build/server/batch.js +292 -0
  22. package/build/server/batch.js.map +1 -0
  23. package/build/server/formatting/markdown.js +40 -2
  24. package/build/server/formatting/markdown.js.map +1 -1
  25. package/build/server/formatting/next-steps.js +17 -0
  26. package/build/server/formatting/next-steps.js.map +1 -1
  27. package/build/server/handler.d.ts +5 -0
  28. package/build/server/handler.js +21 -9
  29. package/build/server/handler.js.map +1 -1
  30. package/build/server/queue.js +11 -1
  31. package/build/server/queue.js.map +1 -1
  32. package/build/server/scratchpad/adapters/send-calendar.d.ts +2 -1
  33. package/build/server/scratchpad/adapters/send-calendar.js +21 -9
  34. package/build/server/scratchpad/adapters/send-calendar.js.map +1 -1
  35. package/build/server/scratchpad/handler.js +65 -0
  36. package/build/server/scratchpad/handler.js.map +1 -1
  37. package/build/server/server.js +15 -5
  38. package/build/server/server.js.map +1 -1
  39. package/build/server/tools.js +54 -6
  40. package/build/server/tools.js.map +1 -1
  41. package/build/services/calendar/dates.d.ts +36 -0
  42. package/build/services/calendar/dates.js +78 -0
  43. package/build/services/calendar/dates.js.map +1 -0
  44. package/build/services/calendar/patch.js +92 -16
  45. package/build/services/calendar/patch.js.map +1 -1
  46. package/build/services/contacts/patch.d.ts +26 -0
  47. package/build/services/contacts/patch.js +7 -1
  48. package/build/services/contacts/patch.js.map +1 -1
  49. package/build/services/docs/patch.js +1 -1
  50. package/build/services/drive/patch.js +182 -0
  51. package/build/services/drive/patch.js.map +1 -1
  52. package/build/services/gmail/mail.js +12 -1
  53. package/build/services/gmail/mail.js.map +1 -1
  54. package/build/services/gmail/patch.js +103 -8
  55. package/build/services/gmail/patch.js.map +1 -1
  56. package/build/services/tasks/patch.js +6 -2
  57. package/build/services/tasks/patch.js.map +1 -1
  58. package/build/version.d.ts +1 -1
  59. package/build/version.js +1 -1
  60. package/package.json +4 -3
package/README.md CHANGED
@@ -117,7 +117,7 @@ flowchart LR
117
117
 
118
118
  ## What it can do
119
119
 
120
- **12 tools across 8 Google services**, plus multi-account handling, batching, content authoring, and a file sandbox.
120
+ **12 tools across 8 Google services**, plus multi-account handling, per-account read-only access, bulk execution, content authoring, and a file sandbox.
121
121
 
122
122
  | Tool | What It Does |
123
123
  |------|--------------|
@@ -132,7 +132,7 @@ flowchart LR
132
132
  | `manage_accounts` | Multi-account lifecycle — add accounts, manage credentials and scopes |
133
133
  | `manage_scratchpad` | Compose / edit multi-line content (line- or JSON-path-addressed), attach files, send to any target; JSON mode live-syncs to Docs / Sheets |
134
134
  | `manage_workspace` | File operations in the workspace sandbox (exchange point for attachments, downloads, exports) |
135
- | `queue_operations` | Chain operations sequentially with `$N.field` result references |
135
+ | `bulk_operations` | Do many things in one call — chain different operations in sequence with `$N.field` references, or apply one operation to many resources in a single Google request (`queue_operations` still works as an alias) |
136
136
 
137
137
  Every response carries **next-steps** guidance, so the agent always knows what it can do next.
138
138
 
@@ -164,11 +164,20 @@ sequenceDiagram
164
164
  A-->>H: Done. Invoice filed, task set for Friday.
165
165
  ```
166
166
 
167
- Two things make this work. Every response tells the agent **what it can do next**, so it isn't guessing at the next step. And `queue_operations` lets it run a whole chain in **one call**, feeding each result into the next — so "find the invoice, file it, remind me" is a single round trip rather than four.
167
+ Two things make this work. Every response tells the agent **what it can do next**, so it isn't guessing at the next step. And `bulk_operations` lets it run a whole chain in **one call**, feeding each result into the next — so "find the invoice, file it, remind me" is a single round trip rather than four.
168
+
169
+ When the work is *the same* operation over many things, it can go further and use one Google request for all of them:
170
+
171
+ ```
172
+ bulk_operations { mode: 'batch', tool: 'manage_email', operation: 'trash',
173
+ items: ['msg1', 'msg2', 'msg3', … ] }
174
+ ```
175
+
176
+ Two hundred messages trashed in one round trip instead of two hundred. This is narrow on purpose — it works only where Google publishes a method for it, which today is contacts (create, update, delete, get) and Gmail (trash, label changes). Ask for it anywhere else and the answer names the operations that can, and points you back at sequential mode, which works everywhere.
168
177
 
169
178
  ## Ask for what's missing
170
179
 
171
- This server exposes **80 operations**, reaching 60 of the **233 methods** Google publishes across those seven APIs. It is a curated subset on purpose: an agent has to *choose* among these, and every method it must weigh is one it can pick wrongly. A tool with 233 operations isn't more capable than one with 80 — it's harder to use correctly.
180
+ This server exposes **95 operations**, reaching 79 of the **257 methods** Google publishes across those eight APIs. It is a curated subset on purpose: an agent has to *choose* among these, and every method it must weigh is one it can pick wrongly. A tool with 257 operations isn't more capable than one with 95 — it's harder to use correctly.
172
181
 
173
182
  But that judgement was made without you.
174
183
 
@@ -176,7 +185,7 @@ But that judgement was made without you.
176
185
 
177
186
  Every method is listed — what it does, whether we expose it, and a **Request** link that opens a pre-filled issue. The descriptions are Google's own, quoted verbatim, and the page is generated from the same specification the client is built from, so it can't drift from reality.
178
187
 
179
- That page also lists **four whole APIs this server doesn't touch yet** — Chat, Contacts, Slides and Forms — for the same reason: *not targeted* is a decision, not a fact of nature.
188
+ That page also lists **three whole APIs this server doesn't touch yet** — Chat, Slides and Forms — for the same reason: *not targeted* is a decision, not a fact of nature.
180
189
 
181
190
  A good request **names the task, not the method**:
182
191
 
@@ -215,7 +224,29 @@ manage_calendar { "operation": "agenda", "email": "you@gmail.com" }
215
224
  manage_drive { "operation": "search", "email": "you@gmail.com", "query": "quarterly report" }
216
225
  ```
217
226
 
218
- ### Multi-Step Workflows
227
+ ### Give an account read-only access
228
+
229
+ Some accounts should never be written to. Ask for less at consent time and the **token itself** cannot send, edit or delete — this isn't a rule layered over a broad token:
230
+
231
+ ```
232
+ manage_accounts { "operation": "scopes", "email": "you@gmail.com",
233
+ "services": "gmail,drive,contacts", "access": "read" }
234
+ ```
235
+
236
+ Google is asked for the read-only variant of each scope, so ticking every box on the consent screen still yields a read-only token. `manage_accounts status` reports what each account actually holds.
237
+
238
+ A write from a read-only account is refused before the request leaves, with the account, the operation, and the way back:
239
+
240
+ ```
241
+ 'create' needs write access to contacts. Account you@gmail.com was authorized
242
+ read-only for contacts. Re-authorize with manage_accounts {operation:'scopes',
243
+ email:'you@gmail.com', services:'contacts', access:'readwrite'}, or use an
244
+ account that already has it.
245
+ ```
246
+
247
+ Where a service has no read-only scope, you're told which ones and what they'll still be able to do **before** the browser opens.
248
+
249
+ ### Multi-step workflows
219
250
 
220
251
  Chain operations with result references — the output of one step feeds the next:
221
252
 
@@ -228,6 +259,22 @@ Chain operations with result references — the output of one step feeds the nex
228
259
  }
229
260
  ```
230
261
 
262
+ ### One operation, many things
263
+
264
+ Where Google publishes a method for it, the same operation across many resources costs one request:
265
+
266
+ ```json
267
+ {
268
+ "mode": "batch",
269
+ "tool": "manage_contacts",
270
+ "operation": "delete",
271
+ "email": "you@gmail.com",
272
+ "items": ["people/c1", "people/c2", "people/c3"]
273
+ }
274
+ ```
275
+
276
+ Anything shared by the whole batch goes at the top level; `items` carry only what differs — a bare id is enough when that's all it is.
277
+
231
278
  ## Where your data lives
232
279
 
233
280
  Follows the XDG Base Directory Specification:
@@ -248,7 +295,7 @@ The server builds its Google API client **from Google's own machine-readable API
248
295
 
249
296
  - **[How it works](docs/how-it-works.md)** — the build-time / runtime split, the descriptor, the factory
250
297
  - **[API coverage](docs/coverage.md)** — what's exposed, what isn't, and how to ask for more
251
- - **[The full API surface](docs/api-surface.md)** — every method Google publishes, plus the four APIs we don't target yet
298
+ - **[The full API surface](docs/api-surface.md)** — every method Google publishes, plus the three APIs we don't target yet
252
299
  - **[Architecture decisions](docs/architecture/)** — the ADRs, including why this server owns its Google client outright
253
300
 
254
301
  ## License
@@ -56,6 +56,22 @@ export interface ResolvedScopes {
56
56
  */
57
57
  stillAllowWrites: string[];
58
58
  }
59
+ /**
60
+ * The scopes that grant WRITE access to a service: its read/write set minus anything
61
+ * that also appears in its read-only set.
62
+ *
63
+ * The subtraction is the whole point. Two services list read-only scopes inside their
64
+ * read/write set, because the service genuinely needs them either way — `contacts`
65
+ * carries `contacts.other.readonly` and `directory.readonly`, and `meet` carries
66
+ * `meetings.space.readonly`. Treating the read/write set as "the write scopes" would
67
+ * therefore find `directory.readonly` on a read-only contacts account, call that an
68
+ * intersection, and permit a write it should have refused.
69
+ *
70
+ * Returns an empty array for a service with no read/write scopes declared at all.
71
+ */
72
+ export declare function writeScopesFor(service: string): string[];
73
+ /** Every scope that grants a service at any access level, read-only and read/write alike. */
74
+ export declare function anyScopesFor(service: string): string[];
59
75
  /**
60
76
  * Convert comma-separated service names to deduplicated scope URLs.
61
77
  * Always includes base scopes (openid, userinfo.email).
@@ -81,6 +81,30 @@ const BASE_SCOPES = [
81
81
  ];
82
82
  /** All service names that have scope mappings. */
83
83
  export const ALL_SERVICES = Object.keys(SERVICE_SCOPE_MAP).join(',');
84
+ /**
85
+ * The scopes that grant WRITE access to a service: its read/write set minus anything
86
+ * that also appears in its read-only set.
87
+ *
88
+ * The subtraction is the whole point. Two services list read-only scopes inside their
89
+ * read/write set, because the service genuinely needs them either way — `contacts`
90
+ * carries `contacts.other.readonly` and `directory.readonly`, and `meet` carries
91
+ * `meetings.space.readonly`. Treating the read/write set as "the write scopes" would
92
+ * therefore find `directory.readonly` on a read-only contacts account, call that an
93
+ * intersection, and permit a write it should have refused.
94
+ *
95
+ * Returns an empty array for a service with no read/write scopes declared at all.
96
+ */
97
+ export function writeScopesFor(service) {
98
+ const readonly = new Set(SERVICE_SCOPE_MAP_READONLY[service] ?? []);
99
+ return (SERVICE_SCOPE_MAP[service] ?? []).filter((scope) => !readonly.has(scope));
100
+ }
101
+ /** Every scope that grants a service at any access level, read-only and read/write alike. */
102
+ export function anyScopesFor(service) {
103
+ return [...new Set([
104
+ ...(SERVICE_SCOPE_MAP[service] ?? []),
105
+ ...(SERVICE_SCOPE_MAP_READONLY[service] ?? []),
106
+ ])];
107
+ }
84
108
  /**
85
109
  * Convert comma-separated service names to deduplicated scope URLs.
86
110
  * Always includes base scopes (openid, userinfo.email).
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/accounts/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/accounts/oauth.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,6 @@ function buildCoveredPaths(manifest) {
13
13
  const covered = new Map();
14
14
  for (const [_serviceName, serviceDef] of Object.entries(manifest.services)) {
15
15
  for (const [opName, opDef] of Object.entries(serviceDef.operations)) {
16
- const path = opDef.resource;
17
- if (!path)
18
- continue;
19
16
  const paramNames = new Set();
20
17
  if (opDef.params) {
21
18
  for (const [name, paramDef] of Object.entries(opDef.params)) {
@@ -23,11 +20,19 @@ function buildCoveredPaths(manifest) {
23
20
  paramNames.add(paramDef.maps_to || name);
24
21
  }
25
22
  }
26
- covered.set(path, {
27
- service: serviceDef.google_service,
28
- opName,
29
- params: paramNames,
30
- });
23
+ // An operation reaches its own method AND its batch method where it declares one
24
+ // (ADR-308). Counting only `resource` reported the five batch methods the server
25
+ // genuinely calls as gaps — and left this file disagreeing with docs/api-surface.md,
26
+ // which is generated from the same manifest.
27
+ for (const path of [opDef.resource, opDef.batch?.resource]) {
28
+ if (!path)
29
+ continue;
30
+ covered.set(path, {
31
+ service: serviceDef.google_service,
32
+ opName,
33
+ params: paramNames,
34
+ });
35
+ }
31
36
  }
32
37
  }
33
38
  return covered;
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/coverage/compare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/coverage/compare.ts"],"names":[],"mappings":"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"}
@@ -94,7 +94,7 @@ function formatDefaultAction(data) {
94
94
  return {
95
95
  text: parts.join(''),
96
96
  // `id` stays populated whatever Google called the field, so next-steps and
97
- // queue_operations references keep resolving.
97
+ // bulk_operations references keep resolving.
98
98
  refs: { id, ...extractScalarRefs(obj) },
99
99
  };
100
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/factory/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/factory/defaults.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,14 @@ export declare function generateTools(manifest: Manifest, patches?: Record<strin
26
26
  /** Generate the JSON Schema tool definition from a service declaration. */
27
27
  export declare function generateSchema(service: ServiceDef): GeneratedToolSchema;
28
28
  /** Generate a handler function for a service. */
29
- export declare function generateHandler(service: ServiceDef, patch?: ServicePatch): GeneratedHandler;
29
+ export declare function generateHandler(service: ServiceDef, patch?: ServicePatch,
30
+ /**
31
+ * The manifest key for this service — `contacts`, not `people`. Scope maps are keyed by
32
+ * it, so the access policy cannot resolve a service without it. Optional because tests
33
+ * construct ServiceDefs directly; when absent the policy has nothing to look up and
34
+ * allows, which is the same fail-open stance it takes everywhere else.
35
+ */
36
+ serviceName?: string): GeneratedHandler;
30
37
  /**
31
38
  * Build the params a resource operation sends to Google.
32
39
  *
@@ -85,7 +85,7 @@ export function generateTools(manifest, patches) {
85
85
  for (const [serviceName, serviceDef] of Object.entries(manifest.services)) {
86
86
  const patch = patches?.[serviceName];
87
87
  const schema = generateSchema(serviceDef);
88
- const handler = generateHandler(serviceDef, patch);
88
+ const handler = generateHandler(serviceDef, patch, serviceName);
89
89
  tools.push({ schema, handler });
90
90
  }
91
91
  return tools;
@@ -137,7 +137,14 @@ export function generateSchema(service) {
137
137
  };
138
138
  }
139
139
  /** Generate a handler function for a service. */
140
- export function generateHandler(service, patch) {
140
+ export function generateHandler(service, patch,
141
+ /**
142
+ * The manifest key for this service — `contacts`, not `people`. Scope maps are keyed by
143
+ * it, so the access policy cannot resolve a service without it. Optional because tests
144
+ * construct ServiceDefs directly; when absent the policy has nothing to look up and
145
+ * allows, which is the same fail-open stance it takes everywhere else.
146
+ */
147
+ serviceName) {
141
148
  // Map tool_name to the next-steps domain key
142
149
  const domainMap = {
143
150
  manage_email: 'email',
@@ -155,7 +162,12 @@ export function generateHandler(service, patch) {
155
162
  const ctx = { operation, params, account };
156
163
  // Safety policies — run before anything else, including custom handlers.
157
164
  // A blocked operation never reaches the handler or Google.
158
- const policyResult = evaluatePolicies([], ctx, service.google_service);
165
+ const policyResult = await evaluatePolicies([], ctx, service.google_service, serviceName ? {
166
+ service: serviceName,
167
+ googleService: service.google_service,
168
+ resource: opDef.resource,
169
+ type: opDef.type,
170
+ } : undefined);
159
171
  if (policyResult.action === 'block') {
160
172
  return {
161
173
  text: `**Blocked by safety policy:** ${policyResult.reason}`,
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/factory/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/factory/generator.ts"],"names":[],"mappings":"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"}
@@ -81,12 +81,14 @@ operations:
81
81
  required: true
82
82
  start:
83
83
  type: string
84
- description: "Start time (ISO 8601)"
84
+ description: "Start time (ISO 8601) — or a DATE (YYYY-MM-DD) when allDay is true"
85
85
  required: true
86
86
  end:
87
87
  type: string
88
- description: "End time (ISO 8601)"
89
- required: true
88
+ description: "End time (ISO 8601) — or, when allDay is true, a DATE (YYYY-MM-DD) that is the INCLUSIVE last day; the exclusive end date the Calendar API requires is computed for you. Optional for all-day events: a missing end (or one equal to start) makes a one-day event."
89
+ allDay:
90
+ type: boolean
91
+ description: "Whether the event is all-day. When true, start and end are DATES (YYYY-MM-DD — an ISO datetime's date part is used) and end, if given, is the INCLUSIVE last day; the exclusive end date the Calendar API requires is computed for you. Omit it (or pass false) for a timed event with start/end as dateTime — pass false with new datetimes to convert an all-day event back to a timed one. On `update`, converting TO all-day needs only one of start/end; the other is derived from the event on record. Converting FROM all-day needs both, because the missing one would need a time of day only you can choose."
90
92
  description:
91
93
  type: string
92
94
  description: "Event description or notes"
@@ -132,10 +134,13 @@ operations:
132
134
  description: "Event title"
133
135
  start:
134
136
  type: string
135
- description: "Start time (ISO 8601)"
137
+ description: "Start time (ISO 8601) — or a DATE (YYYY-MM-DD) when allDay is true"
136
138
  end:
137
139
  type: string
138
- description: "End time (ISO 8601)"
140
+ description: "End time (ISO 8601) — or, when allDay is true, a DATE (YYYY-MM-DD) that is the INCLUSIVE last day; the exclusive end date the Calendar API requires is computed for you. Optional for all-day events: a missing end (or one equal to start) makes a one-day event."
141
+ allDay:
142
+ type: boolean
143
+ description: "Whether the event is all-day. When true, start and end are DATES (YYYY-MM-DD — an ISO datetime's date part is used) and end, if given, is the INCLUSIVE last day; the exclusive end date the Calendar API requires is computed for you. Omit it (or pass false) for a timed event with start/end as dateTime — pass false with new datetimes to convert an all-day event back to a timed one. On `update`, converting TO all-day needs only one of start/end; the other is derived from the event on record. Converting FROM all-day needs both, because the missing one would need a time of day only you can choose."
139
144
  description:
140
145
  type: string
141
146
  description: "Event description or notes"
@@ -70,6 +70,8 @@ operations:
70
70
  type: detail
71
71
  description: "get one person in full — addresses, birthday, notes, relations"
72
72
  resource: people.get
73
+ batch:
74
+ resource: people.getBatchGet
73
75
  params:
74
76
  contactId:
75
77
  type: string
@@ -89,6 +91,8 @@ operations:
89
91
  type: action
90
92
  description: "create a new contact"
91
93
  resource: people.createContact
94
+ batch:
95
+ resource: people.batchCreateContacts
92
96
  params:
93
97
  name:
94
98
  type: string
@@ -124,6 +128,8 @@ operations:
124
128
  type: action
125
129
  description: "change an existing contact (only the fields you pass; pass an empty string to clear one)"
126
130
  resource: people.updateContact
131
+ batch:
132
+ resource: people.batchUpdateContacts
127
133
  params:
128
134
  contactId:
129
135
  type: string
@@ -155,6 +161,8 @@ operations:
155
161
  type: action
156
162
  description: "delete a contact"
157
163
  resource: people.deleteContact
164
+ batch:
165
+ resource: people.batchDeleteContacts
158
166
  params:
159
167
  contactId:
160
168
  type: string
@@ -51,10 +51,10 @@ operations:
51
51
  required: true
52
52
  name:
53
53
  type: string
54
- description: "File name in Drive. On `upload`, defaults to the local file's name. On `copy`, the name for the copy — without it Drive names it 'Copy of <original>'. On `update`, the new name (a rename)."
54
+ description: "File name in Drive. On `upload`, defaults to the local file's name. On `copy`, the name for the copy — without it Drive names it 'Copy of <original>'. On `update`, the new name (a rename). On `createFolder`, the folder name."
55
55
  parentFolderId:
56
56
  type: string
57
- description: "Destination folder ID. On `copy`, defaults to the source file's folder."
57
+ description: "Destination folder ID. On `upload`, places the file in this folder. On `copy`, defaults to the source file's folder. On `createFolder`, nests the new folder under this parent."
58
58
 
59
59
  viewImage:
60
60
  type: detail
@@ -95,10 +95,10 @@ operations:
95
95
  required: true
96
96
  name:
97
97
  type: string
98
- description: "File name in Drive. On `upload`, defaults to the local file's name. On `copy`, the name for the copy — without it Drive names it 'Copy of <original>'. On `update`, the new name (a rename)."
98
+ description: "File name in Drive. On `upload`, defaults to the local file's name. On `copy`, the name for the copy — without it Drive names it 'Copy of <original>'. On `update`, the new name (a rename). On `createFolder`, the folder name."
99
99
  parentFolderId:
100
100
  type: string
101
- description: "Destination folder ID. On `copy`, defaults to the source file's folder."
101
+ description: "Destination folder ID. On `upload`, places the file in this folder. On `copy`, defaults to the source file's folder. On `createFolder`, nests the new folder under this parent."
102
102
  defaults:
103
103
  supportsAllDrives: true
104
104
 
@@ -113,7 +113,7 @@ operations:
113
113
  required: true
114
114
  name:
115
115
  type: string
116
- description: "File name in Drive. On `upload`, defaults to the local file's name. On `copy`, the name for the copy — without it Drive names it 'Copy of <original>'. On `update`, the new name (a rename)."
116
+ description: "File name in Drive. On `upload`, defaults to the local file's name. On `copy`, the name for the copy — without it Drive names it 'Copy of <original>'. On `update`, the new name (a rename). On `createFolder`, the folder name."
117
117
  addParents:
118
118
  type: string
119
119
  description: "Comma-separated folder ID(s) to add as parents (move into a folder)"
@@ -135,6 +135,16 @@ operations:
135
135
  defaults:
136
136
  supportsAllDrives: true
137
137
 
138
+ trash:
139
+ type: action
140
+ description: "move a file or folder to trash (recoverable for 30 days — use instead of delete when you only need to remove it)"
141
+ resource: files.update
142
+ params:
143
+ fileId:
144
+ type: string
145
+ description: "File ID"
146
+ required: true
147
+
138
148
  export:
139
149
  type: action
140
150
  description: "export a Google Workspace document (Docs, Sheets, Slides) to a file format"
@@ -154,6 +164,45 @@ operations:
154
164
  defaults:
155
165
  supportsAllDrives: true
156
166
 
167
+ # --- Folders ---
168
+
169
+ createFolder:
170
+ type: action
171
+ description: "create a new folder (optionally nested under a parent folder)"
172
+ resource: files.create
173
+ params:
174
+ name:
175
+ type: string
176
+ description: "File name in Drive. On `upload`, defaults to the local file's name. On `copy`, the name for the copy — without it Drive names it 'Copy of <original>'. On `update`, the new name (a rename). On `createFolder`, the folder name."
177
+ required: true
178
+ parentFolderId:
179
+ type: string
180
+ description: "Destination folder ID. On `upload`, places the file in this folder. On `copy`, defaults to the source file's folder. On `createFolder`, nests the new folder under this parent."
181
+
182
+ listFolder:
183
+ type: list
184
+ description: "list the files and subfolders directly inside a folder"
185
+ resource: files.list
186
+ params:
187
+ folderId:
188
+ type: string
189
+ description: "Folder ID (pass the id returned by createFolder or search)"
190
+ required: true
191
+
192
+ tree:
193
+ type: list
194
+ description: "print a recursive folder tree and count the files (subfolders excluded from the count)"
195
+ resource: files.list
196
+ params:
197
+ folderId:
198
+ type: string
199
+ description: "Folder ID (pass the id returned by createFolder or search)"
200
+ required: true
201
+ maxDepth:
202
+ type: number
203
+ description: "How many folder levels to descend (default 10). The tree is labelled partial when this limit stops the walk."
204
+
205
+
157
206
  # --- Sharing ---
158
207
 
159
208
  listPermissions:
@@ -179,10 +228,10 @@ operations:
179
228
  required: true
180
229
  shareEmail:
181
230
  type: string
182
- description: "Email address (required when type is 'user' or 'group'). Omit for 'domain' (use 'domain' param) or 'anyone'."
231
+ description: "Email address of the collaborator. On `share`, required when type is 'user' or 'group'; omit for 'domain' (use the `domain` param) or 'anyone'. On `setRole`, the existing collaborator whose role to change."
183
232
  role:
184
233
  type: string
185
- description: "Permission level"
234
+ description: "Permission level. On `share`, the level to grant — defaults to `reader`. On `setRole`, the new level, and it is REQUIRED there: with no default to fall back on, an omitted role would silently demote the collaborator, and setRole sends no notification."
186
235
  enum: [reader, commenter, writer, organizer]
187
236
  default: reader
188
237
  type:
@@ -212,6 +261,26 @@ operations:
212
261
  defaults:
213
262
  supportsAllDrives: true
214
263
 
264
+ setRole:
265
+ type: action
266
+ description: "change an existing collaborator's role (no notification email is sent)"
267
+ resource: permissions.update
268
+ params:
269
+ fileId:
270
+ type: string
271
+ description: "File ID"
272
+ required: true
273
+ shareEmail:
274
+ type: string
275
+ description: "Email address of the collaborator. On `share`, required when type is 'user' or 'group'; omit for 'domain' (use the `domain` param) or 'anyone'. On `setRole`, the existing collaborator whose role to change."
276
+ required: true
277
+ role:
278
+ type: string
279
+ description: "Permission level. On `share`, the level to grant — defaults to `reader`. On `setRole`, the new level, and it is REQUIRED there: with no default to fall back on, an omitted role would silently demote the collaborator, and setRole sends no notification."
280
+ enum: [reader, commenter, writer, organizer]
281
+ default: reader
282
+ required: true
283
+
215
284
  # --- Comments ---
216
285
 
217
286
  listComments: