@juspay/neurolink 12.59.0 → 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 +13 -2
- 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 +41 -63
- package/package.json +5 -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": {
|
|
@@ -476,6 +476,8 @@
|
|
|
476
476
|
"@aws-sdk/types": "^3.862.0",
|
|
477
477
|
"@cfworker/json-schema": "^4.1.1",
|
|
478
478
|
"@google/genai": "^2.23.0",
|
|
479
|
+
"@langfuse/core": "^5.13.1",
|
|
480
|
+
"@langfuse/tracing": "^5.13.1",
|
|
479
481
|
"@modelcontextprotocol/sdk": "^1.31.0",
|
|
480
482
|
"@opentelemetry/api-logs": "^0.214.0",
|
|
481
483
|
"@opentelemetry/context-async-hooks": "^2.6.1",
|
|
@@ -488,6 +490,7 @@
|
|
|
488
490
|
"@opentelemetry/sdk-logs": "^0.214.0",
|
|
489
491
|
"@opentelemetry/sdk-metrics": "^2.6.1",
|
|
490
492
|
"@opentelemetry/sdk-trace-base": "^2.6.0",
|
|
493
|
+
"@opentelemetry/sdk-trace-node": "^2.6.0",
|
|
491
494
|
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
492
495
|
"@types/json-schema": "^7.0.15",
|
|
493
496
|
"@types/ws": "^8.18.1",
|
|
@@ -524,7 +527,6 @@
|
|
|
524
527
|
"peerDependencies": {
|
|
525
528
|
"@juspay/hippocampus": ">=0.2.1",
|
|
526
529
|
"@opentelemetry/api": "^1.9.0",
|
|
527
|
-
"@opentelemetry/sdk-trace-node": "^2.6.0",
|
|
528
530
|
"react": ">=18.0.0",
|
|
529
531
|
"react-dom": ">=18.0.0"
|
|
530
532
|
},
|
|
@@ -551,7 +553,6 @@
|
|
|
551
553
|
"@hono/node-server": "^1.19.15",
|
|
552
554
|
"@koa/cors": "^5.0.0",
|
|
553
555
|
"@koa/router": "^15.3.1",
|
|
554
|
-
"@langfuse/otel": "^5.0.1",
|
|
555
556
|
"@livekit/agents": "^1.4.5",
|
|
556
557
|
"@livekit/agents-plugin-cartesia": "^1.4.5",
|
|
557
558
|
"@livekit/agents-plugin-deepgram": "^1.4.5",
|
|
@@ -588,8 +589,8 @@
|
|
|
588
589
|
"@changesets/cli": "^2.29.8",
|
|
589
590
|
"@electric-sql/pglite": "^0.4.6",
|
|
590
591
|
"@eslint/js": "^10.0.1",
|
|
592
|
+
"@langfuse/otel": "^5.13.1",
|
|
591
593
|
"@opentelemetry/api": "^1.9.0",
|
|
592
|
-
"@opentelemetry/sdk-trace-node": "^2.6.0",
|
|
593
594
|
"@semantic-release/changelog": "^6.0.3",
|
|
594
595
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
595
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
|
-
}
|