@juspay/neurolink 11.0.0 → 11.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/browser/neurolink.min.js +510 -510
  3. package/dist/cli/commands/setup.d.ts +8 -1
  4. package/dist/cli/commands/setup.js +62 -46
  5. package/dist/cli/factories/commandFactory.d.ts +1157 -1
  6. package/dist/cli/factories/commandFactory.js +20 -53
  7. package/dist/constants/networkErrorCodes.d.ts +14 -0
  8. package/dist/constants/networkErrorCodes.js +21 -0
  9. package/dist/factories/providerDescriptors.d.ts +18 -0
  10. package/dist/factories/providerDescriptors.js +546 -0
  11. package/dist/factories/providerFactory.d.ts +25 -14
  12. package/dist/factories/providerFactory.js +46 -23
  13. package/dist/factories/providerRegistry.js +31 -30
  14. package/dist/index.d.ts +10 -1
  15. package/dist/index.js +13 -3
  16. package/dist/lib/constants/networkErrorCodes.d.ts +14 -0
  17. package/dist/lib/constants/networkErrorCodes.js +22 -0
  18. package/dist/lib/factories/providerDescriptors.d.ts +18 -0
  19. package/dist/lib/factories/providerDescriptors.js +547 -0
  20. package/dist/lib/factories/providerFactory.d.ts +25 -14
  21. package/dist/lib/factories/providerFactory.js +46 -23
  22. package/dist/lib/factories/providerRegistry.js +31 -30
  23. package/dist/lib/index.d.ts +10 -1
  24. package/dist/lib/index.js +13 -3
  25. package/dist/lib/neurolink.js +25 -37
  26. package/dist/lib/processors/base/BaseFileProcessor.d.ts +17 -0
  27. package/dist/lib/processors/base/BaseFileProcessor.js +40 -0
  28. package/dist/lib/processors/document/OpenDocumentProcessor.js +12 -2
  29. package/dist/lib/providers/amazonBedrock/client.js +34 -16
  30. package/dist/lib/providers/anthropic/client.js +39 -34
  31. package/dist/lib/providers/azureOpenai.js +17 -15
  32. package/dist/lib/providers/cloudflare.js +12 -21
  33. package/dist/lib/providers/cohere.js +31 -25
  34. package/dist/lib/providers/deepseek.js +23 -26
  35. package/dist/lib/providers/fireworks.js +12 -21
  36. package/dist/lib/providers/googleAiStudio/client.d.ts +2 -0
  37. package/dist/lib/providers/googleAiStudio/client.js +39 -17
  38. package/dist/lib/providers/googleVertex/client.js +107 -99
  39. package/dist/lib/providers/groq.js +19 -22
  40. package/dist/lib/providers/huggingFace/client.js +26 -24
  41. package/dist/lib/providers/litellm/client.js +54 -39
  42. package/dist/lib/providers/llamaCpp.js +21 -18
  43. package/dist/lib/providers/lmStudio.js +22 -19
  44. package/dist/lib/providers/mistral.js +12 -24
  45. package/dist/lib/providers/nvidiaNim/client.js +37 -34
  46. package/dist/lib/providers/ollama/client.js +50 -35
  47. package/dist/lib/providers/openAI/client.js +37 -40
  48. package/dist/lib/providers/openRouter/client.js +53 -47
  49. package/dist/lib/providers/openaiChatCompletionsBase.js +40 -16
  50. package/dist/lib/providers/openaiCompatible/client.js +36 -32
  51. package/dist/lib/providers/perplexity.js +12 -21
  52. package/dist/lib/providers/togetherAi.js +12 -21
  53. package/dist/lib/providers/xai.js +17 -26
  54. package/dist/lib/proxy/proxyFetch.js +1 -9
  55. package/dist/lib/server/errors.d.ts +1 -1
  56. package/dist/lib/server/errors.js +2 -2
  57. package/dist/lib/server/index.d.ts +2 -2
  58. package/dist/lib/server/index.js +5 -3
  59. package/dist/lib/server/middleware/rateLimit.d.ts +0 -4
  60. package/dist/lib/server/middleware/rateLimit.js +0 -4
  61. package/dist/lib/types/cli.d.ts +2 -0
  62. package/dist/lib/types/errors.d.ts +35 -0
  63. package/dist/lib/types/providers.d.ts +79 -0
  64. package/dist/lib/utils/errorClassifier.d.ts +30 -0
  65. package/dist/lib/utils/errorClassifier.js +183 -0
  66. package/dist/lib/utils/fileDetector.js +6 -43
  67. package/dist/lib/utils/providerConfig.d.ts +16 -0
  68. package/dist/lib/utils/providerConfig.js +23 -0
  69. package/dist/lib/utils/providerHealth.d.ts +53 -12
  70. package/dist/lib/utils/providerHealth.js +125 -131
  71. package/dist/lib/utils/providerUtils.js +22 -64
  72. package/dist/neurolink.js +25 -37
  73. package/dist/processors/base/BaseFileProcessor.d.ts +17 -0
  74. package/dist/processors/base/BaseFileProcessor.js +40 -0
  75. package/dist/processors/document/OpenDocumentProcessor.js +12 -2
  76. package/dist/providers/amazonBedrock/client.js +34 -16
  77. package/dist/providers/amazonSagemaker.d.ts +1 -1
  78. package/dist/providers/anthropic/client.js +39 -34
  79. package/dist/providers/azureOpenai.js +17 -15
  80. package/dist/providers/cloudflare.js +12 -21
  81. package/dist/providers/cohere.js +31 -25
  82. package/dist/providers/deepseek.js +23 -26
  83. package/dist/providers/fireworks.js +12 -21
  84. package/dist/providers/googleAiStudio/client.d.ts +2 -0
  85. package/dist/providers/googleAiStudio/client.js +39 -17
  86. package/dist/providers/googleVertex/client.js +107 -99
  87. package/dist/providers/groq.js +19 -22
  88. package/dist/providers/huggingFace/client.js +26 -24
  89. package/dist/providers/litellm/client.js +54 -39
  90. package/dist/providers/llamaCpp.js +21 -18
  91. package/dist/providers/lmStudio.js +22 -19
  92. package/dist/providers/mistral.js +12 -24
  93. package/dist/providers/nvidiaNim/client.js +37 -34
  94. package/dist/providers/ollama/client.js +50 -35
  95. package/dist/providers/openAI/client.js +37 -40
  96. package/dist/providers/openRouter/client.js +53 -47
  97. package/dist/providers/openaiChatCompletionsBase.js +40 -16
  98. package/dist/providers/openaiCompatible/client.js +36 -32
  99. package/dist/providers/perplexity.js +12 -21
  100. package/dist/providers/sagemaker/language-model.d.ts +2 -2
  101. package/dist/providers/togetherAi.js +12 -21
  102. package/dist/providers/xai.js +17 -26
  103. package/dist/proxy/proxyFetch.js +1 -9
  104. package/dist/server/errors.d.ts +1 -1
  105. package/dist/server/errors.js +2 -2
  106. package/dist/server/index.d.ts +2 -2
  107. package/dist/server/index.js +5 -3
  108. package/dist/server/middleware/rateLimit.d.ts +0 -4
  109. package/dist/server/middleware/rateLimit.js +0 -4
  110. package/dist/types/cli.d.ts +2 -0
  111. package/dist/types/errors.d.ts +35 -0
  112. package/dist/types/providers.d.ts +79 -0
  113. package/dist/utils/errorClassifier.d.ts +30 -0
  114. package/dist/utils/errorClassifier.js +182 -0
  115. package/dist/utils/fileDetector.js +6 -43
  116. package/dist/utils/providerConfig.d.ts +16 -0
  117. package/dist/utils/providerConfig.js +23 -0
  118. package/dist/utils/providerHealth.d.ts +53 -12
  119. package/dist/utils/providerHealth.js +125 -131
  120. package/dist/utils/providerUtils.js +22 -64
  121. package/package.json +15 -70
