@grackle-ai/server 0.32.0 → 0.34.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.
@@ -1 +1 @@
1
- {"version":3,"file":"grpc-service.js","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc-service.js","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2BA,OAAO,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkCA,OAAO,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -21,6 +21,8 @@ import { loadOrCreateApiKey, verifyApiKey } from "./api-key.js";
21
21
  import { createSession, validateSessionCookie } from "./session.js";
22
22
  import { startSessionCleanup, stopSessionCleanup } from "./session.js";
23
23
  import { generatePairingCode, redeemPairingCode, startPairingCleanup, stopPairingCleanup } from "./pairing.js";
24
+ import { registerClient, getClient, createAuthorizationCode, consumeAuthorizationCode, createRefreshToken, consumeRefreshToken, startOAuthCleanup, stopOAuthCleanup, } from "./oauth.js";
25
+ import { createOAuthAccessToken, OAUTH_ACCESS_TOKEN_TTL_MS } from "@grackle-ai/mcp";
24
26
  import { logger } from "./logger.js";
25
27
  import { exec } from "./utils/exec.js";
26
28
  import { detectLanIp } from "./utils/network.js";
@@ -66,6 +68,94 @@ function renderPairingPage(error) {
66
68
  </form>
67
69
  </div></body></html>`;
68
70
  }
71
+ /** Shared card styles used by both pairing and authorize pages. */
72
+ const CARD_STYLES = `*{box-sizing:border-box;margin:0;padding:0}
73
+ body{font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;background:#0f172a;color:#e2e8f0}
74
+ .card{background:#1e293b;border-radius:12px;padding:2.5rem;max-width:400px;width:100%;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.3)}
75
+ h1{font-size:1.5rem;margin-bottom:.5rem}
76
+ p{color:#94a3b8;margin-bottom:1.5rem;font-size:.95rem}
77
+ input{width:100%;padding:.75rem 1rem;font-size:1.25rem;letter-spacing:.3em;text-align:center;border:2px solid #334155;border-radius:8px;background:#0f172a;color:#e2e8f0;text-transform:uppercase;font-family:monospace;margin-bottom:.5rem}
78
+ input:focus{outline:none;border-color:#3b82f6}
79
+ button{margin-top:1rem;width:100%;padding:.75rem;font-size:1rem;border:none;border-radius:8px;background:#3b82f6;color:#fff;cursor:pointer;font-weight:600}
80
+ button:hover{background:#2563eb}
81
+ .btn-deny{background:#475569;margin-top:.5rem}
82
+ .btn-deny:hover{background:#334155}
83
+ .client-name{color:#3b82f6;font-weight:600}`;
84
+ /**
85
+ * Render the OAuth authorize page.
86
+ *
87
+ * If the user has a valid session, shows a simple "Authorize" / "Deny" form.
88
+ * If not paired, adds a pairing code input so the user can pair and authorize in one step.
89
+ */
90
+ function renderAuthorizePage(clientName, oauthParams, hasPairedSession, error) {
91
+ const errorHtml = error ? `<p style="color:#e74c3c;margin-bottom:1rem">${error}</p>` : "";
92
+ const pairingField = hasPairedSession
93
+ ? ""
94
+ : `<p>Enter the pairing code shown in your terminal to pair and authorize.</p>
95
+ <input name="pairing_code" type="text" maxlength="6" pattern="[A-Za-z0-9]{6}" autocomplete="off" autofocus placeholder="ABC123" required>`;
96
+ const buttonLabel = hasPairedSession ? "Authorize" : "Pair &amp; Authorize";
97
+ return `<!DOCTYPE html>
98
+ <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
99
+ <title>Grackle — Authorize MCP Client</title>
100
+ <style>${CARD_STYLES}</style></head><body>
101
+ <div class="card">
102
+ <h1>Authorize MCP Client</h1>
103
+ <p><span class="client-name">${escapeHtml(clientName)}</span> wants to connect to Grackle.</p>
104
+ ${errorHtml}
105
+ <form method="POST" action="/authorize">
106
+ ${pairingField}
107
+ <input type="hidden" name="oauth_params" value="${escapeHtml(oauthParams)}">
108
+ <button type="submit" name="action" value="approve">${buttonLabel}</button>
109
+ <button type="submit" name="action" value="deny" class="btn-deny">Deny</button>
110
+ </form>
111
+ </div></body></html>`;
112
+ }
113
+ /** Escape HTML special characters for safe embedding in attributes and text content. */
114
+ function escapeHtml(str) {
115
+ return str
116
+ .replace(/&/g, "&amp;")
117
+ .replace(/</g, "&lt;")
118
+ .replace(/>/g, "&gt;")
119
+ .replace(/"/g, "&quot;")
120
+ .replace(/'/g, "&#x27;");
121
+ }
122
+ /** Maximum size for form/JSON request bodies: 16 KB. */
123
+ const MAX_BODY_SIZE = 16_384;
124
+ /**
125
+ * Read the raw body string from an HTTP request with size limit enforcement.
126
+ *
127
+ * @param req - The incoming HTTP request.
128
+ * @returns The raw body as a UTF-8 string.
129
+ */
130
+ function readBody(req) {
131
+ return new Promise((resolve, reject) => {
132
+ const chunks = [];
133
+ let totalSize = 0;
134
+ req.on("data", (chunk) => {
135
+ totalSize += chunk.length;
136
+ if (totalSize > MAX_BODY_SIZE) {
137
+ req.destroy();
138
+ reject(new Error("Body too large"));
139
+ return;
140
+ }
141
+ chunks.push(chunk);
142
+ });
143
+ req.on("end", () => {
144
+ resolve(Buffer.concat(chunks).toString("utf8"));
145
+ });
146
+ req.on("error", reject);
147
+ });
148
+ }
149
+ /**
150
+ * Parse a URL-encoded form body from an HTTP request.
151
+ *
152
+ * @param req - The incoming HTTP request.
153
+ * @returns Parsed key-value pairs from the form body.
154
+ */
155
+ async function parseFormBody(req) {
156
+ const raw = await readBody(req);
157
+ return new URLSearchParams(raw);
158
+ }
69
159
  /**
70
160
  * Serve a static file from the web dist directory.
71
161
  * Always writes a response (200, 403, 404, or 500).
@@ -112,11 +202,16 @@ function getRemoteIp(req) {
112
202
  /**
113
203
  * Create the HTTP request handler for the web server.
114
204
  *
115
- * All routes are gated by session cookie authentication.
116
- * The /pair endpoint handles pairing code exchange.
205
+ * Serves OAuth authorization server endpoints (no auth),
206
+ * the pairing endpoint, and session-gated static files.
117
207
  */
118
- function createWebHandler(apiKey) {
119
- return (req, res) => {
208
+ function createWebHandler(apiKey, webPort, bindHost) {
209
+ /** Map wildcard bind hosts to a dialable host for OAuth URLs. */
210
+ const dialableHost = isWildcardAddress(bindHost) ? "127.0.0.1" : bindHost;
211
+ const urlHost = dialableHost.includes(":") ? `[${dialableHost}]` : dialableHost;
212
+ const webBaseUrl = `http://${urlHost}:${webPort}`;
213
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
214
+ return async (req, res) => {
120
215
  let rawPath;
121
216
  let queryString = "";
122
217
  try {
@@ -129,6 +224,254 @@ function createWebHandler(apiKey) {
129
224
  res.end("Bad Request");
130
225
  return;
131
226
  }
227
+ // --- OAuth Authorization Server Metadata (no auth) ---
228
+ if (rawPath === "/.well-known/oauth-authorization-server") {
229
+ res.writeHead(200, { "Content-Type": "application/json" });
230
+ res.end(JSON.stringify({
231
+ issuer: webBaseUrl,
232
+ authorization_endpoint: `${webBaseUrl}/authorize`,
233
+ token_endpoint: `${webBaseUrl}/token`,
234
+ registration_endpoint: `${webBaseUrl}/register`,
235
+ response_types_supported: ["code"],
236
+ grant_types_supported: ["authorization_code", "refresh_token"],
237
+ code_challenge_methods_supported: ["S256"],
238
+ token_endpoint_auth_methods_supported: ["none"],
239
+ }));
240
+ return;
241
+ }
242
+ // --- Dynamic Client Registration (no auth, JSON body) ---
243
+ if (rawPath === "/register" && req.method === "POST") {
244
+ try {
245
+ const raw = await readBody(req);
246
+ const parsed = JSON.parse(raw);
247
+ const redirectUris = parsed.redirect_uris;
248
+ const clientName = parsed.client_name;
249
+ if (!Array.isArray(redirectUris) || redirectUris.length === 0) {
250
+ res.writeHead(400, { "Content-Type": "application/json" });
251
+ res.end(JSON.stringify({ error: "invalid_request", error_description: "redirect_uris is required" }));
252
+ return;
253
+ }
254
+ // Validate each redirect URI — only allow http(s) on loopback to prevent open redirects
255
+ for (const uri of redirectUris) {
256
+ try {
257
+ const parsed = new URL(uri);
258
+ const isLoopback = parsed.hostname === "127.0.0.1" || parsed.hostname === "localhost" || parsed.hostname === "::1";
259
+ const isHttpOrHttps = parsed.protocol === "http:" || parsed.protocol === "https:";
260
+ if (!isLoopback || !isHttpOrHttps) {
261
+ res.writeHead(400, { "Content-Type": "application/json" });
262
+ res.end(JSON.stringify({ error: "invalid_client_metadata", error_description: "redirect_uris must use http(s) on loopback (127.0.0.1 or localhost)" }));
263
+ return;
264
+ }
265
+ }
266
+ catch {
267
+ res.writeHead(400, { "Content-Type": "application/json" });
268
+ res.end(JSON.stringify({ error: "invalid_client_metadata", error_description: "Invalid redirect_uri" }));
269
+ return;
270
+ }
271
+ }
272
+ const client = registerClient(redirectUris, clientName);
273
+ if (!client) {
274
+ res.writeHead(503, { "Content-Type": "application/json" });
275
+ res.end(JSON.stringify({ error: "temporarily_unavailable", error_description: "Too many registered clients" }));
276
+ return;
277
+ }
278
+ res.writeHead(201, { "Content-Type": "application/json" });
279
+ res.end(JSON.stringify({
280
+ client_id: client.clientId,
281
+ redirect_uris: client.redirectUris,
282
+ client_name: client.clientName,
283
+ }));
284
+ }
285
+ catch {
286
+ res.writeHead(400, { "Content-Type": "application/json" });
287
+ res.end(JSON.stringify({ error: "invalid_request" }));
288
+ }
289
+ return;
290
+ }
291
+ // --- OAuth Authorize (GET — render page, no auth required) ---
292
+ if (rawPath === "/authorize" && req.method === "GET") {
293
+ const params = new URLSearchParams(queryString);
294
+ const clientId = params.get("client_id") || "";
295
+ const responseType = params.get("response_type") || "";
296
+ const redirectUri = params.get("redirect_uri") || "";
297
+ const codeChallenge = params.get("code_challenge") || "";
298
+ const codeChallengeMethod = params.get("code_challenge_method") || "";
299
+ const state = params.get("state") || "";
300
+ const resource = params.get("resource") || "";
301
+ // Validate required params
302
+ if (responseType !== "code") {
303
+ res.writeHead(400, { "Content-Type": "application/json" });
304
+ res.end(JSON.stringify({ error: "unsupported_response_type" }));
305
+ return;
306
+ }
307
+ if (!clientId || !redirectUri || !codeChallenge) {
308
+ res.writeHead(400, { "Content-Type": "application/json" });
309
+ res.end(JSON.stringify({ error: "invalid_request", error_description: "Missing required parameters" }));
310
+ return;
311
+ }
312
+ if (codeChallengeMethod && codeChallengeMethod !== "S256") {
313
+ res.writeHead(400, { "Content-Type": "application/json" });
314
+ res.end(JSON.stringify({ error: "invalid_request", error_description: "Only S256 code challenge method is supported" }));
315
+ return;
316
+ }
317
+ const client = getClient(clientId);
318
+ if (!client) {
319
+ res.writeHead(400, { "Content-Type": "application/json" });
320
+ res.end(JSON.stringify({ error: "invalid_request", error_description: "Unknown client_id" }));
321
+ return;
322
+ }
323
+ if (!client.redirectUris.includes(redirectUri)) {
324
+ res.writeHead(400, { "Content-Type": "application/json" });
325
+ res.end(JSON.stringify({ error: "invalid_request", error_description: "redirect_uri not registered" }));
326
+ return;
327
+ }
328
+ // Serialize OAuth params for the hidden form field
329
+ const oauthParams = new URLSearchParams({
330
+ client_id: clientId,
331
+ redirect_uri: redirectUri,
332
+ code_challenge: codeChallenge,
333
+ state,
334
+ resource,
335
+ }).toString();
336
+ const cookieHeader = req.headers.cookie || "";
337
+ const hasPairedSession = validateSessionCookie(cookieHeader, apiKey);
338
+ const html = renderAuthorizePage(client.clientName, oauthParams, hasPairedSession);
339
+ res.writeHead(200, { "Content-Type": "text/html" });
340
+ res.end(html);
341
+ return;
342
+ }
343
+ // --- OAuth Authorize (POST — process approval/denial) ---
344
+ if (rawPath === "/authorize" && req.method === "POST") {
345
+ try {
346
+ const formData = await parseFormBody(req);
347
+ const action = formData.get("action") || "";
348
+ const oauthParamsStr = formData.get("oauth_params") || "";
349
+ const pairingCode = formData.get("pairing_code") || "";
350
+ const oauthParams = new URLSearchParams(oauthParamsStr);
351
+ const clientId = oauthParams.get("client_id") || "";
352
+ const redirectUri = oauthParams.get("redirect_uri") || "";
353
+ const codeChallenge = oauthParams.get("code_challenge") || "";
354
+ const state = oauthParams.get("state") || "";
355
+ const resource = oauthParams.get("resource") || "";
356
+ // Validate client and redirect URI before any redirect to prevent open redirect
357
+ const client = getClient(clientId);
358
+ if (!client?.redirectUris.includes(redirectUri)) {
359
+ res.writeHead(400, { "Content-Type": "application/json" });
360
+ res.end(JSON.stringify({ error: "invalid_request" }));
361
+ return;
362
+ }
363
+ // Build redirect URL using URL API to safely merge query params
364
+ const buildRedirect = (params) => {
365
+ const url = new URL(redirectUri);
366
+ for (const [key, value] of Object.entries(params)) {
367
+ url.searchParams.set(key, value);
368
+ }
369
+ if (state) {
370
+ url.searchParams.set("state", state);
371
+ }
372
+ return url.toString();
373
+ };
374
+ // Deny action
375
+ if (action === "deny") {
376
+ res.writeHead(302, { Location: buildRedirect({ error: "access_denied" }) });
377
+ res.end();
378
+ return;
379
+ }
380
+ // Check session — if no session, require pairing code
381
+ const cookieHeader = req.headers.cookie || "";
382
+ let hasPairedSession = validateSessionCookie(cookieHeader, apiKey);
383
+ const responseHeaders = {};
384
+ if (!hasPairedSession) {
385
+ if (!pairingCode) {
386
+ const html = renderAuthorizePage(client.clientName, oauthParamsStr, false, "Pairing code is required.");
387
+ res.writeHead(200, { "Content-Type": "text/html" });
388
+ res.end(html);
389
+ return;
390
+ }
391
+ const remoteIp = getRemoteIp(req);
392
+ if (!redeemPairingCode(pairingCode, remoteIp)) {
393
+ const html = renderAuthorizePage(client.clientName, oauthParamsStr, false, "Invalid or expired pairing code.");
394
+ res.writeHead(200, { "Content-Type": "text/html" });
395
+ res.end(html);
396
+ return;
397
+ }
398
+ // Pairing succeeded — also create a browser session
399
+ const setCookie = createSession(apiKey);
400
+ responseHeaders["Set-Cookie"] = setCookie;
401
+ hasPairedSession = true;
402
+ }
403
+ // Approved — create authorization code
404
+ const authCode = createAuthorizationCode(clientId, redirectUri, codeChallenge, resource);
405
+ const redirectUrl = buildRedirect({ code: authCode });
406
+ res.writeHead(302, {
407
+ ...responseHeaders,
408
+ Location: redirectUrl,
409
+ });
410
+ res.end();
411
+ }
412
+ catch {
413
+ res.writeHead(400);
414
+ res.end("Bad Request");
415
+ }
416
+ return;
417
+ }
418
+ // --- OAuth Token endpoint ---
419
+ if (rawPath === "/token" && req.method === "POST") {
420
+ try {
421
+ const formData = await parseFormBody(req);
422
+ const grantType = formData.get("grant_type") || "";
423
+ if (grantType === "authorization_code") {
424
+ const code = formData.get("code") || "";
425
+ const clientId = formData.get("client_id") || "";
426
+ const redirectUri = formData.get("redirect_uri") || "";
427
+ const codeVerifier = formData.get("code_verifier") || "";
428
+ const resource = formData.get("resource") || "";
429
+ const authCodeRecord = consumeAuthorizationCode(code, clientId, redirectUri, codeVerifier, resource);
430
+ if (!authCodeRecord) {
431
+ res.writeHead(400, { "Content-Type": "application/json" });
432
+ res.end(JSON.stringify({ error: "invalid_grant" }));
433
+ return;
434
+ }
435
+ const accessToken = createOAuthAccessToken(clientId, resource, apiKey);
436
+ const refreshToken = createRefreshToken(clientId, resource);
437
+ res.writeHead(200, { "Content-Type": "application/json", "Cache-Control": "no-store" });
438
+ res.end(JSON.stringify({
439
+ access_token: accessToken,
440
+ token_type: "Bearer",
441
+ expires_in: Math.floor(OAUTH_ACCESS_TOKEN_TTL_MS / 1000),
442
+ refresh_token: refreshToken,
443
+ }));
444
+ return;
445
+ }
446
+ if (grantType === "refresh_token") {
447
+ const refreshToken = formData.get("refresh_token") || "";
448
+ const clientId = formData.get("client_id") || "";
449
+ const refreshRecord = consumeRefreshToken(refreshToken, clientId);
450
+ if (!refreshRecord) {
451
+ res.writeHead(400, { "Content-Type": "application/json" });
452
+ res.end(JSON.stringify({ error: "invalid_grant" }));
453
+ return;
454
+ }
455
+ const accessToken = createOAuthAccessToken(clientId, refreshRecord.resource, apiKey);
456
+ const newRefreshToken = createRefreshToken(clientId, refreshRecord.resource);
457
+ res.writeHead(200, { "Content-Type": "application/json", "Cache-Control": "no-store" });
458
+ res.end(JSON.stringify({
459
+ access_token: accessToken,
460
+ token_type: "Bearer",
461
+ expires_in: Math.floor(OAUTH_ACCESS_TOKEN_TTL_MS / 1000),
462
+ refresh_token: newRefreshToken,
463
+ }));
464
+ return;
465
+ }
466
+ res.writeHead(400, { "Content-Type": "application/json" });
467
+ res.end(JSON.stringify({ error: "unsupported_grant_type" }));
468
+ }
469
+ catch {
470
+ res.writeHead(400, { "Content-Type": "application/json" });
471
+ res.end(JSON.stringify({ error: "invalid_request" }));
472
+ }
473
+ return;
474
+ }
132
475
  // --- Pairing endpoint ---
133
476
  if (rawPath === "/pair") {
134
477
  const params = new URLSearchParams(queryString);
@@ -206,6 +549,7 @@ function main() {
206
549
  // Start periodic cleanup timers
207
550
  startPairingCleanup();
208
551
  startSessionCleanup();
552
+ startOAuthCleanup();
209
553
  // --- gRPC server (HTTP/2) ---
210
554
  const grpcPort = parseInt(process.env.GRACKLE_PORT || String(DEFAULT_SERVER_PORT), 10);
211
555
  const bindHost = process.env.GRACKLE_HOST || "127.0.0.1";
@@ -241,7 +585,8 @@ function main() {
241
585
  });
242
586
  // --- Web + WebSocket server (HTTP/1.1) ---
243
587
  const webPort = parseInt(process.env.GRACKLE_WEB_PORT || String(DEFAULT_WEB_PORT), 10);
244
- const webServer = http.createServer(createWebHandler(apiKey));
588
+ const mcpPort = parseInt(process.env.GRACKLE_MCP_PORT || String(DEFAULT_MCP_PORT), 10);
589
+ const webServer = http.createServer(createWebHandler(apiKey, webPort, bindHost));
245
590
  createWsBridge(webServer, verifyApiKey, (cookieHeader) => validateSessionCookie(cookieHeader, apiKey));
246
591
  webServer.on("error", (err) => {
247
592
  if (err.code === "EADDRINUSE") {
@@ -286,8 +631,11 @@ function main() {
286
631
  }
287
632
  });
288
633
  // --- MCP server (HTTP/1.1, Streamable HTTP) ---
289
- const mcpPort = parseInt(process.env.GRACKLE_MCP_PORT || String(DEFAULT_MCP_PORT), 10);
290
- const mcpServer = createMcpServer({ bindHost, mcpPort, grpcPort, apiKey });
634
+ // Use dialable host for OAuth URLs (wildcard → 127.0.0.1)
635
+ const dialableHost = isWildcardAddress(bindHost) ? "127.0.0.1" : bindHost;
636
+ const dialableUrlHost = dialableHost.includes(":") ? `[${dialableHost}]` : dialableHost;
637
+ const authServerUrl = `http://${dialableUrlHost}:${webPort}`;
638
+ const mcpServer = createMcpServer({ bindHost, mcpPort, grpcPort, apiKey, authorizationServerUrl: authServerUrl });
291
639
  mcpServer.on("error", (err) => {
292
640
  if (err.code === "EADDRINUSE") {
293
641
  logger.fatal({ port: mcpPort }, "Port %d is already in use. Is another Grackle server running?", mcpPort);
@@ -307,6 +655,7 @@ function main() {
307
655
  logger.info("Shutting down...");
308
656
  stopPairingCleanup();
309
657
  stopSessionCleanup();
658
+ stopOAuthCleanup();
310
659
  const forceExit = setTimeout(() => {
311
660
  logger.warn("Shutdown timed out, forcing exit");
312
661
  process.exit(1);