@revealui/mcp 0.1.1 → 0.1.5

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 (83) hide show
  1. package/LICENSE.commercial +2 -3
  2. package/dist/adapters/db.d.ts +1 -1
  3. package/dist/adapters/db.d.ts.map +1 -1
  4. package/dist/adapters/db.js.map +1 -1
  5. package/dist/auth.d.ts +42 -0
  6. package/dist/auth.d.ts.map +1 -0
  7. package/dist/auth.js +73 -0
  8. package/dist/auth.js.map +1 -0
  9. package/dist/config/index.d.ts.map +1 -1
  10. package/dist/config/index.js.map +1 -1
  11. package/dist/contracts.d.ts +36 -0
  12. package/dist/contracts.d.ts.map +1 -1
  13. package/dist/contracts.js +44 -0
  14. package/dist/contracts.js.map +1 -1
  15. package/dist/hypervisor.d.ts +63 -0
  16. package/dist/hypervisor.d.ts.map +1 -1
  17. package/dist/hypervisor.js +287 -4
  18. package/dist/hypervisor.js.map +1 -1
  19. package/dist/index.d.ts +22 -7
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +26 -5
  22. package/dist/index.js.map +1 -1
  23. package/dist/pipeline.d.ts +62 -0
  24. package/dist/pipeline.d.ts.map +1 -0
  25. package/dist/pipeline.js +230 -0
  26. package/dist/pipeline.js.map +1 -0
  27. package/dist/rate-limiter.d.ts +53 -0
  28. package/dist/rate-limiter.d.ts.map +1 -0
  29. package/dist/rate-limiter.js +96 -0
  30. package/dist/rate-limiter.js.map +1 -0
  31. package/dist/servers/_launcher-utils.d.ts +28 -0
  32. package/dist/servers/_launcher-utils.d.ts.map +1 -0
  33. package/dist/servers/_launcher-utils.js +45 -0
  34. package/dist/servers/_launcher-utils.js.map +1 -0
  35. package/dist/servers/adapter.d.ts +22 -6
  36. package/dist/servers/adapter.d.ts.map +1 -1
  37. package/dist/servers/adapter.js +53 -22
  38. package/dist/servers/adapter.js.map +1 -1
  39. package/dist/servers/neon.d.ts +15 -0
  40. package/dist/servers/neon.d.ts.map +1 -0
  41. package/dist/servers/neon.js +89 -0
  42. package/dist/servers/neon.js.map +1 -0
  43. package/dist/servers/next-devtools.d.ts +15 -0
  44. package/dist/servers/next-devtools.d.ts.map +1 -0
  45. package/dist/servers/next-devtools.js +220 -0
  46. package/dist/servers/next-devtools.js.map +1 -0
  47. package/dist/servers/playwright.d.ts +15 -0
  48. package/dist/servers/playwright.d.ts.map +1 -0
  49. package/dist/servers/playwright.js +73 -0
  50. package/dist/servers/playwright.js.map +1 -0
  51. package/dist/servers/revealui-content.d.ts +5 -1
  52. package/dist/servers/revealui-content.d.ts.map +1 -1
  53. package/dist/servers/revealui-content.js +62 -20
  54. package/dist/servers/revealui-content.js.map +1 -1
  55. package/dist/servers/revealui-email.d.ts +5 -1
  56. package/dist/servers/revealui-email.d.ts.map +1 -1
  57. package/dist/servers/revealui-email.js +47 -12
  58. package/dist/servers/revealui-email.js.map +1 -1
  59. package/dist/servers/revealui-stripe.d.ts +5 -1
  60. package/dist/servers/revealui-stripe.d.ts.map +1 -1
  61. package/dist/servers/revealui-stripe.js +68 -33
  62. package/dist/servers/revealui-stripe.js.map +1 -1
  63. package/dist/servers/stripe.d.ts +15 -0
  64. package/dist/servers/stripe.d.ts.map +1 -0
  65. package/dist/servers/stripe.js +85 -0
  66. package/dist/servers/stripe.js.map +1 -0
  67. package/dist/servers/supabase.d.ts +15 -0
  68. package/dist/servers/supabase.d.ts.map +1 -0
  69. package/dist/servers/supabase.js +143 -0
  70. package/dist/servers/supabase.js.map +1 -0
  71. package/dist/servers/vercel.d.ts +15 -0
  72. package/dist/servers/vercel.d.ts.map +1 -0
  73. package/dist/servers/vercel.js +86 -0
  74. package/dist/servers/vercel.js.map +1 -0
  75. package/dist/stores/postgres-idempotency.d.ts +32 -0
  76. package/dist/stores/postgres-idempotency.d.ts.map +1 -0
  77. package/dist/stores/postgres-idempotency.js +63 -0
  78. package/dist/stores/postgres-idempotency.js.map +1 -0
  79. package/dist/telemetry.d.ts +75 -0
  80. package/dist/telemetry.d.ts.map +1 -0
  81. package/dist/telemetry.js +110 -0
  82. package/dist/telemetry.js.map +1 -0
  83. package/package.json +47 -27
