@sentry/core 10.38.0 → 10.39.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 (122) hide show
  1. package/build/cjs/client.js +9 -6
  2. package/build/cjs/client.js.map +1 -1
  3. package/build/cjs/index.js +4 -0
  4. package/build/cjs/index.js.map +1 -1
  5. package/build/cjs/integrations/mcp-server/correlation.js +54 -10
  6. package/build/cjs/integrations/mcp-server/correlation.js.map +1 -1
  7. package/build/cjs/integrations/mcp-server/sessionManagement.js +50 -16
  8. package/build/cjs/integrations/mcp-server/sessionManagement.js.map +1 -1
  9. package/build/cjs/metrics/public-api.js +3 -3
  10. package/build/cjs/metrics/public-api.js.map +1 -1
  11. package/build/cjs/scope.js +1 -1
  12. package/build/cjs/scope.js.map +1 -1
  13. package/build/cjs/tracing/ai/gen-ai-attributes.js +6 -0
  14. package/build/cjs/tracing/ai/gen-ai-attributes.js.map +1 -1
  15. package/build/cjs/tracing/openai/index.js +134 -51
  16. package/build/cjs/tracing/openai/index.js.map +1 -1
  17. package/build/cjs/tracing/vercel-ai/constants.js +4 -0
  18. package/build/cjs/tracing/vercel-ai/constants.js.map +1 -1
  19. package/build/cjs/tracing/vercel-ai/index.js +13 -0
  20. package/build/cjs/tracing/vercel-ai/index.js.map +1 -1
  21. package/build/cjs/tracing/vercel-ai/utils.js +71 -22
  22. package/build/cjs/tracing/vercel-ai/utils.js.map +1 -1
  23. package/build/cjs/transports/base.js +18 -2
  24. package/build/cjs/transports/base.js.map +1 -1
  25. package/build/cjs/transports/offline.js +16 -17
  26. package/build/cjs/transports/offline.js.map +1 -1
  27. package/build/cjs/utils/envToBool.js +32 -0
  28. package/build/cjs/utils/envToBool.js.map +1 -0
  29. package/build/cjs/utils/flushIfServerless.js.map +1 -1
  30. package/build/cjs/utils/prepareEvent.js +6 -1
  31. package/build/cjs/utils/prepareEvent.js.map +1 -1
  32. package/build/cjs/utils/promisebuffer.js +5 -3
  33. package/build/cjs/utils/promisebuffer.js.map +1 -1
  34. package/build/cjs/utils/sdkMetadata.js +7 -11
  35. package/build/cjs/utils/sdkMetadata.js.map +1 -1
  36. package/build/cjs/utils/timer.js +20 -0
  37. package/build/cjs/utils/timer.js.map +1 -0
  38. package/build/cjs/utils/tracePropagationTargets.js +38 -0
  39. package/build/cjs/utils/tracePropagationTargets.js.map +1 -0
  40. package/build/cjs/utils/version.js +1 -1
  41. package/build/esm/client.js +9 -6
  42. package/build/esm/client.js.map +1 -1
  43. package/build/esm/index.js +2 -0
  44. package/build/esm/index.js.map +1 -1
  45. package/build/esm/integrations/mcp-server/correlation.js +54 -10
  46. package/build/esm/integrations/mcp-server/correlation.js.map +1 -1
  47. package/build/esm/integrations/mcp-server/sessionManagement.js +50 -16
  48. package/build/esm/integrations/mcp-server/sessionManagement.js.map +1 -1
  49. package/build/esm/metrics/public-api.js +3 -3
  50. package/build/esm/metrics/public-api.js.map +1 -1
  51. package/build/esm/package.json +1 -1
  52. package/build/esm/scope.js +1 -1
  53. package/build/esm/scope.js.map +1 -1
  54. package/build/esm/tracing/ai/gen-ai-attributes.js +6 -1
  55. package/build/esm/tracing/ai/gen-ai-attributes.js.map +1 -1
  56. package/build/esm/tracing/openai/index.js +134 -51
  57. package/build/esm/tracing/openai/index.js.map +1 -1
  58. package/build/esm/tracing/vercel-ai/constants.js +4 -1
  59. package/build/esm/tracing/vercel-ai/constants.js.map +1 -1
  60. package/build/esm/tracing/vercel-ai/index.js +14 -1
  61. package/build/esm/tracing/vercel-ai/index.js.map +1 -1
  62. package/build/esm/tracing/vercel-ai/utils.js +73 -24
  63. package/build/esm/tracing/vercel-ai/utils.js.map +1 -1
  64. package/build/esm/transports/base.js +18 -2
  65. package/build/esm/transports/base.js.map +1 -1
  66. package/build/esm/transports/offline.js +16 -17
  67. package/build/esm/transports/offline.js.map +1 -1
  68. package/build/esm/utils/envToBool.js +28 -0
  69. package/build/esm/utils/envToBool.js.map +1 -0
  70. package/build/esm/utils/flushIfServerless.js.map +1 -1
  71. package/build/esm/utils/prepareEvent.js +6 -1
  72. package/build/esm/utils/prepareEvent.js.map +1 -1
  73. package/build/esm/utils/promisebuffer.js +5 -3
  74. package/build/esm/utils/promisebuffer.js.map +1 -1
  75. package/build/esm/utils/sdkMetadata.js +7 -11
  76. package/build/esm/utils/sdkMetadata.js.map +1 -1
  77. package/build/esm/utils/timer.js +18 -0
  78. package/build/esm/utils/timer.js.map +1 -0
  79. package/build/esm/utils/tracePropagationTargets.js +36 -0
  80. package/build/esm/utils/tracePropagationTargets.js.map +1 -0
  81. package/build/esm/utils/version.js +1 -1
  82. package/build/types/client.d.ts.map +1 -1
  83. package/build/types/index.d.ts +2 -0
  84. package/build/types/index.d.ts.map +1 -1
  85. package/build/types/integrations/mcp-server/correlation.d.ts +6 -2
  86. package/build/types/integrations/mcp-server/correlation.d.ts.map +1 -1
  87. package/build/types/integrations/mcp-server/sessionManagement.d.ts +8 -2
  88. package/build/types/integrations/mcp-server/sessionManagement.d.ts.map +1 -1
  89. package/build/types/metrics/public-api.d.ts +3 -3
  90. package/build/types/tracing/ai/gen-ai-attributes.d.ts +4 -0
  91. package/build/types/tracing/ai/gen-ai-attributes.d.ts.map +1 -1
  92. package/build/types/tracing/openai/index.d.ts.map +1 -1
  93. package/build/types/tracing/vercel-ai/constants.d.ts +1 -0
  94. package/build/types/tracing/vercel-ai/constants.d.ts.map +1 -1
  95. package/build/types/tracing/vercel-ai/index.d.ts.map +1 -1
  96. package/build/types/tracing/vercel-ai/utils.d.ts +2 -2
  97. package/build/types/tracing/vercel-ai/utils.d.ts.map +1 -1
  98. package/build/types/transports/base.d.ts.map +1 -1
  99. package/build/types/transports/offline.d.ts.map +1 -1
  100. package/build/types/types-hoist/feedback/index.d.ts.map +1 -1
  101. package/build/types/types-hoist/options.d.ts.map +1 -1
  102. package/build/types/utils/envToBool.d.ts +13 -0
  103. package/build/types/utils/envToBool.d.ts.map +1 -0
  104. package/build/types/utils/flushIfServerless.d.ts.map +1 -1
  105. package/build/types/utils/prepareEvent.d.ts.map +1 -1
  106. package/build/types/utils/promisebuffer.d.ts.map +1 -1
  107. package/build/types/utils/sdkMetadata.d.ts.map +1 -1
  108. package/build/types/utils/timer.d.ts +11 -0
  109. package/build/types/utils/timer.d.ts.map +1 -0
  110. package/build/types/utils/tracePropagationTargets.d.ts +9 -0
  111. package/build/types/utils/tracePropagationTargets.d.ts.map +1 -0
  112. package/build/types-ts3.8/index.d.ts +2 -0
  113. package/build/types-ts3.8/integrations/mcp-server/correlation.d.ts +6 -2
  114. package/build/types-ts3.8/integrations/mcp-server/sessionManagement.d.ts +8 -2
  115. package/build/types-ts3.8/metrics/public-api.d.ts +3 -3
  116. package/build/types-ts3.8/tracing/ai/gen-ai-attributes.d.ts +4 -0
  117. package/build/types-ts3.8/tracing/vercel-ai/constants.d.ts +1 -0
  118. package/build/types-ts3.8/tracing/vercel-ai/utils.d.ts +2 -2
  119. package/build/types-ts3.8/utils/envToBool.d.ts +13 -0
  120. package/build/types-ts3.8/utils/timer.d.ts +11 -0
  121. package/build/types-ts3.8/utils/tracePropagationTargets.d.ts +9 -0
  122. package/package.json +1 -1
