@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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@juspay/neurolink",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"packageManager": "pnpm@10.15.1",
|
|
5
5
|
"description": "The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002/call) for routing, tool selection and context budgeting. MCP-native (4 transports), voice TTS/STT/realtime, RAG, agents, memory, compaction, 9 observability exporters. OpenAI · Anthropic · Gemini · Bedrock · Azure · Ollama · TypeSafe Jev and more.",
|
|
6
6
|
"author": {
|
|
@@ -399,6 +399,11 @@
|
|
|
399
399
|
"import": "./dist/voice/index.js",
|
|
400
400
|
"default": "./dist/voice/index.js"
|
|
401
401
|
},
|
|
402
|
+
"./voice/endpointer": {
|
|
403
|
+
"types": "./dist/voice/streaming/endpointer.d.ts",
|
|
404
|
+
"import": "./dist/voice/streaming/endpointer.js",
|
|
405
|
+
"default": "./dist/voice/streaming/endpointer.js"
|
|
406
|
+
},
|
|
402
407
|
"./music": {
|
|
403
408
|
"types": "./dist/music/index.d.ts",
|
|
404
409
|
"import": "./dist/music/index.js",
|
|
@@ -471,6 +476,8 @@
|
|
|
471
476
|
"@aws-sdk/types": "^3.862.0",
|
|
472
477
|
"@cfworker/json-schema": "^4.1.1",
|
|
473
478
|
"@google/genai": "^2.23.0",
|
|
479
|
+
"@langfuse/core": "^5.13.1",
|
|
480
|
+
"@langfuse/tracing": "^5.13.1",
|
|
474
481
|
"@modelcontextprotocol/sdk": "^1.31.0",
|
|
475
482
|
"@opentelemetry/api-logs": "^0.214.0",
|
|
476
483
|
"@opentelemetry/context-async-hooks": "^2.6.1",
|
|
@@ -483,6 +490,7 @@
|
|
|
483
490
|
"@opentelemetry/sdk-logs": "^0.214.0",
|
|
484
491
|
"@opentelemetry/sdk-metrics": "^2.6.1",
|
|
485
492
|
"@opentelemetry/sdk-trace-base": "^2.6.0",
|
|
493
|
+
"@opentelemetry/sdk-trace-node": "^2.6.0",
|
|
486
494
|
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
487
495
|
"@types/json-schema": "^7.0.15",
|
|
488
496
|
"@types/ws": "^8.18.1",
|
|
@@ -519,7 +527,6 @@
|
|
|
519
527
|
"peerDependencies": {
|
|
520
528
|
"@juspay/hippocampus": ">=0.2.1",
|
|
521
529
|
"@opentelemetry/api": "^1.9.0",
|
|
522
|
-
"@opentelemetry/sdk-trace-node": "^2.6.0",
|
|
523
530
|
"react": ">=18.0.0",
|
|
524
531
|
"react-dom": ">=18.0.0"
|
|
525
532
|
},
|
|
@@ -546,7 +553,6 @@
|
|
|
546
553
|
"@hono/node-server": "^1.19.15",
|
|
547
554
|
"@koa/cors": "^5.0.0",
|
|
548
555
|
"@koa/router": "^15.3.1",
|
|
549
|
-
"@langfuse/otel": "^5.0.1",
|
|
550
556
|
"@livekit/agents": "^1.4.5",
|
|
551
557
|
"@livekit/agents-plugin-cartesia": "^1.4.5",
|
|
552
558
|
"@livekit/agents-plugin-deepgram": "^1.4.5",
|
|
@@ -583,8 +589,8 @@
|
|
|
583
589
|
"@changesets/cli": "^2.29.8",
|
|
584
590
|
"@electric-sql/pglite": "^0.4.6",
|
|
585
591
|
"@eslint/js": "^10.0.1",
|
|
592
|
+
"@langfuse/otel": "^5.13.1",
|
|
586
593
|
"@opentelemetry/api": "^1.9.0",
|
|
587
|
-
"@opentelemetry/sdk-trace-node": "^2.6.0",
|
|
588
594
|
"@semantic-release/changelog": "^6.0.3",
|
|
589
595
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
590
596
|
"@semantic-release/github": "^12.0.6",
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type { HealthMetrics } from "../types/index.js";
|
|
2
|
-
export declare class TelemetryService {
|
|
3
|
-
private static instance;
|
|
4
|
-
private tracerProvider?;
|
|
5
|
-
private enabled;
|
|
6
|
-
private initialized;
|
|
7
|
-
private usingExternalTracerProvider;
|
|
8
|
-
private meter?;
|
|
9
|
-
private tracer?;
|
|
10
|
-
private aiRequestCounter?;
|
|
11
|
-
private aiRequestDuration?;
|
|
12
|
-
private aiTokensUsed?;
|
|
13
|
-
private aiProviderErrors?;
|
|
14
|
-
private aiCostUsd?;
|
|
15
|
-
private mcpToolCalls?;
|
|
16
|
-
private connectionCounter?;
|
|
17
|
-
private responseTimeHistogram?;
|
|
18
|
-
private activeConnectionCount;
|
|
19
|
-
private errorCount;
|
|
20
|
-
private requestCount;
|
|
21
|
-
private totalResponseTime;
|
|
22
|
-
private responseTimeCount;
|
|
23
|
-
private static readonly MAX_PENDING_CALLS;
|
|
24
|
-
private pendingCalls;
|
|
25
|
-
private isReady;
|
|
26
|
-
private droppedPendingCallWarned;
|
|
27
|
-
/** The in-flight (or already-settled) async init. Never rejects — see
|
|
28
|
-
* initializeTelemetry()'s catch block, which always resolves normally.
|
|
29
|
-
* `initialize()`/`shutdown()` await it so they don't race construction. */
|
|
30
|
-
private readyPromise?;
|
|
31
|
-
private constructor();
|
|
32
|
-
static getInstance(): TelemetryService;
|
|
33
|
-
private isTelemetryEnabled;
|
|
34
|
-
private hasExternalTracerProvider;
|
|
35
|
-
private adoptExternalTracerProvider;
|
|
36
|
-
private initializeTelemetry;
|
|
37
|
-
private initializeMetrics;
|
|
38
|
-
private bufferPendingCall;
|
|
39
|
-
/** Instruments now exist — drain anything buffered while we waited, in
|
|
40
|
-
* order, then flip fully sync for every call after this one. */
|
|
41
|
-
private markReady;
|
|
42
|
-
private discardPendingCalls;
|
|
43
|
-
initialize(): Promise<void>;
|
|
44
|
-
/**
|
|
45
|
-
* @deprecated Vercel AI SDK's experimental_telemetry creates ai.generateText/ai.streamText
|
|
46
|
-
* spans automatically via OpenTelemetry. Using this method would create duplicate spans.
|
|
47
|
-
* Kept for potential future use with non-Vercel providers (e.g., Amazon Bedrock).
|
|
48
|
-
* See: TelemetryHandler.getTelemetryConfig() for the active telemetry path.
|
|
49
|
-
*/
|
|
50
|
-
traceAIRequest<T>(provider: string, operation: () => Promise<T>, operationType?: string): Promise<T>;
|
|
51
|
-
recordAIRequest(provider: string, model: string, tokens: number, duration: number, cost?: number): void;
|
|
52
|
-
private emitAIRequest;
|
|
53
|
-
recordAIError(provider: string, error: Error): void;
|
|
54
|
-
private emitAIError;
|
|
55
|
-
recordMCPToolCall(toolName: string, duration: number, success: boolean): void;
|
|
56
|
-
private emitMCPToolCall;
|
|
57
|
-
recordConnection(type: "websocket" | "sse" | "http"): void;
|
|
58
|
-
private emitConnection;
|
|
59
|
-
recordConnectionClosed(type: "websocket" | "sse" | "http"): void;
|
|
60
|
-
private emitConnectionClosed;
|
|
61
|
-
recordResponseTime(endpoint: string, method: string, duration: number): void;
|
|
62
|
-
private emitResponseTime;
|
|
63
|
-
recordCustomMetric(name: string, value: number, labels?: Record<string, string>): void;
|
|
64
|
-
private emitCustomMetric;
|
|
65
|
-
recordCustomHistogram(name: string, value: number, labels?: Record<string, string>): void;
|
|
66
|
-
private emitCustomHistogram;
|
|
67
|
-
getHealthMetrics(): Promise<HealthMetrics>;
|
|
68
|
-
isEnabled(): boolean;
|
|
69
|
-
getStatus(): {
|
|
70
|
-
enabled: boolean;
|
|
71
|
-
initialized: boolean;
|
|
72
|
-
endpoint?: string;
|
|
73
|
-
service?: string;
|
|
74
|
-
version?: string;
|
|
75
|
-
};
|
|
76
|
-
private getDurationBucket;
|
|
77
|
-
private getStatusBucket;
|
|
78
|
-
shutdown(): Promise<void>;
|
|
79
|
-
}
|