@revenium/openai 1.0.11 → 1.0.13
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 +20 -0
- package/CHANGELOG.md +47 -47
- package/README.md +121 -964
- package/dist/cjs/core/config/loader.js +1 -1
- package/dist/cjs/core/config/loader.js.map +1 -1
- package/dist/cjs/core/config/manager.js +2 -1
- package/dist/cjs/core/config/manager.js.map +1 -1
- package/dist/cjs/core/providers/detector.js +3 -3
- package/dist/cjs/core/providers/detector.js.map +1 -1
- package/dist/cjs/core/tracking/api-client.js +1 -1
- package/dist/cjs/core/tracking/api-client.js.map +1 -1
- package/dist/cjs/core/tracking/payload-builder.js +17 -12
- package/dist/cjs/core/tracking/payload-builder.js.map +1 -1
- package/dist/cjs/index.js +23 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils/metadata-builder.js +12 -5
- package/dist/cjs/utils/metadata-builder.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 +32 -7
- package/dist/cjs/utils/url-builder.js.map +1 -1
- package/dist/esm/core/config/loader.js +1 -1
- package/dist/esm/core/config/loader.js.map +1 -1
- package/dist/esm/core/config/manager.js +2 -1
- package/dist/esm/core/config/manager.js.map +1 -1
- package/dist/esm/core/providers/detector.js +3 -3
- package/dist/esm/core/providers/detector.js.map +1 -1
- package/dist/esm/core/tracking/api-client.js +1 -1
- package/dist/esm/core/tracking/api-client.js.map +1 -1
- package/dist/esm/core/tracking/payload-builder.js +17 -12
- package/dist/esm/core/tracking/payload-builder.js.map +1 -1
- package/dist/esm/index.js +22 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils/metadata-builder.js +12 -5
- package/dist/esm/utils/metadata-builder.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 +32 -7
- package/dist/esm/utils/url-builder.js.map +1 -1
- package/dist/types/core/config/manager.d.ts.map +1 -1
- package/dist/types/core/tracking/payload-builder.d.ts.map +1 -1
- package/dist/types/index.d.ts +23 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +9 -13
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/openai-augmentation.d.ts +1 -2
- package/dist/types/types/openai-augmentation.d.ts.map +1 -1
- package/dist/types/utils/metadata-builder.d.ts +2 -1
- package/dist/types/utils/metadata-builder.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 +11 -3
- package/dist/types/utils/url-builder.d.ts.map +1 -1
- package/examples/README.md +213 -255
- package/examples/azure-basic.ts +26 -14
- package/examples/azure-responses-basic.ts +39 -10
- package/examples/azure-responses-streaming.ts +39 -10
- package/examples/azure-streaming.ts +41 -20
- package/examples/getting_started.ts +54 -0
- package/examples/openai-basic.ts +39 -17
- package/examples/openai-function-calling.ts +259 -0
- package/examples/openai-responses-basic.ts +38 -9
- package/examples/openai-responses-streaming.ts +38 -9
- package/examples/openai-streaming.ts +24 -13
- package/examples/openai-vision.ts +289 -0
- package/package.json +3 -9
- package/src/core/config/azure-config.ts +72 -0
- package/src/core/config/index.ts +23 -0
- package/src/core/config/loader.ts +66 -0
- package/src/core/config/manager.ts +95 -0
- package/src/core/config/validator.ts +89 -0
- package/src/core/providers/detector.ts +159 -0
- package/src/core/providers/index.ts +16 -0
- package/src/core/tracking/api-client.ts +78 -0
- package/src/core/tracking/index.ts +21 -0
- package/src/core/tracking/payload-builder.ts +137 -0
- package/src/core/tracking/usage-tracker.ts +189 -0
- package/src/core/wrapper/index.ts +9 -0
- package/src/core/wrapper/instance-patcher.ts +288 -0
- package/src/core/wrapper/request-handler.ts +423 -0
- package/src/core/wrapper/stream-wrapper.ts +100 -0
- package/src/index.ts +360 -0
- package/src/types/function-parameters.ts +251 -0
- package/src/types/index.ts +310 -0
- package/src/types/openai-augmentation.ts +232 -0
- package/src/types/responses-api.ts +308 -0
- package/src/utils/azure-model-resolver.ts +220 -0
- package/src/utils/constants.ts +21 -0
- package/src/utils/error-handler.ts +251 -0
- package/src/utils/metadata-builder.ts +228 -0
- package/src/utils/provider-detection.ts +257 -0
- package/src/utils/request-handler-factory.ts +285 -0
- package/src/utils/stop-reason-mapper.ts +78 -0
- package/src/utils/type-guards.ts +202 -0
- package/src/utils/url-builder.ts +68 -0
package/dist/esm/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Environment Variables:
|
|
8
8
|
* REVENIUM_METERING_API_KEY=hak_your_api_key
|
|
9
|
-
* REVENIUM_METERING_BASE_URL=https://api.revenium.
|
|
9
|
+
* REVENIUM_METERING_BASE_URL=https://api.revenium.ai (optional)
|
|
10
10
|
* OPENAI_API_KEY=sk_your_openai_key
|
|
11
11
|
*
|
|
12
12
|
* Simple Usage (auto-initialization):
|
|
@@ -74,7 +74,7 @@ export function initializeRevenium(config) {
|
|
|
74
74
|
// Apply default base URL if not provided
|
|
75
75
|
const configWithDefaults = {
|
|
76
76
|
...config,
|
|
77
|
-
reveniumBaseUrl: config.reveniumBaseUrl || 'https://api.revenium.
|
|
77
|
+
reveniumBaseUrl: config.reveniumBaseUrl || 'https://api.revenium.ai',
|
|
78
78
|
};
|
|
79
79
|
validateConfig(configWithDefaults);
|
|
80
80
|
setConfig(configWithDefaults);
|
|
@@ -95,6 +95,26 @@ export function initializeRevenium(config) {
|
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Configure Revenium middleware manually
|
|
100
|
+
* Alias for initializeRevenium() with a more intuitive name
|
|
101
|
+
*
|
|
102
|
+
* @param config - Revenium configuration object
|
|
103
|
+
* @returns Initialization result with success status and message
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* import { configure } from '@revenium/openai';
|
|
108
|
+
*
|
|
109
|
+
* configure({
|
|
110
|
+
* reveniumApiKey: 'hak_your_api_key',
|
|
111
|
+
* reveniumBaseUrl: 'https://api.revenium.ai',
|
|
112
|
+
* });
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export function configure(config) {
|
|
116
|
+
return initializeRevenium(config);
|
|
117
|
+
}
|
|
98
118
|
/**
|
|
99
119
|
* Initialize Revenium middleware from environment variables
|
|
100
120
|
*/
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,sEAAsE;AACtE,OAAO,gCAAgC,CAAC;AAExC,oCAAoC;AACpC,OAAO,EACL,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,SAAS,GACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAuB,MAAM,yBAAyB,CAAC;AAG3E,6BAA6B;AAC7B,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,IAAI,iBAAiB,GAAG,KAAK,CAAC;AA6G9B,oGAAoG;AACpG,mGAAmG;AACnG,oFAAoF;AAEpF,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,sCAAsC;AACtC,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,0CAA0C;AAC1C,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAEzC,gBAAgB;AAChB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAsB;IAIvD,mEAAmE;IACnE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,yCAAyC;SACnD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,yCAAyC;QACzC,MAAM,kBAAkB,GAAG;YACzB,GAAG,MAAM;YACT,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qCAAqC;AACrC,cAAc,0BAA0B,CAAC;AAEzC,gCAAgC;AAChC,cAAc,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qCAAqC;AACrC,cAAc,0BAA0B,CAAC;AAEzC,gCAAgC;AAChC,cAAc,oBAAoB,CAAC;AAqInC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,0BAA0B;IAC1B,6BAAiB,CAAA;IACjB,2BAA2B;IAC3B,yCAA6B,CAAA;AAC/B,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB"}
|
|
@@ -20,7 +20,7 @@ const METADATA_FIELD_MAP = [
|
|
|
20
20
|
{
|
|
21
21
|
source: 'responseQualityScore',
|
|
22
22
|
transform: (value) => {
|
|
23
|
-
// Ensure quality score is between 0 and 1
|
|
23
|
+
// Ensure quality score is between 0.0 and 1.0 (API spec requirement)
|
|
24
24
|
if (typeof value === 'number')
|
|
25
25
|
return Math.max(0, Math.min(1, value));
|
|
26
26
|
return value;
|
|
@@ -81,8 +81,10 @@ export function validateMetadata(usageMetadata, requiredFields = []) {
|
|
|
81
81
|
// Check for common issues
|
|
82
82
|
if (usageMetadata.responseQualityScore) {
|
|
83
83
|
const score = usageMetadata.responseQualityScore;
|
|
84
|
+
// API Spec: https://revenium.readme.io/reference/meter_ai_completion (responseQualityScore)
|
|
85
|
+
// "typically on a 0.0-1.0 scale"
|
|
84
86
|
if (typeof score !== 'number' || score < 0 || score > 1) {
|
|
85
|
-
warnings.push('responseQualityScore should be a number between 0 and 1');
|
|
87
|
+
warnings.push('responseQualityScore should be a number between 0.0 and 1.0');
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
90
|
if (usageMetadata.subscriber?.email && !usageMetadata.subscriber.email.includes('@')) {
|
|
@@ -125,18 +127,22 @@ export function extractMetadata(params) {
|
|
|
125
127
|
}
|
|
126
128
|
/**
|
|
127
129
|
* Create a metadata context for consistent logging
|
|
130
|
+
* Uses sanitization to protect PII (emails are masked)
|
|
128
131
|
*
|
|
129
132
|
* @param usageMetadata - Source metadata
|
|
130
|
-
* @returns Logging context object
|
|
133
|
+
* @returns Logging context object with sanitized PII
|
|
131
134
|
*/
|
|
132
135
|
export function createLoggingContext(usageMetadata) {
|
|
133
136
|
if (!usageMetadata)
|
|
134
137
|
return {};
|
|
138
|
+
// Use sanitizer to protect PII in logs
|
|
139
|
+
const sanitized = sanitizeMetadataForLogging(usageMetadata);
|
|
140
|
+
const sanitizedSubscriber = sanitized.subscriber;
|
|
135
141
|
return {
|
|
136
142
|
traceId: usageMetadata.traceId,
|
|
137
143
|
taskType: usageMetadata.taskType,
|
|
138
144
|
subscriberId: usageMetadata.subscriber?.id,
|
|
139
|
-
subscriberEmail:
|
|
145
|
+
subscriberEmail: sanitizedSubscriber?.email, // ← Now masked: us***@example.com
|
|
140
146
|
organizationId: usageMetadata.organizationId,
|
|
141
147
|
productId: usageMetadata.productId,
|
|
142
148
|
agent: usageMetadata.agent,
|
|
@@ -161,7 +167,8 @@ export function sanitizeMetadataForLogging(usageMetadata) {
|
|
|
161
167
|
sanitizedSubscriber.id = subscriber.id;
|
|
162
168
|
}
|
|
163
169
|
if (subscriber.email) {
|
|
164
|
-
|
|
170
|
+
// Mask email: handles single-char emails (a@x.com → a***@x.com)
|
|
171
|
+
sanitizedSubscriber.email = subscriber.email.replace(/(.{1,2}).*(@.*)/, '$1***$2');
|
|
165
172
|
}
|
|
166
173
|
if (subscriber.credential) {
|
|
167
174
|
sanitizedSubscriber.credential = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-builder.js","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH;;;;GAIG;AACH,MAAM,kBAAkB,GAA0B;IAChD,EAAE,MAAM,EAAE,SAAS,EAAE;IACrB,EAAE,MAAM,EAAE,UAAU,EAAE;IACtB,EAAE,MAAM,EAAE,OAAO,EAAE;IACnB,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAC5B,EAAE,MAAM,EAAE,WAAW,EAAE;IACvB,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,iDAAiD;IAC3E,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAC5B;QACE,MAAM,EAAE,sBAAsB;QAC9B,SAAS,EAAE,CAAC,KAAc,EAAE,EAAE;YAC5B,
|
|
1
|
+
{"version":3,"file":"metadata-builder.js","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,12 @@ const STOP_REASON_MAP = {
|
|
|
17
17
|
timeout: 'TIMEOUT',
|
|
18
18
|
length: 'TOKEN_LIMIT',
|
|
19
19
|
max_tokens: 'TOKEN_LIMIT',
|
|
20
|
+
cost_limit: 'COST_LIMIT',
|
|
21
|
+
completion_limit: 'COMPLETION_LIMIT',
|
|
20
22
|
content_filter: 'ERROR',
|
|
21
23
|
error: 'ERROR',
|
|
24
|
+
cancelled: 'CANCELLED',
|
|
25
|
+
canceled: 'CANCELLED', // Handle both spellings
|
|
22
26
|
// Anthropic stop reasons (for consistency across middleware)
|
|
23
27
|
end_turn: 'END',
|
|
24
28
|
stop_sequence: 'END_SEQUENCE',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-reason-mapper.js","sourceRoot":"","sources":["../../../src/utils/stop-reason-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,eAAe,GAA2B;IAC9C,mCAAmC;IACnC,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,cAAc;IAC7B,UAAU,EAAE,cAAc;IAC1B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,aAAa;IACzB,cAAc,EAAE,OAAO;IACvB,KAAK,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"stop-reason-mapper.js","sourceRoot":"","sources":["../../../src/utils/stop-reason-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,eAAe,GAA2B;IAC9C,mCAAmC;IACnC,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,cAAc;IAC7B,UAAU,EAAE,cAAc;IAC1B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,OAAO;IACvB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,WAAW,EAAG,wBAAwB;IAEhD,6DAA6D;IAC7D,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,cAAc;IAC7B,QAAQ,EAAE,cAAc;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,kBAA6C,EAC7C,MAA4D;IAE5D,IAAI,CAAC,kBAAkB;QAAE,OAAO,mBAAmB,CAAC;IACpD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC1D,MAAM,YAAY,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAEvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,mEAAmE;QACnE,MAAM,EAAE,IAAI,CAAC,wBAAwB,kBAAkB,gBAAgB,mBAAmB,EAAE,CAAC,CAAC;QAC9F,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,OAAO,MAAM,CAAC,WAAW,EAAE,IAAI,eAAe,CAAC;AACjD,CAAC"}
|
|
@@ -7,19 +7,44 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Build Revenium API URL with proper path handling
|
|
9
9
|
*
|
|
10
|
-
* This function
|
|
11
|
-
*
|
|
10
|
+
* This function intelligently handles base URLs and ensures the correct path structure.
|
|
11
|
+
* Logic:
|
|
12
|
+
* - If URL has /meter/v2 → append endpoint as-is
|
|
13
|
+
* - If URL has /meter only → append /v2 and endpoint
|
|
14
|
+
* - If URL has neither → append /meter/v2 and endpoint
|
|
12
15
|
*
|
|
13
|
-
*
|
|
16
|
+
* Examples:
|
|
17
|
+
* - 'https://api.revenium.ai' + '/ai/completions' → 'https://api.revenium.ai/meter/v2/ai/completions'
|
|
18
|
+
* - 'https://api.revenium.ai/meter' + '/ai/completions' → 'https://api.revenium.ai/meter/v2/ai/completions'
|
|
19
|
+
* - 'https://api.revenium.ai/meter/v2' + '/ai/completions' → 'https://api.revenium.ai/meter/v2/ai/completions'
|
|
20
|
+
*
|
|
21
|
+
* @param baseUrl - The base URL from configuration (may include /meter or /meter/v2)
|
|
14
22
|
* @param endpoint - The API endpoint to append (e.g., '/ai/completions')
|
|
15
23
|
* @returns Complete URL for the API call
|
|
16
24
|
*/
|
|
17
25
|
export function buildReveniumUrl(baseUrl, endpoint) {
|
|
18
26
|
// Normalize the base URL by removing trailing slashes
|
|
19
|
-
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
let normalizedBase = baseUrl.replace(/\/+$/, '');
|
|
28
|
+
// Check if /meter/v2 is already at the end
|
|
29
|
+
const hasMeterV2AtEnd = /\/meter\/v2$/i.test(normalizedBase);
|
|
30
|
+
if (hasMeterV2AtEnd) {
|
|
31
|
+
// Already has /meter/v2, just append endpoint
|
|
32
|
+
return `${normalizedBase}${endpoint}`;
|
|
33
|
+
}
|
|
34
|
+
// Check if /meter is at the end (but not /meter/v2)
|
|
35
|
+
const hasMeterAtEnd = /\/meter$/i.test(normalizedBase);
|
|
36
|
+
if (hasMeterAtEnd) {
|
|
37
|
+
// Has /meter but not /v2, append /v2 and endpoint
|
|
38
|
+
return `${normalizedBase}/v2${endpoint}`;
|
|
39
|
+
}
|
|
40
|
+
// Check if /v2 is at the end (without /meter)
|
|
41
|
+
const hasV2AtEnd = /\/v2$/i.test(normalizedBase);
|
|
42
|
+
if (hasV2AtEnd) {
|
|
43
|
+
// Has /v2 but not /meter, append endpoint as-is
|
|
44
|
+
return `${normalizedBase}${endpoint}`;
|
|
45
|
+
}
|
|
46
|
+
// Has neither /meter nor /v2, append /meter/v2 and endpoint
|
|
47
|
+
return `${normalizedBase}/meter/v2${endpoint}`;
|
|
23
48
|
}
|
|
24
49
|
/**
|
|
25
50
|
* Validate URL format
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-builder.js","sourceRoot":"","sources":["../../../src/utils/url-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"url-builder.js","sourceRoot":"","sources":["../../../src/utils/url-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,QAAgB;IAChE,sDAAsD;IACtD,IAAI,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEjD,2CAA2C;IAC3C,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,eAAe,EAAE,CAAC;QACpB,8CAA8C;QAC9C,OAAO,GAAG,cAAc,GAAG,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,oDAAoD;IACpD,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,aAAa,EAAE,CAAC;QAClB,kDAAkD;QAClD,OAAO,GAAG,cAAc,MAAM,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,8CAA8C;IAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,UAAU,EAAE,CAAC;QACf,gDAAgD;QAChD,OAAO,GAAG,cAAc,GAAG,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,4DAA4D;IAC5D,OAAO,GAAG,cAAc,YAAY,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/core/config/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/core/config/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAgB3B,CAAC;AAQF;;GAEG;AACH,wBAAgB,SAAS,IAAI,cAAc,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAQtD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAmB1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-builder.d.ts","sourceRoot":"","sources":["../../../../src/core/tracking/payload-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAU5C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,GAAG,OAAO,EAC/B,QAAQ,EAAE,kBAAkB,GAAG,uBAAuB,EACtD,OAAO,EAAE,iBAAiB,GAAG,sBAAsB,EACnD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,GAC1B,eAAe,
|
|
1
|
+
{"version":3,"file":"payload-builder.d.ts","sourceRoot":"","sources":["../../../../src/core/tracking/payload-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAU5C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,GAAG,OAAO,EAC/B,QAAQ,EAAE,kBAAkB,GAAG,uBAAuB,EACtD,OAAO,EAAE,iBAAiB,GAAG,sBAAsB,EACnD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,GAC1B,eAAe,CA2FjB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Environment Variables:
|
|
8
8
|
* REVENIUM_METERING_API_KEY=hak_your_api_key
|
|
9
|
-
* REVENIUM_METERING_BASE_URL=https://api.revenium.
|
|
9
|
+
* REVENIUM_METERING_BASE_URL=https://api.revenium.ai (optional)
|
|
10
10
|
* OPENAI_API_KEY=sk_your_openai_key
|
|
11
11
|
*
|
|
12
12
|
* Simple Usage (auto-initialization):
|
|
@@ -60,7 +60,7 @@ export type {
|
|
|
60
60
|
* ```typescript
|
|
61
61
|
* const config: ReveniumConfig = {
|
|
62
62
|
* reveniumApiKey: 'hak_your_api_key',
|
|
63
|
-
* reveniumBaseUrl: 'https://api.revenium.
|
|
63
|
+
* reveniumBaseUrl: 'https://api.revenium.ai',
|
|
64
64
|
* debug: true
|
|
65
65
|
* };
|
|
66
66
|
* ```
|
|
@@ -152,6 +152,27 @@ export declare function initializeRevenium(config: ReveniumConfig): {
|
|
|
152
152
|
success: boolean;
|
|
153
153
|
message: string;
|
|
154
154
|
};
|
|
155
|
+
/**
|
|
156
|
+
* Configure Revenium middleware manually
|
|
157
|
+
* Alias for initializeRevenium() with a more intuitive name
|
|
158
|
+
*
|
|
159
|
+
* @param config - Revenium configuration object
|
|
160
|
+
* @returns Initialization result with success status and message
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* import { configure } from '@revenium/openai';
|
|
165
|
+
*
|
|
166
|
+
* configure({
|
|
167
|
+
* reveniumApiKey: 'hak_your_api_key',
|
|
168
|
+
* reveniumBaseUrl: 'https://api.revenium.ai',
|
|
169
|
+
* });
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
export declare function configure(config: ReveniumConfig): {
|
|
173
|
+
success: boolean;
|
|
174
|
+
message: string;
|
|
175
|
+
};
|
|
155
176
|
/**
|
|
156
177
|
* Initialize Revenium middleware from environment variables
|
|
157
178
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,gCAAgC,CAAC;AAWxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD;;;;;;;GAOG;AACH,YAAY;AACV;;;;;;;;;;;;;;GAcG;AACH,cAAc;AAEd;;;;;;;;;;;;;;;;GAgBG;AACH,aAAa;AAEb;;;;;;;;;;;;;;;GAeG;AACH,MAAM;AAEN;;;;;;;;;;;;;;GAcG;AACH,WAAW;AAEX;;;;;GAKG;AACH,QAAQ;AAER;;;;;;;;;;;;;;;GAeG;AACH,YAAY,GACb,MAAM,SAAS,CAAC;AAOjB,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAKzC;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAoCA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CA8BA;AAED;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AA6B9D;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAQA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,gCAAgC,CAAC;AAWxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD;;;;;;;GAOG;AACH,YAAY;AACV;;;;;;;;;;;;;;GAcG;AACH,cAAc;AAEd;;;;;;;;;;;;;;;;GAgBG;AACH,aAAa;AAEb;;;;;;;;;;;;;;;GAeG;AACH,MAAM;AAEN;;;;;;;;;;;;;;GAcG;AACH,WAAW;AAEX;;;;;GAKG;AACH,QAAQ;AAER;;;;;;;;;;;;;;;GAeG;AACH,YAAY,GACb,MAAM,SAAS,CAAC;AAOjB,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAKzC;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAoCA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAEA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CA8BA;AAED;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AA6B9D;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAQA"}
|
|
@@ -73,7 +73,7 @@ export interface Subscriber {
|
|
|
73
73
|
* productId: 'chat-assistant',
|
|
74
74
|
* taskType: 'customer-support',
|
|
75
75
|
* traceId: 'trace-789',
|
|
76
|
-
* responseQualityScore: 0.95,
|
|
76
|
+
* responseQualityScore: 0.95, // 0.0-1.0 scale per API spec
|
|
77
77
|
* agent: 'support-bot-v2'
|
|
78
78
|
* };
|
|
79
79
|
* ```
|
|
@@ -89,16 +89,12 @@ export interface UsageMetadata {
|
|
|
89
89
|
subscriptionId?: string;
|
|
90
90
|
/** Task type classification (e.g., 'chat', 'summarization', 'translation') */
|
|
91
91
|
taskType?: string;
|
|
92
|
-
/** Unique task identifier for request correlation */
|
|
93
|
-
taskId?: string;
|
|
94
92
|
/** Distributed tracing identifier for request tracking across services */
|
|
95
93
|
traceId?: string;
|
|
96
|
-
/** Quality score for response evaluation (0.0
|
|
94
|
+
/** Quality score for response evaluation (0.0-1.0 scale per API spec) */
|
|
97
95
|
responseQualityScore?: number;
|
|
98
96
|
/** Agent or model variant identifier for A/B testing and performance tracking */
|
|
99
97
|
agent?: string;
|
|
100
|
-
/** Allow additional custom fields for extensibility */
|
|
101
|
-
[key: string]: unknown;
|
|
102
98
|
}
|
|
103
99
|
/**
|
|
104
100
|
* Provider information for tracking API source
|
|
@@ -198,7 +194,7 @@ export interface AzureConfig {
|
|
|
198
194
|
* ```typescript
|
|
199
195
|
* const config: ReveniumConfig = {
|
|
200
196
|
* reveniumApiKey: 'hak_your_revenium_api_key',
|
|
201
|
-
* reveniumBaseUrl: 'https://api.revenium.
|
|
197
|
+
* reveniumBaseUrl: 'https://api.revenium.ai',
|
|
202
198
|
* debug: true,
|
|
203
199
|
* openaiApiKey: process.env.OPENAI_API_KEY
|
|
204
200
|
* };
|
|
@@ -207,7 +203,7 @@ export interface AzureConfig {
|
|
|
207
203
|
export interface ReveniumConfig {
|
|
208
204
|
/** Revenium API key for authentication (required) */
|
|
209
205
|
reveniumApiKey: string;
|
|
210
|
-
/** Revenium API base URL (optional, defaults to https://api.revenium.
|
|
206
|
+
/** Revenium API base URL (optional, defaults to https://api.revenium.ai) */
|
|
211
207
|
reveniumBaseUrl?: string;
|
|
212
208
|
/** Enable debug logging (optional, defaults to false) */
|
|
213
209
|
debug?: boolean;
|
|
@@ -249,7 +245,7 @@ export interface Logger {
|
|
|
249
245
|
*/
|
|
250
246
|
export interface ReveniumPayload {
|
|
251
247
|
transactionId: string;
|
|
252
|
-
operationType: 'CHAT' | 'EMBED';
|
|
248
|
+
operationType: 'CHAT' | 'GENERATE' | 'EMBED' | 'CLASSIFY' | 'SUMMARIZE' | 'TRANSLATE' | 'OTHER';
|
|
253
249
|
costType: 'AI';
|
|
254
250
|
model: string;
|
|
255
251
|
provider: string;
|
|
@@ -262,12 +258,12 @@ export interface ReveniumPayload {
|
|
|
262
258
|
inputTokenCount: number;
|
|
263
259
|
outputTokenCount: number;
|
|
264
260
|
totalTokenCount: number;
|
|
265
|
-
reasoningTokenCount: number;
|
|
266
|
-
cacheCreationTokenCount: number;
|
|
267
|
-
cacheReadTokenCount: number;
|
|
261
|
+
reasoningTokenCount: number | undefined;
|
|
262
|
+
cacheCreationTokenCount: number | undefined;
|
|
263
|
+
cacheReadTokenCount: number | undefined;
|
|
268
264
|
stopReason: string;
|
|
269
265
|
isStreamed: boolean;
|
|
270
|
-
timeToFirstToken?: number;
|
|
266
|
+
timeToFirstToken?: number | undefined;
|
|
271
267
|
inputTokenCost?: number;
|
|
272
268
|
outputTokenCost?: number;
|
|
273
269
|
totalCost?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,0BAA0B,CAAC;AAGzC,cAAc,oBAAoB,CAAC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,8 +147,7 @@ declare module 'openai/resources/embeddings' {
|
|
|
147
147
|
* },
|
|
148
148
|
* organizationId: 'my-company',
|
|
149
149
|
* productId: 'vector-search',
|
|
150
|
-
* taskType: 'document-indexing'
|
|
151
|
-
* taskId: 'batch-index-2024-01'
|
|
150
|
+
* taskType: 'document-indexing'
|
|
152
151
|
* }
|
|
153
152
|
* ```
|
|
154
153
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-augmentation.d.ts","sourceRoot":"","sources":["../../../src/types/openai-augmentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,CAAC;AAEV;;;;;GAKG;AACH,OAAO,QAAQ,+CAA+C,CAAC;IAC7D,UAAU,8BAA8B;QACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAkCG;QACH,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAED,UAAU,sCAAsC;QAC9C;;;;;;;WAOG;QACH,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAED,UAAU,mCAAmC;QAC3C;;;;;;;WAOG;QACH,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;CACF;AAED;;;;;GAKG;AACH,OAAO,QAAQ,6BAA6B,CAAC;IAC3C,UAAU,qBAAqB;QAC7B
|
|
1
|
+
{"version":3,"file":"openai-augmentation.d.ts","sourceRoot":"","sources":["../../../src/types/openai-augmentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,CAAC;AAEV;;;;;GAKG;AACH,OAAO,QAAQ,+CAA+C,CAAC;IAC7D,UAAU,8BAA8B;QACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAkCG;QACH,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAED,UAAU,sCAAsC;QAC9C;;;;;;;WAOG;QACH,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAED,UAAU,mCAAmC;QAC3C;;;;;;;WAOG;QACH,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;CACF;AAED;;;;;GAKG;AACH,OAAO,QAAQ,6BAA6B,CAAC;IAC3C,UAAU,qBAAqB;QAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAmCG;QACH,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;CACF;AAED;;;;;GAKG;AACH,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,SAAS,CAAC;QAClB,UAAU,oBAAoB;YAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAyCG;YACH,aAAa,CAAC,EAAE,aAAa,CAAC;SAC/B;KACF;CACF"}
|
|
@@ -49,9 +49,10 @@ export declare function extractMetadata<T extends Record<string, unknown>>(param
|
|
|
49
49
|
};
|
|
50
50
|
/**
|
|
51
51
|
* Create a metadata context for consistent logging
|
|
52
|
+
* Uses sanitization to protect PII (emails are masked)
|
|
52
53
|
*
|
|
53
54
|
* @param usageMetadata - Source metadata
|
|
54
|
-
* @returns Logging context object
|
|
55
|
+
* @returns Logging context object with sanitized PII
|
|
55
56
|
*/
|
|
56
57
|
export declare function createLoggingContext(usageMetadata?: UsageMetadata): Record<string, unknown>;
|
|
57
58
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAc,MAAM,mBAAmB,CAAC;AAuC9D;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoB1F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,CAAC,EAAE,aAAa,EAC7B,cAAc,GAAE,CAAC,MAAM,aAAa,CAAC,EAAO,GAC3C;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,
|
|
1
|
+
{"version":3,"file":"metadata-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAc,MAAM,mBAAmB,CAAC;AAuC9D;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoB1F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,CAAC,EAAE,aAAa,EAC7B,cAAc,GAAE,CAAC,MAAM,aAAa,CAAC,EAAO,GAC3C;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAqCA;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,GAAG,aAAa,CAQtF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,MAAM,EAAE,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,aAAa,CAAA;CAAE,GAC5C;IACD,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;CACvC,CAMA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgB3F;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BjG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-reason-mapper.d.ts","sourceRoot":"","sources":["../../../src/utils/stop-reason-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"stop-reason-mapper.d.ts","sourceRoot":"","sources":["../../../src/utils/stop-reason-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgCH;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAAE,GAC3D,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D"}
|
|
@@ -7,10 +7,18 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Build Revenium API URL with proper path handling
|
|
9
9
|
*
|
|
10
|
-
* This function
|
|
11
|
-
*
|
|
10
|
+
* This function intelligently handles base URLs and ensures the correct path structure.
|
|
11
|
+
* Logic:
|
|
12
|
+
* - If URL has /meter/v2 → append endpoint as-is
|
|
13
|
+
* - If URL has /meter only → append /v2 and endpoint
|
|
14
|
+
* - If URL has neither → append /meter/v2 and endpoint
|
|
12
15
|
*
|
|
13
|
-
*
|
|
16
|
+
* Examples:
|
|
17
|
+
* - 'https://api.revenium.ai' + '/ai/completions' → 'https://api.revenium.ai/meter/v2/ai/completions'
|
|
18
|
+
* - 'https://api.revenium.ai/meter' + '/ai/completions' → 'https://api.revenium.ai/meter/v2/ai/completions'
|
|
19
|
+
* - 'https://api.revenium.ai/meter/v2' + '/ai/completions' → 'https://api.revenium.ai/meter/v2/ai/completions'
|
|
20
|
+
*
|
|
21
|
+
* @param baseUrl - The base URL from configuration (may include /meter or /meter/v2)
|
|
14
22
|
* @param endpoint - The API endpoint to append (e.g., '/ai/completions')
|
|
15
23
|
* @returns Complete URL for the API call
|
|
16
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/url-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"url-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/url-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2B1E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C"}
|