@revenium/openai 1.0.13 → 1.0.15

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 (240) hide show
  1. package/.env.example +10 -15
  2. package/CHANGELOG.md +65 -11
  3. package/CODE_OF_CONDUCT.md +57 -0
  4. package/CONTRIBUTING.md +38 -0
  5. package/README.md +104 -216
  6. package/SECURITY.md +34 -0
  7. package/dist/cjs/core/client/index.js +14 -0
  8. package/dist/cjs/core/client/index.js.map +1 -0
  9. package/dist/cjs/core/client/manager.js +109 -0
  10. package/dist/cjs/core/client/manager.js.map +1 -0
  11. package/dist/cjs/core/config/azure-config.js +5 -17
  12. package/dist/cjs/core/config/azure-config.js.map +1 -1
  13. package/dist/cjs/core/config/index.js +2 -2
  14. package/dist/cjs/core/config/index.js.map +1 -1
  15. package/dist/cjs/core/config/loader.js +34 -14
  16. package/dist/cjs/core/config/loader.js.map +1 -1
  17. package/dist/cjs/core/config/manager.js +11 -5
  18. package/dist/cjs/core/config/manager.js.map +1 -1
  19. package/dist/cjs/core/config/validator.js +3 -45
  20. package/dist/cjs/core/config/validator.js.map +1 -1
  21. package/dist/cjs/core/middleware/index.js +21 -0
  22. package/dist/cjs/core/middleware/index.js.map +1 -0
  23. package/dist/cjs/core/middleware/interfaces.js +454 -0
  24. package/dist/cjs/core/middleware/interfaces.js.map +1 -0
  25. package/dist/cjs/core/middleware/revenium-client.js +152 -0
  26. package/dist/cjs/core/middleware/revenium-client.js.map +1 -0
  27. package/dist/cjs/core/providers/detector.js +45 -23
  28. package/dist/cjs/core/providers/detector.js.map +1 -1
  29. package/dist/cjs/core/providers/index.js +2 -1
  30. package/dist/cjs/core/providers/index.js.map +1 -1
  31. package/dist/cjs/core/tracking/api-client.js +21 -14
  32. package/dist/cjs/core/tracking/api-client.js.map +1 -1
  33. package/dist/cjs/core/tracking/index.js +5 -1
  34. package/dist/cjs/core/tracking/index.js.map +1 -1
  35. package/dist/cjs/core/tracking/payload-builder.js +143 -25
  36. package/dist/cjs/core/tracking/payload-builder.js.map +1 -1
  37. package/dist/cjs/core/tracking/usage-tracker.js +111 -18
  38. package/dist/cjs/core/tracking/usage-tracker.js.map +1 -1
  39. package/dist/cjs/index.js +39 -202
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/cjs/types/index.js +0 -8
  42. package/dist/cjs/types/index.js.map +1 -1
  43. package/dist/cjs/types/openai-augmentation.js +0 -49
  44. package/dist/cjs/types/openai-augmentation.js.map +1 -1
  45. package/dist/cjs/utils/constants.js +17 -20
  46. package/dist/cjs/utils/constants.js.map +1 -1
  47. package/dist/cjs/utils/error-handler.js +18 -14
  48. package/dist/cjs/utils/error-handler.js.map +1 -1
  49. package/dist/cjs/utils/metadata-builder.js +17 -16
  50. package/dist/cjs/utils/metadata-builder.js.map +1 -1
  51. package/dist/cjs/utils/provider-detection.js +25 -28
  52. package/dist/cjs/utils/provider-detection.js.map +1 -1
  53. package/dist/cjs/utils/trace-fields.js +115 -0
  54. package/dist/cjs/utils/trace-fields.js.map +1 -0
  55. package/dist/esm/core/client/index.js +6 -0
  56. package/dist/esm/core/client/index.js.map +1 -0
  57. package/dist/esm/core/client/manager.js +102 -0
  58. package/dist/esm/core/client/manager.js.map +1 -0
  59. package/dist/esm/core/config/azure-config.js +6 -18
  60. package/dist/esm/core/config/azure-config.js.map +1 -1
  61. package/dist/esm/core/config/index.js +5 -4
  62. package/dist/esm/core/config/index.js.map +1 -1
  63. package/dist/esm/core/config/loader.js +33 -13
  64. package/dist/esm/core/config/loader.js.map +1 -1
  65. package/dist/esm/core/config/manager.js +13 -7
  66. package/dist/esm/core/config/manager.js.map +1 -1
  67. package/dist/esm/core/config/validator.js +3 -44
  68. package/dist/esm/core/config/validator.js.map +1 -1
  69. package/dist/esm/core/middleware/index.js +8 -0
  70. package/dist/esm/core/middleware/index.js.map +1 -0
  71. package/dist/esm/core/middleware/interfaces.js +442 -0
  72. package/dist/esm/core/middleware/interfaces.js.map +1 -0
  73. package/dist/esm/core/middleware/revenium-client.js +115 -0
  74. package/dist/esm/core/middleware/revenium-client.js.map +1 -0
  75. package/dist/esm/core/providers/detector.js +43 -22
  76. package/dist/esm/core/providers/detector.js.map +1 -1
  77. package/dist/esm/core/providers/index.js +2 -2
  78. package/dist/esm/core/providers/index.js.map +1 -1
  79. package/dist/esm/core/tracking/api-client.js +20 -13
  80. package/dist/esm/core/tracking/api-client.js.map +1 -1
  81. package/dist/esm/core/tracking/index.js +4 -4
  82. package/dist/esm/core/tracking/index.js.map +1 -1
  83. package/dist/esm/core/tracking/payload-builder.js +142 -26
  84. package/dist/esm/core/tracking/payload-builder.js.map +1 -1
  85. package/dist/esm/core/tracking/usage-tracker.js +78 -20
  86. package/dist/esm/core/tracking/usage-tracker.js.map +1 -1
  87. package/dist/esm/index.js +9 -177
  88. package/dist/esm/index.js.map +1 -1
  89. package/dist/esm/types/index.js +2 -10
  90. package/dist/esm/types/index.js.map +1 -1
  91. package/dist/esm/types/openai-augmentation.js +0 -49
  92. package/dist/esm/types/openai-augmentation.js.map +1 -1
  93. package/dist/esm/utils/constants.js +16 -19
  94. package/dist/esm/utils/constants.js.map +1 -1
  95. package/dist/esm/utils/error-handler.js +19 -15
  96. package/dist/esm/utils/error-handler.js.map +1 -1
  97. package/dist/esm/utils/metadata-builder.js +17 -16
  98. package/dist/esm/utils/metadata-builder.js.map +1 -1
  99. package/dist/esm/utils/provider-detection.js +26 -29
  100. package/dist/esm/utils/provider-detection.js.map +1 -1
  101. package/dist/esm/utils/trace-fields.js +100 -0
  102. package/dist/esm/utils/trace-fields.js.map +1 -0
  103. package/dist/types/core/client/index.d.ts +6 -0
  104. package/dist/types/core/client/index.d.ts.map +1 -0
  105. package/dist/types/core/client/manager.d.ts +32 -0
  106. package/dist/types/core/client/manager.d.ts.map +1 -0
  107. package/dist/types/core/config/azure-config.d.ts +2 -2
  108. package/dist/types/core/config/azure-config.d.ts.map +1 -1
  109. package/dist/types/core/config/index.d.ts +4 -4
  110. package/dist/types/core/config/index.d.ts.map +1 -1
  111. package/dist/types/core/config/loader.d.ts +3 -1
  112. package/dist/types/core/config/loader.d.ts.map +1 -1
  113. package/dist/types/core/config/manager.d.ts +1 -1
  114. package/dist/types/core/config/manager.d.ts.map +1 -1
  115. package/dist/types/core/config/validator.d.ts +1 -12
  116. package/dist/types/core/config/validator.d.ts.map +1 -1
  117. package/dist/types/core/middleware/index.d.ts +8 -0
  118. package/dist/types/core/middleware/index.d.ts.map +1 -0
  119. package/dist/types/core/middleware/interfaces.d.ts +104 -0
  120. package/dist/types/core/middleware/interfaces.d.ts.map +1 -0
  121. package/dist/types/core/middleware/revenium-client.d.ts +64 -0
  122. package/dist/types/core/middleware/revenium-client.d.ts.map +1 -0
  123. package/dist/types/core/providers/detector.d.ts +9 -2
  124. package/dist/types/core/providers/detector.d.ts.map +1 -1
  125. package/dist/types/core/providers/index.d.ts +2 -2
  126. package/dist/types/core/providers/index.d.ts.map +1 -1
  127. package/dist/types/core/tracking/api-client.d.ts +1 -1
  128. package/dist/types/core/tracking/api-client.d.ts.map +1 -1
  129. package/dist/types/core/tracking/index.d.ts +4 -4
  130. package/dist/types/core/tracking/index.d.ts.map +1 -1
  131. package/dist/types/core/tracking/payload-builder.d.ts +5 -3
  132. package/dist/types/core/tracking/payload-builder.d.ts.map +1 -1
  133. package/dist/types/core/tracking/usage-tracker.d.ts +4 -2
  134. package/dist/types/core/tracking/usage-tracker.d.ts.map +1 -1
  135. package/dist/types/index.d.ts +11 -135
  136. package/dist/types/index.d.ts.map +1 -1
  137. package/dist/types/types/function-parameters.d.ts +91 -23
  138. package/dist/types/types/function-parameters.d.ts.map +1 -1
  139. package/dist/types/types/index.d.ts +53 -108
  140. package/dist/types/types/index.d.ts.map +1 -1
  141. package/dist/types/types/openai-augmentation.d.ts +4 -138
  142. package/dist/types/types/openai-augmentation.d.ts.map +1 -1
  143. package/dist/types/utils/constants.d.ts +7 -1
  144. package/dist/types/utils/constants.d.ts.map +1 -1
  145. package/dist/types/utils/error-handler.d.ts +2 -2
  146. package/dist/types/utils/error-handler.d.ts.map +1 -1
  147. package/dist/types/utils/metadata-builder.d.ts +2 -2
  148. package/dist/types/utils/metadata-builder.d.ts.map +1 -1
  149. package/dist/types/utils/provider-detection.d.ts +3 -3
  150. package/dist/types/utils/provider-detection.d.ts.map +1 -1
  151. package/dist/types/utils/trace-fields.d.ts +11 -0
  152. package/dist/types/utils/trace-fields.d.ts.map +1 -0
  153. package/examples/README.md +282 -198
  154. package/examples/azure/basic.ts +62 -0
  155. package/examples/azure/responses-basic.ts +45 -0
  156. package/examples/azure/responses-stream.ts +61 -0
  157. package/examples/azure/stream.ts +56 -0
  158. package/examples/getting_started.ts +31 -43
  159. package/examples/openai/basic.ts +45 -0
  160. package/examples/openai/metadata.ts +67 -0
  161. package/examples/openai/responses-basic.ts +44 -0
  162. package/examples/openai/responses-embed.ts +34 -0
  163. package/examples/openai/responses-streaming.ts +63 -0
  164. package/examples/openai/streaming.ts +59 -0
  165. package/package.json +23 -13
  166. package/dist/cjs/core/wrapper/index.js +0 -15
  167. package/dist/cjs/core/wrapper/index.js.map +0 -1
  168. package/dist/cjs/core/wrapper/instance-patcher.js +0 -202
  169. package/dist/cjs/core/wrapper/instance-patcher.js.map +0 -1
  170. package/dist/cjs/core/wrapper/request-handler.js +0 -317
  171. package/dist/cjs/core/wrapper/request-handler.js.map +0 -1
  172. package/dist/cjs/core/wrapper/stream-wrapper.js +0 -82
  173. package/dist/cjs/core/wrapper/stream-wrapper.js.map +0 -1
  174. package/dist/cjs/utils/azure-model-resolver.js +0 -211
  175. package/dist/cjs/utils/azure-model-resolver.js.map +0 -1
  176. package/dist/cjs/utils/request-handler-factory.js +0 -185
  177. package/dist/cjs/utils/request-handler-factory.js.map +0 -1
  178. package/dist/esm/core/wrapper/index.js +0 -9
  179. package/dist/esm/core/wrapper/index.js.map +0 -1
  180. package/dist/esm/core/wrapper/instance-patcher.js +0 -199
  181. package/dist/esm/core/wrapper/instance-patcher.js.map +0 -1
  182. package/dist/esm/core/wrapper/request-handler.js +0 -310
  183. package/dist/esm/core/wrapper/request-handler.js.map +0 -1
  184. package/dist/esm/core/wrapper/stream-wrapper.js +0 -79
  185. package/dist/esm/core/wrapper/stream-wrapper.js.map +0 -1
  186. package/dist/esm/utils/azure-model-resolver.js +0 -204
  187. package/dist/esm/utils/azure-model-resolver.js.map +0 -1
  188. package/dist/esm/utils/request-handler-factory.js +0 -146
  189. package/dist/esm/utils/request-handler-factory.js.map +0 -1
  190. package/dist/types/core/wrapper/index.d.ts +0 -8
  191. package/dist/types/core/wrapper/index.d.ts.map +0 -1
  192. package/dist/types/core/wrapper/instance-patcher.d.ts +0 -33
  193. package/dist/types/core/wrapper/instance-patcher.d.ts.map +0 -1
  194. package/dist/types/core/wrapper/request-handler.d.ts +0 -29
  195. package/dist/types/core/wrapper/request-handler.d.ts.map +0 -1
  196. package/dist/types/core/wrapper/stream-wrapper.d.ts +0 -13
  197. package/dist/types/core/wrapper/stream-wrapper.d.ts.map +0 -1
  198. package/dist/types/utils/azure-model-resolver.d.ts +0 -41
  199. package/dist/types/utils/azure-model-resolver.d.ts.map +0 -1
  200. package/dist/types/utils/request-handler-factory.d.ts +0 -81
  201. package/dist/types/utils/request-handler-factory.d.ts.map +0 -1
  202. package/examples/azure-basic.ts +0 -206
  203. package/examples/azure-responses-basic.ts +0 -233
  204. package/examples/azure-responses-streaming.ts +0 -255
  205. package/examples/azure-streaming.ts +0 -209
  206. package/examples/openai-basic.ts +0 -147
  207. package/examples/openai-function-calling.ts +0 -259
  208. package/examples/openai-responses-basic.ts +0 -212
  209. package/examples/openai-responses-streaming.ts +0 -232
  210. package/examples/openai-streaming.ts +0 -172
  211. package/examples/openai-vision.ts +0 -289
  212. package/src/core/config/azure-config.ts +0 -72
  213. package/src/core/config/index.ts +0 -23
  214. package/src/core/config/loader.ts +0 -66
  215. package/src/core/config/manager.ts +0 -95
  216. package/src/core/config/validator.ts +0 -89
  217. package/src/core/providers/detector.ts +0 -159
  218. package/src/core/providers/index.ts +0 -16
  219. package/src/core/tracking/api-client.ts +0 -78
  220. package/src/core/tracking/index.ts +0 -21
  221. package/src/core/tracking/payload-builder.ts +0 -137
  222. package/src/core/tracking/usage-tracker.ts +0 -189
  223. package/src/core/wrapper/index.ts +0 -9
  224. package/src/core/wrapper/instance-patcher.ts +0 -288
  225. package/src/core/wrapper/request-handler.ts +0 -423
  226. package/src/core/wrapper/stream-wrapper.ts +0 -100
  227. package/src/index.ts +0 -360
  228. package/src/types/function-parameters.ts +0 -251
  229. package/src/types/index.ts +0 -310
  230. package/src/types/openai-augmentation.ts +0 -232
  231. package/src/types/responses-api.ts +0 -308
  232. package/src/utils/azure-model-resolver.ts +0 -220
  233. package/src/utils/constants.ts +0 -21
  234. package/src/utils/error-handler.ts +0 -251
  235. package/src/utils/metadata-builder.ts +0 -228
  236. package/src/utils/provider-detection.ts +0 -257
  237. package/src/utils/request-handler-factory.ts +0 -285
  238. package/src/utils/stop-reason-mapper.ts +0 -78
  239. package/src/utils/type-guards.ts +0 -202
  240. package/src/utils/url-builder.ts +0 -68
