gogcli-mcp-gmail 2.0.4 → 2.0.7
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/dist/index.js +8 -3
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/tests/tools/gmail-extra.test.ts +2 -19
package/dist/index.js
CHANGED
|
@@ -30864,6 +30864,11 @@ var EMPTY_COMPLETION_RESULT = {
|
|
|
30864
30864
|
// ../gogcli-mcp/src/runner.ts
|
|
30865
30865
|
import { spawn } from "node:child_process";
|
|
30866
30866
|
var TIMEOUT_MS = 3e4;
|
|
30867
|
+
function envOrUndefined(key) {
|
|
30868
|
+
const value = process.env[key];
|
|
30869
|
+
if (!value || value.startsWith("${")) return void 0;
|
|
30870
|
+
return value;
|
|
30871
|
+
}
|
|
30867
30872
|
function formatTimeout(ms) {
|
|
30868
30873
|
const seconds = Math.round(ms / 1e3);
|
|
30869
30874
|
if (seconds >= 60) {
|
|
@@ -30874,7 +30879,7 @@ function formatTimeout(ms) {
|
|
|
30874
30879
|
}
|
|
30875
30880
|
async function run(args, options = {}) {
|
|
30876
30881
|
const { account, spawner = spawn, interactive = false, timeout } = options;
|
|
30877
|
-
const effectiveAccount = account ??
|
|
30882
|
+
const effectiveAccount = account ?? envOrUndefined("GOG_ACCOUNT");
|
|
30878
30883
|
const fullArgs = ["--json", "--color=never"];
|
|
30879
30884
|
if (!interactive) {
|
|
30880
30885
|
fullArgs.push("--no-input");
|
|
@@ -30886,7 +30891,7 @@ async function run(args, options = {}) {
|
|
|
30886
30891
|
const effectiveTimeout = timeout ?? TIMEOUT_MS;
|
|
30887
30892
|
return new Promise((resolve, reject) => {
|
|
30888
30893
|
const { GOG_ACCESS_TOKEN: _, ...cleanEnv } = process.env;
|
|
30889
|
-
const child = spawner(
|
|
30894
|
+
const child = spawner(envOrUndefined("GOG_PATH") ?? "gog", fullArgs, { env: cleanEnv });
|
|
30890
30895
|
const stdoutChunks = [];
|
|
30891
30896
|
const stderrChunks = [];
|
|
30892
30897
|
let settled = false;
|
|
@@ -31090,7 +31095,7 @@ function registerGmailTools(server2) {
|
|
|
31090
31095
|
}
|
|
31091
31096
|
|
|
31092
31097
|
// ../gogcli-mcp/src/server.ts
|
|
31093
|
-
var VERSION = true ? "2.0.
|
|
31098
|
+
var VERSION = true ? "2.0.7" : "0.0.0";
|
|
31094
31099
|
function createServer(options) {
|
|
31095
31100
|
return new McpServer({
|
|
31096
31101
|
name: options?.name ?? "gogcli",
|
package/manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"manifest_version": "0.3",
|
|
4
4
|
"name": "gogcli-mcp-gmail",
|
|
5
5
|
"display_name": "gogcli (Gmail)",
|
|
6
|
-
"version": "2.0.
|
|
6
|
+
"version": "2.0.7",
|
|
7
7
|
"description": "Extended Gmail for Claude via gogcli — auth + full Gmail support (threads, labels, drafts, attachments, forward, autoreply, bulk operations)",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Chris Hall",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-gmail",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.7",
|
|
4
4
|
"mcpName": "io.github.chrischall/gogcli-mcp-gmail",
|
|
5
5
|
"description": "Extended Gmail MCP server via gogcli — auth + full Gmail support (threads, labels, drafts, attachments, forward, autoreply, bulk operations)",
|
|
6
6
|
"author": "Claude Code (AI) <https://www.anthropic.com/claude>",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
2
|
import { registerExtraGmailTools } from '../../src/tools/gmail-extra.js';
|
|
4
3
|
import * as lib from '../../../gogcli-mcp/src/lib.js';
|
|
4
|
+
import { setupExtrasHandlers, toText, type ToolHandler } from '../../../gogcli-mcp/tests/helpers/extras-harness.js';
|
|
5
5
|
|
|
6
6
|
vi.mock('../../../gogcli-mcp/src/lib.js', async (importOriginal) => {
|
|
7
7
|
const actual = await importOriginal<typeof lib>();
|
|
@@ -11,29 +11,12 @@ vi.mock('../../../gogcli-mcp/src/lib.js', async (importOriginal) => {
|
|
|
11
11
|
};
|
|
12
12
|
});
|
|
13
13
|
|
|
14
|
-
type ToolHandler = (args: Record<string, unknown>) => Promise<{ content: Array<{ type: string; text: string }> }>;
|
|
15
|
-
|
|
16
|
-
function toText(text: string) {
|
|
17
|
-
return { content: [{ type: 'text', text }] };
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function setupHandlers(): Map<string, ToolHandler> {
|
|
21
|
-
const server = new McpServer({ name: 'test', version: '0.0.0' });
|
|
22
|
-
const handlers = new Map<string, ToolHandler>();
|
|
23
|
-
vi.spyOn(server, 'registerTool').mockImplementation((name, _config, cb) => {
|
|
24
|
-
handlers.set(name, cb as ToolHandler);
|
|
25
|
-
return undefined as never;
|
|
26
|
-
});
|
|
27
|
-
registerExtraGmailTools(server);
|
|
28
|
-
return handlers;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
14
|
let handlers: Map<string, ToolHandler>;
|
|
32
15
|
|
|
33
16
|
beforeEach(() => {
|
|
34
17
|
vi.clearAllMocks();
|
|
35
18
|
vi.mocked(lib.runOrDiagnose).mockResolvedValue(toText('{}'));
|
|
36
|
-
handlers =
|
|
19
|
+
handlers = setupExtrasHandlers(registerExtraGmailTools);
|
|
37
20
|
});
|
|
38
21
|
|
|
39
22
|
describe('gog_gmail_raw', () => {
|