@revealui/mcp 0.1.3 → 0.1.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.
Files changed (77) hide show
  1. package/dist/auth.d.ts +42 -0
  2. package/dist/auth.d.ts.map +1 -0
  3. package/dist/auth.js +73 -0
  4. package/dist/auth.js.map +1 -0
  5. package/dist/contracts.d.ts +36 -0
  6. package/dist/contracts.d.ts.map +1 -1
  7. package/dist/contracts.js +44 -0
  8. package/dist/contracts.js.map +1 -1
  9. package/dist/hypervisor.d.ts +7 -0
  10. package/dist/hypervisor.d.ts.map +1 -1
  11. package/dist/hypervisor.js +88 -13
  12. package/dist/hypervisor.js.map +1 -1
  13. package/dist/index.d.ts +13 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +18 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/pipeline.d.ts +62 -0
  18. package/dist/pipeline.d.ts.map +1 -0
  19. package/dist/pipeline.js +230 -0
  20. package/dist/pipeline.js.map +1 -0
  21. package/dist/rate-limiter.d.ts +53 -0
  22. package/dist/rate-limiter.d.ts.map +1 -0
  23. package/dist/rate-limiter.js +96 -0
  24. package/dist/rate-limiter.js.map +1 -0
  25. package/dist/servers/_launcher-utils.d.ts +28 -0
  26. package/dist/servers/_launcher-utils.d.ts.map +1 -0
  27. package/dist/servers/_launcher-utils.js +45 -0
  28. package/dist/servers/_launcher-utils.js.map +1 -0
  29. package/dist/servers/adapter.d.ts +22 -6
  30. package/dist/servers/adapter.d.ts.map +1 -1
  31. package/dist/servers/adapter.js +53 -22
  32. package/dist/servers/adapter.js.map +1 -1
  33. package/dist/servers/neon.d.ts +15 -0
  34. package/dist/servers/neon.d.ts.map +1 -0
  35. package/dist/servers/neon.js +89 -0
  36. package/dist/servers/neon.js.map +1 -0
  37. package/dist/servers/next-devtools.d.ts +15 -0
  38. package/dist/servers/next-devtools.d.ts.map +1 -0
  39. package/dist/servers/next-devtools.js +220 -0
  40. package/dist/servers/next-devtools.js.map +1 -0
  41. package/dist/servers/playwright.d.ts +15 -0
  42. package/dist/servers/playwright.d.ts.map +1 -0
  43. package/dist/servers/playwright.js +73 -0
  44. package/dist/servers/playwright.js.map +1 -0
  45. package/dist/servers/revealui-content.d.ts +5 -1
  46. package/dist/servers/revealui-content.d.ts.map +1 -1
  47. package/dist/servers/revealui-content.js +44 -14
  48. package/dist/servers/revealui-content.js.map +1 -1
  49. package/dist/servers/revealui-email.d.ts +5 -1
  50. package/dist/servers/revealui-email.d.ts.map +1 -1
  51. package/dist/servers/revealui-email.js +38 -8
  52. package/dist/servers/revealui-email.js.map +1 -1
  53. package/dist/servers/revealui-stripe.d.ts +5 -1
  54. package/dist/servers/revealui-stripe.d.ts.map +1 -1
  55. package/dist/servers/revealui-stripe.js +44 -26
  56. package/dist/servers/revealui-stripe.js.map +1 -1
  57. package/dist/servers/stripe.d.ts +15 -0
  58. package/dist/servers/stripe.d.ts.map +1 -0
  59. package/dist/servers/stripe.js +85 -0
  60. package/dist/servers/stripe.js.map +1 -0
  61. package/dist/servers/supabase.d.ts +15 -0
  62. package/dist/servers/supabase.d.ts.map +1 -0
  63. package/dist/servers/supabase.js +143 -0
  64. package/dist/servers/supabase.js.map +1 -0
  65. package/dist/servers/vercel.d.ts +15 -0
  66. package/dist/servers/vercel.d.ts.map +1 -0
  67. package/dist/servers/vercel.js +86 -0
  68. package/dist/servers/vercel.js.map +1 -0
  69. package/dist/stores/postgres-idempotency.d.ts +32 -0
  70. package/dist/stores/postgres-idempotency.d.ts.map +1 -0
  71. package/dist/stores/postgres-idempotency.js +63 -0
  72. package/dist/stores/postgres-idempotency.js.map +1 -0
  73. package/dist/telemetry.d.ts +75 -0
  74. package/dist/telemetry.d.ts.map +1 -0
  75. package/dist/telemetry.js +110 -0
  76. package/dist/telemetry.js.map +1 -0
  77. package/package.json +29 -5
