@juspay/neurolink 10.6.4 → 10.7.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.
Files changed (76) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/analytics/pricing.d.ts +4 -1
  3. package/dist/analytics/pricing.js +6 -2
  4. package/dist/browser/neurolink.min.js +406 -406
  5. package/dist/cli/commands/proxyAnalyze.js +12 -0
  6. package/dist/core/analytics.js +8 -2
  7. package/dist/core/baseProvider.js +9 -7
  8. package/dist/core/modules/GenerationHandler.d.ts +8 -0
  9. package/dist/core/modules/GenerationHandler.js +28 -38
  10. package/dist/core/modules/TelemetryHandler.d.ts +3 -9
  11. package/dist/core/modules/TelemetryHandler.js +17 -12
  12. package/dist/lib/analytics/pricing.d.ts +4 -1
  13. package/dist/lib/analytics/pricing.js +6 -2
  14. package/dist/lib/core/analytics.js +8 -2
  15. package/dist/lib/core/baseProvider.js +9 -7
  16. package/dist/lib/core/modules/GenerationHandler.d.ts +8 -0
  17. package/dist/lib/core/modules/GenerationHandler.js +28 -38
  18. package/dist/lib/core/modules/TelemetryHandler.d.ts +3 -9
  19. package/dist/lib/core/modules/TelemetryHandler.js +17 -12
  20. package/dist/lib/neurolink.js +18 -1
  21. package/dist/lib/providers/amazonBedrock.js +68 -6
  22. package/dist/lib/providers/anthropic.js +50 -16
  23. package/dist/lib/providers/googleAiStudio.js +29 -4
  24. package/dist/lib/providers/googleNativeGemini3.js +10 -0
  25. package/dist/lib/providers/googleVertex.js +150 -25
  26. package/dist/lib/providers/litellm.js +13 -2
  27. package/dist/lib/providers/openAI.js +13 -2
  28. package/dist/lib/providers/openaiChatCompletionsBase.js +45 -10
  29. package/dist/lib/providers/openaiChatCompletionsClient.d.ts +2 -14
  30. package/dist/lib/providers/openaiChatCompletionsClient.js +20 -1
  31. package/dist/lib/providers/sagemaker/language-model.js +5 -3
  32. package/dist/lib/providers/sagemaker/parsers.js +18 -9
  33. package/dist/lib/providers/sagemaker/streaming.d.ts +9 -0
  34. package/dist/lib/providers/sagemaker/streaming.js +64 -6
  35. package/dist/lib/proxy/accountCooldown.js +2 -7
  36. package/dist/lib/proxy/proxyAnalysis.js +197 -0
  37. package/dist/lib/proxy/requestLogger.js +11 -0
  38. package/dist/lib/proxy/routingEvidence.d.ts +6 -0
  39. package/dist/lib/proxy/routingEvidence.js +33 -0
  40. package/dist/lib/server/routes/claudeProxyRoutes.d.ts +2 -1
  41. package/dist/lib/server/routes/claudeProxyRoutes.js +257 -87
  42. package/dist/lib/types/common.d.ts +3 -0
  43. package/dist/lib/types/openaiCompatible.d.ts +8 -7
  44. package/dist/lib/types/providers.d.ts +6 -0
  45. package/dist/lib/types/proxy.d.ts +97 -2
  46. package/dist/lib/utils/pricing.js +15 -3
  47. package/dist/lib/utils/tokenUtils.js +38 -3
  48. package/dist/neurolink.js +18 -1
  49. package/dist/providers/amazonBedrock.js +68 -6
  50. package/dist/providers/anthropic.js +50 -16
  51. package/dist/providers/googleAiStudio.js +29 -4
  52. package/dist/providers/googleNativeGemini3.js +10 -0
  53. package/dist/providers/googleVertex.js +150 -25
  54. package/dist/providers/litellm.js +13 -2
  55. package/dist/providers/openAI.js +13 -2
  56. package/dist/providers/openaiChatCompletionsBase.js +45 -10
  57. package/dist/providers/openaiChatCompletionsClient.d.ts +2 -14
  58. package/dist/providers/openaiChatCompletionsClient.js +20 -1
  59. package/dist/providers/sagemaker/language-model.js +5 -3
  60. package/dist/providers/sagemaker/parsers.js +18 -9
  61. package/dist/providers/sagemaker/streaming.d.ts +9 -0
  62. package/dist/providers/sagemaker/streaming.js +64 -6
  63. package/dist/proxy/accountCooldown.js +2 -7
  64. package/dist/proxy/proxyAnalysis.js +197 -0
  65. package/dist/proxy/requestLogger.js +11 -0
  66. package/dist/proxy/routingEvidence.d.ts +6 -0
  67. package/dist/proxy/routingEvidence.js +32 -0
  68. package/dist/server/routes/claudeProxyRoutes.d.ts +2 -1
  69. package/dist/server/routes/claudeProxyRoutes.js +257 -87
  70. package/dist/types/common.d.ts +3 -0
  71. package/dist/types/openaiCompatible.d.ts +8 -7
  72. package/dist/types/providers.d.ts +6 -0
  73. package/dist/types/proxy.d.ts +97 -2
  74. package/dist/utils/pricing.js +15 -3
  75. package/dist/utils/tokenUtils.js +38 -3
  76. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [10.7.0](https://github.com/juspay/neurolink/compare/v10.6.5...v10.7.0) (2026-07-29)
2
+
3
+ ### Features
4
+
5
+ - **(proxy):** persist exact account routing decisions ([61246c6](https://github.com/juspay/neurolink/commit/61246c6f18180584dcb65901b567cce81cc44005))
6
+
7
+ ## [10.6.5](https://github.com/juspay/neurolink/compare/v10.6.4...v10.6.5) (2026-07-29)
8
+
9
+ ### Bug Fixes
10
+
11
+ - **(providers):** accurate token usage accounting across providers; yama v3.0.2 ([65d799a](https://github.com/juspay/neurolink/commit/65d799ada467d5cc73e27745fb7faa81dcad9d3f))
12
+
1
13
  ## [10.6.4](https://github.com/juspay/neurolink/compare/v10.6.3...v10.6.4) (2026-07-29)
2
14
 
3
15
  ### Bug Fixes
@@ -21,4 +21,7 @@
21
21
  * cross-provider search via openrouter alias)
22
22
  * @returns Total cost in USD
23
23
  */
24
- export declare function calculateAdvancedCost(model: string | undefined, inputTokens: number, outputTokens: number, provider?: string): number;
24
+ export declare function calculateAdvancedCost(model: string | undefined, inputTokens: number, outputTokens: number, provider?: string, cacheTokens?: {
25
+ cacheReadTokens?: number;
26
+ cacheCreationTokens?: number;
27
+ }): number;
@@ -22,16 +22,20 @@ import { calculateCost } from "../utils/pricing.js";
22
22
  * cross-provider search via openrouter alias)
23
23
  * @returns Total cost in USD
24
24
  */
25
- export function calculateAdvancedCost(model, inputTokens, outputTokens, provider) {
25
+ export function calculateAdvancedCost(model, inputTokens, outputTokens, provider, cacheTokens) {
26
26
  if (!model) {
27
27
  return 0;
28
28
  }
29
29
  // When provider is unknown, use the openrouter/litellm cross-provider
30
30
  // search path in findRates (PROVIDER_ALIASES → __cross_provider__).
31
31
  const resolvedProvider = provider && provider.length > 0 ? provider : "openrouter";
32
+ const cacheReadTokens = cacheTokens?.cacheReadTokens ?? 0;
33
+ const cacheCreationTokens = cacheTokens?.cacheCreationTokens ?? 0;
32
34
  return calculateCost(resolvedProvider, model, {
33
35
  input: inputTokens,
34
36
  output: outputTokens,
35
- total: inputTokens + outputTokens,
37
+ total: inputTokens + cacheReadTokens + cacheCreationTokens + outputTokens,
38
+ ...(cacheReadTokens > 0 ? { cacheReadTokens } : {}),
39
+ ...(cacheCreationTokens > 0 ? { cacheCreationTokens } : {}),
36
40
  });
37
41
  }