@juspay/neurolink 13.5.0 → 13.5.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 (118) hide show
  1. package/CHANGELOG.md +3 -3
  2. package/dist/adapters/video/videoAnalyzer.d.ts +1 -0
  3. package/dist/adapters/video/videoAnalyzer.js +4 -0
  4. package/dist/autoresearch/index.d.ts +1 -0
  5. package/dist/autoresearch/index.js +4 -0
  6. package/dist/autoresearch/worker.js +4 -0
  7. package/dist/browser/neurolink.min.js +467 -467
  8. package/dist/cli/commands/observability.js +11 -4
  9. package/dist/cli/commands/telemetry.js +36 -6
  10. package/dist/cli/utils/formatters.d.ts +17 -0
  11. package/dist/cli/utils/formatters.js +39 -0
  12. package/dist/constants/langfuse.d.ts +17 -1
  13. package/dist/constants/langfuse.js +23 -1
  14. package/dist/constants/telemetry.d.ts +6 -0
  15. package/dist/constants/telemetry.js +6 -0
  16. package/dist/core/baseProvider.js +2 -0
  17. package/dist/core/geminiLoopAdapter.js +19 -0
  18. package/dist/core/loopEngine.js +10 -7
  19. package/dist/core/modules/StreamHandler.js +5 -4
  20. package/dist/core/modules/TelemetryHandler.d.ts +5 -1
  21. package/dist/core/modules/TelemetryHandler.js +16 -0
  22. package/dist/core/modules/ToolsManager.js +3 -0
  23. package/dist/core/nativeGenerateLoop.js +1 -1
  24. package/dist/evaluation/index.d.ts +1 -0
  25. package/dist/evaluation/index.js +4 -0
  26. package/dist/evaluation/ragasEvaluator.js +1 -0
  27. package/dist/mcp/externalServerManager.js +6 -2
  28. package/dist/mcp/toolRegistry.js +3 -0
  29. package/dist/neurolink.d.ts +16 -8
  30. package/dist/neurolink.js +115 -61
  31. package/dist/observability/FEATURE-STATUS.md +0 -4
  32. package/dist/observability/exporterRegistry.d.ts +6 -1
  33. package/dist/observability/exporterRegistry.js +18 -0
  34. package/dist/observability/exporterSpanProcessor.d.ts +20 -6
  35. package/dist/observability/exporterSpanProcessor.js +166 -34
  36. package/dist/observability/exporters/baseExporter.d.ts +22 -3
  37. package/dist/observability/exporters/baseExporter.js +87 -5
  38. package/dist/observability/exporters/langfuseExporter.d.ts +29 -3
  39. package/dist/observability/exporters/langfuseExporter.js +251 -41
  40. package/dist/observability/langfuseMasking.d.ts +1 -1
  41. package/dist/observability/langfuseMasking.js +1 -1
  42. package/dist/observability/otlpEncoding.d.ts +18 -5
  43. package/dist/observability/otlpEncoding.js +69 -12
  44. package/dist/observability/utils/spanSerializer.d.ts +3 -2
  45. package/dist/observability/utils/spanSerializer.js +5 -3
  46. package/dist/processors/base/BaseFileProcessor.d.ts +1 -0
  47. package/dist/processors/base/BaseFileProcessor.js +4 -0
  48. package/dist/processors/index.d.ts +1 -0
  49. package/dist/processors/index.js +4 -0
  50. package/dist/processors/registry/ProcessorRegistry.d.ts +1 -0
  51. package/dist/processors/registry/ProcessorRegistry.js +5 -0
  52. package/dist/providers/amazonBedrock/client.js +7 -5
  53. package/dist/providers/amazonSagemaker.js +32 -12
  54. package/dist/providers/anthropic/client.js +1 -0
  55. package/dist/providers/anthropic/loopAdapter.js +7 -3
  56. package/dist/providers/googleAiStudio/client.js +2 -0
  57. package/dist/providers/googleVertex/client.d.ts +6 -5
  58. package/dist/providers/googleVertex/client.js +46 -19
  59. package/dist/providers/openaiChatCompletionsBase.js +4 -4
  60. package/dist/proxy/codexUsage.js +59 -2
  61. package/dist/proxy/proxyTracer.d.ts +25 -1
  62. package/dist/proxy/proxyTracer.js +146 -22
  63. package/dist/proxy/proxyTranslationEngine.js +4 -2
  64. package/dist/proxy/sseInterceptor.js +6 -4
  65. package/dist/rag/chunkers/BaseChunker.js +1 -0
  66. package/dist/rag/index.d.ts +1 -0
  67. package/dist/rag/index.js +4 -0
  68. package/dist/rag/ragIntegration.js +1 -0
  69. package/dist/rag/reranker/reranker.js +2 -0
  70. package/dist/rag/retrieval/vectorQueryTool.js +1 -0
  71. package/dist/server/routes/codexProxyRoutes.js +3 -1
  72. package/dist/server/utils/validation.d.ts +3 -3
  73. package/dist/services/server/ai/observability/instrumentation.d.ts +8 -7
  74. package/dist/services/server/ai/observability/instrumentation.js +217 -47
  75. package/dist/services/server/ai/observability/langfuseSetup.d.ts +19 -1
  76. package/dist/services/server/ai/observability/langfuseSetup.js +62 -4
  77. package/dist/services/server/ai/observability/otlpSetup.d.ts +12 -2
  78. package/dist/services/server/ai/observability/otlpSetup.js +55 -4
  79. package/dist/telemetry/aiMetrics.d.ts +56 -0
  80. package/dist/telemetry/aiMetrics.js +229 -0
  81. package/dist/telemetry/attributes.d.ts +24 -1
  82. package/dist/telemetry/attributes.js +94 -9
  83. package/dist/telemetry/chatMessages.d.ts +6 -0
  84. package/dist/telemetry/chatMessages.js +37 -0
  85. package/dist/telemetry/index.d.ts +1 -1
  86. package/dist/telemetry/index.js +1 -1
  87. package/dist/telemetry/observation.d.ts +5 -5
  88. package/dist/telemetry/observation.js +128 -39
  89. package/dist/telemetry/spanSanitizer.d.ts +2 -2
  90. package/dist/telemetry/spanSanitizer.js +76 -8
  91. package/dist/telemetry/telemetryStarter.d.ts +16 -0
  92. package/dist/telemetry/telemetryStarter.js +28 -0
  93. package/dist/telemetry/traceContext.d.ts +3 -3
  94. package/dist/telemetry/traceContext.js +3 -3
  95. package/dist/telemetry/tracers.d.ts +13 -1
  96. package/dist/telemetry/tracers.js +49 -10
  97. package/dist/telemetry/withSpan.d.ts +19 -3
  98. package/dist/telemetry/withSpan.js +149 -20
  99. package/dist/types/exporter.d.ts +98 -3
  100. package/dist/types/livekit.d.ts +16 -1
  101. package/dist/types/loopEngine.d.ts +16 -1
  102. package/dist/types/observability.d.ts +38 -5
  103. package/dist/types/proxy.d.ts +2 -0
  104. package/dist/types/span.d.ts +26 -0
  105. package/dist/utils/timeout.js +4 -2
  106. package/dist/voice/livekit/realtimeMcpTools.js +11 -2
  107. package/dist/voice/livekit/realtimeMemory.d.ts +20 -2
  108. package/dist/voice/livekit/realtimeMemory.js +139 -46
  109. package/dist/voice/livekit/realtimeVoiceAgent.js +20 -8
  110. package/dist/voice/livekit/turnRecorder.js +22 -9
  111. package/dist/workflow/core/ensembleExecutor.js +2 -0
  112. package/dist/workflow/core/judgeScorer.js +1 -0
  113. package/dist/workflow/core/responseConditioner.js +1 -0
  114. package/dist/workflow/core/workflowRunner.js +6 -1
  115. package/dist/workflow/index.d.ts +1 -0
  116. package/dist/workflow/index.js +4 -0
  117. package/docs-site/static/search-index.json +32 -27
  118. package/package.json +21 -2
