@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.
- package/build/accounts/oauth.js +6 -1
- package/build/accounts/oauth.js.map +1 -1
- package/build/factory/manifest/gmail.yaml +211 -6
- package/build/factory/safety.js +35 -11
- package/build/factory/safety.js.map +1 -1
- package/build/server/call-context.d.ts +12 -0
- package/build/server/call-context.js +20 -0
- package/build/server/call-context.js.map +1 -0
- package/build/server/handler.d.ts +4 -0
- package/build/server/handler.js +9 -1
- package/build/server/handler.js.map +1 -1
- package/build/server/preview-gate.d.ts +36 -0
- package/build/server/preview-gate.js +105 -0
- package/build/server/preview-gate.js.map +1 -0
- package/build/server/scratchpad/adapters/import-drive.js +12 -31
- package/build/server/scratchpad/adapters/import-drive.js.map +1 -1
- package/build/server/scratchpad/adapters/send-workspace.js +23 -20
- package/build/server/scratchpad/adapters/send-workspace.js.map +1 -1
- package/build/server/scratchpad/handler.js +28 -30
- package/build/server/scratchpad/handler.js.map +1 -1
- package/build/server/scratchpad/manager.d.ts +1 -0
- package/build/server/scratchpad/manager.js.map +1 -1
- package/build/server/tools.js +2 -1
- package/build/server/tools.js.map +1 -1
- package/build/services/drive/patch.js +4 -23
- package/build/services/drive/patch.js.map +1 -1
- package/build/services/drive/workspace-download.d.ts +24 -0
- package/build/services/drive/workspace-download.js +50 -0
- package/build/services/drive/workspace-download.js.map +1 -0
- package/build/services/gmail/filters.d.ts +88 -0
- package/build/services/gmail/filters.js +504 -0
- package/build/services/gmail/filters.js.map +1 -0
- package/build/services/gmail/hydrate.d.ts +29 -0
- package/build/services/gmail/hydrate.js +116 -0
- package/build/services/gmail/hydrate.js.map +1 -0
- package/build/services/gmail/patch.js +72 -116
- package/build/services/gmail/patch.js.map +1 -1
- package/build/version.d.ts +1 -1
- package/build/version.js +1 -1
- 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
|
-
|
|
282
|
-
const
|
|
283
|
-
|
|
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 {};
|