@@ -5,28 +5,63 @@
5
5
  * High-level tracking functions that combine payload building and API communication.
6
6
  * Extracted from tracking.ts for better organization.
7
7
  */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
8
41
  Object.defineProperty(exports, "__esModule", { value: true });
9
42
  exports.sendReveniumMetrics = sendReveniumMetrics;
10
43
  exports.sendReveniumEmbeddingsMetrics = sendReveniumEmbeddingsMetrics;
11
44
  exports.trackUsageAsync = trackUsageAsync;
12
45
  exports.trackEmbeddingsUsageAsync = trackEmbeddingsUsageAsync;
13
- const index_js_1 = require("../config/index.js");
46
+ exports.trackImageUsageAsync = trackImageUsageAsync;
47
+ exports.trackAudioUsageAsync = trackAudioUsageAsync;
48
+ const config_1 = require("../config");
14
49
  const api_client_js_1 = require("./api-client.js");
15
50
  const payload_builder_js_1 = require("./payload-builder.js");
16
51
  const error_handler_js_1 = require("../../utils/error-handler.js");
17
52
  // Global logger
18
- const logger = (0, index_js_1.getLogger)();
53
+ const logger = (0, config_1.getLogger)();
19
54
  /**
20
55
  * Chat completions tracking - now a thin wrapper with Azure support
21
56
  */