package/CHANGELOG.md CHANGED
@@ -1,8 +1,8 @@
1
- ## [13.5.0](https://github.com/juspay/neurolink/compare/v13.4.10...v13.5.0) (2026-10-19)
1
+ ## [13.5.1](https://github.com/juspay/neurolink/compare/v13.5.0...v13.5.1) (2026-10-20)
2
2
 
3
- ### Features
3
+ ### Bug Fixes
4
4
 
5
- - **(xor):** value questions, audio and measured limits ([8abae3d](https://github.com/juspay/neurolink/commit/8abae3d69de5708fc7bd0f2213d83d531ebd84e1))
5
+ - **(observability):** close the review findings of the Langfuse OTEL pipeline (BZ-6924) ([dc39f4d](https://github.com/juspay/neurolink/commit/dc39f4ded73cca4a3faf3a5bea48babea6dd4d6f))
6
6
 
7
7
  ## [11.2.3](https://github.com/juspay/neurolink/compare/v11.2.2...v11.2.3) (2026-08-19)
8
8
 
@@ -7,6 +7,7 @@
7
7
  * @module adapters/video/geminiVideoAnalyzer
8
8
  */
9
9
  import { AIProviderName } from "../../constants/enums.js";
10
+ import "../../services/server/ai/observability/instrumentation.js";
10
11
  import type { ModelMessage } from "../../types/index.js";
11
12
  export declare function analyzeVideoWithVertexAI(messages: ModelMessage[], options?: {
12
13
  project?: string;
@@ -9,6 +9,10 @@
9
9
  import { AIProviderName, ErrorSeverity, ErrorCategory, } from "../../constants/enums.js";
10
10
  import { logger } from "../../utils/logger.js";
11
11
  import { googleSdkProxyHttpOptions } from "../../proxy/proxyFetch.js";
12
+ // Starts tracing at the first span, as this module always did: the shared
13
+ // tracers only start what a loaded entry registered, and this path can be
14
+ // imported without the package entry. The client entry stays free of it.
15
+ import "../../services/server/ai/observability/instrumentation.js";
12
16
  import { readFile } from "node:fs/promises";
13
17
  import { NeuroLinkError, ErrorFactory } from "../../utils/errorHandling.js";
14
18
  // ---------------------------------------------------------------------------
@@ -10,6 +10,7 @@
10
10
  * import { resolveConfig, validateConfig, ResearchStateStore, RepoPolicy, ExperimentRunner, ResultRecorder } from "@juspay/neurolink/autoresearch";
11
11
  * ```
12
12
  */
13
+ import "../services/server/ai/observability/instrumentation.js";
13
14
  export { resolveConfig, validateConfig } from "./config.js";
14
15
  export { ResearchStateStore } from "./stateStore.js";
15
16
  export { RepoPolicy } from "./repoPolicy.js";
@@ -10,6 +10,10 @@
10
10
  * import { resolveConfig, validateConfig, ResearchStateStore, RepoPolicy, ExperimentRunner, ResultRecorder } from "@juspay/neurolink/autoresearch";
11
11
  * ```
12
12
  */
13
+ // Imported on its own, this entry starts tracing at its first span, as the
14
+ // main entry does. The import sits here rather than in the shared tracers so
15
+ // that the client entry stays free of the OpenTelemetry Node SDK.
16
+ import "../services/server/ai/observability/instrumentation.js";
13
17
  // Configuration
14
18
  export { resolveConfig, validateConfig } from "./config.js";
15
19
  // State management
@@ -70,6 +70,7 @@ export class ResearchWorker {
70
70
  return withSpan({
71
71
  name: "autoresearch.initialize",
72
72
  tracer: tracers.autoresearch,
73
+ observationType: "span",
73
74
  attributes: {
74
75
  [ATTR.AR_TAG]: tag,
75
76
  [ATTR.AR_BRANCH]: `${this.config.branchPrefix}${tag}`,
@@ -130,6 +131,7 @@ export class ResearchWorker {
130
131
  return withSpan({
131
132
  name: "autoresearch.resume",
132
133
  tracer: tracers.autoresearch,
134
+ observationType: "span",
133
135
  }, async (span) => {
134
136
  const state = await this.stateStore.load();
135
137
  if (!state) {
@@ -181,6 +183,7 @@ export class ResearchWorker {
181
183
  return withSpan({
182
184
  name: "autoresearch.experiment_cycle",
183
185
  tracer: tracers.autoresearch,
186
+ observationType: "span",
184
187
  attributes: {
185
188
  [ATTR.AR_TAG]: state.tag,
186
189
  [ATTR.AR_RUN_COUNT]: state.runCount,
@@ -202,6 +205,7 @@ export class ResearchWorker {
202
205
  const summary = await withSpan({
203
206
  name: "autoresearch.experiment_run",
204
207
  tracer: tracers.autoresearch,
208
+ observationType: "span",
205
209
  attributes: { [ATTR.AR_TAG]: state.tag },
206
210
  }, async () => {
207
211
  return withTimeout(this.runner.run(), this.config.timeoutMs + 30_000, new Error("Experiment runner exceeded safety timeout"));