@@ -46,6 +46,9 @@ const MCP_TOOL_PREFIX = '@@mcp';
46
46
  export class MCPHypervisor {
47
47
  static instance = null;
48
48
  servers = new Map();
49
+ /** Tenant-scoped server instances: key = `${tenantId}:${serverName}` */
50
+ tenantServers = new Map();
51
+ credentialResolver = null;
49
52
  requestCounter = 0;
50
53
  pendingRequests = new Map();
51
54
  healthCheckTimer = null;
@@ -180,7 +183,10 @@ export class MCPHypervisor {
180
183
  */
181
184
  async stopAll() {
182
185
  this.stopHealthCheckLoop();
183
- await Promise.all(Array.from(this.servers.keys()).map((name) => this.stopServer(name)));
186
+ await Promise.all([
187
+ Promise.all(Array.from(this.servers.keys()).map((name) => this.stopServer(name))),
188
+ this.stopAllTenantServers(),
189
+ ]);
184
190
  }
185
191
  // ---------------------------------------------------------------------------
186
192
  // JSON-RPC communication
@@ -282,11 +288,14 @@ export class MCPHypervisor {
282
288
  for (const [serverName, entry] of this.servers) {
283
289
  if (!entry.healthy)
284
290
  continue;
291
+ const serverTier = entry.config.requiredTier ?? 'free';
285
292
  for (const tool of entry.tools) {
293
+ const effectiveTier = this.higherTier(serverTier, tool.requiredTier ?? 'free');
286
294
  tools.push({
287
295
  namespacedName: `${MCP_TOOL_PREFIX}_${serverName}_${tool.name}`,
288
296
  serverName,
289
297
  tool,
298
+ requiredTier: effectiveTier === 'free' ? undefined : effectiveTier,
290
299
  });
291
300
  }
292
301
  }
@@ -300,10 +309,37 @@ export class MCPHypervisor {
300
309
  * @param args - Arguments to pass to the tool
301
310
  */
302
311
  async callTool(serverName, toolName, args) {
303
- return this.sendRequest(serverName, 'tools/call', {
304
- name: toolName,
305
- arguments: args,
312
+ const startTime = Date.now();
313
+ logger.info('[MCPHypervisor] Tool invoke', {
314
+ event: 'mcp.tool.invoke',
315
+ server: serverName,
316
+ tool: toolName,
317
+ timestamp: startTime,
306
318
  });
319
+ try {
320
+ const result = await this.sendRequest(serverName, 'tools/call', {
321
+ name: toolName,
322
+ arguments: args,
323
+ });
324
+ logger.info('[MCPHypervisor] Tool complete', {
325
+ event: 'mcp.tool.complete',
326
+ server: serverName,
327
+ tool: toolName,
328
+ success: true,
329
+ durationMs: Date.now() - startTime,
330
+ });
331
+ return result;
332
+ }
333
+ catch (error) {
334
+ logger.info('[MCPHypervisor] Tool failed', {
335
+ event: 'mcp.tool.complete',
336
+ server: serverName,
337
+ tool: toolName,
338
+ success: false,
339
+ durationMs: Date.now() - startTime,
340
+ });
341
+ throw error;
342
+ }
307
343
  }
308
344
  /**
309
345
  * Return the health status of all registered servers.
@@ -320,6 +356,253 @@ export class MCPHypervisor {
320
356
  return status;
321
357
  }
322
358
  // ---------------------------------------------------------------------------
359
+ // Credential resolver
360
+ // ---------------------------------------------------------------------------
361
+ /**
362
+ * Set the credential resolver for tenant-scoped server operations.
363
+ * Must be set before calling any tenant-scoped methods.
364
+ */
365
+ setCredentialResolver(resolver) {
366
+ this.credentialResolver = resolver;
367
+ }
368
+ // ---------------------------------------------------------------------------
369
+ // Tenant-scoped operations
370
+ // ---------------------------------------------------------------------------
371
+ /**
372
+ * Start an MCP server with tenant-specific credentials.
373
+ * Each tenant gets its own isolated server process with credentials
374
+ * resolved from the database (BYOK keys or platform defaults).
375
+ *
376
+ * Server instances are keyed by `${tenantId}:${serverName}`.
377
+ */
378
+ async startServerForTenant(serverName, ctx) {
379
+ const baseEntry = this.servers.get(serverName);
380
+ if (!baseEntry)
381
+ throw new Error(`[MCPHypervisor] Unknown server: "${serverName}"`);
382
+ // Tier gating
383
+ const requiredTier = baseEntry.config.requiredTier ?? 'free';
384
+ if (!this.tierSatisfied(ctx.tier, requiredTier)) {
385
+ throw new Error(`[MCPHypervisor] Server "${serverName}" requires tier "${requiredTier}", tenant has "${ctx.tier}"`);
386
+ }
387
+ const tenantKey = `${ctx.tenantId}:${serverName}`;
388
+ // Already running for this tenant?
389
+ const existing = this.tenantServers.get(tenantKey);
390
+ if (existing?.process && existing.process.exitCode === null) {
391
+ return;
392
+ }
393
+ // Resolve tenant credentials
394
+ let tenantEnv = {};
395
+ if (this.credentialResolver) {
396
+ const resolved = await this.credentialResolver.resolve(ctx.tenantId, serverName);
397
+ if (resolved)
398
+ tenantEnv = resolved;
399
+ }
400
+ // Create an isolated config with tenant credentials merged
401
+ const config = {
402
+ ...baseEntry.config,
403
+ env: { ...baseEntry.config.env, ...tenantEnv },
404
+ };
405
+ const entry = {
406
+ config,
407
+ process: null,
408
+ tools: [],
409
+ healthy: false,
410
+ lastPingAt: null,
411
+ };
412
+ // Spawn process
413
+ const child = spawn(config.command, config.args, {
414
+ stdio: ['pipe', 'pipe', 'pipe'],
415
+ env: { ...process.env, ...config.env },
416
+ });
417
+ entry.process = child;
418
+ this.tenantServers.set(tenantKey, entry);
419
+ let buffer = '';
420
+ child.stdout?.on('data', (chunk) => {
421
+ buffer += chunk.toString();
422
+ const lines = buffer.split('\n');
423
+ buffer = lines.pop() ?? '';
424
+ for (const line of lines) {
425
+ const trimmed = line.trim();
426
+ if (!trimmed)
427
+ continue;
428
+ try {
429
+ const msg = JSON.parse(trimmed);
430
+ this.handleResponse(msg);
431
+ }
432
+ catch {
433
+ // Non-JSON output
434
+ }
435
+ }
436
+ });
437
+ child.stderr?.on('data', (chunk) => {
438
+ logger.warn(`[MCPHypervisor] ${tenantKey} stderr: ${chunk.toString().trim()}`);
439
+ });
440
+ child.on('exit', (code) => {
441
+ logger.warn(`[MCPHypervisor] Tenant server "${tenantKey}" exited with code ${code}`);
442
+ entry.healthy = false;
443
+ });
444
+ await new Promise((resolve) => setTimeout(resolve, 500));
445
+ try {
446
+ // Discover tools via JSON-RPC
447
+ const id = ++this.requestCounter;
448
+ const request = { jsonrpc: '2.0', id, method: 'tools/list' };
449
+ const toolsResult = await new Promise((resolve, reject) => {
450
+ const timer = setTimeout(() => {
451
+ this.pendingRequests.delete(id);
452
+ reject(new Error('Tool discovery timed out'));
453
+ }, REQUEST_TIMEOUT_MS);
454
+ this.pendingRequests.set(id, { resolve, reject, timer });
455
+ entry.process?.stdin?.write(`${JSON.stringify(request)}\n`);
456
+ });
457
+ entry.tools = toolsResult?.tools ?? [];
458
+ entry.healthy = true;
459
+ logger.info(`[MCPHypervisor] Tenant server "${tenantKey}" started (${entry.tools.length} tools)`);
460
+ }
461
+ catch {
462
+ entry.healthy = entry.process.exitCode === null;
463
+ }
464
+ }
465
+ /**
466
+ * Stop a tenant-scoped server instance.
467
+ */
468
+ async stopServerForTenant(serverName, tenantId) {
469
+ const tenantKey = `${tenantId}:${serverName}`;
470
+ const entry = this.tenantServers.get(tenantKey);
471
+ if (!entry?.process)
472
+ return;
473
+ entry.process.kill('SIGTERM');
474
+ await new Promise((resolve) => setTimeout(resolve, 200));
475
+ if (entry.process.exitCode === null)
476
+ entry.process.kill('SIGKILL');
477
+ this.tenantServers.delete(tenantKey);
478
+ logger.info(`[MCPHypervisor] Stopped tenant server: ${tenantKey}`);
479
+ }
480
+ /**
481
+ * Call a tool on a tenant-scoped server instance.
482
+ */
483
+ async callToolForTenant(serverName, tenantId, toolName, args) {
484
+ const startTime = Date.now();
485
+ const tenantKey = `${tenantId}:${serverName}`;
486
+ const entry = this.tenantServers.get(tenantKey);
487
+ if (!entry?.process || entry.process.exitCode !== null) {
488
+ throw new Error(`[MCPHypervisor] No running server for tenant "${tenantKey}"`);
489
+ }
490
+ logger.info('[MCPHypervisor] Tenant tool invoke', {
491
+ event: 'mcp.tool.invoke',
492
+ server: serverName,
493
+ tool: toolName,
494
+ tenant: tenantId,
495
+ timestamp: startTime,
496
+ });
497
+ const id = ++this.requestCounter;
498
+ const request = {
499
+ jsonrpc: '2.0',
500
+ id,
501
+ method: 'tools/call',
502
+ params: { name: toolName, arguments: args },
503
+ };
504
+ try {
505
+ const result = await new Promise((resolve, reject) => {
506
+ const timer = setTimeout(() => {
507
+ this.pendingRequests.delete(id);
508
+ reject(new Error(`Request timed out after ${REQUEST_TIMEOUT_MS}ms`));
509
+ }, REQUEST_TIMEOUT_MS);
510
+ this.pendingRequests.set(id, { resolve, reject, timer });
511
+ entry.process?.stdin?.write(`${JSON.stringify(request)}\n`);
512
+ });
513
+ logger.info('[MCPHypervisor] Tenant tool complete', {
514
+ event: 'mcp.tool.complete',
515
+ server: serverName,
516
+ tool: toolName,
517
+ tenant: tenantId,
518
+ success: true,
519
+ durationMs: Date.now() - startTime,
520
+ });
521
+ return result;
522
+ }
523
+ catch (error) {
524
+ logger.info('[MCPHypervisor] Tenant tool failed', {
525
+ event: 'mcp.tool.complete',
526
+ server: serverName,
527
+ tool: toolName,
528
+ tenant: tenantId,
529
+ success: false,
530
+ durationMs: Date.now() - startTime,
531
+ });
532
+ throw error;
533
+ }
534
+ }
535
+ /**
536
+ * Get all tools available to a tenant, filtered by tier.
537
+ * Checks both server-level and tool-level requiredTier — the effective
538
+ * requirement is the higher of the two.
539
+ */
540
+ getToolsForTenant(ctx) {
541
+ const tools = [];
542
+ // Shared (non-tenant) servers filtered by tier
543
+ for (const [serverName, entry] of this.servers) {
544
+ if (!entry.healthy)
545
+ continue;
546
+ const serverTier = entry.config.requiredTier ?? 'free';
547
+ if (!this.tierSatisfied(ctx.tier, serverTier))
548
+ continue;
549
+ for (const tool of entry.tools) {
550
+ const toolTier = tool.requiredTier ?? 'free';
551
+ const effectiveTier = this.higherTier(serverTier, toolTier);
552
+ if (!this.tierSatisfied(ctx.tier, effectiveTier))
553
+ continue;
554
+ tools.push({
555
+ namespacedName: `${MCP_TOOL_PREFIX}_${serverName}_${tool.name}`,
556
+ serverName,
557
+ tool,
558
+ requiredTier: effectiveTier === 'free' ? undefined : effectiveTier,
559
+ });
560
+ }
561
+ }
562
+ // Tenant-scoped servers
563
+ for (const [tenantKey, entry] of this.tenantServers) {
564
+ if (!tenantKey.startsWith(`${ctx.tenantId}:`))
565
+ continue;
566
+ if (!entry.healthy)
567
+ continue;
568
+ const serverName = tenantKey.split(':')[1] ?? tenantKey;
569
+ for (const tool of entry.tools) {
570
+ const toolTier = tool.requiredTier ?? 'free';
571
+ if (!this.tierSatisfied(ctx.tier, toolTier))
572
+ continue;
573
+ tools.push({
574
+ namespacedName: `${MCP_TOOL_PREFIX}_${serverName}_${tool.name}`,
575
+ serverName,
576
+ tool,
577
+ requiredTier: toolTier === 'free' ? undefined : toolTier,
578
+ });
579
+ }
580
+ }
581
+ return tools;
582
+ }
583
+ /**
584
+ * Stop all tenant-scoped servers (called during shutdown).
585
+ */
586
+ async stopAllTenantServers() {
587
+ await Promise.all(Array.from(this.tenantServers.entries()).map(async ([key, entry]) => {
588
+ if (entry.process) {
589
+ entry.process.kill('SIGTERM');
590
+ await new Promise((resolve) => setTimeout(resolve, 200));
591
+ if (entry.process.exitCode === null)
592
+ entry.process.kill('SIGKILL');
593
+ }
594
+ this.tenantServers.delete(key);
595
+ }));
596
+ }
597
+ tierSatisfied(actual, required) {
598
+ const order = { free: 0, pro: 1, max: 2, enterprise: 3 };
599
+ return order[actual] >= order[required];
600
+ }
601
+ higherTier(a, b) {
602
+ const order = { free: 0, pro: 1, max: 2, enterprise: 3 };
603
+ return order[a] >= order[b] ? a : b;
604
+ }
605
+ // ---------------------------------------------------------------------------
323
606
  // Health check loop
324
607
  // ---------------------------------------------------------------------------
325
608
  startHealthCheckLoop() {
@@ -1 +1 @@
1
- {"version":3,"file":"hypervisor.js","sourceRoot":"","sources":["../src/hypervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hypervisor.js","sourceRoot":"","sources":["../src/hypervisor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,10 +4,14 @@
4
4
  * Model Context Protocol integrations for RevealUI.
5
5
  *
6
6
  * Provides:
7
- * - MCP adapter framework (Vercel, Stripe, Neon)
8
- * - Database adapter (PGlite / PostgreSQL) with CRDT support
9
- * - MCP contracts (Zod schemas for request/response/tool bridging)
10
- * - MCP server launchers (code-validator, stripe, neon, etc.)
7
+ * - MCP hypervisor: process management, tool discovery, health checks (production-ready)
8
+ * - MCP adapter framework: base class with retry, idempotency, error handling (production-ready)
9
+ * - Database adapter: PGlite / PostgreSQL with CRDT support (production-ready)
10
+ * - MCP contracts: Zod schemas for request/response/tool bridging (production-ready)
11
+ *
12
+ * Server adapter status:
13
+ * - NeonAdapter, StripeAdapter, VercelAdapter: scaffolded (adapter config + error mapping only,
14
+ * no live API calls). Implement execute() overrides before advertising as functional.
11
15
  *
12
16
  * @packageDocumentation
13
17
  */
@@ -18,8 +22,19 @@
18
22
  */
19
23
  export declare function checkMcpLicense(): Promise<boolean>;
20
24
  export { type CrdtOperationsInsert, type CrdtOperationsRow, connectPglite, connectPostgres, createMcpDbClient, type McpDbClient, type QueryResult, } from './adapters/db.js';
25
+ export { authorizeToolCall, type McpAuthClaims, McpAuthClaimsSchema, validateMcpClaims, } from './auth.js';
21
26
  export { getMcpConfig, type McpConfig as McpEnvConfig, type McpMetricsMode, } from './config/index.js';
22
- export { agentDefinitionToAgentCard, agentDefinitionToMcpTools, contractsToolDefinitionToMcpTool, type MCPAdapterConfig, MCPAdapterConfigSchema, type MCPRequest, type MCPRequestOptions, MCPRequestOptionsSchema, MCPRequestSchema, type MCPResponse, type MCPResponseMetadata, MCPResponseMetadataSchema, MCPResponseSchema, mcpToolToContractsToolDefinition, } from './contracts.js';
23
- export { MCPHypervisor, type MCPServerConfig, type MCPTool, type NamespacedTool, } from './hypervisor.js';
24
- export { createMCPAdapter, disposeAllAdapters, generateIdempotencyKey, generateUniqueIdempotencyKey, MCPAdapter, type MCPConfig, NeonAdapter, StripeAdapter, VercelAdapter, } from './servers/adapter.js';
27
+ export { agentDefinitionToAgentCard, agentDefinitionToMcpTools, contractsToolDefinitionToMcpTool, type MCPAdapterConfig, MCPAdapterConfigSchema, type MCPRequest, type MCPRequestOptions, MCPRequestOptionsSchema, MCPRequestSchema, type MCPResponse, type MCPResponseMetadata, MCPResponseMetadataSchema, MCPResponseSchema, mcpToolToContractsToolDefinition, type ToolOutputSchemaName, ToolOutputSchemas, validateToolOutput, } from './contracts.js';
28
+ export { type MCPCredentialResolver, MCPHypervisor, type MCPServerConfig, type MCPTenantContext, type MCPTool, type NamespacedTool, } from './hypervisor.js';
29
+ export { executePipeline, type PipelineResult, type PipelineStep, type PipelineStepResult, } from './pipeline.js';
30
+ export { DEFAULT_TIER_LIMITS, McpRateLimiter, type RateLimitConfig, type RateLimitResult, } from './rate-limiter.js';
31
+ export { createMCPAdapter, disposeAllAdapters, generateIdempotencyKey, generateUniqueIdempotencyKey, type IdempotencyStore, MCPAdapter, type MCPConfig, NeonAdapter, StripeAdapter, VercelAdapter, } from './servers/adapter.js';
32
+ export { launchNeonMcp } from './servers/neon.js';
33
+ export { launchNextDevtoolsMcp } from './servers/next-devtools.js';
34
+ export { launchPlaywrightMcp } from './servers/playwright.js';
35
+ export { launchStripeMcp } from './servers/stripe.js';
36
+ export { launchSupabaseMcp } from './servers/supabase.js';
37
+ export { launchVercelMcp } from './servers/vercel.js';
38
+ export { createPostgresIdempotencyStore } from './stores/postgres-idempotency.js';
39
+ export { type McpEvent, type McpEventHandler, type McpEventType, McpTelemetry, } from './telemetry.js';
25
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAUxD;AAGD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,IAAI,YAAY,EAC9B,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,gCAAgC,GACjC,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAC5B,UAAU,EACV,KAAK,SAAS,EACd,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAUxD;AAGD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,IAAI,YAAY,EAC9B,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,gCAAgC,EAChC,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,KAAK,qBAAqB,EAC1B,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,UAAU,EACV,KAAK,SAAS,EACd,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,YAAY,GACb,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -4,10 +4,14 @@
4
4
  * Model Context Protocol integrations for RevealUI.
5
5
  *
6
6
  * Provides:
7
- * - MCP adapter framework (Vercel, Stripe, Neon)
8
- * - Database adapter (PGlite / PostgreSQL) with CRDT support
9
- * - MCP contracts (Zod schemas for request/response/tool bridging)
10
- * - MCP server launchers (code-validator, stripe, neon, etc.)
7
+ * - MCP hypervisor: process management, tool discovery, health checks (production-ready)
8
+ * - MCP adapter framework: base class with retry, idempotency, error handling (production-ready)
9
+ * - Database adapter: PGlite / PostgreSQL with CRDT support (production-ready)
10
+ * - MCP contracts: Zod schemas for request/response/tool bridging (production-ready)
11
+ *
12
+ * Server adapter status:
13
+ * - NeonAdapter, StripeAdapter, VercelAdapter: scaffolded (adapter config + error mapping only,
14
+ * no live API calls). Implement execute() overrides before advertising as functional.
11
15
  *
12
16
  * @packageDocumentation
13
17
  */
@@ -30,12 +34,29 @@ export async function checkMcpLicense() {
30
34
  }
31
35
  // Database adapter
32
36
  export { connectPglite, connectPostgres, createMcpDbClient, } from './adapters/db.js';
37
+ // Auth bridge (JWT claims validation + tool authorization)
38
+ export { authorizeToolCall, McpAuthClaimsSchema, validateMcpClaims, } from './auth.js';
33
39
  // Configuration
34
40
  export { getMcpConfig, } from './config/index.js';
35
41
  // Contracts (Zod schemas + tool bridging)
36
- export { agentDefinitionToAgentCard, agentDefinitionToMcpTools, contractsToolDefinitionToMcpTool, MCPAdapterConfigSchema, MCPRequestOptionsSchema, MCPRequestSchema, MCPResponseMetadataSchema, MCPResponseSchema, mcpToolToContractsToolDefinition, } from './contracts.js';
42
+ export { agentDefinitionToAgentCard, agentDefinitionToMcpTools, contractsToolDefinitionToMcpTool, MCPAdapterConfigSchema, MCPRequestOptionsSchema, MCPRequestSchema, MCPResponseMetadataSchema, MCPResponseSchema, mcpToolToContractsToolDefinition, ToolOutputSchemas, validateToolOutput, } from './contracts.js';
37
43
  // Hypervisor: process management + dynamic tool discovery
38
44
  export { MCPHypervisor, } from './hypervisor.js';
45
+ // Tool pipeline (composition / chaining)
46
+ export { executePipeline, } from './pipeline.js';
47
+ // Rate limiting (per-tier)
48
+ export { DEFAULT_TIER_LIMITS, McpRateLimiter, } from './rate-limiter.js';
39
49
  // Adapter framework
40
50
  export { createMCPAdapter, disposeAllAdapters, generateIdempotencyKey, generateUniqueIdempotencyKey, MCPAdapter, NeonAdapter, StripeAdapter, VercelAdapter, } from './servers/adapter.js';
51
+ // Server launchers
52
+ export { launchNeonMcp } from './servers/neon.js';
53
+ export { launchNextDevtoolsMcp } from './servers/next-devtools.js';
54
+ export { launchPlaywrightMcp } from './servers/playwright.js';
55
+ export { launchStripeMcp } from './servers/stripe.js';
56
+ export { launchSupabaseMcp } from './servers/supabase.js';
57
+ export { launchVercelMcp } from './servers/vercel.js';
58
+ // Persistent idempotency stores
59
+ export { createPostgresIdempotencyStore } from './stores/postgres-idempotency.js';
60
+ // Telemetry (structured observability events)
61
+ export { McpTelemetry, } from './telemetry.js';
41
62
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAA;AAE5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,iBAAiB,EAAE,CAAA;IACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CACT,+EAA+E;YAC7E,iDAAiD,CACpD,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,mBAAmB;AACnB,OAAO,EAGL,aAAa,EACb,eAAe,EACf,iBAAiB,GAGlB,MAAM,kBAAkB,CAAA;AACzB,gBAAgB;AAChB,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAA;AAC1B,0CAA0C;AAC1C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAEhC,sBAAsB,EAGtB,uBAAuB,EACvB,gBAAgB,EAGhB,yBAAyB,EACzB,iBAAiB,EACjB,gCAAgC,GACjC,MAAM,gBAAgB,CAAA;AACvB,0DAA0D;AAC1D,OAAO,EACL,aAAa,GAId,MAAM,iBAAiB,CAAA;AACxB,oBAAoB;AACpB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAC5B,UAAU,EAEV,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CACT,+EAA+E;YAC7E,iDAAiD,CACpD,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mBAAmB;AACnB,OAAO,EAGL,aAAa,EACb,eAAe,EACf,iBAAiB,GAGlB,MAAM,kBAAkB,CAAC;AAC1B,2DAA2D;AAC3D,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,gBAAgB;AAChB,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAC3B,0CAA0C;AAC1C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAEhC,sBAAsB,EAGtB,uBAAuB,EACvB,gBAAgB,EAGhB,yBAAyB,EACzB,iBAAiB,EACjB,gCAAgC,EAEhC,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,0DAA0D;AAC1D,OAAO,EAEL,aAAa,GAKd,MAAM,iBAAiB,CAAC;AACzB,yCAAyC;AACzC,OAAO,EACL,eAAe,GAIhB,MAAM,eAAe,CAAC;AACvB,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,EACnB,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAC3B,oBAAoB;AACpB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAE5B,UAAU,EAEV,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,gCAAgC;AAChC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,8CAA8C;AAC9C,OAAO,EAIL,YAAY,GACb,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Tool Pipeline
3
+ *
4
+ * Lightweight tool composition that lets agents chain MCP tool calls
5
+ * declaratively. Steps execute sequentially, with data flowing between
6
+ * them via `$ref` parameter references.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const result = await executePipeline(hypervisor, ctx, [
11
+ * {
12
+ * label: 'customer',
13
+ * tool: '@@mcp_stripe_create_customer',
14
+ * params: { email: 'user@example.com' },
15
+ * },
16
+ * {
17
+ * label: 'payment',
18
+ * tool: '@@mcp_stripe_create_payment_intent',
19
+ * params: {
20
+ * customer: { $ref: 'customer.id' },
21
+ * amount: 2000,
22
+ * currency: 'usd',
23
+ * },
24
+ * },
25
+ * ]);
26
+ * ```
27
+ */
28
+ import type { MCPHypervisor, MCPTenantContext } from './hypervisor.js';
29
+ export interface PipelineStep {
30
+ /** Namespaced tool name (e.g., @@mcp_stripe_create_payment_intent) */
31
+ tool: string;
32
+ /** Parameters — can reference previous step outputs via $ref syntax */
33
+ params: Record<string, unknown>;
34
+ /** Optional: only run if condition is met */
35
+ when?: (previousResults: Map<string, unknown>) => boolean;
36
+ /** Step label for referencing in later steps */
37
+ label?: string;
38
+ }
39
+ export interface PipelineStepResult {
40
+ label: string;
41
+ tool: string;
42
+ success: boolean;
43
+ data?: unknown;
44
+ error?: string;
45
+ durationMs: number;
46
+ }
47
+ export interface PipelineResult {
48
+ success: boolean;
49
+ steps: PipelineStepResult[];
50
+ totalDurationMs: number;
51
+ }
52
+ /**
53
+ * Execute a sequence of tool calls with data flowing between steps.
54
+ *
55
+ * Parameter references: use `{ "$ref": "step_label.path.to.value" }`
56
+ * to reference output from a previous step.
57
+ *
58
+ * Tools are identified by their namespaced name (`@@mcp_{server}_{tool}`)
59
+ * and dispatched through the hypervisor's tenant-scoped call path.
60
+ */
61
+ export declare function executePipeline(hypervisor: MCPHypervisor, ctx: MCPTenantContext, steps: PipelineStep[]): Promise<PipelineResult>;
62
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMvE,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IAC1D,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAYD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,aAAa,EACzB,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,YAAY,EAAE,GACpB,OAAO,CAAC,cAAc,CAAC,CA0EzB"}