@revenium/openai 1.0.12 → 1.0.14

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 (236) hide show
  1. package/.env.example +10 -15
  2. package/CHANGELOG.md +59 -0
  3. package/CODE_OF_CONDUCT.md +57 -0
  4. package/CONTRIBUTING.md +38 -0
  5. package/README.md +109 -515
  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 +12 -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 +17 -0
  22. package/dist/cjs/core/middleware/index.js.map +1 -0
  23. package/dist/cjs/core/middleware/interfaces.js +361 -0
  24. package/dist/cjs/core/middleware/interfaces.js.map +1 -0
  25. package/dist/cjs/core/middleware/revenium-client.js +142 -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 +14 -13
  32. package/dist/cjs/core/tracking/api-client.js.map +1 -1
  33. package/dist/cjs/core/tracking/payload-builder.js +30 -35
  34. package/dist/cjs/core/tracking/payload-builder.js.map +1 -1
  35. package/dist/cjs/core/tracking/usage-tracker.js +22 -18
  36. package/dist/cjs/core/tracking/usage-tracker.js.map +1 -1
  37. package/dist/cjs/index.js +26 -174
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/types/index.js +0 -8
  40. package/dist/cjs/types/index.js.map +1 -1
  41. package/dist/cjs/types/openai-augmentation.js +0 -49
  42. package/dist/cjs/types/openai-augmentation.js.map +1 -1
  43. package/dist/cjs/utils/constants.js +17 -20
  44. package/dist/cjs/utils/constants.js.map +1 -1
  45. package/dist/cjs/utils/error-handler.js +18 -14
  46. package/dist/cjs/utils/error-handler.js.map +1 -1
  47. package/dist/cjs/utils/metadata-builder.js +27 -19
  48. package/dist/cjs/utils/metadata-builder.js.map +1 -1
  49. package/dist/cjs/utils/provider-detection.js +25 -28
  50. package/dist/cjs/utils/provider-detection.js.map +1 -1
  51. package/dist/cjs/utils/stop-reason-mapper.js +4 -0
  52. package/dist/cjs/utils/stop-reason-mapper.js.map +1 -1
  53. package/dist/cjs/utils/url-builder.js +3 -3
  54. package/dist/esm/core/client/index.js +6 -0
  55. package/dist/esm/core/client/index.js.map +1 -0
  56. package/dist/esm/core/client/manager.js +102 -0
  57. package/dist/esm/core/client/manager.js.map +1 -0
  58. package/dist/esm/core/config/azure-config.js +6 -18
  59. package/dist/esm/core/config/azure-config.js.map +1 -1
  60. package/dist/esm/core/config/index.js +5 -4
  61. package/dist/esm/core/config/index.js.map +1 -1
  62. package/dist/esm/core/config/loader.js +33 -13
  63. package/dist/esm/core/config/loader.js.map +1 -1
  64. package/dist/esm/core/config/manager.js +14 -7
  65. package/dist/esm/core/config/manager.js.map +1 -1
  66. package/dist/esm/core/config/validator.js +3 -44
  67. package/dist/esm/core/config/validator.js.map +1 -1
  68. package/dist/esm/core/middleware/index.js +8 -0
  69. package/dist/esm/core/middleware/index.js.map +1 -0
  70. package/dist/esm/core/middleware/interfaces.js +353 -0
  71. package/dist/esm/core/middleware/interfaces.js.map +1 -0
  72. package/dist/esm/core/middleware/revenium-client.js +105 -0
  73. package/dist/esm/core/middleware/revenium-client.js.map +1 -0
  74. package/dist/esm/core/providers/detector.js +43 -22
  75. package/dist/esm/core/providers/detector.js.map +1 -1
  76. package/dist/esm/core/providers/index.js +2 -2
  77. package/dist/esm/core/providers/index.js.map +1 -1
  78. package/dist/esm/core/tracking/api-client.js +13 -12
  79. package/dist/esm/core/tracking/api-client.js.map +1 -1
  80. package/dist/esm/core/tracking/payload-builder.js +31 -36
  81. package/dist/esm/core/tracking/payload-builder.js.map +1 -1
  82. package/dist/esm/core/tracking/usage-tracker.js +24 -20
  83. package/dist/esm/core/tracking/usage-tracker.js.map +1 -1
  84. package/dist/esm/index.js +9 -157
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/types/index.js +2 -10
  87. package/dist/esm/types/index.js.map +1 -1
  88. package/dist/esm/types/openai-augmentation.js +0 -49
  89. package/dist/esm/types/openai-augmentation.js.map +1 -1
  90. package/dist/esm/utils/constants.js +16 -19
  91. package/dist/esm/utils/constants.js.map +1 -1
  92. package/dist/esm/utils/error-handler.js +19 -15
  93. package/dist/esm/utils/error-handler.js.map +1 -1
  94. package/dist/esm/utils/metadata-builder.js +27 -19
  95. package/dist/esm/utils/metadata-builder.js.map +1 -1
  96. package/dist/esm/utils/provider-detection.js +26 -29
  97. package/dist/esm/utils/provider-detection.js.map +1 -1
  98. package/dist/esm/utils/stop-reason-mapper.js +4 -0
  99. package/dist/esm/utils/stop-reason-mapper.js.map +1 -1
  100. package/dist/esm/utils/url-builder.js +3 -3
  101. package/dist/types/core/client/index.d.ts +6 -0
  102. package/dist/types/core/client/index.d.ts.map +1 -0
  103. package/dist/types/core/client/manager.d.ts +32 -0
  104. package/dist/types/core/client/manager.d.ts.map +1 -0
  105. package/dist/types/core/config/azure-config.d.ts +2 -2
  106. package/dist/types/core/config/azure-config.d.ts.map +1 -1
  107. package/dist/types/core/config/index.d.ts +4 -4
  108. package/dist/types/core/config/index.d.ts.map +1 -1
  109. package/dist/types/core/config/loader.d.ts +3 -1
  110. package/dist/types/core/config/loader.d.ts.map +1 -1
  111. package/dist/types/core/config/manager.d.ts +1 -1
  112. package/dist/types/core/config/manager.d.ts.map +1 -1
  113. package/dist/types/core/config/validator.d.ts +1 -12
  114. package/dist/types/core/config/validator.d.ts.map +1 -1
  115. package/dist/types/core/middleware/index.d.ts +8 -0
  116. package/dist/types/core/middleware/index.d.ts.map +1 -0
  117. package/dist/types/core/middleware/interfaces.d.ts +74 -0
  118. package/dist/types/core/middleware/interfaces.d.ts.map +1 -0
  119. package/dist/types/core/middleware/revenium-client.d.ts +58 -0
  120. package/dist/types/core/middleware/revenium-client.d.ts.map +1 -0
  121. package/dist/types/core/providers/detector.d.ts +9 -2
  122. package/dist/types/core/providers/detector.d.ts.map +1 -1
  123. package/dist/types/core/providers/index.d.ts +2 -2
  124. package/dist/types/core/providers/index.d.ts.map +1 -1
  125. package/dist/types/core/tracking/api-client.d.ts +1 -1
  126. package/dist/types/core/tracking/api-client.d.ts.map +1 -1
  127. package/dist/types/core/tracking/payload-builder.d.ts +3 -3
  128. package/dist/types/core/tracking/payload-builder.d.ts.map +1 -1
  129. package/dist/types/core/tracking/usage-tracker.d.ts +2 -2
  130. package/dist/types/core/tracking/usage-tracker.d.ts.map +1 -1
  131. package/dist/types/index.d.ts +11 -114
  132. package/dist/types/index.d.ts.map +1 -1
  133. package/dist/types/types/function-parameters.d.ts +2 -23
  134. package/dist/types/types/function-parameters.d.ts.map +1 -1
  135. package/dist/types/types/index.d.ts +17 -115
  136. package/dist/types/types/index.d.ts.map +1 -1
  137. package/dist/types/types/openai-augmentation.d.ts +4 -139
  138. package/dist/types/types/openai-augmentation.d.ts.map +1 -1
  139. package/dist/types/utils/constants.d.ts +7 -1
  140. package/dist/types/utils/constants.d.ts.map +1 -1
  141. package/dist/types/utils/error-handler.d.ts +2 -2
  142. package/dist/types/utils/error-handler.d.ts.map +1 -1
  143. package/dist/types/utils/metadata-builder.d.ts +4 -3
  144. package/dist/types/utils/metadata-builder.d.ts.map +1 -1
  145. package/dist/types/utils/provider-detection.d.ts +3 -3
  146. package/dist/types/utils/provider-detection.d.ts.map +1 -1
  147. package/dist/types/utils/stop-reason-mapper.d.ts.map +1 -1
  148. package/dist/types/utils/url-builder.d.ts +3 -3
  149. package/examples/README.md +270 -224
  150. package/examples/azure/basic.ts +62 -0
  151. package/examples/azure/responses-basic.ts +45 -0
  152. package/examples/azure/responses-stream.ts +61 -0
  153. package/examples/azure/stream.ts +56 -0
  154. package/examples/getting_started.ts +31 -43
  155. package/examples/openai/basic.ts +45 -0
  156. package/examples/openai/metadata.ts +67 -0
  157. package/examples/openai/responses-basic.ts +44 -0
  158. package/examples/openai/responses-embed.ts +34 -0
  159. package/examples/openai/responses-streaming.ts +63 -0
  160. package/examples/openai/streaming.ts +59 -0
  161. package/package.json +20 -13
  162. package/dist/cjs/core/wrapper/index.js +0 -15
  163. package/dist/cjs/core/wrapper/index.js.map +0 -1
  164. package/dist/cjs/core/wrapper/instance-patcher.js +0 -202
  165. package/dist/cjs/core/wrapper/instance-patcher.js.map +0 -1
  166. package/dist/cjs/core/wrapper/request-handler.js +0 -317
  167. package/dist/cjs/core/wrapper/request-handler.js.map +0 -1
  168. package/dist/cjs/core/wrapper/stream-wrapper.js +0 -82
  169. package/dist/cjs/core/wrapper/stream-wrapper.js.map +0 -1
  170. package/dist/cjs/utils/azure-model-resolver.js +0 -211
  171. package/dist/cjs/utils/azure-model-resolver.js.map +0 -1
  172. package/dist/cjs/utils/request-handler-factory.js +0 -185
  173. package/dist/cjs/utils/request-handler-factory.js.map +0 -1
  174. package/dist/esm/core/wrapper/index.js +0 -9
  175. package/dist/esm/core/wrapper/index.js.map +0 -1
  176. package/dist/esm/core/wrapper/instance-patcher.js +0 -199
  177. package/dist/esm/core/wrapper/instance-patcher.js.map +0 -1
  178. package/dist/esm/core/wrapper/request-handler.js +0 -310
  179. package/dist/esm/core/wrapper/request-handler.js.map +0 -1
  180. package/dist/esm/core/wrapper/stream-wrapper.js +0 -79
  181. package/dist/esm/core/wrapper/stream-wrapper.js.map +0 -1
  182. package/dist/esm/utils/azure-model-resolver.js +0 -204
  183. package/dist/esm/utils/azure-model-resolver.js.map +0 -1
  184. package/dist/esm/utils/request-handler-factory.js +0 -146
  185. package/dist/esm/utils/request-handler-factory.js.map +0 -1
  186. package/dist/types/core/wrapper/index.d.ts +0 -8
  187. package/dist/types/core/wrapper/index.d.ts.map +0 -1
  188. package/dist/types/core/wrapper/instance-patcher.d.ts +0 -33
  189. package/dist/types/core/wrapper/instance-patcher.d.ts.map +0 -1
  190. package/dist/types/core/wrapper/request-handler.d.ts +0 -29
  191. package/dist/types/core/wrapper/request-handler.d.ts.map +0 -1
  192. package/dist/types/core/wrapper/stream-wrapper.d.ts +0 -13
  193. package/dist/types/core/wrapper/stream-wrapper.d.ts.map +0 -1
  194. package/dist/types/utils/azure-model-resolver.d.ts +0 -41
  195. package/dist/types/utils/azure-model-resolver.d.ts.map +0 -1
  196. package/dist/types/utils/request-handler-factory.d.ts +0 -81
  197. package/dist/types/utils/request-handler-factory.d.ts.map +0 -1
  198. package/examples/azure-basic.ts +0 -206
  199. package/examples/azure-responses-basic.ts +0 -233
  200. package/examples/azure-responses-streaming.ts +0 -255
  201. package/examples/azure-streaming.ts +0 -209
  202. package/examples/openai-basic.ts +0 -147
  203. package/examples/openai-function-calling.ts +0 -259
  204. package/examples/openai-responses-basic.ts +0 -212
  205. package/examples/openai-responses-streaming.ts +0 -232
  206. package/examples/openai-streaming.ts +0 -172
  207. package/examples/openai-vision.ts +0 -289
  208. package/src/core/config/azure-config.ts +0 -72
  209. package/src/core/config/index.ts +0 -23
  210. package/src/core/config/loader.ts +0 -66
  211. package/src/core/config/manager.ts +0 -94
  212. package/src/core/config/validator.ts +0 -89
  213. package/src/core/providers/detector.ts +0 -159
  214. package/src/core/providers/index.ts +0 -16
  215. package/src/core/tracking/api-client.ts +0 -78
  216. package/src/core/tracking/index.ts +0 -21
  217. package/src/core/tracking/payload-builder.ts +0 -132
  218. package/src/core/tracking/usage-tracker.ts +0 -189
  219. package/src/core/wrapper/index.ts +0 -9
  220. package/src/core/wrapper/instance-patcher.ts +0 -288
  221. package/src/core/wrapper/request-handler.ts +0 -423
  222. package/src/core/wrapper/stream-wrapper.ts +0 -100
  223. package/src/index.ts +0 -336
  224. package/src/types/function-parameters.ts +0 -251
  225. package/src/types/index.ts +0 -313
  226. package/src/types/openai-augmentation.ts +0 -233
  227. package/src/types/responses-api.ts +0 -308
  228. package/src/utils/azure-model-resolver.ts +0 -220
  229. package/src/utils/constants.ts +0 -21
  230. package/src/utils/error-handler.ts +0 -251
  231. package/src/utils/metadata-builder.ts +0 -219
  232. package/src/utils/provider-detection.ts +0 -257
  233. package/src/utils/request-handler-factory.ts +0 -285
  234. package/src/utils/stop-reason-mapper.ts +0 -74
  235. package/src/utils/type-guards.ts +0 -202
  236. package/src/utils/url-builder.ts +0 -68
