@brizz/sdk 0.1.1 → 0.1.2-rc.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 (136) hide show
  1. package/README.md +339 -19
  2. package/dist/index.cjs +2937 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +178 -0
  5. package/dist/index.d.ts +177 -12
  6. package/dist/index.js +2895 -26
  7. package/dist/index.js.map +1 -1
  8. package/dist/loader.mjs +72 -0
  9. package/dist/preload.cjs +2787 -0
  10. package/dist/preload.cjs.map +1 -0
  11. package/dist/preload.d.cts +2 -0
  12. package/dist/preload.d.ts +2 -0
  13. package/dist/preload.js +2777 -0
  14. package/dist/preload.js.map +1 -0
  15. package/package.json +48 -35
  16. package/dist/index.d.ts.map +0 -1
  17. package/dist/internal/config.d.ts +0 -17
  18. package/dist/internal/config.d.ts.map +0 -1
  19. package/dist/internal/config.js +0 -94
  20. package/dist/internal/config.js.map +0 -1
  21. package/dist/internal/instrumentation/auto-init.d.ts +0 -3
  22. package/dist/internal/instrumentation/auto-init.d.ts.map +0 -1
  23. package/dist/internal/instrumentation/auto-init.js +0 -87
  24. package/dist/internal/instrumentation/auto-init.js.map +0 -1
  25. package/dist/internal/instrumentation/index.d.ts +0 -2
  26. package/dist/internal/instrumentation/index.d.ts.map +0 -1
  27. package/dist/internal/instrumentation/index.js +0 -6
  28. package/dist/internal/instrumentation/index.js.map +0 -1
  29. package/dist/internal/instrumentation/registry.d.ts +0 -30
  30. package/dist/internal/instrumentation/registry.d.ts.map +0 -1
  31. package/dist/internal/instrumentation/registry.js +0 -94
  32. package/dist/internal/instrumentation/registry.js.map +0 -1
  33. package/dist/internal/instrumentation/vercel-ai/index.d.ts +0 -4
  34. package/dist/internal/instrumentation/vercel-ai/index.d.ts.map +0 -1
  35. package/dist/internal/instrumentation/vercel-ai/index.js +0 -8
  36. package/dist/internal/instrumentation/vercel-ai/index.js.map +0 -1
  37. package/dist/internal/instrumentation/vercel-ai/instrumentation.d.ts +0 -16
  38. package/dist/internal/instrumentation/vercel-ai/instrumentation.d.ts.map +0 -1
  39. package/dist/internal/instrumentation/vercel-ai/instrumentation.js +0 -119
  40. package/dist/internal/instrumentation/vercel-ai/instrumentation.js.map +0 -1
  41. package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.d.ts +0 -24
  42. package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.d.ts.map +0 -1
  43. package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.js +0 -57
  44. package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.js.map +0 -1
  45. package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.d.ts +0 -16
  46. package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.d.ts.map +0 -1
  47. package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.js +0 -58
  48. package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.js.map +0 -1
  49. package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.d.ts +0 -8
  50. package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.d.ts.map +0 -1
  51. package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.js +0 -59
  52. package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.js.map +0 -1
  53. package/dist/internal/instrumentation/vercel-ai/patchers/index.d.ts +0 -5
  54. package/dist/internal/instrumentation/vercel-ai/patchers/index.d.ts.map +0 -1
  55. package/dist/internal/instrumentation/vercel-ai/patchers/index.js +0 -12
  56. package/dist/internal/instrumentation/vercel-ai/patchers/index.js.map +0 -1
  57. package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.d.ts +0 -12
  58. package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.d.ts.map +0 -1
  59. package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.js +0 -41
  60. package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.js.map +0 -1
  61. package/dist/internal/instrumentation/vercel-ai/semconv.d.ts +0 -53
  62. package/dist/internal/instrumentation/vercel-ai/semconv.d.ts.map +0 -1
  63. package/dist/internal/instrumentation/vercel-ai/semconv.js +0 -57
  64. package/dist/internal/instrumentation/vercel-ai/semconv.js.map +0 -1
  65. package/dist/internal/instrumentation/vercel-ai/stream-handler.d.ts +0 -13
  66. package/dist/internal/instrumentation/vercel-ai/stream-handler.d.ts.map +0 -1
  67. package/dist/internal/instrumentation/vercel-ai/stream-handler.js +0 -101
  68. package/dist/internal/instrumentation/vercel-ai/stream-handler.js.map +0 -1
  69. package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.d.ts +0 -13
  70. package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.d.ts.map +0 -1
  71. package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.js +0 -115
  72. package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.js.map +0 -1
  73. package/dist/internal/instrumentation/vercel-ai/types.d.ts +0 -197
  74. package/dist/internal/instrumentation/vercel-ai/types.d.ts.map +0 -1
  75. package/dist/internal/instrumentation/vercel-ai/types.js +0 -3
  76. package/dist/internal/instrumentation/vercel-ai/types.js.map +0 -1
  77. package/dist/internal/instrumentation/vercel-ai/utils.d.ts +0 -14
  78. package/dist/internal/instrumentation/vercel-ai/utils.d.ts.map +0 -1
  79. package/dist/internal/instrumentation/vercel-ai/utils.js +0 -243
  80. package/dist/internal/instrumentation/vercel-ai/utils.js.map +0 -1
  81. package/dist/internal/log/index.d.ts +0 -2
  82. package/dist/internal/log/index.d.ts.map +0 -1
  83. package/dist/internal/log/index.js +0 -7
  84. package/dist/internal/log/index.js.map +0 -1
  85. package/dist/internal/log/logging.d.ts +0 -21
  86. package/dist/internal/log/logging.d.ts.map +0 -1
  87. package/dist/internal/log/logging.js +0 -154
  88. package/dist/internal/log/logging.js.map +0 -1
  89. package/dist/internal/logger.d.ts +0 -23
  90. package/dist/internal/logger.d.ts.map +0 -1
  91. package/dist/internal/logger.js +0 -163
  92. package/dist/internal/logger.js.map +0 -1
  93. package/dist/internal/masking/index.d.ts +0 -4
  94. package/dist/internal/masking/index.d.ts.map +0 -1
  95. package/dist/internal/masking/index.js +0 -9
  96. package/dist/internal/masking/index.js.map +0 -1
  97. package/dist/internal/masking/patterns.d.ts +0 -3
  98. package/dist/internal/masking/patterns.d.ts.map +0 -1
  99. package/dist/internal/masking/patterns.js +0 -378
  100. package/dist/internal/masking/patterns.js.map +0 -1
  101. package/dist/internal/masking/types.d.ts +0 -33
  102. package/dist/internal/masking/types.d.ts.map +0 -1
  103. package/dist/internal/masking/types.js +0 -3
  104. package/dist/internal/masking/types.js.map +0 -1
  105. package/dist/internal/masking/utils.d.ts +0 -6
  106. package/dist/internal/masking/utils.d.ts.map +0 -1
  107. package/dist/internal/masking/utils.js +0 -232
  108. package/dist/internal/masking/utils.js.map +0 -1
  109. package/dist/internal/metric/index.d.ts +0 -2
  110. package/dist/internal/metric/index.d.ts.map +0 -1
  111. package/dist/internal/metric/index.js +0 -8
  112. package/dist/internal/metric/index.js.map +0 -1
  113. package/dist/internal/metric/metrics.d.ts +0 -18
  114. package/dist/internal/metric/metrics.d.ts.map +0 -1
  115. package/dist/internal/metric/metrics.js +0 -88
  116. package/dist/internal/metric/metrics.js.map +0 -1
  117. package/dist/internal/sdk.d.ts +0 -36
  118. package/dist/internal/sdk.d.ts.map +0 -1
  119. package/dist/internal/sdk.js +0 -159
  120. package/dist/internal/sdk.js.map +0 -1
  121. package/dist/internal/trace/index.d.ts +0 -3
  122. package/dist/internal/trace/index.d.ts.map +0 -1
  123. package/dist/internal/trace/index.js +0 -11
  124. package/dist/internal/trace/index.js.map +0 -1
  125. package/dist/internal/trace/processors/log-masked.d.ts +0 -16
  126. package/dist/internal/trace/processors/log-masked.d.ts.map +0 -1
  127. package/dist/internal/trace/processors/log-masked.js +0 -81
  128. package/dist/internal/trace/processors/log-masked.js.map +0 -1
  129. package/dist/internal/trace/processors/span-masked.d.ts +0 -16
  130. package/dist/internal/trace/processors/span-masked.d.ts.map +0 -1
  131. package/dist/internal/trace/processors/span-masked.js +0 -87
  132. package/dist/internal/trace/processors/span-masked.js.map +0 -1
  133. package/dist/internal/trace/tracing.d.ts +0 -18
  134. package/dist/internal/trace/tracing.d.ts.map +0 -1
  135. package/dist/internal/trace/tracing.js +0 -103
  136. package/dist/internal/trace/tracing.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-patcher.js","sourceRoot":"","sources":["../../../../../src/internal/instrumentation/vercel-ai/patchers/base-patcher.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import type { EmbeddingResult } from '../types';