@@ -2,8 +2,12 @@
2
2
  * Request-span correlation system for MCP server instrumentation
3
3
  *
4
4
  * Handles mapping requestId to span data for correlation with handler execution.
5
- * Uses WeakMap to scope correlation maps per transport instance, preventing
6
- * request ID collisions between different MCP sessions.
5
+ *
6
+ * Uses sessionId as the primary key for stateful transports. This handles the wrapper
7
+ * transport pattern (e.g., NodeStreamableHTTPServerTransport wrapping WebStandardStreamableHTTPServerTransport)
8
+ * where onmessage and send may receive different `this` values but share the same sessionId.
9
+ *
10
+ * Falls back to WeakMap by transport instance for stateless transports (no sessionId).
7
11
  */
8
12
  import { Span } from '../../types-hoist/span';
9
13
  import { MCPTransport, RequestId, ResolvedMcpOptions } from './types';
@@ -1,15 +1,21 @@
1
1
  /**
2
2
  * Session data management for MCP server instrumentation
3
+ *
4
+ * Uses sessionId as the primary key for stateful transports. This handles the wrapper
5
+ * transport pattern (e.g., NodeStreamableHTTPServerTransport wrapping WebStandardStreamableHTTPServerTransport)
6
+ * where different methods may receive different `this` values but share the same sessionId.
7
+ *
8
+ * Falls back to WeakMap by transport instance for stateless transports (no sessionId).
3
9
  */
