@revenium/openai 1.0.15 → 1.1.0

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 (50) hide show
  1. package/.env.example +28 -8
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +173 -0
  4. package/dist/cjs/core/config/loader.js +27 -1
  5. package/dist/cjs/core/config/loader.js.map +1 -1
  6. package/dist/cjs/core/middleware/interfaces.js +70 -32
  7. package/dist/cjs/core/middleware/interfaces.js.map +1 -1
  8. package/dist/cjs/core/tracking/index.js +3 -1
  9. package/dist/cjs/core/tracking/index.js.map +1 -1
  10. package/dist/cjs/core/tracking/payload-builder.js +54 -4
  11. package/dist/cjs/core/tracking/payload-builder.js.map +1 -1
  12. package/dist/cjs/core/tracking/summary-printer.js +196 -0
  13. package/dist/cjs/core/tracking/summary-printer.js.map +1 -0
  14. package/dist/cjs/core/tracking/usage-tracker.js +39 -7
  15. package/dist/cjs/core/tracking/usage-tracker.js.map +1 -1
  16. package/dist/cjs/types/index.js.map +1 -1
  17. package/dist/cjs/utils/prompt-extraction.js +231 -0
  18. package/dist/cjs/utils/prompt-extraction.js.map +1 -0
  19. package/dist/esm/core/config/loader.js +27 -1
  20. package/dist/esm/core/config/loader.js.map +1 -1
  21. package/dist/esm/core/middleware/interfaces.js +70 -32
  22. package/dist/esm/core/middleware/interfaces.js.map +1 -1
  23. package/dist/esm/core/tracking/index.js +1 -0
  24. package/dist/esm/core/tracking/index.js.map +1 -1
  25. package/dist/esm/core/tracking/payload-builder.js +54 -4
  26. package/dist/esm/core/tracking/payload-builder.js.map +1 -1
  27. package/dist/esm/core/tracking/summary-printer.js +193 -0
  28. package/dist/esm/core/tracking/summary-printer.js.map +1 -0
  29. package/dist/esm/core/tracking/usage-tracker.js +39 -7
  30. package/dist/esm/core/tracking/usage-tracker.js.map +1 -1
  31. package/dist/esm/types/index.js.map +1 -1
  32. package/dist/esm/utils/prompt-extraction.js +225 -0
  33. package/dist/esm/utils/prompt-extraction.js.map +1 -0
  34. package/dist/types/core/config/loader.d.ts.map +1 -1
  35. package/dist/types/core/middleware/interfaces.d.ts +4 -1
  36. package/dist/types/core/middleware/interfaces.d.ts.map +1 -1
  37. package/dist/types/core/tracking/index.d.ts +1 -0
  38. package/dist/types/core/tracking/index.d.ts.map +1 -1
  39. package/dist/types/core/tracking/payload-builder.d.ts +1 -1
  40. package/dist/types/core/tracking/payload-builder.d.ts.map +1 -1
  41. package/dist/types/core/tracking/summary-printer.d.ts +9 -0
  42. package/dist/types/core/tracking/summary-printer.d.ts.map +1 -0
  43. package/dist/types/core/tracking/usage-tracker.d.ts +2 -0
  44. package/dist/types/core/tracking/usage-tracker.d.ts.map +1 -1
  45. package/dist/types/types/index.d.ts +34 -0
  46. package/dist/types/types/index.d.ts.map +1 -1
  47. package/dist/types/utils/prompt-extraction.d.ts +29 -0
  48. package/dist/types/utils/prompt-extraction.d.ts.map +1 -0
  49. package/examples/openai/prompt-capture.ts +95 -0
  50. package/package.json +12 -1
package/.env.example CHANGED
@@ -1,15 +1,35 @@
1
- # Revenium Configuration (Required)
1
+ # OpenAI API Configuration
2
+ OPENAI_API_KEY=sk-your-openai-api-key-here
3
+
4
+ # Azure OpenAI Configuration (Optional)
5
+ AZURE_OPENAI_API_KEY=your-azure-openai-api-key
6
+ AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
7
+ AZURE_OPENAI_API_VERSION=2024-02-15-preview
8
+
9
+ # Revenium Metering Configuration
2
10
  REVENIUM_METERING_API_KEY=hak_your_revenium_api_key_here