@@ -31,6 +31,20 @@ import { formatVideoFileSize, getVideoMetadataSummary, saveVideoToFile, } from "
31
31
  import { OllamaCommandFactory } from "./ollamaCommandFactory.js";
32
32
  import { SageMakerCommandFactory } from "./sagemakerCommandFactory.js";
33
33
  import { AgentCommandFactory } from "../commands/agent.js";
34
+ import { PROVIDER_DESCRIPTORS } from "../../lib/factories/providerDescriptors.js";
35
+ /**
36
+ * Every provider name + alias, derived from PROVIDER_DESCRIPTORS, plus
37
+ * "auto" and the CLI-only "anthropic-subscription" pseudo-provider (not a
38
+ * real AIProviderName — special-cased at runtime to rewrite
39
+ * options.provider to "anthropic").
40
+ */
41
+ const DERIVED_PROVIDER_CHOICES = [
42
+ "auto",
43
+ ...PROVIDER_DESCRIPTORS.flatMap((d) => [d.name, ...d.aliases]),
44
+ "anthropic-subscription",
45
+ ];
46
+ /** Space-separated form for the bash-completion script, kept in sync with DERIVED_PROVIDER_CHOICES by construction. */
47
+ export const BASH_COMPLETION_PROVIDERS = DERIVED_PROVIDER_CHOICES.join(" ");
34
48
  /**
35
49
  * CLI Command Factory for generate commands
36
50
  */