4
10
  import { MCPTransport, PartyInfo, SessionData } from './types';
5
11
  /**
6
- * Stores session data for a transport with sessionId
12
+ * Stores session data for a transport
7
13
  * @param transport - MCP transport instance
8
14
  * @param sessionData - Session data to store
9
15
  */
10
16
  export declare function storeSessionDataForTransport(transport: MCPTransport, sessionData: SessionData): void;
11
17
  /**
12
- * Updates session data for a transport with sessionId (merges with existing data)
18
+ * Updates session data for a transport (merges with existing data)
13
19
  * @param transport - MCP transport instance
14
20
  * @param partialSessionData - Partial session data to merge with existing data
15
21
  */
@@ -18,7 +18,7 @@ export interface MetricOptions {
18
18
  scope?: Scope;
19
19
  }
20
20
  /**
21
- * @summary Increment a counter metric. Requires the `_experiments.enableMetrics` option to be enabled.
21
+ * @summary Increment a counter metric.
22
22
  *
23
23
  * @param name - The name of the counter metric.
24
24
  * @param value - The value to increment by (defaults to 1).
@@ -49,7 +49,7 @@ export interface MetricOptions {
49
49
  */
50
50
  export declare function count(name: string, value?: number, options?: MetricOptions): void;
51
51
  /**
52
- * @summary Set a gauge metric to a specific value. Requires the `_experiments.enableMetrics` option to be enabled.
52
+ * @summary Set a gauge metric to a specific value.
53
53
  *
54
54
  * @param name - The name of the gauge metric.
55
55
  * @param value - The current value of the gauge.
@@ -80,7 +80,7 @@ export declare function count(name: string, value?: number, options?: MetricOpti
80
80
  */
81
81
  export declare function gauge(name: string, value: number, options?: MetricOptions): void;