3
11
  REVENIUM_METERING_BASE_URL=https://api.revenium.ai
4
12
 
5
- # OpenAI Configuration (Required for OpenAI native API)
6
- OPENAI_API_KEY=sk-your_openai_api_key_here
13
+ # Trace Visualization Fields (Optional)
14
+ REVENIUM_ENVIRONMENT=production
15
+ REVENIUM_REGION=us-east-1
16
+ REVENIUM_CREDENTIAL_ALIAS=OpenAI Production Key
17
+ REVENIUM_TRACE_TYPE=customer_support
18
+ REVENIUM_TRACE_NAME=Support Ticket #12345
19
+ REVENIUM_PARENT_TRANSACTION_ID=parent-txn-123
20
+ REVENIUM_TRANSACTION_NAME=Answer Customer Question
21
+ REVENIUM_RETRY_NUMBER=0
7
22
 
8
- # Azure OpenAI Configuration (Optional - for Azure OpenAI support)
9
- AZURE_OPENAI_API_KEY=your_azure_openai_api_key
10
- AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
11
- AZURE_OPENAI_API_VERSION=your_azure_openai_api_version
23
+ # Terminal Summary Output (Optional)
24
+ # Enable to print cost/metrics summary to terminal after each API request
25
+ # Values: 'true' or 'human' for human-readable output, 'json' for JSON output, 'false' to disable
26
+ REVENIUM_PRINT_SUMMARY=false
27
+ # Team ID required to display cost information in terminal summary
28
+ # Find your team ID in the Revenium web application
29
+ REVENIUM_TEAM_ID=your-team-id-here
12
30
 
13
31
  # Debug Configuration (Optional)
14
- REVENIUM_DEBUG=false # Set to true to enable debug logging
32
+ REVENIUM_DEBUG=false
15
33
 
34
+ # AWS Region Detection (Optional - auto-detected if not set)
35
+ AWS_REGION=us-east-1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.1.0] - 2026-01-20
9
+
10
+ ### Added
11
+
12
+ - Comprehensive credential sanitization with support for:
13
+ - OpenAI keys (sk-_, sk-proj-_, sk-ant-\*)
14
+ - Perplexity keys (pplx-\*)
15
+ - AWS access keys (AKIA\*)
16
+ - GitHub tokens (ghp*\*, ghs*\*)
17
+ - JWT tokens
18
+ - Bearer tokens
19
+ - Generic API keys, tokens, passwords, and secrets
20
+
21
+ ### Security
22
+
23
+ - Enhanced credential sanitization with support for multiple credential types
24
+ - Fixed password regex pattern to properly handle quoted values
25
+ - Improved character class consistency across all patterns
26
+
8
27
  ## [1.0.15] - 2025-12-09
9
28
 
10
29
  ### Added
