@juspay/neurolink 6.2.0 → 7.0.0
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 +33 -16
- package/README.md +3 -3
- package/dist/agent/{direct-tools.js → directTools.js} +6 -5
- package/dist/cli/index.js +6 -6
- package/dist/cli/utils/{complete-setup.d.ts → completeSetup.d.ts} +1 -1
- package/dist/cli/utils/{complete-setup.js → completeSetup.js} +2 -2
- package/dist/config/configManager.js +11 -10
- package/dist/{lib/core/base-provider.d.ts → core/baseProvider.d.ts} +1 -1
- package/dist/core/{base-provider.js → baseProvider.js} +2 -2
- package/dist/core/{dynamic-models.js → dynamicModels.js} +1 -1
- package/dist/core/evaluation.js +1 -1
- package/dist/core/factory.js +5 -5
- package/dist/core/types.d.ts +2 -2
- package/dist/{lib/factories/provider-registry.js → factories/providerRegistry.js} +9 -9
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/lib/agent/{direct-tools.js → directTools.js} +6 -5
- package/dist/lib/config/configManager.js +11 -10
- package/dist/{core/base-provider.d.ts → lib/core/baseProvider.d.ts} +1 -1
- package/dist/lib/core/{base-provider.js → baseProvider.js} +2 -2
- package/dist/lib/core/{dynamic-models.js → dynamicModels.js} +1 -1
- package/dist/lib/core/evaluation.js +1 -1
- package/dist/lib/core/factory.js +3 -3
- package/dist/lib/core/types.d.ts +2 -2
- package/dist/{factories/provider-registry.js → lib/factories/providerRegistry.js} +9 -9
- package/dist/lib/index.d.ts +4 -4
- package/dist/lib/index.js +1 -1
- package/dist/lib/mcp/factory.d.ts +2 -2
- package/dist/lib/mcp/factory.js +2 -2
- package/dist/lib/mcp/index.d.ts +2 -2
- package/dist/lib/mcp/index.js +1 -1
- package/dist/lib/mcp/registry.js +1 -1
- package/dist/lib/mcp/servers/agent/{direct-tools-server.js → directToolsServer.js} +1 -1
- package/dist/lib/mcp/servers/{ai-providers/ai-analysis-tools.js → aiProviders/aiAnalysisTools.js} +2 -1
- package/dist/lib/mcp/servers/{ai-providers/ai-core-server.js → aiProviders/aiCoreServer.js} +1 -1
- package/dist/lib/mcp/{tool-registry.js → toolRegistry.js} +1 -1
- package/dist/lib/neurolink.d.ts +4 -4
- package/dist/lib/neurolink.js +5 -5
- package/dist/lib/providers/{amazon-bedrock.d.ts → amazonBedrock.d.ts} +2 -2
- package/dist/lib/providers/{amazon-bedrock.js → amazonBedrock.js} +1 -1
- package/dist/lib/providers/anthropic.d.ts +2 -2
- package/dist/lib/providers/anthropic.js +1 -1
- package/dist/{providers/anthropic-baseprovider.d.ts → lib/providers/anthropicBaseProvider.d.ts} +2 -2
- package/dist/lib/providers/{anthropic-baseprovider.js → anthropicBaseProvider.js} +1 -1
- package/dist/{providers/azure-openai.d.ts → lib/providers/azureOpenai.d.ts} +2 -2
- package/dist/{providers/azure-openai.js → lib/providers/azureOpenai.js} +3 -2
- package/dist/{providers/google-ai-studio.d.ts → lib/providers/googleAiStudio.d.ts} +2 -2
- package/dist/lib/providers/{google-ai-studio.js → googleAiStudio.js} +1 -1
- package/dist/{providers/google-vertex.d.ts → lib/providers/googleVertex.d.ts} +2 -2
- package/dist/lib/providers/{google-vertex.js → googleVertex.js} +1 -1
- package/dist/lib/providers/huggingFace.d.ts +2 -2
- package/dist/lib/providers/huggingFace.js +1 -1
- package/dist/lib/providers/index.d.ts +4 -4
- package/dist/lib/providers/index.js +4 -4
- package/dist/lib/providers/mistral.d.ts +2 -2
- package/dist/lib/providers/mistral.js +1 -1
- package/dist/lib/providers/ollama.d.ts +2 -2
- package/dist/lib/providers/ollama.js +1 -1
- package/dist/lib/providers/openAI.d.ts +2 -2
- package/dist/lib/providers/openAI.js +1 -1
- package/dist/{sdk/tool-registration.d.ts → lib/sdk/toolRegistration.d.ts} +1 -1
- package/dist/lib/telemetry/index.d.ts +2 -2
- package/dist/lib/telemetry/index.js +5 -4
- package/dist/lib/utils/logger.d.ts +62 -2
- package/dist/lib/utils/logger.js +174 -9
- package/dist/lib/utils/providerConfig.js +1 -1
- package/dist/lib/utils/{provider-setup-messages.js → providerSetupMessages.js} +1 -1
- package/dist/lib/utils/providerUtils.js +1 -1
- package/dist/mcp/factory.d.ts +2 -2
- package/dist/mcp/factory.js +2 -2
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/registry.js +1 -1
- package/dist/mcp/servers/agent/{direct-tools-server.js → directToolsServer.js} +1 -1
- package/dist/mcp/servers/{ai-providers/ai-analysis-tools.js → aiProviders/aiAnalysisTools.js} +2 -1
- package/dist/mcp/servers/{ai-providers/ai-core-server.js → aiProviders/aiCoreServer.js} +2 -2
- package/dist/mcp/{tool-registry.js → toolRegistry.js} +1 -1
- package/dist/neurolink.d.ts +5 -5
- package/dist/neurolink.js +5 -5
- package/dist/providers/{amazon-bedrock.d.ts → amazonBedrock.d.ts} +2 -2
- package/dist/providers/{amazon-bedrock.js → amazonBedrock.js} +1 -1
- package/dist/providers/anthropic.d.ts +2 -2
- package/dist/providers/anthropic.js +1 -1
- package/dist/{lib/providers/anthropic-baseprovider.d.ts → providers/anthropicBaseProvider.d.ts} +2 -2
- package/dist/providers/{anthropic-baseprovider.js → anthropicBaseProvider.js} +1 -1
- package/dist/{lib/providers/azure-openai.d.ts → providers/azureOpenai.d.ts} +2 -2
- package/dist/{lib/providers/azure-openai.js → providers/azureOpenai.js} +3 -2
- package/dist/{lib/providers/google-ai-studio.d.ts → providers/googleAiStudio.d.ts} +2 -2
- package/dist/providers/{google-ai-studio.js → googleAiStudio.js} +2 -2
- package/dist/{lib/providers/google-vertex.d.ts → providers/googleVertex.d.ts} +2 -2
- package/dist/providers/{google-vertex.js → googleVertex.js} +1 -1
- package/dist/providers/huggingFace.d.ts +2 -2
- package/dist/providers/huggingFace.js +1 -1
- package/dist/providers/index.d.ts +4 -4
- package/dist/providers/index.js +4 -4
- package/dist/providers/mistral.d.ts +2 -2
- package/dist/providers/mistral.js +1 -1
- package/dist/providers/ollama.d.ts +2 -2
- package/dist/providers/ollama.js +1 -1
- package/dist/providers/openAI.d.ts +2 -2
- package/dist/providers/openAI.js +1 -1
- package/dist/{lib/sdk/tool-registration.d.ts → sdk/toolRegistration.d.ts} +1 -1
- package/dist/telemetry/index.d.ts +2 -2
- package/dist/telemetry/index.js +5 -4
- package/dist/utils/logger.d.ts +62 -2
- package/dist/utils/logger.js +174 -9
- package/dist/utils/providerConfig.js +1 -1
- package/dist/utils/{provider-setup-messages.js → providerSetupMessages.js} +1 -1
- package/dist/utils/providerUtils.js +1 -1
- package/package.json +23 -22
- package/dist/lib/mcp/logging.d.ts +0 -38
- package/dist/lib/mcp/logging.js +0 -100
- package/dist/mcp/logging.d.ts +0 -38
- package/dist/mcp/logging.js +0 -100
- /package/dist/agent/{direct-tools.d.ts → directTools.d.ts} +0 -0
- /package/dist/cli/factories/{command-factory.d.ts → commandFactory.d.ts} +0 -0
- /package/dist/cli/factories/{command-factory.js → commandFactory.js} +0 -0
- /package/dist/cli/utils/{env-manager.d.ts → envManager.d.ts} +0 -0
- /package/dist/cli/utils/{env-manager.js → envManager.js} +0 -0
- /package/dist/cli/utils/{interactive-setup.d.ts → interactiveSetup.d.ts} +0 -0
- /package/dist/cli/utils/{interactive-setup.js → interactiveSetup.js} +0 -0
- /package/dist/core/{dynamic-models.d.ts → dynamicModels.d.ts} +0 -0
- /package/dist/core/{evaluation-providers.d.ts → evaluationProviders.d.ts} +0 -0
- /package/dist/core/{evaluation-providers.js → evaluationProviders.js} +0 -0
- /package/dist/core/{service-registry.d.ts → serviceRegistry.d.ts} +0 -0
- /package/dist/core/{service-registry.js → serviceRegistry.js} +0 -0
- /package/dist/factories/{provider-factory.d.ts → providerFactory.d.ts} +0 -0
- /package/dist/factories/{provider-factory.js → providerFactory.js} +0 -0
- /package/dist/factories/{provider-registry.d.ts → providerRegistry.d.ts} +0 -0
- /package/dist/lib/agent/{direct-tools.d.ts → directTools.d.ts} +0 -0
- /package/dist/lib/core/{dynamic-models.d.ts → dynamicModels.d.ts} +0 -0
- /package/dist/lib/core/{evaluation-providers.d.ts → evaluationProviders.d.ts} +0 -0
- /package/dist/lib/core/{evaluation-providers.js → evaluationProviders.js} +0 -0
- /package/dist/lib/core/{service-registry.d.ts → serviceRegistry.d.ts} +0 -0
- /package/dist/lib/core/{service-registry.js → serviceRegistry.js} +0 -0
- /package/dist/lib/factories/{provider-factory.d.ts → providerFactory.d.ts} +0 -0
- /package/dist/lib/factories/{provider-factory.js → providerFactory.js} +0 -0
- /package/dist/lib/factories/{provider-registry.d.ts → providerRegistry.d.ts} +0 -0
- /package/dist/lib/mcp/servers/agent/{direct-tools-server.d.ts → directToolsServer.d.ts} +0 -0
- /package/dist/lib/mcp/servers/{ai-providers/ai-analysis-tools.d.ts → aiProviders/aiAnalysisTools.d.ts} +0 -0
- /package/dist/lib/mcp/servers/{ai-providers/ai-core-server.d.ts → aiProviders/aiCoreServer.d.ts} +0 -0
- /package/dist/lib/mcp/servers/{ai-providers/ai-workflow-tools.d.ts → aiProviders/aiWorkflowTools.d.ts} +0 -0
- /package/dist/lib/mcp/servers/{ai-providers/ai-workflow-tools.js → aiProviders/aiWorkflowTools.js} +0 -0
- /package/dist/lib/mcp/servers/utilities/{utility-server.d.ts → utilityServer.d.ts} +0 -0
- /package/dist/lib/mcp/servers/utilities/{utility-server.js → utilityServer.js} +0 -0
- /package/dist/lib/mcp/{tool-registry.d.ts → toolRegistry.d.ts} +0 -0
- /package/dist/lib/proxy/{proxy-fetch.d.ts → proxyFetch.d.ts} +0 -0
- /package/dist/lib/proxy/{proxy-fetch.js → proxyFetch.js} +0 -0
- /package/dist/lib/sdk/{tool-registration.js → toolRegistration.js} +0 -0
- /package/dist/lib/telemetry/{telemetry-service.d.ts → telemetryService.d.ts} +0 -0
- /package/dist/lib/telemetry/{telemetry-service.js → telemetryService.js} +0 -0
- /package/dist/lib/types/{generate-types.d.ts → generateTypes.d.ts} +0 -0
- /package/dist/lib/types/{generate-types.js → generateTypes.js} +0 -0
- /package/dist/lib/types/{mcp-types.d.ts → mcpTypes.d.ts} +0 -0
- /package/dist/lib/types/{mcp-types.js → mcpTypes.js} +0 -0
- /package/dist/lib/types/{stream-types.d.ts → streamTypes.d.ts} +0 -0
- /package/dist/lib/types/{stream-types.js → streamTypes.js} +0 -0
- /package/dist/lib/types/{universal-provider-options.d.ts → universalProviderOptions.d.ts} +0 -0
- /package/dist/lib/types/{universal-provider-options.js → universalProviderOptions.js} +0 -0
- /package/dist/lib/utils/{provider-setup-messages.d.ts → providerSetupMessages.d.ts} +0 -0
- /package/dist/mcp/servers/agent/{direct-tools-server.d.ts → directToolsServer.d.ts} +0 -0
- /package/dist/mcp/servers/{ai-providers/ai-analysis-tools.d.ts → aiProviders/aiAnalysisTools.d.ts} +0 -0
- /package/dist/mcp/servers/{ai-providers/ai-core-server.d.ts → aiProviders/aiCoreServer.d.ts} +0 -0
- /package/dist/mcp/servers/{ai-providers/ai-workflow-tools.d.ts → aiProviders/aiWorkflowTools.d.ts} +0 -0
- /package/dist/mcp/servers/{ai-providers/ai-workflow-tools.js → aiProviders/aiWorkflowTools.js} +0 -0
- /package/dist/mcp/servers/utilities/{utility-server.d.ts → utilityServer.d.ts} +0 -0
- /package/dist/mcp/servers/utilities/{utility-server.js → utilityServer.js} +0 -0
- /package/dist/mcp/{tool-registry.d.ts → toolRegistry.d.ts} +0 -0
- /package/dist/proxy/{proxy-fetch.d.ts → proxyFetch.d.ts} +0 -0
- /package/dist/proxy/{proxy-fetch.js → proxyFetch.js} +0 -0
- /package/dist/sdk/{tool-registration.js → toolRegistration.js} +0 -0
- /package/dist/telemetry/{telemetry-service.d.ts → telemetryService.d.ts} +0 -0
- /package/dist/telemetry/{telemetry-service.js → telemetryService.js} +0 -0
- /package/dist/types/{generate-types.d.ts → generateTypes.d.ts} +0 -0
- /package/dist/types/{generate-types.js → generateTypes.js} +0 -0
- /package/dist/types/{mcp-types.d.ts → mcpTypes.d.ts} +0 -0
- /package/dist/types/{mcp-types.js → mcpTypes.js} +0 -0
- /package/dist/types/{stream-types.d.ts → streamTypes.d.ts} +0 -0
- /package/dist/types/{stream-types.js → streamTypes.js} +0 -0
- /package/dist/types/{universal-provider-options.d.ts → universalProviderOptions.d.ts} +0 -0
- /package/dist/types/{universal-provider-options.js → universalProviderOptions.js} +0 -0
- /package/dist/utils/{provider-setup-messages.d.ts → providerSetupMessages.d.ts} +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
// Optional Telemetry Infrastructure (Phase 2)
|
|
2
|
-
export { TelemetryService } from "./
|
|
2
|
+
export { TelemetryService } from "./telemetryService.js";
|
|
3
|
+
import { logger } from "../utils/logger.js";
|
|
3
4
|
/**
|
|
4
5
|
* Initialize telemetry for NeuroLink
|
|
5
6
|
* OPTIONAL - Only works when NEUROLINK_TELEMETRY_ENABLED=true
|
|
6
7
|
*/
|
|
7
8
|
export async function initializeTelemetry() {
|
|
8
|
-
const { TelemetryService } = await import("./
|
|
9
|
+
const { TelemetryService } = await import("./telemetryService.js");
|
|
9
10
|
const telemetry = TelemetryService.getInstance();
|
|
10
11
|
if (telemetry.isEnabled()) {
|
|
11
12
|
await telemetry.initialize();
|
|
12
|
-
|
|
13
|
+
logger.info("[NeuroLink] Telemetry initialized");
|
|
13
14
|
}
|
|
14
15
|
return telemetry;
|
|
15
16
|
}
|
|
@@ -17,6 +18,6 @@ export async function initializeTelemetry() {
|
|
|
17
18
|
* Get telemetry status
|
|
18
19
|
*/
|
|
19
20
|
export async function getTelemetryStatus() {
|
|
20
|
-
const { TelemetryService } = await import("./
|
|
21
|
+
const { TelemetryService } = await import("./telemetryService.js");
|
|
21
22
|
return TelemetryService.getInstance().getStatus();
|
|
22
23
|
}
|
|
@@ -1,12 +1,72 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* NeuroLink Logger Utility
|
|
2
|
+
* NeuroLink Unified Logger Utility
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Centralized logging for the entire NeuroLink ecosystem
|
|
5
|
+
* Supports both CLI --debug flag and NEUROLINK_DEBUG environment variable
|
|
6
|
+
* Migrated from MCP logging with enhanced features
|
|
5
7
|
*/
|
|
8
|
+
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
9
|
+
interface LogEntry {
|
|
10
|
+
level: LogLevel;
|
|
11
|
+
message: string;
|
|
12
|
+
timestamp: Date;
|
|
13
|
+
data?: unknown;
|
|
14
|
+
}
|
|
15
|
+
declare class NeuroLinkLogger {
|
|
16
|
+
private logLevel;
|
|
17
|
+
private logs;
|
|
18
|
+
private maxLogs;
|
|
19
|
+
private isDebugMode;
|
|
20
|
+
constructor();
|
|
21
|
+
setLogLevel(level: LogLevel): void;
|
|
22
|
+
shouldLog(level: LogLevel): boolean;
|
|
23
|
+
private getLogPrefix;
|
|
24
|
+
/**
|
|
25
|
+
* Outputs a log entry to the console based on the log level.
|
|
26
|
+
*
|
|
27
|
+
* @param level - The log level (debug, info, warn, error).
|
|
28
|
+
* @param prefix - The formatted log prefix.
|
|
29
|
+
* @param message - The log message.
|
|
30
|
+
* @param data - Optional additional data to log.
|
|
31
|
+
*/
|
|
32
|
+
private outputToConsole;
|
|
33
|
+
private log;
|
|
34
|
+
debug(message: string, data?: unknown): void;
|
|
35
|
+
info(message: string, data?: unknown): void;
|
|
36
|
+
warn(message: string, data?: unknown): void;
|
|
37
|
+
error(message: string, data?: unknown): void;
|
|
38
|
+
getLogs(level?: LogLevel): LogEntry[];
|
|
39
|
+
clearLogs(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Logs messages unconditionally using `console.log`.
|
|
42
|
+
*
|
|
43
|
+
* This method is part of a legacy simple logger interface for backward compatibility.
|
|
44
|
+
* It bypasses the structured logging mechanism and should only be used when
|
|
45
|
+
* unstructured, unconditional logging is required.
|
|
46
|
+
*
|
|
47
|
+
* @param args - The arguments to log. These are passed directly to `console.log`.
|
|
48
|
+
*/
|
|
49
|
+
always(...args: unknown[]): void;
|
|
50
|
+
}
|
|
6
51
|
export declare const logger: {
|
|
7
52
|
debug: (...args: unknown[]) => void;
|
|
8
53
|
info: (...args: unknown[]) => void;
|
|
9
54
|
warn: (...args: unknown[]) => void;
|
|
10
55
|
error: (...args: unknown[]) => void;
|
|
11
56
|
always: (...args: unknown[]) => void;
|
|
57
|
+
setLogLevel: (level: LogLevel) => void;
|
|
58
|
+
getLogs: (level?: LogLevel) => LogEntry[];
|
|
59
|
+
clearLogs: () => void;
|
|
12
60
|
};
|
|
61
|
+
export declare const mcpLogger: NeuroLinkLogger;
|
|
62
|
+
export declare const autoDiscoveryLogger: NeuroLinkLogger;
|
|
63
|
+
export declare const registryLogger: NeuroLinkLogger;
|
|
64
|
+
export declare const unifiedRegistryLogger: NeuroLinkLogger;
|
|
65
|
+
export declare function setGlobalMCPLogLevel(level: LogLevel): void;
|
|
66
|
+
export declare const LogLevels: {
|
|
67
|
+
readonly debug: "debug";
|
|
68
|
+
readonly info: "info";
|
|
69
|
+
readonly warn: "warn";
|
|
70
|
+
readonly error: "error";
|
|
71
|
+
};
|
|
72
|
+
export type { LogEntry };
|
package/dist/lib/utils/logger.js
CHANGED
|
@@ -1,25 +1,190 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* NeuroLink Logger Utility
|
|
2
|
+
* NeuroLink Unified Logger Utility
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Centralized logging for the entire NeuroLink ecosystem
|
|
5
|
+
* Supports both CLI --debug flag and NEUROLINK_DEBUG environment variable
|
|
6
|
+
* Migrated from MCP logging with enhanced features
|
|
5
7
|
*/
|
|
8
|
+
// Pre-computed uppercase log levels for performance optimization
|
|
9
|
+
const UPPERCASE_LOG_LEVELS = {
|
|
10
|
+
debug: "DEBUG",
|
|
11
|
+
info: "INFO",
|
|
12
|
+
warn: "WARN",
|
|
13
|
+
error: "ERROR",
|
|
14
|
+
};
|
|
15
|
+
class NeuroLinkLogger {
|
|
16
|
+
logLevel = "info";
|
|
17
|
+
logs = [];
|
|
18
|
+
maxLogs = 1000;
|
|
19
|
+
isDebugMode;
|
|
20
|
+
constructor() {
|
|
21
|
+
// Cache debug mode check to avoid repeated array searches
|
|
22
|
+
this.isDebugMode =
|
|
23
|
+
process.argv.includes("--debug") ||
|
|
24
|
+
process.env.NEUROLINK_DEBUG === "true";
|
|
25
|
+
// Check NEUROLINK_LOG_LEVEL for consistency with the unified NeuroLink logger
|
|
26
|
+
let envLevel = process.env.NEUROLINK_LOG_LEVEL?.toLowerCase();
|
|
27
|
+
// Fallback to MCP_LOG_LEVEL for backward compatibility (if needed)
|
|
28
|
+
if (!envLevel) {
|
|
29
|
+
envLevel = process.env.MCP_LOG_LEVEL?.toLowerCase();
|
|
30
|
+
}
|
|
31
|
+
if (envLevel && ["debug", "info", "warn", "error"].includes(envLevel)) {
|
|
32
|
+
this.logLevel = envLevel;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
setLogLevel(level) {
|
|
36
|
+
this.logLevel = level;
|
|
37
|
+
}
|
|
38
|
+
shouldLog(level) {
|
|
39
|
+
// Hide all logs except errors unless debugging
|
|
40
|
+
if (!this.isDebugMode && level !== "error") {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
const levels = ["debug", "info", "warn", "error"];
|
|
44
|
+
return levels.indexOf(level) >= levels.indexOf(this.logLevel);
|
|
45
|
+
}
|
|
46
|
+
getLogPrefix(timestamp, level) {
|
|
47
|
+
return `[${timestamp}] [NEUROLINK:${UPPERCASE_LOG_LEVELS[level]}]`;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Outputs a log entry to the console based on the log level.
|
|
51
|
+
*
|
|
52
|
+
* @param level - The log level (debug, info, warn, error).
|
|
53
|
+
* @param prefix - The formatted log prefix.
|
|
54
|
+
* @param message - The log message.
|
|
55
|
+
* @param data - Optional additional data to log.
|
|
56
|
+
*/
|
|
57
|
+
outputToConsole(level, prefix, message, data) {
|
|
58
|
+
const logMethod = {
|
|
59
|
+
debug: console.debug,
|
|
60
|
+
info: console.info,
|
|
61
|
+
warn: console.warn,
|
|
62
|
+
error: console.error,
|
|
63
|
+
}[level];
|
|
64
|
+
if (data !== undefined && data !== null) {
|
|
65
|
+
logMethod(prefix, message, data);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
logMethod(prefix, message);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
log(level, message, data) {
|
|
72
|
+
if (!this.shouldLog(level)) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const entry = {
|
|
76
|
+
level,
|
|
77
|
+
message,
|
|
78
|
+
timestamp: new Date(),
|
|
79
|
+
data,
|
|
80
|
+
};
|
|
81
|
+
// Store log entry
|
|
82
|
+
this.logs.push(entry);
|
|
83
|
+
// Trim old logs
|
|
84
|
+
if (this.logs.length > this.maxLogs) {
|
|
85
|
+
this.logs = this.logs.slice(-this.maxLogs);
|
|
86
|
+
}
|
|
87
|
+
// Console output
|
|
88
|
+
const timestamp = entry.timestamp.toISOString();
|
|
89
|
+
const prefix = this.getLogPrefix(timestamp, level);
|
|
90
|
+
this.outputToConsole(level, prefix, message, data);
|
|
91
|
+
}
|
|
92
|
+
debug(message, data) {
|
|
93
|
+
this.log("debug", message, data);
|
|
94
|
+
}
|
|
95
|
+
info(message, data) {
|
|
96
|
+
this.log("info", message, data);
|
|
97
|
+
}
|
|
98
|
+
warn(message, data) {
|
|
99
|
+
this.log("warn", message, data);
|
|
100
|
+
}
|
|
101
|
+
error(message, data) {
|
|
102
|
+
this.log("error", message, data);
|
|
103
|
+
}
|
|
104
|
+
getLogs(level) {
|
|
105
|
+
if (level) {
|
|
106
|
+
return this.logs.filter((log) => log.level === level);
|
|
107
|
+
}
|
|
108
|
+
return [...this.logs];
|
|
109
|
+
}
|
|
110
|
+
clearLogs() {
|
|
111
|
+
this.logs = [];
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Logs messages unconditionally using `console.log`.
|
|
115
|
+
*
|
|
116
|
+
* This method is part of a legacy simple logger interface for backward compatibility.
|
|
117
|
+
* It bypasses the structured logging mechanism and should only be used when
|
|
118
|
+
* unstructured, unconditional logging is required.
|
|
119
|
+
*
|
|
120
|
+
* @param args - The arguments to log. These are passed directly to `console.log`.
|
|
121
|
+
*/
|
|
122
|
+
always(...args) {
|
|
123
|
+
console.log(...args);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Export singleton instance
|
|
127
|
+
const neuroLinkLogger = new NeuroLinkLogger();
|
|
128
|
+
// Helper function to process arguments with minimal overhead
|
|
129
|
+
function processLoggerArgs(args, logMethod) {
|
|
130
|
+
if (args.length === 0) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
// Serialize the first argument robustly to handle complex objects
|
|
134
|
+
const message = (() => {
|
|
135
|
+
try {
|
|
136
|
+
return typeof args[0] === "string" ? args[0] : JSON.stringify(args[0]);
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return "[Unserializable Object]";
|
|
140
|
+
}
|
|
141
|
+
})();
|
|
142
|
+
const data = args.length === 2 ? args[1] : args.length > 2 ? args.slice(1) : undefined;
|
|
143
|
+
logMethod(message, data);
|
|
144
|
+
}
|
|
145
|
+
// Main unified logger export
|
|
6
146
|
export const logger = {
|
|
7
147
|
debug: (...args) => {
|
|
8
|
-
if (
|
|
9
|
-
|
|
148
|
+
if (neuroLinkLogger.shouldLog("debug")) {
|
|
149
|
+
processLoggerArgs(args, (message, data) => neuroLinkLogger.debug(message, data));
|
|
10
150
|
}
|
|
11
151
|
},
|
|
12
152
|
info: (...args) => {
|
|
13
|
-
|
|
153
|
+
if (neuroLinkLogger.shouldLog("info")) {
|
|
154
|
+
processLoggerArgs(args, (message, data) => neuroLinkLogger.info(message, data));
|
|
155
|
+
}
|
|
14
156
|
},
|
|
15
157
|
warn: (...args) => {
|
|
16
|
-
|
|
158
|
+
if (neuroLinkLogger.shouldLog("warn")) {
|
|
159
|
+
processLoggerArgs(args, (message, data) => neuroLinkLogger.warn(message, data));
|
|
160
|
+
}
|
|
17
161
|
},
|
|
18
162
|
error: (...args) => {
|
|
19
|
-
|
|
20
|
-
|
|
163
|
+
if (neuroLinkLogger.shouldLog("error")) {
|
|
164
|
+
processLoggerArgs(args, (message, data) => neuroLinkLogger.error(message, data));
|
|
165
|
+
}
|
|
21
166
|
},
|
|
22
167
|
always: (...args) => {
|
|
23
|
-
|
|
168
|
+
neuroLinkLogger.always(...args);
|
|
24
169
|
},
|
|
170
|
+
// Expose structured logging methods
|
|
171
|
+
setLogLevel: (level) => neuroLinkLogger.setLogLevel(level),
|
|
172
|
+
getLogs: (level) => neuroLinkLogger.getLogs(level),
|
|
173
|
+
clearLogs: () => neuroLinkLogger.clearLogs(),
|
|
174
|
+
};
|
|
175
|
+
// MCP compatibility exports - all use the same unified logger
|
|
176
|
+
export const mcpLogger = neuroLinkLogger;
|
|
177
|
+
export const autoDiscoveryLogger = neuroLinkLogger;
|
|
178
|
+
export const registryLogger = neuroLinkLogger;
|
|
179
|
+
export const unifiedRegistryLogger = neuroLinkLogger;
|
|
180
|
+
// Global log level setter
|
|
181
|
+
export function setGlobalMCPLogLevel(level) {
|
|
182
|
+
neuroLinkLogger.setLogLevel(level);
|
|
183
|
+
}
|
|
184
|
+
// Export LogLevel enum for runtime use
|
|
185
|
+
export const LogLevels = {
|
|
186
|
+
debug: "debug",
|
|
187
|
+
info: "info",
|
|
188
|
+
warn: "warn",
|
|
189
|
+
error: "error",
|
|
25
190
|
};
|
|
@@ -15,7 +15,7 @@ const API_KEY_FORMATS = {
|
|
|
15
15
|
mistral: /^[A-Za-z0-9]{32}$/,
|
|
16
16
|
azure: /^[A-Za-z0-9]{32,}$/,
|
|
17
17
|
aws: /^[A-Z0-9]{20}$/, // Access Key ID format
|
|
18
|
-
|
|
18
|
+
googleVertex: /^[A-Za-z0-9\-_]{1,}$/, // Project ID format
|
|
19
19
|
};
|
|
20
20
|
/**
|
|
21
21
|
* Validates API key format for a specific provider
|
|
@@ -57,7 +57,7 @@ export function getProviderSetupMessage(provider, missingVars) {
|
|
|
57
57
|
azure: {
|
|
58
58
|
guide: "Set up Azure OpenAI resource and create deployment",
|
|
59
59
|
envVars: [
|
|
60
|
-
'AZURE_OPENAI_API_KEY="your-
|
|
60
|
+
'AZURE_OPENAI_API_KEY="your-azureOpenai-key"',
|
|
61
61
|
'AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com/"',
|
|
62
62
|
'AZURE_OPENAI_DEPLOYMENT_ID="your-deployment-name"',
|
|
63
63
|
"# Optional:",
|
|
@@ -116,7 +116,7 @@ export function hasProviderEnvVars(provider) {
|
|
|
116
116
|
case "claude":
|
|
117
117
|
return !!process.env.ANTHROPIC_API_KEY;
|
|
118
118
|
case "azure":
|
|
119
|
-
case "
|
|
119
|
+
case "azureOpenai":
|
|
120
120
|
return !!process.env.AZURE_OPENAI_API_KEY;
|
|
121
121
|
case "google-ai":
|
|
122
122
|
case "google-studio":
|
package/dist/mcp/factory.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { ExecutionContext } from "./contracts/mcpContract.js";
|
|
|
8
8
|
/**
|
|
9
9
|
* MCP Server Categories for organization and discovery
|
|
10
10
|
*/
|
|
11
|
-
export type MCPServerCategory = "
|
|
11
|
+
export type MCPServerCategory = "aiProviders" | "frameworks" | "development" | "business" | "content" | "data" | "integrations" | "automation" | "analysis" | "custom";
|
|
12
12
|
/**
|
|
13
13
|
* Tool execution context - Rich context passed to every tool execution
|
|
14
14
|
* Following Lighthouse's pattern for rich tool context
|
|
@@ -130,7 +130,7 @@ export interface MCPServerConfig {
|
|
|
130
130
|
* id: 'neurolink-ai-core',
|
|
131
131
|
* title: 'NeuroLink AI Core',
|
|
132
132
|
* description: 'Core AI provider tools',
|
|
133
|
-
* category: '
|
|
133
|
+
* category: 'aiProviders'
|
|
134
134
|
* });
|
|
135
135
|
*
|
|
136
136
|
* aiCoreServer.registerTool({
|
package/dist/mcp/factory.js
CHANGED
|
@@ -14,7 +14,7 @@ const ServerConfigSchema = z.object({
|
|
|
14
14
|
version: z.string().optional(),
|
|
15
15
|
category: z
|
|
16
16
|
.enum([
|
|
17
|
-
"
|
|
17
|
+
"aiProviders",
|
|
18
18
|
"frameworks",
|
|
19
19
|
"development",
|
|
20
20
|
"business",
|
|
@@ -46,7 +46,7 @@ const ServerConfigSchema = z.object({
|
|
|
46
46
|
* id: 'neurolink-ai-core',
|
|
47
47
|
* title: 'NeuroLink AI Core',
|
|
48
48
|
* description: 'Core AI provider tools',
|
|
49
|
-
* category: '
|
|
49
|
+
* category: 'aiProviders'
|
|
50
50
|
* });
|
|
51
51
|
*
|
|
52
52
|
* aiCoreServer.registerTool({
|
package/dist/mcp/index.d.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Implementation based on research blueprint
|
|
5
5
|
*/
|
|
6
6
|
export type { McpMetadata, ExecutionContext, DiscoveredMcp, ToolInfo, ToolExecutionResult, } from "./contracts/mcpContract.js";
|
|
7
|
-
export { mcpLogger } from "
|
|
8
|
-
export type { LogLevel } from "
|
|
7
|
+
export { mcpLogger } from "../utils/logger.js";
|
|
8
|
+
export type { LogLevel } from "../utils/logger.js";
|
|
9
9
|
import type { McpMetadata } from "./contracts/mcpContract.js";
|
|
10
10
|
/**
|
|
11
11
|
* Initialize the MCP ecosystem - simplified
|
package/dist/mcp/index.js
CHANGED
package/dist/mcp/registry.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Registry - Industry Standard Interface with camelCase
|
|
3
3
|
*/
|
|
4
|
-
import { registryLogger } from "
|
|
4
|
+
import { registryLogger } from "../utils/logger.js";
|
|
5
5
|
/**
|
|
6
6
|
* Simple MCP registry for plugin management
|
|
7
7
|
* Maintains backward compatibility with existing code
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import { createMCPServer } from "../../factory.js";
|
|
7
|
-
import { directAgentTools } from "../../../agent/
|
|
7
|
+
import { directAgentTools } from "../../../agent/directTools.js";
|
|
8
8
|
import { logger } from "../../../utils/logger.js";
|
|
9
9
|
/**
|
|
10
10
|
* Direct Tools Server - Agent direct tools for immediate use
|
package/dist/mcp/servers/{ai-providers/ai-analysis-tools.js → aiProviders/aiAnalysisTools.js}
RENAMED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { AIProviderFactory } from "../../../core/factory.js";
|
|
8
8
|
import { getBestProvider, getAvailableProviders, } from "../../../utils/providerUtils.js";
|
|
9
|
+
import { logger } from "../../../utils/logger.js";
|
|
9
10
|
/**
|
|
10
11
|
* Input Schemas for AI Analysis Tools
|
|
11
12
|
*/
|
|
@@ -89,7 +90,7 @@ const analyzeAIUsageTool = {
|
|
|
89
90
|
const typedParams = params;
|
|
90
91
|
const startTime = Date.now();
|
|
91
92
|
try {
|
|
92
|
-
|
|
93
|
+
logger.debug(`[AI-Analysis] Starting real AI-powered usage analysis for timeRange: ${typedParams.timeRange}`);
|
|
93
94
|
const providerName = await getBestProvider();
|
|
94
95
|
const provider = await AIProviderFactory.createProvider(providerName);
|
|
95
96
|
if (!provider) {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { createMCPServer } from "../../factory.js";
|
|
8
|
-
import { ServiceRegistry } from "../../../core/
|
|
8
|
+
import { ServiceRegistry } from "../../../core/serviceRegistry.js";
|
|
9
9
|
import { getBestProvider, getAvailableProviders, } from "../../../utils/providerUtils.js";
|
|
10
10
|
import { logger } from "../../../utils/logger.js";
|
|
11
11
|
/**
|
|
@@ -16,7 +16,7 @@ export const aiCoreServer = createMCPServer({
|
|
|
16
16
|
id: "neurolink-ai-core",
|
|
17
17
|
title: "NeuroLink AI Core",
|
|
18
18
|
description: "Core AI provider management with automatic fallback and status monitoring",
|
|
19
|
-
category: "
|
|
19
|
+
category: "aiProviders",
|
|
20
20
|
version: "1.2.0",
|
|
21
21
|
capabilities: [
|
|
22
22
|
"provider-selection",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Updated to match industry standard camelCase interfaces
|
|
4
4
|
*/
|
|
5
5
|
import { MCPRegistry } from "./registry.js";
|
|
6
|
-
import { registryLogger } from "
|
|
6
|
+
import { registryLogger } from "../utils/logger.js";
|
|
7
7
|
import { randomUUID } from "crypto";
|
|
8
8
|
export class MCPToolRegistry extends MCPRegistry {
|
|
9
9
|
tools = new Map();
|
package/dist/neurolink.d.ts
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* Uses real MCP infrastructure for tool discovery and execution.
|
|
7
7
|
*/
|
|
8
8
|
import type { TextGenerationOptions, TextGenerationResult } from "./core/types.js";
|
|
9
|
-
import type { GenerateOptions, GenerateResult } from "./types/
|
|
10
|
-
import type { StreamOptions, StreamResult } from "./types/
|
|
11
|
-
import type { SimpleTool } from "./sdk/
|
|
12
|
-
import type { InMemoryMCPServerConfig } from "./types/
|
|
9
|
+
import type { GenerateOptions, GenerateResult } from "./types/generateTypes.js";
|
|
10
|
+
import type { StreamOptions, StreamResult } from "./types/streamTypes.js";
|
|
11
|
+
import type { SimpleTool } from "./sdk/toolRegistration.js";
|
|
12
|
+
import type { InMemoryMCPServerConfig } from "./types/mcpTypes.js";
|
|
13
13
|
export interface ProviderStatus {
|
|
14
14
|
provider: string;
|
|
15
15
|
status: "working" | "failed" | "not-configured";
|
|
@@ -138,7 +138,7 @@ export declare class NeuroLink {
|
|
|
138
138
|
* Get all available tools including custom and in-memory ones
|
|
139
139
|
* @returns Array of available tools with metadata
|
|
140
140
|
*/
|
|
141
|
-
getAllAvailableTools(): Promise<import("./mcp/
|
|
141
|
+
getAllAvailableTools(): Promise<import("./mcp/toolRegistry.js").ToolInfo[]>;
|
|
142
142
|
/**
|
|
143
143
|
* Get comprehensive status of all AI providers
|
|
144
144
|
* Primary method for provider health checking and diagnostics
|
package/dist/neurolink.js
CHANGED
|
@@ -14,12 +14,12 @@ catch (error) {
|
|
|
14
14
|
// Environment variables should be set externally in production
|
|
15
15
|
}
|
|
16
16
|
import { AIProviderFactory } from "./core/factory.js";
|
|
17
|
-
import { mcpLogger } from "./
|
|
18
|
-
import { toolRegistry } from "./mcp/
|
|
17
|
+
import { mcpLogger } from "./utils/logger.js";
|
|
18
|
+
import { toolRegistry } from "./mcp/toolRegistry.js";
|
|
19
19
|
import { logger } from "./utils/logger.js";
|
|
20
20
|
import { getBestProvider } from "./utils/providerUtils.js";
|
|
21
|
-
import { ProviderRegistry } from "./factories/
|
|
22
|
-
import { validateTool, createMCPServerFromTools, } from "./sdk/
|
|
21
|
+
import { ProviderRegistry } from "./factories/providerRegistry.js";
|
|
22
|
+
import { validateTool, createMCPServerFromTools, } from "./sdk/toolRegistration.js";
|
|
23
23
|
// Core types imported from core/types.js
|
|
24
24
|
export class NeuroLink {
|
|
25
25
|
mcpInitialized = false;
|
|
@@ -667,7 +667,7 @@ export class NeuroLink {
|
|
|
667
667
|
"openai",
|
|
668
668
|
"bedrock",
|
|
669
669
|
"vertex",
|
|
670
|
-
"
|
|
670
|
+
"googleVertex",
|
|
671
671
|
"anthropic",
|
|
672
672
|
"azure",
|
|
673
673
|
"google-ai",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ZodType, ZodTypeDef } from "zod";
|
|
2
2
|
import { type Schema, type LanguageModelV1 } from "ai";
|
|
3
3
|
import type { AIProviderName } from "../core/types.js";
|
|
4
|
-
import type { StreamOptions, StreamResult } from "../types/
|
|
5
|
-
import { BaseProvider } from "../core/
|
|
4
|
+
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
/**
|
|
7
7
|
* Amazon Bedrock Provider v2 - BaseProvider Implementation
|
|
8
8
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock";
|
|
2
2
|
import { streamText, Output } from "ai";
|
|
3
|
-
import { BaseProvider } from "../core/
|
|
3
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
4
4
|
import { logger } from "../utils/logger.js";
|
|
5
5
|
import { createTimeoutController, TimeoutError, getDefaultTimeout, } from "../utils/timeout.js";
|
|
6
6
|
import { DEFAULT_MAX_TOKENS } from "../core/constants.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ZodType, ZodTypeDef } from "zod";
|
|
2
2
|
import { type Schema, type LanguageModelV1 } from "ai";
|
|
3
3
|
import type { AIProviderName } from "../core/types.js";
|
|
4
|
-
import type { StreamOptions, StreamResult } from "../types/
|
|
5
|
-
import { BaseProvider } from "../core/
|
|
4
|
+
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
/**
|
|
7
7
|
* Anthropic Provider v2 - BaseProvider Implementation
|
|
8
8
|
* Fixed syntax and enhanced with proper error handling
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { anthropic } from "@ai-sdk/anthropic";
|
|
2
2
|
import { streamText, Output } from "ai";
|
|
3
|
-
import { BaseProvider } from "../core/
|
|
3
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
4
4
|
import { logger } from "../utils/logger.js";
|
|
5
5
|
import { createTimeoutController, TimeoutError, getDefaultTimeout, } from "../utils/timeout.js";
|
|
6
6
|
import { DEFAULT_MAX_TOKENS } from "../core/constants.js";
|
package/dist/{lib/providers/anthropic-baseprovider.d.ts → providers/anthropicBaseProvider.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ZodType, ZodTypeDef } from "zod";
|
|
2
2
|
import { type Schema, type LanguageModelV1 } from "ai";
|
|
3
3
|
import type { AIProviderName } from "../core/types.js";
|
|
4
|
-
import type { StreamOptions, StreamResult } from "../types/
|
|
5
|
-
import { BaseProvider } from "../core/
|
|
4
|
+
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
/**
|
|
7
7
|
* Anthropic provider implementation using BaseProvider pattern
|
|
8
8
|
* Migrated from direct API calls to Vercel AI SDK (@ai-sdk/anthropic)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
2
2
|
import { streamText, Output } from "ai";
|
|
3
|
-
import { BaseProvider } from "../core/
|
|
3
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
4
4
|
import { logger } from "../utils/logger.js";
|
|
5
5
|
import { createTimeoutController, TimeoutError, getDefaultTimeout, } from "../utils/timeout.js";
|
|
6
6
|
import { DEFAULT_MAX_TOKENS } from "../core/constants.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type LanguageModelV1 } from "ai";
|
|
2
|
-
import { BaseProvider } from "../core/
|
|
2
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
3
3
|
import type { AIProviderName } from "../core/types.js";
|
|
4
|
-
import type { StreamOptions, StreamResult } from "../types/
|
|
4
|
+
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
5
|
export declare class AzureOpenAIProvider extends BaseProvider {
|
|
6
6
|
private apiKey;
|
|
7
7
|
private resourceName;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createAzure } from "@ai-sdk/azure";
|
|
2
2
|
import { streamText } from "ai";
|
|
3
|
-
import { BaseProvider } from "../core/
|
|
3
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
4
4
|
import { validateApiKey, createAzureAPIKeyConfig, createAzureEndpointConfig, } from "../utils/providerConfig.js";
|
|
5
|
+
import { logger } from "../utils/logger.js";
|
|
5
6
|
export class AzureOpenAIProvider extends BaseProvider {
|
|
6
7
|
apiKey;
|
|
7
8
|
resourceName;
|
|
@@ -35,7 +36,7 @@ export class AzureOpenAIProvider extends BaseProvider {
|
|
|
35
36
|
apiKey: this.apiKey,
|
|
36
37
|
apiVersion: this.apiVersion,
|
|
37
38
|
});
|
|
38
|
-
|
|
39
|
+
logger.debug("Azure Vercel Provider initialized", {
|
|
39
40
|
deployment: this.deployment,
|
|
40
41
|
resourceName: this.resourceName,
|
|
41
42
|
provider: "azure-vercel",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ZodType, ZodTypeDef } from "zod";
|
|
2
2
|
import { type Schema, type LanguageModelV1 } from "ai";
|
|
3
3
|
import type { AIProviderName } from "../core/types.js";
|
|
4
|
-
import type { StreamOptions, StreamResult } from "../types/
|
|
5
|
-
import { BaseProvider } from "../core/
|
|
4
|
+
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
/**
|
|
7
7
|
* Google AI Studio provider implementation using BaseProvider
|
|
8
8
|
* Migrated from original GoogleAIStudio class to new factory pattern
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createGoogleGenerativeAI } from "@ai-sdk/google";
|
|
2
2
|
import { streamText, Output } from "ai";
|
|
3
3
|
import { GoogleAIModels } from "../core/types.js";
|
|
4
|
-
import { BaseProvider } from "../core/
|
|
4
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
5
5
|
import { logger } from "../utils/logger.js";
|
|
6
6
|
import { createTimeoutController, TimeoutError, getDefaultTimeout, } from "../utils/timeout.js";
|
|
7
7
|
import { DEFAULT_MAX_TOKENS } from "../core/constants.js";
|
|
8
|
-
import { createProxyFetch } from "../proxy/
|
|
8
|
+
import { createProxyFetch } from "../proxy/proxyFetch.js";
|
|
9
9
|
// Environment variable setup
|
|
10
10
|
if (!process.env.GOOGLE_GENERATIVE_AI_API_KEY &&
|
|
11
11
|
process.env.GOOGLE_AI_API_KEY) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ZodType, ZodTypeDef } from "zod";
|
|
2
2
|
import { type Schema, type LanguageModelV1 } from "ai";
|
|
3
3
|
import type { AIProviderName } from "../core/types.js";
|
|
4
|
-
import type { StreamOptions, StreamResult } from "../types/
|
|
5
|
-
import { BaseProvider } from "../core/
|
|
4
|
+
import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
|
|
5
|
+
import { BaseProvider } from "../core/baseProvider.js";
|
|
6
6
|
/**
|
|
7
7
|
* Google Vertex AI Provider v2 - BaseProvider Implementation
|
|
8
8
|
*
|