@juspay/neurolink 7.36.0 → 7.37.1
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 +12 -0
- package/dist/cli/commands/config.d.ts +18 -18
- package/dist/cli/factories/commandFactory.d.ts +24 -0
- package/dist/cli/factories/commandFactory.js +297 -245
- package/dist/config/taskClassificationConfig.d.ts +51 -0
- package/dist/config/taskClassificationConfig.js +148 -0
- package/dist/core/baseProvider.d.ts +40 -3
- package/dist/core/baseProvider.js +689 -352
- package/dist/core/constants.d.ts +2 -30
- package/dist/core/constants.js +15 -43
- package/dist/factories/providerFactory.js +23 -6
- package/dist/index.d.ts +3 -2
- package/dist/index.js +4 -3
- package/dist/lib/config/taskClassificationConfig.d.ts +51 -0
- package/dist/lib/config/taskClassificationConfig.js +148 -0
- package/dist/lib/core/baseProvider.d.ts +40 -3
- package/dist/lib/core/baseProvider.js +689 -352
- package/dist/lib/core/constants.d.ts +2 -30
- package/dist/lib/core/constants.js +15 -43
- package/dist/lib/factories/providerFactory.js +23 -6
- package/dist/lib/index.d.ts +3 -2
- package/dist/lib/index.js +4 -3
- package/dist/lib/mcp/externalServerManager.js +2 -2
- package/dist/lib/mcp/registry.js +2 -2
- package/dist/lib/mcp/servers/agent/directToolsServer.js +19 -10
- package/dist/lib/mcp/toolRegistry.js +4 -8
- package/dist/lib/neurolink.d.ts +82 -27
- package/dist/lib/neurolink.js +672 -713
- package/dist/lib/providers/amazonBedrock.js +2 -2
- package/dist/lib/providers/googleVertex.d.ts +3 -23
- package/dist/lib/providers/googleVertex.js +14 -342
- package/dist/lib/providers/openAI.d.ts +23 -0
- package/dist/lib/providers/openAI.js +313 -6
- package/dist/lib/providers/sagemaker/language-model.d.ts +2 -2
- package/dist/lib/sdk/toolRegistration.js +18 -1
- package/dist/lib/types/common.d.ts +98 -0
- package/dist/lib/types/index.d.ts +2 -0
- package/dist/lib/types/index.js +2 -0
- package/dist/lib/types/streamTypes.d.ts +13 -6
- package/dist/lib/types/taskClassificationTypes.d.ts +52 -0
- package/dist/lib/types/taskClassificationTypes.js +5 -0
- package/dist/lib/types/typeAliases.d.ts +3 -2
- package/dist/lib/utils/modelRouter.d.ts +107 -0
- package/dist/lib/utils/modelRouter.js +292 -0
- package/dist/lib/utils/parameterValidation.js +6 -25
- package/dist/lib/utils/promptRedaction.d.ts +29 -0
- package/dist/lib/utils/promptRedaction.js +62 -0
- package/dist/lib/utils/schemaConversion.d.ts +14 -0
- package/dist/lib/utils/schemaConversion.js +140 -0
- package/dist/lib/utils/taskClassificationUtils.d.ts +55 -0
- package/dist/lib/utils/taskClassificationUtils.js +149 -0
- package/dist/lib/utils/taskClassifier.d.ts +23 -0
- package/dist/lib/utils/taskClassifier.js +94 -0
- package/dist/lib/utils/transformationUtils.js +143 -5
- package/dist/mcp/externalServerManager.js +2 -2
- package/dist/mcp/registry.js +2 -2
- package/dist/mcp/servers/agent/directToolsServer.js +19 -10
- package/dist/mcp/toolRegistry.js +4 -8
- package/dist/neurolink.d.ts +82 -27
- package/dist/neurolink.js +672 -713
- package/dist/providers/amazonBedrock.js +2 -2
- package/dist/providers/googleVertex.d.ts +3 -23
- package/dist/providers/googleVertex.js +14 -342
- package/dist/providers/openAI.d.ts +23 -0
- package/dist/providers/openAI.js +313 -6
- package/dist/providers/sagemaker/language-model.d.ts +2 -2
- package/dist/sdk/toolRegistration.js +18 -1
- package/dist/types/common.d.ts +98 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +2 -0
- package/dist/types/streamTypes.d.ts +13 -6
- package/dist/types/taskClassificationTypes.d.ts +52 -0
- package/dist/types/taskClassificationTypes.js +5 -0
- package/dist/types/typeAliases.d.ts +3 -2
- package/dist/utils/modelRouter.d.ts +107 -0
- package/dist/utils/modelRouter.js +292 -0
- package/dist/utils/parameterValidation.js +6 -25
- package/dist/utils/promptRedaction.d.ts +29 -0
- package/dist/utils/promptRedaction.js +62 -0
- package/dist/utils/schemaConversion.d.ts +14 -0
- package/dist/utils/schemaConversion.js +140 -0
- package/dist/utils/taskClassificationUtils.d.ts +55 -0
- package/dist/utils/taskClassificationUtils.js +149 -0
- package/dist/utils/taskClassifier.d.ts +23 -0
- package/dist/utils/taskClassifier.js +94 -0
- package/dist/utils/transformationUtils.js +143 -5
- package/package.json +3 -2
@@ -0,0 +1,148 @@
|
|
1
|
+
/**
|
2
|
+
* Task Classification Configuration
|
3
|
+
* Contains patterns, keywords, and scoring weights for task classification
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Regular expression patterns that indicate fast response tasks
|
7
|
+
*/
|
8
|
+
export const FAST_PATTERNS = [
|
9
|
+
// Greetings and social
|
10
|
+
/^(hi|hello|hey|good morning|good afternoon|good evening)/i,
|
11
|
+
/^(thanks?|thank you|thx)/i,
|
12
|
+
/^(yes|no|ok|okay|sure|fine)/i,
|
13
|
+
// Simple questions
|
14
|
+
/^what is\s+\w+\??$/i,
|
15
|
+
/^how are you/i,
|
16
|
+
/^tell me about\s+\w+$/i,
|
17
|
+
// Simple requests
|
18
|
+
/^(list|show|display)\s+/i,
|
19
|
+
/^give me\s+/i,
|
20
|
+
/^can you\s+(help|assist)/i,
|
21
|
+
// Simple definitions
|
22
|
+
/^define\s+/i,
|
23
|
+
/^meaning of\s+/i,
|
24
|
+
/^what does\s+\w+\s+mean/i,
|
25
|
+
// Quick facts
|
26
|
+
/^when (is|was|did)/i,
|
27
|
+
/^where (is|was)/i,
|
28
|
+
/^who (is|was)/i,
|
29
|
+
// Simple translations
|
30
|
+
/^translate\s+["'].*["']\s+to\s+\w+/i,
|
31
|
+
/^how do you say\s+/i,
|
32
|
+
];
|
33
|
+
/**
|
34
|
+
* Regular expression patterns that indicate reasoning tasks
|
35
|
+
*/
|
36
|
+
export const REASONING_PATTERNS = [
|
37
|
+
// Analysis and comparison
|
38
|
+
/\b(analyz|compar|evaluat|assess|examin)\w*/i,
|
39
|
+
/\b(pros and cons|advantages and disadvantages)/i,
|
40
|
+
/\b(better|worse|best|worst)\b.*\b(than|versus|vs)\b/i,
|
41
|
+
// Problem solving
|
42
|
+
/\b(solve|solution|problem|issue|challenge)\b/i,
|
43
|
+
/\b(how to|step by step|strategy|approach)\b/i,
|
44
|
+
/\b(optimize|improve|enhance|maximize|minimize)\b/i,
|
45
|
+
// Planning and design
|
46
|
+
/\b(plan|design|architect|structure|framework)\b/i,
|
47
|
+
/\b(implement|develop|build|create|construct)\b/i,
|
48
|
+
/\b(roadmap|timeline|schedule|phases)\b/i,
|
49
|
+
// Complex questions
|
50
|
+
/\b(why|explain|reason|cause|effect|impact)\b/i,
|
51
|
+
/\b(implications|consequences|considerations)\b/i,
|
52
|
+
/\b(should I|would you recommend|what if)\b/i,
|
53
|
+
// Research and investigation
|
54
|
+
/\b(research|investigate|explore|discover)\b/i,
|
55
|
+
/\b(evidence|proof|validate|verify)\b/i,
|
56
|
+
/\b(trends|patterns|insights|conclusions)\b/i,
|
57
|
+
// Business and strategy
|
58
|
+
/\b(business|strategy|market|competitive|financial)\b/i,
|
59
|
+
/\b(ROI|revenue|profit|investment|budget)\b/i,
|
60
|
+
/\b(stakeholder|customer|user experience|UX)\b/i,
|
61
|
+
// Technical complexity
|
62
|
+
/\b(algorithm|architecture|system|infrastructure)\b/i,
|
63
|
+
/\b(performance|scalability|security|reliability)\b/i,
|
64
|
+
/\b(integration|API|database|server)\b/i,
|
65
|
+
];
|
66
|
+
/**
|
67
|
+
* Keywords that indicate fast tasks regardless of context
|
68
|
+
*/
|
69
|
+
export const FAST_KEYWORDS = [
|
70
|
+
"quick",
|
71
|
+
"simple",
|
72
|
+
"brief",
|
73
|
+
"short",
|
74
|
+
"summary",
|
75
|
+
"overview",
|
76
|
+
"definition",
|
77
|
+
"meaning",
|
78
|
+
"list",
|
79
|
+
"show",
|
80
|
+
"display",
|
81
|
+
"name",
|
82
|
+
"tell",
|
83
|
+
"what",
|
84
|
+
"when",
|
85
|
+
"where",
|
86
|
+
"who",
|
87
|
+
"how many",
|
88
|
+
"count",
|
89
|
+
];
|
90
|
+
/**
|
91
|
+
* Keywords that indicate reasoning tasks regardless of context
|
92
|
+
*/
|
93
|
+
export const REASONING_KEYWORDS = [
|
94
|
+
"complex",
|
95
|
+
"detailed",
|
96
|
+
"comprehensive",
|
97
|
+
"thorough",
|
98
|
+
"in-depth",
|
99
|
+
"analyze",
|
100
|
+
"compare",
|
101
|
+
"evaluate",
|
102
|
+
"assess",
|
103
|
+
"research",
|
104
|
+
"investigate",
|
105
|
+
"strategy",
|
106
|
+
"plan",
|
107
|
+
"design",
|
108
|
+
"solve",
|
109
|
+
"optimize",
|
110
|
+
"recommend",
|
111
|
+
"explain",
|
112
|
+
"why",
|
113
|
+
"justify",
|
114
|
+
"pros",
|
115
|
+
"cons",
|
116
|
+
"trade-offs",
|
117
|
+
];
|
118
|
+
/**
|
119
|
+
* Scoring weights for different classification factors
|
120
|
+
*/
|
121
|
+
export const SCORING_WEIGHTS = {
|
122
|
+
SHORT_PROMPT_BONUS: 2,
|
123
|
+
LONG_PROMPT_BONUS: 1,
|
124
|
+
PATTERN_MATCH_SCORE: 3,
|
125
|
+
KEYWORD_MATCH_SCORE: 1,
|
126
|
+
MULTIPLE_QUESTIONS_BONUS: 1,
|
127
|
+
MULTI_SENTENCE_BONUS: 1,
|
128
|
+
TECHNICAL_DOMAIN_BONUS: 1,
|
129
|
+
SIMPLE_DEFINITION_BONUS: 2,
|
130
|
+
};
|
131
|
+
/**
|
132
|
+
* Classification thresholds and constraints
|
133
|
+
*/
|
134
|
+
export const CLASSIFICATION_THRESHOLDS = {
|
135
|
+
SHORT_PROMPT_LENGTH: 50,
|
136
|
+
LONG_PROMPT_LENGTH: 200,
|
137
|
+
SIMPLE_DEFINITION_LENGTH: 100,
|
138
|
+
MIN_CONFIDENCE: 0.6,
|
139
|
+
MAX_CONFIDENCE: 0.95,
|
140
|
+
DEFAULT_CONFIDENCE: 0.5,
|
141
|
+
};
|
142
|
+
/**
|
143
|
+
* Domain-specific patterns for enhanced classification
|
144
|
+
*/
|
145
|
+
export const DOMAIN_PATTERNS = {
|
146
|
+
TECHNICAL: /\b(code|programming|development|software)\b/i,
|
147
|
+
SIMPLE_DEFINITION: /\b(definition|meaning|what is)\b/i,
|
148
|
+
};
|
@@ -34,6 +34,39 @@ export declare abstract class BaseProvider implements AIProvider {
|
|
34
34
|
* When tools are involved, falls back to generate() with synthetic streaming
|
35
35
|
*/
|
36
36
|
stream(optionsOrPrompt: StreamOptions | string, analysisSchema?: ValidationSchema): Promise<StreamResult>;
|
37
|
+
/**
|
38
|
+
* Prepare generation context including tools and model
|
39
|
+
*/
|
40
|
+
private prepareGenerationContext;
|
41
|
+
/**
|
42
|
+
* Build messages array for generation
|
43
|
+
*/
|
44
|
+
private buildMessages;
|
45
|
+
/**
|
46
|
+
* Execute the generation with AI SDK
|
47
|
+
*/
|
48
|
+
private executeGeneration;
|
49
|
+
/**
|
50
|
+
* Log generation completion information
|
51
|
+
*/
|
52
|
+
private logGenerationComplete;
|
53
|
+
/**
|
54
|
+
* Record performance metrics
|
55
|
+
*/
|
56
|
+
private recordPerformanceMetrics;
|
57
|
+
/**
|
58
|
+
* Extract tool information from generation result
|
59
|
+
*/
|
60
|
+
private extractToolInformation;
|
61
|
+
/**
|
62
|
+
* Format the enhanced result
|
63
|
+
*/
|
64
|
+
private formatEnhancedResult;
|
65
|
+
/**
|
66
|
+
* Analyze AI response structure and log detailed debugging information
|
67
|
+
* Extracted from generate method to reduce complexity
|
68
|
+
*/
|
69
|
+
private analyzeAIResponse;
|
37
70
|
/**
|
38
71
|
* Text generation method - implements AIProvider interface
|
39
72
|
* Tools are always available unless explicitly disabled
|
@@ -85,12 +118,17 @@ export declare abstract class BaseProvider implements AIProvider {
|
|
85
118
|
private isZodSchema;
|
86
119
|
/**
|
87
120
|
* Convert tool execution result from MCP format to standard format
|
121
|
+
* Handles tool failures gracefully to prevent stream termination
|
88
122
|
*/
|
89
123
|
private convertToolResult;
|
90
124
|
/**
|
91
125
|
* Create a custom tool from tool definition
|
92
126
|
*/
|
93
127
|
private createCustomToolFromDefinition;
|
128
|
+
/**
|
129
|
+
* Process direct tools with event emission wrapping
|
130
|
+
*/
|
131
|
+
private processDirectTools;
|
94
132
|
/**
|
95
133
|
* Process custom tools from setupToolExecutor
|
96
134
|
*/
|
@@ -117,10 +155,9 @@ export declare abstract class BaseProvider implements AIProvider {
|
|
117
155
|
*/
|
118
156
|
private calculateActualCost;
|
119
157
|
/**
|
120
|
-
*
|
121
|
-
* Handles common MCP schema patterns safely
|
158
|
+
* Create a permissive Zod schema that accepts all parameters as-is
|
122
159
|
*/
|
123
|
-
private
|
160
|
+
private createPermissiveZodSchema;
|
124
161
|
/**
|
125
162
|
* Set session context for MCP tools
|
126
163
|
*/
|