@@ -1 +1 @@
1
- {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../../../src/core/providers/detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../../../src/core/providers/detector.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,11 @@
6
6
  * separating concerns into focused sub-modules.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.gatherAzureConfig = exports.getProviderMetadata = exports.validateAzureConfig = exports.hasAzureConfig = exports.detectProvider = void 0;
9
+ exports.gatherAzureConfig = exports.getProviderMetadata = exports.validateAzureConfig = exports.hasAzureConfig = exports.detectProviderFromConfig = exports.detectProvider = void 0;
10
10
  // Re-export all provider functionality
11
11
  var detector_js_1 = require("./detector.js");
12
12
  Object.defineProperty(exports, "detectProvider", { enumerable: true, get: function () { return detector_js_1.detectProvider; } });
13
+ Object.defineProperty(exports, "detectProviderFromConfig", { enumerable: true, get: function () { return detector_js_1.detectProviderFromConfig; } });
13
14
  Object.defineProperty(exports, "hasAzureConfig", { enumerable: true, get: function () { return detector_js_1.hasAzureConfig; } });
14
15
  Object.defineProperty(exports, "validateAzureConfig", { enumerable: true, get: function () { return detector_js_1.validateAzureConfig; } });
15
16
  Object.defineProperty(exports, "getProviderMetadata", { enumerable: true, get: function () { return detector_js_1.getProviderMetadata; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/providers/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uCAAuC;AACvC,6CAKuB;AAJrB,6GAAA,cAAc,OAAA;AACd,6GAAA,cAAc,OAAA;AACd,kHAAA,mBAAmB,OAAA;AACnB,kHAAA,mBAAmB,OAAA;AAGrB,6DAA8D;AAArD,oHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/providers/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uCAAuC;AACvC,6CAMuB;AALrB,6GAAA,cAAc,OAAA;AACd,uHAAA,wBAAwB,OAAA;AACxB,6GAAA,cAAc,OAAA;AACd,kHAAA,mBAAmB,OAAA;AACnB,kHAAA,mBAAmB,OAAA;AAGrB,6DAA8D;AAArD,oHAAA,iBAAiB,OAAA"}
@@ -7,10 +7,11 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.sendToRevenium = sendToRevenium;
10
- const index_js_1 = require("../config/index.js");
10
+ const config_1 = require("../config");
11
11
  const url_builder_js_1 = require("../../utils/url-builder.js");
12
+ const constants_1 = require("../../utils/constants");
12
13
  // Global logger
13
- const logger = (0, index_js_1.getLogger)();
14
+ const logger = (0, config_1.getLogger)();
14
15
  /**
15
16
  * Send payload to Revenium API
16
17
  *
@@ -20,12 +21,12 @@ const logger = (0, index_js_1.getLogger)();
20
21
  * @param payload - The payload to send to Revenium
21
22
  */
22
23
  async function sendToRevenium(payload) {
23
- const config = (0, index_js_1.getConfig)();
24
+ const config = (0, config_1.getConfig)();
24
25
  if (!config)
25
- return logger.warn('Revenium configuration not found, skipping tracking');
26
+ return logger.warn("Revenium configuration not found, skipping tracking");
26
27
  // Use the new URL builder utility instead of nested conditionals
27
- const url = (0, url_builder_js_1.buildReveniumUrl)(config.reveniumBaseUrl || 'https://api.revenium.io', '/ai/completions');
28
- logger.debug('Sending Revenium API request', {
28
+ const url = (0, url_builder_js_1.buildReveniumUrl)(config.reveniumBaseUrl || constants_1.DEFAULT_REVENIUM_BASE_URL, "/ai/completions");
29
+ logger.debug("Sending Revenium API request", {
29
30
  url,
30
31
  operationType: payload.operationType,
31
32
  transactionId: payload.transactionId,
@@ -33,15 +34,15 @@ async function sendToRevenium(payload) {
33
34
  totalTokens: payload.totalTokenCount,
34
35
  });
35
36
  const response = await fetch(url, {
36
- method: 'POST',
37
+ method: "POST",
37
38
  headers: {
38
- 'Content-Type': 'application/json',
39
- Accept: 'application/json',
40
- 'x-api-key': config.reveniumApiKey,
39
+ "Content-Type": "application/json",
40
+ Accept: "application/json",
41
+ "x-api-key": config.reveniumApiKey,
41
42
  },
42
43
  body: JSON.stringify(payload),
43
44
  });
44
- logger.debug('Revenium API response', {
45
+ logger.debug("Revenium API response", {
45
46
  status: response.status,
46
47
  statusText: response.statusText,
47
48
  transactionId: payload.transactionId,
@@ -49,7 +50,7 @@ async function sendToRevenium(payload) {
49
50
  });
50
51
  if (!response.ok) {
51
52
  const responseText = await response.text();
52
- logger.error('Revenium API error response', {
53
+ logger.error("Revenium API error response", {
53
54
  status: response.status,
54
55
  statusText: response.statusText,
55
56
  body: responseText,
@@ -59,7 +60,7 @@ async function sendToRevenium(payload) {
59
60
  throw new Error(`Revenium API error: ${response.status} ${response.statusText} - ${responseText}`);
60
61
  }
61
62
  const responseBody = await response.text();
62
- logger.debug('Revenium tracking successful', {
63
+ logger.debug("Revenium tracking successful", {
63
64
  transactionId: payload.transactionId,
64
65
  operationType: payload.operationType,
65
66
  response: responseBody,
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../../src/core/tracking/api-client.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAiBH,wCAuDC;AArED,iDAA0D;AAC1D,+DAA8D;AAE9D,gBAAgB;AAChB,MAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;AAE3B;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,OAAwB;IAC3D,MAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAEvF,iEAAiE;IACjE,MAAM,GAAG,GAAG,IAAA,iCAAgB,EAC1B,MAAM,CAAC,eAAe,IAAI,yBAAyB,EACnD,iBAAiB,CAClB,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;QAC3C,GAAG;QACH,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,eAAe;KACrC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;YAC1B,WAAW,EAAE,MAAM,CAAC,cAAc;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;QACpC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC1C,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CACb,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,YAAY,EAAE,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;QAC3C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../../src/core/tracking/api-client.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAkBH,wCAwDC;AAvED,sCAAiD;AACjD,+DAA8D;AAC9D,qDAAkE;AAElE,gBAAgB;AAChB,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;AAE3B;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,OAAwB;IAC3D,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAE5E,iEAAiE;IACjE,MAAM,GAAG,GAAG,IAAA,iCAAgB,EAC1B,MAAM,CAAC,eAAe,IAAI,qCAAyB,EACnD,iBAAiB,CAClB,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;QAC3C,GAAG;QACH,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,eAAe;KACrC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;YAC1B,WAAW,EAAE,MAAM,CAAC,cAAc;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;QACpC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC1C,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CACb,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,YAAY,EAAE,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;QAC3C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;AACL,CAAC"}
@@ -8,13 +8,12 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.buildPayload = buildPayload;
10
10
  const crypto_1 = require("crypto");
11
- const index_js_1 = require("../config/index.js");
11
+ const config_1 = require("../config");
12
12
  const stop_reason_mapper_js_1 = require("../../utils/stop-reason-mapper.js");
13
13
  const metadata_builder_js_1 = require("../../utils/metadata-builder.js");
14
- const azure_model_resolver_js_1 = require("../../utils/azure-model-resolver.js");
15
- const index_js_2 = require("../providers/index.js");
14
+ const providers_1 = require("../providers");
16
15
  // Global logger
17
- const logger = (0, index_js_1.getLogger)();
16
+ const logger = (0, config_1.getLogger)();
18
17
  /**
19
18
  * Build payload for Revenium API
20
19
  *
@@ -33,28 +32,19 @@ function buildPayload(operationType, response, request, startTime, duration, pro
33
32
  const now = new Date().toISOString();
34
33
  const requestTime = new Date(startTime).toISOString();
35
34
  const usage = response.usage;
36
- // Resolve model name for Azure deployments
37
- const originalModel = response.model;
38
- const resolvedModel = providerInfo?.isAzure
39
- ? (0, azure_model_resolver_js_1.resolveAzureModelName)(originalModel)
40
- : originalModel;
41
- // Get provider metadata
35
+ // For Azure, use the deployment name as-is
36
+ // The deployment name is what the user provided and should be sent to Revenium
37
+ const modelName = response.model;
38
+ // Get provider metadata (fallback: OpenAI direct)
42
39
  const providerMetadata = providerInfo
43
- ? (0, index_js_2.getProviderMetadata)(providerInfo)
44
- : { provider: 'OPENAI', modelSource: 'OPENAI' };
45
- if (providerInfo?.isAzure && resolvedModel !== originalModel) {
46
- logger.debug('Azure model name resolved for pricing', {
47
- deployment: originalModel,
48
- resolved: resolvedModel,
49
- provider: providerMetadata.provider,
50
- });
51
- }
40
+ ? (0, providers_1.getProviderMetadata)(providerInfo)
41
+ : { provider: "OpenAI", modelSource: "OPENAI" };
52
42
  // Build metadata fields using utility (eliminates repetitive spreading)
53
43
  const metadataFields = (0, metadata_builder_js_1.buildMetadataFields)(request.usageMetadata);
54
44
  // Common fields for all operations
55
45
  const commonPayload = {
56
- costType: 'AI',
57
- model: resolvedModel, // Use resolved model name for accurate pricing
46
+ costType: "AI",
47
+ model: modelName, // Use model/deployment name as-is
58
48
  responseTime: now,
59
49
  requestDuration: duration,
60
50
  provider: providerMetadata.provider,
@@ -66,42 +56,47 @@ function buildPayload(operationType, response, request, startTime, duration, pro
66
56
  totalTokenCount: usage.total_tokens,
67
57
  // Metadata fields (processed by utility)
68
58
  ...metadataFields,
69
- // Fixed middleware source identifier
70
- middlewareSource: 'nodejs',
59
+ // Fixed middleware source identifier (spec format: revenium-{provider}-{language})
60
+ middlewareSource: "revenium-openai-node",
71
61
  // Backend calculates costs
72
62
  inputTokenCost: undefined,
73
63
  outputTokenCost: undefined,
74
64
  totalCost: undefined,
75
65
  };
76
66
  // Operation-specific fields
77
- if (operationType !== 'CHAT') {
67
+ if (operationType !== "CHAT") {
78
68
  // For embeddings, we don't need the response cast since we use commonPayload
79
69
  return {
80
70
  ...commonPayload,
81
- operationType: 'EMBED',
71
+ operationType: "EMBED",
82
72
  transactionId: `embed-${(0, crypto_1.randomUUID)()}`,
83
73
  outputTokenCount: 0,
84
- reasoningTokenCount: 0,
85
- cacheCreationTokenCount: 0,
86
- cacheReadTokenCount: 0,
87
- stopReason: 'END',
74
+ // Embeddings don't support reasoning or caching
75
+ reasoningTokenCount: undefined,
76
+ cacheCreationTokenCount: undefined,
77
+ cacheReadTokenCount: undefined,
78
+ stopReason: "END",
88
79
  isStreamed: false,
89
- timeToFirstToken: 0,
80
+ timeToFirstToken: undefined, // Not applicable for embeddings
90
81
  };
91
82
  }
92
83
  const chatResponse = response;
93
84
  const chatUsage = chatResponse.usage;
94
85
  return {
95
86
  ...commonPayload,
96
- operationType: 'CHAT',
87
+ operationType: "CHAT",
97
88
  transactionId: chatResponse.id || `chat-${(0, crypto_1.randomUUID)()}`,
98
89
  outputTokenCount: chatUsage.completion_tokens || 0,
99
- reasoningTokenCount: chatUsage.reasoning_tokens || 0,
100
- cacheCreationTokenCount: 0,
101
- cacheReadTokenCount: chatUsage.cached_tokens || 0,
90
+ // Leave null for models without reasoning capabilities (API spec)
91
+ reasoningTokenCount: chatUsage.reasoning_tokens ?? undefined,
92
+ // OpenAI doesn't report cache creation tokens
93
+ cacheCreationTokenCount: undefined,
94
+ // Only include if provider reports cache hits
95
+ cacheReadTokenCount: chatUsage.cached_tokens ?? undefined,
102
96
  stopReason: (0, stop_reason_mapper_js_1.mapStopReason)(chatResponse.choices?.[0]?.finish_reason, logger),
103
97
  isStreamed: Boolean(request.stream),
104
- timeToFirstToken: request.stream ? 0 : duration,
98
+ // TODO: Implement real TTFB tracking for streaming requests
99
+ timeToFirstToken: undefined,
105
100
  };
106
101
  }
107
102
  //# sourceMappingURL=payload-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload-builder.js","sourceRoot":"","sources":["../../../../src/core/tracking/payload-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload-builder.js","sourceRoot":"","sources":["../../../../src/core/tracking/payload-builder.ts"],"names":[],"mappings":"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"}
@@ -10,23 +10,23 @@ exports.sendReveniumMetrics = sendReveniumMetrics;
10
10
  exports.sendReveniumEmbeddingsMetrics = sendReveniumEmbeddingsMetrics;
11
11
  exports.trackUsageAsync = trackUsageAsync;
12
12
  exports.trackEmbeddingsUsageAsync = trackEmbeddingsUsageAsync;
13
- const index_js_1 = require("../config/index.js");
13
+ const config_1 = require("../config");
14
14
  const api_client_js_1 = require("./api-client.js");
15
15
  const payload_builder_js_1 = require("./payload-builder.js");
16
16
  const error_handler_js_1 = require("../../utils/error-handler.js");
17
17
  // Global logger
18
- const logger = (0, index_js_1.getLogger)();
18
+ const logger = (0, config_1.getLogger)();
19
19
  /**
20
20
  * Chat completions tracking - now a thin wrapper with Azure support
21
21
  */
22
22
  async function sendReveniumMetrics(response, request, startTime, duration, providerInfo) {
23
23
  await (0, error_handler_js_1.safeAsyncOperation)(async () => {
24
- const payload = (0, payload_builder_js_1.buildPayload)('CHAT', response, request, startTime, duration, providerInfo);
24
+ const payload = (0, payload_builder_js_1.buildPayload)("CHAT", response, request, startTime, duration, providerInfo);
25
25
  await (0, api_client_js_1.sendToRevenium)(payload);
26
- }, 'Chat completion tracking', {
26
+ }, "Chat completion tracking", {
27
27
  logError: true,
28
28
  rethrow: false, // Don't rethrow to maintain fire-and-forget behavior
29
- messagePrefix: 'Chat completion tracking failed: ',
29
+ messagePrefix: "Chat completion tracking failed: ",
30
30
  }, logger);
31
31
  }
32
32
  /**
@@ -34,12 +34,12 @@ async function sendReveniumMetrics(response, request, startTime, duration, provi
34
34
  */
35
35
  async function sendReveniumEmbeddingsMetrics(response, request, startTime, duration, providerInfo) {
36
36
  await (0, error_handler_js_1.safeAsyncOperation)(async () => {
37
- const payload = (0, payload_builder_js_1.buildPayload)('EMBED', response, request, startTime, duration, providerInfo);
37
+ const payload = (0, payload_builder_js_1.buildPayload)("EMBED", response, request, startTime, duration, providerInfo);
38
38
  await (0, api_client_js_1.sendToRevenium)(payload);
39
- }, 'Embeddings tracking', {
39
+ }, "Embeddings tracking", {
40
40
  logError: true,
41
41
  rethrow: false, // Don't rethrow to maintain fire-and-forget behavior
42
- messagePrefix: 'Embeddings tracking failed: ',
42
+ messagePrefix: "Embeddings tracking failed: ",
43
43
  }, logger);
44
44
  }
45
45
  /**
@@ -53,8 +53,12 @@ function trackUsageAsync(trackingData) {
53
53
  prompt_tokens: trackingData.promptTokens,
54
54
  completion_tokens: trackingData.completionTokens,
55
55
  total_tokens: trackingData.totalTokens,
56
- ...(trackingData.reasoningTokens && { reasoning_tokens: trackingData.reasoningTokens }),
57
- ...(trackingData.cachedTokens && { cached_tokens: trackingData.cachedTokens }),
56
+ ...(trackingData.reasoningTokens && {
57
+ reasoning_tokens: trackingData.reasoningTokens,
58
+ }),
59
+ ...(trackingData.cachedTokens && {
60
+ cached_tokens: trackingData.cachedTokens,
61
+ }),
58
62
  },
59
63
  choices: [
60
64
  {
@@ -71,15 +75,15 @@ function trackUsageAsync(trackingData) {
71
75
  const startTime = Date.now() - trackingData.duration;
72
76
  sendReveniumMetrics(mockResponse, mockRequest, startTime, trackingData.duration, trackingData.providerInfo)
73
77
  .then(() => {
74
- logger.debug('Usage tracking completed successfully', {
78
+ logger.debug("Usage tracking completed successfully", {
75
79
  requestId: trackingData.requestId,
76
80
  model: trackingData.model,
77
81
  totalTokens: trackingData.totalTokens,
78
82
  isStreamed: trackingData.isStreamed,
79
83
  });
80
84
  })
81
- .catch(error => {
82
- logger.warn('Usage tracking failed', {
85
+ .catch((error) => {
86
+ logger.warn("Usage tracking failed", {
83
87
  error: error instanceof Error ? error.message : String(error),
84
88
  requestId: trackingData.requestId,
85
89
  model: trackingData.model,
@@ -97,21 +101,21 @@ function trackEmbeddingsUsageAsync(trackingData) {
97
101
  total_tokens: trackingData.totalTokens,
98
102
  },
99
103
  data: [], // Mock empty data array for type compliance
100
- object: 'list',
104
+ object: "list",
101
105
  };
102
106
  const mockRequest = {
103
107
  model: trackingData.model,
104
- input: '', // Mock empty input for type compliance
108
+ input: "", // Mock empty input for type compliance
105
109
  usageMetadata: trackingData.usageMetadata,
106
110
  };
107
111
  sendReveniumEmbeddingsMetrics(mockResponse, mockRequest, trackingData.requestStartTime, trackingData.duration, trackingData.providerInfo)
108
112
  .then(() => {
109
- logger.debug('Embeddings tracking completed successfully', {
113
+ logger.debug("Embeddings tracking completed successfully", {
110
114
  transactionId: trackingData.transactionId,
111
115
  });
112
116
  })
113
- .catch(error => {
114
- logger.warn('Embeddings tracking failed', {
117
+ .catch((error) => {
118
+ logger.warn("Embeddings tracking failed", {
115
119
  error: error instanceof Error ? error.message : String(error),
116
120
  transactionId: trackingData.transactionId,
117
121
  });
@@ -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,193 +3,45 @@
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.io (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.initializeReveniumFromEnv = initializeReveniumFromEnv;
47
- exports.isReveniumInitialized = isReveniumInitialized;
48
- exports.getInitializationStatus = getInitializationStatus;
8
+ exports.getProviderMetadata = exports.validateAzureConfig = exports.hasAzureConfig = exports.detectProvider = exports.trackEmbeddingsUsageAsync = exports.trackUsageAsync = exports.StreamingWrapper = exports.ResponsesInterface = exports.EmbeddingsInterface = exports.CompletionsInterface = exports.ChatInterface = exports.ReveniumOpenAI = exports.Configure = exports.Reset = exports.IsInitialized = exports.GetClient = exports.Initialize = void 0;
49
9
  // Import type augmentations to extend OpenAI types with usageMetadata
50
10
  require("./types/openai-augmentation.js");
51
- // Import from new modular structure
52
- const index_js_1 = require("./core/config/index.js");
53
- const index_js_2 = require("./core/wrapper/index.js");
54
- // Track initialization state
55
- let isInitialized = false;
56
- let autoInitAttempted = false;
57
11
  // Note: ExtendedChatCompletionCreateParams and ExtendedEmbeddingCreateParams are no longer exported
58
12
  // as they have been replaced with seamless TypeScript module augmentation. The usageMetadata field
59
13
  // is now natively available on OpenAI's types without requiring additional imports.
60
- // Export tracking functions
61
- var index_js_3 = require("./core/tracking/index.js");
62
- Object.defineProperty(exports, "trackUsageAsync", { enumerable: true, get: function () { return index_js_3.trackUsageAsync; } });
63
- Object.defineProperty(exports, "trackEmbeddingsUsageAsync", { enumerable: true, get: function () { return index_js_3.trackEmbeddingsUsageAsync; } });
64
- // Export provider detection functions
65
- var index_js_4 = require("./core/providers/index.js");
66
- Object.defineProperty(exports, "detectProvider", { enumerable: true, get: function () { return index_js_4.detectProvider; } });
67
- Object.defineProperty(exports, "hasAzureConfig", { enumerable: true, get: function () { return index_js_4.hasAzureConfig; } });
68
- Object.defineProperty(exports, "validateAzureConfig", { enumerable: true, get: function () { return index_js_4.validateAzureConfig; } });
69
- Object.defineProperty(exports, "getProviderMetadata", { enumerable: true, get: function () { return index_js_4.getProviderMetadata; } });
70
- var index_js_5 = require("./core/wrapper/index.js");
71
- Object.defineProperty(exports, "getProviderInfo", { enumerable: true, get: function () { return index_js_5.getProviderInfo; } });
72
- // Export Azure model resolution functions
73
- var azure_model_resolver_js_1 = require("./utils/azure-model-resolver.js");
74
- Object.defineProperty(exports, "resolveAzureModelName", { enumerable: true, get: function () { return azure_model_resolver_js_1.resolveAzureModelName; } });
75
- Object.defineProperty(exports, "clearModelNameCache", { enumerable: true, get: function () { return azure_model_resolver_js_1.clearModelNameCache; } });
76
- Object.defineProperty(exports, "getModelNameCacheStats", { enumerable: true, get: function () { return azure_model_resolver_js_1.getModelNameCacheStats; } });
77
- Object.defineProperty(exports, "batchResolveModelNames", { enumerable: true, get: function () { return azure_model_resolver_js_1.batchResolveModelNames; } });
78
- Object.defineProperty(exports, "wouldTransformDeploymentName", { enumerable: true, get: function () { return azure_model_resolver_js_1.wouldTransformDeploymentName; } });
79
- // Global logger
80
- const logger = (0, index_js_1.getLogger)();
81
- /**
82
- * Initialize Revenium middleware with configuration
83
- */
84
- function initializeRevenium(config) {
85
- // Check if already initialized to prevent duplicate initialization
86
- if (isInitialized) {
87
- return {
88
- success: true,
89
- message: 'Revenium middleware already initialized',
90
- };
91
- }
92
- try {
93
- // Apply default base URL if not provided
94
- const configWithDefaults = {
95
- ...config,
96
- reveniumBaseUrl: config.reveniumBaseUrl || 'https://api.revenium.io',
97
- };
98
- (0, index_js_1.validateConfig)(configWithDefaults);
99
- (0, index_js_1.setConfig)(configWithDefaults);
100
- // Mark as initialized
101
- isInitialized = true;
102
- // Patch OpenAI prototype methods
103
- (0, index_js_2.patchOpenAI)();
104
- return {
105
- success: true,
106
- message: 'Revenium middleware initialized successfully',
107
- };
108
- }
109
- catch (error) {
110
- isInitialized = false;
111
- return {
112
- success: false,
113
- message: error instanceof Error ? error.message : 'Unknown initialization error',
114
- };
115
- }
116
- }
117
- /**
118
- * Initialize Revenium middleware from environment variables
119
- */
120
- function initializeReveniumFromEnv() {
121
- // Check if already initialized to prevent duplicate initialization
122
- if (isInitialized) {
123
- return {
124
- success: true,
125
- message: 'Revenium middleware already initialized',
126
- };
127
- }
128
- const envSuccess = (0, index_js_1.initializeConfig)();
129
- if (!envSuccess) {
130
- isInitialized = false;
131
- return {
132
- success: false,
133
- message: 'Failed to load configuration from environment variables. Check REVENIUM_METERING_API_KEY and REVENIUM_METERING_BASE_URL.',
134
- };
135
- }
136
- // Mark as initialized
137
- isInitialized = true;
138
- // Patch OpenAI prototype methods
139
- (0, index_js_2.patchOpenAI)();
140
- return {
141
- success: true,
142
- message: 'Revenium middleware initialized from environment',
143
- };
144
- }
145
14
  /**
146
- * Manually patch an OpenAI instance (for advanced use cases)
15
+ * Main API
147
16
  */
148
- var index_js_6 = require("./core/wrapper/index.js");
149
- Object.defineProperty(exports, "patchOpenAIInstance", { enumerable: true, get: function () { return index_js_6.patchOpenAIInstance; } });
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; } });
150
23
  /**
151
- * Auto-initialization with graceful fallback
152
- * Attempts to initialize from environment variables on module load.
153
- * If it fails, logs a debug message but doesn't throw - allows manual configuration later.
24
+ * Middleware classes
154
25
  */
155
- function attemptAutoInitialization() {
156
- if (autoInitAttempted || isInitialized)
157
- return;
158
- autoInitAttempted = true;
159
- try {
160
- const result = initializeReveniumFromEnv();
161
- if (result.success) {
162
- // Auto-init succeeded - log debug message
163
- logger.debug('Revenium middleware auto-initialized from environment variables');
164
- }
165
- else {
166
- // Auto-init failed - log debug message but don't throw
167
- logger.debug('Auto-initialization failed, manual initialization required:', result.message);
168
- }
169
- }
170
- catch (error) {
171
- // Unexpected error during auto-init - log but don't throw
172
- logger.debug('Auto-initialization encountered error:', error instanceof Error ? error.message : String(error));
173
- }
174
- }
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; } });
175
33
  /**
176
- * Check if middleware has been initialized
34
+ * Tracking functions (for advanced use cases)
177
35
  */
178
- function isReveniumInitialized() {
179
- return isInitialized;
180
- }
36
+ var tracking_1 = require("./core/tracking");
37
+ Object.defineProperty(exports, "trackUsageAsync", { enumerable: true, get: function () { return tracking_1.trackUsageAsync; } });
38
+ Object.defineProperty(exports, "trackEmbeddingsUsageAsync", { enumerable: true, get: function () { return tracking_1.trackEmbeddingsUsageAsync; } });
181
39
  /**
182
- * Get detailed initialization status
40
+ * Provider detection functions
183
41
  */
184
- function getInitializationStatus() {
185
- const config = (0, index_js_1.getConfig)();
186
- return {
187
- initialized: isInitialized,
188
- hasConfig: !!config,
189
- hasApiKey: !!config?.reveniumApiKey,
190
- autoInitAttempted,
191
- };
192
- }
193
- // Perform auto-initialization when module is imported
194
- attemptAutoInitialization();
42
+ var providers_1 = require("./core/providers");
43
+ Object.defineProperty(exports, "detectProvider", { enumerable: true, get: function () { return providers_1.detectProvider; } });
44
+ Object.defineProperty(exports, "hasAzureConfig", { enumerable: true, get: function () { return providers_1.hasAzureConfig; } });
45
+ Object.defineProperty(exports, "validateAzureConfig", { enumerable: true, get: function () { return providers_1.validateAzureConfig; } });
46
+ Object.defineProperty(exports, "getProviderMetadata", { enumerable: true, get: function () { return providers_1.getProviderMetadata; } });
195
47
  //# 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,gDAO2B;AANzB,4GAAA,cAAc,OAAA;AACd,2GAAA,aAAa,OAAA;AACb,kHAAA,oBAAoB,OAAA;AACpB,iHAAA,mBAAmB,OAAA;AACnB,gHAAA,kBAAkB,OAAA;AAClB,8GAAA,gBAAgB,OAAA;AAGlB;;GAEG;AACH,4CAA6E;AAApE,2GAAA,eAAe,OAAA;AAAE,qHAAA,yBAAyB,OAAA;AAEnD;;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) {