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.
Files changed (50) hide show
  1. package/dist/clients/reddit.d.ts +4 -3
  2. package/dist/clients/reddit.d.ts.map +1 -1
  3. package/dist/clients/research.d.ts +12 -2
  4. package/dist/clients/research.d.ts.map +1 -1
  5. package/dist/clients/research.js +108 -36
  6. package/dist/clients/research.js.map +1 -1
  7. package/dist/clients/scraper.d.ts +4 -3
  8. package/dist/clients/scraper.d.ts.map +1 -1
  9. package/dist/clients/search.d.ts +3 -2
  10. package/dist/clients/search.d.ts.map +1 -1
  11. package/dist/config/index.d.ts +4 -3
  12. package/dist/config/index.d.ts.map +1 -1
  13. package/dist/config/index.js +3 -3
  14. package/dist/config/index.js.map +1 -1
  15. package/dist/schemas/deep-research.d.ts +0 -37
  16. package/dist/schemas/deep-research.d.ts.map +1 -1
  17. package/dist/schemas/deep-research.js +2 -1
  18. package/dist/schemas/deep-research.js.map +1 -1
  19. package/dist/schemas/scrape-links.d.ts +0 -6
  20. package/dist/schemas/scrape-links.d.ts.map +1 -1
  21. package/dist/schemas/scrape-links.js +1 -1
  22. package/dist/schemas/scrape-links.js.map +1 -1
  23. package/dist/schemas/web-search.d.ts +0 -3
  24. package/dist/schemas/web-search.d.ts.map +1 -1
  25. package/dist/schemas/web-search.js +1 -1
  26. package/dist/schemas/web-search.js.map +1 -1
  27. package/dist/services/llm-processor.d.ts +0 -10
  28. package/dist/services/llm-processor.d.ts.map +1 -1
  29. package/dist/services/llm-processor.js +2 -1
  30. package/dist/services/llm-processor.js.map +1 -1
  31. package/dist/tools/definitions.d.ts.map +1 -1
  32. package/dist/tools/definitions.js +40 -2
  33. package/dist/tools/definitions.js.map +1 -1
  34. package/dist/tools/reddit.d.ts +2 -1
  35. package/dist/tools/reddit.d.ts.map +1 -1
  36. package/dist/tools/reddit.js +3 -3
  37. package/dist/tools/reddit.js.map +1 -1
  38. package/dist/utils/errors.d.ts +3 -51
  39. package/dist/utils/errors.d.ts.map +1 -1
  40. package/dist/utils/errors.js +10 -7
  41. package/dist/utils/errors.js.map +1 -1
  42. package/dist/utils/url-aggregator.d.ts +5 -4
  43. package/dist/utils/url-aggregator.d.ts.map +1 -1
  44. package/dist/utils/url-aggregator.js +30 -1
  45. package/dist/utils/url-aggregator.js.map +1 -1
  46. package/dist/version.d.ts +0 -10
  47. package/dist/version.d.ts.map +1 -1
  48. package/dist/version.js +1 -10
  49. package/dist/version.js.map +1 -1
  50. package/package.json +1 -1
@@ -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
- export interface Post {
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
- export interface BatchPostResult {
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
- export interface CommentAllocation {
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,MAAM,WAAW,IAAI;IACnB,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,MAAM,WAAW,eAAe;IAC9B,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,MAAM,WAAW,iBAAiB;IAChC,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"}
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
- export interface ResearchParams {
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
- * Perform research with retry logic
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,MAAM,WAAW,cAAc;IAC7B,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;AAaD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;;IAevB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;;OAIG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAyIlE"}
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"}
@@ -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
- * Perform research with retry logic
63
- * Returns a ResearchResponse - may contain error field on failure
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
- async research(params) {
67
- const { question, systemPrompt, reasoningEffort = RESEARCH.REASONING_EFFORT, maxSearchResults = RESEARCH.MAX_URLS, maxTokens = 32000, temperature = 0.3, responseFormat, } = params;
68
- // Validate input
69
- if (!question?.trim()) {
70
- return {
71
- id: '',
72
- model: RESEARCH.MODEL,
73
- created: Date.now(),
74
- content: '',
75
- error: {
76
- code: ErrorCode.INVALID_INPUT,
77
- message: 'Research question cannot be empty',
78
- retryable: false,
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
- const messages = [];
83
- if (systemPrompt) {
84
- messages.push({ role: 'system', content: systemPrompt });
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
- requestPayload.response_format = responseFormat;
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, // Might be a transient issue
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 || RESEARCH.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
- // All attempts failed - return error response
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: RESEARCH.MODEL,
188
+ model,
171
189
  created: Date.now(),
172
- content: `Research failed: ${errorMessage}`,
190
+ content: '',
173
191
  error: lastError || {
174
192
  code: ErrorCode.UNKNOWN_ERROR,
175
- message: errorMessage,
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":"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"}
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
- export interface ScrapeRequest {
7
+ interface ScrapeRequest {
8
8
  url: string;
9
9
  mode?: 'basic' | 'javascript';
10
10
  timeout?: number;
11
11
  country?: string;
12
12
  }
13
- export interface ScrapeResponse {
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
- export interface BatchScrapeResult {
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,MAAM,WAAW,aAAa;IAC5B,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,MAAM,WAAW,cAAc;IAC7B,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,MAAM,WAAW,iBAAiB;IAChC,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"}
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"}
@@ -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
- export interface SearchResult {
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
- export interface MultipleSearchResponse {
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,MAAM,WAAW,YAAY;IAC3B,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,MAAM,WAAW,sBAAsB;IACrC,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"}
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"}
@@ -2,8 +2,7 @@
2
2
  * Consolidated configuration
3
3
  * All environment variables, constants, and LLM config in one place
4
4
  */
5
- export { VERSION, PACKAGE_NAME, PACKAGE_DESCRIPTION } from '../version.js';
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
- export interface Capabilities {
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;AAKH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAgD3E,MAAM,WAAW,SAAS;IACxB,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;;;;;;;CASX,CAAC;AAQX,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAMX,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,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"}
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"}
@@ -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
- // Re-export version utilities for convenience
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.1-fast',
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),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
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;AA4MxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BnC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,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
- export const deepResearchParamsShape = {
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,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,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
+ {"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;AAYxB,eAAO,MAAM,sBAAsB;;;;;CAwBlC,CAAC;AAEF,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"}
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
- export const scrapeLinksParamsShape = {
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,CAAC,MAAM,sBAAsB,GAAG;IACpC,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
+ {"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;AAsBxB,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,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"}
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
- export const webSearchParamsShape = {
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,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ,EAAE,cAAc;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
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"}