@juspay/neurolink 12.58.1 → 13.0.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.
- package/CHANGELOG.md +14 -3
- package/dist/auth/anthropicOAuth.js +3 -3
- package/dist/auth/middleware/AuthMiddleware.d.ts +1 -1
- package/dist/auth/sessionManager.js +4 -4
- package/dist/auth/tokenStore.js +4 -4
- package/dist/browser/neurolink.min.js +474 -473
- package/dist/cli/commands/observability.d.ts +1 -6
- package/dist/cli/commands/observability.js +0 -106
- package/dist/cli/commands/proxy.js +9 -18
- package/dist/cli/commands/telemetry.d.ts +3 -13
- package/dist/cli/commands/telemetry.js +7 -354
- package/dist/cli/loop/session.js +1 -1
- package/dist/client/httpClient.js +1 -1
- package/dist/client/sseClient.js +1 -1
- package/dist/client/streamingClient.js +2 -2
- package/dist/client/wsClient.js +1 -1
- package/dist/constants/langfuse.d.ts +25 -0
- package/dist/constants/langfuse.js +38 -0
- package/dist/constants/telemetry.d.ts +20 -0
- package/dist/constants/telemetry.js +34 -0
- package/dist/core/baseProvider.d.ts +2 -1
- package/dist/core/baseProvider.js +4 -11
- package/dist/core/conversationMemoryManager.js +5 -8
- package/dist/core/factory.js +1 -1
- package/dist/core/geminiLoopAdapter.d.ts +8 -1
- package/dist/core/geminiLoopAdapter.js +25 -1
- package/dist/core/loopEngine.js +69 -40
- package/dist/core/modules/MessageBuilder.js +2 -2
- package/dist/core/modules/StreamHandler.js +2 -2
- package/dist/core/modules/TelemetryHandler.d.ts +2 -18
- package/dist/core/modules/TelemetryHandler.js +1 -66
- package/dist/core/modules/ToolsManager.js +40 -31
- package/dist/core/nativeGenerateLoop.js +78 -8
- package/dist/core/redisConversationMemoryManager.js +8 -15
- package/dist/core/toolExecutionGuards.js +1 -13
- package/dist/index.d.ts +5 -12
- package/dist/index.js +5 -37
- package/dist/mcp/batching/requestBatcher.js +1 -1
- package/dist/mcp/externalServerManager.js +3 -21
- package/dist/mcp/toolDiscoveryService.js +4 -16
- package/dist/mcp/toolRegistry.js +2 -5
- package/dist/memory/memoryRetrievalTools.js +1 -1
- package/dist/neurolink.d.ts +16 -27
- package/dist/neurolink.js +788 -792
- package/dist/observability/exporterSpanProcessor.d.ts +50 -0
- package/dist/observability/exporterSpanProcessor.js +181 -0
- package/dist/observability/exporters/langfuseExporter.d.ts +13 -34
- package/dist/observability/exporters/langfuseExporter.js +101 -154
- package/dist/observability/index.d.ts +1 -0
- package/dist/observability/index.js +1 -0
- package/dist/observability/langfuseMasking.d.ts +8 -0
- package/dist/observability/langfuseMasking.js +47 -0
- package/dist/observability/otlpEncoding.d.ts +20 -0
- package/dist/observability/otlpEncoding.js +85 -0
- package/dist/providers/amazonBedrock/client.js +142 -176
- package/dist/providers/amazonBedrock/loopAdapter.js +14 -1
- package/dist/providers/amazonSagemaker.js +118 -80
- package/dist/providers/anthropic/client.js +3 -52
- package/dist/providers/anthropic/loopAdapter.js +24 -1
- package/dist/providers/anthropic/rateLimitCapture.js +9 -12
- package/dist/providers/googleAiStudio/client.d.ts +4 -5
- package/dist/providers/googleAiStudio/client.js +38 -40
- package/dist/providers/googleVertex/client.d.ts +2 -7
- package/dist/providers/googleVertex/client.js +282 -378
- package/dist/providers/googleVertex/constants.js +2 -2
- package/dist/providers/litellm/client.d.ts +2 -9
- package/dist/providers/litellm/client.js +1 -63
- package/dist/providers/openAI/client.d.ts +1 -8
- package/dist/providers/openAI/client.js +0 -65
- package/dist/providers/openaiChatCompletionsBase.d.ts +1 -0
- package/dist/providers/openaiChatCompletionsBase.js +61 -4
- package/dist/providers/replicate.js +22 -4
- package/dist/proxy/codexUsage.js +7 -0
- package/dist/proxy/proxyFetch.js +19 -25
- package/dist/proxy/proxyTracer.d.ts +14 -7
- package/dist/proxy/proxyTracer.js +129 -83
- package/dist/proxy/proxyTranslationEngine.js +0 -1
- package/dist/proxy/requestLogger.d.ts +1 -1
- package/dist/proxy/requestLogger.js +39 -45
- package/dist/server/middleware/common.js +1 -1
- package/dist/server/routes/agentRoutes.js +4 -4
- package/dist/server/routes/claudeProxyRoutes.js +99 -196
- package/dist/server/routes/codexProxyRoutes.js +621 -591
- package/dist/server/routes/healthRoutes.js +6 -6
- package/dist/server/routes/mcpRoutes.js +7 -7
- package/dist/server/routes/memoryRoutes.js +7 -7
- package/dist/server/routes/openApiRoutes.js +3 -3
- package/dist/server/routes/toolRoutes.js +5 -5
- package/dist/server/routes/transcribeRoutes.js +1 -1
- package/dist/server/utils/validation.d.ts +3 -3
- package/dist/services/server/ai/observability/instrumentation.d.ts +34 -201
- package/dist/services/server/ai/observability/instrumentation.js +220 -1267
- package/dist/services/server/ai/observability/langfuseSetup.d.ts +14 -0
- package/dist/services/server/ai/observability/langfuseSetup.js +55 -0
- package/dist/services/server/ai/observability/otlpSetup.d.ts +16 -0
- package/dist/services/server/ai/observability/otlpSetup.js +58 -0
- package/dist/session/globalSessionState.js +0 -11
- package/dist/telemetry/attributes.d.ts +23 -46
- package/dist/telemetry/attributes.js +76 -162
- package/dist/telemetry/chatMessages.d.ts +13 -0
- package/dist/telemetry/chatMessages.js +59 -0
- package/dist/telemetry/index.d.ts +5 -19
- package/dist/telemetry/index.js +5 -26
- package/dist/telemetry/observation.d.ts +37 -0
- package/dist/telemetry/observation.js +112 -0
- package/dist/telemetry/observationNames.d.ts +18 -0
- package/dist/telemetry/observationNames.js +24 -0
- package/dist/telemetry/spanSanitizer.d.ts +39 -0
- package/dist/telemetry/spanSanitizer.js +92 -0
- package/dist/telemetry/spanSerialization.d.ts +13 -0
- package/dist/telemetry/spanSerialization.js +46 -0
- package/dist/telemetry/tracers.d.ts +37 -18
- package/dist/telemetry/tracers.js +97 -19
- package/dist/telemetry/withSpan.d.ts +47 -25
- package/dist/telemetry/withSpan.js +158 -71
- package/dist/types/cli.d.ts +0 -11
- package/dist/types/decision.d.ts +3 -0
- package/dist/types/exporter.d.ts +54 -0
- package/dist/types/exporter.js +0 -4
- package/dist/types/generate.d.ts +4 -1
- package/dist/types/isolatedAgent.d.ts +5 -4
- package/dist/types/loopEngine.d.ts +18 -28
- package/dist/types/observability.d.ts +127 -160
- package/dist/types/providers.d.ts +15 -0
- package/dist/types/proxy.d.ts +41 -2
- package/dist/utils/anthropicTraceSanitizer.d.ts +2 -2
- package/dist/utils/anthropicTraceSanitizer.js +3 -1
- package/dist/utils/conversationMemory.js +4 -4
- package/dist/utils/fileDetector.js +1 -1
- package/dist/utils/messageBuilder.js +1 -1
- package/dist/utils/noOutputSentinel.d.ts +4 -16
- package/dist/utils/noOutputSentinel.js +12 -28
- package/dist/utils/providerRetry.js +4 -4
- package/dist/voice/livekit/brain.js +1 -1
- package/dist/voice/livekit/realtimeMemory.d.ts +1 -1
- package/dist/voice/livekit/realtimeMemory.js +66 -1
- package/dist/voice/livekit/realtimeVoiceAgent.js +1 -1
- package/docs-site/static/search-index.json +42 -63
- package/package.json +10 -4
- package/dist/telemetry/telemetryService.d.ts +0 -79
- package/dist/telemetry/telemetryService.js +0 -572
- package/dist/utils/observabilityHelpers.d.ts +0 -27
- package/dist/utils/observabilityHelpers.js +0 -47
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
## [
|
|
1
|
+
## [13.0.0](https://github.com/juspay/neurolink/compare/v12.59.0...v13.0.0) (2026-10-16)
|
|
2
2
|
|
|
3
|
-
###
|
|
3
|
+
### ⚠ BREAKING CHANGES
|
|
4
|
+
|
|
5
|
+
- **(observability):** removed initializeOpenTelemetry, getSpanProcessors,
|
|
6
|
+
createContextEnricher, getLangfuseSpanProcessor, getTracerProvider,
|
|
7
|
+
getLangfuseContext, runWithCurrentLangfuseContext, ExporterRegistry, the
|
|
8
|
+
samplers, TelemetryService, initializeTelemetry and the LangfuseConfig
|
|
9
|
+
fields enabled, userId, sessionId, useExternalTracerProvider,
|
|
10
|
+
autoDetectExternalProvider, skipLangfuseSpanProcessor,
|
|
11
|
+
autoDetectOperationName and traceNameFormat. See
|
|
12
|
+
docs/features/observability.md for the migration table.
|
|
13
|
+
|
|
14
|
+
### Features
|
|
4
15
|
|
|
5
|
-
- **(
|
|
16
|
+
- **(observability):** send complete AI data to Langfuse through one OTEL pipeline ([fc892bb](https://github.com/juspay/neurolink/commit/fc892bbb58087096594f7ab80d5105e62a94189c))
|
|
6
17
|
|
|
7
18
|
## [11.2.3](https://github.com/juspay/neurolink/compare/v11.2.2...v11.2.3) (2026-08-19)
|
|
8
19
|
|
|
@@ -470,7 +470,7 @@ export class AnthropicOAuth {
|
|
|
470
470
|
*/
|
|
471
471
|
async exchangeCodeForTokens(code, codeVerifier, config = {}) {
|
|
472
472
|
return withSpan({
|
|
473
|
-
name: "
|
|
473
|
+
name: "auth.oauth.exchange_code",
|
|
474
474
|
tracer: tracers.auth,
|
|
475
475
|
attributes: { "auth.oauth.grant_type": "authorization_code" },
|
|
476
476
|
}, async () => this._exchangeCodeForTokens(code, codeVerifier, config));
|
|
@@ -565,7 +565,7 @@ export class AnthropicOAuth {
|
|
|
565
565
|
*/
|
|
566
566
|
async refreshAccessToken(refreshToken, config = {}) {
|
|
567
567
|
return withSpan({
|
|
568
|
-
name: "
|
|
568
|
+
name: "auth.oauth.refresh",
|
|
569
569
|
tracer: tracers.auth,
|
|
570
570
|
attributes: { "auth.oauth.grant_type": "refresh_token" },
|
|
571
571
|
}, async () => this._refreshAccessToken(refreshToken, config));
|
|
@@ -768,7 +768,7 @@ export class AnthropicOAuth {
|
|
|
768
768
|
*/
|
|
769
769
|
async revokeToken(token, tokenType = "access_token") {
|
|
770
770
|
return withSpan({
|
|
771
|
-
name: "
|
|
771
|
+
name: "auth.oauth.revoke",
|
|
772
772
|
tracer: tracers.auth,
|
|
773
773
|
attributes: { "auth.oauth.token_type": tokenType },
|
|
774
774
|
}, async () => this._revokeToken(token, tokenType));
|
|
@@ -31,7 +31,7 @@ export declare const AuthMiddlewareError: {
|
|
|
31
31
|
readonly PROVIDER_ERROR: "AUTH_MIDDLEWARE-005";
|
|
32
32
|
readonly CONFIGURATION_ERROR: "AUTH_MIDDLEWARE-006";
|
|
33
33
|
};
|
|
34
|
-
create: (code: "
|
|
34
|
+
create: (code: "UNAUTHORIZED" | "INVALID_TOKEN" | "MISSING_TOKEN" | "PROVIDER_ERROR" | "CONFIGURATION_ERROR" | "FORBIDDEN", message: string, options?: {
|
|
35
35
|
retryable?: boolean;
|
|
36
36
|
details?: Record<string, unknown>;
|
|
37
37
|
cause?: Error;
|
|
@@ -336,7 +336,7 @@ export class SessionManager {
|
|
|
336
336
|
*/
|
|
337
337
|
async createSession(user, metadata) {
|
|
338
338
|
return withSpan({
|
|
339
|
-
name: "
|
|
339
|
+
name: "auth.session.create",
|
|
340
340
|
tracer: tracers.auth,
|
|
341
341
|
attributes: {
|
|
342
342
|
"auth.user_id": maskId(user.id),
|
|
@@ -369,7 +369,7 @@ export class SessionManager {
|
|
|
369
369
|
*/
|
|
370
370
|
async getSession(sessionId, autoRefresh = this.config.autoRefresh) {
|
|
371
371
|
return withSpan({
|
|
372
|
-
name: "
|
|
372
|
+
name: "auth.session.get",
|
|
373
373
|
tracer: tracers.auth,
|
|
374
374
|
attributes: {
|
|
375
375
|
"auth.session_id": maskId(sessionId),
|
|
@@ -408,7 +408,7 @@ export class SessionManager {
|
|
|
408
408
|
*/
|
|
409
409
|
async refreshSession(sessionId) {
|
|
410
410
|
return withSpan({
|
|
411
|
-
name: "
|
|
411
|
+
name: "auth.session.refresh",
|
|
412
412
|
tracer: tracers.auth,
|
|
413
413
|
attributes: { "auth.session_id": maskId(sessionId) },
|
|
414
414
|
}, async (span) => {
|
|
@@ -450,7 +450,7 @@ export class SessionManager {
|
|
|
450
450
|
*/
|
|
451
451
|
async validateSession(sessionId) {
|
|
452
452
|
return withSpan({
|
|
453
|
-
name: "
|
|
453
|
+
name: "auth.session.validate",
|
|
454
454
|
tracer: tracers.auth,
|
|
455
455
|
attributes: { "auth.session_id": maskId(sessionId) },
|
|
456
456
|
}, async (span) => {
|
package/dist/auth/tokenStore.js
CHANGED
|
@@ -110,7 +110,7 @@ export class TokenStore {
|
|
|
110
110
|
*/
|
|
111
111
|
async saveTokens(provider, tokens) {
|
|
112
112
|
return withSpan({
|
|
113
|
-
name: "
|
|
113
|
+
name: "auth.token.save",
|
|
114
114
|
tracer: tracers.auth,
|
|
115
115
|
attributes: {
|
|
116
116
|
"auth.provider": provider,
|
|
@@ -200,7 +200,7 @@ export class TokenStore {
|
|
|
200
200
|
*/
|
|
201
201
|
async loadTokens(provider) {
|
|
202
202
|
return withSpan({
|
|
203
|
-
name: "
|
|
203
|
+
name: "auth.token.load",
|
|
204
204
|
tracer: tracers.auth,
|
|
205
205
|
attributes: { "auth.provider": provider },
|
|
206
206
|
}, async (span) => {
|
|
@@ -294,7 +294,7 @@ export class TokenStore {
|
|
|
294
294
|
*/
|
|
295
295
|
async clearTokens(provider) {
|
|
296
296
|
return withSpan({
|
|
297
|
-
name: "
|
|
297
|
+
name: "auth.token.clear",
|
|
298
298
|
tracer: tracers.auth,
|
|
299
299
|
attributes: { "auth.provider": provider },
|
|
300
300
|
}, async () => this._clearTokensImpl(provider));
|
|
@@ -358,7 +358,7 @@ export class TokenStore {
|
|
|
358
358
|
*/
|
|
359
359
|
async getValidToken(provider) {
|
|
360
360
|
return withSpan({
|
|
361
|
-
name: "
|
|
361
|
+
name: "auth.token.get_valid",
|
|
362
362
|
tracer: tracers.auth,
|
|
363
363
|
attributes: { "auth.provider": provider },
|
|
364
364
|
}, async (span) => this._getValidTokenImpl(provider, span));
|