82
82
  /**
83
- * @summary Record a value in a distribution metric. Requires the `_experiments.enableMetrics` option to be enabled.
83
+ * @summary Record a value in a distribution metric.
84
84
  *
85
85
  * @param name - The name of the distribution metric.
86
86
  * @param value - The value to record in the distribution.
@@ -186,6 +186,10 @@ export declare const GEN_AI_EMBED_DO_EMBED_OPERATION_ATTRIBUTE = "gen_ai.embed";
186
186
  * The span operation name for embedding many
187
187
  */
188
188
  export declare const GEN_AI_EMBED_MANY_DO_EMBED_OPERATION_ATTRIBUTE = "gen_ai.embed_many";
189
+ /**
190
+ * The span operation name for reranking
191
+ */
192
+ export declare const GEN_AI_RERANK_DO_RERANK_OPERATION_ATTRIBUTE = "gen_ai.rerank";
189
193
  /**
190
194
  * The span operation name for executing a tool
191
195
  */
@@ -3,4 +3,5 @@ export declare const toolCallSpanMap: Map<string, Span>;
3
3
  export declare const INVOKE_AGENT_OPS: Set<string>;
4
4
  export declare const GENERATE_CONTENT_OPS: Set<string>;
5
5
  export declare const EMBEDDINGS_OPS: Set<string>;
6
+ export declare const RERANK_OPS: Set<string>;
6
7
  //# sourceMappingURL=constants.d.ts.map
@@ -26,9 +26,9 @@ export declare function _INTERNAL_cleanupToolCallSpan(toolCallId: string): void;
26
26
  */
27
27
  export declare function convertAvailableToolsToJsonString(tools: unknown[]): string;
28
28
  /**
29
- * Convert the prompt string to messages array
29
+ * Normalize the user input (stringified object with prompt, system, messages) to messages array
30
30
  */
31
- export declare function convertPromptToMessages(prompt: string): {
31
+ export declare function convertUserInputToMessagesFormat(userInput: string): {
32
32
  role: string;
33
33
  content: string;
34
34
  }[];
@@ -0,0 +1,13 @@
1
+ export declare const FALSY_ENV_VALUES: Set<string>;
2
+ export declare const TRUTHY_ENV_VALUES: Set<string>;
3
+ export type StrictBoolCast = {
4
+ strict: true;
5
+ };
6
+ export type LooseBoolCast = {
7
+ strict?: false;
8
+ };
9
+ export type BoolCastOptions = StrictBoolCast | LooseBoolCast;
10
+ export declare function envToBool(value: unknown, options?: LooseBoolCast): boolean;
11
+ export declare function envToBool(value: unknown, options: StrictBoolCast): boolean | null;
12
+ export declare function envToBool(value: unknown, options?: BoolCastOptions): boolean | null;
13
+ //# sourceMappingURL=envToBool.d.ts.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Calls `unref` on a timer, if the method is available on @param timer.
3
+ *
4
+ * `unref()` is used to allow processes to exit immediately, even if the timer
5
+ * is still running and hasn't resolved yet.
6
+ *
7
+ * Use this in places where code can run on browser or server, since browsers
8
+ * do not support `unref`.
9
+ */
10
+ export declare function safeUnref(timer: ReturnType<typeof setTimeout>): ReturnType<typeof setTimeout>;
11
+ //# sourceMappingURL=timer.d.ts.map
@@ -0,0 +1,9 @@
1
+ import { CoreOptions as Options } from '../types-hoist/options';
2
+ import { LRUMap } from './lru';
3
+ /**
4
+ * Check if a given URL should be propagated to or not.
5
+ * If no url is defined, or no trace propagation targets are defined, this will always return `true`.
6
+ * You can also optionally provide a decision map, to cache decisions and avoid repeated regex lookups.
7
+ */
8
+ export declare function shouldPropagateTraceForUrl(url: string | undefined, tracePropagationTargets: Options['tracePropagationTargets'], decisionMap?: LRUMap<string, boolean>): boolean;
9
+ //# sourceMappingURL=tracePropagationTargets.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/core",
3
- "version": "10.38.0",
3
+ "version": "10.39.0",
4
4
  "description": "Base implementation for all Sentry JavaScript SDKs",
5
5
  "repository": "git://github.com/getsentry/sentry-javascript.git",
6
6
  "homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/core",