@orchestrator-claude/mcp-server 3.3.1 → 3.3.3

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.
@@ -0,0 +1,19 @@
1
+ /**
2
+ * PerplexityMcpServer
3
+ *
4
+ * Standalone MCP server for Perplexity AI research tools.
5
+ * Calls the Perplexity API directly (not via Orchestrator REST API).
6
+ *
7
+ * Usage: npx @orchestrator-claude/mcp-server --server perplexity
8
+ * Requires: PERPLEXITY_API_KEY environment variable
9
+ */
10
+ export declare class PerplexityMcpServer {
11
+ private server;
12
+ private client;
13
+ constructor();
14
+ private initializeClient;
15
+ private registerTools;
16
+ start(): Promise<void>;
17
+ close(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=PerplexityMcpServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerplexityMcpServer.d.ts","sourceRoot":"","sources":["../src/PerplexityMcpServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqBH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,MAAM,CAAiC;;IAmB/C,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,aAAa;IA6Kf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * PerplexityMcpServer
3
+ *
4
+ * Standalone MCP server for Perplexity AI research tools.
5
+ * Calls the Perplexity API directly (not via Orchestrator REST API).
6
+ *
7
+ * Usage: npx @orchestrator-claude/mcp-server --server perplexity
8
+ * Requires: PERPLEXITY_API_KEY environment variable
9
+ */
10
+ import { z } from 'zod';
11
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
12
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
13
+ import { PerplexityClient } from './external/PerplexityClient.js';
14
+ import { PerplexityConfig } from './external/PerplexityConfig.js';
15
+ function formatError(error) {
16
+ return {
17
+ content: [{ type: 'text', text: JSON.stringify({ error: true, ...error }, null, 2) }],
18
+ isError: true,
19
+ };
20
+ }
21
+ function formatResult(data) {
22
+ return {
23
+ content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
24
+ };
25
+ }
26
+ export class PerplexityMcpServer {
27
+ server;
28
+ client = null;
29
+ constructor() {
30
+ this.server = new McpServer({
31
+ name: 'perplexity',
32
+ version: '1.0.0',
33
+ }, {
34
+ capabilities: {
35
+ tools: {},
36
+ },
37
+ });
38
+ this.initializeClient();
39
+ this.registerTools();
40
+ }
41
+ initializeClient() {
42
+ const configResult = PerplexityConfig.fromEnv();
43
+ if (configResult.isOk()) {
44
+ this.client = PerplexityClient.create(configResult.unwrap());
45
+ console.error('[perplexity] Client initialized with API key.');
46
+ }
47
+ else {
48
+ console.error('[perplexity] Warning: PERPLEXITY_API_KEY not set. Server will use mock responses.');
49
+ }
50
+ }
51
+ registerTools() {
52
+ // search
53
+ this.server.registerTool('search', {
54
+ description: 'Search for information using Perplexity AI',
55
+ inputSchema: z.object({
56
+ query: z.string().describe('The search query'),
57
+ maxResults: z.number().optional().describe('Maximum number of results to return (default: 5)'),
58
+ recency: z
59
+ .enum(['day', 'week', 'month', 'year'])
60
+ .optional()
61
+ .describe('Filter results by recency'),
62
+ }),
63
+ }, async (input) => {
64
+ if (this.client) {
65
+ const options = {};
66
+ if (input.maxResults !== undefined)
67
+ options.maxResults = input.maxResults;
68
+ if (input.recency !== undefined)
69
+ options.recency = input.recency;
70
+ const result = await this.client.search(input.query, options);
71
+ if (result.isOk()) {
72
+ return formatResult(result.unwrap());
73
+ }
74
+ return formatError(result.unwrapErr());
75
+ }
76
+ return formatResult({
77
+ query: input.query,
78
+ results: [
79
+ {
80
+ title: `Result for: ${input.query}`,
81
+ snippet: `This is a mock search result for "${input.query}"`,
82
+ url: `https://example.com/search?q=${encodeURIComponent(input.query)}`,
83
+ relevance: 0.95,
84
+ },
85
+ ],
86
+ totalResults: 1,
87
+ searchTime: 0.5,
88
+ });
89
+ });
90
+ // getTopicContent
91
+ this.server.registerTool('getTopicContent', {
92
+ description: 'Get detailed content about a specific topic',
93
+ inputSchema: z.object({
94
+ topic: z.string().describe('The topic to get content about'),
95
+ depth: z
96
+ .enum(['brief', 'detailed'])
97
+ .optional()
98
+ .describe('Level of detail (default: brief)'),
99
+ }),
100
+ }, async (input) => {
101
+ if (this.client) {
102
+ const result = await this.client.getTopicContent(input.topic);
103
+ if (result.isOk()) {
104
+ return formatResult(result.unwrap());
105
+ }
106
+ return formatError(result.unwrapErr());
107
+ }
108
+ const isBrief = input.depth !== 'detailed';
109
+ return formatResult({
110
+ topic: input.topic,
111
+ content: isBrief
112
+ ? `Brief overview of ${input.topic}`
113
+ : `Detailed analysis of ${input.topic}. This includes comprehensive information about the subject matter, covering key aspects, history, and current developments.`,
114
+ sources: [
115
+ {
116
+ title: `${input.topic} - Wikipedia`,
117
+ url: `https://en.wikipedia.org/wiki/${encodeURIComponent(input.topic)}`,
118
+ },
119
+ ],
120
+ lastUpdated: new Date().toISOString(),
121
+ });
122
+ });
123
+ // isAvailable
124
+ this.server.registerTool('isAvailable', {
125
+ description: 'Check if the Perplexity API is available',
126
+ inputSchema: z.object({}),
127
+ }, async () => {
128
+ if (this.client) {
129
+ const available = await this.client.isAvailable();
130
+ return formatResult({
131
+ available,
132
+ timestamp: new Date().toISOString(),
133
+ });
134
+ }
135
+ return formatResult({
136
+ available: false,
137
+ reason: 'No Perplexity client configured',
138
+ timestamp: new Date().toISOString(),
139
+ });
140
+ });
141
+ // summarize
142
+ this.server.registerTool('summarize', {
143
+ description: 'Get a summarized overview of a topic with key facts',
144
+ inputSchema: z.object({
145
+ topic: z.string().describe('The topic to summarize'),
146
+ includeRecent: z
147
+ .boolean()
148
+ .optional()
149
+ .describe('Include recent news and developments (default: false)'),
150
+ }),
151
+ }, async (input) => {
152
+ if (this.client) {
153
+ const contentResult = await this.client.getTopicContent(input.topic);
154
+ if (contentResult.isErr()) {
155
+ return formatError(contentResult.unwrapErr());
156
+ }
157
+ const content = contentResult.unwrap();
158
+ let recentInfo = null;
159
+ if (input.includeRecent) {
160
+ const searchResult = await this.client.search(`${input.topic} latest news`, {
161
+ recency: 'week',
162
+ maxResults: 3,
163
+ });
164
+ if (searchResult.isOk()) {
165
+ recentInfo = searchResult.unwrap();
166
+ }
167
+ }
168
+ return formatResult({
169
+ topic: input.topic,
170
+ summary: content.content,
171
+ sources: content.sources,
172
+ recentDevelopments: recentInfo?.results ?? [],
173
+ generatedAt: new Date().toISOString(),
174
+ });
175
+ }
176
+ return formatResult({
177
+ topic: input.topic,
178
+ summary: `Summary of ${input.topic}: This is a comprehensive overview covering the main aspects and key points.`,
179
+ sources: [
180
+ {
181
+ title: `${input.topic} Overview`,
182
+ url: `https://example.com/${encodeURIComponent(input.topic)}`,
183
+ },
184
+ ],
185
+ recentDevelopments: input.includeRecent
186
+ ? [
187
+ {
188
+ title: `Latest on ${input.topic}`,
189
+ snippet: 'Recent developments in this area...',
190
+ url: `https://news.example.com/${encodeURIComponent(input.topic)}`,
191
+ },
192
+ ]
193
+ : [],
194
+ generatedAt: new Date().toISOString(),
195
+ });
196
+ });
197
+ }
198
+ async start() {
199
+ const transport = new StdioServerTransport();
200
+ await this.server.connect(transport);
201
+ process.on('SIGINT', async () => {
202
+ await this.server.close();
203
+ process.exit(0);
204
+ });
205
+ }
206
+ async close() {
207
+ await this.server.close();
208
+ }
209
+ }
210
+ //# sourceMappingURL=PerplexityMcpServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerplexityMcpServer.js","sourceRoot":"","sources":["../src/PerplexityMcpServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrchestratorApiClient.js","sourceRoot":"","sources":["../../src/client/OrchestratorApiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrchestratorApiClient.js","sourceRoot":"","sources":["../../src/client/OrchestratorApiClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,OAAO,qBAAqB;IACxB,MAAM,CAAS;IACf,WAAW,CAAU;IACrB,YAAY,CAAU;IACtB,UAAU,GAAG,KAAK,CAAC;IAE3B,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,oBAAoB,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aACnC,CAAC;YACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SACjD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkD,CAAC;QACtF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,sBAAsB,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;aACjD,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAC;YAE/B,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkD,CAAC;YACtF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc;QACnE,6EAA6E;QAC7E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3E,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAE3C,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SACjD,CAAC,CAAC;QAEH,8CAA8C;QAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAClD,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC7C,CAAC;gBACD,oCAAoC;gBACpC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,SAAS,GAAyE,EAAE,CAAC;YACzF,IAAI,CAAC;gBACH,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyE,CAAC;YAC9G,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;YACD,MAAM,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;IACvC,CAAC;IAED,4BAA4B;IAE5B,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,MAAc;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,WAAoB;QACzD,oEAAoE;QACpE,MAAM,IAAI,GAA6B,EAAE,CAAC;QAC1C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,UAAU,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAmB;QACjC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,UAAU,SAAS,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,UAAU,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAmB;QAClC,MAAM,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,MAAc,EAAE,MAAe;QACrE,MAAM,IAAI,GAAQ,EAAE,MAAM,EAAE,CAAC;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,UAAU,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,WAAmB;QACtD,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,qBAAqB,UAAU,4BAA4B,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAC7F,CAAC;IACJ,CAAC;IAED,qCAAqC;IAErC,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,WAAmB;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,UAAU,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,WAAmB;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,UAAU,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,UAAU,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,kCAAkC;IAElC,KAAK,CAAC,aAAa,CAAC,UAAmB;QACrC,MAAM,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,MAAe;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,UAAU,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,MAAgB;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,UAAU,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,UAAU,yBAAyB,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,2BAA2B;IAE3B,KAAK,CAAC,UAAU,CAAC,UAAmB;QAClC,MAAM,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAmB,EAAE,KAAc;QACtD,MAAM,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,eAAe,KAAK,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,KAAa,EACb,UAAmB;QAEnB,MAAM,IAAI,GAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACvC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,YAAoB,EACpB,MAAc,EACd,OAAgB;QAEhB,MAAM,IAAI,GAAQ,EAAE,MAAM,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,YAAY,WAAW,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IAED,yBAAyB;IAEzB,KAAK,CAAC,QAAQ,CACZ,KAAc,EACd,IAAa,EACb,QAAiB,EACjB,IAAa,EACb,KAAc;QAEd,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,QAAQ;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACrD,CAAC;IAED,0BAA0B;IAE1B,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAa;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,IAAa;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,aAAa,CAAC,IAAa,EAAE,MAAe;QAChD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAa;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,IAAa;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,4BAA4B;IAE5B,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAa;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,IAAa;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,8BAA8B;IAE9B,KAAK,CAAC,YAAY,CAAC,QAAiB,EAAE,SAAkB;QACtD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,QAAQ;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,qBAAqB;IAErB,KAAK,CAAC,eAAe,CAAC,UAAmB;QACvC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,UAAU;YAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,6BAA6B;IAE7B,KAAK,CAAC,wBAAwB,CAAC,IAAa;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,8BAA8B,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAAU,EAAE,IAAa;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,gCAAgC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAAU;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,gCAAgC,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,kBAAkB;IAElB,KAAK,CAAC,eAAe,CAAC,IAAa;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,0BAA0B;IAE1B,KAAK,CAAC,qBAAqB,CAAC,IAAa;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAU,EAAE,IAAa;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAU;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,0BAA0B;IAE1B,KAAK,CAAC,qBAAqB,CAAC,IAAa;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAiB;QAC1C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,QAAQ;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAElD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,4BAA4B,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAU,EAAE,IAAa;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,6BAA6B,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAU;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,qBAAqB;IAErB,KAAK,CAAC,gBAAgB,CAAC,IAAa;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU,EAAE,IAAa;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,wBAAwB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,2BAA2B;IAE3B,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,KAAa,EACb,IAAiG;QAEjG,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,4BAA4B,kBAAkB,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,EACzF,IAAI,CACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,KAAa,EAAE,SAAkB;QAC1E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,4BAA4B,kBAAkB,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAClG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,KAAa;QAC1D,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,4BAA4B,kBAAkB,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,WAAW,CACnG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,KAAa,EAAE,SAAkB;QACxE,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,4BAA4B,kBAAkB,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE,CACzG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,KAAa,EACb,IAMC;QAED,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,4BAA4B,kBAAkB,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,EACzF,IAAI,CACL,CAAC;IACJ,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,iBAAiB,CAAC,IAEvB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAAkB,EAClB,gBAAyB,EACzB,KAAc;QAEd,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,gBAAgB;YAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC1E,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,wBAAwB,kBAAkB,CAAC,UAAU,CAAC,WAAW,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAkB,EAClB,KAAc,EACd,iBAA4B;QAE5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,iBAAiB,EAAE,CAAC;YACtB,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACnC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,wBAAwB,kBAAkB,CAAC,UAAU,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtG,CAAC;IACJ,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,iBAAiB,CACrB,KAAa,EACb,OAAiE;QAEjE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,KAAa,EACb,OAAoF;QAEpF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,YAAoB;QAC9C,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,6BAA6B,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAChE,CAAC;IACJ,CAAC;CACF"}
@@ -10,7 +10,9 @@ export declare class McpApiError extends Error {
10
10
  constructor(statusCode: number, message: string, type?: string | undefined);
11
11
  static fromHttpResponse(status: number, body: {
12
12
  detail?: string;
13
+ message?: string;
13
14
  type?: string;
15
+ error?: string;
14
16
  }): McpApiError;
15
17
  toMcpError(): {
16
18
  content: {
@@ -1 +1 @@
1
- {"version":3,"file":"McpApiError.d.ts","sourceRoot":"","sources":["../../src/errors/McpApiError.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAa,WAAY,SAAQ,KAAK;aAElB,UAAU,EAAE,MAAM;aAElB,IAAI,CAAC,EAAE,MAAM;gBAFb,UAAU,EAAE,MAAM,EAClC,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA;IAM/B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW;IAK9F,UAAU;;;;;;;CAMX"}
1
+ {"version":3,"file":"McpApiError.d.ts","sourceRoot":"","sources":["../../src/errors/McpApiError.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAa,WAAY,SAAQ,KAAK;aAElB,UAAU,EAAE,MAAM;aAElB,IAAI,CAAC,EAAE,MAAM;gBAFb,UAAU,EAAE,MAAM,EAClC,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA;IAM/B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW;IAKhI,UAAU;;;;;;;CAMX"}
@@ -14,7 +14,7 @@ export class McpApiError extends Error {
14
14
  this.name = 'McpApiError';
15
15
  }
16
16
  static fromHttpResponse(status, body) {
17
- const message = body.detail || `HTTP ${status} error`;
17
+ const message = body.detail || body.message || (body.error ? `${body.error}: HTTP ${status}` : `HTTP ${status} error`);
18
18
  return new McpApiError(status, message, body.type);
19
19
  }
20
20
  toMcpError() {
@@ -1 +1 @@
1
- {"version":3,"file":"McpApiError.js","sourceRoot":"","sources":["../../src/errors/McpApiError.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAElB;IAEA;IAHlB,YACkB,UAAkB,EAClC,OAAe,EACC,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,eAAU,GAAV,UAAU,CAAQ;QAElB,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,IAAwC;QAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,MAAM,QAAQ,CAAC;QACtD,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,UAAU;QACR,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACzF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"McpApiError.js","sourceRoot":"","sources":["../../src/errors/McpApiError.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAElB;IAEA;IAHlB,YACkB,UAAkB,EAClC,OAAe,EACC,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,eAAU,GAAV,UAAU,CAAQ;QAElB,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,IAA0E;QAChH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAM,QAAQ,CAAC,CAAC;QACvH,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,UAAU;QACR,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACzF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Perplexity API Client
3
+ *
4
+ * Self-contained client for the Perplexity AI API.
5
+ * Features: rate limiting, exponential backoff retry, request timeout.
6
+ */
7
+ import { type Result } from './Result.js';
8
+ import { PerplexityConfig } from './PerplexityConfig.js';
9
+ export interface PerplexitySearchOptions {
10
+ readonly maxResults?: number;
11
+ readonly recency?: 'day' | 'week' | 'month' | 'year';
12
+ readonly domains?: readonly string[];
13
+ readonly model?: string;
14
+ }
15
+ export interface PerplexitySearchResultItem {
16
+ readonly title: string;
17
+ readonly url: string;
18
+ readonly snippet: string;
19
+ readonly relevance: number;
20
+ }
21
+ export interface PerplexitySearchResult {
22
+ readonly query: string;
23
+ readonly results: readonly PerplexitySearchResultItem[];
24
+ readonly summary: string;
25
+ readonly model: string;
26
+ readonly timestamp: string;
27
+ }
28
+ export interface PerplexityContent {
29
+ readonly topic: string;
30
+ readonly content: string;
31
+ readonly sources: readonly string[];
32
+ readonly patterns: readonly string[];
33
+ readonly recommendations: readonly string[];
34
+ readonly timestamp: string;
35
+ }
36
+ export interface PerplexityError {
37
+ readonly code: string;
38
+ readonly message: string;
39
+ readonly details?: Record<string, unknown>;
40
+ readonly retryAfter?: number;
41
+ }
42
+ export declare class PerplexityClient {
43
+ private readonly config;
44
+ private requestTimestamps;
45
+ constructor(config: PerplexityConfig);
46
+ static create(config: PerplexityConfig): PerplexityClient;
47
+ search(query: string, options?: PerplexitySearchOptions): Promise<Result<PerplexitySearchResult, PerplexityError>>;
48
+ getTopicContent(topic: string): Promise<Result<PerplexityContent, PerplexityError>>;
49
+ isAvailable(): Promise<boolean>;
50
+ private makeRequest;
51
+ private canMakeRequest;
52
+ private recordRequest;
53
+ private getRetryAfterSeconds;
54
+ private sleep;
55
+ private extractResults;
56
+ private extractPatterns;
57
+ private extractRecommendations;
58
+ }
59
+ //# sourceMappingURL=PerplexityClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerplexityClient.d.ts","sourceRoot":"","sources":["../../src/external/PerplexityClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAmCD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,MAAM,EAAE,gBAAgB;IAIpC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB;IAInD,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;IA4DrD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAyDnF,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YAsBvB,WAAW;IA4EzB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,sBAAsB;CAU/B"}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Perplexity API Client
3
+ *
4
+ * Self-contained client for the Perplexity AI API.
5
+ * Features: rate limiting, exponential backoff retry, request timeout.
6
+ */
7
+ import { ok, err } from './Result.js';
8
+ // --- Client ---
9
+ export class PerplexityClient {
10
+ config;
11
+ requestTimestamps = [];
12
+ constructor(config) {
13
+ this.config = config;
14
+ }
15
+ static create(config) {
16
+ return new PerplexityClient(config);
17
+ }
18
+ async search(query, options) {
19
+ if (!query || query.trim() === '') {
20
+ return err({
21
+ code: 'INVALID_QUERY',
22
+ message: 'Search query cannot be empty',
23
+ });
24
+ }
25
+ if (!this.canMakeRequest()) {
26
+ const retryAfter = this.getRetryAfterSeconds();
27
+ return err({
28
+ code: 'RATE_LIMITED',
29
+ message: `Rate limit exceeded. Try again in ${retryAfter} seconds.`,
30
+ retryAfter,
31
+ });
32
+ }
33
+ const request = {
34
+ model: options?.model ?? this.config.model,
35
+ messages: [
36
+ {
37
+ role: 'system',
38
+ content: 'You are a research assistant. Provide factual, well-sourced information. Format your response with clear sections.',
39
+ },
40
+ {
41
+ role: 'user',
42
+ content: query,
43
+ },
44
+ ],
45
+ max_tokens: 1024,
46
+ temperature: 0.2,
47
+ };
48
+ if (options?.recency) {
49
+ request.search_recency_filter = options.recency;
50
+ }
51
+ if (options?.domains && options.domains.length > 0) {
52
+ request.search_domain_filter = [...options.domains];
53
+ }
54
+ const result = await this.makeRequest(request);
55
+ if (result.isErr()) {
56
+ return err(result.unwrapErr());
57
+ }
58
+ const response = result.unwrap();
59
+ const content = response.choices[0]?.message.content ?? '';
60
+ return ok({
61
+ query,
62
+ results: this.extractResults(content, response.citations ?? []),
63
+ summary: content,
64
+ model: response.model,
65
+ timestamp: new Date().toISOString(),
66
+ });
67
+ }
68
+ async getTopicContent(topic) {
69
+ if (!topic || topic.trim() === '') {
70
+ return err({
71
+ code: 'INVALID_QUERY',
72
+ message: 'Topic cannot be empty',
73
+ });
74
+ }
75
+ if (!this.canMakeRequest()) {
76
+ const retryAfter = this.getRetryAfterSeconds();
77
+ return err({
78
+ code: 'RATE_LIMITED',
79
+ message: `Rate limit exceeded. Try again in ${retryAfter} seconds.`,
80
+ retryAfter,
81
+ });
82
+ }
83
+ const request = {
84
+ model: this.config.model,
85
+ messages: [
86
+ {
87
+ role: 'system',
88
+ content: `You are a software engineering expert. Provide detailed technical content about the requested topic.
89
+ Structure your response with:
90
+ 1. Overview
91
+ 2. Key patterns and best practices
92
+ 3. Recommendations
93
+ 4. Code examples if applicable`,
94
+ },
95
+ {
96
+ role: 'user',
97
+ content: `Provide comprehensive information about: ${topic}`,
98
+ },
99
+ ],
100
+ max_tokens: 2048,
101
+ temperature: 0.3,
102
+ };
103
+ const result = await this.makeRequest(request);
104
+ if (result.isErr()) {
105
+ return err(result.unwrapErr());
106
+ }
107
+ const response = result.unwrap();
108
+ const content = response.choices[0]?.message.content ?? '';
109
+ return ok({
110
+ topic,
111
+ content,
112
+ sources: response.citations ?? [],
113
+ patterns: this.extractPatterns(content),
114
+ recommendations: this.extractRecommendations(content),
115
+ timestamp: new Date().toISOString(),
116
+ });
117
+ }
118
+ async isAvailable() {
119
+ try {
120
+ const response = await fetch(`${this.config.baseUrl}/chat/completions`, {
121
+ method: 'POST',
122
+ headers: {
123
+ Authorization: `Bearer ${this.config.apiKey}`,
124
+ 'Content-Type': 'application/json',
125
+ },
126
+ body: JSON.stringify({
127
+ model: this.config.model,
128
+ messages: [{ role: 'user', content: 'test' }],
129
+ max_tokens: 1,
130
+ }),
131
+ signal: AbortSignal.timeout(5000),
132
+ });
133
+ return response.status === 200 || response.status === 401;
134
+ }
135
+ catch {
136
+ return false;
137
+ }
138
+ }
139
+ async makeRequest(request) {
140
+ let lastError = null;
141
+ for (let attempt = 0; attempt < this.config.maxRetries; attempt++) {
142
+ if (attempt > 0) {
143
+ const delay = Math.pow(2, attempt) * 1000;
144
+ await this.sleep(delay);
145
+ }
146
+ try {
147
+ this.recordRequest();
148
+ const response = await fetch(`${this.config.baseUrl}/chat/completions`, {
149
+ method: 'POST',
150
+ headers: {
151
+ Authorization: `Bearer ${this.config.apiKey}`,
152
+ 'Content-Type': 'application/json',
153
+ },
154
+ body: JSON.stringify(request),
155
+ signal: AbortSignal.timeout(this.config.timeout),
156
+ });
157
+ if (response.ok) {
158
+ const data = (await response.json());
159
+ return ok(data);
160
+ }
161
+ if (response.status === 429) {
162
+ lastError = {
163
+ code: 'RATE_LIMITED',
164
+ message: 'API rate limit exceeded',
165
+ retryAfter: parseInt(response.headers.get('Retry-After') ?? '60', 10),
166
+ };
167
+ continue;
168
+ }
169
+ if (response.status >= 500) {
170
+ lastError = {
171
+ code: 'API_ERROR',
172
+ message: `Server error: ${response.status}`,
173
+ details: { status: response.status },
174
+ };
175
+ continue;
176
+ }
177
+ const errorBody = await response.text();
178
+ return err({
179
+ code: 'API_ERROR',
180
+ message: `API error: ${response.status}`,
181
+ details: { status: response.status, body: errorBody },
182
+ });
183
+ }
184
+ catch (error) {
185
+ if (error instanceof Error && error.name === 'TimeoutError') {
186
+ lastError = {
187
+ code: 'TIMEOUT',
188
+ message: `Request timed out after ${this.config.timeout}ms`,
189
+ };
190
+ continue;
191
+ }
192
+ lastError = {
193
+ code: 'NETWORK_ERROR',
194
+ message: error instanceof Error ? error.message : 'Network error',
195
+ };
196
+ continue;
197
+ }
198
+ }
199
+ return err(lastError ?? {
200
+ code: 'API_ERROR',
201
+ message: 'Request failed after max retries',
202
+ });
203
+ }
204
+ canMakeRequest() {
205
+ const now = Date.now();
206
+ const oneMinuteAgo = now - 60000;
207
+ this.requestTimestamps = this.requestTimestamps.filter((ts) => ts > oneMinuteAgo);
208
+ return this.requestTimestamps.length < this.config.rateLimitPerMinute;
209
+ }
210
+ recordRequest() {
211
+ this.requestTimestamps.push(Date.now());
212
+ }
213
+ getRetryAfterSeconds() {
214
+ if (this.requestTimestamps.length === 0)
215
+ return 0;
216
+ const oldestTimestamp = Math.min(...this.requestTimestamps);
217
+ const waitUntil = oldestTimestamp + 60000;
218
+ return Math.ceil((waitUntil - Date.now()) / 1000);
219
+ }
220
+ sleep(ms) {
221
+ return new Promise((resolve) => setTimeout(resolve, ms));
222
+ }
223
+ extractResults(content, citations) {
224
+ return citations.map((url, index) => ({
225
+ title: `Source ${index + 1}`,
226
+ url,
227
+ snippet: content.slice(0, 200),
228
+ relevance: 1 - index * 0.1,
229
+ }));
230
+ }
231
+ extractPatterns(content) {
232
+ const patterns = [];
233
+ const patternMatch = content.match(/pattern[s]?:?\s*([^\n]+)/gi);
234
+ if (patternMatch) {
235
+ patterns.push(...patternMatch.map((m) => m.replace(/pattern[s]?:?\s*/i, '').trim()));
236
+ }
237
+ return patterns;
238
+ }
239
+ extractRecommendations(content) {
240
+ const recommendations = [];
241
+ const recMatch = content.match(/recommend[ation]?[s]?:?\s*([^\n]+)/gi);
242
+ if (recMatch) {
243
+ recommendations.push(...recMatch.map((m) => m.replace(/recommend[ation]?[s]?:?\s*/i, '').trim()));
244
+ }
245
+ return recommendations;
246
+ }
247
+ }
248
+ //# sourceMappingURL=PerplexityClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerplexityClient.js","sourceRoot":"","sources":["../../src/external/PerplexityClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Perplexity API Configuration
3
+ *
4
+ * Self-contained configuration for the Perplexity AI client.
5
+ * Reads from environment variables with sensible defaults.
6
+ */
7
+ import { type Result } from './Result.js';
8
+ export interface PerplexityConfigOptions {
9
+ apiKey?: string;
10
+ baseUrl?: string;
11
+ timeout?: number;
12
+ maxRetries?: number;
13
+ rateLimitPerMinute?: number;
14
+ model?: string;
15
+ }
16
+ export interface PerplexityConfigError {
17
+ code: 'MISSING_API_KEY' | 'INVALID_CONFIG';
18
+ message: string;
19
+ }
20
+ export interface ValidatedPerplexityConfig {
21
+ readonly apiKey: string;
22
+ readonly baseUrl: string;
23
+ readonly timeout: number;
24
+ readonly maxRetries: number;
25
+ readonly rateLimitPerMinute: number;
26
+ readonly model: string;
27
+ }
28
+ export declare class PerplexityConfig {
29
+ private readonly config;
30
+ private constructor();
31
+ static create(options?: PerplexityConfigOptions): Result<PerplexityConfig, PerplexityConfigError>;
32
+ static fromEnv(): Result<PerplexityConfig, PerplexityConfigError>;
33
+ get apiKey(): string;
34
+ get baseUrl(): string;
35
+ get timeout(): number;
36
+ get maxRetries(): number;
37
+ get rateLimitPerMinute(): number;
38
+ get model(): string;
39
+ }
40
+ //# sourceMappingURL=PerplexityConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerplexityConfig.d.ts","sourceRoot":"","sources":["../../src/external/PerplexityConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAQD,qBAAa,gBAAgB;IACP,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA3C,OAAO;IAEP,MAAM,CAAC,MAAM,CACX,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IAuBlD,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IAIjE,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;CACF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Perplexity API Configuration
3
+ *
4
+ * Self-contained configuration for the Perplexity AI client.
5
+ * Reads from environment variables with sensible defaults.
6
+ */
7
+ import { ok, err } from './Result.js';
8
+ const DEFAULT_BASE_URL = 'https://api.perplexity.ai';
9
+ const DEFAULT_TIMEOUT = 30000;
10
+ const DEFAULT_MAX_RETRIES = 3;
11
+ const DEFAULT_RATE_LIMIT = 10;
12
+ const DEFAULT_MODEL = 'sonar';
13
+ export class PerplexityConfig {
14
+ config;
15
+ constructor(config) {
16
+ this.config = config;
17
+ }
18
+ static create(options = {}) {
19
+ const apiKey = options.apiKey ?? process.env.PERPLEXITY_API_KEY;
20
+ if (!apiKey || apiKey.trim() === '') {
21
+ return err({
22
+ code: 'MISSING_API_KEY',
23
+ message: 'Perplexity API key is required. Set PERPLEXITY_API_KEY env var or pass apiKey option.',
24
+ });
25
+ }
26
+ const config = {
27
+ apiKey: apiKey.trim(),
28
+ baseUrl: options.baseUrl ?? process.env.PERPLEXITY_BASE_URL ?? DEFAULT_BASE_URL,
29
+ timeout: options.timeout ?? DEFAULT_TIMEOUT,
30
+ maxRetries: options.maxRetries ?? DEFAULT_MAX_RETRIES,
31
+ rateLimitPerMinute: options.rateLimitPerMinute ?? DEFAULT_RATE_LIMIT,
32
+ model: options.model ?? process.env.PERPLEXITY_MODEL ?? DEFAULT_MODEL,
33
+ };
34
+ return ok(new PerplexityConfig(config));
35
+ }
36
+ static fromEnv() {
37
+ return PerplexityConfig.create({});
38
+ }
39
+ get apiKey() {
40
+ return this.config.apiKey;
41
+ }
42
+ get baseUrl() {
43
+ return this.config.baseUrl;
44
+ }
45
+ get timeout() {
46
+ return this.config.timeout;
47
+ }
48
+ get maxRetries() {
49
+ return this.config.maxRetries;
50
+ }
51
+ get rateLimitPerMinute() {
52
+ return this.config.rateLimitPerMinute;
53
+ }
54
+ get model() {
55
+ return this.config.model;
56
+ }
57
+ }
58
+ //# sourceMappingURL=PerplexityConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerplexityConfig.js","sourceRoot":"","sources":["../../src/external/PerplexityConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAe,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAyBnD,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AACrD,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B,MAAM,OAAO,gBAAgB;IACU;IAArC,YAAqC,MAAiC;QAAjC,WAAM,GAAN,MAAM,CAA2B;IAAG,CAAC;IAE1E,MAAM,CAAC,MAAM,CACX,UAAmC,EAAE;QAErC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAEhE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC;gBACT,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EACL,uFAAuF;aAC1F,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAA8B;YACxC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,gBAAgB;YAC/E,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,eAAe;YAC3C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,mBAAmB;YACrD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,kBAAkB;YACpE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,aAAa;SACtE,CAAC;QAEF,OAAO,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,OAAO;QACZ,OAAO,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACxC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Minimal Result Type for Perplexity Client
3
+ *
4
+ * Railway-oriented programming pattern for error handling.
5
+ * Subset of the main project's Result type, self-contained for the thin client package.
6
+ */
7
+ export type Result<T, E> = Ok<T, E> | Err<T, E>;
8
+ export declare class Ok<T, E> {
9
+ readonly value: T;
10
+ constructor(value: T);
11
+ isOk(): this is Ok<T, E>;
12
+ isErr(): this is Err<T, E>;
13
+ unwrap(): T;
14
+ unwrapErr(): E;
15
+ }
16
+ export declare class Err<T, E> {
17
+ readonly error: E;
18
+ constructor(error: E);
19
+ isOk(): this is Ok<T, E>;
20
+ isErr(): this is Err<T, E>;
21
+ unwrap(): T;
22
+ unwrapErr(): E;
23
+ }
24
+ export declare const ok: <T, E = never>(value: T) => Result<T, E>;
25
+ export declare const err: <E, T = never>(error: E) => Result<T, E>;
26
+ //# sourceMappingURL=Result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../src/external/Result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhD,qBAAa,EAAE,CAAC,CAAC,EAAE,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEN,KAAK,EAAE,CAAC;IAIpB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAIxB,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAI1B,MAAM,IAAI,CAAC;IAIX,SAAS,IAAI,CAAC;CAGf;AAED,qBAAa,GAAG,CAAC,CAAC,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEN,KAAK,EAAE,CAAC;IAIpB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAIxB,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAI1B,MAAM,IAAI,CAAC;IAIX,SAAS,IAAI,CAAC;CAGf;AAED,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAkB,CAAC;AAC1E,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Minimal Result Type for Perplexity Client
3
+ *
4
+ * Railway-oriented programming pattern for error handling.
5
+ * Subset of the main project's Result type, self-contained for the thin client package.
6
+ */
7
+ export class Ok {
8
+ value;
9
+ constructor(value) {
10
+ this.value = value;
11
+ }
12
+ isOk() {
13
+ return true;
14
+ }
15
+ isErr() {
16
+ return false;
17
+ }
18
+ unwrap() {
19
+ return this.value;
20
+ }
21
+ unwrapErr() {
22
+ throw new Error('Called unwrapErr on Ok value');
23
+ }
24
+ }
25
+ export class Err {
26
+ error;
27
+ constructor(error) {
28
+ this.error = error;
29
+ }
30
+ isOk() {
31
+ return false;
32
+ }
33
+ isErr() {
34
+ return true;
35
+ }
36
+ unwrap() {
37
+ throw new Error(`Called unwrap on Err value: ${String(this.error)}`);
38
+ }
39
+ unwrapErr() {
40
+ return this.error;
41
+ }
42
+ }
43
+ export const ok = (value) => new Ok(value);
44
+ export const err = (error) => new Err(error);
45
+ //# sourceMappingURL=Result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Result.js","sourceRoot":"","sources":["../../src/external/Result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,EAAE;IACJ,KAAK,CAAI;IAElB,YAAY,KAAQ;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,SAAS;QACP,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,GAAG;IACL,KAAK,CAAI;IAElB,YAAY,KAAQ;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,EAAE,GAAG,CAAe,KAAQ,EAAgB,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAe,KAAQ,EAAgB,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,10 +2,14 @@
2
2
  /**
3
3
  * MCP Thin Client Entry Point
4
4
  *
5
- * This is a thin client that delegates all operations to the Orchestrator REST API.
6
- * It implements the Model Context Protocol (MCP) server interface.
5
+ * Supports multiple server modes via --server flag:
6
+ * --server core → orchestrator-tools (core ~59 tools)
7
+ * --server extended → orchestrator-extended (11 tools)
8
+ * --server perplexity → perplexity (4 tools, calls Perplexity API directly)
9
+ * (default) → uses MCP_TOOL_SET env var, falls back to 'all'
7
10
  */
8
11
  export { OrchestratorMcpServer } from './server.js';
12
+ export { PerplexityMcpServer } from './PerplexityMcpServer.js';
9
13
  export { OrchestratorApiClient } from './client/OrchestratorApiClient.js';
10
14
  export { loadConfig } from './config.js';
11
15
  export type { Config } from './config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAuCH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAkEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -2,18 +2,44 @@
2
2
  /**
3
3
  * MCP Thin Client Entry Point
4
4
  *
5
- * This is a thin client that delegates all operations to the Orchestrator REST API.
6
- * It implements the Model Context Protocol (MCP) server interface.
5
+ * Supports multiple server modes via --server flag:
6
+ * --server core → orchestrator-tools (core ~59 tools)
7
+ * --server extended → orchestrator-extended (11 tools)
8
+ * --server perplexity → perplexity (4 tools, calls Perplexity API directly)
9
+ * (default) → uses MCP_TOOL_SET env var, falls back to 'all'
7
10
  */
8
11
  import { realpathSync } from 'fs';
9
12
  import { fileURLToPath } from 'url';
10
13
  import { OrchestratorMcpServer } from './server.js';
14
+ import { PerplexityMcpServer } from './PerplexityMcpServer.js';
11
15
  import { loadConfig } from './config.js';
16
+ /**
17
+ * Parse --server <type> from process.argv
18
+ */
19
+ function parseServerArg() {
20
+ const idx = process.argv.indexOf('--server');
21
+ if (idx !== -1 && idx + 1 < process.argv.length) {
22
+ return process.argv[idx + 1];
23
+ }
24
+ return undefined;
25
+ }
12
26
  /**
13
27
  * Main entry point for CLI execution
14
28
  */
15
29
  async function main() {
16
30
  try {
31
+ const serverArg = parseServerArg();
32
+ // Perplexity mode: standalone server that calls Perplexity API directly
33
+ if (serverArg === 'perplexity') {
34
+ console.error('Starting Perplexity MCP Server...');
35
+ const server = new PerplexityMcpServer();
36
+ await server.start();
37
+ return;
38
+ }
39
+ // Override MCP_TOOL_SET from --server arg if provided
40
+ if (serverArg) {
41
+ process.env.MCP_TOOL_SET = serverArg;
42
+ }
17
43
  const config = loadConfig();
18
44
  const server = new OrchestratorMcpServer(config);
19
45
  console.error('Starting Orchestrator MCP Server...');
@@ -37,6 +63,7 @@ if (isEntryPoint) {
37
63
  }
38
64
  // Re-export for library usage
39
65
  export { OrchestratorMcpServer } from './server.js';
66
+ export { PerplexityMcpServer } from './PerplexityMcpServer.js';
40
67
  export { OrchestratorApiClient } from './client/OrchestratorApiClient.js';
41
68
  export { loadConfig } from './config.js';
42
69
  //# 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":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAEjD,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAE7E,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,yDAAyD;AACzD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,YAAY,GAChB,WAAW,KAAK,UAAU;IAC1B,YAAY,CAAC,WAAW,CAAC,KAAK,YAAY,CAAC,UAAU,CAAC,CAAC;AAEzD,IAAI,YAAY,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC;AACT,CAAC;AAED,8BAA8B;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,SAAS,cAAc;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;QAEnC,wEAAwE;QACxE,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACzC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,sDAAsD;QACtD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAEjD,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAE7E,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,yDAAyD;AACzD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,YAAY,GAChB,WAAW,KAAK,UAAU;IAC1B,YAAY,CAAC,WAAW,CAAC,KAAK,YAAY,CAAC,UAAU,CAAC,CAAC;AAEzD,IAAI,YAAY,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC;AACT,CAAC;AAED,8BAA8B;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orchestrator-claude/mcp-server",
3
- "version": "3.3.1",
3
+ "version": "3.3.3",
4
4
  "description": "MCP Thin Client for Orchestrator - delegates to REST API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",