@juspay/neurolink 12.49.12 → 12.49.14
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 +2 -2
- package/dist/core/baseProvider.d.ts +1 -1
- package/dist/core/baseProvider.js +2 -2
- package/dist/evaluation/scorers/rule/formatScorer.js +1 -1
- package/dist/mcp/mcpRegistryClient.js +1 -1
- package/dist/middleware/utils/guardrailsUtils.js +1 -1
- package/dist/neurolink.js +7 -4
- package/dist/rag/ChunkerFactory.js +2 -2
- package/dist/workflow/config.d.ts +2 -2
- package/dist/workflow/config.js +2 -2
- package/dist/workflow/core/workflowRegistry.js +2 -2
- package/dist/workflow/core/workflowRunner.js +1 -1
- package/dist/workflow/utils/workflowMetrics.d.ts +2 -2
- package/dist/workflow/utils/workflowMetrics.js +2 -2
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
## [12.49.
|
|
1
|
+
## [12.49.14](https://github.com/juspay/neurolink/compare/v12.49.13...v12.49.14) (2026-10-09)
|
|
2
2
|
|
|
3
3
|
### Bug Fixes
|
|
4
4
|
|
|
5
|
-
- **(
|
|
5
|
+
- **(test):** retry the nightly matrix's structured-output cell once on a thrown error ([8c78cd1](https://github.com/juspay/neurolink/commit/8c78cd172a8b2036b75132488f9d24548f2a1e88))
|
|
6
6
|
|
|
7
7
|
## [11.2.3](https://github.com/juspay/neurolink/compare/v11.2.2...v11.2.3) (2026-08-19)
|
|
8
8
|
|
|
@@ -598,7 +598,7 @@ export declare abstract class BaseProvider implements AIProvider {
|
|
|
598
598
|
/**
|
|
599
599
|
* Get AI SDK model with middleware applied
|
|
600
600
|
* This method wraps the base model with any configured middleware
|
|
601
|
-
* TODO(#
|
|
601
|
+
* TODO(#1953): Implement global level middlewares that can be used
|
|
602
602
|
*/
|
|
603
603
|
protected getAISDKModelWithMiddleware(options?: TextGenerationOptions | StreamOptions): Promise<LanguageModel>;
|
|
604
604
|
/**
|
|
@@ -117,7 +117,7 @@ export class BaseProvider {
|
|
|
117
117
|
modelName;
|
|
118
118
|
providerName;
|
|
119
119
|
defaultTimeout = 30000; // 30 seconds
|
|
120
|
-
middlewareOptions; // TODO(#
|
|
120
|
+
middlewareOptions; // TODO(#1953): Implement global level middlewares that can be used
|
|
121
121
|
// Tools are conditionally included based on centralized configuration
|
|
122
122
|
directTools = shouldDisableBuiltinTools()
|
|
123
123
|
? {}
|
|
@@ -2516,7 +2516,7 @@ export class BaseProvider {
|
|
|
2516
2516
|
/**
|
|
2517
2517
|
* Get AI SDK model with middleware applied
|
|
2518
2518
|
* This method wraps the base model with any configured middleware
|
|
2519
|
-
* TODO(#
|
|
2519
|
+
* TODO(#1953): Implement global level middlewares that can be used
|
|
2520
2520
|
*/
|
|
2521
2521
|
async getAISDKModelWithMiddleware(options = {}) {
|
|
2522
2522
|
return this.applyMiddlewareToModel(await this.getAISDKModel(), options);
|
|
@@ -396,7 +396,7 @@ export class FormatScorer extends BaseRuleScorer {
|
|
|
396
396
|
// First check if it's valid JSON
|
|
397
397
|
try {
|
|
398
398
|
JSON.parse(text);
|
|
399
|
-
// TODO(#
|
|
399
|
+
// TODO(#1955): Implement full JSON Schema validation
|
|
400
400
|
// For now, just check it's valid JSON
|
|
401
401
|
return { passed: true, score: 1.0 };
|
|
402
402
|
}
|
|
@@ -325,7 +325,7 @@ export function applyContentFiltering(text, badWordsConfig, context = "unknown")
|
|
|
325
325
|
logger.debug(`[ContentFiltering:${context}] Applying regex pattern filtering with ${badWordsConfig.regexPatterns.length} patterns using replacement: "${replacementText}".`);
|
|
326
326
|
for (const pattern of badWordsConfig.regexPatterns) {
|
|
327
327
|
try {
|
|
328
|
-
// TODO(#
|
|
328
|
+
// TODO(#1954): Add blocking for overly complex or long patterns
|
|
329
329
|
if (pattern.length > 1000) {
|
|
330
330
|
logger.warn(`[ContentFiltering:${context}] Regex pattern exceeds max length (1000 chars): "${pattern.substring(0, 50)}..."`);
|
|
331
331
|
}
|
package/dist/neurolink.js
CHANGED
|
@@ -10357,8 +10357,10 @@ Current user's request: ${currentInput}`;
|
|
|
10357
10357
|
// ========================================
|
|
10358
10358
|
// ENHANCED: Tool Event Emission API
|
|
10359
10359
|
// ========================================
|
|
10360
|
-
//
|
|
10361
|
-
//
|
|
10360
|
+
// Speculative, not a gap: ToolExecutionEvent already exists
|
|
10361
|
+
// (src/lib/types/tools.ts) and is already surfaced via
|
|
10362
|
+
// StreamResult.toolEvents. Dedicated utility methods are a possible
|
|
10363
|
+
// future convenience, not planned work.
|
|
10362
10364
|
/**
|
|
10363
10365
|
* Emit tool start event with execution tracking
|
|
10364
10366
|
* @param toolName - Name of the tool being executed
|
|
@@ -10480,8 +10482,9 @@ Current user's request: ${currentInput}`;
|
|
|
10480
10482
|
clearCurrentStreamExecutions() {
|
|
10481
10483
|
this.currentStreamToolExecutions = [];
|
|
10482
10484
|
}
|
|
10483
|
-
//
|
|
10484
|
-
//
|
|
10485
|
+
// Speculative, not a gap: the same structured events a
|
|
10486
|
+
// getToolExecutionEvents() method would return are already available via
|
|
10487
|
+
// StreamResult.toolEvents.
|
|
10485
10488
|
// ========================================
|
|
10486
10489
|
// Tool Registration API
|
|
10487
10490
|
// ========================================
|
|
@@ -177,8 +177,8 @@ export class ChunkerFactory extends BaseFactory {
|
|
|
177
177
|
}, DEFAULT_CHUNKER_METADATA.latex);
|
|
178
178
|
// Register semantic chunker (placeholder - uses recursive as fallback)
|
|
179
179
|
this.registerChunker("semantic", async (config) => {
|
|
180
|
-
//
|
|
181
|
-
//
|
|
180
|
+
// Intentional fallback, not a gap: no dedicated SemanticChunker
|
|
181
|
+
// exists yet, so this uses RecursiveChunker with semantic defaults.
|
|
182
182
|
const { RecursiveChunker } = await import("./chunkers/RecursiveChunker.js");
|
|
183
183
|
return new RecursiveChunker(config);
|
|
184
184
|
}, DEFAULT_CHUNKER_METADATA.semantic);
|
|
@@ -367,8 +367,8 @@ export declare function hasJudge(config: WorkflowConfig): boolean;
|
|
|
367
367
|
*/
|
|
368
368
|
export declare function getAllJudges(config: WorkflowConfig): JudgeConfig[];
|
|
369
369
|
/**
|
|
370
|
-
* Calculate estimated workflow cost (placeholder)
|
|
371
|
-
*
|
|
370
|
+
* Calculate estimated workflow cost (placeholder). Provider-specific
|
|
371
|
+
* pricing is a possible future direction, not planned work.
|
|
372
372
|
* @param config - Workflow configuration
|
|
373
373
|
* @param estimatedTokens - Estimated number of tokens for the request
|
|
374
374
|
* @returns Estimated cost in USD
|
package/dist/workflow/config.js
CHANGED
|
@@ -382,8 +382,8 @@ export function getAllJudges(config) {
|
|
|
382
382
|
return [];
|
|
383
383
|
}
|
|
384
384
|
/**
|
|
385
|
-
* Calculate estimated workflow cost (placeholder)
|
|
386
|
-
*
|
|
385
|
+
* Calculate estimated workflow cost (placeholder). Provider-specific
|
|
386
|
+
* pricing is a possible future direction, not planned work.
|
|
387
387
|
* @param config - Workflow configuration
|
|
388
388
|
* @param estimatedTokens - Estimated number of tokens for the request
|
|
389
389
|
* @returns Estimated cost in USD
|
|
@@ -9,8 +9,8 @@ const functionTag = "WorkflowRegistry";
|
|
|
9
9
|
// REGISTRY STORAGE
|
|
10
10
|
// ============================================================================
|
|
11
11
|
/**
|
|
12
|
-
* In-memory workflow registry
|
|
13
|
-
*
|
|
12
|
+
* In-memory workflow registry. Persistent storage is a possible future
|
|
13
|
+
* direction, not planned work.
|
|
14
14
|
*/
|
|
15
15
|
const workflowRegistry = new Map();
|
|
16
16
|
// ============================================================================
|
|
@@ -158,7 +158,7 @@ export async function runWorkflow(config, options) {
|
|
|
158
158
|
totalInputTokens: calculateInputTokens(ensembleResult.responses),
|
|
159
159
|
totalOutputTokens: calculateOutputTokens(ensembleResult.responses),
|
|
160
160
|
totalTokens: calculateTotalTokens(ensembleResult.responses),
|
|
161
|
-
byModel: [], //
|
|
161
|
+
byModel: [], // Placeholder — not populated yet
|
|
162
162
|
},
|
|
163
163
|
// Additional metadata
|
|
164
164
|
metadata: options.metadata,
|
|
@@ -45,8 +45,8 @@ export declare function calculateModelMetrics(responses: EnsembleResponse[]): Re
|
|
|
45
45
|
}>;
|
|
46
46
|
/**
|
|
47
47
|
* Calculate consensus level between responses
|
|
48
|
-
* NOTE: Placeholder implementation - uses response length similarity
|
|
49
|
-
*
|
|
48
|
+
* NOTE: Placeholder implementation - uses response length similarity.
|
|
49
|
+
* Semantic similarity is a possible future direction, not planned work.
|
|
50
50
|
*/
|
|
51
51
|
export declare function calculateConsensus(responses: EnsembleResponse[]): number;
|
|
52
52
|
/**
|
|
@@ -158,8 +158,8 @@ export function calculateModelMetrics(responses) {
|
|
|
158
158
|
}
|
|
159
159
|
/**
|
|
160
160
|
* Calculate consensus level between responses
|
|
161
|
-
* NOTE: Placeholder implementation - uses response length similarity
|
|
162
|
-
*
|
|
161
|
+
* NOTE: Placeholder implementation - uses response length similarity.
|
|
162
|
+
* Semantic similarity is a possible future direction, not planned work.
|
|
163
163
|
*/
|
|
164
164
|
export function calculateConsensus(responses) {
|
|
165
165
|
const successful = responses.filter((r) => r.status === "success");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@juspay/neurolink",
|
|
3
|
-
"version": "12.49.
|
|
3
|
+
"version": "12.49.14",
|
|
4
4
|
"packageManager": "pnpm@10.15.1",
|
|
5
5
|
"description": "The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002/call) for routing, tool selection and context budgeting. MCP-native (4 transports), voice TTS/STT/realtime, RAG, agents, memory, compaction, 9 observability exporters. OpenAI · Anthropic · Gemini · Bedrock · Azure · Ollama · TypeSafe Jev and more.",
|
|
6
6
|
"author": {
|
|
@@ -686,6 +686,7 @@
|
|
|
686
686
|
"@eslint/plugin-kit@<0.3.4": ">=0.3.4",
|
|
687
687
|
"tmp@<0.2.6": ">=0.2.6",
|
|
688
688
|
"axios@<1.13.5": ">=1.13.5",
|
|
689
|
+
"handlebars@<=4.7.9": ">=4.7.10",
|
|
689
690
|
"glob@>=10.3.7 <=11.0.3": ">=11.1.0",
|
|
690
691
|
"@semantic-release/npm": "^13.1.4",
|
|
691
692
|
"@opentelemetry/sdk-trace-base": "^2.6.0",
|