package/dist/auth.d.ts ADDED
@@ -0,0 +1,42 @@
1
+ /**
2
+ * MCP Auth Bridge
3
+ *
4
+ * JWT claims validation and tool-level authorization for MCP server launchers.
5
+ * Does NOT verify JWT signatures — that is the transport layer's responsibility.
6
+ * This module validates the claims structure, expiration, and tier-based ACL.
7
+ */
8
+ import { z } from '@revealui/contracts';
9
+ /** JWT claims expected from RevealUI auth tokens */
10
+ export declare const McpAuthClaimsSchema: z.ZodObject<{
11
+ sub: z.ZodString;
12
+ tier: z.ZodEnum<{
13
+ free: "free";
14
+ pro: "pro";
15
+ max: "max";
16
+ enterprise: "enterprise";
17
+ }>;
18
+ iss: z.ZodOptional<z.ZodString>;
19
+ iat: z.ZodOptional<z.ZodNumber>;
20
+ exp: z.ZodOptional<z.ZodNumber>;
21
+ permissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
22
+ }, z.core.$strip>;
23
+ export type McpAuthClaims = z.infer<typeof McpAuthClaimsSchema>;
24
+ /**
25
+ * Validate and decode MCP auth claims from a JWT payload.
26
+ * Does NOT verify signature — that should be done by the transport layer.
27
+ * This validates the claims structure and expiration.
28
+ */
29
+ export declare function validateMcpClaims(payload: unknown): {
30
+ valid: boolean;
31
+ claims?: McpAuthClaims;
32
+ error?: string;
33
+ };
34
+ /**
35
+ * Check if claims authorize a specific tool invocation.
36
+ * Verifies both tier level and explicit permissions list (if present).
37
+ */
38
+ export declare function authorizeToolCall(claims: McpAuthClaims, toolName: string, requiredTier?: string): {
39
+ authorized: boolean;
40
+ reason?: string;
41
+ };
42
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAMxC,oDAAoD;AACpD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBAO9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG;IACnD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAgBA;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAe,GAC5B;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB1C"}
package/dist/auth.js ADDED
@@ -0,0 +1,73 @@
1
+ /**
2
+ * MCP Auth Bridge
3
+ *
4
+ * JWT claims validation and tool-level authorization for MCP server launchers.
5
+ * Does NOT verify JWT signatures — that is the transport layer's responsibility.
6
+ * This module validates the claims structure, expiration, and tier-based ACL.
7
+ */
8
+ import { z } from '@revealui/contracts';
9
+ // =============================================================================
10
+ // Auth Claims Schema
11
+ // =============================================================================
12
+ /** JWT claims expected from RevealUI auth tokens */
13
+ export const McpAuthClaimsSchema = z.object({
14
+ sub: z.string(), // tenant ID
15
+ tier: z.enum(['free', 'pro', 'max', 'enterprise']),
16
+ iss: z.string().optional(), // issuer
17
+ iat: z.number().optional(), // issued at
18
+ exp: z.number().optional(), // expiration
19
+ permissions: z.array(z.string()).optional(), // tool-level ACL
20
+ });
21
+ // =============================================================================
22
+ // Claims Validation
23
+ // =============================================================================
24
+ /**
25
+ * Validate and decode MCP auth claims from a JWT payload.
26
+ * Does NOT verify signature — that should be done by the transport layer.
27
+ * This validates the claims structure and expiration.
28
+ */
29
+ export function validateMcpClaims(payload) {
30
+ // Check expiration before schema validation
31
+ const raw = payload;
32
+ if (typeof raw?.exp === 'number' && raw.exp < Date.now() / 1000) {
33
+ return { valid: false, error: 'Token expired' };
34
+ }
35
+ const result = McpAuthClaimsSchema.safeParse(payload);
36
+ if (!result.success) {
37
+ return {
38
+ valid: false,
39
+ error: `Invalid claims: ${result.error.issues.map((i) => i.message).join(', ')}`,
40
+ };
41
+ }
42
+ return { valid: true, claims: result.data };
43
+ }
44
+ // =============================================================================
45
+ // Tool Authorization
46
+ // =============================================================================
47
+ /**
48
+ * Check if claims authorize a specific tool invocation.
49
+ * Verifies both tier level and explicit permissions list (if present).
50
+ */
51
+ export function authorizeToolCall(claims, toolName, requiredTier = 'free') {
52
+ const tierOrder = ['free', 'pro', 'max', 'enterprise'];
53
+ const claimIndex = tierOrder.indexOf(claims.tier);
54
+ const requiredIndex = tierOrder.indexOf(requiredTier);
55
+ if (claimIndex < requiredIndex) {
56
+ return {
57
+ authorized: false,
58
+ reason: `Tool requires ${requiredTier} tier, tenant has ${claims.tier}`,
59
+ };
60
+ }
61
+ // Check explicit permissions if provided
62
+ if (claims.permissions && claims.permissions.length > 0) {
63
+ const hasPermission = claims.permissions.includes(toolName) || claims.permissions.includes('*');
64
+ if (!hasPermission) {
65
+ return {
66
+ authorized: false,
67
+ reason: `Tool ${toolName} not in permissions list`,
68
+ };
69
+ }
70
+ }
71
+ return { authorized: true };
72
+ }
73
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -128,4 +128,40 @@ export declare function agentDefinitionToAgentCard(agent: AgentDefinition, baseU
128
128
  * Uses `contractsToolDefinitionToMcpTool` for each tool.
129
129
  */
130
130
  export declare function agentDefinitionToMcpTools(agent: AgentDefinition): ReturnType<typeof contractsToolDefinitionToMcpTool>[];
131
+ /** Common output schemas that tools can reference for response validation */
132
+ export declare const ToolOutputSchemas: {
133
+ /** List response with pagination */
134
+ readonly paginatedList: z.ZodObject<{
135
+ items: z.ZodArray<z.ZodUnknown>;
136
+ total: z.ZodOptional<z.ZodNumber>;
137
+ page: z.ZodOptional<z.ZodNumber>;
138
+ limit: z.ZodOptional<z.ZodNumber>;
139
+ }, z.core.$strip>;
140
+ /** Single entity response */
141
+ readonly entity: z.ZodObject<{
142
+ id: z.ZodString;
143
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
144
+ }, z.core.$strip>;
145
+ /** Status response */
146
+ readonly status: z.ZodObject<{
147
+ success: z.ZodBoolean;
148
+ message: z.ZodOptional<z.ZodString>;
149
+ }, z.core.$strip>;
150
+ /** Error detail */
151
+ readonly errorDetail: z.ZodObject<{
152
+ code: z.ZodString;
153
+ message: z.ZodString;
154
+ details: z.ZodOptional<z.ZodUnknown>;
155
+ }, z.core.$strip>;
156
+ };
157
+ export type ToolOutputSchemaName = keyof typeof ToolOutputSchemas;
158
+ /**
159
+ * Validate tool output data against one of the common output schemas.
160
+ * Returns `{ valid: true }` on success, or `{ valid: false, errors }` with
161
+ * human-readable Zod issue descriptions on failure.
162
+ */
163
+ export declare function validateToolOutput(data: unknown, schemaName: ToolOutputSchemaName): {
164
+ valid: boolean;
165
+ errors?: string[];
166
+ };
131
167
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,eAAe,EAEpB,KAAK,cAAc,EAGnB,CAAC,EACF,MAAM,qBAAqB,CAAC;AAM7B;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;iBAMlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAI3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;iBAMpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;iBAMjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CACjB,MAAM,EACN;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAC5E,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH,GAAG,cAAc,CAuBjB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,cAAc,GAAG;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAC1E,CAAC;QACF,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH,CA6BA;AAMD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GACnD,YAAY,CAiBd;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,eAAe,GACrB,UAAU,CAAC,OAAO,gCAAgC,CAAC,EAAE,CAEvD"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
package/dist/contracts.js CHANGED
@@ -150,4 +150,48 @@ export function agentDefinitionToAgentCard(agent, baseUrl, opts) {
150
150
  export function agentDefinitionToMcpTools(agent) {
151
151
  return agent.tools.map(contractsToolDefinitionToMcpTool);
152
152
  }
153
+ // =============================================================================
154
+ // Tool Output Schemas & Validation
155
+ // =============================================================================
156
+ /** Common output schemas that tools can reference for response validation */
157
+ export const ToolOutputSchemas = {
158
+ /** List response with pagination */
159
+ paginatedList: z.object({
160
+ items: z.array(z.unknown()),
161
+ total: z.number().optional(),
162
+ page: z.number().optional(),
163
+ limit: z.number().optional(),
164
+ }),
165
+ /** Single entity response */
166
+ entity: z.object({
167
+ id: z.string(),
168
+ data: z.record(z.string(), z.unknown()),
169
+ }),
170
+ /** Status response */
171
+ status: z.object({
172
+ success: z.boolean(),
173
+ message: z.string().optional(),
174
+ }),
175
+ /** Error detail */
176
+ errorDetail: z.object({
177
+ code: z.string(),
178
+ message: z.string(),
179
+ details: z.unknown().optional(),
180
+ }),
181
+ };
182
+ /**
183
+ * Validate tool output data against one of the common output schemas.
184
+ * Returns `{ valid: true }` on success, or `{ valid: false, errors }` with
185
+ * human-readable Zod issue descriptions on failure.
186
+ */
187
+ export function validateToolOutput(data, schemaName) {
188
+ const schema = ToolOutputSchemas[schemaName];
189
+ const result = schema.safeParse(data);
190
+ if (result.success)
191
+ return { valid: true };
192
+ return {
193
+ valid: false,
194
+ errors: result.error.issues.map((i) => `${i.path.join('.')}: ${i.message}`),
195
+ };
196
+ }
153
197
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
@@ -54,12 +54,16 @@ export interface MCPTool {
54
54
  properties?: Record<string, unknown>;
55
55
  required?: string[];
56
56
  };
57
+ /** Minimum tier required to invoke this tool (default: 'free') */
58
+ requiredTier?: 'free' | 'pro' | 'max' | 'enterprise';
57
59
  }
58
60
  export interface NamespacedTool {
59
61
  /** Namespaced name: @@mcp_{serverName}_{toolName} */
60
62
  namespacedName: string;
61
63
  serverName: string;
62
64
  tool: MCPTool;
65
+ /** Minimum tier required to invoke this tool (inherited from tool or server) */
66
+ requiredTier?: 'free' | 'pro' | 'max' | 'enterprise';
63
67
  }
64
68
  /**
65
69
  * Singleton that manages MCP server processes and their tool registries.
@@ -170,6 +174,8 @@ export declare class MCPHypervisor {
170
174
  callToolForTenant(serverName: string, tenantId: string, toolName: string, args: unknown): Promise<unknown>;
171
175
  /**
172
176
  * Get all tools available to a tenant, filtered by tier.
177
+ * Checks both server-level and tool-level requiredTier — the effective
178
+ * requirement is the higher of the two.
173
179
  */
174
180
  getToolsForTenant(ctx: MCPTenantContext): NamespacedTool[];
175
181
  /**
@@ -177,6 +183,7 @@ export declare class MCPHypervisor {
177
183
  */
178
184
  private stopAllTenantServers;
179
185
  private tierSatisfied;
186
+ private higherTier;
180
187
  private startHealthCheckLoop;
181
188
  private stopHealthCheckLoop;
182
189
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"hypervisor.d.ts","sourceRoot":"","sources":["../src/hypervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hypervisor.d.ts","sourceRoot":"","sources":["../src/hypervisor.ts"],"names":[],"mappings":"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"}
@@ -288,11 +288,14 @@ export class MCPHypervisor {
288
288
  for (const [serverName, entry] of this.servers) {
289
289
  if (!entry.healthy)
290
290
  continue;
291
+ const serverTier = entry.config.requiredTier ?? 'free';
291
292
  for (const tool of entry.tools) {
293
+ const effectiveTier = this.higherTier(serverTier, tool.requiredTier ?? 'free');
292
294
  tools.push({
293
295
  namespacedName: `${MCP_TOOL_PREFIX}_${serverName}_${tool.name}`,
294
296
  serverName,
295
297
  tool,
298
+ requiredTier: effectiveTier === 'free' ? undefined : effectiveTier,
296
299
  });
297
300
  }
298
301
  }
@@ -306,10 +309,37 @@ export class MCPHypervisor {
306
309
  * @param args - Arguments to pass to the tool
307
310
  */
308
311
  async callTool(serverName, toolName, args) {
309
- return this.sendRequest(serverName, 'tools/call', {
310
- name: toolName,
311
- 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,
312
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
+ }
313
343
  }
314
344
  /**
315
345
  * Return the health status of all registered servers.
@@ -451,11 +481,19 @@ export class MCPHypervisor {
451
481
  * Call a tool on a tenant-scoped server instance.
452
482
  */
453
483
  async callToolForTenant(serverName, tenantId, toolName, args) {
484
+ const startTime = Date.now();
454
485
  const tenantKey = `${tenantId}:${serverName}`;
455
486
  const entry = this.tenantServers.get(tenantKey);
456
487
  if (!entry?.process || entry.process.exitCode !== null) {
457
488
  throw new Error(`[MCPHypervisor] No running server for tenant "${tenantKey}"`);
458
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
+ });
459
497
  const id = ++this.requestCounter;
460
498
  const request = {
461
499
  jsonrpc: '2.0',
@@ -463,17 +501,41 @@ export class MCPHypervisor {
463
501
  method: 'tools/call',
464
502
  params: { name: toolName, arguments: args },
465
503
  };
466
- return new Promise((resolve, reject) => {
467
- const timer = setTimeout(() => {
468
- this.pendingRequests.delete(id);
469
- reject(new Error(`Request timed out after ${REQUEST_TIMEOUT_MS}ms`));
470
- }, REQUEST_TIMEOUT_MS);
471
- this.pendingRequests.set(id, { resolve, reject, timer });
472
- entry.process?.stdin?.write(`${JSON.stringify(request)}\n`);
473
- });
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
+ }
474
534
  }
475
535
  /**
476
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.
477
539
  */
478
540
  getToolsForTenant(ctx) {
479
541
  const tools = [];
@@ -481,14 +543,19 @@ export class MCPHypervisor {
481
543
  for (const [serverName, entry] of this.servers) {
482
544
  if (!entry.healthy)
483
545
  continue;
484
- const requiredTier = entry.config.requiredTier ?? 'free';
485
- if (!this.tierSatisfied(ctx.tier, requiredTier))
546
+ const serverTier = entry.config.requiredTier ?? 'free';
547
+ if (!this.tierSatisfied(ctx.tier, serverTier))
486
548
  continue;
487
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;
488
554
  tools.push({
489
555
  namespacedName: `${MCP_TOOL_PREFIX}_${serverName}_${tool.name}`,
490
556
  serverName,
491
557
  tool,
558
+ requiredTier: effectiveTier === 'free' ? undefined : effectiveTier,
492
559
  });
493
560
  }
494
561
  }
@@ -500,10 +567,14 @@ export class MCPHypervisor {
500
567
  continue;
501
568
  const serverName = tenantKey.split(':')[1] ?? tenantKey;
502
569
  for (const tool of entry.tools) {
570
+ const toolTier = tool.requiredTier ?? 'free';
571
+ if (!this.tierSatisfied(ctx.tier, toolTier))
572
+ continue;
503
573
  tools.push({
504
574
  namespacedName: `${MCP_TOOL_PREFIX}_${serverName}_${tool.name}`,
505
575
  serverName,
506
576
  tool,
577
+ requiredTier: toolTier === 'free' ? undefined : toolTier,
507
578
  });
508
579
  }
509
580
  }
@@ -527,6 +598,10 @@ export class MCPHypervisor {
527
598
  const order = { free: 0, pro: 1, max: 2, enterprise: 3 };
528
599
  return order[actual] >= order[required];
529
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
+ }
530
605
  // ---------------------------------------------------------------------------
531
606
  // Health check loop
532
607
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"hypervisor.js","sourceRoot":"","sources":["../src/hypervisor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAiF7D,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAC,QAAQ,GAAyB,IAAI,CAAC;IAE7C,OAAO,GAA6B,IAAI,GAAG,EAAE,CAAC;IACtD,wEAAwE;IAChE,aAAa,GAA6B,IAAI,GAAG,EAAE,CAAC;IACpD,kBAAkB,GAAiC,IAAI,CAAC;IACxD,cAAc,GAAG,CAAC,CAAC;IACnB,eAAe,GAGnB,IAAI,GAAG,EAAE,CAAC;IACN,gBAAgB,GAA0B,IAAI,CAAC;IAEvD;QACE,sBAAsB,CACpB,gBAAgB,EAChB,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAC1B,+BAA+B,EAC/B,EAAE,CACH,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAE9E;;OAEG;IACH,cAAc,CAAC,MAAuB;QACpC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;YAC5B,MAAM;YACN,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,sCAAsC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,KAAK,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,sBAAsB,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;YAC/C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE;SACvC,CAAC,CAAC;QAEH,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QAEjB,uDAAuD;QACvD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,iCAAiC;YAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;oBACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,uCAAuC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,sBAAsB,IAAI,EAAE,CAAC,CAAC;YACzE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YACtB,8CAA8C;YAC9C,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACjD,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC;gBACrD,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iDAAiD;QACjD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,cAAc,KAAK,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,wCAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;YACF,0EAA0E;YAC1E,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,OAAO;YAAE,OAAO;QAE5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,oBAAoB,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,yBAAyB;IACzB,8EAA8E;IAE9E;;OAEG;IACK,WAAW,CAAC,IAAY,EAAE,MAAc,EAAE,MAAgB;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;QACjC,MAAM,OAAO,GAAmB;YAC9B,OAAO,EAAE,KAAK;YACd,EAAE;YACF,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;SACxC,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,MAAM,oBAAoB,kBAAkB,IAAI,CAAC,CAAC,CAAC;YACjF,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEzD,IAAI,CAAC;gBACH,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,GAAoB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,gBAAgB;IAChB,8EAA8E;IAE9E;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,yBAAyB;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;YAChD,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,iBAAiB;IACjB,8EAA8E;IAE9E;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAI,MAAgC,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7D,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,MAAM,KAAK,GAAqB,EAAE,CAAC;QAEnC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,SAAS;YAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,cAAc,EAAE,GAAG,eAAe,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE;oBAC/D,UAAU;oBACV,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,QAAgB,EAAE,IAAa;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE;YAChD,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,MAAM,GAAgF,EAAE,CAAC;QAC/F,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;gBAC7B,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI;aAChC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAE9E;;;OAGG;IACH,qBAAqB,CAAC,QAA+B;QACnD,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IACrC,CAAC;IAED,8EAA8E;IAC9E,2BAA2B;IAC3B,8EAA8E;IAE9E;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,GAAqB;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,UAAU,GAAG,CAAC,CAAC;QAEnF,cAAc;QACd,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,oBAAoB,YAAY,kBAAkB,GAAG,CAAC,IAAI,GAAG,CACnG,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAC;QAElD,mCAAmC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,IAAI,SAAS,GAA2B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjF,IAAI,QAAQ;gBAAE,SAAS,GAAG,QAAQ,CAAC;QACrC,CAAC;QAED,2DAA2D;QAC3D,MAAM,MAAM,GAAoB;YAC9B,GAAG,SAAS,CAAC,MAAM;YACnB,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;SAC/C,CAAC;QAEF,MAAM,KAAK,GAAgB;YACzB,MAAM;YACN,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,gBAAgB;QAChB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;YAC/C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE;SACvC,CAAC,CAAC;QAEH,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEzC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;oBACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,kBAAkB;gBACpB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,kCAAkC,SAAS,sBAAsB,IAAI,EAAE,CAAC,CAAC;YACrF,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,8BAA8B;YAC9B,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;YACjC,MAAM,OAAO,GAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAE7E,MAAM,WAAW,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAChD,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzD,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,KAAK,GAAI,WAAqC,EAAE,KAAK,IAAI,EAAE,CAAC;YAClE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,IAAI,CACT,kCAAkC,SAAS,cAAc,KAAK,CAAC,KAAK,CAAC,MAAM,SAAS,CACrF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,UAAkB,EAAE,QAAgB;QAC5D,MAAM,SAAS,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,OAAO;YAAE,OAAO;QAE5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI;YAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,IAAa;QAEb,MAAM,SAAS,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,iDAAiD,SAAS,GAAG,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;QACjC,MAAM,OAAO,GAAmB;YAC9B,OAAO,EAAE,KAAK;YACd,EAAE;YACF,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;SAC5C,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,kBAAkB,IAAI,CAAC,CAAC,CAAC;YACvE,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,GAAqB;QACrC,MAAM,KAAK,GAAqB,EAAE,CAAC;QAEnC,+CAA+C;QAC/C,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,SAAS;YAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC;gBAAE,SAAS;YAE1D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,cAAc,EAAE,GAAG,eAAe,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE;oBAC/D,UAAU;oBACV,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC;gBAAE,SAAS;YACxD,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,SAAS;YAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YAExD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,cAAc,EAAE,GAAG,eAAe,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE;oBAC/D,UAAU;oBACV,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB;QAChC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI;oBAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,MAA6C,EAC7C,QAA+C;QAE/C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IACpB,8EAA8E;IAEtE,oBAAoB;QAC1B,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAC7C,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBAAC,MAAM,CAAC;oBACP,oCAAoC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAE7B,6BAA6B;QAC7B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC;IAClC,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IACpB,8EAA8E;IAE9E;;;OAGG;IACH,MAAM,CAAC,cAAc;QACnB,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC3B,aAAa,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YAC7C,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"hypervisor.js","sourceRoot":"","sources":["../src/hypervisor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,8 +22,19 @@
22
22
  */
23
23
  export declare function checkMcpLicense(): Promise<boolean>;
24
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';
25
26
  export { getMcpConfig, type McpConfig as McpEnvConfig, type McpMetricsMode, } from './config/index.js';
26
- export { agentDefinitionToAgentCard, agentDefinitionToMcpTools, contractsToolDefinitionToMcpTool, type MCPAdapterConfig, MCPAdapterConfigSchema, type MCPRequest, type MCPRequestOptions, MCPRequestOptionsSchema, MCPRequestSchema, type MCPResponse, type MCPResponseMetadata, MCPResponseMetadataSchema, MCPResponseSchema, mcpToolToContractsToolDefinition, } from './contracts.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';
27
28
  export { type MCPCredentialResolver, MCPHypervisor, type MCPServerConfig, type MCPTenantContext, type MCPTool, type NamespacedTool, } from './hypervisor.js';
28
- export { createMCPAdapter, disposeAllAdapters, generateIdempotencyKey, generateUniqueIdempotencyKey, MCPAdapter, type MCPConfig, NeonAdapter, StripeAdapter, VercelAdapter, } from './servers/adapter.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';
29
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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,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,GACjC,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,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAC5B,UAAU,EACV,KAAK,SAAS,EACd,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,sBAAsB,CAAC"}
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
@@ -34,12 +34,29 @@ export async function checkMcpLicense() {
34
34
  }
35
35
  // Database adapter
36
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';
37
39
  // Configuration
38
40
  export { getMcpConfig, } from './config/index.js';
39
41
  // Contracts (Zod schemas + tool bridging)
40
- 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';
41
43
  // Hypervisor: process management + dynamic tool discovery
42
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';
43
49
  // Adapter framework
44
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';
45
62
  //# sourceMappingURL=index.js.map