22
57
  async function sendReveniumMetrics(response, request, startTime, duration, providerInfo) {
23
58
  await (0, error_handler_js_1.safeAsyncOperation)(async () => {
24
- const payload = (0, payload_builder_js_1.buildPayload)('CHAT', response, request, startTime, duration, providerInfo);
59
+ const payload = (0, payload_builder_js_1.buildPayload)("CHAT", response, request, startTime, duration, providerInfo);
25
60
  await (0, api_client_js_1.sendToRevenium)(payload);
26
- }, 'Chat completion tracking', {
61
+ }, "Chat completion tracking", {
27
62
  logError: true,
28
63
  rethrow: false, // Don't rethrow to maintain fire-and-forget behavior
29
- messagePrefix: 'Chat completion tracking failed: ',
64
+ messagePrefix: "Chat completion tracking failed: ",
30
65
  }, logger);
31
66
  }
32
67
  /**
@@ -34,12 +69,12 @@ async function sendReveniumMetrics(response, request, startTime, duration, provi
34
69
  */
35
70
  async function sendReveniumEmbeddingsMetrics(response, request, startTime, duration, providerInfo) {
36
71
  await (0, error_handler_js_1.safeAsyncOperation)(async () => {
37
- const payload = (0, payload_builder_js_1.buildPayload)('EMBED', response, request, startTime, duration, providerInfo);
72
+ const payload = (0, payload_builder_js_1.buildPayload)("EMBED", response, request, startTime, duration, providerInfo);
38
73
  await (0, api_client_js_1.sendToRevenium)(payload);
39
- }, 'Embeddings tracking', {
74
+ }, "Embeddings tracking", {
40
75
  logError: true,
41
76
  rethrow: false, // Don't rethrow to maintain fire-and-forget behavior
42
- messagePrefix: 'Embeddings tracking failed: ',
77
+ messagePrefix: "Embeddings tracking failed: ",
43
78
  }, logger);
44
79
  }