package/README.md CHANGED
@@ -128,6 +128,146 @@ The middleware supports the following optional metadata fields for tracking:
128
128
  - [`examples/README.md`](https://github.com/revenium/revenium-middleware-openai-node/blob/HEAD/examples/README.md) - All usage examples
129
129
  - [Revenium API Reference](https://revenium.readme.io/reference/meter_ai_completion) - Complete API documentation
130
130
 
131
+ ## Trace Visualization Fields
132
+
133
+ The middleware automatically captures trace visualization fields for distributed tracing and analytics:
134
+
135
+ | Field | Type | Description | Environment Variable |
136
+ | --------------------- | ------ | ------------------------------------------------------------------------------- | ---------------------------------- |
137
+ | `environment` | string | Deployment environment (production, staging, development) | `REVENIUM_ENVIRONMENT`, `NODE_ENV` |
138
+ | `operationType` | string | Operation classification (CHAT, EMBED, etc.) - automatically detected | N/A (auto-detected) |
139
+ | `operationSubtype` | string | Additional detail (function_call, etc.) - automatically detected | N/A (auto-detected) |
140
+ | `retryNumber` | number | Retry attempt number (0 for first attempt, 1+ for retries) | `REVENIUM_RETRY_NUMBER` |
141
+ | `parentTransactionId` | string | Parent transaction reference for distributed tracing | `REVENIUM_PARENT_TRANSACTION_ID` |
142
+ | `transactionName` | string | Human-friendly operation label | `REVENIUM_TRANSACTION_NAME` |
143
+ | `region` | string | Cloud region (us-east-1, etc.) - auto-detected from AWS/Azure/GCP | `AWS_REGION`, `REVENIUM_REGION` |
144
+ | `credentialAlias` | string | Human-readable credential name | `REVENIUM_CREDENTIAL_ALIAS` |
145
+ | `traceType` | string | Categorical identifier (alphanumeric, hyphens, underscores only, max 128 chars) | `REVENIUM_TRACE_TYPE` |
146
+ | `traceName` | string | Human-readable label for trace instances (max 256 chars) | `REVENIUM_TRACE_NAME` |
147
+
148
+ **All trace visualization fields are optional.** The middleware will automatically detect and populate these fields when possible.
149
+
150
+ ### Example Configuration
151
+
152
+ ```env
153
+ REVENIUM_ENVIRONMENT=production
154
+ REVENIUM_REGION=us-east-1
155
+ REVENIUM_CREDENTIAL_ALIAS=OpenAI Production Key
156
+ REVENIUM_TRACE_TYPE=customer_support
157
+ REVENIUM_TRACE_NAME=Support Ticket #12345
158
+ REVENIUM_PARENT_TRANSACTION_ID=parent-txn-123
159
+ REVENIUM_TRANSACTION_NAME=Answer Customer Question
160
+ REVENIUM_RETRY_NUMBER=0
161
+ ```
162
+
163
+ ## Terminal Summary Output
164
+
165
+ The middleware can optionally print a cost/metrics summary to the terminal after each API request. This is useful during development to see token usage and estimated costs without checking the dashboard.
166
+
167
+ ### Enabling Terminal Summary
168
+
169
+ Set the following environment variables:
170
+
171
+ ```env
172
+ # Use 'true' or 'human' for human-readable output, 'json' for JSON output
173
+ REVENIUM_PRINT_SUMMARY=true
174
+ REVENIUM_TEAM_ID=your-team-id-here
175
+ ```
176
+
177
+ Or configure programmatically:
178
+
179
+ ```typescript
180
+ Initialize({
181
+ reveniumApiKey: "hak_your-api-key",
182
+ printSummary: true, // or 'human' or 'json'
183
+ teamId: "your-team-id",
184
+ });
185
+ ```
186
+
187
+ ### Output Formats
188
+
189
+ #### Human-Readable Format (default)
190
+
191
+ Set `REVENIUM_PRINT_SUMMARY=true` or `REVENIUM_PRINT_SUMMARY=human`:
192
+
193
+ ```
194
+ ============================================================
195
+ 📊 REVENIUM USAGE SUMMARY
196
+ ============================================================
197
+ 🤖 Model: gpt-4o-mini
198
+ 🏢 Provider: OpenAI
199
+ ⏱️ Duration: 1.23s
200
+
201
+ 💬 Token Usage:
202
+ 📥 Input Tokens: 150
203
+ 📤 Output Tokens: 250
204
+ 📊 Total Tokens: 400
205
+
206
+ 💰 Cost: $0.000450
207
+ ============================================================
208
+ ```
209
+
210
+ #### JSON Format
211
+
212
+ Set `REVENIUM_PRINT_SUMMARY=json` for machine-readable output:
213
+
214
+ ```json
215
+ {
216
+ "model": "gpt-4o-mini",
217
+ "provider": "OpenAI",
218
+ "durationSeconds": 1.23,
219
+ "inputTokenCount": 150,
220
+ "outputTokenCount": 250,
221
+ "totalTokenCount": 400,
222
+ "cost": 0.00045,
223
+ "traceId": "abc-123"
224
+ }
225
+ ```
226
+
227
+ The JSON output includes all the same fields as the human-readable format and is ideal for log parsing, automation, and integration with other tools.
228
+
229
+ **Note:** The `teamId` is required to display cost information. If not provided, the summary will show token usage but the `cost` field will be `null` with a `costStatus` of `"unavailable"`. When `teamId` is set but the cost hasn't been aggregated yet, the `cost` field will be `null` with a `costStatus` of `"pending"`. You can find your team ID in the Revenium web application.
230
+
231
+ ## Prompt Capture
232
+
233
+ The middleware can capture prompts and responses for analysis. This feature is **disabled by default** for privacy and performance.
234
+
235
+ ### Configuration
236
+
237
+ Enable prompt capture globally via environment variable:
238
+
239
+ ```bash
240
+ REVENIUM_CAPTURE_PROMPTS=true
241
+ REVENIUM_MAX_PROMPT_SIZE=50000 # Optional: default is 50000 characters
242
+ ```
243
+
244
+ Or enable per-request via metadata:
245
+
246
+ ```typescript
247
+ const response = await client.chat.completions.create(
248
+ {
249
+ model: "gpt-4",
250
+ messages: [{ role: "user", content: "Hello!" }],
251
+ },
252
+ {
253
+ usageMetadata: { capturePrompts: true },
254
+ },
255
+ );
256
+ ```
257
+
258
+ ### Security
259
+
260
+ Captured prompts are automatically sanitized to remove sensitive credentials:
261
+
262
+ - API keys (OpenAI, Anthropic, Perplexity)
263
+ - AWS access keys
264
+ - GitHub tokens
265
+ - JWT tokens
266
+ - Bearer tokens
267
+ - Passwords and secrets
268
+
269
+ Prompts exceeding `maxPromptSize` are truncated and marked with `promptsTruncated: true`.
270
+
131
271
  ## Configuration Options
132
272
 
133
273
  ### Environment Variables
@@ -249,6 +389,39 @@ For detailed documentation, visit [docs.revenium.io](https://docs.revenium.io)
249
389
 
250
390
  See [CONTRIBUTING.md](https://github.com/revenium/revenium-middleware-openai-node/blob/HEAD/CONTRIBUTING.md)
251
391
 
392
+ ## Testing
393
+
394
+ The middleware includes comprehensive automated tests that fail the build when something is wrong.
395
+
396
+ ### Run All Tests
397
+
398
+ Run unit, integration, and performance tests:
399
+
400
+ ```bash
401
+ npm test
402
+ ```
403
+
404
+ ### Run Tests with Coverage
405
+
406
+ ```bash
407
+ npm run test:coverage
408
+ ```
409
+
410
+ ### Run Tests in Watch Mode
411
+
412
+ ```bash
413
+ npm run test:watch
414
+ ```
415
+
416
+ ### Test Requirements
417
+
418
+ All tests are designed to:
419
+
420
+ - ✅ Fail the build when something is wrong (`process.exit(1)`)
421
+ - ✅ Pass when everything works correctly (`process.exit(0)`)
422
+ - ✅ Provide clear error messages
423
+ - ✅ Test trace field validation, environment detection, and region detection
424
+
252
425
  ## Code of Conduct
253
426
 
254
427
  See [CODE_OF_CONDUCT.md](https://github.com/revenium/revenium-middleware-openai-node/blob/HEAD/CODE_OF_CONDUCT.md)
@@ -13,6 +13,23 @@ const dotenv_1 = require("dotenv");
13
13
  const fs_1 = require("fs");
14
14
  const path_1 = require("path");
15
15
  const constants_js_1 = require("../../utils/constants.js");
16
+ /**
17
+ * Parse REVENIUM_PRINT_SUMMARY environment variable value
18
+ * @param value - The raw environment variable value
19
+ * @returns boolean | SummaryFormat - false if disabled, 'human' or 'json' if enabled
20
+ */
21
+ function parsePrintSummaryValue(value) {
22
+ if (!value)
23
+ return false;
24
+ const normalized = value.toLowerCase().trim();
25
+ if (normalized === "json") {
26
+ return "json";
27
+ }
28
+ if (normalized === "human" || normalized === "true") {
29
+ return "human";
30
+ }
31
+ return false;
32
+ }
16
33
  /**
17
34
  * Flag to track if .env files have been loaded
18
35
  */
@@ -48,13 +65,22 @@ function loadConfigFromEnv() {
48
65
  process.env.REVENIUM_BASE_URL ||
49
66
  constants_js_1.DEFAULT_REVENIUM_BASE_URL;
50
67
  const openaiApiKey = process.env.OPENAI_API_KEY;
68
+ const printSummary = parsePrintSummaryValue(process.env.REVENIUM_PRINT_SUMMARY);
69
+ const teamId = process.env.REVENIUM_TEAM_ID;
70
+ const capturePromptsEnv = process.env.REVENIUM_CAPTURE_PROMPTS;
51
71
  if (!reveniumApiKey)
52
72
  return null;
53
- return {
73
+ const config = {
54
74
  reveniumApiKey,
55
75
  reveniumBaseUrl,
56
76
  openaiApiKey,
77
+ printSummary,
78
+ teamId,
57
79
  };
80
+ if (capturePromptsEnv !== undefined) {
81
+ config.capturePrompts = capturePromptsEnv.toLowerCase() === "true";
82
+ }
83
+ return config;
58
84
  }
59
85
  /**
60
86
  * Load Azure configuration from environment variables
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../src/core/config/loader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwCH,8CAiBC;AAMD,wDAcC;AAKD,kDAIC;AAnFD,mCAA8C;AAC9C,2BAAgC;AAChC,+BAA4B;AAC5B,2DAAqE;AAErE;;GAEG;AACH,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B;;;GAGG;AACH,SAAS,YAAY;IACnB,IAAI,cAAc;QAAE,OAAO;IAE3B,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,IAAA,WAAI,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,IAAA,eAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,YAAY,EAAE,CAAC;IAEf,MAAM,cAAc,GAClB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACxE,MAAM,eAAe,GACnB,OAAO,CAAC,GAAG,CAAC,0BAA0B;QACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,wCAAyB,CAAC;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAEhD,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACL,cAAc;QACd,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB;IACpC,YAAY,EAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEhD,4CAA4C;IAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO;QACL,QAAQ;QACR,UAAU;QACV,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,CAAC,CAAC,CACP,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CACtE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../src/core/config/loader.ts"],"names":[],"mappings":"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"}
@@ -10,28 +10,62 @@ exports.AudioSpeechInterface = exports.AudioTranslationsInterface = exports.Audi
10
10
  const crypto_1 = require("crypto");
11
11
  const config_1 = require("../config");
12
12
  const tracking_1 = require("../tracking");
13
+ const prompt_extraction_js_1 = require("../../utils/prompt-extraction.js");
13
14
  const logger = (0, config_1.getLogger)();
14
15
  /**
15
16
  * StreamingWrapper - wraps OpenAI stream and tracks tokens
16
17
  */
17
18
  class StreamingWrapper {
18
- constructor(stream, config, providerInfo, model, metadata) {
19
+ constructor(stream, config, providerInfo, model, messages, metadata) {
19
20
  this.usage = {};
21
+ this.accumulatedContent = "";
20
22
  this.stream = stream;
21
23
  this.config = config;
22
24
  this.providerInfo = providerInfo;
23
25
  this.model = model;
26
+ this.messages = messages;
24
27
  this.metadata = metadata;
25
28
  this.startTime = Date.now();
26
29
  this.requestId = (0, crypto_1.randomUUID)();
27
30
  }
31
+ buildTrackingPayload(finishReason, timeToFirstToken) {
32
+ return {
33
+ requestId: this.requestId,
34
+ model: this.model,
35
+ promptTokens: this.usage.prompt_tokens || 0,
36
+ completionTokens: this.usage.completion_tokens || 0,
37
+ totalTokens: this.usage.total_tokens || 0,
38
+ reasoningTokens: this.usage.completion_tokens_details?.reasoning_tokens,
39
+ cachedTokens: this.usage.prompt_tokens_details?.cached_tokens,
40
+ duration: Date.now() - this.startTime,
41
+ finishReason,
42
+ usageMetadata: this.metadata,
43
+ isStreamed: true,
44
+ timeToFirstToken,
45
+ providerInfo: this.providerInfo,
46
+ messages: this.messages,
47
+ responseContent: this.accumulatedContent
48
+ ? (0, prompt_extraction_js_1.sanitizeCredentials)(this.accumulatedContent)
49
+ : undefined,
50
+ };
51
+ }
28
52
  async *[Symbol.asyncIterator]() {
53
+ let completed = false;
29
54
  try {
30
55
  for await (const chunk of this.stream) {
31
56
  // Record time to first token
32
57
  if (!this.firstTokenTime && chunk.choices[0]?.delta?.content) {
33
58
  this.firstTokenTime = Date.now();
34
59
  }
60
+ // Accumulate content for prompt capture
61
+ if (chunk.choices[0]?.delta?.content &&
62
+ (0, prompt_extraction_js_1.shouldCapturePrompts)(this.metadata)) {
63
+ const maxSize = (0, prompt_extraction_js_1.getMaxPromptSize)();
64
+ const remaining = maxSize - this.accumulatedContent.length;
65
+ if (remaining > 0) {
66
+ this.accumulatedContent += chunk.choices[0].delta.content.slice(0, remaining);
67
+ }
68
+ }
35
69
  // Accumulate usage data
36
70
  if (chunk.usage) {
37
71
  this.usage = chunk.usage;
@@ -42,54 +76,42 @@ class StreamingWrapper {
42
76
  }
43
77
  yield chunk;
44
78
  }
79
+ completed = true;
45
80
  // Stream completed - track usage
46
- const duration = Date.now() - this.startTime;
47
81
  const timeToFirstToken = this.firstTokenTime
48
82
  ? this.firstTokenTime - this.startTime
49
83
  : undefined;
50
- (0, tracking_1.trackUsageAsync)({
51
- requestId: this.requestId,
52
- model: this.model,
53
- promptTokens: this.usage.prompt_tokens || 0,
54
- completionTokens: this.usage.completion_tokens || 0,
55
- totalTokens: this.usage.total_tokens || 0,
56
- reasoningTokens: this.usage.completion_tokens_details?.reasoning_tokens,
57
- cachedTokens: this.usage.prompt_tokens_details?.cached_tokens,
58
- duration,
59
- finishReason: null, // Will be in final chunk
60
- usageMetadata: this.metadata,
61
- isStreamed: true,
62
- timeToFirstToken,
63
- providerInfo: this.providerInfo,
64
- });
84
+ (0, tracking_1.trackUsageAsync)(this.buildTrackingPayload(null, timeToFirstToken));
65
85
  logger.debug("Streaming completed", {
66
86
  requestId: this.requestId,
67
87
  model: this.model,
68
- duration,
88
+ duration: Date.now() - this.startTime,
69
89
  timeToFirstToken,
70
90
  });
71
91
  }
72
92
  catch (error) {
73
- const duration = Date.now() - this.startTime;
93
+ completed = true;
74
94
  // Track error
75
- (0, tracking_1.trackUsageAsync)({
76
- requestId: this.requestId,
77
- model: this.model,
78
- promptTokens: this.usage.prompt_tokens || 0,
79
- completionTokens: this.usage.completion_tokens || 0,
80
- totalTokens: this.usage.total_tokens || 0,
81
- duration,
82
- finishReason: "error",
83
- usageMetadata: this.metadata,
84
- isStreamed: true,
85
- providerInfo: this.providerInfo,
86
- });
95
+ (0, tracking_1.trackUsageAsync)(this.buildTrackingPayload("error"));
87
96
  logger.error("Streaming error", {
88
97
  error: error instanceof Error ? error.message : String(error),
89
98
  requestId: this.requestId,
90
99
  });
91
100
  throw error;
92
101
  }
102
+ finally {
103
+ if (!completed) {
104
+ const timeToFirstToken = this.firstTokenTime
105
+ ? this.firstTokenTime - this.startTime
106
+ : undefined;
107
+ (0, tracking_1.trackUsageAsync)(this.buildTrackingPayload("cancelled", timeToFirstToken));
108
+ logger.debug("Streaming cancelled", {
109
+ requestId: this.requestId,
110
+ model: this.model,
111
+ duration: Date.now() - this.startTime,
112
+ });
113
+ }
114
+ }
93
115
  }
94
116
  }
95
117
  exports.StreamingWrapper = StreamingWrapper;
@@ -113,6 +135,7 @@ class CompletionsInterface {
113
135
  const response = await this.client.chat.completions.create(params);
114
136
  const duration = Date.now() - startTime;
115
137
  // Track usage
138
+ const responseContent = response.choices[0]?.message?.content;
116
139
  (0, tracking_1.trackUsageAsync)({
117
140
  requestId: response.id || requestId,
118
141
  model: response.model,
@@ -126,6 +149,10 @@ class CompletionsInterface {
126
149
  usageMetadata: metadata,
127
150
  isStreamed: false,
128
151
  providerInfo: this.providerInfo,
152
+ messages: params.messages,
153
+ responseContent: responseContent && (0, prompt_extraction_js_1.shouldCapturePrompts)(metadata)
154
+ ? (0, prompt_extraction_js_1.sanitizeCredentials)(responseContent)
155
+ : undefined,
129
156
  });
130
157
  logger.debug("Chat completion created", {
131
158
  requestId: response.id,
@@ -148,6 +175,7 @@ class CompletionsInterface {
148
175
  usageMetadata: metadata,
149
176
  isStreamed: false,
150
177
  providerInfo: this.providerInfo,
178
+ messages: params.messages,
151
179
  });
152
180
  logger.error("Chat completion failed", {
153
181
  error: error instanceof Error ? error.message : String(error),
@@ -168,7 +196,7 @@ class CompletionsInterface {
168
196
  stream: true,
169
197
  stream_options: { include_usage: true },
170
198
  });
171
- return new StreamingWrapper(stream, this.config, this.providerInfo, params.model, metadata);
199
+ return new StreamingWrapper(stream, this.config, this.providerInfo, params.model, params.messages, metadata);
172
200
  }
173
201
  }
174
202
  exports.CompletionsInterface = CompletionsInterface;
@@ -256,6 +284,9 @@ class ResponsesInterface {
256
284
  // Track usage (Responses API has different usage structure)
257
285
  const usage = response.usage;
258
286
  if (usage) {
287
+ const inputMessages = Array.isArray(params.input)
288
+ ? params.input
289
+ : [{ role: "user", content: params.input }];
259
290
  (0, tracking_1.trackUsageAsync)({
260
291
  requestId: response.id || requestId,
261
292
  model: response.model || params.model,
@@ -269,6 +300,8 @@ class ResponsesInterface {
269
300
  usageMetadata: metadata,
270
301
  isStreamed: false,
271
302
  providerInfo: this.providerInfo,
303
+ messages: inputMessages,
304
+ responseContent: response.output || undefined,
272
305
  });
273
306
  }
274
307
  logger.debug("Response created (Responses API)", {
@@ -323,6 +356,9 @@ class ResponsesInterface {
323
356
  const duration = Date.now() - startTime;
324
357
  if (finalResponse?.usage) {
325
358
  const usage = finalResponse.usage;
359
+ const inputMessages = Array.isArray(params.input)
360
+ ? params.input
361
+ : [{ role: "user", content: params.input }];
326
362
  (0, tracking_1.trackUsageAsync)({
327
363
  requestId: finalResponse.id || requestId,
328
364
  model: finalResponse.model || params.model,
@@ -336,6 +372,8 @@ class ResponsesInterface {
336
372
  usageMetadata: metadata,
337
373
  isStreamed: true,
338
374
  providerInfo: self.providerInfo,
375
+ messages: inputMessages,
376
+ responseContent: fullContent,
339
377
  });
340
378
  }
341
379
  logger.debug("Streaming response completed (Responses API)", {
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/core/middleware/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/core/middleware/interfaces.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * separating concerns into focused sub-modules.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.mapStopReason = exports.trackAudioUsageAsync = exports.trackImageUsageAsync = exports.trackEmbeddingsUsageAsync = exports.trackUsageAsync = exports.sendReveniumEmbeddingsMetrics = exports.sendReveniumMetrics = exports.buildAudioPayload = exports.buildImagePayload = exports.buildPayload = exports.sendToRevenium = void 0;
9
+ exports.mapStopReason = exports.printUsageSummary = exports.trackAudioUsageAsync = exports.trackImageUsageAsync = exports.trackEmbeddingsUsageAsync = exports.trackUsageAsync = exports.sendReveniumEmbeddingsMetrics = exports.sendReveniumMetrics = exports.buildAudioPayload = exports.buildImagePayload = exports.buildPayload = exports.sendToRevenium = void 0;
10
10
  // Re-export all tracking functionality
11
11
  var api_client_js_1 = require("./api-client.js");
12
12
  Object.defineProperty(exports, "sendToRevenium", { enumerable: true, get: function () { return api_client_js_1.sendToRevenium; } });
@@ -21,6 +21,8 @@ Object.defineProperty(exports, "trackUsageAsync", { enumerable: true, get: funct
21
21
  Object.defineProperty(exports, "trackEmbeddingsUsageAsync", { enumerable: true, get: function () { return usage_tracker_js_1.trackEmbeddingsUsageAsync; } });
22
22
  Object.defineProperty(exports, "trackImageUsageAsync", { enumerable: true, get: function () { return usage_tracker_js_1.trackImageUsageAsync; } });
23
23
  Object.defineProperty(exports, "trackAudioUsageAsync", { enumerable: true, get: function () { return usage_tracker_js_1.trackAudioUsageAsync; } });
24
+ var summary_printer_js_1 = require("./summary-printer.js");
25
+ Object.defineProperty(exports, "printUsageSummary", { enumerable: true, get: function () { return summary_printer_js_1.printUsageSummary; } });
24
26
  // Export utility functions
25
27
  var stop_reason_mapper_js_1 = require("../../utils/stop-reason-mapper.js");
26
28
  Object.defineProperty(exports, "mapStopReason", { enumerable: true, get: function () { return stop_reason_mapper_js_1.mapStopReason; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/tracking/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uCAAuC;AACvC,iDAAiD;AAAxC,+GAAA,cAAc,OAAA;AAEvB,2DAI8B;AAH5B,kHAAA,YAAY,OAAA;AACZ,uHAAA,iBAAiB,OAAA;AACjB,uHAAA,iBAAiB,OAAA;AAGnB,uDAO4B;AAN1B,uHAAA,mBAAmB,OAAA;AACnB,iIAAA,6BAA6B,OAAA;AAC7B,mHAAA,eAAe,OAAA;AACf,6HAAA,yBAAyB,OAAA;AACzB,wHAAA,oBAAoB,OAAA;AACpB,wHAAA,oBAAoB,OAAA;AAGtB,2BAA2B;AAC3B,2EAAkE;AAAzD,sHAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/tracking/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uCAAuC;AACvC,iDAAiD;AAAxC,+GAAA,cAAc,OAAA;AAEvB,2DAI8B;AAH5B,kHAAA,YAAY,OAAA;AACZ,uHAAA,iBAAiB,OAAA;AACjB,uHAAA,iBAAiB,OAAA;AAGnB,uDAO4B;AAN1B,uHAAA,mBAAmB,OAAA;AACnB,iIAAA,6BAA6B,OAAA;AAC7B,mHAAA,eAAe,OAAA;AACf,6HAAA,yBAAyB,OAAA;AACzB,wHAAA,oBAAoB,OAAA;AACpB,wHAAA,oBAAoB,OAAA;AAGtB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAE1B,2BAA2B;AAC3B,2EAAkE;AAAzD,sHAAA,aAAa,OAAA"}