research-powerpack-mcp 3.3.1 → 3.3.2
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/clients/reddit.d.ts +4 -3
- package/dist/clients/reddit.d.ts.map +1 -1
- package/dist/clients/research.d.ts +12 -2
- package/dist/clients/research.d.ts.map +1 -1
- package/dist/clients/research.js +108 -36
- package/dist/clients/research.js.map +1 -1
- package/dist/clients/scraper.d.ts +4 -3
- package/dist/clients/scraper.d.ts.map +1 -1
- package/dist/clients/search.d.ts +3 -2
- package/dist/clients/search.d.ts.map +1 -1
- package/dist/config/index.d.ts +4 -3
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -3
- package/dist/config/index.js.map +1 -1
- package/dist/schemas/deep-research.d.ts +0 -37
- package/dist/schemas/deep-research.d.ts.map +1 -1
- package/dist/schemas/deep-research.js +2 -1
- package/dist/schemas/deep-research.js.map +1 -1
- package/dist/schemas/scrape-links.d.ts +0 -6
- package/dist/schemas/scrape-links.d.ts.map +1 -1
- package/dist/schemas/scrape-links.js +1 -1
- package/dist/schemas/scrape-links.js.map +1 -1
- package/dist/schemas/web-search.d.ts +0 -3
- package/dist/schemas/web-search.d.ts.map +1 -1
- package/dist/schemas/web-search.js +1 -1
- package/dist/schemas/web-search.js.map +1 -1
- package/dist/services/llm-processor.d.ts +0 -10
- package/dist/services/llm-processor.d.ts.map +1 -1
- package/dist/services/llm-processor.js +2 -1
- package/dist/services/llm-processor.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +40 -2
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/reddit.d.ts +2 -1
- package/dist/tools/reddit.d.ts.map +1 -1
- package/dist/tools/reddit.js +3 -3
- package/dist/tools/reddit.js.map +1 -1
- package/dist/utils/errors.d.ts +3 -51
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +10 -7
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/url-aggregator.d.ts +5 -4
- package/dist/utils/url-aggregator.d.ts.map +1 -1
- package/dist/utils/url-aggregator.js +30 -1
- package/dist/utils/url-aggregator.js.map +1 -1
- package/dist/version.d.ts +0 -10
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -10
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
package/dist/clients/reddit.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Fetches posts and comments sorted by score (most upvoted first)
|
|
4
4
|
* Implements robust error handling that NEVER crashes
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
interface Post {
|
|
7
7
|
title: string;
|
|
8
8
|
author: string;
|
|
9
9
|
subreddit: string;
|
|
@@ -29,14 +29,14 @@ export interface PostResult {
|
|
|
29
29
|
allocatedComments: number;
|
|
30
30
|
actualComments: number;
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
interface BatchPostResult {
|
|
33
33
|
results: Map<string, PostResult | Error>;
|
|
34
34
|
batchesProcessed: number;
|
|
35
35
|
totalPosts: number;
|
|
36
36
|
rateLimitHits: number;
|
|
37
37
|
commentAllocation: CommentAllocation;
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
interface CommentAllocation {
|
|
40
40
|
totalBudget: number;
|
|
41
41
|
perPostBase: number;
|
|
42
42
|
perPostCapped: number;
|
|
@@ -65,4 +65,5 @@ export declare class RedditClient {
|
|
|
65
65
|
getPosts(urls: string[], maxComments?: number): Promise<Map<string, PostResult | Error>>;
|
|
66
66
|
batchGetPosts(urls: string[], maxCommentsOverride?: number, fetchComments?: boolean, onBatchComplete?: (batchNum: number, totalBatches: number, processed: number) => void): Promise<BatchPostResult>;
|
|
67
67
|
}
|
|
68
|
+
export {};
|
|
68
69
|
//# sourceMappingURL=reddit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reddit.d.ts","sourceRoot":"","sources":["../../src/clients/reddit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,
|
|
1
|
+
{"version":3,"file":"reddit.d.ts","sourceRoot":"","sources":["../../src/clients/reddit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAK/E;AAWD,qBAAa,YAAY;IAKX,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,YAAY;IAF1D,OAAO,CAAC,SAAS,CAA6D;gBAE1D,QAAQ,EAAE,MAAM,EAAU,YAAY,EAAE,MAAM;IAElE;;;;OAIG;YACW,IAAI;IA6ElB,OAAO,CAAC,QAAQ;IAKhB;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,SAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA2GlE,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,eAAe;IA4BjB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,SAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;IAUrF,aAAa,CACjB,IAAI,EAAE,MAAM,EAAE,EACd,mBAAmB,CAAC,EAAE,MAAM,EAC5B,aAAa,UAAO,EACpB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GACpF,OAAO,CAAC,eAAe,CAAC;CAkD5B"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Implements robust retry logic and NEVER crashes the server
|
|
5
5
|
*/
|
|
6
6
|
import { type StructuredError } from '../utils/errors.js';
|
|
7
|
-
|
|
7
|
+
interface ResearchParams {
|
|
8
8
|
question: string;
|
|
9
9
|
systemPrompt?: string;
|
|
10
10
|
reasoningEffort?: 'low' | 'medium' | 'high';
|
|
@@ -48,10 +48,20 @@ export declare class ResearchClient {
|
|
|
48
48
|
*/
|
|
49
49
|
private calculateBackoff;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Build request payload based on model type
|
|
52
|
+
* Gemini models use tools with google_search, others use search_parameters
|
|
53
|
+
*/
|
|
54
|
+
private buildRequestPayload;
|
|
55
|
+
/**
|
|
56
|
+
* Execute a single research request with a specific model
|
|
57
|
+
*/
|
|
58
|
+
private executeResearch;
|
|
59
|
+
/**
|
|
60
|
+
* Perform research with retry logic and fallback to secondary model
|
|
52
61
|
* Returns a ResearchResponse - may contain error field on failure
|
|
53
62
|
* NEVER throws - always returns a valid response object
|
|
54
63
|
*/
|
|
55
64
|
research(params: ResearchParams): Promise<ResearchResponse>;
|
|
56
65
|
}
|
|
66
|
+
export {};
|
|
57
67
|
//# sourceMappingURL=research.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/clients/research.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,
|
|
1
|
+
{"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/clients/research.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,cAAc,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AA4BD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;;IAevB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;YACW,eAAe;IAiG7B;;;;OAIG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAkElE"}
|
package/dist/clients/research.js
CHANGED
|
@@ -15,6 +15,19 @@ const RESEARCH_RETRY_CONFIG = {
|
|
|
15
15
|
};
|
|
16
16
|
// Retryable status codes for research API
|
|
17
17
|
const RETRYABLE_RESEARCH_CODES = new Set([429, 500, 502, 503, 504]);
|
|
18
|
+
// Models that use Gemini-style google_search tool instead of search_parameters
|
|
19
|
+
const GEMINI_STYLE_MODELS = new Set([
|
|
20
|
+
'google/gemini-2.5-flash',
|
|
21
|
+
'google/gemini-2.5-pro',
|
|
22
|
+
'google/gemini-2.0-flash',
|
|
23
|
+
'google/gemini-pro',
|
|
24
|
+
]);
|
|
25
|
+
/**
|
|
26
|
+
* Check if a model uses Gemini-style google_search tool
|
|
27
|
+
*/
|
|
28
|
+
function isGeminiStyleModel(model) {
|
|
29
|
+
return GEMINI_STYLE_MODELS.has(model) || model.startsWith('google/gemini');
|
|
30
|
+
}
|
|
18
31
|
export class ResearchClient {
|
|
19
32
|
client;
|
|
20
33
|
constructor() {
|
|
@@ -59,33 +72,33 @@ export class ResearchClient {
|
|
|
59
72
|
return Math.min(exponentialDelay + jitter, RESEARCH_RETRY_CONFIG.maxDelayMs);
|
|
60
73
|
}
|
|
61
74
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* NEVER throws - always returns a valid response object
|
|
75
|
+
* Build request payload based on model type
|
|
76
|
+
* Gemini models use tools with google_search, others use search_parameters
|
|
65
77
|
*/
|
|
66
|
-
|
|
67
|
-
const {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
buildRequestPayload(model, messages, options) {
|
|
79
|
+
const { temperature, reasoningEffort, maxTokens, maxSearchResults, responseFormat } = options;
|
|
80
|
+
if (isGeminiStyleModel(model)) {
|
|
81
|
+
// Gemini uses tools with google_search
|
|
82
|
+
const payload = {
|
|
83
|
+
model,
|
|
84
|
+
messages,
|
|
85
|
+
temperature,
|
|
86
|
+
max_tokens: maxTokens,
|
|
87
|
+
tools: [
|
|
88
|
+
{
|
|
89
|
+
type: 'google_search',
|
|
90
|
+
googleSearch: {},
|
|
91
|
+
},
|
|
92
|
+
],
|
|
80
93
|
};
|
|
94
|
+
if (responseFormat) {
|
|
95
|
+
payload.response_format = responseFormat;
|
|
96
|
+
}
|
|
97
|
+
return payload;
|
|
81
98
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
messages.push({ role: 'user', content: question });
|
|
87
|
-
const requestPayload = {
|
|
88
|
-
model: RESEARCH.MODEL,
|
|
99
|
+
// Default: use search_parameters (for Grok, Perplexity, etc.)
|
|
100
|
+
const payload = {
|
|
101
|
+
model,
|
|
89
102
|
messages,
|
|
90
103
|
temperature,
|
|
91
104
|
reasoning_effort: reasoningEffort,
|
|
@@ -98,14 +111,21 @@ export class ResearchClient {
|
|
|
98
111
|
},
|
|
99
112
|
};
|
|
100
113
|
if (responseFormat) {
|
|
101
|
-
|
|
114
|
+
payload.response_format = responseFormat;
|
|
102
115
|
}
|
|
116
|
+
return payload;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Execute a single research request with a specific model
|
|
120
|
+
*/
|
|
121
|
+
async executeResearch(model, messages, options) {
|
|
122
|
+
const requestPayload = this.buildRequestPayload(model, messages, options);
|
|
103
123
|
let lastError;
|
|
104
|
-
// Retry loop
|
|
124
|
+
// Retry loop for this model
|
|
105
125
|
for (let attempt = 0; attempt <= RESEARCH_RETRY_CONFIG.maxRetries; attempt++) {
|
|
106
126
|
try {
|
|
107
127
|
if (attempt > 0) {
|
|
108
|
-
console.error(`[Research] Retry attempt ${attempt}/${RESEARCH_RETRY_CONFIG.maxRetries}`);
|
|
128
|
+
console.error(`[Research] Retry attempt ${attempt}/${RESEARCH_RETRY_CONFIG.maxRetries} for ${model}`);
|
|
109
129
|
}
|
|
110
130
|
const response = await this.client.chat.completions.create(requestPayload);
|
|
111
131
|
const choice = response.choices?.[0];
|
|
@@ -115,7 +135,7 @@ export class ResearchClient {
|
|
|
115
135
|
lastError = {
|
|
116
136
|
code: ErrorCode.INTERNAL_ERROR,
|
|
117
137
|
message: 'Research API returned empty response',
|
|
118
|
-
retryable: true,
|
|
138
|
+
retryable: true,
|
|
119
139
|
};
|
|
120
140
|
if (attempt < RESEARCH_RETRY_CONFIG.maxRetries) {
|
|
121
141
|
const delayMs = this.calculateBackoff(attempt);
|
|
@@ -126,7 +146,7 @@ export class ResearchClient {
|
|
|
126
146
|
}
|
|
127
147
|
return {
|
|
128
148
|
id: response.id || '',
|
|
129
|
-
model: response.model ||
|
|
149
|
+
model: response.model || model,
|
|
130
150
|
created: response.created || Date.now(),
|
|
131
151
|
content: message?.content || '',
|
|
132
152
|
finishReason: choice?.finish_reason,
|
|
@@ -148,7 +168,7 @@ export class ResearchClient {
|
|
|
148
168
|
catch (error) {
|
|
149
169
|
lastError = classifyError(error);
|
|
150
170
|
const err = error;
|
|
151
|
-
console.error(`[Research] Error (attempt ${attempt + 1}): ${lastError.message}`, {
|
|
171
|
+
console.error(`[Research] Error with ${model} (attempt ${attempt + 1}): ${lastError.message}`, {
|
|
152
172
|
status: err.status,
|
|
153
173
|
});
|
|
154
174
|
// Check if we should retry
|
|
@@ -162,20 +182,72 @@ export class ResearchClient {
|
|
|
162
182
|
break;
|
|
163
183
|
}
|
|
164
184
|
}
|
|
165
|
-
//
|
|
166
|
-
const errorMessage = lastError?.message || 'Unknown research error';
|
|
167
|
-
console.error(`[Research] All attempts failed: ${errorMessage}`);
|
|
185
|
+
// Return error response
|
|
168
186
|
return {
|
|
169
187
|
id: '',
|
|
170
|
-
model
|
|
188
|
+
model,
|
|
171
189
|
created: Date.now(),
|
|
172
|
-
content:
|
|
190
|
+
content: '',
|
|
173
191
|
error: lastError || {
|
|
174
192
|
code: ErrorCode.UNKNOWN_ERROR,
|
|
175
|
-
message:
|
|
193
|
+
message: 'Unknown research error',
|
|
176
194
|
retryable: false,
|
|
177
195
|
},
|
|
178
196
|
};
|
|
179
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Perform research with retry logic and fallback to secondary model
|
|
200
|
+
* Returns a ResearchResponse - may contain error field on failure
|
|
201
|
+
* NEVER throws - always returns a valid response object
|
|
202
|
+
*/
|
|
203
|
+
async research(params) {
|
|
204
|
+
const { question, systemPrompt, reasoningEffort = RESEARCH.REASONING_EFFORT, maxSearchResults = RESEARCH.MAX_URLS, maxTokens = 32000, temperature = 0.3, responseFormat, } = params;
|
|
205
|
+
// Validate input
|
|
206
|
+
if (!question?.trim()) {
|
|
207
|
+
return {
|
|
208
|
+
id: '',
|
|
209
|
+
model: RESEARCH.MODEL,
|
|
210
|
+
created: Date.now(),
|
|
211
|
+
content: '',
|
|
212
|
+
error: {
|
|
213
|
+
code: ErrorCode.INVALID_INPUT,
|
|
214
|
+
message: 'Research question cannot be empty',
|
|
215
|
+
retryable: false,
|
|
216
|
+
},
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
const messages = [];
|
|
220
|
+
if (systemPrompt) {
|
|
221
|
+
messages.push({ role: 'system', content: systemPrompt });
|
|
222
|
+
}
|
|
223
|
+
messages.push({ role: 'user', content: question });
|
|
224
|
+
const options = { temperature, reasoningEffort, maxTokens, maxSearchResults, responseFormat };
|
|
225
|
+
// Try primary model first
|
|
226
|
+
console.error(`[Research] Trying primary model: ${RESEARCH.MODEL}`);
|
|
227
|
+
const primaryResult = await this.executeResearch(RESEARCH.MODEL, messages, options);
|
|
228
|
+
if (!primaryResult.error) {
|
|
229
|
+
return primaryResult;
|
|
230
|
+
}
|
|
231
|
+
// Primary failed - try fallback model if different
|
|
232
|
+
if (RESEARCH.FALLBACK_MODEL && RESEARCH.FALLBACK_MODEL !== RESEARCH.MODEL) {
|
|
233
|
+
console.error(`[Research] Primary model failed, trying fallback: ${RESEARCH.FALLBACK_MODEL}`);
|
|
234
|
+
const fallbackResult = await this.executeResearch(RESEARCH.FALLBACK_MODEL, messages, options);
|
|
235
|
+
if (!fallbackResult.error) {
|
|
236
|
+
return fallbackResult;
|
|
237
|
+
}
|
|
238
|
+
// Both failed - return the fallback error (more recent)
|
|
239
|
+
console.error(`[Research] Both models failed. Primary: ${primaryResult.error?.message}, Fallback: ${fallbackResult.error?.message}`);
|
|
240
|
+
return {
|
|
241
|
+
...fallbackResult,
|
|
242
|
+
content: `Research failed with both models. Primary (${RESEARCH.MODEL}): ${primaryResult.error?.message}. Fallback (${RESEARCH.FALLBACK_MODEL}): ${fallbackResult.error?.message}`,
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
// No fallback or same model - return primary error
|
|
246
|
+
console.error(`[Research] All attempts failed: ${primaryResult.error?.message}`);
|
|
247
|
+
return {
|
|
248
|
+
...primaryResult,
|
|
249
|
+
content: `Research failed: ${primaryResult.error?.message}`,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
180
252
|
}
|
|
181
253
|
//# sourceMappingURL=research.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../src/clients/research.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,KAAK,EACL,SAAS,GAEV,MAAM,oBAAoB,CAAC;AAkC5B,wCAAwC;AACxC,iEAAiE;AACjE,MAAM,qBAAqB,GAAG;IAC5B,UAAU,EAAE,CAAC,EAAE,iDAAiD;IAChE,WAAW,EAAE,IAAI,EAAE,oBAAoB;IACvC,UAAU,EAAE,KAAK;CACT,CAAC;AAEX,0CAA0C;AAC1C,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAEpE,MAAM,OAAO,cAAc;IACjB,MAAM,CAAS;IAEvB;QACE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,OAAO,EAAE,QAAQ,CAAC,QAAQ;YAC1B,MAAM,EAAE,QAAQ,CAAC,OAAO;YACxB,OAAO,EAAE,QAAQ,CAAC,UAAU;YAC5B,UAAU,EAAE,CAAC,EAAE,8BAA8B;SAC9C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAc;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,GAAG,GAAG,KAIX,CAAC;QAEF,0BAA0B;QAC1B,IAAI,GAAG,CAAC,MAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yBAAyB;QACzB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC7B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC9B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,OAAe;QACtC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,gBAAgB,CAAC;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAM,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC/E,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../src/clients/research.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
* Implements robust error handling that NEVER crashes
|
|
5
5
|
*/
|
|
6
6
|
import { type StructuredError } from '../utils/errors.js';
|
|
7
|
-
|
|
7
|
+
interface ScrapeRequest {
|
|
8
8
|
url: string;
|
|
9
9
|
mode?: 'basic' | 'javascript';
|
|
10
10
|
timeout?: number;
|
|
11
11
|
country?: string;
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
interface ScrapeResponse {
|
|
14
14
|
content: string;
|
|
15
15
|
statusCode: number;
|
|
16
16
|
credits: number;
|
|
17
17
|
headers?: Record<string, string>;
|
|
18
18
|
error?: StructuredError;
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
interface BatchScrapeResult {
|
|
21
21
|
results: Array<ScrapeResponse & {
|
|
22
22
|
url: string;
|
|
23
23
|
}>;
|
|
@@ -67,4 +67,5 @@ export declare class ScraperClient {
|
|
|
67
67
|
*/
|
|
68
68
|
private processBatch;
|
|
69
69
|
}
|
|
70
|
+
export {};
|
|
70
71
|
//# sourceMappingURL=scraper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../../src/clients/scraper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,
|
|
1
|
+
{"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../../src/clients/scraper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAOD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAA2B;gBAE9B,MAAM,CAAC,EAAE,MAAM;IAS3B;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,IAAsB,GAAG,OAAO,CAAC,cAAc,CAAC;IA0J/F;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;OAGG;IACG,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA2DlG;;;OAGG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAa1H;;;OAGG;IACG,WAAW,CACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,EAClC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GACpF,OAAO,CAAC,iBAAiB,CAAC;IAiE7B;;;OAGG;YACW,YAAY;CAoB3B"}
|
package/dist/clients/search.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Implements robust error handling that NEVER crashes
|
|
5
5
|
*/
|
|
6
6
|
import { type StructuredError } from '../utils/errors.js';
|
|
7
|
-
|
|
7
|
+
interface SearchResult {
|
|
8
8
|
title: string;
|
|
9
9
|
link: string;
|
|
10
10
|
snippet: string;
|
|
@@ -18,7 +18,7 @@ export interface KeywordSearchResult {
|
|
|
18
18
|
related: string[];
|
|
19
19
|
error?: StructuredError;
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
interface MultipleSearchResponse {
|
|
22
22
|
searches: KeywordSearchResult[];
|
|
23
23
|
totalKeywords: number;
|
|
24
24
|
executionTime: number;
|
|
@@ -58,4 +58,5 @@ export declare class SearchClient {
|
|
|
58
58
|
*/
|
|
59
59
|
searchRedditMultiple(queries: string[], dateAfter?: string): Promise<Map<string, RedditSearchResult[]>>;
|
|
60
60
|
}
|
|
61
|
+
export {};
|
|
61
62
|
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/clients/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/clients/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAYD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAA+B;gBAElC,MAAM,CAAC,EAAE,MAAM;IAS3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsHzE;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAuDpF;;;OAGG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;CAY9G"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* Consolidated configuration
|
|
3
3
|
* All environment variables, constants, and LLM config in one place
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
export interface EnvConfig {
|
|
5
|
+
interface EnvConfig {
|
|
7
6
|
SCRAPER_API_KEY: string;
|
|
8
7
|
SEARCH_API_KEY: string | undefined;
|
|
9
8
|
REDDIT_CLIENT_ID: string | undefined;
|
|
@@ -13,6 +12,7 @@ export declare function parseEnv(): EnvConfig;
|
|
|
13
12
|
export declare const RESEARCH: {
|
|
14
13
|
readonly BASE_URL: string;
|
|
15
14
|
readonly MODEL: string;
|
|
15
|
+
readonly FALLBACK_MODEL: string;
|
|
16
16
|
readonly API_KEY: string;
|
|
17
17
|
readonly TIMEOUT_MS: number;
|
|
18
18
|
readonly REASONING_EFFORT: "low" | "medium" | "high";
|
|
@@ -23,7 +23,7 @@ export declare const SERVER: {
|
|
|
23
23
|
readonly VERSION: string;
|
|
24
24
|
readonly DESCRIPTION: string;
|
|
25
25
|
};
|
|
26
|
-
|
|
26
|
+
interface Capabilities {
|
|
27
27
|
reddit: boolean;
|
|
28
28
|
search: boolean;
|
|
29
29
|
scraping: boolean;
|
|
@@ -58,4 +58,5 @@ export declare const LLM_EXTRACTION: {
|
|
|
58
58
|
readonly MAX_TOKENS: 8000;
|
|
59
59
|
readonly ENABLE_REASONING: boolean;
|
|
60
60
|
};
|
|
61
|
+
export {};
|
|
61
62
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoDH,UAAU,SAAS;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,wBAAgB,QAAQ,IAAI,SAAS,CAOpC;AAMD,eAAO,MAAM,QAAQ;;;;;;;;CAUX,CAAC;AAQX,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAMX,UAAU,YAAY;IACpB,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,wBAAgB,eAAe,IAAI,YAAY,CAS9C;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,YAAY,GAAG,MAAM,CAS3E;AAMD,eAAO,MAAM,OAAO;;;;;;;;;CASV,CAAC;AAMX,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAC;AAMX,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWrC,CAAC;AAMX,eAAO,MAAM,cAAc;;;;CAIjB,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* All environment variables, constants, and LLM config in one place
|
|
4
4
|
*/
|
|
5
5
|
import { VERSION, PACKAGE_NAME, PACKAGE_DESCRIPTION } from '../version.js';
|
|
6
|
-
//
|
|
7
|
-
export { VERSION, PACKAGE_NAME, PACKAGE_DESCRIPTION } from '../version.js';
|
|
6
|
+
// Import version utilities (not re-exported - use directly from version.ts if needed externally)
|
|
8
7
|
// ============================================================================
|
|
9
8
|
// Safe Integer Parsing Helper
|
|
10
9
|
// ============================================================================
|
|
@@ -48,7 +47,8 @@ export function parseEnv() {
|
|
|
48
47
|
// ============================================================================
|
|
49
48
|
export const RESEARCH = {
|
|
50
49
|
BASE_URL: process.env.OPENROUTER_BASE_URL || 'https://openrouter.ai/api/v1',
|
|
51
|
-
MODEL: process.env.RESEARCH_MODEL || 'x-ai/grok-4
|
|
50
|
+
MODEL: process.env.RESEARCH_MODEL || 'x-ai/grok-4-fast',
|
|
51
|
+
FALLBACK_MODEL: process.env.RESEARCH_FALLBACK_MODEL || 'google/gemini-2.5-flash',
|
|
52
52
|
API_KEY: process.env.OPENROUTER_API_KEY || '',
|
|
53
53
|
// Timeout: min 1s, max 1hr, default 30min
|
|
54
54
|
TIMEOUT_MS: safeParseInt(process.env.API_TIMEOUT_MS, 1800000, 1000, 3600000),
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE3E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,43 +3,6 @@
|
|
|
3
3
|
* Enhanced with comprehensive prompting for bugs, programming questions, and general research
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
export declare const deepResearchParamsShape: {
|
|
7
|
-
questions: z.ZodArray<z.ZodObject<{
|
|
8
|
-
question: z.ZodString;
|
|
9
|
-
file_attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
10
|
-
path: z.ZodString;
|
|
11
|
-
start_line: z.ZodOptional<z.ZodNumber>;
|
|
12
|
-
end_line: z.ZodOptional<z.ZodNumber>;
|
|
13
|
-
description: z.ZodOptional<z.ZodString>;
|
|
14
|
-
}, "strip", z.ZodTypeAny, {
|
|
15
|
-
path: string;
|
|
16
|
-
start_line?: number | undefined;
|
|
17
|
-
end_line?: number | undefined;
|
|
18
|
-
description?: string | undefined;
|
|
19
|
-
}, {
|
|
20
|
-
path: string;
|
|
21
|
-
start_line?: number | undefined;
|
|
22
|
-
end_line?: number | undefined;
|
|
23
|
-
description?: string | undefined;
|
|
24
|
-
}>, "many">>;
|
|
25
|
-
}, "strip", z.ZodTypeAny, {
|
|
26
|
-
question: string;
|
|
27
|
-
file_attachments?: {
|
|
28
|
-
path: string;
|
|
29
|
-
start_line?: number | undefined;
|
|
30
|
-
end_line?: number | undefined;
|
|
31
|
-
description?: string | undefined;
|
|
32
|
-
}[] | undefined;
|
|
33
|
-
}, {
|
|
34
|
-
question: string;
|
|
35
|
-
file_attachments?: {
|
|
36
|
-
path: string;
|
|
37
|
-
start_line?: number | undefined;
|
|
38
|
-
end_line?: number | undefined;
|
|
39
|
-
description?: string | undefined;
|
|
40
|
-
}[] | undefined;
|
|
41
|
-
}>, "many">;
|
|
42
|
-
};
|
|
43
6
|
export declare const deepResearchParamsSchema: z.ZodObject<{
|
|
44
7
|
questions: z.ZodArray<z.ZodObject<{
|
|
45
8
|
question: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-research.d.ts","sourceRoot":"","sources":["../../src/schemas/deep-research.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"deep-research.d.ts","sourceRoot":"","sources":["../../src/schemas/deep-research.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4OxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -191,7 +191,8 @@ const researchQuestionSchema = z.object({
|
|
|
191
191
|
|
|
192
192
|
**Attach as many files as needed for complete context - there is no limit!**`),
|
|
193
193
|
});
|
|
194
|
-
|
|
194
|
+
// Shape object for external consumers who need individual field schemas
|
|
195
|
+
const deepResearchParamsShape = {
|
|
195
196
|
questions: z
|
|
196
197
|
.array(researchQuestionSchema, {
|
|
197
198
|
required_error: 'deep_research: Questions array is required',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-research.js","sourceRoot":"","sources":["../../src/schemas/deep-research.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC,EAAE,cAAc,EAAE,sCAAsC,EAAE,CAAC;SAClE,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;SAC/D,QAAQ,CACP;;;;;;;;;;;mFAW6E,CAC9E;IACH,UAAU,EAAE,CAAC;SACV,MAAM,CAAC,EAAE,kBAAkB,EAAE,4CAA4C,EAAE,CAAC;SAC5E,GAAG,CAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;SAChE,QAAQ,CAAC,EAAE,OAAO,EAAE,kEAAkE,EAAE,CAAC;SACzF,QAAQ,EAAE;SACV,QAAQ,CACP;;;kEAG4D,CAC7D;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC,EAAE,kBAAkB,EAAE,0CAA0C,EAAE,CAAC;SAC1E,GAAG,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;SAC9D,QAAQ,CAAC,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC;SACvF,QAAQ,EAAE;SACV,QAAQ,CACP;;;iFAG2E,CAC5E;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP;;;;;;;;;;;;;;qDAc+C,CAChD;CACJ,CAAC,CAAC;AAEH,6DAA6D;AAC7D,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC,EAAE,cAAc,EAAE,qCAAqC,EAAE,CAAC;SACjE,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;SAC9E,QAAQ,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oFAoE8E,CAC/E;IACH,gBAAgB,EAAE,CAAC;SAChB,KAAK,CAAC,oBAAoB,CAAC;SAC3B,QAAQ,EAAE;SACV,QAAQ,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAuDuE,CACxE;CACJ,CAAC,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"deep-research.js","sourceRoot":"","sources":["../../src/schemas/deep-research.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC,EAAE,cAAc,EAAE,sCAAsC,EAAE,CAAC;SAClE,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;SAC/D,QAAQ,CACP;;;;;;;;;;;mFAW6E,CAC9E;IACH,UAAU,EAAE,CAAC;SACV,MAAM,CAAC,EAAE,kBAAkB,EAAE,4CAA4C,EAAE,CAAC;SAC5E,GAAG,CAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;SAChE,QAAQ,CAAC,EAAE,OAAO,EAAE,kEAAkE,EAAE,CAAC;SACzF,QAAQ,EAAE;SACV,QAAQ,CACP;;;kEAG4D,CAC7D;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC,EAAE,kBAAkB,EAAE,0CAA0C,EAAE,CAAC;SAC1E,GAAG,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;SAC9D,QAAQ,CAAC,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC;SACvF,QAAQ,EAAE;SACV,QAAQ,CACP;;;iFAG2E,CAC5E;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP;;;;;;;;;;;;;;qDAc+C,CAChD;CACJ,CAAC,CAAC;AAEH,6DAA6D;AAC7D,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC,EAAE,cAAc,EAAE,qCAAqC,EAAE,CAAC;SACjE,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;SAC9E,QAAQ,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oFAoE8E,CAC/E;IACH,gBAAgB,EAAE,CAAC;SAChB,KAAK,CAAC,oBAAoB,CAAC;SAC3B,QAAQ,EAAE;SACV,QAAQ,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAuDuE,CACxE;CACJ,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,uBAAuB,GAAG;IAC9B,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,sBAAsB,EAAE;QAC7B,cAAc,EAAE,4CAA4C;QAC5D,kBAAkB,EAAE,2CAA2C;KAChE,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,kFAAkF,EAAE,CAAC;SACvG,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,uDAAuD,EAAE,CAAC;SAC7E,QAAQ,CACP;;;;;;;;;;;;;;;;;;2IAkBqI,CACtI;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const scrapeLinksParamsShape: {
|
|
3
|
-
urls: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
4
|
-
timeout: z.ZodDefault<z.ZodNumber>;
|
|
5
|
-
use_llm: z.ZodDefault<z.ZodBoolean>;
|
|
6
|
-
what_to_extract: z.ZodOptional<z.ZodString>;
|
|
7
|
-
};
|
|
8
2
|
export declare const scrapeLinksParamsSchema: z.ZodObject<{
|
|
9
3
|
urls: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
10
4
|
timeout: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrape-links.d.ts","sourceRoot":"","sources":["../../src/schemas/scrape-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"scrape-links.d.ts","sourceRoot":"","sources":["../../src/schemas/scrape-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsCxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAAmC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH"}
|
|
@@ -5,7 +5,7 @@ const urlSchema = z
|
|
|
5
5
|
.url({ message: 'scrape_links: Invalid URL format' })
|
|
6
6
|
.refine(url => url.startsWith('http://') || url.startsWith('https://'), { message: 'scrape_links: URL must use http:// or https:// protocol' });
|
|
7
7
|
// Input schema for scrape_links tool
|
|
8
|
-
|
|
8
|
+
const scrapeLinksParamsShape = {
|
|
9
9
|
urls: z
|
|
10
10
|
.array(urlSchema, {
|
|
11
11
|
required_error: 'scrape_links: URLs array is required',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrape-links.js","sourceRoot":"","sources":["../../src/schemas/scrape-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sCAAsC;AACtC,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,CAAC,EAAE,cAAc,EAAE,+BAA+B,EAAE,CAAC;KAC3D,GAAG,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;KACpD,MAAM,CACL,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAC9D,EAAE,OAAO,EAAE,yDAAyD,EAAE,CACvE,CAAC;AAEJ,qCAAqC;AACrC,MAAM,
|
|
1
|
+
{"version":3,"file":"scrape-links.js","sourceRoot":"","sources":["../../src/schemas/scrape-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sCAAsC;AACtC,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,CAAC,EAAE,cAAc,EAAE,+BAA+B,EAAE,CAAC;KAC3D,GAAG,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;KACpD,MAAM,CACL,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAC9D,EAAE,OAAO,EAAE,yDAAyD,EAAE,CACvE,CAAC;AAEJ,qCAAqC;AACrC,MAAM,sBAAsB,GAAG;IAC7B,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,SAAS,EAAE;QAChB,cAAc,EAAE,sCAAsC;QACtD,kBAAkB,EAAE,qCAAqC;KAC1D,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;SAC/D,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;SACzE,QAAQ,CAAC,sOAAsO,CAAC;IACnP,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,EAAE,kBAAkB,EAAE,wCAAwC,EAAE,CAAC;SACxE,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;SACvE,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC;SACxE,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,OAAO,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,kBAAkB,EAAE,yCAAyC,EAAE,CAAC;SAC1E,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,2EAA2E,CAAC;IACxF,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,sEAAsE,EAAE,CAAC;SAC9F,QAAQ,EAAE;SACV,QAAQ,CAAC,0GAA0G,CAAC;CACxH,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const webSearchParamsShape: {
|
|
3
|
-
keywords: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
4
|
-
};
|
|
5
2
|
export declare const webSearchParamsSchema: z.ZodObject<{
|
|
6
3
|
keywords: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
7
4
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../src/schemas/web-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../src/schemas/web-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,eAAO,MAAM,qBAAqB;;;;;;EAAiC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH"}
|
|
@@ -14,7 +14,7 @@ const keywordsSchema = z
|
|
|
14
14
|
.min(1, { message: 'web_search: At least 1 keyword is required' })
|
|
15
15
|
.max(100, { message: 'web_search: Maximum 100 keywords allowed per request' })
|
|
16
16
|
.describe('Array of search keywords (1-100 keywords). Recommend 3-7 keywords for comprehensive research. Supports Google search operators (site:, -exclusion, "exact phrase", filetype:). More keywords = broader coverage and diverse perspectives.');
|
|
17
|
-
|
|
17
|
+
const webSearchParamsShape = {
|
|
18
18
|
keywords: keywordsSchema,
|
|
19
19
|
};
|
|
20
20
|
export const webSearchParamsSchema = z.object(webSearchParamsShape);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../src/schemas/web-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iCAAiC;AACjC,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC,EAAE,cAAc,EAAE,iCAAiC,EAAE,CAAC;KAC7D,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;KAC1D,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;KAC1E,MAAM,CACL,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EACxB,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAC7D,CAAC;AAEJ,mCAAmC;AACnC,MAAM,cAAc,GAAG,CAAC;KACrB,KAAK,CAAC,aAAa,EAAE;IACpB,cAAc,EAAE,wCAAwC;IACxD,kBAAkB,EAAE,uCAAuC;CAC5D,CAAC;KACD,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;KACjE,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC;KAC7E,QAAQ,CAAC,2OAA2O,CAAC,CAAC;AAEzP,MAAM,
|
|
1
|
+
{"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../src/schemas/web-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iCAAiC;AACjC,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC,EAAE,cAAc,EAAE,iCAAiC,EAAE,CAAC;KAC7D,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;KAC1D,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;KAC1E,MAAM,CACL,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EACxB,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAC7D,CAAC;AAEJ,mCAAmC;AACnC,MAAM,cAAc,GAAG,CAAC;KACrB,KAAK,CAAC,aAAa,EAAE;IACpB,cAAc,EAAE,wCAAwC;IACxD,kBAAkB,EAAE,uCAAuC;CAC5D,CAAC;KACD,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;KACjE,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC;KAC7E,QAAQ,CAAC,2OAA2O,CAAC,CAAC;AAEzP,MAAM,oBAAoB,GAAG;IAC3B,QAAQ,EAAE,cAAc;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
|