@juspay/neurolink 11.2.2 → 11.2.4
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/browser/neurolink.min.js +408 -408
- package/dist/core/handlerRegistry.d.ts +29 -0
- package/dist/core/handlerRegistry.js +61 -0
- package/dist/factories/providerRegistry.js +14 -44
- package/dist/lib/core/handlerRegistry.d.ts +29 -0
- package/dist/lib/core/handlerRegistry.js +62 -0
- package/dist/lib/factories/providerRegistry.js +14 -44
- package/dist/lib/providers/configuredOpenAICompat.js +10 -3
- package/dist/lib/providers/openaiCompatCatalog.js +9 -11
- package/dist/lib/types/providers.d.ts +15 -1
- package/dist/lib/utils/avatarProcessor.d.ts +5 -1
- package/dist/lib/utils/avatarProcessor.js +13 -18
- package/dist/lib/utils/musicProcessor.d.ts +5 -1
- package/dist/lib/utils/musicProcessor.js +13 -18
- package/dist/lib/utils/sttProcessor.d.ts +10 -2
- package/dist/lib/utils/sttProcessor.js +22 -18
- package/dist/lib/utils/ttsProcessor.d.ts +10 -2
- package/dist/lib/utils/ttsProcessor.js +22 -18
- package/dist/lib/utils/videoProcessor.d.ts +5 -1
- package/dist/lib/utils/videoProcessor.js +13 -18
- package/dist/lib/voice/RealtimeVoiceAPI.d.ts +1 -1
- package/dist/lib/voice/RealtimeVoiceAPI.js +17 -28
- package/dist/providers/configuredOpenAICompat.js +10 -3
- package/dist/providers/openaiCompatCatalog.js +9 -11
- package/dist/types/providers.d.ts +15 -1
- package/dist/utils/avatarProcessor.d.ts +5 -1
- package/dist/utils/avatarProcessor.js +13 -18
- package/dist/utils/musicProcessor.d.ts +5 -1
- package/dist/utils/musicProcessor.js +13 -18
- package/dist/utils/sttProcessor.d.ts +10 -2
- package/dist/utils/sttProcessor.js +22 -18
- package/dist/utils/ttsProcessor.d.ts +10 -2
- package/dist/utils/ttsProcessor.js +22 -18
- package/dist/utils/videoProcessor.d.ts +5 -1
- package/dist/utils/videoProcessor.js +13 -18
- package/dist/voice/RealtimeVoiceAPI.d.ts +1 -1
- package/dist/voice/RealtimeVoiceAPI.js +17 -28
- package/package.json +8 -2
- package/dist/lib/providers/cloudflare.d.ts +0 -26
- package/dist/lib/providers/cloudflare.js +0 -83
- package/dist/lib/providers/fireworks.d.ts +0 -22
- package/dist/lib/providers/fireworks.js +0 -73
- package/dist/lib/providers/groq.d.ts +0 -24
- package/dist/lib/providers/groq.js +0 -83
- package/dist/lib/providers/mistral.d.ts +0 -25
- package/dist/lib/providers/mistral.js +0 -87
- package/dist/lib/providers/perplexity.d.ts +0 -24
- package/dist/lib/providers/perplexity.js +0 -69
- package/dist/lib/providers/togetherAi.d.ts +0 -23
- package/dist/lib/providers/togetherAi.js +0 -73
- package/dist/lib/providers/xai.d.ts +0 -22
- package/dist/lib/providers/xai.js +0 -77
- package/dist/providers/cloudflare.d.ts +0 -26
- package/dist/providers/cloudflare.js +0 -82
- package/dist/providers/fireworks.d.ts +0 -22
- package/dist/providers/fireworks.js +0 -72
- package/dist/providers/groq.d.ts +0 -24
- package/dist/providers/groq.js +0 -82
- package/dist/providers/mistral.d.ts +0 -25
- package/dist/providers/mistral.js +0 -86
- package/dist/providers/perplexity.d.ts +0 -24
- package/dist/providers/perplexity.js +0 -68
- package/dist/providers/togetherAi.d.ts +0 -23
- package/dist/providers/togetherAi.js +0 -72
- package/dist/providers/xai.d.ts +0 -22
- package/dist/providers/xai.js +0 -76
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { TogetherAIModels } from "../constants/enums.js";
|
|
2
|
-
import { AuthenticationError } from "../types/index.js";
|
|
3
|
-
import { logger } from "../utils/logger.js";
|
|
4
|
-
import { redactUrlCredentials } from "../utils/logSanitize.js";
|
|
5
|
-
import { classifyProviderError, DEFAULT_ERROR_RULES, } from "../utils/errorClassifier.js";
|
|
6
|
-
import { createTogetherAIConfig, getProviderModel, validateApiKey, } from "../utils/providerConfig.js";
|
|
7
|
-
import { OpenAIChatCompletionsProvider } from "./openaiChatCompletionsBase.js";
|
|
8
|
-
const TOGETHER_DEFAULT_BASE_URL = "https://api.together.xyz/v1";
|
|
9
|
-
const getTogetherApiKey = () => validateApiKey(createTogetherAIConfig());
|
|
10
|
-
const getDefaultTogetherModel = () => getProviderModel("TOGETHER_MODEL", TogetherAIModels.LLAMA_3_3_70B_INSTRUCT_TURBO);
|
|
11
|
-
/**
|
|
12
|
-
* Together AI Provider — direct HTTP, no AI SDK.
|
|
13
|
-
*
|
|
14
|
-
* Hosted open-model gateway at api.together.xyz/v1 (OpenAI-compatible).
|
|
15
|
-
* Llama / Mistral / Qwen / DeepSeek / Gemma / WizardLM available
|
|
16
|
-
* server-less; pass any catalog id via `--model`.
|
|
17
|
-
* All request/stream/tool-loop orchestration lives in
|
|
18
|
-
* `OpenAIChatCompletionsProvider`; this class only declares configuration
|
|
19
|
-
* and provider-specific error mapping.
|
|
20
|
-
*
|
|
21
|
-
* @see https://docs.together.ai/docs/openai-api-compatibility
|
|
22
|
-
*/
|
|
23
|
-
export class TogetherAIProvider extends OpenAIChatCompletionsProvider {
|
|
24
|
-
constructor(modelName, sdk, _region, credentials) {
|
|
25
|
-
const overrideApiKey = credentials?.apiKey?.trim();
|
|
26
|
-
const apiKey = overrideApiKey && overrideApiKey.length > 0
|
|
27
|
-
? overrideApiKey
|
|
28
|
-
: getTogetherApiKey();
|
|
29
|
-
const baseURL = credentials?.baseURL?.trim() ||
|
|
30
|
-
process.env.TOGETHER_BASE_URL?.trim() ||
|
|
31
|
-
TOGETHER_DEFAULT_BASE_URL;
|
|
32
|
-
super("together-ai", modelName, sdk, { baseURL, apiKey });
|
|
33
|
-
logger.debug("Together AI Provider initialized", {
|
|
34
|
-
modelName: this.modelName,
|
|
35
|
-
providerName: this.providerName,
|
|
36
|
-
baseURL: redactUrlCredentials(this.config.baseURL),
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
getProviderName() {
|
|
40
|
-
return "together-ai";
|
|
41
|
-
}
|
|
42
|
-
getDefaultModel() {
|
|
43
|
-
return getDefaultTogetherModel();
|
|
44
|
-
}
|
|
45
|
-
getFallbackModelName() {
|
|
46
|
-
return TogetherAIModels.LLAMA_3_1_8B_INSTRUCT_TURBO;
|
|
47
|
-
}
|
|
48
|
-
getFallbackModels() {
|
|
49
|
-
return [
|
|
50
|
-
TogetherAIModels.LLAMA_3_3_70B_INSTRUCT_TURBO,
|
|
51
|
-
TogetherAIModels.LLAMA_3_1_405B_INSTRUCT_TURBO,
|
|
52
|
-
TogetherAIModels.LLAMA_3_1_70B_INSTRUCT_TURBO,
|
|
53
|
-
TogetherAIModels.LLAMA_3_1_8B_INSTRUCT_TURBO,
|
|
54
|
-
TogetherAIModels.MIXTRAL_8X22B_INSTRUCT,
|
|
55
|
-
TogetherAIModels.QWEN_2_5_72B_INSTRUCT_TURBO,
|
|
56
|
-
TogetherAIModels.DEEPSEEK_R1,
|
|
57
|
-
TogetherAIModels.DEEPSEEK_V3,
|
|
58
|
-
];
|
|
59
|
-
}
|
|
60
|
-
formatProviderError(error) {
|
|
61
|
-
const rules = [
|
|
62
|
-
{
|
|
63
|
-
match: (ctx) => ctx.statusCode === 401 ||
|
|
64
|
-
/Invalid API key|Authentication/i.test(ctx.message),
|
|
65
|
-
errorClass: AuthenticationError,
|
|
66
|
-
message: "Invalid Together AI API key. Get one at https://api.together.xyz/settings/api-keys",
|
|
67
|
-
},
|
|
68
|
-
...DEFAULT_ERROR_RULES,
|
|
69
|
-
];
|
|
70
|
-
return classifyProviderError(error, rules, "together-ai", this.modelName);
|
|
71
|
-
}
|
|
72
|
-
}
|
package/dist/providers/xai.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { AIProviderName } from "../constants/enums.js";
|
|
2
|
-
import type { NeurolinkCredentials } from "../types/index.js";
|
|
3
|
-
import { OpenAIChatCompletionsProvider } from "./openaiChatCompletionsBase.js";
|
|
4
|
-
/**
|
|
5
|
-
* xAI Grok Provider — direct HTTP, no AI SDK.
|
|
6
|
-
*
|
|
7
|
-
* OpenAI-compatible chat completions at api.x.ai/v1 (Grok family:
|
|
8
|
-
* grok-3, grok-3-mini, grok-2-latest, grok-2-vision-latest, grok-beta).
|
|
9
|
-
* All request/stream/tool-loop orchestration lives in
|
|
10
|
-
* `OpenAIChatCompletionsProvider`; this class only declares configuration
|
|
11
|
-
* and provider-specific error mapping.
|
|
12
|
-
*
|
|
13
|
-
* @see https://docs.x.ai/api
|
|
14
|
-
*/
|
|
15
|
-
export declare class XaiProvider extends OpenAIChatCompletionsProvider {
|
|
16
|
-
constructor(modelName?: string, sdk?: unknown, _region?: string, credentials?: NeurolinkCredentials["xai"]);
|
|
17
|
-
protected getProviderName(): AIProviderName;
|
|
18
|
-
protected getDefaultModel(): string;
|
|
19
|
-
protected getFallbackModelName(): string;
|
|
20
|
-
protected getFallbackModels(): string[];
|
|
21
|
-
protected formatProviderError(error: unknown): Error;
|
|
22
|
-
}
|
package/dist/providers/xai.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { XaiModels } from "../constants/enums.js";
|
|
2
|
-
import { AuthenticationError, ProviderError } from "../types/index.js";
|
|
3
|
-
import { logger } from "../utils/logger.js";
|
|
4
|
-
import { redactUrlCredentials } from "../utils/logSanitize.js";
|
|
5
|
-
import { classifyProviderError, DEFAULT_ERROR_RULES, } from "../utils/errorClassifier.js";
|
|
6
|
-
import { createXaiConfig, getProviderModel, validateApiKey, } from "../utils/providerConfig.js";
|
|
7
|
-
import { OpenAIChatCompletionsProvider } from "./openaiChatCompletionsBase.js";
|
|
8
|
-
const XAI_DEFAULT_BASE_URL = "https://api.x.ai/v1";
|
|
9
|
-
const getXaiApiKey = () => validateApiKey(createXaiConfig());
|
|
10
|
-
const getDefaultXaiModel = () => getProviderModel("XAI_MODEL", XaiModels.GROK_3);
|
|
11
|
-
/**
|
|
12
|
-
* xAI Grok Provider — direct HTTP, no AI SDK.
|
|
13
|
-
*
|
|
14
|
-
* OpenAI-compatible chat completions at api.x.ai/v1 (Grok family:
|
|
15
|
-
* grok-3, grok-3-mini, grok-2-latest, grok-2-vision-latest, grok-beta).
|
|
16
|
-
* All request/stream/tool-loop orchestration lives in
|
|
17
|
-
* `OpenAIChatCompletionsProvider`; this class only declares configuration
|
|
18
|
-
* and provider-specific error mapping.
|
|
19
|
-
*
|
|
20
|
-
* @see https://docs.x.ai/api
|
|
21
|
-
*/
|
|
22
|
-
export class XaiProvider extends OpenAIChatCompletionsProvider {
|
|
23
|
-
constructor(modelName, sdk, _region, credentials) {
|
|
24
|
-
// Trim the override before applying precedence. A blank/whitespace
|
|
25
|
-
// `credentials.apiKey` must NOT bypass the env key — that would build a
|
|
26
|
-
// client with an unusable bearer token and fail at request time.
|
|
27
|
-
const overrideApiKey = credentials?.apiKey?.trim();
|
|
28
|
-
const apiKey = overrideApiKey && overrideApiKey.length > 0
|
|
29
|
-
? overrideApiKey
|
|
30
|
-
: getXaiApiKey();
|
|
31
|
-
const baseURL = credentials?.baseURL?.trim() ||
|
|
32
|
-
process.env.XAI_BASE_URL?.trim() ||
|
|
33
|
-
XAI_DEFAULT_BASE_URL;
|
|
34
|
-
super("xai", modelName, sdk, { baseURL, apiKey });
|
|
35
|
-
logger.debug("xAI Provider initialized", {
|
|
36
|
-
modelName: this.modelName,
|
|
37
|
-
providerName: this.providerName,
|
|
38
|
-
baseURL: redactUrlCredentials(this.config.baseURL),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
getProviderName() {
|
|
42
|
-
return "xai";
|
|
43
|
-
}
|
|
44
|
-
getDefaultModel() {
|
|
45
|
-
return getDefaultXaiModel();
|
|
46
|
-
}
|
|
47
|
-
getFallbackModelName() {
|
|
48
|
-
return XaiModels.GROK_3_MINI;
|
|
49
|
-
}
|
|
50
|
-
getFallbackModels() {
|
|
51
|
-
return [
|
|
52
|
-
XaiModels.GROK_3,
|
|
53
|
-
XaiModels.GROK_3_MINI,
|
|
54
|
-
XaiModels.GROK_2_LATEST,
|
|
55
|
-
XaiModels.GROK_2_VISION_LATEST,
|
|
56
|
-
XaiModels.GROK_BETA,
|
|
57
|
-
];
|
|
58
|
-
}
|
|
59
|
-
formatProviderError(error) {
|
|
60
|
-
const rules = [
|
|
61
|
-
{
|
|
62
|
-
match: (ctx) => ctx.statusCode === 401 ||
|
|
63
|
-
/Invalid API key|Authentication|invalid_api_key/i.test(ctx.message),
|
|
64
|
-
errorClass: AuthenticationError,
|
|
65
|
-
message: "Invalid xAI API key. Please check your XAI_API_KEY environment variable. Get one at https://console.x.ai/",
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
match: (ctx) => /insufficient_quota|quota exceeded/i.test(ctx.message),
|
|
69
|
-
errorClass: ProviderError,
|
|
70
|
-
message: "xAI account has insufficient quota. Top up at https://console.x.ai/",
|
|
71
|
-
},
|
|
72
|
-
...DEFAULT_ERROR_RULES,
|
|
73
|
-
];
|
|
74
|
-
return classifyProviderError(error, rules, "xai", this.modelName);
|
|
75
|
-
}
|
|
76
|
-
}
|