@aaronsb/google-workspace-mcp 4.6.0 → 4.7.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 (40) hide show
  1. package/build/accounts/oauth.js +6 -1
  2. package/build/accounts/oauth.js.map +1 -1
  3. package/build/factory/manifest/gmail.yaml +211 -6
  4. package/build/factory/safety.js +35 -11
  5. package/build/factory/safety.js.map +1 -1
  6. package/build/server/call-context.d.ts +12 -0
  7. package/build/server/call-context.js +20 -0
  8. package/build/server/call-context.js.map +1 -0
  9. package/build/server/handler.d.ts +4 -0
  10. package/build/server/handler.js +9 -1
  11. package/build/server/handler.js.map +1 -1
  12. package/build/server/preview-gate.d.ts +36 -0
  13. package/build/server/preview-gate.js +105 -0
  14. package/build/server/preview-gate.js.map +1 -0
  15. package/build/server/scratchpad/adapters/import-drive.js +12 -31
  16. package/build/server/scratchpad/adapters/import-drive.js.map +1 -1
  17. package/build/server/scratchpad/adapters/send-workspace.js +23 -20
  18. package/build/server/scratchpad/adapters/send-workspace.js.map +1 -1
  19. package/build/server/scratchpad/handler.js +28 -30
  20. package/build/server/scratchpad/handler.js.map +1 -1
  21. package/build/server/scratchpad/manager.d.ts +1 -0
  22. package/build/server/scratchpad/manager.js.map +1 -1
  23. package/build/server/tools.js +2 -1
  24. package/build/server/tools.js.map +1 -1
  25. package/build/services/drive/patch.js +4 -23
  26. package/build/services/drive/patch.js.map +1 -1
  27. package/build/services/drive/workspace-download.d.ts +24 -0
  28. package/build/services/drive/workspace-download.js +50 -0
  29. package/build/services/drive/workspace-download.js.map +1 -0
  30. package/build/services/gmail/filters.d.ts +88 -0
  31. package/build/services/gmail/filters.js +504 -0
  32. package/build/services/gmail/filters.js.map +1 -0
  33. package/build/services/gmail/hydrate.d.ts +29 -0
  34. package/build/services/gmail/hydrate.js +116 -0
  35. package/build/services/gmail/hydrate.js.map +1 -0
  36. package/build/services/gmail/patch.js +72 -116
  37. package/build/services/gmail/patch.js.map +1 -1
  38. package/build/version.d.ts +1 -1
  39. package/build/version.js +1 -1
  40. package/package.json +1 -1
@@ -17,6 +17,7 @@ import { formatFileList, formatFileDetail } from '../../server/formatting/markdo
17
17
  import { requireString } from '../../server/handlers/validate.js';
18
18
  import { ensureWorkspaceDir, resolveWorkspacePath, verifyPathSafety } from '../../executor/workspace.js';
19
19
  import { isTextFile, formatFileOutput, buildImageBlock, buildImageBlockFromFile, isImageFile } from '../../executor/file-output.js';
20
+ import { downloadToWorkspace } from './workspace-download.js';
20
21
  /** Read a file from workspace and build the output result with optional inline content. */
