@librechat/agents 3.7.9 → 3.7.11

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 (59) hide show
  1. package/dist/cjs/graphs/Graph.cjs +11 -1
  2. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  3. package/dist/cjs/graphs/MultiAgentGraph.cjs +36 -3
  4. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
  5. package/dist/cjs/langfuse.cjs +6 -2
  6. package/dist/cjs/langfuse.cjs.map +1 -1
  7. package/dist/cjs/run.cjs +5 -1
  8. package/dist/cjs/run.cjs.map +1 -1
  9. package/dist/cjs/tools/ToolNode.cjs +12 -2
  10. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  11. package/dist/cjs/tools/search/metrics.cjs +234 -0
  12. package/dist/cjs/tools/search/metrics.cjs.map +1 -0
  13. package/dist/cjs/tools/search/rerankers.cjs +80 -68
  14. package/dist/cjs/tools/search/rerankers.cjs.map +1 -1
  15. package/dist/cjs/tools/search/search.cjs +95 -45
  16. package/dist/cjs/tools/search/search.cjs.map +1 -1
  17. package/dist/cjs/tools/search/tool.cjs +77 -49
  18. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  19. package/dist/cjs/tools/search/utils.cjs.map +1 -1
  20. package/dist/esm/graphs/Graph.mjs +11 -1
  21. package/dist/esm/graphs/Graph.mjs.map +1 -1
  22. package/dist/esm/graphs/MultiAgentGraph.mjs +36 -3
  23. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
  24. package/dist/esm/langfuse.mjs +6 -2
  25. package/dist/esm/langfuse.mjs.map +1 -1
  26. package/dist/esm/run.mjs +5 -1
  27. package/dist/esm/run.mjs.map +1 -1
  28. package/dist/esm/tools/ToolNode.mjs +12 -2
  29. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  30. package/dist/esm/tools/search/metrics.mjs +234 -0
  31. package/dist/esm/tools/search/metrics.mjs.map +1 -0
  32. package/dist/esm/tools/search/rerankers.mjs +80 -68
  33. package/dist/esm/tools/search/rerankers.mjs.map +1 -1
  34. package/dist/esm/tools/search/search.mjs +96 -46
  35. package/dist/esm/tools/search/search.mjs.map +1 -1
  36. package/dist/esm/tools/search/tool.mjs +77 -49
  37. package/dist/esm/tools/search/tool.mjs.map +1 -1
  38. package/dist/esm/tools/search/utils.mjs.map +1 -1
  39. package/dist/types/langfuse.d.ts +5 -1
  40. package/dist/types/tools/ToolNode.d.ts +4 -1
  41. package/dist/types/tools/search/metrics.d.ts +15 -0
  42. package/dist/types/tools/search/rerankers.d.ts +30 -5
  43. package/dist/types/tools/search/tool.d.ts +7 -1
  44. package/dist/types/tools/search/types.d.ts +88 -4
  45. package/dist/types/tools/search/utils.d.ts +2 -10
  46. package/dist/types/types/tools.d.ts +5 -0
  47. package/package.json +1 -1
  48. package/src/graphs/Graph.ts +10 -0
  49. package/src/graphs/MultiAgentGraph.ts +71 -2
  50. package/src/langfuse.ts +12 -0
  51. package/src/run.ts +4 -0
  52. package/src/tools/ToolNode.ts +19 -0
  53. package/src/tools/search/metrics.ts +400 -0
  54. package/src/tools/search/rerankers.ts +160 -97
  55. package/src/tools/search/search.ts +139 -56
  56. package/src/tools/search/tool.ts +126 -62
  57. package/src/tools/search/types.ts +104 -4
  58. package/src/tools/search/utils.ts +2 -10
  59. package/src/types/tools.ts +5 -0
@@ -1,6 +1,7 @@
1
- import { createDefaultLogger, getAttribution } from "./utils.mjs";
1
+ import { createDefaultLogger, formatErrorForLog, getAttribution } from "./utils.mjs";
2
2
  import { createKeenableAPI } from "./keenable-search.mjs";
3
3
  import { createTavilyAPI } from "./tavily-search.mjs";
4
+ import { createSearchMetrics } from "./metrics.mjs";
4
5
  import { createCrwAPI } from "./crw-search.mjs";
5
6
  import axios from "axios";
6
7
  import { RecursiveCharacterTextSplitter } from "@langchain/textsplitters";
