research-powerpack-mcp 3.4.8 → 3.6.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.
- package/dist/config/env.d.ts +75 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +87 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/yaml/tools-enhanced.yaml +0 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/services/llm-processor.js +0 -25
- package/dist/services/llm-processor.js.map +1 -1
- package/dist/tools/reddit.d.ts.map +1 -1
- package/dist/tools/reddit.js +76 -40
- package/dist/tools/reddit.js.map +1 -1
- package/dist/tools/research.d.ts +1 -6
- package/dist/tools/research.d.ts.map +1 -1
- package/dist/tools/research.js +63 -42
- package/dist/tools/research.js.map +1 -1
- package/dist/tools/scrape.d.ts +1 -6
- package/dist/tools/scrape.d.ts.map +1 -1
- package/dist/tools/scrape.js +53 -42
- package/dist/tools/scrape.js.map +1 -1
- package/dist/tools/search.d.ts +1 -6
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +26 -18
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/utils.d.ts +13 -0
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +17 -0
- package/dist/tools/utils.js.map +1 -1
- package/dist/utils/logger.d.ts +32 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +43 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/mcp-logger.d.ts +8 -0
- package/dist/utils/mcp-logger.d.ts.map +1 -0
- package/dist/utils/mcp-logger.js +14 -0
- package/dist/utils/mcp-logger.js.map +1 -0
- package/dist/utils/response.d.ts +88 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +151 -0
- package/dist/utils/response.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized Environment Variable Validation
|
|
3
|
+
* Uses Zod for type-safe parsing with helpful error messages
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
declare const envSchema: z.ZodObject<{
|
|
7
|
+
SCRAPEDO_API_KEY: z.ZodOptional<z.ZodString>;
|
|
8
|
+
SERPER_API_KEY: z.ZodOptional<z.ZodString>;
|
|
9
|
+
REDDIT_CLIENT_ID: z.ZodOptional<z.ZodString>;
|
|
10
|
+
REDDIT_CLIENT_SECRET: z.ZodOptional<z.ZodString>;
|
|
11
|
+
OPENROUTER_API_KEY: z.ZodOptional<z.ZodString>;
|
|
12
|
+
OPENROUTER_BASE_URL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
13
|
+
RESEARCH_MODEL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
14
|
+
RESEARCH_FALLBACK_MODEL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
15
|
+
DEFAULT_REASONING_EFFORT: z.ZodDefault<z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>>;
|
|
16
|
+
DEFAULT_MAX_URLS: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
17
|
+
API_TIMEOUT_MS: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
18
|
+
LLM_EXTRACTION_MODEL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
19
|
+
LLM_ENABLE_REASONING: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodString, boolean, string>>>;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
OPENROUTER_BASE_URL: string;
|
|
22
|
+
RESEARCH_MODEL: string;
|
|
23
|
+
RESEARCH_FALLBACK_MODEL: string;
|
|
24
|
+
API_TIMEOUT_MS: number;
|
|
25
|
+
DEFAULT_REASONING_EFFORT: "low" | "medium" | "high";
|
|
26
|
+
DEFAULT_MAX_URLS: number;
|
|
27
|
+
LLM_EXTRACTION_MODEL: string;
|
|
28
|
+
LLM_ENABLE_REASONING: boolean;
|
|
29
|
+
SCRAPEDO_API_KEY?: string | undefined;
|
|
30
|
+
SERPER_API_KEY?: string | undefined;
|
|
31
|
+
REDDIT_CLIENT_ID?: string | undefined;
|
|
32
|
+
REDDIT_CLIENT_SECRET?: string | undefined;
|
|
33
|
+
OPENROUTER_API_KEY?: string | undefined;
|
|
34
|
+
}, {
|
|
35
|
+
SCRAPEDO_API_KEY?: string | undefined;
|
|
36
|
+
SERPER_API_KEY?: string | undefined;
|
|
37
|
+
REDDIT_CLIENT_ID?: string | undefined;
|
|
38
|
+
REDDIT_CLIENT_SECRET?: string | undefined;
|
|
39
|
+
OPENROUTER_BASE_URL?: string | undefined;
|
|
40
|
+
RESEARCH_MODEL?: string | undefined;
|
|
41
|
+
RESEARCH_FALLBACK_MODEL?: string | undefined;
|
|
42
|
+
OPENROUTER_API_KEY?: string | undefined;
|
|
43
|
+
API_TIMEOUT_MS?: number | undefined;
|
|
44
|
+
DEFAULT_REASONING_EFFORT?: "low" | "medium" | "high" | undefined;
|
|
45
|
+
DEFAULT_MAX_URLS?: number | undefined;
|
|
46
|
+
LLM_EXTRACTION_MODEL?: string | undefined;
|
|
47
|
+
LLM_ENABLE_REASONING?: string | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
export type EnvConfig = z.infer<typeof envSchema>;
|
|
50
|
+
/**
|
|
51
|
+
* Parse and validate environment variables
|
|
52
|
+
* Returns cached result on subsequent calls
|
|
53
|
+
*/
|
|
54
|
+
export declare function getEnv(): EnvConfig;
|
|
55
|
+
/**
|
|
56
|
+
* Clear cached environment (useful for testing)
|
|
57
|
+
*/
|
|
58
|
+
export declare function clearEnvCache(): void;
|
|
59
|
+
export interface Capabilities {
|
|
60
|
+
reddit: boolean;
|
|
61
|
+
search: boolean;
|
|
62
|
+
scraping: boolean;
|
|
63
|
+
deepResearch: boolean;
|
|
64
|
+
llmExtraction: boolean;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get available capabilities based on configured API keys
|
|
68
|
+
*/
|
|
69
|
+
export declare function getCapabilitiesFromEnv(): Capabilities;
|
|
70
|
+
/**
|
|
71
|
+
* Get user-friendly message for missing capability
|
|
72
|
+
*/
|
|
73
|
+
export declare function getMissingCapabilityMessage(capability: keyof Capabilities): string;
|
|
74
|
+
export {};
|
|
75
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBb,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAQlD;;;GAGG;AACH,wBAAgB,MAAM,IAAI,SAAS,CAelC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAMD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,CASrD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,YAAY,GAAG,MAAM,CASlF"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized Environment Variable Validation
|
|
3
|
+
* Uses Zod for type-safe parsing with helpful error messages
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
// ============================================================================
|
|
7
|
+
// Environment Schema
|
|
8
|
+
// ============================================================================
|
|
9
|
+
const envSchema = z.object({
|
|
10
|
+
// Scraper API (required for scrape_links)
|
|
11
|
+
SCRAPEDO_API_KEY: z.string().optional(),
|
|
12
|
+
// Search API (required for web_search and search_reddit)
|
|
13
|
+
SERPER_API_KEY: z.string().optional(),
|
|
14
|
+
// Reddit API (required for get_reddit_post)
|
|
15
|
+
REDDIT_CLIENT_ID: z.string().optional(),
|
|
16
|
+
REDDIT_CLIENT_SECRET: z.string().optional(),
|
|
17
|
+
// OpenRouter API (required for deep_research and LLM extraction)
|
|
18
|
+
OPENROUTER_API_KEY: z.string().optional(),
|
|
19
|
+
OPENROUTER_BASE_URL: z.string().url().optional().default('https://openrouter.ai/api/v1'),
|
|
20
|
+
// Research configuration
|
|
21
|
+
RESEARCH_MODEL: z.string().optional().default('x-ai/grok-4-fast'),
|
|
22
|
+
RESEARCH_FALLBACK_MODEL: z.string().optional().default('google/gemini-2.5-flash'),
|
|
23
|
+
DEFAULT_REASONING_EFFORT: z.enum(['low', 'medium', 'high']).optional().default('high'),
|
|
24
|
+
DEFAULT_MAX_URLS: z.coerce.number().min(10).max(200).optional().default(100),
|
|
25
|
+
API_TIMEOUT_MS: z.coerce.number().min(1000).max(3600000).optional().default(1800000),
|
|
26
|
+
// LLM extraction configuration
|
|
27
|
+
LLM_EXTRACTION_MODEL: z.string().optional().default('openai/gpt-oss-120b:nitro'),
|
|
28
|
+
LLM_ENABLE_REASONING: z.string().transform(v => v !== 'false').optional().default('true'),
|
|
29
|
+
});
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Parse and Validate Environment
|
|
32
|
+
// ============================================================================
|
|
33
|
+
let cachedEnv = null;
|
|
34
|
+
/**
|
|
35
|
+
* Parse and validate environment variables
|
|
36
|
+
* Returns cached result on subsequent calls
|
|
37
|
+
*/
|
|
38
|
+
export function getEnv() {
|
|
39
|
+
if (cachedEnv)
|
|
40
|
+
return cachedEnv;
|
|
41
|
+
try {
|
|
42
|
+
cachedEnv = envSchema.parse(process.env);
|
|
43
|
+
return cachedEnv;
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (error instanceof z.ZodError) {
|
|
47
|
+
const issues = error.issues.map(i => ` - ${i.path.join('.')}: ${i.message}`).join('\n');
|
|
48
|
+
console.error(`[Config] Environment validation failed:\n${issues}`);
|
|
49
|
+
}
|
|
50
|
+
// Return defaults on error to avoid crashing
|
|
51
|
+
cachedEnv = envSchema.parse({});
|
|
52
|
+
return cachedEnv;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Clear cached environment (useful for testing)
|
|
57
|
+
*/
|
|
58
|
+
export function clearEnvCache() {
|
|
59
|
+
cachedEnv = null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get available capabilities based on configured API keys
|
|
63
|
+
*/
|
|
64
|
+
export function getCapabilitiesFromEnv() {
|
|
65
|
+
const env = getEnv();
|
|
66
|
+
return {
|
|
67
|
+
reddit: !!(env.REDDIT_CLIENT_ID && env.REDDIT_CLIENT_SECRET),
|
|
68
|
+
search: !!env.SERPER_API_KEY,
|
|
69
|
+
scraping: !!env.SCRAPEDO_API_KEY,
|
|
70
|
+
deepResearch: !!env.OPENROUTER_API_KEY,
|
|
71
|
+
llmExtraction: !!env.OPENROUTER_API_KEY,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get user-friendly message for missing capability
|
|
76
|
+
*/
|
|
77
|
+
export function getMissingCapabilityMessage(capability) {
|
|
78
|
+
const messages = {
|
|
79
|
+
reddit: '❌ **Reddit tools unavailable.** Set `REDDIT_CLIENT_ID` and `REDDIT_CLIENT_SECRET` to enable.\n\n👉 Create a Reddit app at: https://www.reddit.com/prefs/apps (select "script" type)',
|
|
80
|
+
search: '❌ **Search unavailable.** Set `SERPER_API_KEY` to enable web search and Reddit search.\n\n👉 Get your free API key at: https://serper.dev (2,500 free queries)',
|
|
81
|
+
scraping: '❌ **Web scraping unavailable.** Set `SCRAPEDO_API_KEY` to enable URL content extraction.\n\n👉 Sign up at: https://scrape.do (1,000 free credits)',
|
|
82
|
+
deepResearch: '❌ **Deep research unavailable.** Set `OPENROUTER_API_KEY` to enable AI-powered research.\n\n👉 Get your API key at: https://openrouter.ai/keys',
|
|
83
|
+
llmExtraction: '⚠️ **AI extraction disabled.** The `use_llm` and `what_to_extract` features require `OPENROUTER_API_KEY`.\n\nScraping will work but without intelligent content filtering.',
|
|
84
|
+
};
|
|
85
|
+
return messages[capability];
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import { TOOLS } from './tools/definitions.js';
|
|
|
10
10
|
import { executeTool, getToolCapabilities } from './tools/registry.js';
|
|
11
11
|
import { classifyError, createToolErrorFromStructured } from './utils/errors.js';
|
|
12
12
|
import { SERVER, getCapabilities } from './config/index.js';
|
|
13
|
+
import { initLogger } from './utils/mcp-logger.js';
|
|
13
14
|
// ============================================================================
|
|
14
15
|
// Capability Detection (uses registry for tool capability mapping)
|
|
15
16
|
// ============================================================================
|
|
@@ -27,7 +28,8 @@ if (capabilities.scraping && !capabilities.llmExtraction) {
|
|
|
27
28
|
// ============================================================================
|
|
28
29
|
// Server Setup
|
|
29
30
|
// ============================================================================
|
|
30
|
-
const server = new Server({ name: SERVER.NAME, version: SERVER.VERSION }, { capabilities: { tools: {} } });
|
|
31
|
+
const server = new Server({ name: SERVER.NAME, version: SERVER.VERSION }, { capabilities: { tools: {}, logging: {} } });
|
|
32
|
+
initLogger(server);
|
|
31
33
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
|
|
32
34
|
/**
|
|
33
35
|
* Tool execution handler - uses registry pattern for clean routing
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE7G,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -176,29 +176,4 @@ export async function processContentWithLLM(content, config, processor) {
|
|
|
176
176
|
},
|
|
177
177
|
};
|
|
178
178
|
}
|
|
179
|
-
/**
|
|
180
|
-
* Process multiple contents with LLM in parallel with rate limiting
|
|
181
|
-
* NEVER throws - always returns results array
|
|
182
|
-
*/
|
|
183
|
-
// @internal - Currently unused but kept for future batch LLM processing
|
|
184
|
-
async function processMultipleWithLLM(contents, config, processor, concurrency = 3) {
|
|
185
|
-
if (!config.use_llm || !processor || contents.length === 0) {
|
|
186
|
-
return contents.map(c => ({ content: c.content, processed: false, url: c.url }));
|
|
187
|
-
}
|
|
188
|
-
const results = [];
|
|
189
|
-
// Process in batches to avoid overwhelming the API
|
|
190
|
-
for (let i = 0; i < contents.length; i += concurrency) {
|
|
191
|
-
const batch = contents.slice(i, i + concurrency);
|
|
192
|
-
const batchResults = await Promise.all(batch.map(async ({ content, url }) => {
|
|
193
|
-
const result = await processContentWithLLM(content, config, processor);
|
|
194
|
-
return { ...result, url };
|
|
195
|
-
}));
|
|
196
|
-
results.push(...batchResults);
|
|
197
|
-
// Small delay between batches if more batches to process
|
|
198
|
-
if (i + concurrency < contents.length) {
|
|
199
|
-
await sleep(500);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
return results;
|
|
203
|
-
}
|
|
204
179
|
//# sourceMappingURL=llm-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-processor.js","sourceRoot":"","sources":["../../src/services/llm-processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"llm-processor.js","sourceRoot":"","sources":["../../src/services/llm-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reddit.d.ts","sourceRoot":"","sources":["../../src/tools/reddit.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"reddit.d.ts","sourceRoot":"","sources":["../../src/tools/reddit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0DH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CA6CjB;AAMD,UAAU,qBAAqB;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAyBD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,SAAM,EACjB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CAmHjB"}
|
package/dist/tools/reddit.js
CHANGED
|
@@ -9,6 +9,7 @@ import { REDDIT } from '../config/index.js';
|
|
|
9
9
|
import { classifyError } from '../utils/errors.js';
|
|
10
10
|
import { createLLMProcessor, processContentWithLLM } from '../services/llm-processor.js';
|
|
11
11
|
import { getToolConfig } from '../config/loader.js';
|
|
12
|
+
import { mcpLog, formatSuccess, formatError, formatBatchHeader, TOKEN_BUDGETS, } from './utils.js';
|
|
12
13
|
// ============================================================================
|
|
13
14
|
// Formatters
|
|
14
15
|
// ============================================================================
|
|
@@ -55,7 +56,20 @@ export async function handleSearchReddit(queries, apiKey, dateAfter) {
|
|
|
55
56
|
totalResults += items.length;
|
|
56
57
|
}
|
|
57
58
|
if (totalResults === 0) {
|
|
58
|
-
return
|
|
59
|
+
return formatError({
|
|
60
|
+
code: 'NO_RESULTS',
|
|
61
|
+
message: `No results found for any of the ${limited.length} queries`,
|
|
62
|
+
toolName: 'search_reddit',
|
|
63
|
+
howToFix: [
|
|
64
|
+
'Try broader or simpler search terms',
|
|
65
|
+
'Check spelling of technical terms',
|
|
66
|
+
'Remove date filters if using them',
|
|
67
|
+
],
|
|
68
|
+
alternatives: [
|
|
69
|
+
'web_search(keywords=[...]) for general web results',
|
|
70
|
+
'deep_research(questions=[...]) for synthesized analysis',
|
|
71
|
+
],
|
|
72
|
+
});
|
|
59
73
|
}
|
|
60
74
|
// Aggregate and rank results by CTR
|
|
61
75
|
const aggregation = aggregateAndRankReddit(results, 3);
|
|
@@ -64,10 +78,14 @@ export async function handleSearchReddit(queries, apiKey, dateAfter) {
|
|
|
64
78
|
}
|
|
65
79
|
catch (error) {
|
|
66
80
|
const structuredError = classifyError(error);
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
:
|
|
70
|
-
|
|
81
|
+
return formatError({
|
|
82
|
+
code: structuredError.code,
|
|
83
|
+
message: structuredError.message,
|
|
84
|
+
retryable: structuredError.retryable,
|
|
85
|
+
toolName: 'search_reddit',
|
|
86
|
+
howToFix: ['Verify SERPER_API_KEY is set correctly'],
|
|
87
|
+
alternatives: ['web_search(keywords=[...]) as backup'],
|
|
88
|
+
});
|
|
71
89
|
}
|
|
72
90
|
}
|
|
73
91
|
// Get extraction suffix from YAML config (fallback to hardcoded if not found)
|
|
@@ -95,10 +113,20 @@ export async function handleGetRedditPosts(urls, clientId, clientSecret, maxComm
|
|
|
95
113
|
try {
|
|
96
114
|
const { fetchComments = true, maxCommentsOverride, use_llm = false, what_to_extract } = options;
|
|
97
115
|
if (urls.length < REDDIT.MIN_POSTS) {
|
|
98
|
-
return
|
|
116
|
+
return formatError({
|
|
117
|
+
code: 'MIN_POSTS',
|
|
118
|
+
message: `Minimum ${REDDIT.MIN_POSTS} Reddit posts required. Received: ${urls.length}`,
|
|
119
|
+
toolName: 'get_reddit_post',
|
|
120
|
+
howToFix: [`Add at least ${REDDIT.MIN_POSTS - urls.length} more Reddit URL(s)`],
|
|
121
|
+
});
|
|
99
122
|
}
|
|
100
123
|
if (urls.length > REDDIT.MAX_POSTS) {
|
|
101
|
-
return
|
|
124
|
+
return formatError({
|
|
125
|
+
code: 'MAX_POSTS',
|
|
126
|
+
message: `Maximum ${REDDIT.MAX_POSTS} Reddit posts allowed. Received: ${urls.length}`,
|
|
127
|
+
toolName: 'get_reddit_post',
|
|
128
|
+
howToFix: [`Remove ${urls.length - REDDIT.MAX_POSTS} URL(s) and retry`],
|
|
129
|
+
});
|
|
102
130
|
}
|
|
103
131
|
const allocation = calculateCommentAllocation(urls.length);
|
|
104
132
|
const commentsPerPost = fetchComments ? (maxCommentsOverride || allocation.perPostCapped) : 0;
|
|
@@ -106,22 +134,10 @@ export async function handleGetRedditPosts(urls, clientId, clientSecret, maxComm
|
|
|
106
134
|
const client = new RedditClient(clientId, clientSecret);
|
|
107
135
|
const batchResult = await client.batchGetPosts(urls, commentsPerPost, fetchComments);
|
|
108
136
|
const results = batchResult.results;
|
|
109
|
-
// Initialize LLM processor if needed
|
|
137
|
+
// Initialize LLM processor if needed
|
|
110
138
|
const llmProcessor = use_llm ? createLLMProcessor() : null;
|
|
111
|
-
const tokensPerUrl = use_llm ? Math.floor(
|
|
139
|
+
const tokensPerUrl = use_llm ? Math.floor(TOKEN_BUDGETS.RESEARCH / urls.length) : 0;
|
|
112
140
|
const enhancedInstruction = use_llm ? enhanceExtractionInstruction(what_to_extract) : undefined;
|
|
113
|
-
let md = `# Reddit Posts (${urls.length} posts)\n\n`;
|
|
114
|
-
if (fetchComments) {
|
|
115
|
-
md += `**Comment Allocation:** ${commentsPerPost} comments/post (${urls.length} posts, ${REDDIT.MAX_COMMENT_BUDGET} total budget)\n`;
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
md += `**Comments:** Not fetched (fetch_comments=false)\n`;
|
|
119
|
-
}
|
|
120
|
-
if (use_llm) {
|
|
121
|
-
md += `**Token Allocation:** ${tokensPerUrl.toLocaleString()} tokens/post (${urls.length} posts, 32,000 total budget)\n`;
|
|
122
|
-
}
|
|
123
|
-
md += `**Status:** 📦 ${totalBatches} batch(es) processed\n\n`;
|
|
124
|
-
md += `---\n\n`;
|
|
125
141
|
let successful = 0;
|
|
126
142
|
let failed = 0;
|
|
127
143
|
let llmErrors = 0;
|
|
@@ -136,42 +152,62 @@ export async function handleGetRedditPosts(urls, clientId, clientSecret, maxComm
|
|
|
136
152
|
let postContent = formatPost(result, fetchComments);
|
|
137
153
|
// Apply LLM extraction per-URL if enabled
|
|
138
154
|
if (use_llm && llmProcessor) {
|
|
139
|
-
|
|
155
|
+
mcpLog('info', `[${successful}/${urls.length}] Applying LLM extraction to ${url}`, 'reddit');
|
|
140
156
|
const llmResult = await processContentWithLLM(postContent, { use_llm: true, what_to_extract: enhancedInstruction, max_tokens: tokensPerUrl }, llmProcessor);
|
|
141
157
|
if (llmResult.processed) {
|
|
142
158
|
postContent = `## LLM Analysis: ${result.post.title}\n\n**r/${result.post.subreddit}** • u/${result.post.author} • ⬆️ ${result.post.score} • 💬 ${result.post.commentCount} comments\n🔗 ${result.post.url}\n\n${llmResult.content}`;
|
|
143
|
-
|
|
159
|
+
mcpLog('debug', `[${successful}/${urls.length}] LLM extraction complete`, 'reddit');
|
|
144
160
|
}
|
|
145
161
|
else {
|
|
146
162
|
llmErrors++;
|
|
147
|
-
|
|
148
|
-
// Continue with original content - graceful degradation
|
|
163
|
+
mcpLog('warning', `[${successful}/${urls.length}] LLM extraction failed: ${llmResult.error || 'unknown'}`, 'reddit');
|
|
149
164
|
}
|
|
150
165
|
}
|
|
151
166
|
contents.push(postContent);
|
|
152
167
|
}
|
|
153
168
|
}
|
|
154
|
-
|
|
155
|
-
|
|
169
|
+
// Build 70/20/10 response
|
|
170
|
+
const batchHeader = formatBatchHeader({
|
|
171
|
+
title: `Reddit Posts`,
|
|
172
|
+
totalItems: urls.length,
|
|
173
|
+
successful,
|
|
174
|
+
failed,
|
|
175
|
+
...(fetchComments ? { extras: { 'Comments/post': commentsPerPost } } : {}),
|
|
176
|
+
...(use_llm ? { tokensPerItem: tokensPerUrl } : {}),
|
|
177
|
+
batches: totalBatches,
|
|
178
|
+
});
|
|
179
|
+
const statusExtras = [];
|
|
156
180
|
if (batchResult.rateLimitHits > 0) {
|
|
157
|
-
|
|
181
|
+
statusExtras.push(`⚠️ ${batchResult.rateLimitHits} rate limit retries`);
|
|
158
182
|
}
|
|
159
|
-
if (use_llm) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
md += ` | ⚠️ ${llmErrors} LLM extraction failures`;
|
|
165
|
-
}
|
|
183
|
+
if (use_llm && !llmProcessor) {
|
|
184
|
+
statusExtras.push('⚠️ LLM unavailable (OPENROUTER_API_KEY not set)');
|
|
185
|
+
}
|
|
186
|
+
else if (llmErrors > 0) {
|
|
187
|
+
statusExtras.push(`⚠️ ${llmErrors} LLM extraction failures`);
|
|
166
188
|
}
|
|
167
|
-
|
|
189
|
+
const nextSteps = [
|
|
190
|
+
successful > 0 ? 'Research further: deep_research(questions=[{question: "Based on Reddit discussion..."}])' : null,
|
|
191
|
+
failed > 0 ? 'Retry failed URLs individually' : null,
|
|
192
|
+
'Search related topics: search_reddit(queries=[...related terms...])',
|
|
193
|
+
].filter(Boolean);
|
|
194
|
+
const extraStatus = statusExtras.length > 0 ? `\n${statusExtras.join(' | ')}` : '';
|
|
195
|
+
return formatSuccess({
|
|
196
|
+
title: `Reddit Posts Fetched (${successful}/${urls.length})`,
|
|
197
|
+
summary: batchHeader + extraStatus,
|
|
198
|
+
data: contents.join('\n\n---\n\n'),
|
|
199
|
+
nextSteps,
|
|
200
|
+
});
|
|
168
201
|
}
|
|
169
202
|
catch (error) {
|
|
170
203
|
const structuredError = classifyError(error);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
:
|
|
174
|
-
|
|
204
|
+
return formatError({
|
|
205
|
+
code: structuredError.code,
|
|
206
|
+
message: structuredError.message,
|
|
207
|
+
retryable: structuredError.retryable,
|
|
208
|
+
toolName: 'get_reddit_post',
|
|
209
|
+
howToFix: ['Verify REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET are set'],
|
|
210
|
+
});
|
|
175
211
|
}
|
|
176
212
|
}
|
|
177
213
|
//# sourceMappingURL=reddit.js.map
|
package/dist/tools/reddit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reddit.js","sourceRoot":"","sources":["../../src/tools/reddit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAiC,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"reddit.js","sourceRoot":"","sources":["../../src/tools/reddit.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/research.d.ts
CHANGED
|
@@ -3,17 +3,12 @@
|
|
|
3
3
|
* Implements robust error handling that NEVER crashes
|
|
4
4
|
*/
|
|
5
5
|
import type { DeepResearchParams } from '../schemas/deep-research.js';
|
|
6
|
-
interface ResearchOptions {
|
|
7
|
-
sessionId?: string;
|
|
8
|
-
logger?: (level: 'info' | 'error' | 'debug', message: string, sessionId: string) => Promise<void>;
|
|
9
|
-
}
|
|
10
6
|
/**
|
|
11
7
|
* Handle deep research request
|
|
12
8
|
* NEVER throws - always returns a valid response
|
|
13
9
|
*/
|
|
14
|
-
export declare function handleDeepResearch(params: DeepResearchParams
|
|
10
|
+
export declare function handleDeepResearch(params: DeepResearchParams): Promise<{
|
|
15
11
|
content: string;
|
|
16
12
|
structuredContent: object;
|
|
17
13
|
}>;
|
|
18
|
-
export {};
|
|
19
14
|
//# sourceMappingURL=research.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/tools/research.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/tools/research.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AA8CtE;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,CA6KzD"}
|