@aaronsb/google-workspace-mcp 2.7.0 → 3.0.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 +21 -10
- package/build/factory/generator.d.ts +0 -2
- package/build/factory/generator.js +32 -27
- package/build/factory/generator.js.map +1 -1
- package/build/factory/manifest/gmail.yaml +24 -2
- package/build/factory/registry.d.ts +2 -3
- package/build/factory/registry.js +3 -9
- package/build/factory/registry.js.map +1 -1
- package/build/index.js +27 -1
- package/build/index.js.map +1 -1
- package/build/node-floor.d.ts +16 -0
- package/build/node-floor.js +73 -0
- package/build/node-floor.js.map +1 -0
- package/build/services/gmail/patch.js +67 -3
- package/build/services/gmail/patch.js.map +1 -1
- package/build/version.d.ts +1 -1
- package/build/version.js +2 -2
- package/build/version.js.map +1 -1
- package/package.json +17 -10
- package/build/__helpers__/testSetup.d.ts +0 -1
- package/build/__helpers__/testSetup.js +0 -6
- package/build/__helpers__/testSetup.js.map +0 -1
- package/build/__tests__/accounts/credentials.test.d.ts +0 -1
- package/build/__tests__/accounts/credentials.test.js +0 -127
- package/build/__tests__/accounts/credentials.test.js.map +0 -1
- package/build/__tests__/accounts/oauth.test.d.ts +0 -1
- package/build/__tests__/accounts/oauth.test.js +0 -71
- package/build/__tests__/accounts/oauth.test.js.map +0 -1
- package/build/__tests__/accounts/registry.test.d.ts +0 -1
- package/build/__tests__/accounts/registry.test.js +0 -74
- package/build/__tests__/accounts/registry.test.js.map +0 -1
- package/build/__tests__/accounts/token-service.test.d.ts +0 -1
- package/build/__tests__/accounts/token-service.test.js +0 -126
- package/build/__tests__/accounts/token-service.test.js.map +0 -1
- package/build/__tests__/executor/errors.test.d.ts +0 -1
- package/build/__tests__/executor/errors.test.js +0 -42
- package/build/__tests__/executor/errors.test.js.map +0 -1
- package/build/__tests__/executor/gws.test.d.ts +0 -1
- package/build/__tests__/executor/gws.test.js +0 -187
- package/build/__tests__/executor/gws.test.js.map +0 -1
- package/build/__tests__/executor/paths.test.d.ts +0 -1
- package/build/__tests__/executor/paths.test.js +0 -60
- package/build/__tests__/executor/paths.test.js.map +0 -1
- package/build/__tests__/executor/resolve-binary.test.d.ts +0 -1
- package/build/__tests__/executor/resolve-binary.test.js +0 -58
- package/build/__tests__/executor/resolve-binary.test.js.map +0 -1
- package/build/__tests__/executor/workspace.test.d.ts +0 -1
- package/build/__tests__/executor/workspace.test.js +0 -143
- package/build/__tests__/executor/workspace.test.js.map +0 -1
- package/build/__tests__/factory/calendar-patch.test.d.ts +0 -5
- package/build/__tests__/factory/calendar-patch.test.js +0 -269
- package/build/__tests__/factory/calendar-patch.test.js.map +0 -1
- package/build/__tests__/factory/drive-patch.test.d.ts +0 -5
- package/build/__tests__/factory/drive-patch.test.js +0 -344
- package/build/__tests__/factory/drive-patch.test.js.map +0 -1
- package/build/__tests__/factory/generator.test.d.ts +0 -1
- package/build/__tests__/factory/generator.test.js +0 -240
- package/build/__tests__/factory/generator.test.js.map +0 -1
- package/build/__tests__/factory/patch-coverage.test.d.ts +0 -10
- package/build/__tests__/factory/patch-coverage.test.js +0 -182
- package/build/__tests__/factory/patch-coverage.test.js.map +0 -1
- package/build/__tests__/factory/safety.test.d.ts +0 -1
- package/build/__tests__/factory/safety.test.js +0 -107
- package/build/__tests__/factory/safety.test.js.map +0 -1
- package/build/__tests__/factory/sheets-patch.test.d.ts +0 -6
- package/build/__tests__/factory/sheets-patch.test.js +0 -498
- package/build/__tests__/factory/sheets-patch.test.js.map +0 -1
- package/build/__tests__/integration/executor.test.d.ts +0 -5
- package/build/__tests__/integration/executor.test.js +0 -38
- package/build/__tests__/integration/executor.test.js.map +0 -1
- package/build/__tests__/integration/handlers.test.d.ts +0 -6
- package/build/__tests__/integration/handlers.test.js +0 -95
- package/build/__tests__/integration/handlers.test.js.map +0 -1
- package/build/__tests__/integration/setup.d.ts +0 -19
- package/build/__tests__/integration/setup.js +0 -61
- package/build/__tests__/integration/setup.js.map +0 -1
- package/build/__tests__/server/formatting/html-sanitize.test.d.ts +0 -7
- package/build/__tests__/server/formatting/html-sanitize.test.js +0 -174
- package/build/__tests__/server/formatting/html-sanitize.test.js.map +0 -1
- package/build/__tests__/server/formatting/markdown.test.d.ts +0 -1
- package/build/__tests__/server/formatting/markdown.test.js +0 -259
- package/build/__tests__/server/formatting/markdown.test.js.map +0 -1
- package/build/__tests__/server/formatting/next-steps.test.d.ts +0 -1
- package/build/__tests__/server/formatting/next-steps.test.js +0 -42
- package/build/__tests__/server/formatting/next-steps.test.js.map +0 -1
- package/build/__tests__/server/handler.test.d.ts +0 -1
- package/build/__tests__/server/handler.test.js +0 -97
- package/build/__tests__/server/handler.test.js.map +0 -1
- package/build/__tests__/server/handlers/__mocks__/executor.d.ts +0 -173
- package/build/__tests__/server/handlers/__mocks__/executor.js +0 -135
- package/build/__tests__/server/handlers/__mocks__/executor.js.map +0 -1
- package/build/__tests__/server/handlers/accounts.test.d.ts +0 -1
- package/build/__tests__/server/handlers/accounts.test.js +0 -129
- package/build/__tests__/server/handlers/accounts.test.js.map +0 -1
- package/build/__tests__/server/handlers/calendar.test.d.ts +0 -1
- package/build/__tests__/server/handlers/calendar.test.js +0 -96
- package/build/__tests__/server/handlers/calendar.test.js.map +0 -1
- package/build/__tests__/server/handlers/drive.test.d.ts +0 -1
- package/build/__tests__/server/handlers/drive.test.js +0 -68
- package/build/__tests__/server/handlers/drive.test.js.map +0 -1
- package/build/__tests__/server/handlers/email.test.d.ts +0 -1
- package/build/__tests__/server/handlers/email.test.js +0 -99
- package/build/__tests__/server/handlers/email.test.js.map +0 -1
- package/build/__tests__/server/handlers/validate.test.d.ts +0 -1
- package/build/__tests__/server/handlers/validate.test.js +0 -88
- package/build/__tests__/server/handlers/validate.test.js.map +0 -1
- package/build/__tests__/server/queue.test.d.ts +0 -1
- package/build/__tests__/server/queue.test.js +0 -199
- package/build/__tests__/server/queue.test.js.map +0 -1
- package/build/__tests__/server/server.test.d.ts +0 -7
- package/build/__tests__/server/server.test.js +0 -135
- package/build/__tests__/server/server.test.js.map +0 -1
- package/build/__tests__/server/session/context.test.d.ts +0 -1
- package/build/__tests__/server/session/context.test.js +0 -101
- package/build/__tests__/server/session/context.test.js.map +0 -1
- package/build/__tests__/server/session/tracker.test.d.ts +0 -1
- package/build/__tests__/server/session/tracker.test.js +0 -146
- package/build/__tests__/server/session/tracker.test.js.map +0 -1
- package/build/__tests__/server/tools.test.d.ts +0 -1
- package/build/__tests__/server/tools.test.js +0 -91
- package/build/__tests__/server/tools.test.js.map +0 -1
- package/build/__tests__/services/gmail/mime.test.d.ts +0 -1
- package/build/__tests__/services/gmail/mime.test.js +0 -23
- package/build/__tests__/services/gmail/mime.test.js.map +0 -1
- package/build/__tests__/services/meet/patch.test.d.ts +0 -4
- package/build/__tests__/services/meet/patch.test.js +0 -374
- package/build/__tests__/services/meet/patch.test.js.map +0 -1
- package/build/server/scratchpad/__tests__/docs-sync-integration.test.d.ts +0 -11
- package/build/server/scratchpad/__tests__/docs-sync-integration.test.js +0 -187
- package/build/server/scratchpad/__tests__/docs-sync-integration.test.js.map +0 -1
- package/build/server/scratchpad/__tests__/docs-sync.test.d.ts +0 -16
- package/build/server/scratchpad/__tests__/docs-sync.test.js +0 -213
- package/build/server/scratchpad/__tests__/docs-sync.test.js.map +0 -1
- package/build/server/scratchpad/__tests__/json-path.test.d.ts +0 -4
- package/build/server/scratchpad/__tests__/json-path.test.js +0 -121
- package/build/server/scratchpad/__tests__/json-path.test.js.map +0 -1
- package/build/server/scratchpad/__tests__/manager.test.d.ts +0 -5
- package/build/server/scratchpad/__tests__/manager.test.js +0 -886
- package/build/server/scratchpad/__tests__/manager.test.js.map +0 -1
- package/build/server/scratchpad/__tests__/validate.test.d.ts +0 -4
- package/build/server/scratchpad/__tests__/validate.test.js +0 -112
- package/build/server/scratchpad/__tests__/validate.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Google Workspace MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@aaronsb/google-workspace-mcp)
|
|
4
|
+
[](https://github.com/aaronsb/google-workspace-mcp/releases)
|
|
5
|
+
[](https://nodejs.org)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
3
8
|
Give AI agents full access to Google Workspace — Gmail, Calendar, Drive, and more — through a single MCP server that handles multi-account credential routing, response formatting for AI consumption, and contextual guidance.
|
|
4
9
|
|
|
5
10
|
Built on [Google's official Workspace CLI](https://github.com/googleworkspace/cli) (`gws`), which means API coverage grows as Google does. The server uses a manifest-driven factory that turns declarative YAML into fully functional MCP tools — adding a new Google API operation is a config change, not a code change.
|
|
@@ -14,15 +19,21 @@ Built on [Google's official Workspace CLI](https://github.com/googleworkspace/cl
|
|
|
14
19
|
|
|
15
20
|
## What's Available
|
|
16
21
|
|
|
17
|
-
**
|
|
18
|
-
|
|
19
|
-
| Tool |
|
|
20
|
-
|
|
21
|
-
| `manage_email` | search, read, send, reply
|
|
22
|
-
| `manage_calendar` | list, agenda, get, create, quickAdd, update, delete, calendars, freebusy |
|
|
23
|
-
| `manage_drive` | search, get, upload, download, copy,
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
22
|
+
**7 Google-service tools (~80 operations) plus account, batching, and content-authoring tools.** The full surface — what's covered, what isn't, and how it grows — is mapped in **[API coverage](docs/coverage.md)**.
|
|
23
|
+
|
|
24
|
+
| Tool | What It Does |
|
|
25
|
+
|------|--------------|
|
|
26
|
+
| `manage_email` | Gmail — search, read (plain or sanitized HTML body), send, reply / reply-all, forward, triage, trash, labels, threads, attachments |
|
|
27
|
+
| `manage_calendar` | Calendar — list, agenda, get, create, quickAdd (natural language), update, delete, calendars, freebusy |
|
|
28
|
+
| `manage_drive` | Drive — search, get, upload, download, copy, rename / move (`update`), delete, export, permissions, comments, view images |
|
|
29
|
+
| `manage_sheets` | Sheets — read / write ranges (row-numbered output), append, clear, manage tabs, copy / duplicate / rename |
|
|
30
|
+
| `manage_docs` | Docs — get, create, append, insert text, find-and-replace |
|
|
31
|
+
| `manage_tasks` | Tasks — list / create / update / complete tasks and task lists |
|
|
32
|
+
| `manage_meet` | Meet — browse past conferences, participants, transcripts, recordings, smart notes |
|
|
33
|
+
| `manage_accounts` | Multi-account lifecycle — add accounts, manage credentials and scopes |
|
|
34
|
+
| `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 |
|
|
35
|
+
| `manage_workspace` | File operations in the workspace sandbox (exchange point for attachments, downloads, exports) |
|
|
36
|
+
| `queue_operations` | Chain operations sequentially with `$N.field` result references |
|
|
26
37
|
|
|
27
38
|
Every response includes **next-steps** guidance — the agent always knows what it can do next.
|
|
28
39
|
|
|
@@ -85,7 +96,7 @@ npx @aaronsb/google-workspace-mcp
|
|
|
85
96
|
|
|
86
97
|
### Prerequisites
|
|
87
98
|
|
|
88
|
-
1. **Node.js** 18
|
|
99
|
+
1. **Node.js** 22.12 or newer — Node 18 and 20 are both end-of-life
|
|
89
100
|
2. **Google Cloud OAuth credentials** — create at [console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials):
|
|
90
101
|
- Create an OAuth 2.0 Client ID (Desktop application)
|
|
91
102
|
- Enable the APIs you want (Gmail, Calendar, Drive, Sheets, etc.)
|
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
* Patches are optional per-service hooks that override default behavior.
|
|
9
9
|
*/
|
|
10
10
|
import type { Manifest, ServiceDef, ServicePatch, GeneratedTool, GeneratedToolSchema, GeneratedHandler } from './types.js';
|
|
11
|
-
/** Called by registry.ts to inject the ESM module directory. */
|
|
12
|
-
export declare function setModuleDir(dir: string): void;
|
|
13
11
|
/**
|
|
14
12
|
* Load the manifest from `src/factory/manifest/` — one YAML file per service,
|
|
15
13
|
* each file's root being that service's definition; the filename (minus
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* Patches are optional per-service hooks that override default behavior.
|
|
9
9
|
*/
|
|
10
10
|
import { readFileSync, readdirSync } from 'node:fs';
|
|
11
|
-
import { basename, resolve } from 'node:path';
|
|
11
|
+
import { basename, dirname, resolve } from 'node:path';
|
|
12
|
+
import { fileURLToPath } from 'node:url';
|
|
12
13
|
import { parse as parseYaml } from '../factory/yaml.js';
|
|
13
14
|
import { execute } from '../executor/gws.js';
|
|
14
15
|
import { requireEmail, clamp } from '../server/handlers/validate.js';
|
|
@@ -16,15 +17,16 @@ import { formatDefault } from './defaults.js';
|
|
|
16
17
|
import { nextSteps } from '../server/formatting/next-steps.js';
|
|
17
18
|
import { evaluatePolicies } from './safety.js';
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* This module's own directory, used to resolve the manifest relative to the
|
|
21
|
+
* built output — which is what makes `npx` and the .mcpb bundle work, where cwd
|
|
22
|
+
* is not the project root.
|
|
23
|
+
*
|
|
24
|
+
* This used to be injected by registry.ts via a `setModuleDir()` setter, purely
|
|
25
|
+
* because the CJS Jest runner could not parse `import.meta`. The test runner was
|
|
26
|
+
* shaping the source. Vitest runs ESM natively (ADR-101), so the module can just
|
|
27
|
+
* ask where it is.
|
|
22
28
|
*/
|
|
23
|
-
|
|
24
|
-
/** Called by registry.ts to inject the ESM module directory. */
|
|
25
|
-
export function setModuleDir(dir) {
|
|
26
|
-
_moduleDir = dir;
|
|
27
|
-
}
|
|
29
|
+
const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
|
|
28
30
|
/**
|
|
29
31
|
* Load the manifest from `src/factory/manifest/` — one YAML file per service,
|
|
30
32
|
* each file's root being that service's definition; the filename (minus
|
|
@@ -51,28 +53,31 @@ export function loadManifest(dir) {
|
|
|
51
53
|
return { services };
|
|
52
54
|
}
|
|
53
55
|
/**
|
|
54
|
-
* Locate the manifest directory
|
|
55
|
-
*
|
|
56
|
-
*
|
|
56
|
+
* Locate the manifest directory: always a sibling of this module.
|
|
57
|
+
*
|
|
58
|
+
* This resolves to `src/factory/manifest` when running the sources (vitest, tsx)
|
|
59
|
+
* and `build/factory/manifest` in the built server — which is what makes `npx`
|
|
60
|
+
* and the .mcpb bundle work, where cwd is not the project root.
|
|
61
|
+
*
|
|
62
|
+
* There is deliberately NO fallback chain. An earlier version tried three more
|
|
63
|
+
* candidates (back to `src/` from `build/`, then two cwd-relative paths), which
|
|
64
|
+
* sounds like resilience and is actually concealment: the only time a fallback
|
|
65
|
+
* fires is when the built manifest is missing, and the `src/` fallback exists
|
|
66
|
+
* *only in the dev checkout*. A build shipped without its manifest therefore
|
|
67
|
+
* resolved fine on this machine and in CI, and threw on the consumer's first
|
|
68
|
+
* `npx` start. Failing here, immediately and everywhere, is the point.
|
|
57
69
|
*/
|
|
58
70
|
function resolveManifestDir() {
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
candidates.push(resolve(_moduleDir, '../../src/factory/manifest')); // dev: from build/ to src/
|
|
71
|
+
const dir = resolve(MODULE_DIR, 'manifest');
|
|
72
|
+
try {
|
|
73
|
+
readdirSync(dir);
|
|
63
74
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (readdirSync(candidate).some((f) => f.endsWith('.yaml')))
|
|
69
|
-
return candidate;
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
continue;
|
|
73
|
-
}
|
|
75
|
+
catch {
|
|
76
|
+
throw new Error(`Could not read the manifest directory at ${dir}. ` +
|
|
77
|
+
`In a built server this directory is copied from src/factory/manifest by ` +
|
|
78
|
+
`the build; if it is missing, the build did not complete. Run \`npm run build\`.`);
|
|
74
79
|
}
|
|
75
|
-
|
|
80
|
+
return dir;
|
|
76
81
|
}
|
|
77
82
|
/** Generate all tools from the manifest with optional patches. */
|
|
78
83
|
export function generateTools(manifest, patches) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/factory/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/factory/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,9 @@ operations:
|
|
|
63
63
|
type: string
|
|
64
64
|
description: "Email body text"
|
|
65
65
|
required: true
|
|
66
|
+
from:
|
|
67
|
+
type: string
|
|
68
|
+
description: "Sender email or RFC 2822 mailbox for a verified Gmail Send As alias"
|
|
66
69
|
cc:
|
|
67
70
|
type: string
|
|
68
71
|
description: "CC email(s), comma-separated"
|
|
@@ -82,12 +85,13 @@ operations:
|
|
|
82
85
|
to: "--to"
|
|
83
86
|
subject: "--subject"
|
|
84
87
|
body: "--body"
|
|
88
|
+
from: "--from"
|
|
85
89
|
cc: "--cc"
|
|
86
90
|
bcc: "--bcc"
|
|
87
91
|
|
|
88
92
|
reply:
|
|
89
93
|
type: action
|
|
90
|
-
description: "reply to a message (thread-aware)"
|
|
94
|
+
description: "reply to a message (thread-aware, creates draft when attachments present)"
|
|
91
95
|
helper: "+reply"
|
|
92
96
|
params:
|
|
93
97
|
messageId:
|
|
@@ -98,13 +102,22 @@ operations:
|
|
|
98
102
|
type: string
|
|
99
103
|
description: "Reply body text"
|
|
100
104
|
required: true
|
|
105
|
+
attachments:
|
|
106
|
+
type: string
|
|
107
|
+
description: "Workspace filenames to attach, comma-separated (files must exist in workspace via manage_workspace). Creates draft when present."
|
|
108
|
+
html:
|
|
109
|
+
type: boolean
|
|
110
|
+
description: "Treat body as HTML content (default: plain text)"
|
|
111
|
+
draft:
|
|
112
|
+
type: boolean
|
|
113
|
+
description: "Save as draft instead of sending (default: false, forced true when attachments present)"
|
|
101
114
|
cli_args:
|
|
102
115
|
messageId: "--message-id"
|
|
103
116
|
body: "--body"
|
|
104
117
|
|
|
105
118
|
replyAll:
|
|
106
119
|
type: action
|
|
107
|
-
description: "reply-all to a message (thread-aware, includes all recipients)"
|
|
120
|
+
description: "reply-all to a message (thread-aware, includes all recipients, creates draft when attachments present)"
|
|
108
121
|
helper: "+reply-all"
|
|
109
122
|
params:
|
|
110
123
|
messageId:
|
|
@@ -118,6 +131,15 @@ operations:
|
|
|
118
131
|
cc:
|
|
119
132
|
type: string
|
|
120
133
|
description: "Additional CC email(s), comma-separated"
|
|
134
|
+
attachments:
|
|
135
|
+
type: string
|
|
136
|
+
description: "Workspace filenames to attach, comma-separated (files must exist in workspace via manage_workspace). Creates draft when present."
|
|
137
|
+
html:
|
|
138
|
+
type: boolean
|
|
139
|
+
description: "Treat body as HTML content (default: plain text)"
|
|
140
|
+
draft:
|
|
141
|
+
type: boolean
|
|
142
|
+
description: "Save as draft instead of sending (default: false, forced true when attachments present)"
|
|
121
143
|
cli_args:
|
|
122
144
|
messageId: "--message-id"
|
|
123
145
|
body: "--body"
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
* Shared factory registry — single instance of manifest + generated tools.
|
|
3
3
|
* Both handler.ts and tools.ts import from here instead of loading independently.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* or mcpb where cwd is NOT the project root.
|
|
5
|
+
* generator.ts resolves the manifest relative to its own module directory, so
|
|
6
|
+
* this works under npx and .mcpb where cwd is NOT the project root.
|
|
8
7
|
*/
|
|
9
8
|
import type { GeneratedTool } from './types.js';
|
|
10
9
|
import type { Manifest } from './types.js';
|
|
@@ -2,17 +2,11 @@
|
|
|
2
2
|
* Shared factory registry — single instance of manifest + generated tools.
|
|
3
3
|
* Both handler.ts and tools.ts import from here instead of loading independently.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* or mcpb where cwd is NOT the project root.
|
|
5
|
+
* generator.ts resolves the manifest relative to its own module directory, so
|
|
6
|
+
* this works under npx and .mcpb where cwd is NOT the project root.
|
|
8
7
|
*/
|
|
9
|
-
import {
|
|
10
|
-
import { fileURLToPath } from 'node:url';
|
|
11
|
-
import { setModuleDir, loadManifest, generateTools } from './generator.js';
|
|
8
|
+
import { loadManifest, generateTools } from './generator.js';
|
|
12
9
|
import { patches } from './patches.js';
|
|
13
|
-
// Inject module directory so loadManifest can find the manifest directory
|
|
14
|
-
// relative to the built output (build/factory/registry.js → build/factory/manifest/)
|
|
15
|
-
setModuleDir(dirname(fileURLToPath(import.meta.url)));
|
|
16
10
|
export const manifest = loadManifest();
|
|
17
11
|
export const generatedTools = generateTools(manifest, patches);
|
|
18
12
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/factory/registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/factory/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,MAAM,CAAC,MAAM,QAAQ,GAAa,YAAY,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAoB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Entrypoint. Deliberately imports NOTHING from the server graph at module scope.
|
|
4
|
+
*
|
|
5
|
+
* ESM evaluates static imports before the importing module's body runs, so
|
|
6
|
+
* `import { startServer } from './server/server.js'` here would pull in the whole
|
|
7
|
+
* dependency graph — including `sanitize-html`, which is CommonJS and `require()`s the
|
|
8
|
+
* pure-ESM `htmlparser2` — BEFORE any check in this file could execute. On a Node below
|
|
9
|
+
* the floor that throws `ERR_REQUIRE_ESM` from deep inside node_modules: a stack trace
|
|
10
|
+
* naming somebody else's files, for a problem that is entirely ours.
|
|
11
|
+
*
|
|
12
|
+
* So the floor is enforced first, and the server is loaded by DYNAMIC import only once
|
|
13
|
+
* the runtime is known to be adequate. This matters most for the .mcpb bundle, whose
|
|
14
|
+
* manifest runs a bare `node` — the HOST's runtime, whose version we neither control nor
|
|
15
|
+
* can test in CI.
|
|
16
|
+
*
|
|
17
|
+
* This ordering is NOT protected by this comment — comments protect nothing.
|
|
18
|
+
* `scripts/smoke-reject.mjs` runs the built entrypoint on a below-floor Node and fails if
|
|
19
|
+
* ERR_REQUIRE_ESM ever leaks (CI job `engines-floor-reject`), and `check-node-floor.mjs`
|
|
20
|
+
* rejects a static import of the server graph outright. Those are what protect it.
|
|
21
|
+
*
|
|
22
|
+
* `./node-floor.js` imports only `node:fs` (a builtin), so it cannot trigger the failure
|
|
23
|
+
* this file guards against. Only the SERVER GRAPH must stay behind the dynamic import.
|
|
24
|
+
*/
|
|
25
|
+
import { enforceNodeFloor } from './node-floor.js';
|
|
26
|
+
enforceNodeFloor();
|
|
27
|
+
// Dynamic, and only after the floor is enforced. See the file header.
|
|
28
|
+
const { startServer } = await import('./server/server.js');
|
|
3
29
|
// Prevent unhandled rejections from crashing the server
|
|
4
30
|
process.on('unhandledRejection', (reason) => {
|
|
5
31
|
process.stderr.write(`[gws-mcp] unhandled rejection: ${reason}\n`);
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,gBAAgB,EAAE,CAAC;AAEnB,sEAAsE;AACtE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAE3D,wDAAwD;AACxD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,IAAI,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC;AAEH,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Keep in sync with `engines.node`, the engines-floor CI job, and mcpb/manifest.json. */
|
|
2
|
+
export declare const MIN_NODE = "22.12.0";
|
|
3
|
+
/** True if `actual` is at least `min`. Plain compare, no dependency — by design. */
|
|
4
|
+
export declare function meets(actual: string, min: string): boolean;
|
|
5
|
+
export declare function floorMessage(actual: string, min?: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* Exits the process if the running Node is below the floor.
|
|
8
|
+
*
|
|
9
|
+
* `writeSync`, NOT `process.stderr.write`: Node's writes to a PIPE are asynchronous on
|
|
10
|
+
* macOS (synchronous only on Linux/Windows), and Claude Desktop spawns the .mcpb server
|
|
11
|
+
* with piped stdio — on the platform where .mcpb matters most. `process.stderr.write(...)`
|
|
12
|
+
* followed immediately by `process.exit(1)` can tear the process down before the buffer
|
|
13
|
+
* drains, leaving a bare exit code and NO message: strictly worse than the stack trace
|
|
14
|
+
* this replaces. This is the one code path whose entire value is its output.
|
|
15
|
+
*/
|
|
16
|
+
export declare function enforceNodeFloor(actual?: string): void;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Node version floor, and the comparison that enforces it.
|
|
3
|
+
*
|
|
4
|
+
* Split out of index.ts so it can be UNIT TESTED. It previously lived inline in the
|
|
5
|
+
* entrypoint, where it was untestable — and that mattered: a revert of the pre-release
|
|
6
|
+
* fix once slipped through `make check`, all 681 tests and every CI job, because nothing
|
|
7
|
+
* anywhere exercised the comparison. `check-node-floor.mjs` checks that MIN_NODE has the
|
|
8
|
+
* right VALUE and that the entrypoint imports the server dynamically; neither says
|
|
9
|
+
* anything about whether the arithmetic is correct.
|
|
10
|
+
*
|
|
11
|
+
* This module imports only `node:fs` (a builtin). It CANNOT trigger the ESM/CJS failure
|
|
12
|
+
* the guard exists to prevent, so index.ts may import it statically. Only the server
|
|
13
|
+
* graph must stay behind the dynamic import.
|
|
14
|
+
*/
|
|
15
|
+
import { writeSync } from 'node:fs';
|
|
16
|
+
/** Keep in sync with `engines.node`, the engines-floor CI job, and mcpb/manifest.json. */
|
|
17
|
+
export const MIN_NODE = '22.12.0';
|
|
18
|
+
/**
|
|
19
|
+
* `22.12.0-rc.1` is *below* `22.12.0`, not equal to it (semver §11.3).
|
|
20
|
+
*
|
|
21
|
+
* An earlier version split on '.' and parseInt'd each part, so `-rc.1` landed in the
|
|
22
|
+
* patch slot, `parseInt('0-rc', 10)` came out 0, and the release candidate compared
|
|
23
|
+
* EQUAL to the floor — waved through, in the dangerous direction. Node's nightly and RC
|
|
24
|
+
* builds do report a suffixed `process.versions.node`, and a pre-release of the floor
|
|
25
|
+
* release may predate the very `require(ESM)` backport this floor exists to guarantee.
|
|
26
|
+
*/
|
|
27
|
+
function parse(version) {
|
|
28
|
+
const [core, ...rest] = version.replace(/^v/, '').split('-');
|
|
29
|
+
return {
|
|
30
|
+
parts: core.split('.').map((n) => parseInt(n, 10) || 0),
|
|
31
|
+
prerelease: rest.length > 0,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/** True if `actual` is at least `min`. Plain compare, no dependency — by design. */
|
|
35
|
+
export function meets(actual, min) {
|
|
36
|
+
const a = parse(actual);
|
|
37
|
+
const m = parse(min);
|
|
38
|
+
for (let i = 0; i < 3; i++) {
|
|
39
|
+
const av = a.parts[i] ?? 0;
|
|
40
|
+
const mv = m.parts[i] ?? 0;
|
|
41
|
+
if (av > mv)
|
|
42
|
+
return true;
|
|
43
|
+
if (av < mv)
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
// Cores equal: a pre-release of that core sorts BEFORE the release itself, so it
|
|
47
|
+
// passes only if the floor is that same pre-release.
|
|
48
|
+
return !a.prerelease || m.prerelease;
|
|
49
|
+
}
|
|
50
|
+
export function floorMessage(actual, min = MIN_NODE) {
|
|
51
|
+
return (`\n[gws-mcp] This server requires Node >=${min}, but is running on ${actual}.\n\n` +
|
|
52
|
+
` Node 18 and Node 20 are both end-of-life (April 2025 and April 2026).\n` +
|
|
53
|
+
` Upgrading is the fix: https://nodejs.org/en/download\n\n` +
|
|
54
|
+
` Running this as a Claude Desktop extension (.mcpb)? The bundle uses the Node\n` +
|
|
55
|
+
` runtime Claude Desktop provides — upgrade the app rather than this server.\n\n`);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Exits the process if the running Node is below the floor.
|
|
59
|
+
*
|
|
60
|
+
* `writeSync`, NOT `process.stderr.write`: Node's writes to a PIPE are asynchronous on
|
|
61
|
+
* macOS (synchronous only on Linux/Windows), and Claude Desktop spawns the .mcpb server
|
|
62
|
+
* with piped stdio — on the platform where .mcpb matters most. `process.stderr.write(...)`
|
|
63
|
+
* followed immediately by `process.exit(1)` can tear the process down before the buffer
|
|
64
|
+
* drains, leaving a bare exit code and NO message: strictly worse than the stack trace
|
|
65
|
+
* this replaces. This is the one code path whose entire value is its output.
|
|
66
|
+
*/
|
|
67
|
+
export function enforceNodeFloor(actual = process.versions.node) {
|
|
68
|
+
if (meets(actual, MIN_NODE))
|
|
69
|
+
return;
|
|
70
|
+
writeSync(2, floorMessage(`v${actual.replace(/^v/, '')}`));
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=node-floor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-floor.js","sourceRoot":"","sources":["../src/node-floor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAIlC;;;;;;;;GAQG;AACH,SAAS,KAAK,CAAC,OAAe;IAC5B,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACvD,UAAU,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,GAAW;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IACD,iFAAiF;IACjF,qDAAqD;IACrD,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,MAAc,QAAQ;IACjE,OAAO,CACL,2CAA2C,GAAG,uBAAuB,MAAM,OAAO;QAClF,2EAA2E;QAC3E,4DAA4D;QAC5D,kFAAkF;QAClF,kFAAkF,CACnF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrE,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;QAAE,OAAO;IACpC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -196,6 +196,8 @@ export const gmailPatch = {
|
|
|
196
196
|
? String(params.attachments).split(',').map(s => s.trim()).filter(Boolean)
|
|
197
197
|
: [];
|
|
198
198
|
const args = ['gmail', '+send', '--to', to, '--subject', subject, '--body', body];
|
|
199
|
+
if (params.from)
|
|
200
|
+
args.push('--from', String(params.from));
|
|
199
201
|
if (params.cc)
|
|
200
202
|
args.push('--cc', String(params.cc));
|
|
201
203
|
if (params.bcc)
|
|
@@ -263,15 +265,77 @@ export const gmailPatch = {
|
|
|
263
265
|
reply: async (params, account) => {
|
|
264
266
|
const messageId = requireString(params, 'messageId');
|
|
265
267
|
const body = requireString(params, 'body');
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
|
|
268
|
+
const draft = params.draft === true || params.draft === 'true';
|
|
269
|
+
const attachmentNames = params.attachments
|
|
270
|
+
? String(params.attachments).split(',').map(s => s.trim()).filter(Boolean)
|
|
271
|
+
: [];
|
|
272
|
+
const args = ['gmail', '+reply', '--message-id', messageId, '--body', body];
|
|
273
|
+
if (params.html === true || params.html === 'true')
|
|
274
|
+
args.push('--html');
|
|
275
|
+
if (draft || attachmentNames.length > 0)
|
|
276
|
+
args.push('--draft');
|
|
277
|
+
let execOptions = { account };
|
|
278
|
+
if (attachmentNames.length > 0) {
|
|
279
|
+
const relPaths = await validateAttachments(attachmentNames);
|
|
280
|
+
for (const p of relPaths) {
|
|
281
|
+
args.push('--attach', p);
|
|
282
|
+
}
|
|
283
|
+
execOptions = { account, cwd: getWorkspaceDir() };
|
|
284
|
+
}
|
|
285
|
+
const result = await execute(args, execOptions);
|
|
269
286
|
const data = result.data;
|
|
287
|
+
const attachNote = attachmentNames.length > 0
|
|
288
|
+
? `\n**Attachments:** ${attachmentNames.join(', ')}`
|
|
289
|
+
: '';
|
|
290
|
+
if (draft || attachmentNames.length > 0) {
|
|
291
|
+
return {
|
|
292
|
+
text: `Draft reply created.\n\n**Draft ID:** ${data.id ?? 'unknown'}${attachNote}`,
|
|
293
|
+
refs: { id: data.id, draftId: data.id, messageId, attachments: attachmentNames, isDraft: true },
|
|
294
|
+
};
|
|
295
|
+
}
|
|
270
296
|
return {
|
|
271
297
|
text: `Reply sent.\n\n**Message ID:** ${data.id ?? 'unknown'}`,
|
|
272
298
|
refs: { id: data.id, threadId: data.threadId, messageId },
|
|
273
299
|
};
|
|
274
300
|
},
|
|
301
|
+
replyAll: async (params, account) => {
|
|
302
|
+
const messageId = requireString(params, 'messageId');
|
|
303
|
+
const body = requireString(params, 'body');
|
|
304
|
+
const draft = params.draft === true || params.draft === 'true';
|
|
305
|
+
const attachmentNames = params.attachments
|
|
306
|
+
? String(params.attachments).split(',').map(s => s.trim()).filter(Boolean)
|
|
307
|
+
: [];
|
|
308
|
+
const args = ['gmail', '+reply-all', '--message-id', messageId, '--body', body];
|
|
309
|
+
if (params.cc)
|
|
310
|
+
args.push('--cc', String(params.cc));
|
|
311
|
+
if (params.html === true || params.html === 'true')
|
|
312
|
+
args.push('--html');
|
|
313
|
+
if (draft || attachmentNames.length > 0)
|
|
314
|
+
args.push('--draft');
|
|
315
|
+
let execOptions = { account };
|
|
316
|
+
if (attachmentNames.length > 0) {
|
|
317
|
+
const relPaths = await validateAttachments(attachmentNames);
|
|
318
|
+
for (const p of relPaths) {
|
|
319
|
+
args.push('--attach', p);
|
|
320
|
+
}
|
|
321
|
+
execOptions = { account, cwd: getWorkspaceDir() };
|
|
322
|
+
}
|
|
323
|
+
const result = await execute(args, execOptions);
|
|
324
|
+
const data = result.data;
|
|
325
|
+
const attachNote = attachmentNames.length > 0
|
|
326
|
+
? `\n**Attachments:** ${attachmentNames.join(', ')}`
|
|
327
|
+
: '';
|
|
328
|
+
if (draft || attachmentNames.length > 0) {
|
|
329
|
+
return {
|
|
330
|
+
text: `Draft reply-all created.\n\n**Draft ID:** ${data.id ?? 'unknown'}${attachNote}`,
|
|
331
|
+
refs: { id: data.id, draftId: data.id, messageId, attachments: attachmentNames, isDraft: true },
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
return {
|
|
335
|
+
text: `Reply-all sent.\n\n**Message ID:** ${data.id ?? 'unknown'}`,
|
|
336
|
+
refs: { id: data.id, threadId: data.threadId, messageId },
|
|
337
|
+
};
|
|
338
|
+
},
|
|
275
339
|
},
|
|
276
340
|
};
|
|
277
341
|
//# sourceMappingURL=patch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/services/gmail/patch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAwB,MAAM,qCAAqC,CAAC;AACvI,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7E;;;GAGG;AACH,KAAK,UAAU,eAAe,CAC5B,UAAiC,EACjC,OAAe;IAEf,OAAO,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK;gBACnC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;oBACzB,MAAM,EAAE,IAAI;oBACZ,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,MAAM,EAAE,UAAU;oBAClB,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;iBAC7C,CAAC;aACH,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAA+B,CAAC;YACpD,MAAM,OAAO,GAAG,CAAE,IAAI,CAAC,OAAmC,EAAE,OAAO,IAAI,EAAE,CAA2C,CAAC;YACrH,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC;YAC1G,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;gBACvB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;gBAC7B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,SAAS,eAAe,CAAC,IAAa;IACpC,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,CAAmC,CAAC;IAErE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,kCAAkC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,CAAC,CAA0B,EAAE,EAAE;QACjD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,GAAG,EAAE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SACtD;KACF,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAS,gBAAgB,CAAC,IAAa;IACrC,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAmC,CAAC;IAEvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,GAAG,EAAE,MAAM,OAAO,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,eAAe,OAAO,CAAC,MAAM,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC7D,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;YACtC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAC9C;KACF,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,SAAS,kBAAkB,CAAC,IAAa;IACvC,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAmC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,cAAc,QAAQ,CAAC,MAAM,cAAc,CAAC,CAAC;IAEtE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAA8C,CAAC;QACnE,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAA2C,CAAC;QACnF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAE9E,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC1C,iEAAiE;QACjE,sDAAsD;QACtD,MAAM,WAAW,GAAG,QAAQ,IAAI,OAAO,CAAC;QAExC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,EAAE;YACJ,QAAQ;YACR,YAAY,EAAE,QAAQ,CAAC,MAAM;YAC7B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;YAC1D,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAChD;KACF,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,mBAAmB,CAAC,SAAmB;IACpD,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjC,wFAAwF;QACxF,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,YAAY,EAAE;QACZ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC5B,yDAAyD;YACzD,MAAM,GAAG,GAAG,MAAiC,CAAC;YAC9C,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAA0B,CAAC;YAC3D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,4DAA4D;gBAC5D,2DAA2D;gBAC3D,OAAO;oBACL,QAAQ,EAAE,EAAE;oBACZ,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,IAAI,CAAC;oBAChD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;iBAC9B,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC;QACnE,CAAC;KACF;IAED,UAAU,EAAE,CAAC,IAAa,EAAE,GAAiB,EAAE,EAAE;QAC/C,QAAQ,GAAG,CAAC,SAAS,EAAE,CAAC;YACtB,KAAK,QAAQ;gBACX,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,SAAS;gBACZ,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAChC;gBACE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,YAAY,EAAE,CAAC,IAAa,EAAE,GAAiB,EAAE,EAAE;QACjD,QAAQ,GAAG,CAAC,SAAS,EAAE,CAAC;YACtB,KAAK,WAAW;gBACd,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC;gBACR,oEAAoE;gBACpE,iEAAiE;gBACjE,uBAAuB;gBACvB,MAAM,UAAU,GAAI,GAAG,CAAC,MAAM,CAAC,UAA0C,IAAI,OAAO,CAAC;gBACrF,OAAO,iBAAiB,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,EAAE;QACd,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAA4B,EAAE;YACxD,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC;YAC/D,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW;gBACxC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC1E,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClF,IAAI,MAAM,CAAC,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,GAAG;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxE,IAAI,KAAK,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE9D,yFAAyF;YACzF,mFAAmF;YACnF,IAAI,WAAW,GAAsC,EAAE,OAAO,EAAE,CAAC;YACjE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC,CAAC;gBAC5D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC3B,CAAC;gBACD,WAAW,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,CAAC;YACpD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAA+B,CAAC;YAEpD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;gBAC3C,CAAC,CAAC,sBAAsB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YAEP,IAAI,KAAK,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO;oBACL,IAAI,EAAE,qBAAqB,EAAE,qBAAqB,OAAO,GAAG,UAAU,mBAAmB,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE;oBAC/G,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE;iBAClG,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,iBAAiB,EAAE,qBAAqB,OAAO,qBAAqB,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE;gBAChG,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE;aAC5D,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAA4B,EAAE;YAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;gBACpC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc;gBAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7D,CAAC,CAAC,EAAE,CAAC;YAEP,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC/E,CAAC;YAED,MAAM,IAAI,GAA6B,EAAE,CAAC;YAC1C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC3D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YAEpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ;gBACtC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;gBAC3D,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC/B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAA+B,CAAC;YACpD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAa,CAAC;YACjD,OAAO;gBACL,IAAI,EAAE,qBAAqB,SAAS,4BAA4B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;gBAC/F,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE;aACtC,CAAC;QACJ,CAAC;QAED,aAAa,EAAE,mBAAmB;QAClC,cAAc,EAAE,oBAAoB;QAEpC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAA4B,EAAE;YACzD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;gBAC3B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI;aAC7D,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAA+B,CAAC;YACpD,OAAO;gBACL,IAAI,EAAE,kCAAkC,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE;gBAC9D,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE;aAC1D,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/services/gmail/patch.ts"],"names":[],"mappings":"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"}
|
package/build/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "
|
|
1
|
+
export declare const VERSION = "3.0.0";
|
package/build/version.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
// Auto-generated by `
|
|
2
|
-
export const VERSION = '
|
|
1
|
+
// Auto-generated by `npm run version-stamp`. Do not edit manually.
|
|
2
|
+
export const VERSION = '3.0.0';
|
|
3
3
|
//# sourceMappingURL=version.js.map
|
package/build/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|