@@ -65,25 +66,35 @@ function createSourceUpdateCallback(sourceMap) {
65
66
  });
66
67
  };
67
68
  }
68
- const getHighlights = async ({ query, content, reranker, topResults = 5, maxContentLength = DEFAULT_MAX_CONTENT_LENGTH, chunkOptions, logger }) => {
69
- const logger_ = logger || createDefaultLogger();
70
- if (!content) {
71
- logger_.warn("No content provided for highlights");
72
- return;
73
- }
74
- if (!reranker) {
75
- logger_.warn("No reranker provided for highlights");
69
+ const getHighlights = async ({ query, content, reranker, metrics, topResults = 5, maxContentLength = DEFAULT_MAX_CONTENT_LENGTH, chunkOptions }) => {
70
+ if (!content || !reranker) return;
71
+ const chunkStartedAt = Date.now();
72
+ let documents;
73
+ try {
74
+ documents = await chunker.splitText(truncateContent(content, maxContentLength), chunkOptions);
75
+ } catch (error) {
76
+ metrics.recordRerank({
77
+ provider: reranker.provider,
78
+ chunks: 0,
79
+ results: 0,
80
+ durationMs: Date.now() - chunkStartedAt,
81
+ reason: "chunk_error",
82
+ error: formatErrorForLog(error)
83
+ });
76
84
  return;
77
85
  }
86
+ const rerankStartedAt = Date.now();
78
87
  try {
79
- const documents = await chunker.splitText(truncateContent(content, maxContentLength), chunkOptions);
80
- if (Array.isArray(documents)) return await reranker.rerank(query, documents, topResults);
81
- else {
82
- logger_.error("Expected documents to be an array, got:", typeof documents);
83
- return;
84
- }
88
+ return await reranker.rerank(query, documents, topResults, metrics);
85
89
  } catch (error) {
86
- logger_.error("Error in content processing:", error);
90
+ metrics.recordRerank({
91
+ provider: reranker.provider,
92
+ chunks: documents.length,
93
+ results: 0,
94
+ durationMs: Date.now() - rerankStartedAt,
95
+ reason: "error",
96
+ error: formatErrorForLog(error)
97
+ });
87
98
  return;
88
99
  }
89
100
  };
@@ -324,7 +335,6 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
324
335
  content: truncateContent(chunker.cleanText(content), maxContentLength)
325
336
  };
326
337
  }
327
- logger_.error(`Error scraping ${url}: ${response.error ?? "Unknown error"}`);
328
338
  return {
329
339
  url,
330
340
  attribution,
@@ -332,50 +342,84 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
332
342
  content: ""
333
343
  };
334
344
  };
