@diegoaltoworks/chatter 0.1.8 → 0.8.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.
Files changed (57) hide show
  1. package/README.md +164 -106
  2. package/dist/auth/apikeys.test.d.ts +2 -0
  3. package/dist/auth/apikeys.test.d.ts.map +1 -0
  4. package/dist/core/guardrails.test.d.ts +2 -0
  5. package/dist/core/guardrails.test.d.ts.map +1 -0
  6. package/dist/core/llm.d.ts +1 -0
  7. package/dist/core/llm.d.ts.map +1 -1
  8. package/dist/core/loaders.test.d.ts +2 -0
  9. package/dist/core/loaders.test.d.ts.map +1 -0
  10. package/dist/core/prompts.test.d.ts +2 -0
  11. package/dist/core/prompts.test.d.ts.map +1 -0
  12. package/dist/core/session.test.d.ts +2 -0
  13. package/dist/core/session.test.d.ts.map +1 -0
  14. package/dist/core/widgets.test.d.ts +2 -0
  15. package/dist/core/widgets.test.d.ts.map +1 -0
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +22638 -1395
  19. package/dist/index.mjs +22619 -1373
  20. package/dist/mcp-server/conversation-id.d.ts +27 -0
  21. package/dist/mcp-server/conversation-id.d.ts.map +1 -0
  22. package/dist/mcp-server/conversation-id.test.d.ts +2 -0
  23. package/dist/mcp-server/conversation-id.test.d.ts.map +1 -0
  24. package/dist/mcp-server/cost-tracker.d.ts +36 -0
  25. package/dist/mcp-server/cost-tracker.d.ts.map +1 -0
  26. package/dist/mcp-server/cost-tracker.test.d.ts +2 -0
  27. package/dist/mcp-server/cost-tracker.test.d.ts.map +1 -0
  28. package/dist/mcp-server/index.d.ts +12 -0
  29. package/dist/mcp-server/index.d.ts.map +1 -0
  30. package/dist/mcp-server/logger.d.ts +25 -0
  31. package/dist/mcp-server/logger.d.ts.map +1 -0
  32. package/dist/mcp-server/logger.test.d.ts +2 -0
  33. package/dist/mcp-server/logger.test.d.ts.map +1 -0
  34. package/dist/mcp-server/rate-limiter.d.ts +59 -0
  35. package/dist/mcp-server/rate-limiter.d.ts.map +1 -0
  36. package/dist/mcp-server/rate-limiter.test.d.ts +2 -0
  37. package/dist/mcp-server/rate-limiter.test.d.ts.map +1 -0
  38. package/dist/mcp-server/types.d.ts +82 -0
  39. package/dist/mcp-server/types.d.ts.map +1 -0
  40. package/dist/mcp-server.d.ts +36 -0
  41. package/dist/mcp-server.d.ts.map +1 -0
  42. package/dist/mcp-server.js +671 -0
  43. package/dist/mcp-server.mjs +636 -0
  44. package/dist/middleware/auth.test.d.ts +2 -0
  45. package/dist/middleware/auth.test.d.ts.map +1 -0
  46. package/dist/middleware/cors.test.d.ts +2 -0
  47. package/dist/middleware/cors.test.d.ts.map +1 -0
  48. package/dist/middleware/jwt.test.d.ts +2 -0
  49. package/dist/middleware/jwt.test.d.ts.map +1 -0
  50. package/dist/middleware/ratelimit.test.d.ts +2 -0
  51. package/dist/middleware/ratelimit.test.d.ts.map +1 -0
  52. package/dist/middleware/referrer.d.ts.map +1 -1
  53. package/dist/middleware/referrer.test.d.ts +2 -0
  54. package/dist/middleware/referrer.test.d.ts.map +1 -0
  55. package/dist/middleware/session.test.d.ts +2 -0
  56. package/dist/middleware/session.test.d.ts.map +1 -0
  57. package/package.json +26 -10
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Conversation ID Generation
3
+ */
4
+ /**
5
+ * Generate a unique conversation ID
6
+ *
7
+ * Format: conv_{timestamp}_{random}
8
+ * Example: conv_1710421200000_abc123xyz
9
+ *
10
+ * @returns Unique conversation ID string
11
+ */
12
+ export declare function generateConversationId(): string;
13
+ /**
14
+ * Get or generate conversation ID
15
+ *
16
+ * @param providedId - Optional conversation ID provided by client
17
+ * @returns The provided ID or a newly generated one
18
+ */
19
+ export declare function getOrGenerateConversationId(providedId: string | undefined): string;
20
+ /**
21
+ * Validate conversation ID format
22
+ *
23
+ * @param id - Conversation ID to validate
24
+ * @returns true if valid format, false otherwise
25
+ */
26
+ export declare function isValidConversationId(id: string): boolean;
27
+ //# sourceMappingURL=conversation-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-id.d.ts","sourceRoot":"","sources":["../../src/mcp-server/conversation-id.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAI/C;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAGzD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=conversation-id.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-id.test.d.ts","sourceRoot":"","sources":["../../src/mcp-server/conversation-id.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Cost Tracking for OpenAI API Usage
3
+ */
4
+ import type { CostInfo } from "./types";
5
+ /**
6
+ * Calculate cost based on token usage
7
+ * GPT-4o pricing as of 2024: $2.50 per 1M input tokens, $10.00 per 1M output tokens
8
+ *
9
+ * @param usage - Token usage from OpenAI API response
10
+ * @returns Cost information including token counts and estimated USD cost
11
+ */
12
+ export declare function calculateCost(usage: {
13
+ prompt_tokens: number;
14
+ completion_tokens: number;
15
+ }): CostInfo;
16
+ /**
17
+ * Format cost as a human-readable string
18
+ *
19
+ * @param cost - Cost information
20
+ * @returns Formatted cost string (e.g., "$0.003670")
21
+ */
22
+ export declare function formatCost(cost: CostInfo): string;
23
+ /**
24
+ * Get cost summary for logging
25
+ *
26
+ * @param cost - Cost information
27
+ * @returns Object with formatted cost data
28
+ */
29
+ export declare function getCostSummary(cost: CostInfo): {
30
+ promptTokens: number;
31
+ completionTokens: number;
32
+ totalTokens: number;
33
+ estimatedCostUSD: number;
34
+ formatted: string;
35
+ };
36
+ //# sourceMappingURL=cost-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/mcp-server/cost-tracker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GAAG,QAAQ,CAgBX;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ;;;;;;EAQ5C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cost-tracker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-tracker.test.d.ts","sourceRoot":"","sources":["../../src/mcp-server/cost-tracker.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MCP Server Modules
3
+ *
4
+ * Modular implementation of the Model Context Protocol server
5
+ */
6
+ export * from "./types";
7
+ export * from "./cost-tracker";
8
+ export * from "./rate-limiter";
9
+ export * from "./conversation-id";
10
+ export * from "./logger";
11
+ export { createMCPServer } from "../mcp-server";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-server/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Logging for MCP Server
3
+ */
4
+ import type { ChatMessage, CostInfo, MCPLogCallback } from "./types";
5
+ /**
6
+ * Logger for MCP chat interactions
7
+ */
8
+ export declare class MCPLogger {
9
+ private enableConsole;
10
+ private callback?;
11
+ constructor(enableConsole?: boolean, callback?: MCPLogCallback);
12
+ /**
13
+ * Log a chat interaction
14
+ */
15
+ logChatInteraction(toolName: string, conversationId: string, conversationMessages: ChatMessage[], ragContext: string[], response: string, duration: number, cost: CostInfo): Promise<void>;
16
+ }
17
+ /**
18
+ * Create a logger instance
19
+ *
20
+ * @param enableConsole - Enable console logging
21
+ * @param callback - Custom logging callback
22
+ * @returns MCPLogger instance
23
+ */
24
+ export declare function createLogger(enableConsole?: boolean, callback?: MCPLogCallback): MCPLogger;
25
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/mcp-server/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAErE;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAiB;gBAEtB,aAAa,UAAO,EAAE,QAAQ,CAAC,EAAE,cAAc;IAK3D;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,WAAW,EAAE,EACnC,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC;CAkCjB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,aAAa,UAAO,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAEvF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logger.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.test.d.ts","sourceRoot":"","sources":["../../src/mcp-server/logger.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Rate Limiting for MCP Tools
3
+ * Simple in-memory sliding window implementation
4
+ */
5
+ /**
6
+ * Rate limiter using sliding window algorithm
7
+ */
8
+ export declare class RateLimiter {
9
+ private requestMap;
10
+ private readonly limit;
11
+ private readonly windowMs;
12
+ /**
13
+ * Create a new rate limiter
14
+ *
15
+ * @param limit - Maximum requests allowed in the time window
16
+ * @param windowMs - Time window in milliseconds (default: 60000 = 1 minute)
17
+ */
18
+ constructor(limit: number, windowMs?: number);
19
+ /**
20
+ * Check if a request should be allowed
21
+ *
22
+ * @param key - Unique identifier for the rate limit (e.g., tool name)
23
+ * @returns true if request is allowed, false if rate limit exceeded
24
+ */
25
+ check(key: string): boolean;
26
+ /**
27
+ * Get current request count for a key
28
+ *
29
+ * @param key - Unique identifier
30
+ * @returns Current number of requests in the window
31
+ */
32
+ getCount(key: string): number;
33
+ /**
34
+ * Reset rate limit for a specific key
35
+ *
36
+ * @param key - Unique identifier to reset
37
+ */
38
+ reset(key: string): void;
39
+ /**
40
+ * Reset all rate limits
41
+ */
42
+ resetAll(): void;
43
+ /**
44
+ * Get time until rate limit resets (in ms)
45
+ *
46
+ * @param key - Unique identifier
47
+ * @returns Milliseconds until the oldest request falls out of the window
48
+ */
49
+ getTimeUntilReset(key: string): number;
50
+ }
51
+ /**
52
+ * Create a rate limiter if limit is specified
53
+ *
54
+ * @param limit - Maximum requests per window, or undefined for no limit
55
+ * @param windowMs - Time window in milliseconds
56
+ * @returns RateLimiter instance or null if no limit specified
57
+ */
58
+ export declare function createRateLimiter(limit: number | undefined, windowMs?: number): RateLimiter | null;
59
+ //# sourceMappingURL=rate-limiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/mcp-server/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC;;;;;OAKG;gBACS,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAQ;IAM3C;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAsB3B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAO7B;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAUvC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAQ,GAAG,WAAW,GAAG,IAAI,CAEjG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rate-limiter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.test.d.ts","sourceRoot":"","sources":["../../src/mcp-server/rate-limiter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * MCP Server Type Definitions
3
+ */
4
+ import type { ChatterConfig } from "../types";
5
+ /**
6
+ * MCP Server transport options
7
+ */
8
+ export type MCPTransportMode = "stdio";
9
+ /**
10
+ * Cost information for API usage
11
+ */
12
+ export interface CostInfo {
13
+ promptTokens: number;
14
+ completionTokens: number;
15
+ totalTokens: number;
16
+ estimatedCost: number;
17
+ }
18
+ /**
19
+ * Logging callback for observability
20
+ */
21
+ export type MCPLogCallback = (event: {
22
+ timestamp: string;
23
+ toolName: string;
24
+ conversationId: string;
25
+ userMessage: string;
26
+ conversationHistory: Array<{
27
+ role: "user" | "assistant";
28
+ content: string;
29
+ }>;
30
+ ragContext: string[];
31
+ response: string;
32
+ duration: number;
33
+ cost: CostInfo;
34
+ }) => void | Promise<void>;
35
+ /**
36
+ * Configuration for individual MCP tools
37
+ */
38
+ export interface MCPToolConfig {
39
+ /** Enable this tool. Default: true */
40
+ enabled?: boolean;
41
+ /** Tool name override. Defaults to chat_public/chat_private */
42
+ name?: string;
43
+ /** Tool description override */
44
+ description?: string;
45
+ }
46
+ export interface MCPServerOptions extends ChatterConfig {
47
+ /** Transport mode. Default: stdio */
48
+ transport?: MCPTransportMode;
49
+ /** Configuration for MCP tools */
50
+ tools?: {
51
+ /** Public chat tool configuration */
52
+ public?: MCPToolConfig;
53
+ /** Private chat tool configuration */
54
+ private?: MCPToolConfig;
55
+ };
56
+ /** Logging and observability */
57
+ logging?: {
58
+ /** Enable console logging. Default: true */
59
+ console?: boolean;
60
+ /** Custom logging callback for external monitoring */
61
+ onChat?: MCPLogCallback;
62
+ };
63
+ /** Rate limiting per tool (requests per minute). Default: no limit */
64
+ toolRateLimit?: number;
65
+ }
66
+ /**
67
+ * Chat message structure
68
+ */
69
+ export interface ChatMessage {
70
+ role: "user" | "assistant";
71
+ content: string;
72
+ }
73
+ /**
74
+ * Tool execution context
75
+ */
76
+ export interface ToolContext {
77
+ conversationId: string;
78
+ conversationMessages: ChatMessage[];
79
+ ragContext: string[];
80
+ startTime: number;
81
+ }
82
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp-server/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,qCAAqC;IACrC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B,kCAAkC;IAClC,KAAK,CAAC,EAAE;QACN,qCAAqC;QACrC,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,sCAAsC;QACtC,OAAO,CAAC,EAAE,aAAa,CAAC;KACzB,CAAC;IAEF,gCAAgC;IAChC,OAAO,CAAC,EAAE;QACR,4CAA4C;QAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,sDAAsD;QACtD,MAAM,CAAC,EAAE,cAAc,CAAC;KACzB,CAAC;IAEF,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,WAAW,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Chatter MCP Server
3
+ *
4
+ * Model Context Protocol server implementation that exposes Chatter's
5
+ * AI chat capabilities as MCP tools for use with Claude Desktop,
6
+ * VS Code extensions, and other MCP-compatible clients.
7
+ */
8
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
9
+ export type { ChatMessage, CostInfo, MCPLogCallback, MCPServerOptions, MCPToolConfig, MCPTransportMode, } from "./mcp-server/types";
10
+ import type { MCPServerOptions } from "./mcp-server/types";
11
+ /**
12
+ * Create and configure an MCP server instance
13
+ *
14
+ * @param config - Chatter configuration with optional MCP transport settings
15
+ * @returns Configured MCP server ready to connect
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { createMCPServer } from '@diegoaltoworks/chatter/mcp';
20
+ *
21
+ * const server = await createMCPServer({
22
+ * bot: { name: 'MyBot', personName: 'Your Name' },
23
+ * openai: { apiKey: process.env.OPENAI_API_KEY },
24
+ * database: { url: process.env.TURSO_URL, authToken: process.env.TURSO_AUTH_TOKEN },
25
+ * knowledgeDir: './knowledge',
26
+ * promptsDir: './prompts',
27
+ * transport: 'stdio' // Default
28
+ * });
29
+ *
30
+ * // Connect with STDIO transport
31
+ * const transport = new StdioServerTransport();
32
+ * await server.connect(transport);
33
+ * ```
34
+ */
35
+ export declare function createMCPServer(config: MCPServerOptions): Promise<McpServer>;
36
+ //# sourceMappingURL=mcp-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,YAAY,EACV,WAAW,EACX,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,gBAAgB,sBAiT7D"}