@@ -68,58 +82,7 @@ export class CLICommandFactory {
68
82
  static commonOptions = {
69
83
  // Core generation options
70
84
  provider: {
71
- choices: [
72
- "auto",
73
- "openai",
74
- "openai-compatible",
75
- "openrouter",
76
- "or",
77
- "bedrock",
78
- "vertex",
79
- "googleVertex",
80
- "anthropic",
81
- "anthropic-subscription", // Anthropic with subscription tier support
82
- "azure",
83
- "google-ai",
84
- "google-ai-studio",
85
- "huggingface",
86
- "ollama",
87
- "mistral",
88
- "litellm",
89
- "sagemaker",
90
- "deepseek",
91
- "ds",
92
- "nvidia-nim",
93
- "nim",
94
- "nvidia",
95
- "lm-studio",
96
- "lmstudio",
97
- "lms",
98
- "llamacpp",
99
- "llama.cpp",
100
- "xai",
101
- "grok",
102
- "groq",
103
- "cohere",
104
- "together-ai",
105
- "together",
106
- "fireworks",
107
- "perplexity",
108
- "pplx",
109
- "cloudflare",
110
- "workers-ai",
111
- "cf-ai",
112
- "replicate",
113
- "voyage",
114
- "voyage-ai",
115
- "jina",
116
- "jina-ai",
117
- "stability",
118
- "stability-ai",
119
- "sd",
120
- "ideogram",
121
- "recraft",
122
- ],
85
+ choices: DERIVED_PROVIDER_CHOICES,
123
86
  default: "auto",
124
87
  description: "AI provider to use (auto-selects best available). Use 'anthropic-subscription' for Claude subscription plans.",
125
88
  alias: "p",
@@ -4431,7 +4394,9 @@ export class CLICommandFactory {
4431
4394
  " generate|gen)\n" +
4432
4395
  ' case "${prev}" in\n' +
4433
4396
  " --provider|-p)\n" +
4434
- ' COMPREPLY=( $(compgen -W "auto openai openai-compatible openrouter or bedrock vertex googleVertex anthropic anthropic-subscription azure google-ai google-ai-studio huggingface ollama mistral litellm sagemaker deepseek ds nvidia-nim nim lm-studio lmstudio llamacpp llama.cpp xai grok groq cohere together-ai together fireworks perplexity pplx cloudflare workers-ai cf-ai replicate voyage voyage-ai jina jina-ai stability stability-ai sd ideogram recraft" -- ${cur}) )\n' +
4397
+ ' COMPREPLY=( $(compgen -W "' +
4398
+ BASH_COMPLETION_PROVIDERS +
4399
+ '" -- ${cur}) )\n' +
4435
4400
  " return 0\n" +
4436
4401
  " ;;\n" +
4437
4402
  " --format|-f|--output-format)\n" +
@@ -4561,4 +4526,6 @@ export class CLICommandFactory {
4561
4526
  }
4562
4527
  }
4563
4528
  }
4529
+ /** Re-export of CLICommandFactory's static option definitions for direct import by tests/tooling. */
4530
+ export const commonOptions = CLICommandFactory.commonOptions;
4564
4531
  //# sourceMappingURL=commandFactory.js.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Error codes that indicate a transient transport failure (dropped
3
+ * connection, socket reset, connect timeout) rather than a permanent
4
+ * misconfiguration. Shared between `proxy/proxyFetch.ts` (retry gating) and
5
+ * `utils/errorClassifier.ts` (NetworkError classification) so both stay in
6
+ * sync — a second hand-maintained copy would drift the two apart the same
7
+ * way the "5xx literal text vs statusCode" split did.
8
+ *
9
+ * undici's native `fetch()` wraps the real transport failure in
10
+ * `TypeError: fetch failed`, with the actionable code on `error.cause`
11
+ * (sometimes nested another level deep, e.g. a SocketError inside a
12
+ * ConnectTimeoutError) — never on the outer TypeError itself.
13
+ */
14
+ export declare const TRANSIENT_NETWORK_CODES: ReadonlySet<string>;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Error codes that indicate a transient transport failure (dropped
3
+ * connection, socket reset, connect timeout) rather than a permanent
4
+ * misconfiguration. Shared between `proxy/proxyFetch.ts` (retry gating) and
5
+ * `utils/errorClassifier.ts` (NetworkError classification) so both stay in
6
+ * sync — a second hand-maintained copy would drift the two apart the same
7
+ * way the "5xx literal text vs statusCode" split did.
8
+ *
9
+ * undici's native `fetch()` wraps the real transport failure in
10
+ * `TypeError: fetch failed`, with the actionable code on `error.cause`
11
+ * (sometimes nested another level deep, e.g. a SocketError inside a
12
+ * ConnectTimeoutError) — never on the outer TypeError itself.
13
+ */
14
+ export const TRANSIENT_NETWORK_CODES = new Set([
15
+ "ECONNRESET",
16
+ "ETIMEDOUT",
17
+ "ECONNREFUSED",
18
+ "EPIPE",
19
+ "UND_ERR_SOCKET",
20
+ "UND_ERR_CONNECT_TIMEOUT",
21
+ ]);
@@ -0,0 +1,18 @@
1
+ import { AIProviderName } from "../constants/enums.js";
2
+ import type { ProviderDescriptor } from "../types/index.js";
3
+ /**
4
+ * Single source of truth for provider identity, credentials, defaults, and
5
+ * runtime behavior classification. Pure data — no provider-class imports,
6
+ * no dynamic import(), no side effects beyond building the two derived
7
+ * lookup maps below. Order follows the AIProviderName enum declaration
8
+ * order (enums.ts:8-40) so this file stays easy to diff against it.
9
+ */
10
+ export declare const PROVIDER_DESCRIPTORS: readonly ProviderDescriptor[];
11
+ /** O(1) canonical-name → descriptor lookup. */
12
+ export declare const PROVIDER_DESCRIPTORS_BY_NAME: ReadonlyMap<AIProviderName, ProviderDescriptor>;
13
+ /**
14
+ * O(1) alias → canonical-name lookup, covering both `aliases` and each
15
+ * descriptor's own lowercased `name`. Replaces the O(n) linear scan in
16
+ * ProviderFactory.normalizeProviderName().
17
+ */
18
+ export declare const PROVIDER_ALIAS_INDEX: ReadonlyMap<string, AIProviderName>;