45
80
  /**
@@ -53,8 +88,12 @@ function trackUsageAsync(trackingData) {
53
88
  prompt_tokens: trackingData.promptTokens,
54
89
  completion_tokens: trackingData.completionTokens,
55
90
  total_tokens: trackingData.totalTokens,
56
- ...(trackingData.reasoningTokens && { reasoning_tokens: trackingData.reasoningTokens }),
57
- ...(trackingData.cachedTokens && { cached_tokens: trackingData.cachedTokens }),
91
+ ...(trackingData.reasoningTokens && {
92
+ reasoning_tokens: trackingData.reasoningTokens,
93
+ }),
94
+ ...(trackingData.cachedTokens && {
95
+ cached_tokens: trackingData.cachedTokens,
96
+ }),
58
97
  },
59
98
  choices: [
60
99
  {
@@ -71,15 +110,15 @@ function trackUsageAsync(trackingData) {
71
110
  const startTime = Date.now() - trackingData.duration;
72
111
  sendReveniumMetrics(mockResponse, mockRequest, startTime, trackingData.duration, trackingData.providerInfo)
73
112
  .then(() => {
74
- logger.debug('Usage tracking completed successfully', {
113
+ logger.debug("Usage tracking completed successfully", {
75
114
  requestId: trackingData.requestId,
76
115
  model: trackingData.model,
77
116
  totalTokens: trackingData.totalTokens,
78
117
  isStreamed: trackingData.isStreamed,
79
118
  });
80
119
  })
81
- .catch(error => {
82
- logger.warn('Usage tracking failed', {
120
+ .catch((error) => {
121
+ logger.warn("Usage tracking failed", {
83
122
  error: error instanceof Error ? error.message : String(error),
84
123
  requestId: trackingData.requestId,
85
124
  model: trackingData.model,
@@ -97,21 +136,75 @@ function trackEmbeddingsUsageAsync(trackingData) {
97
136
  total_tokens: trackingData.totalTokens,
98
137
  },
99
138
  data: [], // Mock empty data array for type compliance
100
- object: 'list',
139
+ object: "list",
101
140
  };
102
141
  const mockRequest = {
103
142
  model: trackingData.model,
104
- input: '', // Mock empty input for type compliance
143
+ input: "", // Mock empty input for type compliance
105
144
  usageMetadata: trackingData.usageMetadata,
106
145
  };
107
146
  sendReveniumEmbeddingsMetrics(mockResponse, mockRequest, trackingData.requestStartTime, trackingData.duration, trackingData.providerInfo)
108
147
  .then(() => {
109
- logger.debug('Embeddings tracking completed successfully', {
148
+ logger.debug("Embeddings tracking completed successfully", {
149
+ transactionId: trackingData.transactionId,
150
+ });
151
+ })
152
+ .catch((error) => {
153
+ logger.warn("Embeddings tracking failed", {
154
+ error: error instanceof Error ? error.message : String(error),
155
+ transactionId: trackingData.transactionId,
156
+ });
157
+ });
158
+ }
159
+ async function trackImageUsageAsync(operationSubtype, response, request, startTime, duration, config, providerInfo, metadata) {
160
+ const trackingData = {
161
+ transactionId: `image-${operationSubtype}-${Date.now()}`,
162
+ operationSubtype,
163
+ model: request.model || "dall-e-2",
164
+ startTime,
165
+ duration,
166
+ };
167
+ logger.debug("Starting image tracking", trackingData);
168
+ Promise.resolve()
169
+ .then(async () => {
170
+ const { buildImagePayload } = await Promise.resolve().then(() => __importStar(require("./payload-builder.js")));
171
+ const payload = buildImagePayload(operationSubtype, response, request, startTime, duration, providerInfo, metadata);
172
+ await (0, api_client_js_1.sendToRevenium)(payload);
173
+ })
174
+ .then(() => {
175
+ logger.debug("Image tracking completed successfully", {
176
+ transactionId: trackingData.transactionId,
177
+ });
178
+ })
179
+ .catch((error) => {
180
+ logger.warn("Image tracking failed", {
181
+ error: error instanceof Error ? error.message : String(error),
182
+ transactionId: trackingData.transactionId,
183
+ });
184
+ });
185
+ }
186
+ async function trackAudioUsageAsync(operationSubtype, response, request, startTime, duration, config, providerInfo, metadata) {
187
+ const trackingData = {
188
+ transactionId: `audio-${operationSubtype}-${Date.now()}`,
189
+ operationSubtype,
190
+ model: request.model || "whisper-1",
191
+ startTime,
192
+ duration,
193
+ };
194
+ logger.debug("Starting audio tracking", trackingData);
195
+ Promise.resolve()
196
+ .then(async () => {
197
+ const { buildAudioPayload } = await Promise.resolve().then(() => __importStar(require("./payload-builder.js")));
198
+ const payload = buildAudioPayload(operationSubtype, response, request, startTime, duration, providerInfo, metadata);
199
+ await (0, api_client_js_1.sendToRevenium)(payload);
200
+ })
201
+ .then(() => {
202
+ logger.debug("Audio tracking completed successfully", {
110
203
  transactionId: trackingData.transactionId,
111
204
  });
112
205
  })
113
- .catch(error => {
114
- logger.warn('Embeddings tracking failed', {
206
+ .catch((error) => {
207
+ logger.warn("Audio tracking failed", {
115
208
  error: error instanceof Error ? error.message : String(error),
116
209
  transactionId: trackingData.transactionId,
117
210
  });
@@ -1 +1 @@
1
- {"version":3,"file":"usage-tracker.js","sourceRoot":"","sources":["../../../../src/core/tracking/usage-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-tracker.js","sourceRoot":"","sources":["../../../../src/core/tracking/usage-tracker.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -3,214 +3,51 @@
3
3
  * Revenium OpenAI Middleware for TypeScript
4
4
  *
5
5
  * This middleware tracks OpenAI usage and sends metrics to Revenium.
6
- * Uses hybrid initialization: auto-initializes on import with graceful fallback to manual init.
7
- *
8
- * Environment Variables:
9
- * REVENIUM_METERING_API_KEY=hak_your_api_key
10
- * REVENIUM_METERING_BASE_URL=https://api.revenium.ai (optional)
11
- * OPENAI_API_KEY=sk_your_openai_key
12
- *
13
- * Simple Usage (auto-initialization):
14
- * import { patchOpenAIInstance } from '@revenium/openai';
15
- * import OpenAI from 'openai';
16
- *
17
- * const openai = patchOpenAIInstance(new OpenAI());
18
- * // Auto-initializes from environment variables
19
- *
20
- * Advanced Usage (explicit initialization):
21
- * import { initializeReveniumFromEnv, patchOpenAIInstance } from '@revenium/openai';
22
- * import OpenAI from 'openai';
23
- *
24
- * const result = initializeReveniumFromEnv();
25
- * if (!result.success) {
26
- * throw new Error(result.message);
27
- * }
28
- * const openai = patchOpenAIInstance(new OpenAI());
29
- *
30
- * const response = await openai.chat.completions.create({
31
- * model: 'gpt-4',
32
- * messages: [{ role: 'user', content: 'Hello!' }],
33
- * usageMetadata: {
34
- * subscriber: {
35
- * id: 'user-123',
36
- * email: 'user@my-org.com'
37
- * },
38
- * organizationId: 'my-org',
39
- * productId: 'my-app'
40
- * }
41
- * });
42
6
  */