2
- import { BasePatcher } from './base-patcher';
3
- interface IEmbeddingParams {
4
- value?: string;
5
- values?: string[];
6
- model?: string | {
7
- [key: string]: unknown;
8
- };
9
- [key: string]: unknown;
10
- }
11
- type OriginalEmbedFunction = (params: IEmbeddingParams) => Promise<EmbeddingResult>;
12
- export declare class EmbeddingsPatcher extends BasePatcher {
13
- patch(original: OriginalEmbedFunction, isMany?: boolean): OriginalEmbedFunction;
14
- }
15
- export {};
16
- //# sourceMappingURL=embeddings-patcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embeddings-patcher.d.ts","sourceRoot":"","sources":["../../../../../src/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAkC,MAAM,UAAU,CAAC;AAGhF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,KAAK,qBAAqB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AASpF,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,KAAK,CAAC,QAAQ,EAAE,qBAAqB,EAAE,MAAM,GAAE,OAAe,GAAG,qBAAqB;CAiEvF"}
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EmbeddingsPatcher = void 0;
4
- const api_1 = require("@opentelemetry/api");
5
- const semconv_1 = require("../semconv");
6
- const utils_1 = require("../utils");
7
- const base_patcher_1 = require("./base-patcher");
8
- class EmbeddingsPatcher extends base_patcher_1.BasePatcher {
9
- patch(original, isMany = false) {
10
- return async (params) => {
11
- const config = this.context.getConfig();
12
- const startTime = globalThis.performance.now();
13
- const additionalAttributes = isMany
14
- ? { 'gen_ai.embeddings.count': params.values ? params.values.length : 0 }
15
- : {};
16
- const { span, provider, modelId } = this.createSpan(semconv_1.SPAN_NAME_GEN_AI_EMBEDDINGS, params, semconv_1.OPERATION_NAME_EMBEDDINGS, additionalAttributes);
17
- if (!isMany && config.captureMessageContent && params.value) {
18
- span.setAttribute('gen_ai.prompt.0.content', params.value);
19
- }
20
- try {
21
- const result = await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), () => original(params));
22
- if (result.response) {
23
- span.setAttributes({
24
- ...(result.response.id && { [semconv_1.ATTR_GEN_AI_RESPONSE_ID]: result.response.id }),
25
- ...(result.response.model && { [semconv_1.ATTR_GEN_AI_RESPONSE_MODEL]: result.response.model }),
26
- });
27
- }
28
- if (isMany) {
29
- if (result.embeddings && result.embeddings.length > 0 && result.embeddings[0]) {
30
- span.setAttribute('gen_ai.response.embedding_dimensions', result.embeddings[0].length);
31
- }
32
- }
33
- else {
34
- if (result.embedding) {
35
- span.setAttribute('gen_ai.response.embedding_dimensions', result.embedding.length);
36
- }
37
- }
38
- if (result.usage) {
39
- span.setAttributes((0, utils_1.tokenUsageToAttributes)(result.usage));
40
- if (config.enableMetrics) {
41
- this.context.recordTokenMetrics(result.usage, provider.system, modelId);
42
- }
43
- }
44
- span.setStatus({ code: api_1.SpanStatusCode.OK });
45
- return result;
46
- }
47
- catch (error) {
48
- this.handleError(error, span);
49
- throw error;
50
- }
51
- finally {
52
- this.finalizeDuration(span, startTime, config, provider, modelId, semconv_1.OPERATION_NAME_EMBEDDINGS);
53
- }
54
- };
55
- }
56
- }
57
- exports.EmbeddingsPatcher = EmbeddingsPatcher;
58
- //# sourceMappingURL=embeddings-patcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embeddings-patcher.js","sourceRoot":"","sources":["../../../../../src/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AAGpE,wCAKoB;AAEpB,oCAAkD;AAElD,iDAA6C;AAmB7C,MAAa,iBAAkB,SAAQ,0BAAW;IAChD,KAAK,CAAC,QAA+B,EAAE,SAAkB,KAAK;QAC5D,OAAO,KAAK,EAAE,MAAwB,EAA4B,EAAE;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YAE/C,MAAM,oBAAoB,GAAG,MAAM;gBACjC,CAAC,CAAC,EAAE,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBACzE,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CACjD,qCAA2B,EAC3B,MAA0B,EAC1B,mCAAyB,EACzB,oBAAoB,CACA,CAAC;YAGvB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC5D,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,aAAO,CAAC,IAAI,CAAC,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAC5E,QAAQ,CAAC,MAAM,CAAC,CACjB,CAAC;gBAGF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,IAAI,CAAC,aAAa,CAAC;wBACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,iCAAuB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBAC5E,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,oCAA0B,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;qBACtF,CAAC,CAAC;gBACL,CAAC;gBAGD,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9E,IAAI,CAAC,YAAY,CAAC,sCAAsC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACzF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACrB,IAAI,CAAC,YAAY,CAAC,sCAAsC,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACrF,CAAC;gBACH,CAAC;gBAGD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,IAAI,CAAC,aAAa,CAAC,IAAA,8BAAsB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAGzD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;wBACzB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,mCAAyB,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAlED,8CAkEC"}
@@ -1,8 +0,0 @@
1
- import type { GenerationParams, TextGenerationResult } from '../types';
2
- import { BasePatcher } from './base-patcher';
3
- type OriginalGenerateTextFunction = (params: GenerationParams) => Promise<TextGenerationResult>;
4
- export declare class GenerateTextPatcher extends BasePatcher {
5
- patch(original: OriginalGenerateTextFunction): OriginalGenerateTextFunction;
6
- }
7
- export {};
8
- //# sourceMappingURL=generate-text-patcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-text-patcher.d.ts","sourceRoot":"","sources":["../../../../../src/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAgB,MAAM,UAAU,CAAC;AAGrF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,KAAK,4BAA4B,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAShG,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,KAAK,CAAC,QAAQ,EAAE,4BAA4B,GAAG,4BAA4B;CAoF5E"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GenerateTextPatcher = void 0;
4
- const api_1 = require("@opentelemetry/api");
5
- const semconv_1 = require("../semconv");
6
- const utils_1 = require("../utils");
7
- const base_patcher_1 = require("./base-patcher");
8
- class GenerateTextPatcher extends base_patcher_1.BasePatcher {
9
- patch(original) {
10
- return async (params) => {
11
- const config = this.context.getConfig();
12
- const startTime = globalThis.performance.now();
13
- const { span, provider, modelId } = this.createSpan(semconv_1.SPAN_NAME_GEN_AI_CHAT, params, semconv_1.OPERATION_NAME_CHAT);
14
- if (params.prompt) {
15
- span.setAttributes((0, utils_1.promptToAttributes)(params.prompt, config.captureMessageContent || false));
16
- }
17
- else if (params.messages) {
18
- span.setAttributes((0, utils_1.messagesToAttributes)(params.messages, 'gen_ai.prompt', config.captureMessageContent || false));
19
- if (config.emitEvents) {
20
- this.context.emitMessageEvents(params.messages, provider.system, span);
21
- }
22
- }
23
- try {
24
- const result = await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), () => original(params));
25
- if (result.response) {
26
- span.setAttributes({
27
- ...(result.response.id && { [semconv_1.ATTR_GEN_AI_RESPONSE_ID]: result.response.id }),
28
- ...(result.response.model && { [semconv_1.ATTR_GEN_AI_RESPONSE_MODEL]: result.response.model }),
29
- });
30
- }
31
- if (result.finishReason) {
32
- span.setAttribute(semconv_1.ATTR_GEN_AI_RESPONSE_FINISH_REASONS, [result.finishReason]);
33
- }
34
- span.setAttributes((0, utils_1.completionToAttributes)(result.text, result.finishReason, config.captureMessageContent || false));
35
- const usage = result.usage || result.totalUsage || result.steps?.[0]?.usage;
36
- if (usage) {
37
- span.setAttributes((0, utils_1.tokenUsageToAttributes)(usage));
38
- if (config.enableMetrics) {
39
- this.context.recordTokenMetrics(usage, provider.system, modelId);
40
- }
41
- }
42
- if (config.emitEvents) {
43
- this.context.emitAssistantMessageEvent(result.text, provider.system, span);
44
- }
45
- span.setStatus({ code: api_1.SpanStatusCode.OK });
46
- return result;
47
- }
48
- catch (error) {
49
- this.handleError(error, span);
50
- throw error;
51
- }
52
- finally {
53
- this.finalizeDuration(span, startTime, config, provider, modelId, semconv_1.OPERATION_NAME_CHAT);
54
- }
55
- };
56
- }
57
- }
58
- exports.GenerateTextPatcher = GenerateTextPatcher;
59
- //# sourceMappingURL=generate-text-patcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-text-patcher.js","sourceRoot":"","sources":["../../../../../src/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export { BasePatcher, type PatcherContext } from './base-patcher';
2
- export { GenerateTextPatcher } from './generate-text-patcher';
3
- export { StreamTextPatcher } from './stream-text-patcher';
4
- export { EmbeddingsPatcher } from './embeddings-patcher';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/instrumentation/vercel-ai/patchers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EmbeddingsPatcher = exports.StreamTextPatcher = exports.GenerateTextPatcher = exports.BasePatcher = void 0;
4
- var base_patcher_1 = require("./base-patcher");
5
- Object.defineProperty(exports, "BasePatcher", { enumerable: true, get: function () { return base_patcher_1.BasePatcher; } });
6
- var generate_text_patcher_1 = require("./generate-text-patcher");
7
- Object.defineProperty(exports, "GenerateTextPatcher", { enumerable: true, get: function () { return generate_text_patcher_1.GenerateTextPatcher; } });
8
- var stream_text_patcher_1 = require("./stream-text-patcher");
9
- Object.defineProperty(exports, "StreamTextPatcher", { enumerable: true, get: function () { return stream_text_patcher_1.StreamTextPatcher; } });
10
- var embeddings_patcher_1 = require("./embeddings-patcher");
11
- Object.defineProperty(exports, "EmbeddingsPatcher", { enumerable: true, get: function () { return embeddings_patcher_1.EmbeddingsPatcher; } });
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/instrumentation/vercel-ai/patchers/index.ts"],"names":[],"mappings":";;;AAAA,+CAAkE;AAAzD,2GAAA,WAAW,OAAA;AACpB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA"}
@@ -1,12 +0,0 @@
1
- import type { StreamHandler } from '../stream-handler';
2
- import type { GenerationParams } from '../types';
3
- import { BasePatcher } from './base-patcher';
4
- import type { PatcherContext } from './base-patcher';
5
- type OriginalStreamTextFunction = (params: GenerationParams) => Promise<unknown>;
6
- export declare class StreamTextPatcher extends BasePatcher {
7
- private streamHandler;
8
- constructor(context: PatcherContext, streamHandler: StreamHandler);
9
- patch(original: OriginalStreamTextFunction): OriginalStreamTextFunction;
10
- }
11
- export {};
12
- //# sourceMappingURL=stream-text-patcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-text-patcher.d.ts","sourceRoot":"","sources":["../../../../../src/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,UAAU,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,KAAK,0BAA0B,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAUjF,qBAAa,iBAAkB,SAAQ,WAAW;IAG9C,OAAO,CAAC,aAAa;gBADrB,OAAO,EAAE,cAAc,EACf,aAAa,EAAE,aAAa;IAKtC,KAAK,CAAC,QAAQ,EAAE,0BAA0B,GAAG,0BAA0B;CA8CxE"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StreamTextPatcher = void 0;
4
- const api_1 = require("@opentelemetry/api");
5
- const semconv_1 = require("../semconv");
6
- const utils_1 = require("../utils");
7
- const base_patcher_1 = require("./base-patcher");
8
- class StreamTextPatcher extends base_patcher_1.BasePatcher {
9
- streamHandler;
10
- constructor(context, streamHandler) {
11
- super(context);
12
- this.streamHandler = streamHandler;
13
- }
14
- patch(original) {
15
- return async (params) => {
16
- const config = this.context.getConfig();
17
- const startTime = globalThis.performance.now();
18
- const { span, provider, modelId } = this.createSpan(semconv_1.SPAN_NAME_GEN_AI_CHAT, params, semconv_1.OPERATION_NAME_CHAT, { 'gen_ai.streaming': true });
19
- if (params.prompt) {
20
- span.setAttributes((0, utils_1.promptToAttributes)(params.prompt, config.captureMessageContent || false));
21
- }
22
- else if (params.messages) {
23
- span.setAttributes((0, utils_1.messagesToAttributes)(params.messages, 'gen_ai.prompt', config.captureMessageContent || false));
24
- if (config.emitEvents) {
25
- this.context.emitMessageEvents(params.messages, provider.system, span);
26
- }
27
- }
28
- try {
29
- const stream = await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), () => original(params));
30
- return this.streamHandler.wrapStream(stream, span, config, provider, modelId, startTime);
31
- }
32
- catch (error) {
33
- this.handleError(error, span);
34
- span.end();
35
- throw error;
36
- }
37
- };
38
- }
39
- }
40
- exports.StreamTextPatcher = StreamTextPatcher;
41
- //# sourceMappingURL=stream-text-patcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-text-patcher.js","sourceRoot":"","sources":["../../../../../src/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.ts"],"names":[],"mappings":";;;AAAA,4CAAoD;AAGpD,wCAGoB;AAGpB,oCAAoE;AAEpE,iDAA6C;AAc7C,MAAa,iBAAkB,SAAQ,0BAAW;IAGtC;IAFV,YACE,OAAuB,EACf,aAA4B;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFP,kBAAa,GAAb,aAAa,CAAe;IAGtC,CAAC;IAED,KAAK,CAAC,QAAoC;QACxC,OAAO,KAAK,EAAE,MAAwB,EAAoB,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YAE/C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CACjD,+BAAqB,EACrB,MAAM,EACN,6BAAmB,EACnB,EAAE,kBAAkB,EAAE,IAAI,EAAE,CACR,CAAC;YAGvB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,aAAa,CAChB,IAAA,0BAAkB,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB,IAAI,KAAK,CAAC,CACzE,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAChB,IAAA,4BAAoB,EAClB,MAAM,CAAC,QAAQ,EACf,eAAe,EACf,MAAM,CAAC,qBAAqB,IAAI,KAAK,CACtC,CACF,CAAC;gBAGF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,aAAO,CAAC,IAAI,CAAC,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAC5E,QAAQ,CAAC,MAAM,CAAC,CACjB,CAAC;gBAGF,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAtDD,8CAsDC"}
@@ -1,53 +0,0 @@
1
- export declare const ATTR_GEN_AI_SYSTEM: "gen_ai.system";
2
- export declare const ATTR_GEN_AI_OPERATION_NAME: "gen_ai.operation.name";
3
- export declare const ATTR_GEN_AI_REQUEST_MODEL: "gen_ai.request.model";
4
- export declare const ATTR_GEN_AI_REQUEST_MAX_TOKENS: "gen_ai.request.max_tokens";
5
- export declare const ATTR_GEN_AI_REQUEST_TEMPERATURE: "gen_ai.request.temperature";
6
- export declare const ATTR_GEN_AI_REQUEST_TOP_P: "gen_ai.request.top_p";
7
- export declare const ATTR_GEN_AI_REQUEST_TOP_K: "gen_ai.request.top_k";
8
- export declare const ATTR_GEN_AI_REQUEST_STOP_SEQUENCES: "gen_ai.request.stop_sequences";
9
- export declare const ATTR_GEN_AI_REQUEST_FREQUENCY_PENALTY: "gen_ai.request.frequency_penalty";
10
- export declare const ATTR_GEN_AI_REQUEST_PRESENCE_PENALTY: "gen_ai.request.presence_penalty";
11
- export declare const ATTR_GEN_AI_REQUEST_ENCODING_FORMATS: "gen_ai.request.encoding_formats";
12
- export declare const ATTR_GEN_AI_RESPONSE_ID: "gen_ai.response.id";
13
- export declare const ATTR_GEN_AI_RESPONSE_MODEL: "gen_ai.response.model";
14
- export declare const ATTR_GEN_AI_RESPONSE_FINISH_REASONS: "gen_ai.response.finish_reasons";
15
- export declare const ATTR_GEN_AI_USAGE_PROMPT_TOKENS: "gen_ai.usage.prompt_tokens";
16
- export declare const ATTR_GEN_AI_USAGE_COMPLETION_TOKENS: "gen_ai.usage.completion_tokens";
17
- export declare const ATTR_GEN_AI_USAGE_TOTAL_TOKENS: "gen_ai.usage.total_tokens";
18
- export declare const ATTR_GEN_AI_USAGE_INPUT_TOKENS: "gen_ai.usage.input_tokens";
19
- export declare const ATTR_GEN_AI_USAGE_OUTPUT_TOKENS: "gen_ai.usage.output_tokens";
20
- export declare const ATTR_GEN_AI_TOKEN_TYPE: "gen_ai.token.type";
21
- export declare const ATTR_GEN_AI_PROMPT: "gen_ai.prompt";
22
- export declare const ATTR_GEN_AI_COMPLETION: "gen_ai.completion";
23
- export declare const ATTR_GEN_AI_OPENAI_API_BASE: "gen_ai.openai.api_base";
24
- export declare const ATTR_GEN_AI_OPENAI_API_TYPE: "gen_ai.openai.api_type";
25
- export declare const ATTR_GEN_AI_OPENAI_API_VERSION: "gen_ai.openai.api_version";
26
- export declare const ATTR_EVENT_NAME: "event.name";
27
- export declare const EVENT_GEN_AI_USER_MESSAGE: "gen_ai.user.message";
28
- export declare const EVENT_GEN_AI_ASSISTANT_MESSAGE: "gen_ai.assistant.message";
29
- export declare const EVENT_GEN_AI_SYSTEM_MESSAGE: "gen_ai.system.message";
30
- export declare const EVENT_GEN_AI_TOOL_MESSAGE: "gen_ai.tool.message";
31
- export declare const EVENT_GEN_AI_CHOICE: "gen_ai.choice";
32
- export declare const METRIC_GEN_AI_CLIENT_OPERATION_DURATION: "gen_ai.client.operation.duration";
33
- export declare const METRIC_GEN_AI_CLIENT_TOKEN_USAGE: "gen_ai.client.token.usage";
34
- export declare const OPERATION_NAME_CHAT: "chat";
35
- export declare const OPERATION_NAME_EMBEDDINGS: "embeddings";
36
- export declare const OPERATION_NAME_IMAGE_GENERATION: "image_generation";
37
- export declare const OPERATION_NAME_SPEECH_SYNTHESIS: "speech_synthesis";
38
- export declare const OPERATION_NAME_TRANSCRIPTION: "transcription";
39
- export declare const TOKEN_TYPE_INPUT: "input";
40
- export declare const TOKEN_TYPE_OUTPUT: "output";
41
- export declare const PROVIDER_OPENAI: "openai";
42
- export declare const PROVIDER_ANTHROPIC: "anthropic";
43
- export declare const PROVIDER_GOOGLE: "google";
44
- export declare const PROVIDER_AMAZON: "amazon";
45
- export declare const PROVIDER_AZURE: "azure";
46
- export declare const PROVIDER_VERCEL: "vercel";
47
- export declare const PROVIDER_UNKNOWN: "unknown";
48
- export declare const SPAN_NAME_GEN_AI_CHAT: "gen_ai.chat";
49
- export declare const SPAN_NAME_GEN_AI_EMBEDDINGS: "gen_ai.embeddings";
50
- export declare const SPAN_NAME_GEN_AI_IMAGE_GENERATION: "gen_ai.image_generation";
51
- export declare const SPAN_NAME_GEN_AI_SPEECH_SYNTHESIS: "gen_ai.speech_synthesis";
52
- export declare const SPAN_NAME_GEN_AI_TRANSCRIPTION: "gen_ai.transcription";
53
- //# sourceMappingURL=semconv.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semconv.d.ts","sourceRoot":"","sources":["../../../../src/internal/instrumentation/vercel-ai/semconv.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SPAN_NAME_GEN_AI_IMAGE_GENERATION = exports.SPAN_NAME_GEN_AI_EMBEDDINGS = exports.SPAN_NAME_GEN_AI_CHAT = exports.PROVIDER_UNKNOWN = exports.PROVIDER_VERCEL = exports.PROVIDER_AZURE = exports.PROVIDER_AMAZON = exports.PROVIDER_GOOGLE = exports.PROVIDER_ANTHROPIC = exports.PROVIDER_OPENAI = exports.TOKEN_TYPE_OUTPUT = exports.TOKEN_TYPE_INPUT = exports.OPERATION_NAME_TRANSCRIPTION = exports.OPERATION_NAME_SPEECH_SYNTHESIS = exports.OPERATION_NAME_IMAGE_GENERATION = exports.OPERATION_NAME_EMBEDDINGS = exports.OPERATION_NAME_CHAT = exports.METRIC_GEN_AI_CLIENT_TOKEN_USAGE = exports.METRIC_GEN_AI_CLIENT_OPERATION_DURATION = exports.EVENT_GEN_AI_CHOICE = exports.EVENT_GEN_AI_TOOL_MESSAGE = exports.EVENT_GEN_AI_SYSTEM_MESSAGE = exports.EVENT_GEN_AI_ASSISTANT_MESSAGE = exports.EVENT_GEN_AI_USER_MESSAGE = exports.ATTR_EVENT_NAME = exports.ATTR_GEN_AI_OPENAI_API_VERSION = exports.ATTR_GEN_AI_OPENAI_API_TYPE = exports.ATTR_GEN_AI_OPENAI_API_BASE = exports.ATTR_GEN_AI_COMPLETION = exports.ATTR_GEN_AI_PROMPT = exports.ATTR_GEN_AI_TOKEN_TYPE = exports.ATTR_GEN_AI_USAGE_OUTPUT_TOKENS = exports.ATTR_GEN_AI_USAGE_INPUT_TOKENS = exports.ATTR_GEN_AI_USAGE_TOTAL_TOKENS = exports.ATTR_GEN_AI_USAGE_COMPLETION_TOKENS = exports.ATTR_GEN_AI_USAGE_PROMPT_TOKENS = exports.ATTR_GEN_AI_RESPONSE_FINISH_REASONS = exports.ATTR_GEN_AI_RESPONSE_MODEL = exports.ATTR_GEN_AI_RESPONSE_ID = exports.ATTR_GEN_AI_REQUEST_ENCODING_FORMATS = exports.ATTR_GEN_AI_REQUEST_PRESENCE_PENALTY = exports.ATTR_GEN_AI_REQUEST_FREQUENCY_PENALTY = exports.ATTR_GEN_AI_REQUEST_STOP_SEQUENCES = exports.ATTR_GEN_AI_REQUEST_TOP_K = exports.ATTR_GEN_AI_REQUEST_TOP_P = exports.ATTR_GEN_AI_REQUEST_TEMPERATURE = exports.ATTR_GEN_AI_REQUEST_MAX_TOKENS = exports.ATTR_GEN_AI_REQUEST_MODEL = exports.ATTR_GEN_AI_OPERATION_NAME = exports.ATTR_GEN_AI_SYSTEM = void 0;
4
- exports.SPAN_NAME_GEN_AI_TRANSCRIPTION = exports.SPAN_NAME_GEN_AI_SPEECH_SYNTHESIS = void 0;
5
- exports.ATTR_GEN_AI_SYSTEM = 'gen_ai.system';
6
- exports.ATTR_GEN_AI_OPERATION_NAME = 'gen_ai.operation.name';
7
- exports.ATTR_GEN_AI_REQUEST_MODEL = 'gen_ai.request.model';
8
- exports.ATTR_GEN_AI_REQUEST_MAX_TOKENS = 'gen_ai.request.max_tokens';
9
- exports.ATTR_GEN_AI_REQUEST_TEMPERATURE = 'gen_ai.request.temperature';
10
- exports.ATTR_GEN_AI_REQUEST_TOP_P = 'gen_ai.request.top_p';
11
- exports.ATTR_GEN_AI_REQUEST_TOP_K = 'gen_ai.request.top_k';
12
- exports.ATTR_GEN_AI_REQUEST_STOP_SEQUENCES = 'gen_ai.request.stop_sequences';
13
- exports.ATTR_GEN_AI_REQUEST_FREQUENCY_PENALTY = 'gen_ai.request.frequency_penalty';
14
- exports.ATTR_GEN_AI_REQUEST_PRESENCE_PENALTY = 'gen_ai.request.presence_penalty';
15
- exports.ATTR_GEN_AI_REQUEST_ENCODING_FORMATS = 'gen_ai.request.encoding_formats';
16
- exports.ATTR_GEN_AI_RESPONSE_ID = 'gen_ai.response.id';
17
- exports.ATTR_GEN_AI_RESPONSE_MODEL = 'gen_ai.response.model';
18
- exports.ATTR_GEN_AI_RESPONSE_FINISH_REASONS = 'gen_ai.response.finish_reasons';
19
- exports.ATTR_GEN_AI_USAGE_PROMPT_TOKENS = 'gen_ai.usage.prompt_tokens';
20
- exports.ATTR_GEN_AI_USAGE_COMPLETION_TOKENS = 'gen_ai.usage.completion_tokens';
21
- exports.ATTR_GEN_AI_USAGE_TOTAL_TOKENS = 'gen_ai.usage.total_tokens';
22
- exports.ATTR_GEN_AI_USAGE_INPUT_TOKENS = 'gen_ai.usage.input_tokens';
23
- exports.ATTR_GEN_AI_USAGE_OUTPUT_TOKENS = 'gen_ai.usage.output_tokens';
24
- exports.ATTR_GEN_AI_TOKEN_TYPE = 'gen_ai.token.type';
25
- exports.ATTR_GEN_AI_PROMPT = 'gen_ai.prompt';
26
- exports.ATTR_GEN_AI_COMPLETION = 'gen_ai.completion';
27
- exports.ATTR_GEN_AI_OPENAI_API_BASE = 'gen_ai.openai.api_base';
28
- exports.ATTR_GEN_AI_OPENAI_API_TYPE = 'gen_ai.openai.api_type';
29
- exports.ATTR_GEN_AI_OPENAI_API_VERSION = 'gen_ai.openai.api_version';
30
- exports.ATTR_EVENT_NAME = 'event.name';
31
- exports.EVENT_GEN_AI_USER_MESSAGE = 'gen_ai.user.message';
32
- exports.EVENT_GEN_AI_ASSISTANT_MESSAGE = 'gen_ai.assistant.message';
33
- exports.EVENT_GEN_AI_SYSTEM_MESSAGE = 'gen_ai.system.message';
34
- exports.EVENT_GEN_AI_TOOL_MESSAGE = 'gen_ai.tool.message';
35
- exports.EVENT_GEN_AI_CHOICE = 'gen_ai.choice';
36
- exports.METRIC_GEN_AI_CLIENT_OPERATION_DURATION = 'gen_ai.client.operation.duration';
37
- exports.METRIC_GEN_AI_CLIENT_TOKEN_USAGE = 'gen_ai.client.token.usage';
38
- exports.OPERATION_NAME_CHAT = 'chat';
39
- exports.OPERATION_NAME_EMBEDDINGS = 'embeddings';
40
- exports.OPERATION_NAME_IMAGE_GENERATION = 'image_generation';
41
- exports.OPERATION_NAME_SPEECH_SYNTHESIS = 'speech_synthesis';
42
- exports.OPERATION_NAME_TRANSCRIPTION = 'transcription';
43
- exports.TOKEN_TYPE_INPUT = 'input';
44
- exports.TOKEN_TYPE_OUTPUT = 'output';
45
- exports.PROVIDER_OPENAI = 'openai';
46
- exports.PROVIDER_ANTHROPIC = 'anthropic';
47
- exports.PROVIDER_GOOGLE = 'google';
48
- exports.PROVIDER_AMAZON = 'amazon';
49
- exports.PROVIDER_AZURE = 'azure';
50
- exports.PROVIDER_VERCEL = 'vercel';
51
- exports.PROVIDER_UNKNOWN = 'unknown';
52
- exports.SPAN_NAME_GEN_AI_CHAT = 'gen_ai.chat';
53
- exports.SPAN_NAME_GEN_AI_EMBEDDINGS = 'gen_ai.embeddings';
54
- exports.SPAN_NAME_GEN_AI_IMAGE_GENERATION = 'gen_ai.image_generation';
55
- exports.SPAN_NAME_GEN_AI_SPEECH_SYNTHESIS = 'gen_ai.speech_synthesis';
56
- exports.SPAN_NAME_GEN_AI_TRANSCRIPTION = 'gen_ai.transcription';
57
- //# sourceMappingURL=semconv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semconv.js","sourceRoot":"","sources":["../../../../src/internal/instrumentation/vercel-ai/semconv.ts"],"names":[],"mappings":";;;;AAMa,QAAA,kBAAkB,GAAG,eAAwB,CAAC;AAC9C,QAAA,0BAA0B,GAAG,uBAAgC,CAAC;AAC9D,QAAA,yBAAyB,GAAG,sBAA+B,CAAC;AAC5D,QAAA,8BAA8B,GAAG,2BAAoC,CAAC;AACtE,QAAA,+BAA+B,GAAG,4BAAqC,CAAC;AACxE,QAAA,yBAAyB,GAAG,sBAA+B,CAAC;AAC5D,QAAA,yBAAyB,GAAG,sBAA+B,CAAC;AAC5D,QAAA,kCAAkC,GAAG,+BAAwC,CAAC;AAC9E,QAAA,qCAAqC,GAAG,kCAA2C,CAAC;AACpF,QAAA,oCAAoC,GAAG,iCAA0C,CAAC;AAClF,QAAA,oCAAoC,GAAG,iCAA0C,CAAC;AAGlF,QAAA,uBAAuB,GAAG,oBAA6B,CAAC;AACxD,QAAA,0BAA0B,GAAG,uBAAgC,CAAC;AAC9D,QAAA,mCAAmC,GAAG,gCAAyC,CAAC;AAGhF,QAAA,+BAA+B,GAAG,4BAAqC,CAAC;AACxE,QAAA,mCAAmC,GAAG,gCAAyC,CAAC;AAChF,QAAA,8BAA8B,GAAG,2BAAoC,CAAC;AAGtE,QAAA,8BAA8B,GAAG,2BAAoC,CAAC;AACtE,QAAA,+BAA+B,GAAG,4BAAqC,CAAC;AAGxE,QAAA,sBAAsB,GAAG,mBAA4B,CAAC;AAGtD,QAAA,kBAAkB,GAAG,eAAwB,CAAC;AAC9C,QAAA,sBAAsB,GAAG,mBAA4B,CAAC;AAGtD,QAAA,2BAA2B,GAAG,wBAAiC,CAAC;AAChE,QAAA,2BAA2B,GAAG,wBAAiC,CAAC;AAChE,QAAA,8BAA8B,GAAG,2BAAoC,CAAC;AAGtE,QAAA,eAAe,GAAG,YAAqB,CAAC;AAGxC,QAAA,yBAAyB,GAAG,qBAA8B,CAAC;AAC3D,QAAA,8BAA8B,GAAG,0BAAmC,CAAC;AACrE,QAAA,2BAA2B,GAAG,uBAAgC,CAAC;AAC/D,QAAA,yBAAyB,GAAG,qBAA8B,CAAC;AAC3D,QAAA,mBAAmB,GAAG,eAAwB,CAAC;AAG/C,QAAA,uCAAuC,GAAG,kCAA2C,CAAC;AACtF,QAAA,gCAAgC,GAAG,2BAAoC,CAAC;AAGxE,QAAA,mBAAmB,GAAG,MAAe,CAAC;AACtC,QAAA,yBAAyB,GAAG,YAAqB,CAAC;AAClD,QAAA,+BAA+B,GAAG,kBAA2B,CAAC;AAC9D,QAAA,+BAA+B,GAAG,kBAA2B,CAAC;AAC9D,QAAA,4BAA4B,GAAG,eAAwB,CAAC;AAGxD,QAAA,gBAAgB,GAAG,OAAgB,CAAC;AACpC,QAAA,iBAAiB,GAAG,QAAiB,CAAC;AAGtC,QAAA,eAAe,GAAG,QAAiB,CAAC;AACpC,QAAA,kBAAkB,GAAG,WAAoB,CAAC;AAC1C,QAAA,eAAe,GAAG,QAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,QAAiB,CAAC;AACpC,QAAA,cAAc,GAAG,OAAgB,CAAC;AAClC,QAAA,eAAe,GAAG,QAAiB,CAAC;AACpC,QAAA,gBAAgB,GAAG,SAAkB,CAAC;AAGtC,QAAA,qBAAqB,GAAG,aAAsB,CAAC;AAC/C,QAAA,2BAA2B,GAAG,mBAA4B,CAAC;AAC3D,QAAA,iCAAiC,GAAG,yBAAkC,CAAC;AACvE,QAAA,iCAAiC,GAAG,yBAAkC,CAAC;AACvE,QAAA,8BAA8B,GAAG,sBAA+B,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { Span } from '@opentelemetry/api';
2
- import type { VercelAIInstrumentationConfig } from './types';
3
- export interface StreamHandlerContext {
4
- recordTokenMetrics: (usage: any, system: string, model: string) => void;
5
- recordDurationMetric: (duration: number, system: string, model: string, operation: string) => void;
6
- }
7
- export declare class StreamHandler {
8
- private context;
9
- constructor(context: StreamHandlerContext);
10
- wrapStream(stream: any, span: Span, config: VercelAIInstrumentationConfig, provider: any, modelId: string, startTime: number): any;
11
- private finalizeStream;
12
- }
13
- //# sourceMappingURL=stream-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-handler.d.ts","sourceRoot":"","sources":["../../../../src/internal/instrumentation/vercel-ai/stream-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAQ/C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAG7D,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACpG;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,oBAAoB;IAEjD,UAAU,CACR,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,6BAA6B,EACrC,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM;IA6FnB,OAAO,CAAC,cAAc;CAmDvB"}
@@ -1,101 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StreamHandler = void 0;
4
- const api_1 = require("@opentelemetry/api");
5
- const semconv_1 = require("./semconv");
6
- const utils_1 = require("./utils");
7
- class StreamHandler {
8
- context;
9
- constructor(context) {
10
- this.context = context;
11
- }
12
- wrapStream(stream, span, config, provider, modelId, startTime) {
13
- const self = this;
14
- let fullText = '';
15
- let finishReason;
16
- let usage;
17
- let response;
18
- const wrappedStream = new Proxy(stream, {
19
- get(target, prop) {
20
- if (prop === Symbol.asyncIterator) {
21
- return async function* () {
22
- try {
23
- for await (const chunk of target) {
24
- if (chunk.type === 'text-delta' && chunk.textDelta) {
25
- fullText += chunk.textDelta;
26
- }
27
- else if (chunk.type === 'finish') {
28
- finishReason = chunk.finishReason;
29
- usage = chunk.usage;
30
- }
31
- else if (chunk.type === 'response-metadata') {
32
- response = chunk.response;
33
- }
34
- yield chunk;
35
- }
36
- }
37
- finally {
38
- self.finalizeStream(span, config, provider, modelId, startTime, fullText, finishReason, usage, response);
39
- }
40
- };
41
- }
42
- if (prop === 'textStream' || prop === 'fullStream') {
43
- const originalStream = target[prop];
44
- return {
45
- [Symbol.asyncIterator]: async function* () {
46
- try {
47
- for await (const chunk of originalStream) {
48
- if (prop === 'textStream') {
49
- fullText += chunk;
50
- }
51
- yield chunk;
52
- }
53
- }
54
- finally {
55
- const streamUsage = await target.usage.catch(() => null);
56
- if (streamUsage) {
57
- usage = streamUsage;
58
- }
59
- self.finalizeStream(span, config, provider, modelId, startTime, fullText, finishReason, usage, response);
60
- }
61
- }
62
- };
63
- }
64
- const value = target[prop];
65
- if (typeof value === 'function') {
66
- return value.bind(target);
67
- }
68
- return value;
69
- },
70
- });
71
- return wrappedStream;
72
- }
73
- finalizeStream(span, config, provider, modelId, startTime, fullText, finishReason, usage, response) {
74
- if (response) {
75
- span.setAttributes({
76
- ...(response.id && { [semconv_1.ATTR_GEN_AI_RESPONSE_ID]: response.id }),
77
- ...(response.model && { [semconv_1.ATTR_GEN_AI_RESPONSE_MODEL]: response.model }),
78
- });
79
- }
80
- if (finishReason) {
81
- span.setAttribute(semconv_1.ATTR_GEN_AI_RESPONSE_FINISH_REASONS, [finishReason]);
82
- }
83
- if (fullText) {
84
- span.setAttributes((0, utils_1.completionToAttributes)(fullText, finishReason, config.captureMessageContent || false));
85
- }
86
- if (usage) {
87
- span.setAttributes((0, utils_1.tokenUsageToAttributes)(usage));
88
- if (config.enableMetrics) {
89
- this.context.recordTokenMetrics(usage, provider.system, modelId);
90
- }
91
- }
92
- if (config.enableMetrics) {
93
- const duration = (performance.now() - startTime) / 1000;
94
- this.context.recordDurationMetric(duration, provider.system, modelId, semconv_1.OPERATION_NAME_CHAT);
95
- }
96
- span.setStatus({ code: api_1.SpanStatusCode.OK });
97
- span.end();
98
- }
99
- }
100
- exports.StreamHandler = StreamHandler;
101
- //# sourceMappingURL=stream-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-handler.js","sourceRoot":"","sources":["../../../../src/internal/instrumentation/vercel-ai/stream-handler.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { Span, Histogram } from '@opentelemetry/api';
2
- import type { AIMessage } from './types';
3
- export declare class TelemetryRecorder {
4
- private genaiClientOperationDuration;
5
- private genaiClientTokenUsage;
6
- private logger?;
7
- constructor(genaiClientOperationDuration: Histogram, genaiClientTokenUsage: Histogram, logger?: any | undefined);
8
- recordTokenMetrics(usage: any, system: string, model: string): void;
9
- recordDurationMetric(duration: number, system: string, model: string, operation: string): void;
10
- emitMessageEvents(messages: AIMessage[], system: string, span: Span): void;
11
- emitAssistantMessageEvent(text: string, system: string, span: Span): void;
12
- }
13
- //# sourceMappingURL=telemetry-recorder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telemetry-recorder.d.ts","sourceRoot":"","sources":["../../../../src/internal/instrumentation/vercel-ai/telemetry-recorder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgB1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,4BAA4B;IACpC,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,MAAM,CAAC;gBAFP,4BAA4B,EAAE,SAAS,EACvC,qBAAqB,EAAE,SAAS,EAChC,MAAM,CAAC,EAAE,GAAG,YAAA;IAMtB,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAgCnE,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,IAAI;IAeP,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAoD1E,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;CAqB1E"}