@juspay/neurolink 7.33.0 → 7.33.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/agent/directTools.d.ts +6 -6
- package/dist/cli/commands/config.d.ts +68 -68
- package/dist/cli/utils/interactiveSetup.d.ts +1 -1
- package/dist/cli/utils/interactiveSetup.js +1 -1
- package/dist/core/analytics.d.ts +1 -2
- package/dist/core/baseProvider.d.ts +1 -1
- package/dist/core/baseProvider.js +1 -0
- package/dist/core/dynamicModels.d.ts +1 -132
- package/dist/core/dynamicModels.js +0 -7
- package/dist/core/evaluation.d.ts +1 -39
- package/dist/core/evaluationProviders.d.ts +1 -17
- package/dist/core/evaluationProviders.js +1 -1
- package/dist/core/factory.d.ts +1 -3
- package/dist/core/factory.js +0 -1
- package/dist/core/modelConfiguration.d.ts +8 -69
- package/dist/core/modelConfiguration.js +11 -11
- package/dist/core/serviceRegistry.d.ts +1 -8
- package/dist/core/streamAnalytics.d.ts +2 -45
- package/dist/factories/providerFactory.d.ts +1 -1
- package/dist/factories/providerRegistry.js +1 -1
- package/dist/index.d.ts +8 -9
- package/dist/index.js +1 -1
- package/dist/lib/core/analytics.d.ts +1 -2
- package/dist/lib/core/baseProvider.d.ts +1 -1
- package/dist/lib/core/baseProvider.js +1 -0
- package/dist/lib/core/dynamicModels.d.ts +1 -132
- package/dist/lib/core/dynamicModels.js +0 -7
- package/dist/lib/core/evaluation.d.ts +1 -39
- package/dist/lib/core/evaluationProviders.d.ts +1 -17
- package/dist/lib/core/evaluationProviders.js +1 -1
- package/dist/lib/core/factory.d.ts +1 -3
- package/dist/lib/core/factory.js +0 -1
- package/dist/lib/core/modelConfiguration.d.ts +8 -69
- package/dist/lib/core/modelConfiguration.js +11 -11
- package/dist/lib/core/serviceRegistry.d.ts +1 -8
- package/dist/lib/core/streamAnalytics.d.ts +2 -45
- package/dist/lib/factories/providerFactory.d.ts +1 -1
- package/dist/lib/factories/providerRegistry.js +1 -1
- package/dist/lib/index.d.ts +5 -6
- package/dist/lib/index.js +1 -1
- package/dist/lib/mcp/externalServerManager.d.ts +18 -3
- package/dist/lib/mcp/externalServerManager.js +125 -3
- package/dist/lib/models/modelRegistry.d.ts +1 -1
- package/dist/lib/models/modelRegistry.js +1 -1
- package/dist/lib/models/modelResolver.d.ts +1 -1
- package/dist/lib/neurolink.d.ts +2 -2
- package/dist/lib/neurolink.js +4 -3
- package/dist/lib/providers/amazonBedrock.d.ts +1 -2
- package/dist/lib/providers/amazonSagemaker.d.ts +1 -1
- package/dist/lib/providers/anthropic.d.ts +1 -1
- package/dist/lib/providers/anthropic.js +1 -1
- package/dist/lib/providers/anthropicBaseProvider.d.ts +1 -1
- package/dist/lib/providers/anthropicBaseProvider.js +1 -1
- package/dist/lib/providers/azureOpenai.d.ts +1 -1
- package/dist/lib/providers/googleAiStudio.d.ts +1 -1
- package/dist/lib/providers/googleAiStudio.js +1 -1
- package/dist/lib/providers/googleVertex.d.ts +1 -1
- package/dist/lib/providers/googleVertex.js +1 -1
- package/dist/lib/providers/huggingFace.d.ts +1 -1
- package/dist/lib/providers/index.d.ts +1 -1
- package/dist/lib/providers/litellm.d.ts +1 -1
- package/dist/lib/providers/mistral.d.ts +1 -1
- package/dist/lib/providers/ollama.d.ts +1 -1
- package/dist/lib/providers/ollama.js +1 -1
- package/dist/lib/providers/openAI.d.ts +1 -1
- package/dist/lib/providers/openAI.js +1 -1
- package/dist/lib/providers/openaiCompatible.d.ts +1 -1
- package/dist/lib/providers/sagemaker/language-model.d.ts +2 -2
- package/dist/lib/types/analytics.d.ts +53 -0
- package/dist/lib/types/analytics.js +5 -0
- package/dist/lib/types/cli.d.ts +1 -1
- package/dist/lib/types/evaluation.d.ts +119 -0
- package/dist/lib/types/evaluation.js +5 -0
- package/dist/lib/types/evaluationProviders.d.ts +104 -0
- package/dist/lib/types/evaluationProviders.js +5 -0
- package/dist/lib/types/generateTypes.d.ts +89 -18
- package/dist/lib/types/index.d.ts +10 -2
- package/dist/lib/types/index.js +12 -0
- package/dist/lib/types/modelTypes.d.ts +242 -0
- package/dist/lib/types/modelTypes.js +30 -0
- package/dist/lib/types/providers.d.ts +193 -127
- package/dist/lib/types/providers.js +110 -18
- package/dist/lib/types/serviceTypes.d.ts +79 -0
- package/dist/lib/types/serviceTypes.js +5 -0
- package/dist/lib/types/streamTypes.d.ts +101 -21
- package/dist/lib/utils/analyticsUtils.d.ts +5 -1
- package/dist/lib/utils/analyticsUtils.js +13 -0
- package/dist/lib/utils/conversationMemoryUtils.d.ts +1 -1
- package/dist/lib/utils/evaluationUtils.d.ts +1 -1
- package/dist/lib/utils/factoryProcessing.d.ts +1 -1
- package/dist/lib/utils/messageBuilder.d.ts +1 -1
- package/dist/lib/utils/providerHealth.d.ts +1 -1
- package/dist/lib/utils/providerHealth.js +1 -1
- package/dist/lib/utils/providerUtils.d.ts +5 -0
- package/dist/lib/utils/providerUtils.js +6 -0
- package/dist/mcp/externalServerManager.d.ts +18 -3
- package/dist/mcp/externalServerManager.js +125 -3
- package/dist/models/modelRegistry.d.ts +1 -1
- package/dist/models/modelRegistry.js +1 -1
- package/dist/models/modelResolver.d.ts +1 -1
- package/dist/neurolink.d.ts +2 -2
- package/dist/neurolink.js +4 -3
- package/dist/providers/amazonBedrock.d.ts +1 -2
- package/dist/providers/amazonSagemaker.d.ts +1 -1
- package/dist/providers/anthropic.d.ts +1 -1
- package/dist/providers/anthropic.js +1 -1
- package/dist/providers/anthropicBaseProvider.d.ts +1 -1
- package/dist/providers/anthropicBaseProvider.js +1 -1
- package/dist/providers/azureOpenai.d.ts +1 -1
- package/dist/providers/googleAiStudio.d.ts +1 -1
- package/dist/providers/googleAiStudio.js +1 -1
- package/dist/providers/googleVertex.d.ts +1 -1
- package/dist/providers/googleVertex.js +1 -1
- package/dist/providers/huggingFace.d.ts +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/litellm.d.ts +1 -1
- package/dist/providers/mistral.d.ts +1 -1
- package/dist/providers/ollama.d.ts +1 -1
- package/dist/providers/ollama.js +1 -1
- package/dist/providers/openAI.d.ts +1 -1
- package/dist/providers/openAI.js +1 -1
- package/dist/providers/openaiCompatible.d.ts +1 -1
- package/dist/types/analytics.d.ts +53 -0
- package/dist/types/analytics.js +5 -0
- package/dist/types/cli.d.ts +1 -1
- package/dist/types/evaluation.d.ts +119 -0
- package/dist/types/evaluation.js +5 -0
- package/dist/types/evaluationProviders.d.ts +104 -0
- package/dist/types/evaluationProviders.js +5 -0
- package/dist/types/generateTypes.d.ts +89 -18
- package/dist/types/index.d.ts +10 -2
- package/dist/types/index.js +12 -0
- package/dist/types/modelTypes.d.ts +242 -0
- package/dist/types/modelTypes.js +30 -0
- package/dist/types/providers.d.ts +193 -127
- package/dist/types/providers.js +110 -18
- package/dist/types/serviceTypes.d.ts +79 -0
- package/dist/types/serviceTypes.js +5 -0
- package/dist/types/streamTypes.d.ts +101 -21
- package/dist/utils/analyticsUtils.d.ts +5 -1
- package/dist/utils/analyticsUtils.js +13 -0
- package/dist/utils/conversationMemoryUtils.d.ts +1 -1
- package/dist/utils/evaluationUtils.d.ts +1 -1
- package/dist/utils/factoryProcessing.d.ts +1 -1
- package/dist/utils/messageBuilder.d.ts +1 -1
- package/dist/utils/providerHealth.d.ts +1 -1
- package/dist/utils/providerHealth.js +1 -1
- package/dist/utils/providerUtils.d.ts +5 -0
- package/dist/utils/providerUtils.js +6 -0
- package/package.json +1 -1
- package/dist/core/types.d.ts +0 -223
- package/dist/core/types.js +0 -111
- package/dist/lib/core/types.d.ts +0 -223
- package/dist/lib/core/types.js +0 -111
|
@@ -1122,7 +1122,7 @@ export class GoogleVertexProvider extends BaseProvider {
|
|
|
1122
1122
|
// Cache expired, refresh it with memory management
|
|
1123
1123
|
GoogleVertexProvider.modelConfigCache.clear();
|
|
1124
1124
|
const config = ModelConfigurationManager.getInstance();
|
|
1125
|
-
const vertexConfig = config.
|
|
1125
|
+
const vertexConfig = config.getProviderConfiguration("google-vertex");
|
|
1126
1126
|
GoogleVertexProvider.modelConfigCache.set(cacheKey, vertexConfig);
|
|
1127
1127
|
GoogleVertexProvider.modelConfigCacheTime = now;
|
|
1128
1128
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ZodType, ZodTypeDef } from "zod";
|
|
2
2
|
import { type Schema, type LanguageModelV1 } from "ai";
|
|
3
|
-
import type { AIProviderName } from "../
|
|
3
|
+
import type { AIProviderName } from "../types/index.js";
|
|
4
4
|
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
5
|
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
/**
|
|
@@ -14,7 +14,7 @@ export { HuggingFaceProvider as HuggingFace } from "./huggingFace.js";
|
|
|
14
14
|
export { OllamaProvider as Ollama } from "./ollama.js";
|
|
15
15
|
export { MistralProvider as MistralAI } from "./mistral.js";
|
|
16
16
|
export { LiteLLMProvider as LiteLLM } from "./litellm.js";
|
|
17
|
-
export type { AIProvider } from "../
|
|
17
|
+
export type { AIProvider } from "../types/index.js";
|
|
18
18
|
/**
|
|
19
19
|
* Provider registry for dynamic provider instantiation
|
|
20
20
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ZodType, ZodTypeDef } from "zod";
|
|
2
2
|
import { type Schema, type LanguageModelV1 } from "ai";
|
|
3
|
-
import type { AIProviderName } from "../
|
|
3
|
+
import type { AIProviderName } from "../types/index.js";
|
|
4
4
|
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
5
|
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type LanguageModelV1 } from "ai";
|
|
2
2
|
import type { ValidationSchema } from "../types/typeAliases.js";
|
|
3
|
-
import type { AIProviderName } from "../
|
|
3
|
+
import type { AIProviderName } from "../types/index.js";
|
|
4
4
|
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
5
|
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AIProviderName } from "../
|
|
1
|
+
import type { AIProviderName } from "../types/index.js";
|
|
2
2
|
import type { LanguageModelV1 } from "ai";
|
|
3
3
|
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
4
4
|
import type { ZodUnknownSchema } from "../types/typeAliases.js";
|
package/dist/providers/ollama.js
CHANGED
|
@@ -273,7 +273,7 @@ export class OllamaProvider extends BaseProvider {
|
|
|
273
273
|
supportsTools() {
|
|
274
274
|
const modelName = this.modelName.toLowerCase();
|
|
275
275
|
// Get tool-capable models from configuration
|
|
276
|
-
const ollamaConfig = modelConfig.
|
|
276
|
+
const ollamaConfig = modelConfig.getProviderConfiguration("ollama");
|
|
277
277
|
const toolCapableModels = ollamaConfig?.modelBehavior?.toolCapableModels || [];
|
|
278
278
|
// Check if current model matches tool-capable model patterns
|
|
279
279
|
const isToolCapable = toolCapableModels.some((capableModel) => modelName.includes(capableModel));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type LanguageModelV1 } from "ai";
|
|
2
2
|
import type { ValidationSchema } from "../types/typeAliases.js";
|
|
3
|
-
import { AIProviderName } from "../
|
|
3
|
+
import { AIProviderName } from "../types/index.js";
|
|
4
4
|
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
5
|
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
import type { NeuroLink } from "../neurolink.js";
|
package/dist/providers/openAI.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createOpenAI } from "@ai-sdk/openai";
|
|
2
2
|
import { streamText } from "ai";
|
|
3
|
-
import { AIProviderName } from "../
|
|
3
|
+
import { AIProviderName } from "../types/index.js";
|
|
4
4
|
import { BaseProvider } from "../core/baseProvider.js";
|
|
5
5
|
import { logger } from "../utils/logger.js";
|
|
6
6
|
import { createTimeoutController, TimeoutError } from "../utils/timeout.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Schema, type LanguageModelV1 } from "ai";
|
|
2
2
|
import type { ZodUnknownSchema } from "../types/typeAliases.js";
|
|
3
|
-
import type { AIProviderName } from "../
|
|
3
|
+
import type { AIProviderName } from "../types/index.js";
|
|
4
4
|
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
5
|
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
/**
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics-related type definitions for NeuroLink
|
|
3
|
+
* Comprehensive usage tracking, performance metrics, and cost analysis types
|
|
4
|
+
*/
|
|
5
|
+
import type { JsonValue, UnknownRecord } from "./common.js";
|
|
6
|
+
/**
|
|
7
|
+
* Token usage information (consolidated from multiple sources)
|
|
8
|
+
*/
|
|
9
|
+
export type TokenUsage = {
|
|
10
|
+
input: number;
|
|
11
|
+
output: number;
|
|
12
|
+
total: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Error info type for analytics
|
|
16
|
+
*/
|
|
17
|
+
export type ErrorInfo = {
|
|
18
|
+
message: string;
|
|
19
|
+
code?: string | number;
|
|
20
|
+
stack?: string;
|
|
21
|
+
details?: UnknownRecord;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Analytics data structure (consolidated from core analytics)
|
|
25
|
+
*/
|
|
26
|
+
export type AnalyticsData = {
|
|
27
|
+
provider: string;
|
|
28
|
+
model?: string;
|
|
29
|
+
tokenUsage: TokenUsage;
|
|
30
|
+
requestDuration: number;
|
|
31
|
+
timestamp: string;
|
|
32
|
+
cost?: number;
|
|
33
|
+
context?: JsonValue;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Stream Analytics Data - Enhanced for performance tracking
|
|
37
|
+
*/
|
|
38
|
+
export type StreamAnalyticsData = {
|
|
39
|
+
/** Tool execution results with timing */
|
|
40
|
+
toolResults?: Promise<Array<unknown>>;
|
|
41
|
+
/** Tool calls made during stream */
|
|
42
|
+
toolCalls?: Promise<Array<unknown>>;
|
|
43
|
+
/** Stream performance metrics */
|
|
44
|
+
performance?: {
|
|
45
|
+
startTime: number;
|
|
46
|
+
endTime?: number;
|
|
47
|
+
chunkCount: number;
|
|
48
|
+
avgChunkSize: number;
|
|
49
|
+
totalBytes: number;
|
|
50
|
+
};
|
|
51
|
+
/** Provider analytics */
|
|
52
|
+
providerAnalytics?: AnalyticsData;
|
|
53
|
+
};
|
package/dist/types/cli.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* CLI-specific type definitions for NeuroLink
|
|
3
3
|
*/
|
|
4
4
|
import type { UnknownRecord, JsonValue } from "./common.js";
|
|
5
|
-
import type { AnalyticsData, TokenUsage } from "./
|
|
5
|
+
import type { AnalyticsData, TokenUsage } from "./analytics.js";
|
|
6
6
|
import type { EvaluationData } from "../index.js";
|
|
7
7
|
import type { ToolCall, ToolResult } from "./tools.js";
|
|
8
8
|
/**
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluation provider type definitions for NeuroLink
|
|
3
|
+
* Provider performance tracking, evaluation configurations, and provider optimization types
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Evaluation provider type as specified in core module refactoring
|
|
7
|
+
*/
|
|
8
|
+
export type EvaluationProvider = "openai" | "anthropic" | "vertex" | "google-ai" | "local";
|
|
9
|
+
/**
|
|
10
|
+
* Evaluation modes
|
|
11
|
+
*/
|
|
12
|
+
export type EvaluationMode = "basic" | "detailed" | "domain-aware" | "disabled";
|
|
13
|
+
/**
|
|
14
|
+
* Alert severity levels
|
|
15
|
+
*/
|
|
16
|
+
export type AlertSeverity = "low" | "medium" | "high" | "none";
|
|
17
|
+
/**
|
|
18
|
+
* Response quality evaluation scores - Comprehensive evaluation type
|
|
19
|
+
*/
|
|
20
|
+
export type EvaluationData = {
|
|
21
|
+
relevance: number;
|
|
22
|
+
accuracy: number;
|
|
23
|
+
completeness: number;
|
|
24
|
+
overall: number;
|
|
25
|
+
domainAlignment?: number;
|
|
26
|
+
terminologyAccuracy?: number;
|
|
27
|
+
toolEffectiveness?: number;
|
|
28
|
+
isOffTopic: boolean;
|
|
29
|
+
alertSeverity: AlertSeverity;
|
|
30
|
+
reasoning: string;
|
|
31
|
+
suggestedImprovements?: string;
|
|
32
|
+
evaluationModel: string;
|
|
33
|
+
evaluationTime: number;
|
|
34
|
+
evaluationDomain?: string;
|
|
35
|
+
evaluationProvider?: string;
|
|
36
|
+
evaluationAttempt?: number;
|
|
37
|
+
evaluationConfig?: {
|
|
38
|
+
mode: string;
|
|
39
|
+
fallbackUsed: boolean;
|
|
40
|
+
costEstimate: number;
|
|
41
|
+
};
|
|
42
|
+
domainConfig?: {
|
|
43
|
+
domainName: string;
|
|
44
|
+
domainDescription: string;
|
|
45
|
+
keyTerms: string[];
|
|
46
|
+
failurePatterns: string[];
|
|
47
|
+
successPatterns: string[];
|
|
48
|
+
evaluationCriteria?: Record<string, unknown>;
|
|
49
|
+
};
|
|
50
|
+
domainEvaluation?: {
|
|
51
|
+
domainRelevance: number;
|
|
52
|
+
terminologyAccuracy: number;
|
|
53
|
+
domainExpertise: number;
|
|
54
|
+
domainSpecificInsights: string[];
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Enhanced evaluation context for comprehensive response assessment
|
|
59
|
+
*/
|
|
60
|
+
export type EvaluationContext = {
|
|
61
|
+
userQuery: string;
|
|
62
|
+
aiResponse: string;
|
|
63
|
+
context?: Record<string, unknown>;
|
|
64
|
+
primaryDomain?: string;
|
|
65
|
+
assistantRole?: string;
|
|
66
|
+
conversationHistory?: Array<{
|
|
67
|
+
role: "user" | "assistant";
|
|
68
|
+
content: string;
|
|
69
|
+
timestamp?: string;
|
|
70
|
+
}>;
|
|
71
|
+
toolUsage?: Array<{
|
|
72
|
+
toolName: string;
|
|
73
|
+
input: unknown;
|
|
74
|
+
output: unknown;
|
|
75
|
+
executionTime: number;
|
|
76
|
+
}>;
|
|
77
|
+
expectedOutcome?: string;
|
|
78
|
+
evaluationCriteria?: string[];
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Evaluation result type
|
|
82
|
+
* Extends EvaluationData with additional fields
|
|
83
|
+
*/
|
|
84
|
+
export type EnhancedEvaluationResult = EvaluationData & {
|
|
85
|
+
domainAlignment?: number;
|
|
86
|
+
terminologyAccuracy?: number;
|
|
87
|
+
toolEffectiveness?: number;
|
|
88
|
+
contextUtilization?: {
|
|
89
|
+
conversationUsed: boolean;
|
|
90
|
+
toolsUsed: boolean;
|
|
91
|
+
domainKnowledgeUsed: boolean;
|
|
92
|
+
};
|
|
93
|
+
evaluationContext?: {
|
|
94
|
+
domain: string;
|
|
95
|
+
toolsEvaluated: string[];
|
|
96
|
+
conversationTurns: number;
|
|
97
|
+
};
|
|
98
|
+
isOffTopic: boolean;
|
|
99
|
+
alertSeverity: AlertSeverity;
|
|
100
|
+
reasoning: string;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Evaluation request type as specified in core module refactoring
|
|
104
|
+
*/
|
|
105
|
+
export type EvaluationRequest = {
|
|
106
|
+
content: string;
|
|
107
|
+
context?: string;
|
|
108
|
+
domain?: string;
|
|
109
|
+
criteria: EvaluationCriteria;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Evaluation criteria type as specified in core module refactoring
|
|
113
|
+
*/
|
|
114
|
+
export type EvaluationCriteria = {
|
|
115
|
+
relevance: boolean;
|
|
116
|
+
accuracy: boolean;
|
|
117
|
+
completeness: boolean;
|
|
118
|
+
domainSpecific?: boolean;
|
|
119
|
+
};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluation provider type definitions for NeuroLink
|
|
3
|
+
* Provider performance tracking, evaluation configurations, and provider optimization types
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Performance optimization priority
|
|
7
|
+
*/
|
|
8
|
+
export type PerformancePriority = "speed" | "cost" | "reliability";
|
|
9
|
+
/**
|
|
10
|
+
* Legacy provider model configuration for evaluation
|
|
11
|
+
*/
|
|
12
|
+
export type ProviderModelConfig = {
|
|
13
|
+
provider: string;
|
|
14
|
+
models: string[];
|
|
15
|
+
costPerToken?: number | {
|
|
16
|
+
input: number;
|
|
17
|
+
output: number;
|
|
18
|
+
};
|
|
19
|
+
requiresApiKey?: string[];
|
|
20
|
+
performance?: {
|
|
21
|
+
averageLatency?: number;
|
|
22
|
+
reliability?: number;
|
|
23
|
+
speed?: number;
|
|
24
|
+
quality?: number;
|
|
25
|
+
cost?: number;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Real-time provider performance tracking metrics
|
|
30
|
+
*/
|
|
31
|
+
export type ProviderPerformanceMetrics = {
|
|
32
|
+
responseTime: number[];
|
|
33
|
+
successRate: number;
|
|
34
|
+
tokenThroughput: number;
|
|
35
|
+
costEfficiency: number;
|
|
36
|
+
lastUpdated: Date;
|
|
37
|
+
sampleCount: number;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Provider performance recording data
|
|
41
|
+
*/
|
|
42
|
+
export type ProviderPerformanceData = {
|
|
43
|
+
responseTime: number;
|
|
44
|
+
tokensGenerated: number;
|
|
45
|
+
cost: number;
|
|
46
|
+
success: boolean;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Provider performance analytics result
|
|
50
|
+
*/
|
|
51
|
+
export type ProviderPerformanceAnalytics = {
|
|
52
|
+
avgResponseTime: number;
|
|
53
|
+
successRate: number;
|
|
54
|
+
tokenThroughput: number;
|
|
55
|
+
costEfficiency: number;
|
|
56
|
+
recommendation: string;
|
|
57
|
+
sampleCount: number;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Performance thresholds for evaluation
|
|
61
|
+
*/
|
|
62
|
+
export type PerformanceThresholds = {
|
|
63
|
+
EXCELLENT_SUCCESS_RATE: number;
|
|
64
|
+
EXCELLENT_RESPONSE_TIME_MS: number;
|
|
65
|
+
GOOD_SUCCESS_RATE: number;
|
|
66
|
+
FAIR_SUCCESS_RATE: number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Provider scoring result
|
|
70
|
+
*/
|
|
71
|
+
export type ProviderScoringResult = {
|
|
72
|
+
provider: ProviderModelConfig;
|
|
73
|
+
score: number;
|
|
74
|
+
metrics: ProviderPerformanceMetrics | null;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Provider availability status
|
|
78
|
+
*/
|
|
79
|
+
export type ProviderAvailabilityStatus = {
|
|
80
|
+
provider: string;
|
|
81
|
+
available: boolean;
|
|
82
|
+
reason?: string;
|
|
83
|
+
lastChecked: Date;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Provider cost estimation parameters
|
|
87
|
+
*/
|
|
88
|
+
export type CostEstimationParams = {
|
|
89
|
+
provider: string;
|
|
90
|
+
inputTokens: number;
|
|
91
|
+
outputTokens: number;
|
|
92
|
+
model?: string;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Provider selection criteria
|
|
96
|
+
*/
|
|
97
|
+
export type ProviderSelectionCriteria = {
|
|
98
|
+
priority: PerformancePriority;
|
|
99
|
+
maxCost?: number;
|
|
100
|
+
minSuccessRate?: number;
|
|
101
|
+
maxResponseTime?: number;
|
|
102
|
+
excludeProviders?: string[];
|
|
103
|
+
requireCapabilities?: string[];
|
|
104
|
+
};
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import type { Tool } from "ai";
|
|
2
|
-
import type { ValidationSchema, StandardRecord } from "./typeAliases.js";
|
|
3
|
-
import type { AIProviderName
|
|
4
|
-
import type { TokenUsage } from "./
|
|
1
|
+
import type { Tool, Schema } from "ai";
|
|
2
|
+
import type { ValidationSchema, StandardRecord, ZodUnknownSchema } from "./typeAliases.js";
|
|
3
|
+
import type { AIProviderName } from "./providers.js";
|
|
4
|
+
import type { AnalyticsData, TokenUsage } from "./analytics.js";
|
|
5
|
+
import type { EvaluationData } from "./evaluation.js";
|
|
6
|
+
import type { ChatMessage, ConversationMemoryConfig } from "./conversationTypes.js";
|
|
7
|
+
import type { MiddlewareFactoryOptions } from "./middlewareTypes.js";
|
|
8
|
+
import type { JsonValue } from "./common.js";
|
|
5
9
|
/**
|
|
6
|
-
* Generate function options
|
|
10
|
+
* Generate function options type - Primary method for content generation
|
|
7
11
|
* Future-ready for multi-modal capabilities while maintaining text focus
|
|
8
12
|
*/
|
|
9
|
-
export
|
|
13
|
+
export type GenerateOptions = {
|
|
10
14
|
input: {
|
|
11
15
|
text: string;
|
|
12
16
|
};
|
|
@@ -45,12 +49,12 @@ export interface GenerateOptions {
|
|
|
45
49
|
enableProgress?: boolean;
|
|
46
50
|
fallbackToGenerate?: boolean;
|
|
47
51
|
};
|
|
48
|
-
}
|
|
52
|
+
};
|
|
49
53
|
/**
|
|
50
|
-
* Generate function result
|
|
54
|
+
* Generate function result type - Primary output format
|
|
51
55
|
* Future-ready for multi-modal outputs while maintaining text focus
|
|
52
56
|
*/
|
|
53
|
-
export
|
|
57
|
+
export type GenerateResult = {
|
|
54
58
|
content: string;
|
|
55
59
|
outputs?: {
|
|
56
60
|
text: string;
|
|
@@ -96,28 +100,28 @@ export interface GenerateResult {
|
|
|
96
100
|
streamId?: string;
|
|
97
101
|
bufferOptimization?: boolean;
|
|
98
102
|
};
|
|
99
|
-
}
|
|
103
|
+
};
|
|
100
104
|
/**
|
|
101
105
|
* Unified options for both generation and streaming
|
|
102
106
|
* Supports factory patterns and domain configuration
|
|
103
107
|
*/
|
|
104
|
-
export
|
|
108
|
+
export type UnifiedGenerationOptions = GenerateOptions & {
|
|
105
109
|
preferStreaming?: boolean;
|
|
106
110
|
streamingFallback?: boolean;
|
|
107
|
-
}
|
|
111
|
+
};
|
|
108
112
|
/**
|
|
109
|
-
* Enhanced provider
|
|
113
|
+
* Enhanced provider type with generate method
|
|
110
114
|
*/
|
|
111
|
-
export
|
|
115
|
+
export type EnhancedProvider = {
|
|
112
116
|
generate(options: GenerateOptions): Promise<GenerateResult>;
|
|
113
117
|
getName(): string;
|
|
114
118
|
isAvailable(): Promise<boolean>;
|
|
115
|
-
}
|
|
119
|
+
};
|
|
116
120
|
/**
|
|
117
|
-
* Factory-enhanced provider
|
|
121
|
+
* Factory-enhanced provider type
|
|
118
122
|
* Supports domain configuration and streaming optimizations
|
|
119
123
|
*/
|
|
120
|
-
export
|
|
124
|
+
export type FactoryEnhancedProvider = EnhancedProvider & {
|
|
121
125
|
generateWithFactory(options: UnifiedGenerationOptions): Promise<GenerateResult>;
|
|
122
126
|
getDomainSupport(): string[];
|
|
123
127
|
getStreamingCapabilities(): {
|
|
@@ -125,4 +129,71 @@ export interface FactoryEnhancedProvider extends EnhancedProvider {
|
|
|
125
129
|
maxChunkSize: number;
|
|
126
130
|
bufferOptimizations: boolean;
|
|
127
131
|
};
|
|
128
|
-
}
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Text generation options type (consolidated from core types)
|
|
135
|
+
*/
|
|
136
|
+
export type TextGenerationOptions = {
|
|
137
|
+
prompt?: string;
|
|
138
|
+
input?: {
|
|
139
|
+
text: string;
|
|
140
|
+
};
|
|
141
|
+
provider?: AIProviderName;
|
|
142
|
+
model?: string;
|
|
143
|
+
temperature?: number;
|
|
144
|
+
maxTokens?: number;
|
|
145
|
+
systemPrompt?: string;
|
|
146
|
+
schema?: ZodUnknownSchema | Schema<unknown>;
|
|
147
|
+
tools?: Record<string, Tool>;
|
|
148
|
+
timeout?: number | string;
|
|
149
|
+
disableTools?: boolean;
|
|
150
|
+
maxSteps?: number;
|
|
151
|
+
enableEvaluation?: boolean;
|
|
152
|
+
enableAnalytics?: boolean;
|
|
153
|
+
context?: Record<string, JsonValue>;
|
|
154
|
+
evaluationDomain?: string;
|
|
155
|
+
toolUsageContext?: string;
|
|
156
|
+
conversationHistory?: Array<{
|
|
157
|
+
role: string;
|
|
158
|
+
content: string;
|
|
159
|
+
}>;
|
|
160
|
+
conversationMessages?: ChatMessage[];
|
|
161
|
+
conversationMemoryConfig?: Partial<ConversationMemoryConfig>;
|
|
162
|
+
originalPrompt?: string;
|
|
163
|
+
middleware?: MiddlewareFactoryOptions;
|
|
164
|
+
expectedOutcome?: string;
|
|
165
|
+
evaluationCriteria?: string[];
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* Text generation result (consolidated from core types)
|
|
169
|
+
*/
|
|
170
|
+
export type TextGenerationResult = {
|
|
171
|
+
content: string;
|
|
172
|
+
provider?: string;
|
|
173
|
+
model?: string;
|
|
174
|
+
usage?: TokenUsage;
|
|
175
|
+
responseTime?: number;
|
|
176
|
+
toolsUsed?: string[];
|
|
177
|
+
toolExecutions?: Array<{
|
|
178
|
+
toolName: string;
|
|
179
|
+
executionTime: number;
|
|
180
|
+
success: boolean;
|
|
181
|
+
serverId?: string;
|
|
182
|
+
}>;
|
|
183
|
+
enhancedWithTools?: boolean;
|
|
184
|
+
availableTools?: Array<{
|
|
185
|
+
name: string;
|
|
186
|
+
description: string;
|
|
187
|
+
server: string;
|
|
188
|
+
category?: string;
|
|
189
|
+
}>;
|
|
190
|
+
analytics?: AnalyticsData;
|
|
191
|
+
evaluation?: EvaluationData;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Enhanced result type with optional analytics/evaluation
|
|
195
|
+
*/
|
|
196
|
+
export type EnhancedGenerateResult = GenerateResult & {
|
|
197
|
+
analytics?: AnalyticsData;
|
|
198
|
+
evaluation?: EvaluationData;
|
|
199
|
+
};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7,10 +7,18 @@ export * from "./providers.js";
|
|
|
7
7
|
export * from "./cli.js";
|
|
8
8
|
export type { Unknown, UnknownRecord, UnknownArray, JsonValue, JsonObject, JsonArray, ErrorInfo, Result, FunctionParameters, } from "./common.js";
|
|
9
9
|
export type { ToolArgs, ToolContext, ToolResult, ToolDefinition, SimpleTool, AvailableTool, ToolExecution, } from "./tools.js";
|
|
10
|
-
export type { AISDKModel, ProviderError,
|
|
10
|
+
export type { AISDKModel, ProviderError, ProviderConfig } from "./providers.js";
|
|
11
11
|
export type { BaseCommandArgs, GenerateCommandArgs, MCPCommandArgs, ModelsCommandArgs, CommandResult, GenerateResult, StreamChunk, } from "./cli.js";
|
|
12
12
|
export type { MCPTransportType, MCPServerConnectionStatus, MCPServerCategory, MCPServerStatus, MCPDiscoveredServer, MCPConnectedServer, MCPToolInfo, MCPExecutableTool, MCPServerMetadata, MCPToolMetadata, MCPServerRegistryEntry, } from "./mcpTypes.js";
|
|
13
13
|
export type { ExternalMCPServerInstance, ExternalMCPServerStatus, ExternalMCPToolInfo, ExternalMCPServerHealth, ExternalMCPConfigValidation, ExternalMCPOperationResult, ExternalMCPToolContext, ExternalMCPToolResult, ExternalMCPServerEvents, ExternalMCPManagerConfig, } from "./externalMcp.js";
|
|
14
14
|
export type { ModelCapability, ModelUseCase, ModelFilter, ModelResolutionContext, ModelStats, ModelPricing, } from "./providers.js";
|
|
15
|
-
export type { ToolCallResults, ToolCalls, StreamAnalyticsData, } from "./streamTypes.js";
|
|
16
15
|
export type { DomainType, DomainConfig, DomainTemplate, DomainConfigOptions, DomainEvaluationCriteria, DomainValidationRule, } from "./domainTypes.js";
|
|
16
|
+
export * from "./generateTypes.js";
|
|
17
|
+
export type { StreamingProgressData, StreamingMetadata, ProgressCallback, ToolCall as StreamToolCall, // Renamed to avoid conflict with tools.js ToolCall
|
|
18
|
+
ToolResult as StreamToolResult, // Renamed to avoid conflict with tools.js ToolResult
|
|
19
|
+
ToolCallResults, ToolCalls, StreamOptions, StreamingOptions, StreamResult, EnhancedStreamProvider, } from "./streamTypes.js";
|
|
20
|
+
export * from "./analytics.js";
|
|
21
|
+
export * from "./evaluation.js";
|
|
22
|
+
export * from "./modelTypes.js";
|
|
23
|
+
export * from "./serviceTypes.js";
|
|
24
|
+
export * from "./evaluationProviders.js";
|
package/dist/types/index.js
CHANGED
|
@@ -9,3 +9,15 @@ export * from "./tools.js";
|
|
|
9
9
|
export * from "./providers.js";
|
|
10
10
|
// CLI types
|
|
11
11
|
export * from "./cli.js";
|
|
12
|
+
// Generate types - NEW
|
|
13
|
+
export * from "./generateTypes.js";
|
|
14
|
+
// Analytics types - NEW
|
|
15
|
+
export * from "./analytics.js";
|
|
16
|
+
// Evaluation types - NEW
|
|
17
|
+
export * from "./evaluation.js";
|
|
18
|
+
// Model types - NEW
|
|
19
|
+
export * from "./modelTypes.js";
|
|
20
|
+
// Service types - NEW
|
|
21
|
+
export * from "./serviceTypes.js";
|
|
22
|
+
// Evaluation provider types - NEW
|
|
23
|
+
export * from "./evaluationProviders.js";
|