@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.
Files changed (67) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/browser/neurolink.min.js +408 -408
  3. package/dist/core/handlerRegistry.d.ts +29 -0
  4. package/dist/core/handlerRegistry.js +61 -0
  5. package/dist/factories/providerRegistry.js +14 -44
  6. package/dist/lib/core/handlerRegistry.d.ts +29 -0
  7. package/dist/lib/core/handlerRegistry.js +62 -0
  8. package/dist/lib/factories/providerRegistry.js +14 -44
  9. package/dist/lib/providers/configuredOpenAICompat.js +10 -3
  10. package/dist/lib/providers/openaiCompatCatalog.js +9 -11
  11. package/dist/lib/types/providers.d.ts +15 -1
  12. package/dist/lib/utils/avatarProcessor.d.ts +5 -1
  13. package/dist/lib/utils/avatarProcessor.js +13 -18
  14. package/dist/lib/utils/musicProcessor.d.ts +5 -1
  15. package/dist/lib/utils/musicProcessor.js +13 -18
  16. package/dist/lib/utils/sttProcessor.d.ts +10 -2
  17. package/dist/lib/utils/sttProcessor.js +22 -18
  18. package/dist/lib/utils/ttsProcessor.d.ts +10 -2
  19. package/dist/lib/utils/ttsProcessor.js +22 -18
  20. package/dist/lib/utils/videoProcessor.d.ts +5 -1
  21. package/dist/lib/utils/videoProcessor.js +13 -18
  22. package/dist/lib/voice/RealtimeVoiceAPI.d.ts +1 -1
  23. package/dist/lib/voice/RealtimeVoiceAPI.js +17 -28
  24. package/dist/providers/configuredOpenAICompat.js +10 -3
  25. package/dist/providers/openaiCompatCatalog.js +9 -11
  26. package/dist/types/providers.d.ts +15 -1
  27. package/dist/utils/avatarProcessor.d.ts +5 -1
  28. package/dist/utils/avatarProcessor.js +13 -18
  29. package/dist/utils/musicProcessor.d.ts +5 -1
  30. package/dist/utils/musicProcessor.js +13 -18
  31. package/dist/utils/sttProcessor.d.ts +10 -2
  32. package/dist/utils/sttProcessor.js +22 -18
  33. package/dist/utils/ttsProcessor.d.ts +10 -2
  34. package/dist/utils/ttsProcessor.js +22 -18
  35. package/dist/utils/videoProcessor.d.ts +5 -1
  36. package/dist/utils/videoProcessor.js +13 -18
  37. package/dist/voice/RealtimeVoiceAPI.d.ts +1 -1
  38. package/dist/voice/RealtimeVoiceAPI.js +17 -28
  39. package/package.json +8 -2
  40. package/dist/lib/providers/cloudflare.d.ts +0 -26
  41. package/dist/lib/providers/cloudflare.js +0 -83
  42. package/dist/lib/providers/fireworks.d.ts +0 -22
  43. package/dist/lib/providers/fireworks.js +0 -73
  44. package/dist/lib/providers/groq.d.ts +0 -24
  45. package/dist/lib/providers/groq.js +0 -83
  46. package/dist/lib/providers/mistral.d.ts +0 -25
  47. package/dist/lib/providers/mistral.js +0 -87
  48. package/dist/lib/providers/perplexity.d.ts +0 -24
  49. package/dist/lib/providers/perplexity.js +0 -69
  50. package/dist/lib/providers/togetherAi.d.ts +0 -23
  51. package/dist/lib/providers/togetherAi.js +0 -73
  52. package/dist/lib/providers/xai.d.ts +0 -22
  53. package/dist/lib/providers/xai.js +0 -77
  54. package/dist/providers/cloudflare.d.ts +0 -26
  55. package/dist/providers/cloudflare.js +0 -82
  56. package/dist/providers/fireworks.d.ts +0 -22
  57. package/dist/providers/fireworks.js +0 -72
  58. package/dist/providers/groq.d.ts +0 -24
  59. package/dist/providers/groq.js +0 -82
  60. package/dist/providers/mistral.d.ts +0 -25
  61. package/dist/providers/mistral.js +0 -86
  62. package/dist/providers/perplexity.d.ts +0 -24
  63. package/dist/providers/perplexity.js +0 -68
  64. package/dist/providers/togetherAi.d.ts +0 -23
  65. package/dist/providers/togetherAi.js +0 -72
  66. package/dist/providers/xai.d.ts +0 -22
  67. 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
- }
@@ -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
- }
@@ -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
- }