@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.
- package/README.md +54 -7
- package/build/accounts/oauth.d.ts +16 -0
- package/build/accounts/oauth.js +24 -0
- package/build/accounts/oauth.js.map +1 -1
- package/build/coverage/compare.js +13 -8
- package/build/coverage/compare.js.map +1 -1
- package/build/factory/defaults.js +1 -1
- package/build/factory/defaults.js.map +1 -1
- package/build/factory/generator.d.ts +8 -1
- package/build/factory/generator.js +15 -3
- package/build/factory/generator.js.map +1 -1
- package/build/factory/manifest/calendar.yaml +10 -5
- package/build/factory/manifest/contacts.yaml +8 -0
- package/build/factory/manifest/drive.yaml +76 -7
- package/build/factory/manifest/gmail.yaml +31 -0
- package/build/factory/safety.d.ts +61 -5
- package/build/factory/safety.js +110 -5
- package/build/factory/safety.js.map +1 -1
- package/build/factory/types.d.ts +16 -0
- package/build/server/batch.d.ts +20 -0
- package/build/server/batch.js +292 -0
- package/build/server/batch.js.map +1 -0
- package/build/server/formatting/markdown.js +40 -2
- package/build/server/formatting/markdown.js.map +1 -1
- package/build/server/formatting/next-steps.js +17 -0
- package/build/server/formatting/next-steps.js.map +1 -1
- package/build/server/handler.d.ts +5 -0
- package/build/server/handler.js +21 -9
- package/build/server/handler.js.map +1 -1
- package/build/server/queue.js +11 -1
- package/build/server/queue.js.map +1 -1
- package/build/server/scratchpad/adapters/send-calendar.d.ts +2 -1
- package/build/server/scratchpad/adapters/send-calendar.js +21 -9
- package/build/server/scratchpad/adapters/send-calendar.js.map +1 -1
- package/build/server/scratchpad/handler.js +65 -0
- package/build/server/scratchpad/handler.js.map +1 -1
- package/build/server/server.js +15 -5
- package/build/server/server.js.map +1 -1
- package/build/server/tools.js +54 -6
- package/build/server/tools.js.map +1 -1
- package/build/services/calendar/dates.d.ts +36 -0
- package/build/services/calendar/dates.js +78 -0
- package/build/services/calendar/dates.js.map +1 -0
- package/build/services/calendar/patch.js +92 -16
- package/build/services/calendar/patch.js.map +1 -1
- package/build/services/contacts/patch.d.ts +26 -0
- package/build/services/contacts/patch.js +7 -1
- package/build/services/contacts/patch.js.map +1 -1
- package/build/services/docs/patch.js +1 -1
- package/build/services/drive/patch.js +182 -0
- package/build/services/drive/patch.js.map +1 -1
- package/build/services/gmail/mail.js +12 -1
- package/build/services/gmail/mail.js.map +1 -1
- package/build/services/gmail/patch.js +103 -8
- package/build/services/gmail/patch.js.map +1 -1
- package/build/services/tasks/patch.js +6 -2
- package/build/services/tasks/patch.js.map +1 -1
- package/build/version.d.ts +1 -1
- package/build/version.js +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/server/scratchpad/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/server/scratchpad/handler.ts"],"names":[],"mappings":"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"}
|
package/build/server/server.js
CHANGED
|
@@ -8,15 +8,26 @@ import { nextSteps } from './formatting/next-steps.js';
|
|
|
8
8
|
import { manifest } from '../factory/registry.js';
|
|
9
9
|
import { checkWorkspaceStatus } from '../executor/workspace.js';
|
|
10
10
|
import { VERSION } from '../version.js';
|
|
11
|
-
import { configurePolicies, getActivePolicies, draftOnlyEmail, noDelete, readOnly, auditLog, } from '../factory/safety.js';
|
|
11
|
+
import { configurePolicies, getActivePolicies, accountAccess, draftOnlyEmail, noDelete, readOnly, auditLog, } from '../factory/safety.js';
|
|
12
12
|
function log(msg) {
|
|
13
13
|
process.stderr.write(`[google-workspace-mcp] ${msg}\n`);
|
|
14
14
|
}
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Configure safety policies.
|
|
17
|
+
*
|
|
18
|
+
* `account-access` is always active and is not in the map below — it is not a deployment
|
|
19
|
+
* choice. It enforces the access level the USER chose when they authorized the account
|
|
20
|
+
* (ADR-202), so gating it behind an operator opt-in would make that choice decorative.
|
|
21
|
+
* It is a no-op for read/write accounts, which is every account by default.
|
|
22
|
+
*
|
|
23
|
+
* Everything else is opt-in through GWS_SAFETY_POLICY.
|
|
24
|
+
*/
|
|
16
25
|
function initSafetyPolicies() {
|
|
17
26
|
const policyEnv = process.env.GWS_SAFETY_POLICY || '';
|
|
18
|
-
if (!policyEnv)
|
|
27
|
+
if (!policyEnv) {
|
|
28
|
+
configurePolicies([accountAccess]);
|
|
19
29
|
return;
|
|
30
|
+
}
|
|
20
31
|
const policyMap = {
|
|
21
32
|
'draft-only-email': draftOnlyEmail,
|
|
22
33
|
'no-delete': noDelete,
|
|
@@ -30,8 +41,7 @@ function initSafetyPolicies() {
|
|
|
30
41
|
throw new Error(`Unknown safety policy(ies): ${unknown.join(', ')}. ` +
|
|
31
42
|
`Valid policies: ${valid}`);
|
|
32
43
|
}
|
|
33
|
-
|
|
34
|
-
configurePolicies(policies);
|
|
44
|
+
configurePolicies([accountAccess, ...names.map(name => policyMap[name])]);
|
|
35
45
|
}
|
|
36
46
|
export function createServer() {
|
|
37
47
|
initSafetyPolicies();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,QAAQ,GAET,MAAM,sBAAsB,CAAC;AAE9B,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|
package/build/server/tools.js
CHANGED
|
@@ -105,11 +105,33 @@ const handCodedSchemas = [
|
|
|
105
105
|
},
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
|
-
name: '
|
|
109
|
-
description:
|
|
108
|
+
name: 'bulk_operations',
|
|
109
|
+
description: "Do many things in one call, two ways. mode:'queue' (default) runs different operations in sequence, chaining results with $N.field — works for every tool. mode:'batch' does ONE operation across many resources in a single Google request — far fewer round trips, but only where Google publishes a batch method.",
|
|
110
110
|
inputSchema: {
|
|
111
111
|
type: 'object',
|
|
112
112
|
properties: {
|
|
113
|
+
mode: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
enum: ['queue', 'batch'],
|
|
116
|
+
description: "queue (default): N operations, N API calls, in order, with $N.field references between them. batch: ONE operation across many resources in a single API call — no $N references, because there is no 'between'.",
|
|
117
|
+
},
|
|
118
|
+
tool: {
|
|
119
|
+
type: 'string',
|
|
120
|
+
description: "batch only — the tool to call, e.g. 'manage_contacts'.",
|
|
121
|
+
},
|
|
122
|
+
operation: {
|
|
123
|
+
type: 'string',
|
|
124
|
+
description: "batch only — the operation to apply to every item, e.g. 'delete'. Ask for one that cannot batch and the error names the ones that can.",
|
|
125
|
+
},
|
|
126
|
+
email: {
|
|
127
|
+
type: 'string',
|
|
128
|
+
description: 'batch only — the account to act as.',
|
|
129
|
+
},
|
|
130
|
+
items: {
|
|
131
|
+
type: 'array',
|
|
132
|
+
items: { type: ['string', 'object'] },
|
|
133
|
+
description: "batch only — one entry per resource. A bare id string is enough when that is all that differs, e.g. ['people/c1', 'people/c2']; use objects when items carry more, e.g. [{name: 'Ada Lovelace', contactEmail: 'ada@example.com'}]. Anything shared by the WHOLE batch — labels to add, a field mask — goes at the top level of this call, not in here.",
|
|
134
|
+
},
|
|
113
135
|
operations: {
|
|
114
136
|
type: 'array',
|
|
115
137
|
items: {
|
|
@@ -145,11 +167,35 @@ const handCodedSchemas = [
|
|
|
145
167
|
description: 'summary: one-line status per operation (default) | full: include complete output from each operation',
|
|
146
168
|
},
|
|
147
169
|
},
|
|
148
|
-
required
|
|
170
|
+
// `operations` is required for queue and absent for batch, so neither can be
|
|
171
|
+
// required here. The handler validates per mode and names what is missing.
|
|
149
172
|
additionalProperties: false,
|
|
150
173
|
},
|
|
151
174
|
},
|
|
152
175
|
];
|
|
176
|
+
/**
|
|
177
|
+
* The former name, still advertised and still working. ADR-308.
|
|
178
|
+
*
|
|
179
|
+
* Removing it outright would answer an established call with "Unknown tool" and no
|
|
180
|
+
* indication of what replaced it — MCP client configurations and agent habits both name
|
|
181
|
+
* it. The schema is shared by reference with `bulk_operations`, so the two cannot drift
|
|
182
|
+
* and the derived tool enum below fills both at once.
|
|
183
|
+
*
|
|
184
|
+
* Remove after one minor release.
|
|
185
|
+
*/
|
|
186
|
+
const DEPRECATED_ALIASES = {
|
|
187
|
+
queue_operations: 'bulk_operations',
|
|
188
|
+
};
|
|
189
|
+
for (const [oldName, newName] of Object.entries(DEPRECATED_ALIASES)) {
|
|
190
|
+
const target = handCodedSchemas.find((t) => t.name === newName);
|
|
191
|
+
if (!target)
|
|
192
|
+
continue;
|
|
193
|
+
handCodedSchemas.push({
|
|
194
|
+
name: oldName,
|
|
195
|
+
description: `RENAMED to \`${newName}\`, which does the same thing. This name still works and will be removed in a future release. ${target.description}`,
|
|
196
|
+
inputSchema: target.inputSchema,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
153
199
|
// Factory-generated schemas from the shared registry
|
|
154
200
|
const factorySchemas = generatedTools.map(t => t.schema);
|
|
155
201
|
export const toolSchemas = [
|
|
@@ -168,9 +214,11 @@ export const toolSchemas = [
|
|
|
168
214
|
* what the limit is, rather than by omission here, which would answer a plainly
|
|
169
215
|
* advertised tool with "Unknown tool".
|
|
170
216
|
*/
|
|
171
|
-
const
|
|
172
|
-
if (
|
|
173
|
-
const operations =
|
|
217
|
+
const bulkTool = handCodedSchemas.find(t => t.name === 'bulk_operations');
|
|
218
|
+
if (bulkTool) {
|
|
219
|
+
const operations = bulkTool.inputSchema.properties.operations;
|
|
220
|
+
// The alias shares this inputSchema object by reference, so it is filled by the same
|
|
221
|
+
// assignment and cannot disagree about which tools exist.
|
|
174
222
|
operations.items.properties.tool.enum = toolSchemas.map(t => t.name);
|
|
175
223
|
}
|
|
176
224
|
export function getToolSchema(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/server/tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/server/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* All-day event date handling for the calendar service.
|
|
3
|
+
*
|
|
4
|
+
* Google's Calendar API stores an all-day event's start/end as bare `date`
|
|
5
|
+
* fields (YYYY-MM-DD), and the END DATE IS EXCLUSIVE — one day after the last
|
|
6
|
+
* day of the event. A one-day event on 2026-07-12 therefore needs
|
|
7
|
+
* `end: { date: '2026-07-13' }` (this is the classic all-day API gotcha).
|
|
8
|
+
*
|
|
9
|
+
* Callers of this MCP think in inclusive days ("from the 12th to the 14th"),
|
|
10
|
+
* so these helpers accept an INCLUSIVE end and compute the exclusive one the
|
|
11
|
+
* API requires. An end equal to (or before) the start means a single-day
|
|
12
|
+
* event, so `exclusiveEndDate('2026-07-12', '2026-07-12')` is `2026-07-13`.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Normalize an all-day start/end value to a YYYY-MM-DD date.
|
|
16
|
+
*
|
|
17
|
+
* Accepts a bare date ('2026-07-12') or an ISO datetime ('2026-07-12T09:00:00Z')
|
|
18
|
+
* and uses the date part — all-day events have no time of day.
|
|
19
|
+
*/
|
|
20
|
+
export declare function allDayDate(value: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* The EXCLUSIVE end date the Calendar API requires, from an INCLUSIVE last day.
|
|
23
|
+
*
|
|
24
|
+
* `end` is the last day the event covers. The API wants the day AFTER it, so a
|
|
25
|
+
* multi-day event '2026-07-12 – 2026-07-14' becomes end.date '2026-07-15'. An
|
|
26
|
+
* end that is equal to (or before) the start collapses to a single-day event
|
|
27
|
+
* (start + 1 day) — the natural way to say "all day on July 12".
|
|
28
|
+
*/
|
|
29
|
+
export declare function exclusiveEndDate(start: string, end: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* The inclusive range for DISPLAY, from the caller's raw values.
|
|
32
|
+
*
|
|
33
|
+
* A single-day event (end equal to or before start, or no end) renders as just
|
|
34
|
+
* the date; a multi-day one renders as `start – end`.
|
|
35
|
+
*/
|
|
36
|
+
export declare function allDayRange(start: string, end?: string): string;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* All-day event date handling for the calendar service.
|
|
3
|
+
*
|
|
4
|
+
* Google's Calendar API stores an all-day event's start/end as bare `date`
|
|
5
|
+
* fields (YYYY-MM-DD), and the END DATE IS EXCLUSIVE — one day after the last
|
|
6
|
+
* day of the event. A one-day event on 2026-07-12 therefore needs
|
|
7
|
+
* `end: { date: '2026-07-13' }` (this is the classic all-day API gotcha).
|
|
8
|
+
*
|
|
9
|
+
* Callers of this MCP think in inclusive days ("from the 12th to the 14th"),
|
|
10
|
+
* so these helpers accept an INCLUSIVE end and compute the exclusive one the
|
|
11
|
+
* API requires. An end equal to (or before) the start means a single-day
|
|
12
|
+
* event, so `exclusiveEndDate('2026-07-12', '2026-07-12')` is `2026-07-13`.
|
|
13
|
+
*/
|
|
14
|
+
const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
|
|
15
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
16
|
+
/**
|
|
17
|
+
* Strict YYYY-MM-DD validation.
|
|
18
|
+
*
|
|
19
|
+
* Date.parse is too lenient here: V8 rolls an out-of-range day over
|
|
20
|
+
* ('2026-02-30' silently becomes March 2). Parse the components and check they
|
|
21
|
+
* round-trip through UTC, so a date that never existed is rejected.
|
|
22
|
+
*/
|
|
23
|
+
function isValidDate(date) {
|
|
24
|
+
const [y, m, d] = date.split('-').map(Number);
|
|
25
|
+
if (!Number.isInteger(y) || !Number.isInteger(m) || !Number.isInteger(d))
|
|
26
|
+
return false;
|
|
27
|
+
const roundTrip = new Date(Date.UTC(y, m - 1, d));
|
|
28
|
+
return roundTrip.getUTCFullYear() === y &&
|
|
29
|
+
roundTrip.getUTCMonth() === m - 1 &&
|
|
30
|
+
roundTrip.getUTCDate() === d;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Normalize an all-day start/end value to a YYYY-MM-DD date.
|
|
34
|
+
*
|
|
35
|
+
* Accepts a bare date ('2026-07-12') or an ISO datetime ('2026-07-12T09:00:00Z')
|
|
36
|
+
* and uses the date part — all-day events have no time of day.
|
|
37
|
+
*/
|
|
38
|
+
export function allDayDate(value) {
|
|
39
|
+
const date = value.trim().slice(0, 10);
|
|
40
|
+
if (!DATE_RE.test(date) || !isValidDate(date)) {
|
|
41
|
+
throw new Error(`All-day events need dates in YYYY-MM-DD format (got "${value}")`);
|
|
42
|
+
}
|
|
43
|
+
return date;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The EXCLUSIVE end date the Calendar API requires, from an INCLUSIVE last day.
|
|
47
|
+
*
|
|
48
|
+
* `end` is the last day the event covers. The API wants the day AFTER it, so a
|
|
49
|
+
* multi-day event '2026-07-12 – 2026-07-14' becomes end.date '2026-07-15'. An
|
|
50
|
+
* end that is equal to (or before) the start collapses to a single-day event
|
|
51
|
+
* (start + 1 day) — the natural way to say "all day on July 12".
|
|
52
|
+
*/
|
|
53
|
+
export function exclusiveEndDate(start, end) {
|
|
54
|
+
const startDate = allDayDate(start);
|
|
55
|
+
const endDate = allDayDate(end);
|
|
56
|
+
// Parse against UTC midnight so the +1 day arithmetic is DST-proof.
|
|
57
|
+
const startMs = Date.parse(`${startDate}T00:00:00Z`);
|
|
58
|
+
const endMs = Date.parse(`${endDate}T00:00:00Z`);
|
|
59
|
+
if (!Number.isFinite(startMs) || !Number.isFinite(endMs)) {
|
|
60
|
+
throw new Error(`Invalid all-day date range: "${start}" – "${end}"`);
|
|
61
|
+
}
|
|
62
|
+
const lastDayMs = Math.max(startMs, endMs);
|
|
63
|
+
return new Date(lastDayMs + DAY_MS).toISOString().slice(0, 10);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The inclusive range for DISPLAY, from the caller's raw values.
|
|
67
|
+
*
|
|
68
|
+
* A single-day event (end equal to or before start, or no end) renders as just
|
|
69
|
+
* the date; a multi-day one renders as `start – end`.
|
|
70
|
+
*/
|
|
71
|
+
export function allDayRange(start, end) {
|
|
72
|
+
const startDate = allDayDate(start);
|
|
73
|
+
if (end === undefined)
|
|
74
|
+
return startDate;
|
|
75
|
+
const endDate = allDayDate(end);
|
|
76
|
+
return endDate > startDate ? `${startDate} – ${endDate}` : startDate;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=dates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dates.js","sourceRoot":"","sources":["../../../src/services/calendar/dates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,OAAO,GAAG,qBAAqB,CAAC;AACtC,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACvF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC;QACrC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC;QACjC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,wDAAwD,KAAK,IAAI,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,GAAW;IACzD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAEhC,oEAAoE;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,YAAY,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,YAAY,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,QAAQ,GAAG,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,GAAY;IACrD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC"}
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
import { createHash } from 'node:crypto';
|
|
12
12
|
import { call } from '../../google/client.js';
|
|
13
13
|
import { formatEventList, formatEventDetail } from '../../server/formatting/markdown.js';
|
|
14
|
-
import { requireString } from '../../server/handlers/validate.js';
|
|
14
|
+
import { requireString, optionalString } from '../../server/handlers/validate.js';
|
|
15
|
+
import { allDayDate, exclusiveEndDate, allDayRange } from './dates.js';
|
|
15
16
|
/** Format calendar list — name, access role, primary flag. */
|
|
16
17
|
function formatCalendarList(data) {
|
|
17
18
|
const raw = data;
|
|
@@ -304,15 +305,28 @@ export const calendarPatch = {
|
|
|
304
305
|
create: async (params, account) => {
|
|
305
306
|
const summary = requireString(params, 'summary');
|
|
306
307
|
const start = requireString(params, 'start');
|
|
307
|
-
const
|
|
308
|
+
const allDay = params.allDay === true;
|
|
309
|
+
// `end` is optional ONLY for all-day events (defaults to the start date).
|
|
310
|
+
// A timed event without an end has no duration — reject it explicitly.
|
|
311
|
+
const end = optionalString(params, 'end');
|
|
312
|
+
if (!allDay && end === undefined) {
|
|
313
|
+
throw new Error('end is required for timed events (or pass allDay: true for a date-only event)');
|
|
314
|
+
}
|
|
308
315
|
const calendarId = params.calendarId || 'primary';
|
|
309
316
|
// Attendees are an ARRAY OF OBJECTS in the event body, not a repeated scalar.
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
start
|
|
314
|
-
|
|
315
|
-
|
|
317
|
+
// All-day events use `date` (YYYY-MM-DD); timed ones use `dateTime` (RFC 3339).
|
|
318
|
+
const body = { calendarId, summary };
|
|
319
|
+
if (allDay) {
|
|
320
|
+
body.start = { date: allDayDate(start) };
|
|
321
|
+
// The Calendar API's all-day end date is EXCLUSIVE — one day after the
|
|
322
|
+
// last day. `end` here is the caller's INCLUSIVE last day, and defaults
|
|
323
|
+
// to the start date (a one-day event).
|
|
324
|
+
body.end = { date: exclusiveEndDate(start, end ?? start) };
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
body.start = { dateTime: start };
|
|
328
|
+
body.end = { dateTime: end };
|
|
329
|
+
}
|
|
316
330
|
if (params.description)
|
|
317
331
|
body.description = String(params.description);
|
|
318
332
|
if (params.location)
|
|
@@ -328,7 +342,7 @@ export const calendarPatch = {
|
|
|
328
342
|
// Derive it deterministically from the event fields so a retried create
|
|
329
343
|
// cannot double-book.
|
|
330
344
|
const fingerprint = createHash('sha256')
|
|
331
|
-
.update(JSON.stringify({ calendarId, summary, start, end, location: params.location ?? '' }))
|
|
345
|
+
.update(JSON.stringify({ calendarId, summary, start, end, allDay, location: params.location ?? '' }))
|
|
332
346
|
.digest('hex').slice(0, 32);
|
|
333
347
|
body.conferenceData = {
|
|
334
348
|
createRequest: {
|
|
@@ -340,13 +354,15 @@ export const calendarPatch = {
|
|
|
340
354
|
}
|
|
341
355
|
const data = await call('calendar', 'events.insert', body, { account });
|
|
342
356
|
const meetLink = params.meet ? ' (with Google Meet)' : '';
|
|
357
|
+
const allDayMarker = allDay ? ' (all day)' : '';
|
|
358
|
+
const when = allDay ? allDayRange(start, end) : `${start} – ${end}`;
|
|
343
359
|
return {
|
|
344
|
-
text: `Event created: **${summary}**${meetLink}\n\n` +
|
|
345
|
-
`**When:** ${
|
|
360
|
+
text: `Event created: **${summary}**${meetLink}${allDayMarker}\n\n` +
|
|
361
|
+
`**When:** ${when}\n` +
|
|
346
362
|
(params.location ? `**Where:** ${params.location}\n` : '') +
|
|
347
363
|
`**Calendar:** ${calendarId}\n` +
|
|
348
364
|
`**Event ID:** ${data.id ?? 'unknown'}`,
|
|
349
|
-
refs: { id: data.id, eventId: data.id, calendarId, summary, start, end },
|
|
365
|
+
refs: { id: data.id, eventId: data.id, calendarId, summary, start, end, allDay },
|
|
350
366
|
};
|
|
351
367
|
},
|
|
352
368
|
delete: async (params, account) => {
|
|
@@ -372,10 +388,70 @@ export const calendarPatch = {
|
|
|
372
388
|
body.description = String(params.description);
|
|
373
389
|
if (params.location !== undefined)
|
|
374
390
|
body.location = String(params.location);
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
391
|
+
// All-day updates map start/end to `date` (YYYY-MM-DD); timed ones to
|
|
392
|
+
// `dateTime` (RFC 3339).
|
|
393
|
+
//
|
|
394
|
+
// events.patch MERGES these nested objects rather than replacing them, so
|
|
395
|
+
// sending `{ date }` onto an event that holds `{ dateTime }` leaves BOTH
|
|
396
|
+
// fields set and Google rejects it with "Invalid start time". Send the
|
|
397
|
+
// counterpart as an explicit null so the merge clears the old shape —
|
|
398
|
+
// that null is what makes a timed <-> all-day conversion possible.
|
|
399
|
+
const allDay = params.allDay === true;
|
|
400
|
+
// Google requires start and end to share a shape. Patching one alone is
|
|
401
|
+
// fine while the shape is unchanged, but a CONVERSION has to move both or
|
|
402
|
+
// the event is left half-converted and comes back as a 400. Only one
|
|
403
|
+
// supplied is the sole case that can go wrong, so the shape of the event
|
|
404
|
+
// as it stands is fetched only then — every other update still costs one
|
|
405
|
+
// API call, not two.
|
|
406
|
+
let derivedStart;
|
|
407
|
+
let derivedEnd;
|
|
408
|
+
if ((params.start === undefined) !== (params.end === undefined)) {
|
|
409
|
+
const existing = await call('calendar', 'events.get', { calendarId, eventId }, { account });
|
|
410
|
+
const exStart = existing?.start;
|
|
411
|
+
const exEnd = existing?.end;
|
|
412
|
+
const existingIsAllDay = !exStart?.dateTime;
|
|
413
|
+
if (allDay !== existingIsAllDay) {
|
|
414
|
+
// Converting TO all-day: the side the caller left out is derivable,
|
|
415
|
+
// because a datetime projects onto a date by taking its date part.
|
|
416
|
+
// Deriving from the EXISTING value rather than from the supplied one
|
|
417
|
+
// preserves the event's span — a two-day meeting stays two days.
|
|
418
|
+
if (allDay) {
|
|
419
|
+
const counterpart = params.start === undefined ? exStart : exEnd;
|
|
420
|
+
const raw = counterpart?.dateTime ?? counterpart?.date;
|
|
421
|
+
if (typeof raw !== 'string') {
|
|
422
|
+
throw new Error('Converting to all-day needs both start and end, and the event on record ' +
|
|
423
|
+
'has no usable counterpart to derive the missing one from.');
|
|
424
|
+
}
|
|
425
|
+
if (params.start === undefined)
|
|
426
|
+
derivedStart = allDayDate(raw);
|
|
427
|
+
else
|
|
428
|
+
derivedEnd = allDayDate(raw);
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
// Converting FROM all-day, the missing side is a datetime, and there
|
|
432
|
+
// is no honest way to invent a time of day the caller never gave —
|
|
433
|
+
// any choice silently rewrites when the event happens.
|
|
434
|
+
throw new Error('Converting an event from all-day to timed needs both start and end, ' +
|
|
435
|
+
'because the missing one would need a time of day that only you can choose.');
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
const startValue = params.start ?? derivedStart;
|
|
440
|
+
const endValue = params.end ?? derivedEnd;
|
|
441
|
+
if (startValue !== undefined) {
|
|
442
|
+
body.start = allDay
|
|
443
|
+
? { date: allDayDate(String(startValue)), dateTime: null }
|
|
444
|
+
: { dateTime: String(startValue), date: null };
|
|
445
|
+
}
|
|
446
|
+
if (endValue !== undefined) {
|
|
447
|
+
// The API's all-day end is EXCLUSIVE; the caller's is INCLUSIVE. Patching
|
|
448
|
+
// an end without a start has no anchor to measure from, so the end date
|
|
449
|
+
// itself is treated as the inclusive last day; `body.start` is left unset
|
|
450
|
+
// either way, so the event keeps the start it already had.
|
|
451
|
+
body.end = allDay
|
|
452
|
+
? { date: exclusiveEndDate(String(startValue ?? endValue), String(endValue)), dateTime: null }
|
|
453
|
+
: { dateTime: String(endValue), date: null };
|
|
454
|
+
}
|
|
379
455
|
// attendees: comma-separated string → array of {email} objects.
|
|
380
456
|
// Google events.patch replaces the attendees array wholesale (no diff semantics),
|
|
381
457
|
// so the caller must re-supply every guest they want kept.
|