43
7
  Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.patchOpenAIInstance = exports.wouldTransformDeploymentName = exports.batchResolveModelNames = exports.getModelNameCacheStats = exports.clearModelNameCache = exports.resolveAzureModelName = exports.getProviderInfo = exports.getProviderMetadata = exports.validateAzureConfig = exports.hasAzureConfig = exports.detectProvider = exports.trackEmbeddingsUsageAsync = exports.trackUsageAsync = void 0;
45
- exports.initializeRevenium = initializeRevenium;
46
- exports.configure = configure;
47
- exports.initializeReveniumFromEnv = initializeReveniumFromEnv;
48
- exports.isReveniumInitialized = isReveniumInitialized;
49
- exports.getInitializationStatus = getInitializationStatus;
8
+ exports.getProviderMetadata = exports.validateAzureConfig = exports.hasAzureConfig = exports.detectProvider = exports.trackAudioUsageAsync = exports.trackImageUsageAsync = exports.trackEmbeddingsUsageAsync = exports.trackUsageAsync = exports.AudioSpeechInterface = exports.AudioTranslationsInterface = exports.AudioTranscriptionsInterface = exports.ImagesInterface = exports.StreamingWrapper = exports.ResponsesInterface = exports.EmbeddingsInterface = exports.CompletionsInterface = exports.ChatInterface = exports.ReveniumOpenAI = exports.Configure = exports.Reset = exports.IsInitialized = exports.GetClient = exports.Initialize = void 0;
50
9
  // Import type augmentations to extend OpenAI types with usageMetadata
51
10
  require("./types/openai-augmentation.js");
52
- // Import from new modular structure
53
- const index_js_1 = require("./core/config/index.js");
54
- const index_js_2 = require("./core/wrapper/index.js");
55
- // Track initialization state
56
- let isInitialized = false;
57
- let autoInitAttempted = false;
58
11
  // Note: ExtendedChatCompletionCreateParams and ExtendedEmbeddingCreateParams are no longer exported
59
12
  // as they have been replaced with seamless TypeScript module augmentation. The usageMetadata field
60
13
  // is now natively available on OpenAI's types without requiring additional imports.
