@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.
- package/.env.example +10 -15
- package/CHANGELOG.md +59 -0
- package/CODE_OF_CONDUCT.md +57 -0
- package/CONTRIBUTING.md +38 -0
- package/README.md +109 -515
- package/SECURITY.md +34 -0
- package/dist/cjs/core/client/index.js +14 -0
- package/dist/cjs/core/client/index.js.map +1 -0
- package/dist/cjs/core/client/manager.js +109 -0
- package/dist/cjs/core/client/manager.js.map +1 -0
- package/dist/cjs/core/config/azure-config.js +5 -17
- package/dist/cjs/core/config/azure-config.js.map +1 -1
- package/dist/cjs/core/config/index.js +2 -2
- package/dist/cjs/core/config/index.js.map +1 -1
- package/dist/cjs/core/config/loader.js +34 -14
- package/dist/cjs/core/config/loader.js.map +1 -1
- package/dist/cjs/core/config/manager.js +12 -5
- package/dist/cjs/core/config/manager.js.map +1 -1
- package/dist/cjs/core/config/validator.js +3 -45
- package/dist/cjs/core/config/validator.js.map +1 -1
- package/dist/cjs/core/middleware/index.js +17 -0
- package/dist/cjs/core/middleware/index.js.map +1 -0
- package/dist/cjs/core/middleware/interfaces.js +361 -0
- package/dist/cjs/core/middleware/interfaces.js.map +1 -0
- package/dist/cjs/core/middleware/revenium-client.js +142 -0
- package/dist/cjs/core/middleware/revenium-client.js.map +1 -0
- package/dist/cjs/core/providers/detector.js +45 -23
- package/dist/cjs/core/providers/detector.js.map +1 -1
- package/dist/cjs/core/providers/index.js +2 -1
- package/dist/cjs/core/providers/index.js.map +1 -1
- package/dist/cjs/core/tracking/api-client.js +14 -13
- package/dist/cjs/core/tracking/api-client.js.map +1 -1
- package/dist/cjs/core/tracking/payload-builder.js +30 -35
- package/dist/cjs/core/tracking/payload-builder.js.map +1 -1
- package/dist/cjs/core/tracking/usage-tracker.js +22 -18
- package/dist/cjs/core/tracking/usage-tracker.js.map +1 -1
- package/dist/cjs/index.js +26 -174
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/index.js +0 -8
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/openai-augmentation.js +0 -49
- package/dist/cjs/types/openai-augmentation.js.map +1 -1
- package/dist/cjs/utils/constants.js +17 -20
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/error-handler.js +18 -14
- package/dist/cjs/utils/error-handler.js.map +1 -1
- package/dist/cjs/utils/metadata-builder.js +27 -19
- package/dist/cjs/utils/metadata-builder.js.map +1 -1
- package/dist/cjs/utils/provider-detection.js +25 -28
- package/dist/cjs/utils/provider-detection.js.map +1 -1
- package/dist/cjs/utils/stop-reason-mapper.js +4 -0
- package/dist/cjs/utils/stop-reason-mapper.js.map +1 -1
- package/dist/cjs/utils/url-builder.js +3 -3
- package/dist/esm/core/client/index.js +6 -0
- package/dist/esm/core/client/index.js.map +1 -0
- package/dist/esm/core/client/manager.js +102 -0
- package/dist/esm/core/client/manager.js.map +1 -0
- package/dist/esm/core/config/azure-config.js +6 -18
- package/dist/esm/core/config/azure-config.js.map +1 -1
- package/dist/esm/core/config/index.js +5 -4
- package/dist/esm/core/config/index.js.map +1 -1
- package/dist/esm/core/config/loader.js +33 -13
- package/dist/esm/core/config/loader.js.map +1 -1
- package/dist/esm/core/config/manager.js +14 -7
- package/dist/esm/core/config/manager.js.map +1 -1
- package/dist/esm/core/config/validator.js +3 -44
- package/dist/esm/core/config/validator.js.map +1 -1
- package/dist/esm/core/middleware/index.js +8 -0
- package/dist/esm/core/middleware/index.js.map +1 -0
- package/dist/esm/core/middleware/interfaces.js +353 -0
- package/dist/esm/core/middleware/interfaces.js.map +1 -0
- package/dist/esm/core/middleware/revenium-client.js +105 -0
- package/dist/esm/core/middleware/revenium-client.js.map +1 -0
- package/dist/esm/core/providers/detector.js +43 -22
- package/dist/esm/core/providers/detector.js.map +1 -1
- package/dist/esm/core/providers/index.js +2 -2
- package/dist/esm/core/providers/index.js.map +1 -1
- package/dist/esm/core/tracking/api-client.js +13 -12
- package/dist/esm/core/tracking/api-client.js.map +1 -1
- package/dist/esm/core/tracking/payload-builder.js +31 -36
- package/dist/esm/core/tracking/payload-builder.js.map +1 -1
- package/dist/esm/core/tracking/usage-tracker.js +24 -20
- package/dist/esm/core/tracking/usage-tracker.js.map +1 -1
- package/dist/esm/index.js +9 -157
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/index.js +2 -10
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/openai-augmentation.js +0 -49
- package/dist/esm/types/openai-augmentation.js.map +1 -1
- package/dist/esm/utils/constants.js +16 -19
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/error-handler.js +19 -15
- package/dist/esm/utils/error-handler.js.map +1 -1
- package/dist/esm/utils/metadata-builder.js +27 -19
- package/dist/esm/utils/metadata-builder.js.map +1 -1
- package/dist/esm/utils/provider-detection.js +26 -29
- package/dist/esm/utils/provider-detection.js.map +1 -1
- package/dist/esm/utils/stop-reason-mapper.js +4 -0
- package/dist/esm/utils/stop-reason-mapper.js.map +1 -1
- package/dist/esm/utils/url-builder.js +3 -3
- package/dist/types/core/client/index.d.ts +6 -0
- package/dist/types/core/client/index.d.ts.map +1 -0
- package/dist/types/core/client/manager.d.ts +32 -0
- package/dist/types/core/client/manager.d.ts.map +1 -0
- package/dist/types/core/config/azure-config.d.ts +2 -2
- package/dist/types/core/config/azure-config.d.ts.map +1 -1
- package/dist/types/core/config/index.d.ts +4 -4
- package/dist/types/core/config/index.d.ts.map +1 -1
- package/dist/types/core/config/loader.d.ts +3 -1
- package/dist/types/core/config/loader.d.ts.map +1 -1
- package/dist/types/core/config/manager.d.ts +1 -1
- package/dist/types/core/config/manager.d.ts.map +1 -1
- package/dist/types/core/config/validator.d.ts +1 -12
- package/dist/types/core/config/validator.d.ts.map +1 -1
- package/dist/types/core/middleware/index.d.ts +8 -0
- package/dist/types/core/middleware/index.d.ts.map +1 -0
- package/dist/types/core/middleware/interfaces.d.ts +74 -0
- package/dist/types/core/middleware/interfaces.d.ts.map +1 -0
- package/dist/types/core/middleware/revenium-client.d.ts +58 -0
- package/dist/types/core/middleware/revenium-client.d.ts.map +1 -0
- package/dist/types/core/providers/detector.d.ts +9 -2
- package/dist/types/core/providers/detector.d.ts.map +1 -1
- package/dist/types/core/providers/index.d.ts +2 -2
- package/dist/types/core/providers/index.d.ts.map +1 -1
- package/dist/types/core/tracking/api-client.d.ts +1 -1
- package/dist/types/core/tracking/api-client.d.ts.map +1 -1
- package/dist/types/core/tracking/payload-builder.d.ts +3 -3
- package/dist/types/core/tracking/payload-builder.d.ts.map +1 -1
- package/dist/types/core/tracking/usage-tracker.d.ts +2 -2
- package/dist/types/core/tracking/usage-tracker.d.ts.map +1 -1
- package/dist/types/index.d.ts +11 -114
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/function-parameters.d.ts +2 -23
- package/dist/types/types/function-parameters.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +17 -115
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/openai-augmentation.d.ts +4 -139
- package/dist/types/types/openai-augmentation.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +7 -1
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/error-handler.d.ts +2 -2
- package/dist/types/utils/error-handler.d.ts.map +1 -1
- package/dist/types/utils/metadata-builder.d.ts +4 -3
- package/dist/types/utils/metadata-builder.d.ts.map +1 -1
- package/dist/types/utils/provider-detection.d.ts +3 -3
- package/dist/types/utils/provider-detection.d.ts.map +1 -1
- package/dist/types/utils/stop-reason-mapper.d.ts.map +1 -1
- package/dist/types/utils/url-builder.d.ts +3 -3
- package/examples/README.md +270 -224
- package/examples/azure/basic.ts +62 -0
- package/examples/azure/responses-basic.ts +45 -0
- package/examples/azure/responses-stream.ts +61 -0
- package/examples/azure/stream.ts +56 -0
- package/examples/getting_started.ts +31 -43
- package/examples/openai/basic.ts +45 -0
- package/examples/openai/metadata.ts +67 -0
- package/examples/openai/responses-basic.ts +44 -0
- package/examples/openai/responses-embed.ts +34 -0
- package/examples/openai/responses-streaming.ts +63 -0
- package/examples/openai/streaming.ts +59 -0
- package/package.json +20 -13
- package/dist/cjs/core/wrapper/index.js +0 -15
- package/dist/cjs/core/wrapper/index.js.map +0 -1
- package/dist/cjs/core/wrapper/instance-patcher.js +0 -202
- package/dist/cjs/core/wrapper/instance-patcher.js.map +0 -1
- package/dist/cjs/core/wrapper/request-handler.js +0 -317
- package/dist/cjs/core/wrapper/request-handler.js.map +0 -1
- package/dist/cjs/core/wrapper/stream-wrapper.js +0 -82
- package/dist/cjs/core/wrapper/stream-wrapper.js.map +0 -1
- package/dist/cjs/utils/azure-model-resolver.js +0 -211
- package/dist/cjs/utils/azure-model-resolver.js.map +0 -1
- package/dist/cjs/utils/request-handler-factory.js +0 -185
- package/dist/cjs/utils/request-handler-factory.js.map +0 -1
- package/dist/esm/core/wrapper/index.js +0 -9
- package/dist/esm/core/wrapper/index.js.map +0 -1
- package/dist/esm/core/wrapper/instance-patcher.js +0 -199
- package/dist/esm/core/wrapper/instance-patcher.js.map +0 -1
- package/dist/esm/core/wrapper/request-handler.js +0 -310
- package/dist/esm/core/wrapper/request-handler.js.map +0 -1
- package/dist/esm/core/wrapper/stream-wrapper.js +0 -79
- package/dist/esm/core/wrapper/stream-wrapper.js.map +0 -1
- package/dist/esm/utils/azure-model-resolver.js +0 -204
- package/dist/esm/utils/azure-model-resolver.js.map +0 -1
- package/dist/esm/utils/request-handler-factory.js +0 -146
- package/dist/esm/utils/request-handler-factory.js.map +0 -1
- package/dist/types/core/wrapper/index.d.ts +0 -8
- package/dist/types/core/wrapper/index.d.ts.map +0 -1
- package/dist/types/core/wrapper/instance-patcher.d.ts +0 -33
- package/dist/types/core/wrapper/instance-patcher.d.ts.map +0 -1
- package/dist/types/core/wrapper/request-handler.d.ts +0 -29
- package/dist/types/core/wrapper/request-handler.d.ts.map +0 -1
- package/dist/types/core/wrapper/stream-wrapper.d.ts +0 -13
- package/dist/types/core/wrapper/stream-wrapper.d.ts.map +0 -1
- package/dist/types/utils/azure-model-resolver.d.ts +0 -41
- package/dist/types/utils/azure-model-resolver.d.ts.map +0 -1
- package/dist/types/utils/request-handler-factory.d.ts +0 -81
- package/dist/types/utils/request-handler-factory.d.ts.map +0 -1
- package/examples/azure-basic.ts +0 -206
- package/examples/azure-responses-basic.ts +0 -233
- package/examples/azure-responses-streaming.ts +0 -255
- package/examples/azure-streaming.ts +0 -209
- package/examples/openai-basic.ts +0 -147
- package/examples/openai-function-calling.ts +0 -259
- package/examples/openai-responses-basic.ts +0 -212
- package/examples/openai-responses-streaming.ts +0 -232
- package/examples/openai-streaming.ts +0 -172
- package/examples/openai-vision.ts +0 -289
- package/src/core/config/azure-config.ts +0 -72
- package/src/core/config/index.ts +0 -23
- package/src/core/config/loader.ts +0 -66
- package/src/core/config/manager.ts +0 -94
- package/src/core/config/validator.ts +0 -89
- package/src/core/providers/detector.ts +0 -159
- package/src/core/providers/index.ts +0 -16
- package/src/core/tracking/api-client.ts +0 -78
- package/src/core/tracking/index.ts +0 -21
- package/src/core/tracking/payload-builder.ts +0 -132
- package/src/core/tracking/usage-tracker.ts +0 -189
- package/src/core/wrapper/index.ts +0 -9
- package/src/core/wrapper/instance-patcher.ts +0 -288
- package/src/core/wrapper/request-handler.ts +0 -423
- package/src/core/wrapper/stream-wrapper.ts +0 -100
- package/src/index.ts +0 -336
- package/src/types/function-parameters.ts +0 -251
- package/src/types/index.ts +0 -313
- package/src/types/openai-augmentation.ts +0 -233
- package/src/types/responses-api.ts +0 -308
- package/src/utils/azure-model-resolver.ts +0 -220
- package/src/utils/constants.ts +0 -21
- package/src/utils/error-handler.ts +0 -251
- package/src/utils/metadata-builder.ts +0 -219
- package/src/utils/provider-detection.ts +0 -257
- package/src/utils/request-handler-factory.ts +0 -285
- package/src/utils/stop-reason-mapper.ts +0 -74
- package/src/utils/type-guards.ts +0 -202
- 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":";AAAA;;;;;GAKG;;
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
24
|
+
const config = (0, config_1.getConfig)();
|
|
24
25
|
if (!config)
|
|
25
|
-
return logger.warn(
|
|
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 ||
|
|
28
|
-
logger.debug(
|
|
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:
|
|
37
|
+
method: "POST",
|
|
37
38
|
headers: {
|
|
38
|
-
|
|
39
|
-
Accept:
|
|
40
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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;;
|
|
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
|
|
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
|
|
15
|
-
const index_js_2 = require("../providers/index.js");
|
|
14
|
+
const providers_1 = require("../providers");
|
|
16
15
|
// Global logger
|
|
17
|
-
const logger = (0,
|
|
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
|
-
//
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
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,
|
|
44
|
-
: { provider:
|
|
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:
|
|
57
|
-
model:
|
|
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:
|
|
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 !==
|
|
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:
|
|
71
|
+
operationType: "EMBED",
|
|
82
72
|
transactionId: `embed-${(0, crypto_1.randomUUID)()}`,
|
|
83
73
|
outputTokenCount: 0,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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:
|
|
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:
|
|
87
|
+
operationType: "CHAT",
|
|
97
88
|
transactionId: chatResponse.id || `chat-${(0, crypto_1.randomUUID)()}`,
|
|
98
89
|
outputTokenCount: chatUsage.completion_tokens || 0,
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
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":";AAAA;;;;;GAKG;;
|
|
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
|
|
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,
|
|
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)(
|
|
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
|
-
},
|
|
26
|
+
}, "Chat completion tracking", {
|
|
27
27
|
logError: true,
|
|
28
28
|
rethrow: false, // Don't rethrow to maintain fire-and-forget behavior
|
|
29
|
-
messagePrefix:
|
|
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)(
|
|
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
|
-
},
|
|
39
|
+
}, "Embeddings tracking", {
|
|
40
40
|
logError: true,
|
|
41
41
|
rethrow: false, // Don't rethrow to maintain fire-and-forget behavior
|
|
42
|
-
messagePrefix:
|
|
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 && {
|
|
57
|
-
|
|
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(
|
|
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(
|
|
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:
|
|
104
|
+
object: "list",
|
|
101
105
|
};
|
|
102
106
|
const mockRequest = {
|
|
103
107
|
model: trackingData.model,
|
|
104
|
-
input:
|
|
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(
|
|
113
|
+
logger.debug("Embeddings tracking completed successfully", {
|
|
110
114
|
transactionId: trackingData.transactionId,
|
|
111
115
|
});
|
|
112
116
|
})
|
|
113
|
-
.catch(error => {
|
|
114
|
-
logger.warn(
|
|
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":";AAAA;;;;;GAKG;;
|
|
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.
|
|
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
|
-
*
|
|
15
|
+
* Main API
|
|
147
16
|
*/
|
|
148
|
-
var
|
|
149
|
-
Object.defineProperty(exports, "
|
|
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
|
-
*
|
|
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
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
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
|
-
*
|
|
34
|
+
* Tracking functions (for advanced use cases)
|
|
177
35
|
*/
|
|
178
|
-
|
|
179
|
-
|
|
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
|
-
*
|
|
40
|
+
* Provider detection functions
|
|
183
41
|
*/
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
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
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA
|
|
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"}
|
package/dist/cjs/types/index.js
CHANGED
|
@@ -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) {
|