@juspay/neurolink 9.65.0 → 9.65.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/CHANGELOG.md +8 -0
- package/dist/adapters/video/videoAnalyzer.d.ts +1 -1
- package/dist/agent/directTools.d.ts +9 -17
- package/dist/agent/directTools.js +12 -8
- package/dist/autoresearch/tools.d.ts +2 -214
- package/dist/autoresearch/tools.js +1 -1
- package/dist/browser/neurolink.min.js +362 -368
- package/dist/client/reactHooks.js +16 -8
- package/dist/client/reactHooks.tsx +24 -9
- package/dist/core/baseProvider.d.ts +1 -6
- package/dist/core/baseProvider.js +1 -1
- package/dist/core/constants.d.ts +1 -0
- package/dist/core/constants.js +3 -0
- package/dist/core/modules/GenerationHandler.d.ts +2 -2
- package/dist/core/modules/GenerationHandler.js +3 -1
- package/dist/core/modules/MessageBuilder.d.ts +1 -15
- package/dist/core/modules/MessageBuilder.js +0 -14
- package/dist/core/modules/StreamHandler.js +1 -1
- package/dist/core/modules/ToolsManager.d.ts +1 -17
- package/dist/core/modules/ToolsManager.js +1 -17
- package/dist/core/redisConversationMemoryManager.js +0 -6
- package/dist/core/streamAnalytics.js +1 -1
- package/dist/evaluation/contextBuilder.d.ts +1 -4
- package/dist/evaluation/contextBuilder.js +0 -3
- package/dist/evaluation/index.d.ts +1 -4
- package/dist/evaluation/index.js +0 -3
- package/dist/files/fileTools.d.ts +2 -18
- package/dist/files/fileTools.js +3 -19
- package/dist/lib/adapters/video/videoAnalyzer.d.ts +1 -1
- package/dist/lib/agent/directTools.d.ts +9 -17
- package/dist/lib/agent/directTools.js +12 -8
- package/dist/lib/autoresearch/tools.d.ts +2 -214
- package/dist/lib/autoresearch/tools.js +1 -1
- package/dist/lib/client/reactHooks.js +16 -8
- package/dist/lib/core/baseProvider.d.ts +1 -6
- package/dist/lib/core/baseProvider.js +1 -1
- package/dist/lib/core/constants.d.ts +1 -0
- package/dist/lib/core/constants.js +3 -0
- package/dist/lib/core/modules/GenerationHandler.d.ts +2 -2
- package/dist/lib/core/modules/GenerationHandler.js +3 -1
- package/dist/lib/core/modules/MessageBuilder.d.ts +1 -15
- package/dist/lib/core/modules/MessageBuilder.js +0 -14
- package/dist/lib/core/modules/StreamHandler.js +1 -1
- package/dist/lib/core/modules/ToolsManager.d.ts +1 -17
- package/dist/lib/core/modules/ToolsManager.js +1 -17
- package/dist/lib/core/redisConversationMemoryManager.js +0 -6
- package/dist/lib/core/streamAnalytics.js +1 -1
- package/dist/lib/evaluation/contextBuilder.d.ts +1 -4
- package/dist/lib/evaluation/contextBuilder.js +0 -3
- package/dist/lib/evaluation/index.d.ts +1 -4
- package/dist/lib/evaluation/index.js +0 -3
- package/dist/lib/files/fileTools.d.ts +2 -18
- package/dist/lib/files/fileTools.js +3 -19
- package/dist/lib/memory/memoryRetrievalTools.d.ts +2 -126
- package/dist/lib/memory/memoryRetrievalTools.js +1 -9
- package/dist/lib/middleware/builtin/autoEvaluation.d.ts +0 -3
- package/dist/lib/middleware/builtin/autoEvaluation.js +0 -3
- package/dist/lib/middleware/builtin/guardrails.js +1 -1
- package/dist/lib/middleware/builtin/lifecycle.d.ts +0 -9
- package/dist/lib/middleware/builtin/lifecycle.js +0 -9
- package/dist/lib/middleware/factory.d.ts +1 -1
- package/dist/lib/middleware/factory.js +1 -1
- package/dist/lib/middleware/registry.d.ts +1 -1
- package/dist/lib/neurolink.d.ts +14 -2
- package/dist/lib/neurolink.js +46 -18
- package/dist/lib/processors/media/AudioProcessor.js +8 -3
- package/dist/lib/providers/amazonBedrock.js +1 -2
- package/dist/lib/providers/amazonSagemaker.d.ts +1 -7
- package/dist/lib/providers/amazonSagemaker.js +0 -6
- package/dist/lib/providers/anthropic.d.ts +1 -1
- package/dist/lib/providers/anthropic.js +2 -1
- package/dist/lib/providers/anthropicBaseProvider.d.ts +1 -1
- package/dist/lib/providers/anthropicBaseProvider.js +2 -1
- package/dist/lib/providers/azureOpenai.d.ts +1 -1
- package/dist/lib/providers/azureOpenai.js +2 -1
- package/dist/lib/providers/cloudflare.d.ts +1 -1
- package/dist/lib/providers/cloudflare.js +2 -1
- package/dist/lib/providers/cohere.d.ts +1 -1
- package/dist/lib/providers/cohere.js +2 -1
- package/dist/lib/providers/deepseek.d.ts +1 -1
- package/dist/lib/providers/deepseek.js +2 -1
- package/dist/lib/providers/fireworks.d.ts +1 -1
- package/dist/lib/providers/fireworks.js +2 -1
- package/dist/lib/providers/googleAiStudio.d.ts +1 -1
- package/dist/lib/providers/googleAiStudio.js +82 -6
- package/dist/lib/providers/googleNativeGemini3.d.ts +3 -6
- package/dist/lib/providers/googleNativeGemini3.js +104 -9
- package/dist/lib/providers/googleVertex.d.ts +1 -1
- package/dist/lib/providers/googleVertex.js +466 -165
- package/dist/lib/providers/groq.d.ts +1 -1
- package/dist/lib/providers/groq.js +2 -1
- package/dist/lib/providers/huggingFace.d.ts +1 -1
- package/dist/lib/providers/huggingFace.js +3 -1
- package/dist/lib/providers/ideogram.d.ts +1 -1
- package/dist/lib/providers/jina.d.ts +1 -1
- package/dist/lib/providers/litellm.d.ts +1 -1
- package/dist/lib/providers/litellm.js +12 -6
- package/dist/lib/providers/llamaCpp.d.ts +1 -1
- package/dist/lib/providers/llamaCpp.js +2 -1
- package/dist/lib/providers/lmStudio.d.ts +1 -1
- package/dist/lib/providers/lmStudio.js +2 -1
- package/dist/lib/providers/mistral.d.ts +1 -1
- package/dist/lib/providers/mistral.js +2 -1
- package/dist/lib/providers/nvidiaNim.d.ts +1 -1
- package/dist/lib/providers/nvidiaNim.js +2 -1
- package/dist/lib/providers/ollama.d.ts +1 -1
- package/dist/lib/providers/ollama.js +1 -2
- package/dist/lib/providers/openAI.d.ts +1 -1
- package/dist/lib/providers/openAI.js +3 -1
- package/dist/lib/providers/openRouter.d.ts +1 -1
- package/dist/lib/providers/openRouter.js +3 -1
- package/dist/lib/providers/openaiCompatible.d.ts +1 -1
- package/dist/lib/providers/openaiCompatible.js +3 -1
- package/dist/lib/providers/perplexity.d.ts +1 -1
- package/dist/lib/providers/perplexity.js +2 -1
- package/dist/lib/providers/providerTypeUtils.d.ts +2 -7
- package/dist/lib/providers/providerTypeUtils.js +0 -6
- package/dist/lib/providers/recraft.d.ts +1 -1
- package/dist/lib/providers/replicate.d.ts +1 -1
- package/dist/lib/providers/stability.d.ts +1 -1
- package/dist/lib/providers/togetherAi.d.ts +1 -1
- package/dist/lib/providers/togetherAi.js +2 -1
- package/dist/lib/providers/voyage.d.ts +1 -1
- package/dist/lib/providers/xai.d.ts +1 -1
- package/dist/lib/providers/xai.js +2 -1
- package/dist/lib/proxy/claudeFormat.d.ts +0 -15
- package/dist/lib/proxy/claudeFormat.js +1 -11
- package/dist/lib/rag/ragIntegration.d.ts +1 -12
- package/dist/lib/rag/ragIntegration.js +0 -8
- package/dist/lib/tasks/tools/taskTools.d.ts +2 -117
- package/dist/lib/tasks/tools/taskTools.js +1 -10
- package/dist/lib/types/aliases.d.ts +1 -1
- package/dist/lib/types/conversation.d.ts +17 -0
- package/dist/lib/types/evaluation.d.ts +1 -5
- package/dist/lib/types/evaluation.js +0 -4
- package/dist/lib/types/generate.d.ts +2 -22
- package/dist/lib/types/guardrails.d.ts +1 -1
- package/dist/lib/types/middleware.d.ts +8 -3
- package/dist/lib/types/providers.d.ts +2 -1
- package/dist/lib/types/rag.d.ts +1 -1
- package/dist/lib/types/rag.js +0 -6
- package/dist/lib/types/stream.d.ts +2 -11
- package/dist/lib/types/tools.d.ts +2 -1
- package/dist/lib/utils/generation.d.ts +8 -0
- package/dist/lib/utils/generation.js +9 -0
- package/dist/lib/utils/generationErrors.d.ts +10 -0
- package/dist/lib/utils/generationErrors.js +11 -0
- package/dist/lib/utils/messageBuilder.d.ts +1 -6
- package/dist/lib/utils/messageBuilder.js +0 -5
- package/dist/lib/utils/noOutputSentinel.d.ts +0 -13
- package/dist/lib/utils/noOutputSentinel.js +1 -14
- package/dist/lib/utils/providerRetry.js +1 -1
- package/dist/lib/utils/tool.d.ts +8 -0
- package/dist/lib/utils/tool.js +9 -0
- package/dist/lib/utils/toolCallRepair.d.ts +1 -16
- package/dist/lib/utils/toolCallRepair.js +1 -16
- package/dist/lib/utils/toolChoice.d.ts +1 -1
- package/dist/lib/utils/videoAnalysisProcessor.d.ts +1 -8
- package/dist/lib/utils/videoAnalysisProcessor.js +0 -7
- package/dist/memory/memoryRetrievalTools.d.ts +2 -126
- package/dist/memory/memoryRetrievalTools.js +1 -9
- package/dist/middleware/builtin/autoEvaluation.d.ts +0 -3
- package/dist/middleware/builtin/autoEvaluation.js +0 -3
- package/dist/middleware/builtin/guardrails.js +1 -1
- package/dist/middleware/builtin/lifecycle.d.ts +0 -9
- package/dist/middleware/builtin/lifecycle.js +0 -9
- package/dist/middleware/factory.d.ts +1 -1
- package/dist/middleware/factory.js +1 -1
- package/dist/middleware/registry.d.ts +1 -1
- package/dist/neurolink.d.ts +14 -2
- package/dist/neurolink.js +46 -18
- package/dist/processors/media/AudioProcessor.js +8 -3
- package/dist/providers/amazonBedrock.js +1 -2
- package/dist/providers/amazonSagemaker.d.ts +1 -7
- package/dist/providers/amazonSagemaker.js +0 -6
- package/dist/providers/anthropic.d.ts +1 -1
- package/dist/providers/anthropic.js +2 -1
- package/dist/providers/anthropicBaseProvider.d.ts +1 -1
- package/dist/providers/anthropicBaseProvider.js +2 -1
- package/dist/providers/azureOpenai.d.ts +1 -1
- package/dist/providers/azureOpenai.js +2 -1
- package/dist/providers/cloudflare.d.ts +1 -1
- package/dist/providers/cloudflare.js +2 -1
- package/dist/providers/cohere.d.ts +1 -1
- package/dist/providers/cohere.js +2 -1
- package/dist/providers/deepseek.d.ts +1 -1
- package/dist/providers/deepseek.js +2 -1
- package/dist/providers/fireworks.d.ts +1 -1
- package/dist/providers/fireworks.js +2 -1
- package/dist/providers/googleAiStudio.d.ts +1 -1
- package/dist/providers/googleAiStudio.js +82 -5
- package/dist/providers/googleNativeGemini3.d.ts +3 -6
- package/dist/providers/googleNativeGemini3.js +104 -9
- package/dist/providers/googleVertex.d.ts +1 -1
- package/dist/providers/googleVertex.js +466 -164
- package/dist/providers/groq.d.ts +1 -1
- package/dist/providers/groq.js +2 -1
- package/dist/providers/huggingFace.d.ts +1 -1
- package/dist/providers/huggingFace.js +3 -1
- package/dist/providers/ideogram.d.ts +1 -1
- package/dist/providers/jina.d.ts +1 -1
- package/dist/providers/litellm.d.ts +1 -1
- package/dist/providers/litellm.js +12 -6
- package/dist/providers/llamaCpp.d.ts +1 -1
- package/dist/providers/llamaCpp.js +2 -1
- package/dist/providers/lmStudio.d.ts +1 -1
- package/dist/providers/lmStudio.js +2 -1
- package/dist/providers/mistral.d.ts +1 -1
- package/dist/providers/mistral.js +2 -1
- package/dist/providers/nvidiaNim.d.ts +1 -1
- package/dist/providers/nvidiaNim.js +2 -1
- package/dist/providers/ollama.d.ts +1 -1
- package/dist/providers/ollama.js +1 -2
- package/dist/providers/openAI.d.ts +1 -1
- package/dist/providers/openAI.js +3 -1
- package/dist/providers/openRouter.d.ts +1 -1
- package/dist/providers/openRouter.js +3 -1
- package/dist/providers/openaiCompatible.d.ts +1 -1
- package/dist/providers/openaiCompatible.js +3 -1
- package/dist/providers/perplexity.d.ts +1 -1
- package/dist/providers/perplexity.js +2 -1
- package/dist/providers/providerTypeUtils.d.ts +2 -7
- package/dist/providers/providerTypeUtils.js +0 -6
- package/dist/providers/recraft.d.ts +1 -1
- package/dist/providers/replicate.d.ts +1 -1
- package/dist/providers/stability.d.ts +1 -1
- package/dist/providers/togetherAi.d.ts +1 -1
- package/dist/providers/togetherAi.js +2 -1
- package/dist/providers/voyage.d.ts +1 -1
- package/dist/providers/xai.d.ts +1 -1
- package/dist/providers/xai.js +2 -1
- package/dist/proxy/claudeFormat.d.ts +0 -15
- package/dist/proxy/claudeFormat.js +1 -11
- package/dist/rag/ragIntegration.d.ts +1 -12
- package/dist/rag/ragIntegration.js +0 -8
- package/dist/tasks/tools/taskTools.d.ts +2 -117
- package/dist/tasks/tools/taskTools.js +1 -10
- package/dist/types/aliases.d.ts +1 -1
- package/dist/types/conversation.d.ts +17 -0
- package/dist/types/evaluation.d.ts +1 -5
- package/dist/types/evaluation.js +0 -4
- package/dist/types/generate.d.ts +2 -22
- package/dist/types/guardrails.d.ts +1 -1
- package/dist/types/middleware.d.ts +8 -3
- package/dist/types/providers.d.ts +2 -1
- package/dist/types/rag.d.ts +1 -1
- package/dist/types/rag.js +0 -6
- package/dist/types/stream.d.ts +2 -11
- package/dist/types/tools.d.ts +2 -1
- package/dist/utils/generation.d.ts +8 -0
- package/dist/utils/generation.js +8 -0
- package/dist/utils/generationErrors.d.ts +10 -0
- package/dist/utils/generationErrors.js +10 -0
- package/dist/utils/messageBuilder.d.ts +1 -6
- package/dist/utils/messageBuilder.js +0 -5
- package/dist/utils/noOutputSentinel.d.ts +0 -13
- package/dist/utils/noOutputSentinel.js +1 -14
- package/dist/utils/providerRetry.js +1 -1
- package/dist/utils/tool.d.ts +8 -0
- package/dist/utils/tool.js +8 -0
- package/dist/utils/toolCallRepair.d.ts +1 -16
- package/dist/utils/toolCallRepair.js +1 -16
- package/dist/utils/toolChoice.d.ts +1 -1
- package/dist/utils/videoAnalysisProcessor.d.ts +1 -8
- package/dist/utils/videoAnalysisProcessor.js +0 -7
- package/package.json +2 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [9.65.2](https://github.com/juspay/neurolink/compare/v9.65.1...v9.65.2) (2026-05-24)
|
|
2
|
+
|
|
3
|
+
## [9.65.1](https://github.com/juspay/neurolink/compare/v9.65.0...v9.65.1) (2026-05-24)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
- **(providers):** restore native Vertex tool storage + Claude streaming + Gemini history replay ([7b00e06](https://github.com/juspay/neurolink/commit/7b00e0608a9184e48f3badd90a2238cb330a8128))
|
|
8
|
+
|
|
1
9
|
## [9.65.0](https://github.com/juspay/neurolink/compare/v9.64.0...v9.65.0) (2026-05-17)
|
|
2
10
|
|
|
3
11
|
### Features
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module adapters/video/geminiVideoAnalyzer
|
|
8
8
|
*/
|
|
9
9
|
import { AIProviderName } from "../../constants/enums.js";
|
|
10
|
-
import type { ModelMessage } from "
|
|
10
|
+
import type { ModelMessage } from "../../types/index.js";
|
|
11
11
|
export declare function analyzeVideoWithVertexAI(messages: ModelMessage[], options?: {
|
|
12
12
|
project?: string;
|
|
13
13
|
location?: string;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
* Direct Tool Definitions for NeuroLink CLI Agent
|
|
3
|
-
* Simple, reliable tools that work immediately with Vercel AI SDK
|
|
4
|
-
*/
|
|
5
|
-
import type { AllToolsMap, BasicToolsMap, FilesystemToolsMap, UtilityToolsMap } from "../types/index.js";
|
|
1
|
+
import type { AllToolsMap, BasicToolsMap, FilesystemToolsMap, Tool, UtilityToolsMap } from "../types/index.js";
|
|
6
2
|
/**
|
|
7
3
|
* Direct tool definitions that work immediately with Gemini/AI SDK
|
|
8
4
|
* These bypass MCP complexity and provide reliable agent functionality
|
|
9
5
|
*/
|
|
10
6
|
export declare const directAgentTools: {
|
|
11
|
-
getCurrentTime:
|
|
7
|
+
getCurrentTime: Tool<{
|
|
12
8
|
timezone?: string | undefined;
|
|
13
9
|
}, {
|
|
14
10
|
success: boolean;
|
|
@@ -32,7 +28,7 @@ export declare const directAgentTools: {
|
|
|
32
28
|
iso?: undefined;
|
|
33
29
|
timestamp?: undefined;
|
|
34
30
|
}>;
|
|
35
|
-
readFile:
|
|
31
|
+
readFile: Tool<{
|
|
36
32
|
path: string;
|
|
37
33
|
}, {
|
|
38
34
|
success: boolean;
|
|
@@ -56,7 +52,7 @@ export declare const directAgentTools: {
|
|
|
56
52
|
size?: undefined;
|
|
57
53
|
lastModified?: undefined;
|
|
58
54
|
}>;
|
|
59
|
-
listDirectory:
|
|
55
|
+
listDirectory: Tool<{
|
|
60
56
|
path: string;
|
|
61
57
|
includeHidden: boolean;
|
|
62
58
|
}, {
|
|
@@ -77,7 +73,7 @@ export declare const directAgentTools: {
|
|
|
77
73
|
items?: undefined;
|
|
78
74
|
count?: undefined;
|
|
79
75
|
}>;
|
|
80
|
-
calculateMath:
|
|
76
|
+
calculateMath: Tool<{
|
|
81
77
|
expression: string;
|
|
82
78
|
precision: number;
|
|
83
79
|
}, {
|
|
@@ -99,7 +95,7 @@ export declare const directAgentTools: {
|
|
|
99
95
|
result?: undefined;
|
|
100
96
|
type?: undefined;
|
|
101
97
|
}>;
|
|
102
|
-
writeFile:
|
|
98
|
+
writeFile: Tool<{
|
|
103
99
|
path: string;
|
|
104
100
|
content: string;
|
|
105
101
|
mode: "append" | "create" | "overwrite";
|
|
@@ -125,7 +121,7 @@ export declare const directAgentTools: {
|
|
|
125
121
|
size?: undefined;
|
|
126
122
|
written?: undefined;
|
|
127
123
|
}>;
|
|
128
|
-
analyzeCSV:
|
|
124
|
+
analyzeCSV: Tool<{
|
|
129
125
|
filePath: string;
|
|
130
126
|
operation: "count_by_column" | "sum_by_column" | "average_by_column" | "min_max_by_column" | "describe";
|
|
131
127
|
column: string;
|
|
@@ -147,7 +143,7 @@ export declare const directAgentTools: {
|
|
|
147
143
|
operation: "count_by_column" | "sum_by_column" | "average_by_column" | "min_max_by_column" | "describe";
|
|
148
144
|
column: string;
|
|
149
145
|
}>;
|
|
150
|
-
websearchGrounding:
|
|
146
|
+
websearchGrounding: Tool<{
|
|
151
147
|
query: string;
|
|
152
148
|
maxResults: number;
|
|
153
149
|
maxWords: number;
|
|
@@ -221,11 +217,7 @@ export declare const directAgentTools: {
|
|
|
221
217
|
* Import this directly when you need bash execution capabilities:
|
|
222
218
|
* import { bashTool } from '../agent/directTools.js';
|
|
223
219
|
*/
|
|
224
|
-
export declare const bashTool:
|
|
225
|
-
command: string;
|
|
226
|
-
timeout: number;
|
|
227
|
-
cwd?: string | undefined;
|
|
228
|
-
}, unknown>;
|
|
220
|
+
export declare const bashTool: Tool;
|
|
229
221
|
/**
|
|
230
222
|
* Get a subset of tools for specific use cases with improved type safety
|
|
231
223
|
*/
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Direct Tool Definitions for NeuroLink CLI Agent
|
|
3
|
-
* Simple, reliable tools that work immediately with Vercel AI SDK
|
|
4
|
-
*/
|
|
5
|
-
import { tool } from "ai";
|
|
6
1
|
import { z } from "zod";
|
|
7
2
|
import * as fs from "fs";
|
|
8
3
|
import * as path from "path";
|
|
@@ -11,6 +6,7 @@ import { logger } from "../utils/logger.js";
|
|
|
11
6
|
import { VertexAI } from "@google-cloud/vertexai";
|
|
12
7
|
import { CSVProcessor } from "../utils/csvProcessor.js";
|
|
13
8
|
import { shouldEnableBashTool } from "../utils/toolUtils.js";
|
|
9
|
+
import { tool } from "../utils/tool.js";
|
|
14
10
|
const MAX_OUTPUT_BYTES = 102400; // 100KB
|
|
15
11
|
function truncateOutput(output) {
|
|
16
12
|
if (output.length > MAX_OUTPUT_BYTES) {
|
|
@@ -547,9 +543,16 @@ export const directAgentTools = {
|
|
|
547
543
|
// It is only included in directAgentTools when NEUROLINK_ENABLE_BASH_TOOL=true or
|
|
548
544
|
// toolConfig.enableBashTool is explicitly set to true. See shouldEnableBashTool() in toolUtils.ts.
|
|
549
545
|
websearchGrounding: tool({
|
|
550
|
-
description: "Search
|
|
546
|
+
description: "Performs a Google Search and returns a summarized answer with source citations. Always check the current date before constructing the query. Use whenever the answer depends on time-sensitive facts or requires verification against real-world sources.",
|
|
551
547
|
inputSchema: z.object({
|
|
552
|
-
query: z
|
|
548
|
+
query: z
|
|
549
|
+
.string()
|
|
550
|
+
.trim()
|
|
551
|
+
.min(1, { message: "must be a non-empty search string" })
|
|
552
|
+
.refine((v) => v.toLowerCase() !== "undefined", {
|
|
553
|
+
message: 'must not be the literal string "undefined" — pass a real search query',
|
|
554
|
+
})
|
|
555
|
+
.describe("The search query string to look up on the web."),
|
|
553
556
|
maxResults: z
|
|
554
557
|
.number()
|
|
555
558
|
.optional()
|
|
@@ -581,7 +584,8 @@ export const directAgentTools = {
|
|
|
581
584
|
project: hasProjectId,
|
|
582
585
|
location: projectLocation,
|
|
583
586
|
});
|
|
584
|
-
const websearchModel =
|
|
587
|
+
const websearchModel = process.env.NEUROLINK_WEBSEARCH_MODEL?.trim() ||
|
|
588
|
+
"gemini-2.5-flash-lite";
|
|
585
589
|
const model = vertex_ai.getGenerativeModel({
|
|
586
590
|
model: websearchModel,
|
|
587
591
|
tools: createGoogleSearchTools(),
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module autoresearch/tools
|
|
9
9
|
*/
|
|
10
|
-
import type {
|
|
10
|
+
import type { ResearchToolsDeps, Tool } from "../types/index.js";
|
|
11
11
|
/**
|
|
12
12
|
* Create research management tools bound to a research session.
|
|
13
13
|
*
|
|
@@ -24,216 +24,4 @@ import type { ExperimentRecord, ResearchToolsDeps } from "../types/index.js";
|
|
|
24
24
|
* // tools.research_get_context, tools.research_read_file, etc.
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
|
-
export declare function createResearchTools(deps: ResearchToolsDeps):
|
|
28
|
-
/**
|
|
29
|
-
* Get current research context including state, config, and recent results.
|
|
30
|
-
*/
|
|
31
|
-
research_get_context: import("ai").Tool<Record<string, never>, {
|
|
32
|
-
success: boolean;
|
|
33
|
-
error: string;
|
|
34
|
-
branch?: undefined;
|
|
35
|
-
acceptedCommit?: undefined;
|
|
36
|
-
bestMetric?: undefined;
|
|
37
|
-
recentResults?: undefined;
|
|
38
|
-
mutablePaths?: undefined;
|
|
39
|
-
immutablePaths?: undefined;
|
|
40
|
-
currentPhase?: undefined;
|
|
41
|
-
runCount?: undefined;
|
|
42
|
-
tag?: undefined;
|
|
43
|
-
keepCount?: undefined;
|
|
44
|
-
} | {
|
|
45
|
-
success: boolean;
|
|
46
|
-
branch: string;
|
|
47
|
-
acceptedCommit: string | null;
|
|
48
|
-
bestMetric: number | null;
|
|
49
|
-
recentResults: ExperimentRecord[];
|
|
50
|
-
mutablePaths: string[];
|
|
51
|
-
immutablePaths: string[];
|
|
52
|
-
currentPhase: import("../index.js").ExperimentPhase;
|
|
53
|
-
runCount: number;
|
|
54
|
-
tag: string;
|
|
55
|
-
keepCount: number;
|
|
56
|
-
error?: undefined;
|
|
57
|
-
}>;
|
|
58
|
-
/**
|
|
59
|
-
* Read a file from the repository if allowed by policy.
|
|
60
|
-
*/
|
|
61
|
-
research_read_file: import("ai").Tool<{
|
|
62
|
-
path: string;
|
|
63
|
-
}, {
|
|
64
|
-
success: boolean;
|
|
65
|
-
error: string;
|
|
66
|
-
path?: undefined;
|
|
67
|
-
content?: undefined;
|
|
68
|
-
} | {
|
|
69
|
-
success: boolean;
|
|
70
|
-
path: string;
|
|
71
|
-
content: string;
|
|
72
|
-
error?: undefined;
|
|
73
|
-
} | {
|
|
74
|
-
success: boolean;
|
|
75
|
-
error: string;
|
|
76
|
-
path: string;
|
|
77
|
-
content?: undefined;
|
|
78
|
-
}>;
|
|
79
|
-
/**
|
|
80
|
-
* Write a candidate file to the repository if allowed by policy.
|
|
81
|
-
*/
|
|
82
|
-
research_write_candidate: import("ai").Tool<{
|
|
83
|
-
path: string;
|
|
84
|
-
content: string;
|
|
85
|
-
}, {
|
|
86
|
-
success: boolean;
|
|
87
|
-
error: string;
|
|
88
|
-
path?: undefined;
|
|
89
|
-
bytesWritten?: undefined;
|
|
90
|
-
} | {
|
|
91
|
-
success: boolean;
|
|
92
|
-
path: string;
|
|
93
|
-
bytesWritten: number;
|
|
94
|
-
error?: undefined;
|
|
95
|
-
} | {
|
|
96
|
-
success: boolean;
|
|
97
|
-
error: string;
|
|
98
|
-
path: string;
|
|
99
|
-
bytesWritten?: undefined;
|
|
100
|
-
}>;
|
|
101
|
-
/**
|
|
102
|
-
* Get git diff of mutable paths only.
|
|
103
|
-
*/
|
|
104
|
-
research_diff: import("ai").Tool<Record<string, never>, {
|
|
105
|
-
success: boolean;
|
|
106
|
-
diff: string;
|
|
107
|
-
hasChanges: boolean;
|
|
108
|
-
error?: undefined;
|
|
109
|
-
} | {
|
|
110
|
-
success: boolean;
|
|
111
|
-
error: string;
|
|
112
|
-
diff?: undefined;
|
|
113
|
-
hasChanges?: undefined;
|
|
114
|
-
}>;
|
|
115
|
-
/**
|
|
116
|
-
* Commit staged changes as a candidate.
|
|
117
|
-
*/
|
|
118
|
-
research_commit_candidate: import("ai").Tool<{
|
|
119
|
-
message: string;
|
|
120
|
-
}, {
|
|
121
|
-
success: boolean;
|
|
122
|
-
error: string;
|
|
123
|
-
violations?: undefined;
|
|
124
|
-
candidateCommit?: undefined;
|
|
125
|
-
message?: undefined;
|
|
126
|
-
} | {
|
|
127
|
-
success: boolean;
|
|
128
|
-
error: string;
|
|
129
|
-
violations: string[];
|
|
130
|
-
candidateCommit?: undefined;
|
|
131
|
-
message?: undefined;
|
|
132
|
-
} | {
|
|
133
|
-
success: boolean;
|
|
134
|
-
candidateCommit: string;
|
|
135
|
-
message: string;
|
|
136
|
-
error?: undefined;
|
|
137
|
-
violations?: undefined;
|
|
138
|
-
}>;
|
|
139
|
-
/**
|
|
140
|
-
* Run the experiment.
|
|
141
|
-
*/
|
|
142
|
-
research_run_experiment: import("ai").Tool<{
|
|
143
|
-
description: string;
|
|
144
|
-
}, {
|
|
145
|
-
success: boolean;
|
|
146
|
-
description: string;
|
|
147
|
-
summary: import("../index.js").ExperimentSummary;
|
|
148
|
-
error?: undefined;
|
|
149
|
-
} | {
|
|
150
|
-
success: boolean;
|
|
151
|
-
error: string;
|
|
152
|
-
description?: undefined;
|
|
153
|
-
summary?: undefined;
|
|
154
|
-
}>;
|
|
155
|
-
/**
|
|
156
|
-
* Parse the experiment log file.
|
|
157
|
-
*/
|
|
158
|
-
research_parse_log: import("ai").Tool<Record<string, never>, {
|
|
159
|
-
success: boolean;
|
|
160
|
-
summary: import("../index.js").ExperimentSummary;
|
|
161
|
-
error?: undefined;
|
|
162
|
-
} | {
|
|
163
|
-
success: boolean;
|
|
164
|
-
error: string;
|
|
165
|
-
summary?: undefined;
|
|
166
|
-
}>;
|
|
167
|
-
/**
|
|
168
|
-
* Record an experiment result.
|
|
169
|
-
*/
|
|
170
|
-
research_record: import("ai").Tool<{
|
|
171
|
-
description: string;
|
|
172
|
-
}, {
|
|
173
|
-
success: boolean;
|
|
174
|
-
error: string;
|
|
175
|
-
record?: undefined;
|
|
176
|
-
} | {
|
|
177
|
-
success: boolean;
|
|
178
|
-
record: ExperimentRecord;
|
|
179
|
-
error?: undefined;
|
|
180
|
-
}>;
|
|
181
|
-
/**
|
|
182
|
-
* Accept the candidate commit as the new baseline.
|
|
183
|
-
*/
|
|
184
|
-
research_accept: import("ai").Tool<Record<string, never>, {
|
|
185
|
-
success: boolean;
|
|
186
|
-
error: string;
|
|
187
|
-
acceptedCommit?: undefined;
|
|
188
|
-
bestMetric?: undefined;
|
|
189
|
-
keepCount?: undefined;
|
|
190
|
-
} | {
|
|
191
|
-
success: boolean;
|
|
192
|
-
acceptedCommit: string;
|
|
193
|
-
bestMetric: number;
|
|
194
|
-
keepCount: number;
|
|
195
|
-
error?: undefined;
|
|
196
|
-
}>;
|
|
197
|
-
/**
|
|
198
|
-
* Revert to the accepted commit.
|
|
199
|
-
*/
|
|
200
|
-
research_revert: import("ai").Tool<Record<string, never>, {
|
|
201
|
-
success: boolean;
|
|
202
|
-
error: string;
|
|
203
|
-
revertedTo?: undefined;
|
|
204
|
-
} | {
|
|
205
|
-
success: boolean;
|
|
206
|
-
revertedTo: string;
|
|
207
|
-
error?: undefined;
|
|
208
|
-
}>;
|
|
209
|
-
/**
|
|
210
|
-
* Inspect the last 50 lines of the run log for debugging.
|
|
211
|
-
*/
|
|
212
|
-
research_inspect_failure: import("ai").Tool<Record<string, never>, {
|
|
213
|
-
success: boolean;
|
|
214
|
-
tail: string;
|
|
215
|
-
totalLines: number;
|
|
216
|
-
error?: undefined;
|
|
217
|
-
} | {
|
|
218
|
-
success: boolean;
|
|
219
|
-
error: string;
|
|
220
|
-
tail?: undefined;
|
|
221
|
-
totalLines?: undefined;
|
|
222
|
-
}>;
|
|
223
|
-
/**
|
|
224
|
-
* Save the current state to disk.
|
|
225
|
-
*/
|
|
226
|
-
research_checkpoint: import("ai").Tool<Record<string, never>, {
|
|
227
|
-
success: boolean;
|
|
228
|
-
error: string;
|
|
229
|
-
checkpointedAt?: undefined;
|
|
230
|
-
phase?: undefined;
|
|
231
|
-
runCount?: undefined;
|
|
232
|
-
} | {
|
|
233
|
-
success: boolean;
|
|
234
|
-
checkpointedAt: string;
|
|
235
|
-
phase: import("../index.js").ExperimentPhase;
|
|
236
|
-
runCount: number;
|
|
237
|
-
error?: undefined;
|
|
238
|
-
}>;
|
|
239
|
-
};
|
|
27
|
+
export declare function createResearchTools(deps: ResearchToolsDeps): Record<string, Tool>;
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
import { execFileSync } from "node:child_process";
|
|
11
11
|
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
12
12
|
import path from "node:path";
|
|
13
|
-
import { tool } from "ai";
|
|
14
13
|
import { z } from "zod";
|
|
15
14
|
import { withTimeout } from "../utils/errorHandling.js";
|
|
16
15
|
import { logger } from "../utils/logger.js";
|
|
17
16
|
import { parseExperimentSummary } from "./summaryParser.js";
|
|
17
|
+
import { tool } from "../utils/tool.js";
|
|
18
18
|
/**
|
|
19
19
|
* Create research management tools bound to a research session.
|
|
20
20
|
*
|