61
- // Export tracking functions
62
- var index_js_3 = require("./core/tracking/index.js");
63
- Object.defineProperty(exports, "trackUsageAsync", { enumerable: true, get: function () { return index_js_3.trackUsageAsync; } });
64
- Object.defineProperty(exports, "trackEmbeddingsUsageAsync", { enumerable: true, get: function () { return index_js_3.trackEmbeddingsUsageAsync; } });
65
- // Export provider detection functions
66
- var index_js_4 = require("./core/providers/index.js");
67
- Object.defineProperty(exports, "detectProvider", { enumerable: true, get: function () { return index_js_4.detectProvider; } });
68
- Object.defineProperty(exports, "hasAzureConfig", { enumerable: true, get: function () { return index_js_4.hasAzureConfig; } });
69
- Object.defineProperty(exports, "validateAzureConfig", { enumerable: true, get: function () { return index_js_4.validateAzureConfig; } });
70
- Object.defineProperty(exports, "getProviderMetadata", { enumerable: true, get: function () { return index_js_4.getProviderMetadata; } });
71
- var index_js_5 = require("./core/wrapper/index.js");
72
- Object.defineProperty(exports, "getProviderInfo", { enumerable: true, get: function () { return index_js_5.getProviderInfo; } });
73
- // Export Azure model resolution functions
74
- var azure_model_resolver_js_1 = require("./utils/azure-model-resolver.js");
75
- Object.defineProperty(exports, "resolveAzureModelName", { enumerable: true, get: function () { return azure_model_resolver_js_1.resolveAzureModelName; } });
76
- Object.defineProperty(exports, "clearModelNameCache", { enumerable: true, get: function () { return azure_model_resolver_js_1.clearModelNameCache; } });
77
- Object.defineProperty(exports, "getModelNameCacheStats", { enumerable: true, get: function () { return azure_model_resolver_js_1.getModelNameCacheStats; } });
78
- Object.defineProperty(exports, "batchResolveModelNames", { enumerable: true, get: function () { return azure_model_resolver_js_1.batchResolveModelNames; } });
79
- Object.defineProperty(exports, "wouldTransformDeploymentName", { enumerable: true, get: function () { return azure_model_resolver_js_1.wouldTransformDeploymentName; } });
80
- // Global logger
81
- const logger = (0, index_js_1.getLogger)();
82
- /**
83
- * Initialize Revenium middleware with configuration
84
- */
85
- function initializeRevenium(config) {
86
- // Check if already initialized to prevent duplicate initialization
87
- if (isInitialized) {
88
- return {
89
- success: true,
90
- message: 'Revenium middleware already initialized',
91
- };
92
- }
93
- try {
94
- // Apply default base URL if not provided
95
- const configWithDefaults = {
96
- ...config,
97
- reveniumBaseUrl: config.reveniumBaseUrl || 'https://api.revenium.ai',
98
- };
99
- (0, index_js_1.validateConfig)(configWithDefaults);
100
- (0, index_js_1.setConfig)(configWithDefaults);
101
- // Mark as initialized
102
- isInitialized = true;
103
- // Patch OpenAI prototype methods
104
- (0, index_js_2.patchOpenAI)();
105
- return {
106
- success: true,
107
- message: 'Revenium middleware initialized successfully',
108
- };
109
- }
110
- catch (error) {
111
- isInitialized = false;
112
- return {
113
- success: false,
114
- message: error instanceof Error ? error.message : 'Unknown initialization error',
115
- };
116
- }
117
- }
118
- /**
119
- * Configure Revenium middleware manually
120
- * Alias for initializeRevenium() with a more intuitive name
121
- *
122
- * @param config - Revenium configuration object
123
- * @returns Initialization result with success status and message
124
- *
125
- * @example
126
- * ```typescript
127
- * import { configure } from '@revenium/openai';
128
- *
129
- * configure({
130
- * reveniumApiKey: 'hak_your_api_key',
131
- * reveniumBaseUrl: 'https://api.revenium.ai',
132
- * });
133
- * ```
134
- */
135
- function configure(config) {
136
- return initializeRevenium(config);
137
- }
138
- /**
139
- * Initialize Revenium middleware from environment variables
140
- */
141
- function initializeReveniumFromEnv() {
142
- // Check if already initialized to prevent duplicate initialization
143
- if (isInitialized) {
144
- return {
145
- success: true,
146
- message: 'Revenium middleware already initialized',
147
- };
148
- }
149
- const envSuccess = (0, index_js_1.initializeConfig)();
150
- if (!envSuccess) {
151
- isInitialized = false;
152
- return {
153
- success: false,
154
- message: 'Failed to load configuration from environment variables. Check REVENIUM_METERING_API_KEY and REVENIUM_METERING_BASE_URL.',
155
- };
156
- }
157
- // Mark as initialized
158
- isInitialized = true;
159
- // Patch OpenAI prototype methods
160
- (0, index_js_2.patchOpenAI)();
161
- return {
162
- success: true,
163
- message: 'Revenium middleware initialized from environment',
164
- };
165
- }
166
- /**
167
- * Manually patch an OpenAI instance (for advanced use cases)
168
- */
169
- var index_js_6 = require("./core/wrapper/index.js");
170
- Object.defineProperty(exports, "patchOpenAIInstance", { enumerable: true, get: function () { return index_js_6.patchOpenAIInstance; } });
171
14
  /**
172
- * Auto-initialization with graceful fallback
173
- * Attempts to initialize from environment variables on module load.
174
- * If it fails, logs a debug message but doesn't throw - allows manual configuration later.
175
- */
176
- function attemptAutoInitialization() {
177
- if (autoInitAttempted || isInitialized)
178
- return;
179
- autoInitAttempted = true;
180
- try {
181
- const result = initializeReveniumFromEnv();
182
- if (result.success) {
183
- // Auto-init succeeded - log debug message
184
- logger.debug('Revenium middleware auto-initialized from environment variables');
185
- }
186
- else {
187
- // Auto-init failed - log debug message but don't throw
188
- logger.debug('Auto-initialization failed, manual initialization required:', result.message);
189
- }
190
- }
191
- catch (error) {
192
- // Unexpected error during auto-init - log but don't throw
193
- logger.debug('Auto-initialization encountered error:', error instanceof Error ? error.message : String(error));
194
- }
195
- }
196
- /**
197
- * Check if middleware has been initialized
198
- */
199
- function isReveniumInitialized() {
200
- return isInitialized;
201
- }
202
- /**
203
- * Get detailed initialization status
204
- */
205
- function getInitializationStatus() {
206
- const config = (0, index_js_1.getConfig)();
207
- return {
208
- initialized: isInitialized,
209
- hasConfig: !!config,
210
- hasApiKey: !!config?.reveniumApiKey,
211
- autoInitAttempted,
212
- };
213
- }
214
- // Perform auto-initialization when module is imported
215
- attemptAutoInitialization();
15
+ * Main API
16
+ */
17
+ var client_1 = require("./core/client");
18
+ Object.defineProperty(exports, "Initialize", { enumerable: true, get: function () { return client_1.Initialize; } });
19
+ Object.defineProperty(exports, "GetClient", { enumerable: true, get: function () { return client_1.GetClient; } });
20
+ Object.defineProperty(exports, "IsInitialized", { enumerable: true, get: function () { return client_1.IsInitialized; } });
21
+ Object.defineProperty(exports, "Reset", { enumerable: true, get: function () { return client_1.Reset; } });
22
+ Object.defineProperty(exports, "Configure", { enumerable: true, get: function () { return client_1.Configure; } });
23
+ /**
24
+ * Middleware classes
25
+ */
26
+ var middleware_1 = require("./core/middleware");
27
+ Object.defineProperty(exports, "ReveniumOpenAI", { enumerable: true, get: function () { return middleware_1.ReveniumOpenAI; } });
28
+ Object.defineProperty(exports, "ChatInterface", { enumerable: true, get: function () { return middleware_1.ChatInterface; } });
29
+ Object.defineProperty(exports, "CompletionsInterface", { enumerable: true, get: function () { return middleware_1.CompletionsInterface; } });
30
+ Object.defineProperty(exports, "EmbeddingsInterface", { enumerable: true, get: function () { return middleware_1.EmbeddingsInterface; } });
31
+ Object.defineProperty(exports, "ResponsesInterface", { enumerable: true, get: function () { return middleware_1.ResponsesInterface; } });
32
+ Object.defineProperty(exports, "StreamingWrapper", { enumerable: true, get: function () { return middleware_1.StreamingWrapper; } });
33
+ Object.defineProperty(exports, "ImagesInterface", { enumerable: true, get: function () { return middleware_1.ImagesInterface; } });
34
+ Object.defineProperty(exports, "AudioTranscriptionsInterface", { enumerable: true, get: function () { return middleware_1.AudioTranscriptionsInterface; } });
35
+ Object.defineProperty(exports, "AudioTranslationsInterface", { enumerable: true, get: function () { return middleware_1.AudioTranslationsInterface; } });
36
+ Object.defineProperty(exports, "AudioSpeechInterface", { enumerable: true, get: function () { return middleware_1.AudioSpeechInterface; } });
37
+ /**
38
+ * Tracking functions (for advanced use cases)
39
+ */
40
+ var tracking_1 = require("./core/tracking");
41
+ Object.defineProperty(exports, "trackUsageAsync", { enumerable: true, get: function () { return tracking_1.trackUsageAsync; } });
42
+ Object.defineProperty(exports, "trackEmbeddingsUsageAsync", { enumerable: true, get: function () { return tracking_1.trackEmbeddingsUsageAsync; } });
43
+ Object.defineProperty(exports, "trackImageUsageAsync", { enumerable: true, get: function () { return tracking_1.trackImageUsageAsync; } });
44
+ Object.defineProperty(exports, "trackAudioUsageAsync", { enumerable: true, get: function () { return tracking_1.trackAudioUsageAsync; } });
45
+ /**
46
+ * Provider detection functions
47
+ */
48
+ var providers_1 = require("./core/providers");
49
+ Object.defineProperty(exports, "detectProvider", { enumerable: true, get: function () { return providers_1.detectProvider; } });
50
+ Object.defineProperty(exports, "hasAzureConfig", { enumerable: true, get: function () { return providers_1.hasAzureConfig; } });
51
+ Object.defineProperty(exports, "validateAzureConfig", { enumerable: true, get: function () { return providers_1.validateAzureConfig; } });
52
+ Object.defineProperty(exports, "getProviderMetadata", { enumerable: true, get: function () { return providers_1.getProviderMetadata; } });
216
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,sEAAsE;AACtE,0CAAwC;AA8DxC,oGAAoG;AACpG,mGAAmG;AACnG,oFAAoF;AAEpF;;GAEG;AACH,wCAMuB;AALrB,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,uGAAA,aAAa,OAAA;AACb,+FAAA,KAAK,OAAA;AACL,mGAAA,SAAS,OAAA;AAGX;;GAEG;AACH,gDAW2B;AAVzB,4GAAA,cAAc,OAAA;AACd,2GAAA,aAAa,OAAA;AACb,kHAAA,oBAAoB,OAAA;AACpB,iHAAA,mBAAmB,OAAA;AACnB,gHAAA,kBAAkB,OAAA;AAClB,8GAAA,gBAAgB,OAAA;AAChB,6GAAA,eAAe,OAAA;AACf,0HAAA,4BAA4B,OAAA;AAC5B,wHAAA,0BAA0B,OAAA;AAC1B,kHAAA,oBAAoB,OAAA;AAGtB;;GAEG;AACH,4CAKyB;AAJvB,2GAAA,eAAe,OAAA;AACf,qHAAA,yBAAyB,OAAA;AACzB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AAGtB;;GAEG;AACH,8CAK0B;AAJxB,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA"}
@@ -30,14 +30,6 @@ __exportStar(require("./responses-api.js"), exports);
30
30
  *