21
22
  async function readWorkspaceFile(filePath, filename, mimeType) {
22
23
  const stat = await fs.stat(filePath);
@@ -278,29 +279,9 @@ export const drivePatch = {
278
279
  },
279
280
  download: async (params, account) => {
280
281
  const fileId = requireString(params, 'fileId');
281
- // Get file metadata for filename and mime type
282
- const meta = await call('drive', 'files.get', {
283
- fileId,
284
- fields: 'name,mimeType',
285
- supportsAllDrives: true,
286
- }, { account });
287
- const filename = String(params.outputPath || meta.name || `file-${fileId}`);
288
- const mimeType = String(meta.mimeType || '');
289
- // Ensure workspace and resolve output path
290
- const wsStatus = await ensureWorkspaceDir();
291
- if (!wsStatus.valid)
292
- throw new Error(`Workspace invalid: ${wsStatus.warning}`);
293
- const outputPath = resolveWorkspacePath(filename);
294
- await verifyPathSafety(outputPath);
295
- // Ensure parent directories exist (outputPath may contain subdirectories)
296
- await fs.mkdir(path.dirname(outputPath), { recursive: true });
297
- // Stream the bytes straight to disk — they are never a JS string (ADR-103).
298
- await download('drive', 'files.get', {
299
- fileId,
300
- alt: 'media',
301
- supportsAllDrives: true,
302
- }, outputPath, { account });
303
- const output = await readWorkspaceFile(outputPath, filename, mimeType);
282
+ const outputPath = params.outputPath ? String(params.outputPath) : undefined;
283
+ const file = await downloadToWorkspace(fileId, account, { outputPath });
284
+ const output = await readWorkspaceFile(file.path, file.filename, file.mimeType);
304
285
  return {
305
286
  text: formatFileOutput(output),
306
287
  refs: {
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/services/drive/patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/services/drive/patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Drive → workspace download — the one path that brings a Drive file's bytes onto disk.
3
+ *
4
+ * `manage_drive download`, scratchpad `import drive_file` and scratchpad `attach` with
5
+ * source `drive` all land here, so the file ID only ever reaches the Drive API and the
6
+ * file on disk always sits inside the workspace.
7
+ */
8
+ export interface DriveFileMeta {
9
+ name: string;
10
+ mimeType: string;
11
+ }
12
+ export interface WorkspaceDownload extends DriveFileMeta {
13
+ /** Workspace-relative name the file was written under. */
14
+ filename: string;
15
+ /** Absolute path inside the workspace. */
16
+ path: string;
17
+ }
18
+ export interface DownloadOptions {
19
+ /** Workspace-relative destination chosen by the caller. Defaults to the Drive name. */
20
+ outputPath?: string;
21
+ /** Throws to refuse a file from its metadata, before any bytes are fetched. */
22
+ accept?: (meta: DriveFileMeta) => void;
23
+ }
24
+ export declare function downloadToWorkspace(fileId: string, account: string, options?: DownloadOptions): Promise<WorkspaceDownload>;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Drive → workspace download — the one path that brings a Drive file's bytes onto disk.
3
+ *
4
+ * `manage_drive download`, scratchpad `import drive_file` and scratchpad `attach` with
5
+ * source `drive` all land here, so the file ID only ever reaches the Drive API and the
6
+ * file on disk always sits inside the workspace.
7
+ */
8
+ import * as fs from 'node:fs/promises';
9
+ import * as path from 'node:path';
10
+ import { call, download } from '../../google/client.js';
11
+ import { ensureWorkspaceDir, getWorkspaceDir, resolveWorkspacePath, sanitizeFilename, verifyPathSafety, } from '../../executor/workspace.js';
12
+ /** Google-native types (Docs, Sheets, folders…) have no bytes to download, only exports. */
13
+ const GOOGLE_NATIVE_PREFIX = 'application/vnd.google-apps.';
14
+ export async function downloadToWorkspace(fileId, account, options = {}) {
15
+ const raw = await call('drive', 'files.get', {
16
+ fileId,
17
+ fields: 'name,mimeType',
18
+ supportsAllDrives: true,
19
+ }, { account });
20
+ const meta = {
21
+ name: String(raw.name || `file-${fileId}`),
22
+ mimeType: String(raw.mimeType || ''),
23
+ };
24
+ if (meta.mimeType.startsWith(GOOGLE_NATIVE_PREFIX)) {
25
+ throw new Error(`"${meta.name}" is a Google-native file (${meta.mimeType}) and has no bytes to download. ` +
26
+ `Use manage_drive export to convert it into the workspace first.`);
27
+ }
28
+ options.accept?.(meta);
29
+ const wsStatus = await ensureWorkspaceDir();
30
+ if (!wsStatus.valid)
31
+ throw new Error(`Workspace invalid: ${wsStatus.warning}`);
32
+ // A caller-chosen outputPath may name subdirectories; a Drive name is one segment,
33
+ // whatever slashes it happens to contain.
34
+ const outputPath = resolveWorkspacePath(options.outputPath || sanitizeFilename(meta.name));
35
+ await verifyPathSafety(outputPath);
36
+ await fs.mkdir(path.dirname(outputPath), { recursive: true });
37
+ // Stream the bytes straight to disk — they are never a JS string (ADR-103).
38
+ // `alt: 'media'` is what turns files.get from a metadata read into a byte stream.
39
+ await download('drive', 'files.get', {
40
+ fileId,
41
+ alt: 'media',
42
+ supportsAllDrives: true,
43
+ }, outputPath, { account });
44
+ return {
45
+ ...meta,
46
+ filename: path.relative(getWorkspaceDir(), outputPath),
47
+ path: outputPath,
48
+ };
49
+ }
50
+ //# sourceMappingURL=workspace-download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-download.js","sourceRoot":"","sources":["../../../src/services/drive/workspace-download.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,kBAAkB,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,GAC9F,MAAM,6BAA6B,CAAC;AAErC,4FAA4F;AAC5F,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAqB5D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,UAA2B,EAAE;IAE7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;QAC3C,MAAM;QACN,MAAM,EAAE,eAAe;QACvB,iBAAiB,EAAE,IAAI;KACxB,EAAE,EAAE,OAAO,EAAE,CAA4B,CAAC;IAC3C,MAAM,IAAI,GAAkB;QAC1B,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,QAAQ,MAAM,EAAE,CAAC;QAC1C,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;KACrC,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,IAAI,IAAI,CAAC,IAAI,8BAA8B,IAAI,CAAC,QAAQ,kCAAkC;YAC1F,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAE/E,mFAAmF;IACnF,0CAA0C;IAC1C,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9D,4EAA4E;IAC5E,kFAAkF;IAClF,MAAM,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE;QACnC,MAAM;QACN,GAAG,EAAE,OAAO;QACZ,iBAAiB,EAAE,IAAI;KACxB,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAE5B,OAAO;QACL,GAAG,IAAI;QACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC;QACtD,IAAI,EAAE,UAAU;KACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Gmail filters — routing applied to mail as it arrives. ADR-309, #202.
3
+ *
4
+ * A filter is a standing-effect write: it keeps acting after the call, on messages the
5
+ * call never saw. So the lifecycle is gated. `previewFilter` evaluates a filter against the
6
+ * mail already there and mints a token for that exact filter; `createFilter` and
7
+ * `updateFilter` refuse without it. Every action Gmail supports stays available, and the
8
+ * preview is where a dangerous one (trash, forward) is explained.
9
+ *
10
+ * Gmail has no `filters.update`. `updateFilter` creates the replacement first and deletes
11
+ * the original after, so a failure part-way leaves two filters, never none.
12
+ *
13
+ * Parameters are flat, like every other operation on this tool: criteria are `match*`,
14
+ * actions are `addLabelIds`, `removeLabelIds` and `forwardTo`.
15
+ */
16
+ import { type HandlerResponse } from '../../server/formatting/markdown.js';
17
+ export interface FilterCriteria {
18
+ from?: string;
19
+ to?: string;
20
+ subject?: string;
21
+ query?: string;
22
+ negatedQuery?: string;
23
+ hasAttachment?: boolean;
24
+ excludeChats?: boolean;
25
+ size?: number;
26
+ sizeComparison?: 'larger' | 'smaller';
27
+ }
28
+ export interface FilterAction {
29
+ addLabelIds?: string[];
30
+ removeLabelIds?: string[];
31
+ forward?: string;
32
+ }
33
+ /** Field names match Gmail's `Filter` resource, so a spec is also the request body. */
34
+ export interface FilterSpec {
35
+ criteria: FilterCriteria;
36
+ action: FilterAction;
37
+ }
38
+ /** A filter as Google returns it, before normalizing. */
39
+ type RawFilter = {
40
+ criteria?: Record<string, unknown>;
41
+ action?: Record<string, unknown>;
42
+ };
43
+ /**
44
+ * Reduce any filter, from our params or from Google, to one canonical spec, so two
45
+ * filters that do the same thing compare equal and a token minted over one matches the
46
+ * other. Empty strings, false booleans and empty label lists are absent.
47
+ */
48
+ export declare function normalizeSpec(raw: RawFilter): FilterSpec;
49
+ /** Build and validate the filter a call describes. Throws a sentence naming what is missing. */
50
+ export declare function buildFilterSpec(params: Record<string, unknown>): FilterSpec;
51
+ /** The Gmail search a filter's criteria amount to. Filters and search share one syntax. */
52
+ export declare function criteriaToQuery(c: FilterCriteria): string;
53
+ /** The tool params that describe this filter, for recreating or editing it. */
54
+ export declare function specToParams(spec: FilterSpec): Record<string, string | number | boolean>;
55
+ interface Effect {
56
+ /** What happens, in a clause: "skips the inbox". */
57
+ text: string;
58
+ /** Why it is worth a second look, shown in full previews only. */
59
+ detail?: string;
60
+ /** A consequence worth a second look before approving: disposal, or mail leaving the account. */
61
+ warn?: boolean;
62
+ }
63
+ export declare function describeActions(action: FilterAction, labelNames: Map<string, string>): Effect[];
64
+ /** `filters` — every filter on the account, one line each. */
65
+ export declare function handleListFilters(_params: Record<string, unknown>, account: string): Promise<HandlerResponse>;
66
+ /** `getFilter` — one filter, in words, with the parameters that recreate or edit it. */
67
+ export declare function handleGetFilter(params: Record<string, unknown>, account: string): Promise<HandlerResponse>;
68
+ /**
69
+ * `previewFilter` — evaluate a filter without creating it, and mint the token the write
70
+ * needs. With `filterId`, evaluates replacing that filter and mints an update token.
71
+ *
72
+ * Problems that would make the write fail or do nothing (an unknown label, an unverified
73
+ * forwarding address, an exact duplicate) are errors and withhold the token. Consequences
74
+ * worth a second look are shown, not refused.
75
+ */
76
+ export declare function handlePreviewFilter(params: Record<string, unknown>, account: string): Promise<HandlerResponse>;
77
+ /** `createFilter` — create a filter its preview has already shown. */
78
+ export declare function handleCreateFilter(params: Record<string, unknown>, account: string): Promise<HandlerResponse>;
79
+ /**
80
+ * `updateFilter` — replace a filter with the one its preview showed.
81
+ *
82
+ * The token covers the filter being replaced as it was at preview time, so a filter that
83
+ * changed in the meantime is not replaced on the strength of a preview of something else.
84
+ */
85
+ export declare function handleUpdateFilter(params: Record<string, unknown>, account: string): Promise<HandlerResponse>;
86
+ /** `deleteFilter` — stop a filter, and return what it was so it can be put back. */
87
+ export declare function handleDeleteFilter(params: Record<string, unknown>, account: string): Promise<HandlerResponse>;
88
+ export {};