335
- const addHighlights = async (result, query, onGetHighlights) => {
336
- if (result.error != null) return result;
345
+ const addHighlights = async (result, query, metrics, onGetHighlights) => {
346
+ const highlights = await getHighlights({
347
+ query,
348
+ reranker,
349
+ metrics,
350
+ topResults,
351
+ content: result.content,
352
+ maxContentLength,
353
+ chunkOptions
354
+ });
355
+ if (onGetHighlights) onGetHighlights(result.url);
356
+ return {
357
+ ...result,
358
+ highlights
359
+ };
360
+ };
361
+ const processLink = async (url, response, query, metrics, onGetHighlights) => {
362
+ let scraped;
337
363
  try {
338
- const highlights = await getHighlights({
339
- query,
340
- reranker,
341
- topResults,
342
- content: result.content,
343
- maxContentLength,
344
- chunkOptions,
345
- logger: logger_
364
+ scraped = processResponse(url, response);
365
+ } catch (error) {
366
+ metrics.recordScrape({
367
+ url,
368
+ error: String(error)
346
369
  });
347
- if (onGetHighlights) onGetHighlights(result.url);
348
370
  return {
349
- ...result,
350
- highlights
371
+ url,
372
+ error: true,
373
+ content: ""
351
374
  };
352
- } catch (error) {
353
- logger_.error("Error processing scraped content:", error);
354
- return result;
355
375
  }
376
+ if (scraped.error === true) {
377
+ metrics.recordScrape({
378
+ url,
379
+ error: response.error ?? "Unknown error"
380
+ });
381
+ return scraped;
382
+ }
383
+ const result = await addHighlights(scraped, query, metrics, onGetHighlights).catch((error) => {
384
+ logger_.error("Error processing scraped content:", error);
385
+ return scraped;
386
+ });
387
+ metrics.recordScrape({
388
+ url,
389
+ chars: result.content.length,
390
+ highlights: result.highlights?.length ?? 0
391
+ });
392
+ return result;
356
393
  };
357
- const webScraper = { scrapeMany: async ({ query, links, onGetHighlights }) => {
358
- logger_.debug(`Scraping ${links.length} links`);
394
+ const webScraper = { scrapeMany: async ({ query, links, metrics, onGetHighlights }) => {
395
+ let responses;
359
396
  try {
360
- let responses;
361
397
  if (scraper.scrapeUrls) responses = await scraper.scrapeUrls(links);
362
- else responses = await Promise.all(links.map((link) => scraper.scrapeUrl(link, {}).catch((error) => {
363
- logger_.error(`Error scraping ${link}:`, error);
364
- return [link, {
365
- success: false,
366
- error: String(error)
367
- }];
368
- })));
369
- return await Promise.all(responses.map(([url, response]) => addHighlights(processResponse(url, response), query, onGetHighlights)));
398
+ else responses = await Promise.all(links.map((link) => scraper.scrapeUrl(link, {}).catch((error) => [link, {
399
+ success: false,
400
+ error: String(error)
401
+ }])));
402
+ } catch (error) {
403
+ logger_.error("Error in scrapeMany:", error);
404
+ const message = String(error);
405
+ for (const link of links) metrics.recordScrape({
406
+ url: link,
407
+ error: message
408
+ });
409
+ return [];
410
+ }
411
+ try {
412
+ return await Promise.all(responses.map(([url, response]) => processLink(url, response, query, metrics, onGetHighlights)));
370
413
  } catch (error) {
371
414
  logger_.error("Error in scrapeMany:", error);
372
415
  return [];
373
416
  }
374
417
  } };
375
- const fetchContents = async ({ links, query, target, onGetHighlights, onContentScraped }) => {
418
+ const fetchContents = async ({ links, query, target, metrics, onGetHighlights, onContentScraped }) => {
376
419
  const initialLinks = links.slice(0, target);
377
420
  const results = await webScraper.scrapeMany({
378
421
  query,
422
+ metrics,
379
423
  links: initialLinks,
380
424
  onGetHighlights
381
425
  });
@@ -390,7 +434,8 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
390
434
  });
391
435
  }
392
436
  };
393
- const processSources = async ({ result, numElements, query, news, proMode = true, onGetHighlights }) => {
437
+ const processSources = async ({ result, numElements, query, news, proMode = true, onGetHighlights, metrics: ownerMetrics }) => {
438
+ const metrics = ownerMetrics ?? createSearchMetrics(logger_);
394
439
  try {
395
440
  if (!result.data) return {
396
441
  organic: [],
@@ -407,6 +452,7 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
407
452
  wikiSourceMap.set(wikiSources[0].link, wikiSources[0]);
408
453
  await fetchContents({
409
454
  query,
455
+ metrics,
410
456
  target: 1,
411
457
  onGetHighlights,
412
458
  onContentScraped: createSourceUpdateCallback(wikiSourceMap),
@@ -432,6 +478,7 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
432
478
  const promises = [];
433
479
  if (organicLinks.length > 0) promises.push(fetchContents({
434
480
  query,
481
+ metrics,
435
482
  onGetHighlights,
436
483
  onContentScraped,
437
484
  links: organicLinks,
@@ -439,6 +486,7 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
439
486
  }));
440
487
  if (news && topStoryLinks.length > 0) promises.push(fetchContents({
441
488
  query,
489
+ metrics,
442
490
  onGetHighlights,
443
491
  onContentScraped,
444
492
  links: topStoryLinks,
@@ -458,6 +506,8 @@ const createSourceProcessor = (config = {}, scraperInstance) => {
458
506
  ...result.data,
459
507
  error: error instanceof Error ? error.message : String(error)
460
508
  };
509
+ } finally {
510
+ if (ownerMetrics == null) metrics.flush();
461
511
  }
462
512
  };
463
513
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"search.mjs","names":[],"sources":["../../../../src/tools/search/search.ts"],"mappings":"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"}
1
+ {"version":3,"file":"search.mjs","names":[],"sources":["../../../../src/tools/search/search.ts"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { createDefaultLogger } from "./utils.mjs";
4
4
  import { formatResultsForLLM } from "./format.mjs";
5
5
  import { INTENT_PROPERTY } from "../intentArg.mjs";
6
6
  import { WebSearchToolDescription, WebSearchToolName, countrySchema, dateSchema, imagesSchema, newsSchema, querySchema, videosSchema } from "./schema.mjs";
7
+ import { createSearchMetrics } from "./metrics.mjs";
7
8
  import { createSearchAPI, createSourceProcessor } from "./search.mjs";
8
9
  import { createKeenableScraper } from "./keenable-scraper.mjs";
9
10
  import { createSerperScraper } from "./serper-scraper.mjs";
@@ -20,53 +21,73 @@ function resolveSearchOutcome(data, query) {
20
21
  if (count === 0) return;
21
22
  return `Found ${count} result${count === 1 ? "" : "s"} for "${query}"`;
22
23
  }
23
- async function executeParallelSearches({ searchAPI, query, date, country, safeSearch, images, videos, news, logger }) {
24
- const searchTasks = [searchAPI.getSources({
25
- query,
26
- date,
27
- country,
28
- safeSearch
29
- })];
30
- if (images) searchTasks.push(searchAPI.getSources({
31
- query,
32
- date,
33
- country,
34
- safeSearch,
35
- type: "images"
36
- }).catch((error) => {
37
- logger.error("Error fetching images:", error);
38
- return {
39
- success: false,
40
- error: `Images search failed: ${error instanceof Error ? error.message : String(error)}`
41
- };
42
- }));
43
- if (videos) searchTasks.push(searchAPI.getSources({
44
- query,
45
- date,
46
- country,
47
- safeSearch,
48
- type: "videos"
49
- }).catch((error) => {
50
- logger.error("Error fetching videos:", error);
51
- return {
52
- success: false,
53
- error: `Videos search failed: ${error instanceof Error ? error.message : String(error)}`
54
- };
55
- }));
56
- if (news) searchTasks.push(searchAPI.getSources({
57
- query,
58
- date,
59
- country,
60
- safeSearch,
61
- type: "news"
62
- }).catch((error) => {
63
- logger.error("Error fetching news:", error);
64
- return {
65
- success: false,
66
- error: `News search failed: ${error instanceof Error ? error.message : String(error)}`
67
- };
68
- }));
24
+ const countWebResults = (data) => {
25
+ const organic = data.organic ?? [];
26
+ const topStories = data.topStories ?? [];
27
+ if (organic.length === 0 || topStories.length === 0) return organic.length + topStories.length;
28
+ const links = /* @__PURE__ */ new Set();
29
+ let unlinked = 0;
30
+ for (const row of [...organic, ...topStories]) {
31
+ if (row.link) {
32
+ links.add(row.link);
33
+ continue;
34
+ }
35
+ unlinked += 1;
36
+ }
37
+ return links.size + unlinked;
38
+ };
39
+ const countResults = (type, data) => {
40
+ if (data == null) return 0;
41
+ if (type === "images") return data.images?.length ?? 0;
42
+ if (type === "videos") return data.videos?.length ?? 0;
43
+ if (type === "news") return data.news?.length ?? 0;
44
+ return countWebResults(data);
45
+ };
46
+ async function executeParallelSearches({ searchAPI, query, date, country, safeSearch, images, videos, news, logger, provider = "unknown", metrics }) {
47
+ const collector = metrics ?? createSearchMetrics(logger);
48
+ let mainFailure;
49
+ const runSearch = async (type) => {
50
+ const startedAt = Date.now();
51
+ try {
52
+ const result = await searchAPI.getSources({
53
+ query,
54
+ date,
55
+ country,
56
+ safeSearch,
57
+ ...type !== "web" && { type }
58
+ });
59
+ collector.recordSearch({
60
+ provider,
61
+ type,
62
+ results: countResults(type, result.data),
63
+ durationMs: Date.now() - startedAt,
64
+ error: result.success ? void 0 : result.error ?? "Search failed"
65
+ });
66
+ return result;
67
+ } catch (error) {
68
+ const message = error instanceof Error ? error.message : String(error);
69
+ collector.recordSearch({
70
+ provider,
71
+ type,
72
+ results: 0,
73
+ durationMs: Date.now() - startedAt,
74
+ error: message,
75
+ thrown: true
76
+ });
77
+ if (type === "web") mainFailure = { error };
78
+ return {
79
+ success: false,
80
+ error: message
81
+ };
82
+ }
83
+ };
84
+ const searchTasks = [runSearch("web")];
85
+ if (images) searchTasks.push(runSearch("images"));
86
+ if (videos) searchTasks.push(runSearch("videos"));
87
+ if (news) searchTasks.push(runSearch("news"));
69
88
  const results = await Promise.all(searchTasks);
89
+ if (metrics == null) collector.flush();
90
+ if (mainFailure != null) throw mainFailure.error;
70
91
  const mainResult = results[0];
71
92
  if (!mainResult.success) throw new Error(mainResult.error ?? "Search failed");
72
93
  const mergedResults = { ...mainResult.data };
@@ -108,8 +129,9 @@ async function executeParallelSearches({ searchAPI, query, date, country, safeSe
108
129
  data: mergedResults
109
130
  };
110
131
  }
111
- function createSearchProcessor({ searchAPI, safeSearch, supportsImages, supportsVideos, supportsNews, sourceProcessor, onGetHighlights, mainExpandBy, separatorExpandBy, logger }) {
132
+ function createSearchProcessor({ searchAPI, provider, safeSearch, supportsImages, supportsVideos, supportsNews, sourceProcessor, onGetHighlights, mainExpandBy, separatorExpandBy, logger }) {
112
133
  return async function({ query, date, country, proMode = true, maxSources = 5, onSearchResults, images = false, videos = false, news = false }) {
134
+ const metrics = createSearchMetrics(logger);
113
135
  try {
114
136
  const searchResult = await executeParallelSearches({
115
137
  searchAPI,
@@ -120,12 +142,15 @@ function createSearchProcessor({ searchAPI, safeSearch, supportsImages, supports
120
142
  images: supportsImages && images,
121
143
  videos: supportsVideos && videos,
122
144
  news: supportsNews && news,
123
- logger
145
+ logger,
146
+ provider,
147
+ metrics
124
148
  });
125
149
  onSearchResults?.(searchResult);
126
150
  return expandHighlights(await sourceProcessor.processSources({
127
151
  query,
128
152
  news,
153
+ metrics,
129
154
  result: searchResult,
130
155
  proMode,
131
156
  onGetHighlights,
@@ -142,6 +167,8 @@ function createSearchProcessor({ searchAPI, safeSearch, supportsImages, supports
142
167
  relatedSearches: [],
143
168
  error: error instanceof Error ? error.message : String(error)
144
169
  };
170
+ } finally {
171
+ metrics.flush();
145
172
  }
146
173
  };
147
174
  }
@@ -285,7 +312,7 @@ const createSearchTool = (config = {}) => {
285
312
  httpsAgent,
286
313
  logger
287
314
  });
288
- if (!selectedReranker) logger.warn("No reranker selected. Using default ranking.");
315
+ if (!selectedReranker && rerankerType !== "none") logger.warn("No reranker selected. Using default ranking.");
289
316
  const sourceProcessor = createSourceProcessor({
290
317
  reranker: selectedReranker,
291
318
  topResults,
@@ -299,6 +326,7 @@ const createSearchTool = (config = {}) => {
299
326
  return createTool({
300
327
  search: createSearchProcessor({
301
328
  searchAPI,
329
+ provider: searchProvider,
302
330
  safeSearch,
303
331
  supportsImages: searchProvider !== "keenable",
304
332
  supportsVideos: searchProvider !== "tavily" && searchProvider !== "keenable" && searchProvider !== "crw",
@@ -1 +1 @@
1
- {"version":3,"file":"tool.mjs","names":["params"],"sources":["../../../../src/tools/search/tool.ts"],"mappings":"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"}
1
+ {"version":3,"file":"tool.mjs","names":["params"],"sources":["../../../../src/tools/search/tool.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../../../../src/tools/search/utils.ts"],"mappings":"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"}
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../../../src/tools/search/utils.ts"],"mappings":"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"}
@@ -44,11 +44,15 @@ type LangfuseAttributeParams = AgentLangfuseHandlerParams & {
44
44
  };
45
45
  export declare function isExplicitLangfuseConfig(langfuse?: t.LangfuseConfig): boolean;
46
46
  export declare function createLibreChatTraceAttributes(attributes: LangfuseConfigTraceAttributes): LangfuseTraceAttributes;
47
- export declare function createLangfuseTraceMetadata({ messageId, parentMessageId, agentId, agentName, }: {
47
+ export declare function createLangfuseTraceMetadata({ messageId, parentMessageId, agentId, agentName, rootAgentId, rootAgentName, activeAgentId, activeAgentName, }: {
48
48
  messageId?: unknown;
49
49
  parentMessageId?: unknown;
50
50
  agentId?: unknown;
51
51
  agentName?: unknown;
52
+ rootAgentId?: unknown;
53
+ rootAgentName?: unknown;
54
+ activeAgentId?: unknown;
55
+ activeAgentName?: unknown;
52
56
  }): LangfuseTraceMetadata;
53
57
  export declare function getLangfuseTraceName(traceMetadata?: LangfuseTraceMetadata, fallback?: string): string;
54
58
  export declare function shouldCreateLangfuseHandler(langfuse?: t.LangfuseConfig): boolean;
@@ -157,6 +157,9 @@ export declare class ToolNode<T = any> extends RunnableCallable<T, T> {
157
157
  * even where `agentId` (the subagent-scope marker) is undefined.
158
158
  */
159
159
  private executingAgentId?;
160
+ private executingAgentName?;
161
+ private rootAgentId?;
162
+ private rootAgentName?;
160
163
  /** Tool names that bypass event dispatch and execute directly (e.g., graph-managed handoff tools) */
161
164
  private directToolNames?;
162
165
  /**
@@ -217,7 +220,7 @@ export declare class ToolNode<T = any> extends RunnableCallable<T, T> {
217
220
  * other's in-flight state.
218
221
  */
219
222
  private anonBatchCounter;
220
- constructor({ tools, toolMap, name, tags, trace, runLangfuse, agentLangfuse, errorHandler, toolCallStepIds, handleToolErrors, loadRuntimeTools, toolRegistry, toolDefinitions, getDiscoveredToolNames, sessions, codeSessionKey, eventDrivenMode, eagerEventToolExecution, eagerEventToolExecutions, eagerEventToolUsageCount, eagerEventToolSuppressions, agentId, executingAgentId, directToolNames, interruptingToolNames, codeSessionToolNames, maxContextTokens, maxToolResultChars, hookRegistry, humanInTheLoop, toolOutputReferences, toolOutputRegistry, toolExecution, fileCheckpointer, getBreakerSignal, getRunScope, restoreRunStepResumeState, createRunStepResumeState, }: t.ToolNodeConstructorParams);
223
+ constructor({ tools, toolMap, name, tags, trace, runLangfuse, agentLangfuse, errorHandler, toolCallStepIds, handleToolErrors, loadRuntimeTools, toolRegistry, toolDefinitions, getDiscoveredToolNames, sessions, codeSessionKey, eventDrivenMode, eagerEventToolExecution, eagerEventToolExecutions, eagerEventToolUsageCount, eagerEventToolSuppressions, agentId, executingAgentId, executingAgentName, rootAgentId, rootAgentName, directToolNames, interruptingToolNames, codeSessionToolNames, maxContextTokens, maxToolResultChars, hookRegistry, humanInTheLoop, toolOutputReferences, toolOutputRegistry, toolExecution, fileCheckpointer, getBreakerSignal, getRunScope, restoreRunStepResumeState, createRunStepResumeState, }: t.ToolNodeConstructorParams);
221
224
  invoke(input: any, options?: Partial<RunnableConfig>): Promise<any>;
222
225
  /**
223
226
  * Returns the run-scoped tool output registry, or `undefined` when
@@ -0,0 +1,15 @@
1
+ import type * as t from './types';
2
+ export declare const classifyFailure: (message?: string) => string;
3
+ /**
4
+ * Creates the counter set for one `web_search` call.
5
+ *
6
+ * The pipeline reranks once per scraped source and scrapes once per link, so
7
+ * logging at those points scales the log with the result count. Every phase
8
+ * records into fixed-width counters instead and {@link t.SearchMetrics.flush}
9
+ * emits one line per phase, at the highest severity that phase reached.
10
+ *
11
+ * @param autoFlush emit on every record, for a caller with no enclosing search
12
+ * to fold into (a reranker used directly). Recording is synchronous, so the
13
+ * record/flush/reset cycle can never interleave with a concurrent call.
14
+ */
15
+ export declare const createSearchMetrics: (logger: t.Logger, autoFlush?: boolean) => t.SearchMetrics;
@@ -2,11 +2,33 @@ import type * as t from './types';
2
2
  export declare abstract class BaseReranker {
3
3
  protected apiKey: string | undefined;
4
4
  protected logger: t.Logger;
5
+ /** Public so a caller that fails before reaching `rerank` can still
6
+ * attribute the attempt to the configured reranker. */
7
+ abstract readonly provider: string;
8
+ private ownMetrics?;
5
9
  constructor(logger?: t.Logger);
6
- abstract rerank(query: string, documents: string[], topK?: number): Promise<t.Highlight[]>;
10
+ /**
11
+ * A search reranks once per scraped source, so nothing here logs per call:
12
+ * every exit records one observation through `metrics` and the enclosing
13
+ * search emits a single summary. `metrics` is optional only for direct use
14
+ * of a reranker, which falls back to an auto-flushing collector.
15
+ */
16
+ abstract rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
7
17
  protected getDefaultRanking(documents: string[], topK: number): t.Highlight[];
18
+ /** A direct caller has no enclosing search to fold into, so one
19
+ * auto-flushing collector per instance emits that call's summary on its
20
+ * own; record and flush run synchronously, so concurrent calls on the same
21
+ * instance cannot share a total. */
22
+ private localMetrics;
23
+ /** Opens the per-call state every exit path records against. */
24
+ protected beginRerank(documents: string[], topK: number, metrics?: t.SearchMetrics): t.RerankRun;
25
+ private record;
26
+ protected complete(run: t.RerankRun, highlights: t.Highlight[]): t.Highlight[];
27
+ /** Records the call as a fallback and returns the candidates' input order. */
28
+ protected fallback(run: t.RerankRun, reason: t.RerankFallback, error?: t.SafeErrorLog): t.Highlight[];
8
29
  }
9
30
  export declare class JinaReranker extends BaseReranker {
31
+ readonly provider = "jina";
10
32
  private apiUrl;
11
33
  private timeout;
12
34
  private httpAgent?;
@@ -17,9 +39,10 @@ export declare class JinaReranker extends BaseReranker {
17
39
  timeout?: number;
18
40
  logger?: t.Logger;
19
41
  } & t.HttpAgentConfig);
20
- rerank(query: string, documents: string[], topK?: number): Promise<t.Highlight[]>;
42
+ rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
21
43
  }
22
44
  export declare class CohereReranker extends BaseReranker {
45
+ readonly provider = "cohere";
23
46
  private timeout;
24
47
  private httpAgent?;
25
48
  private httpsAgent?;
@@ -28,7 +51,7 @@ export declare class CohereReranker extends BaseReranker {
28
51
  timeout?: number;
29
52
  logger?: t.Logger;
30
53
  } & t.HttpAgentConfig);
31
- rerank(query: string, documents: string[], topK?: number): Promise<t.Highlight[]>;
54
+ rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
32
55
  }
33
56
  /**
34
57
  * Calls the public `danny-avila/rag_api` `/v1/rerank` endpoint (the
@@ -40,6 +63,7 @@ export declare class CohereReranker extends BaseReranker {
40
63
  * to the candidates' original order via {@link BaseReranker.getDefaultRanking}.
41
64
  */
42
65
  export declare class RagApiReranker extends BaseReranker {
66
+ readonly provider = "rag-api";
43
67
  private baseUrl?;
44
68
  private tokenSupplier?;
45
69
  private profile;
@@ -53,11 +77,12 @@ export declare class RagApiReranker extends BaseReranker {
53
77
  timeout?: number;
54
78
  logger?: t.Logger;
55
79
  } & t.HttpAgentConfig);
56
- rerank(query: string, documents: string[], topK?: number): Promise<t.Highlight[]>;
80
+ rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
57
81
  }
58
82
  export declare class InfinityReranker extends BaseReranker {
83
+ readonly provider = "infinity";
59
84
  constructor(logger?: t.Logger);
60
- rerank(query: string, documents: string[], topK?: number): Promise<t.Highlight[]>;
85
+ rerank(query: string, documents: string[], topK?: number, metrics?: t.SearchMetrics): Promise<t.Highlight[]>;
61
86
  }
62
87
  /**
63
88
  * Creates the appropriate reranker based on type and configuration