31
31
  * Enumeration of AI providers supported by the Revenium middleware.
32
32
  * Used for automatic detection, routing, and provider-specific handling.
33
- *
34
- * @public
35
- * @example
36
- * ```typescript
37
- * if (providerInfo.provider === Provider.AZURE_OPENAI) {
38
- * console.log('Using Azure OpenAI');
39
- * }
40
- * ```
41
33
  */
42
34
  var Provider;
43
35
  (function (Provider) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,qCAAqC;AACrC,2DAAyC;AAEzC,gCAAgC;AAChC,qDAAmC;AAqInC;;;;;;;;;;;;;GAaG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,0BAA0B;IAC1B,6BAAiB,CAAA;IACjB,2BAA2B;IAC3B,yCAA6B,CAAA;AAC/B,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,qCAAqC;AACrC,2DAAyC;AAEzC,gCAAgC;AAChC,qDAAmC;AAiFnC;;;;;GAKG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,0BAA0B;IAC1B,6BAAiB,CAAA;IACjB,2BAA2B;IAC3B,yCAA6B,CAAA;AAC/B,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB"}
@@ -1,55 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
3
  * TypeScript module augmentation for OpenAI SDK
4
- *
5
- * This file extends OpenAI's existing types to include the usageMetadata field
6
- * through TypeScript's declaration merging feature. This provides seamless
7
- * integration with the OpenAI SDK, allowing developers to use usageMetadata
8
- * directly in OpenAI API calls without type casting or additional imports.
9
- *
10
- * The augmentation covers all major OpenAI API endpoints including:
11
- * - Chat completions (streaming and non-streaming)
12
- * - Embeddings
13
- * - Future API endpoints as they become available
14
- *
15
- * @fileoverview OpenAI SDK type augmentation for Revenium middleware
16
- * @author Revenium
17
- * @since 1.0.0
18
- *
19
- * @example Basic usage with chat completions
20
- * ```typescript
21
- * import '@revenium/openai';
22
- * import OpenAI from 'openai';
23
- *
24
- * const openai = new OpenAI();
25
- *
26
- * const response = await openai.chat.completions.create({
27
- * model: 'gpt-4o-mini',
28
- * messages: [{ role: 'user', content: 'Hello!' }],
29
- * usageMetadata: { // TypeScript recognizes this natively
30
- * subscriber: {
31
- * id: 'user-123',
32
- * email: 'user@my-company.com'
33
- * },
34
- * organizationId: 'my-company',
35
- * productId: 'chat-app',
36
- * taskType: 'customer-support'
37
- * }
38
- * });
39
- * ```
40
- *
41
- * @example Usage with embeddings
42
- * ```typescript
43
- * const embedding = await openai.embeddings.create({
44
- * model: 'text-embedding-ada-002',
45
- * input: 'Text to embed',
46
- * usageMetadata: {
47
- * subscriber: { id: 'user-456' },
48
- * productId: 'search-engine',
49
- * taskType: 'document-indexing'
50
- * }
51
- * });
52
- * ```
53
4
  */
54
5
  Object.defineProperty(exports, "__esModule", { value: true });
55
6
  //# sourceMappingURL=openai-augmentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-augmentation.js","sourceRoot":"","sources":["../../../src/types/openai-augmentation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG"}
1
+ {"version":3,"file":"openai-augmentation.js","sourceRoot":"","sources":["../../../src/types/openai-augmentation.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,24 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERROR_MESSAGE_PATTERNS_TYPE_CONFIG = exports.MESSAGE_PATTERNS_TYPE_NETWORK = exports.knownModels = void 0;
4
- // Direct match check for known LiteLLM model names
5
- exports.knownModels = [
6
- 'gpt-4o',
7
- 'gpt-4o-mini',
8
- 'gpt-4',
9
- 'gpt-4-turbo',
10
- 'gpt-4-vision-preview',
11
- 'gpt-3.5-turbo',
12
- 'gpt-3.5-turbo-instruct',
13
- 'text-embedding-3-large',
14
- 'text-embedding-3-small',
15
- 'text-embedding-ada-002',
16
- 'dall-e-3',
17
- 'dall-e-2',
18
- 'whisper-1',
19
- 'tts-1',
20
- 'tts-1-hd'
3
+ exports.DEFAULT_REVENIUM_BASE_URL = exports.ERROR_MESSAGE_PATTERNS_TYPE_CONFIG = exports.MESSAGE_PATTERNS_TYPE_NETWORK = void 0;
4
+ /**
5
+ * Error message patterns for network-related errors
6
+ */
7
+ exports.MESSAGE_PATTERNS_TYPE_NETWORK = [
8
+ "network",
9
+ "timeout",
10
+ "ECONNRESET",
21
11
  ];
22
- exports.MESSAGE_PATTERNS_TYPE_NETWORK = ["network", "timeout", "ECONNRESET"];
23
- exports.ERROR_MESSAGE_PATTERNS_TYPE_CONFIG = ["config", "key", "unauthorized"];
12
+ /**
13
+ * Error message patterns for configuration-related errors
14
+ */
15
+ exports.ERROR_MESSAGE_PATTERNS_TYPE_CONFIG = [
16
+ "config",
17
+ "key",
18
+ "unauthorized",
19
+ ];
20
+ exports.DEFAULT_REVENIUM_BASE_URL = "https://api.revenium.ai";
24
21
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AACtC,QAAA,WAAW,GAAG;IAC3B,QAAQ;IACR,aAAa;IACb,OAAO;IACP,aAAa;IACb,sBAAsB;IACtB,eAAe;IACf,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,UAAU;IACV,UAAU;IACV,WAAW;IACX,OAAO;IACP,UAAU;CACT,CAAC;AAEW,QAAA,6BAA6B,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AACrE,QAAA,kCAAkC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,6BAA6B,GAAG;IAC3C,SAAS;IACT,SAAS;IACT,YAAY;CACb,CAAC;AAEF;;GAEG;AACU,QAAA,kCAAkC,GAAG;IAChD,QAAQ;IACR,KAAK;IACL,cAAc;CACf,CAAC;AAEW,QAAA,yBAAyB,GAAG,yBAAyB,CAAC"}