@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":"validator.d.ts","sourceRoot":"","sources":["../../../../src/core/config/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/core/config/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CA2B3D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Middleware Module
|
|
3
|
+
*
|
|
4
|
+
* Exports all middleware components.
|
|
5
|
+
*/
|
|
6
|
+
export { ReveniumOpenAI } from './revenium-client.js';
|
|
7
|
+
export { ChatInterface, CompletionsInterface, EmbeddingsInterface, ResponsesInterface, StreamingWrapper, } from './interfaces.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Middleware Interfaces
|
|
3
|
+
*
|
|
4
|
+
* Provides interfaces for OpenAI operations.
|
|
5
|
+
* Contains: ChatInterface, CompletionsInterface, EmbeddingsInterface, ResponsesInterface, StreamingWrapper
|
|
6
|
+
*/
|
|
7
|
+
import OpenAI from "openai";
|
|
8
|
+
import { Config, UsageMetadata, ProviderInfo } from "../../types";
|
|
9
|
+
import { ResponsesCreateParams, ResponsesResponse } from "../../types/responses-api.js";
|
|
10
|
+
/**
|
|
11
|
+
* StreamingWrapper - wraps OpenAI stream and tracks tokens
|
|
12
|
+
*/
|
|
13
|
+
export declare class StreamingWrapper implements AsyncIterable<OpenAI.ChatCompletionChunk> {
|
|
14
|
+
private stream;
|
|
15
|
+
private config;
|
|
16
|
+
private providerInfo;
|
|
17
|
+
private model;
|
|
18
|
+
private metadata?;
|
|
19
|
+
private startTime;
|
|
20
|
+
private firstTokenTime?;
|
|
21
|
+
private requestId;
|
|
22
|
+
private usage;
|
|
23
|
+
constructor(stream: AsyncIterable<OpenAI.ChatCompletionChunk>, config: Config, providerInfo: ProviderInfo, model: string, metadata?: UsageMetadata);
|
|
24
|
+
[Symbol.asyncIterator](): AsyncIterator<OpenAI.ChatCompletionChunk>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* CompletionsInterface - handles chat completions
|
|
28
|
+
*/
|
|
29
|
+
export declare class CompletionsInterface {
|
|
30
|
+
private client;
|
|
31
|
+
private config;
|
|
32
|
+
private providerInfo;
|
|
33
|
+
constructor(client: OpenAI, config: Config, providerInfo: ProviderInfo);
|
|
34
|
+
/**
|
|
35
|
+
* Create a non-streaming chat completion
|
|
36
|
+
*/
|
|
37
|
+
create(params: OpenAI.ChatCompletionCreateParamsNonStreaming, metadata?: UsageMetadata): Promise<OpenAI.ChatCompletion>;
|
|
38
|
+
/**
|
|
39
|
+
* Create a streaming chat completion
|
|
40
|
+
*/
|
|
41
|
+
createStreaming(params: OpenAI.ChatCompletionCreateParamsStreaming, metadata?: UsageMetadata): Promise<StreamingWrapper>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* ChatInterface - provides access to completions
|
|
45
|
+
*/
|
|
46
|
+
export declare class ChatInterface {
|
|
47
|
+
private client;
|
|
48
|
+
private config;
|
|
49
|
+
private providerInfo;
|
|
50
|
+
constructor(client: OpenAI, config: Config, providerInfo: ProviderInfo);
|
|
51
|
+
completions(): CompletionsInterface;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* EmbeddingsInterface - handles embeddings
|
|
55
|
+
*/
|
|
56
|
+
export declare class EmbeddingsInterface {
|
|
57
|
+
private client;
|
|
58
|
+
private config;
|
|
59
|
+
private providerInfo;
|
|
60
|
+
constructor(client: OpenAI, config: Config, providerInfo: ProviderInfo);
|
|
61
|
+
create(params: OpenAI.EmbeddingCreateParams, metadata?: UsageMetadata): Promise<OpenAI.CreateEmbeddingResponse>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* ResponsesInterface - handles Responses API (stateful API)
|
|
65
|
+
*/
|
|
66
|
+
export declare class ResponsesInterface {
|
|
67
|
+
private client;
|
|
68
|
+
private config;
|
|
69
|
+
private providerInfo;
|
|
70
|
+
constructor(client: OpenAI, config: Config, providerInfo: ProviderInfo);
|
|
71
|
+
create(params: ResponsesCreateParams, metadata?: UsageMetadata): Promise<ResponsesResponse>;
|
|
72
|
+
createStreaming(params: ResponsesCreateParams, metadata?: UsageMetadata): Promise<AsyncIterable<any>>;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/core/middleware/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAY,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG5E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAItC;;GAEG;AACH,qBAAa,gBACX,YAAW,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAEpD,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAW;gBAGtB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,EACjD,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,aAAa;IAWnB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC;CA0E3E;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;gBAFZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY;IAGpC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,MAAM,CAAC,sCAAsC,EACrD,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;IA6DjC;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,CAAC,mCAAmC,EAClD,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAkB7B;AAED;;GAEG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;gBAFZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY;IAGpC,WAAW,IAAI,oBAAoB;CAOpC;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;gBAFZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY;IAG9B,MAAM,CACV,MAAM,EAAE,MAAM,CAAC,qBAAqB,EACpC,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC;CAyC3C;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;gBAFZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY;IAG9B,MAAM,CACV,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,iBAAiB,CAAC;IA0DvB,eAAe,CACnB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAkF/B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Revenium OpenAI Client
|
|
3
|
+
*
|
|
4
|
+
* Main client class that wraps OpenAI/AzureOpenAI and provides tracking.
|
|
5
|
+
*/
|
|
6
|
+
import OpenAI, { AzureOpenAI } from "openai";
|
|
7
|
+
import { Config, Provider, ProviderInfo } from "../../types";
|
|
8
|
+
import { ChatInterface, EmbeddingsInterface, ResponsesInterface } from "./interfaces.js";
|
|
9
|
+
/**
|
|
10
|
+
* ReveniumOpenAI - Main client class
|
|
11
|
+
*
|
|
12
|
+
* Provides API for OpenAI operations with automatic usage tracking.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ReveniumOpenAI {
|
|
15
|
+
private client;
|
|
16
|
+
private config;
|
|
17
|
+
private providerInfo;
|
|
18
|
+
constructor(config: Config, provider: Provider);
|
|
19
|
+
/**
|
|
20
|
+
* Get chat interface
|
|
21
|
+
*
|
|
22
|
+
* @returns ChatInterface for chat completions
|
|
23
|
+
*/
|
|
24
|
+
chat(): ChatInterface;
|
|
25
|
+
/**
|
|
26
|
+
* Get embeddings interface
|
|
27
|
+
*
|
|
28
|
+
* @returns EmbeddingsInterface for embeddings
|
|
29
|
+
*/
|
|
30
|
+
embeddings(): EmbeddingsInterface;
|
|
31
|
+
/**
|
|
32
|
+
* Get responses interface (Responses API)
|
|
33
|
+
*
|
|
34
|
+
* @returns ResponsesInterface for Responses API
|
|
35
|
+
*/
|
|
36
|
+
responses(): ResponsesInterface;
|
|
37
|
+
/**
|
|
38
|
+
* Get the underlying OpenAI client
|
|
39
|
+
*
|
|
40
|
+
* For advanced use cases where direct access to OpenAI client is needed.
|
|
41
|
+
* Note: Direct usage bypasses Revenium tracking.
|
|
42
|
+
*
|
|
43
|
+
* @returns The underlying OpenAI or AzureOpenAI client
|
|
44
|
+
*/
|
|
45
|
+
getUnderlyingClient(): OpenAI | AzureOpenAI;
|
|
46
|
+
/**
|
|
47
|
+
* Get provider information
|
|
48
|
+
* @returns Provider information for this client
|
|
49
|
+
*/
|
|
50
|
+
getProviderInfo(): ProviderInfo;
|
|
51
|
+
/**
|
|
52
|
+
* Get configuration
|
|
53
|
+
*
|
|
54
|
+
* @returns Configuration for this client
|
|
55
|
+
*/
|
|
56
|
+
getConfig(): Config;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=revenium-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revenium-client.d.ts","sourceRoot":"","sources":["../../../../src/core/middleware/revenium-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAIzB;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IA8C9C;;;;OAIG;IACH,IAAI,IAAI,aAAa;IAIrB;;;;OAIG;IACH,UAAU,IAAI,mBAAmB;IAIjC;;;;OAIG;IACH,SAAS,IAAI,kBAAkB;IAI/B;;;;;;;OAOG;IACH,mBAAmB,IAAI,MAAM,GAAG,WAAW;IAI3C;;;OAGG;IACH,eAAe,IAAI,YAAY;IAI/B;;;;OAIG;IACH,SAAS,IAAI,MAAM;CAGpB"}
|
|
@@ -4,8 +4,15 @@
|
|
|
4
4
|
* Handles detection of AI providers (OpenAI vs Azure OpenAI).
|
|
5
5
|
* Extracted from provider.ts for better organization.
|
|
6
6
|
*/
|
|
7
|
-
import { ProviderInfo, AzureConfig } from
|
|
8
|
-
import { OpenAIClientInstance } from
|
|
7
|
+
import { ProviderInfo, AzureConfig, Config } from "../../types";
|
|
8
|
+
import { OpenAIClientInstance } from "../../types/function-parameters.js";
|
|
9
|
+
/**
|
|
10
|
+
* Detect provider from configuration
|
|
11
|
+
*
|
|
12
|
+
* @param config - Configuration object
|
|
13
|
+
* @returns ProviderInfo with detection results
|
|
14
|
+
*/
|
|
15
|
+
export declare function detectProviderFromConfig(config: Config): ProviderInfo;
|
|
9
16
|
/**
|
|
10
17
|
* Detect Azure OpenAI provider from client instance
|
|
11
18
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../../../src/core/providers/detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAY,YAAY,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../../../src/core/providers/detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAY,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAW1E;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAkBrE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,YAAY,CA+CzE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAuCA;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAWA"}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* This module provides a clean interface for provider detection and management,
|
|
5
5
|
* separating concerns into focused sub-modules.
|
|
6
6
|
*/
|
|
7
|
-
export { detectProvider, hasAzureConfig, validateAzureConfig, getProviderMetadata, } from
|
|
8
|
-
export { gatherAzureConfig } from
|
|
7
|
+
export { detectProvider, detectProviderFromConfig, hasAzureConfig, validateAzureConfig, getProviderMetadata, } from "./detector.js";
|
|
8
|
+
export { gatherAzureConfig } from "../config/azure-config.js";
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Handles HTTP communication with the Revenium API.
|
|
5
5
|
* Extracted from tracking.ts for single responsibility.
|
|
6
6
|
*/
|
|
7
|
-
import { ReveniumPayload } from
|
|
7
|
+
import { ReveniumPayload } from "../../types";
|
|
8
8
|
/**
|
|
9
9
|
* Send payload to Revenium API
|
|
10
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../../src/core/tracking/api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../../src/core/tracking/api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ9C;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD5E"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Handles construction of Revenium API payloads.
|
|
5
5
|
* Extracted from tracking.ts for single responsibility.
|
|
6
6
|
*/
|
|
7
|
-
import { ReveniumPayload, ProviderInfo } from
|
|
8
|
-
import { OpenAIChatResponse, OpenAIEmbeddingResponse, OpenAIChatRequest, OpenAIEmbeddingRequest } from
|
|
7
|
+
import { ReveniumPayload, ProviderInfo } from "../../types";
|
|
8
|
+
import { OpenAIChatResponse, OpenAIEmbeddingResponse, OpenAIChatRequest, OpenAIEmbeddingRequest } from "../../types/function-parameters.js";
|
|
9
9
|
/**
|
|
10
10
|
* Build payload for Revenium API
|
|
11
11
|
*
|
|
@@ -20,5 +20,5 @@ import { OpenAIChatResponse, OpenAIEmbeddingResponse, OpenAIChatRequest, OpenAIE
|
|
|
20
20
|
* @param providerInfo - Provider information for Azure support
|
|
21
21
|
* @returns Constructed payload for Revenium API
|
|
22
22
|
*/
|
|
23
|
-
export declare function buildPayload(operationType:
|
|
23
|
+
export declare function buildPayload(operationType: "CHAT" | "EMBED", response: OpenAIChatResponse | OpenAIEmbeddingResponse, request: OpenAIChatRequest | OpenAIEmbeddingRequest, startTime: number, duration: number, providerInfo?: ProviderInfo): ReveniumPayload;
|
|
24
24
|
//# sourceMappingURL=payload-builder.d.ts.map
|
|
@@ -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,
|
|
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,aAAa,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAS5C;;;;;;;;;;;;;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,CAiFjB"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* High-level tracking functions that combine payload building and API communication.
|
|
5
5
|
* Extracted from tracking.ts for better organization.
|
|
6
6
|
*/
|
|
7
|
-
import { UsageMetadata, ProviderInfo } from
|
|
8
|
-
import { OpenAIChatResponse, OpenAIEmbeddingResponse, OpenAIChatRequest, OpenAIEmbeddingRequest } from
|
|
7
|
+
import { UsageMetadata, ProviderInfo } from "../../types";
|
|
8
|
+
import { OpenAIChatResponse, OpenAIEmbeddingResponse, OpenAIChatRequest, OpenAIEmbeddingRequest } from "../../types/function-parameters.js";
|
|
9
9
|
/**
|
|
10
10
|
* Chat completions tracking - now a thin wrapper with Azure support
|
|
11
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-tracker.d.ts","sourceRoot":"","sources":["../../../../src/core/tracking/usage-tracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"usage-tracker.d.ts","sourceRoot":"","sources":["../../../../src/core/tracking/usage-tracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAS5C;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE,sBAAsB,EAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,GAAG,IAAI,CAqDP;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,GAAG,IAAI,CAmCP"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -2,45 +2,8 @@
|
|
|
2
2
|
* Revenium OpenAI Middleware for TypeScript
|
|
3
3
|
*
|
|
4
4
|
* This middleware tracks OpenAI usage and sends metrics to Revenium.
|
|
5
|
-
* Uses hybrid initialization: auto-initializes on import with graceful fallback to manual init.
|
|
6
|
-
*
|
|
7
|
-
* Environment Variables:
|
|
8
|
-
* REVENIUM_METERING_API_KEY=hak_your_api_key
|
|
9
|
-
* REVENIUM_METERING_BASE_URL=https://api.revenium.io (optional)
|
|
10
|
-
* OPENAI_API_KEY=sk_your_openai_key
|
|
11
|
-
*
|
|
12
|
-
* Simple Usage (auto-initialization):
|
|
13
|
-
* import { patchOpenAIInstance } from '@revenium/openai';
|
|
14
|
-
* import OpenAI from 'openai';
|
|
15
|
-
*
|
|
16
|
-
* const openai = patchOpenAIInstance(new OpenAI());
|
|
17
|
-
* // Auto-initializes from environment variables
|
|
18
|
-
*
|
|
19
|
-
* Advanced Usage (explicit initialization):
|
|
20
|
-
* import { initializeReveniumFromEnv, patchOpenAIInstance } from '@revenium/openai';
|
|
21
|
-
* import OpenAI from 'openai';
|
|
22
|
-
*
|
|
23
|
-
* const result = initializeReveniumFromEnv();
|
|
24
|
-
* if (!result.success) {
|
|
25
|
-
* throw new Error(result.message);
|
|
26
|
-
* }
|
|
27
|
-
* const openai = patchOpenAIInstance(new OpenAI());
|
|
28
|
-
*
|
|
29
|
-
* const response = await openai.chat.completions.create({
|
|
30
|
-
* model: 'gpt-4',
|
|
31
|
-
* messages: [{ role: 'user', content: 'Hello!' }],
|
|
32
|
-
* usageMetadata: {
|
|
33
|
-
* subscriber: {
|
|
34
|
-
* id: 'user-123',
|
|
35
|
-
* email: 'user@my-org.com'
|
|
36
|
-
* },
|
|
37
|
-
* organizationId: 'my-org',
|
|
38
|
-
* productId: 'my-app'
|
|
39
|
-
* }
|
|
40
|
-
* });
|
|
41
5
|
*/
|
|
42
|
-
import
|
|
43
|
-
import type { ReveniumConfig } from './types/index.js';
|
|
6
|
+
import "./types/openai-augmentation.js";
|
|
44
7
|
/**
|
|
45
8
|
* Core types for TypeScript developers using Revenium middleware
|
|
46
9
|
*
|
|
@@ -55,15 +18,6 @@ export type {
|
|
|
55
18
|
*
|
|
56
19
|
* Defines all required and optional settings for connecting to Revenium's
|
|
57
20
|
* metering API and configuring middleware behavior.
|
|
58
|
-
*
|
|
59
|
-
* @example
|
|
60
|
-
* ```typescript
|
|
61
|
-
* const config: ReveniumConfig = {
|
|
62
|
-
* reveniumApiKey: 'hak_your_api_key',
|
|
63
|
-
* reveniumBaseUrl: 'https://api.revenium.io',
|
|
64
|
-
* debug: true
|
|
65
|
-
* };
|
|
66
|
-
* ```
|
|
67
21
|
*/
|
|
68
22
|
ReveniumConfig,
|
|
69
23
|
/**
|
|
@@ -72,16 +26,6 @@ ReveniumConfig,
|
|
|
72
26
|
* Comprehensive metadata interface that allows tracking of user context,
|
|
73
27
|
* business information, and custom fields for detailed analytics and billing.
|
|
74
28
|
* All fields are optional to provide maximum flexibility.
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* ```typescript
|
|
78
|
-
* const metadata: UsageMetadata = {
|
|
79
|
-
* subscriber: { id: 'user-123', email: 'user@company.com' },
|
|
80
|
-
* organizationId: 'company-456',
|
|
81
|
-
* productId: 'chat-app',
|
|
82
|
-
* taskType: 'customer-support'
|
|
83
|
-
* };
|
|
84
|
-
* ```
|
|
85
29
|
*/
|
|
86
30
|
UsageMetadata,
|
|
87
31
|
/**
|
|
@@ -89,16 +33,7 @@ UsageMetadata,
|
|
|
89
33
|
*
|
|
90
34
|
* Standardized logging interface that allows custom logger integration
|
|
91
35
|
* while maintaining consistent log levels and metadata support.
|
|
92
|
-
|
|
93
|
-
* @example
|
|
94
|
-
* ```typescript
|
|
95
|
-
* const customLogger: Logger = {
|
|
96
|
-
* debug: (msg, meta) => console.debug(msg, meta),
|
|
97
|
-
* info: (msg, meta) => console.info(msg, meta),
|
|
98
|
-
* warn: (msg, meta) => console.warn(msg, meta),
|
|
99
|
-
* error: (msg, meta) => console.error(msg, meta)
|
|
100
|
-
* };
|
|
101
|
-
* ```
|
|
36
|
+
|
|
102
37
|
*/
|
|
103
38
|
Logger,
|
|
104
39
|
/**
|
|
@@ -106,15 +41,6 @@ Logger,
|
|
|
106
41
|
*
|
|
107
42
|
* Specific configuration options for Azure OpenAI integration,
|
|
108
43
|
* including endpoint, API version, and deployment settings.
|
|
109
|
-
*
|
|
110
|
-
* @example
|
|
111
|
-
* ```typescript
|
|
112
|
-
* const azureConfig: AzureConfig = {
|
|
113
|
-
* endpoint: 'https://your-resource.openai.azure.com',
|
|
114
|
-
* apiVersion: '2024-02-01',
|
|
115
|
-
* deployment: 'gpt-4'
|
|
116
|
-
* };
|
|
117
|
-
* ```
|
|
118
44
|
*/
|
|
119
45
|
AzureConfig,
|
|
120
46
|
/**
|
|
@@ -129,51 +55,22 @@ Provider,
|
|
|
129
55
|
*
|
|
130
56
|
* Detailed information about the detected AI provider, including
|
|
131
57
|
* configuration details and Azure-specific settings when applicable.
|
|
132
|
-
*
|
|
133
|
-
* @example
|
|
134
|
-
* ```typescript
|
|
135
|
-
* const providerInfo: ProviderInfo = {
|
|
136
|
-
* provider: Provider.AZURE_OPENAI,
|
|
137
|
-
* isAzure: true,
|
|
138
|
-
* endpoint: 'https://your-resource.openai.azure.com',
|
|
139
|
-
* deployment: 'gpt-4'
|
|
140
|
-
* };
|
|
141
|
-
* ```
|
|
142
|
-
*/
|
|
143
|
-
ProviderInfo, } from './types';
|
|
144
|
-
export { trackUsageAsync, trackEmbeddingsUsageAsync } from './core/tracking/index.js';
|
|
145
|
-
export { detectProvider, hasAzureConfig, validateAzureConfig, getProviderMetadata, } from './core/providers/index.js';
|
|
146
|
-
export { getProviderInfo } from './core/wrapper/index.js';
|
|
147
|
-
export { resolveAzureModelName, clearModelNameCache, getModelNameCacheStats, batchResolveModelNames, wouldTransformDeploymentName, } from './utils/azure-model-resolver.js';
|
|
148
|
-
/**
|
|
149
|
-
* Initialize Revenium middleware with configuration
|
|
150
58
|
*/
|
|
151
|
-
|
|
152
|
-
success: boolean;
|
|
153
|
-
message: string;
|
|
154
|
-
};
|
|
59
|
+
ProviderInfo, } from "./types";
|
|
155
60
|
/**
|
|
156
|
-
*
|
|
61
|
+
* Main API
|
|
157
62
|
*/
|
|
158
|
-
export
|
|
159
|
-
success: boolean;
|
|
160
|
-
message: string;
|
|
161
|
-
};
|
|
63
|
+
export { Initialize, GetClient, IsInitialized, Reset, Configure, } from "./core/client";
|
|
162
64
|
/**
|
|
163
|
-
*
|
|
65
|
+
* Middleware classes
|
|
164
66
|
*/
|
|
165
|
-
export {
|
|
67
|
+
export { ReveniumOpenAI, ChatInterface, CompletionsInterface, EmbeddingsInterface, ResponsesInterface, StreamingWrapper, } from "./core/middleware";
|
|
166
68
|
/**
|
|
167
|
-
*
|
|
69
|
+
* Tracking functions (for advanced use cases)
|
|
168
70
|
*/
|
|
169
|
-
export
|
|
71
|
+
export { trackUsageAsync, trackEmbeddingsUsageAsync } from "./core/tracking";
|
|
170
72
|
/**
|
|
171
|
-
*
|
|
73
|
+
* Provider detection functions
|
|
172
74
|
*/
|
|
173
|
-
export
|
|
174
|
-
initialized: boolean;
|
|
175
|
-
hasConfig: boolean;
|
|
176
|
-
hasApiKey: boolean;
|
|
177
|
-
autoInitAttempted: boolean;
|
|
178
|
-
};
|
|
75
|
+
export { detectProvider, hasAzureConfig, validateAzureConfig, getProviderMetadata, } from "./core/providers";
|
|
179
76
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,gCAAgC,CAAC;AAExC;;;;;;;GAOG;AACH,YAAY;AACV;;;;;GAKG;AACH,cAAc;AAEd;;;;;;GAMG;AACH,aAAa;AAEb;;;;;;GAMG;AACH,MAAM;AAEN;;;;;GAKG;AACH,WAAW;AAEX;;;;;GAKG;AACH,QAAQ;AAER;;;;;GAKG;AACH,YAAY,GACb,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,OAAO,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,KAAK,EACL,SAAS,GACV,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,OAAO,EACL,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE7E;;GAEG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
|
|
@@ -9,35 +9,14 @@
|
|
|
9
9
|
* @author Revenium
|
|
10
10
|
* @since 1.0.0
|
|
11
11
|
*/
|
|
12
|
-
import { UsageMetadata } from
|
|
13
|
-
import { OpenAIResponsesRequest } from
|
|
12
|
+
import { UsageMetadata } from "./index";
|
|
13
|
+
import { OpenAIResponsesRequest } from "./responses-api";
|
|
14
14
|
/**
|
|
15
15
|
* OpenAI API response structure for chat completions
|
|
16
16
|
*
|
|
17
17
|
* Represents the complete response structure returned by OpenAI's chat completions API.
|
|
18
18
|
* Includes usage statistics, response choices, and metadata. Used internally for
|
|
19
19
|
* processing responses and extracting usage metrics.
|
|
20
|
-
*
|
|
21
|
-
* @public
|
|
22
|
-
* @example
|
|
23
|
-
* ```typescript
|
|
24
|
-
* const response: OpenAIChatResponse = {
|
|
25
|
-
* id: 'chatcmpl-123',
|
|
26
|
-
* model: 'gpt-4o-mini',
|
|
27
|
-
* usage: {
|
|
28
|
-
* prompt_tokens: 10,
|
|
29
|
-
* completion_tokens: 20,
|
|
30
|
-
* total_tokens: 30
|
|
31
|
-
* },
|
|
32
|
-
* choices: [{
|
|
33
|
-
* finish_reason: 'stop',
|
|
34
|
-
* message: {
|
|
35
|
-
* content: 'Hello! How can I help you?',
|
|
36
|
-
* role: 'assistant'
|
|
37
|
-
* }
|
|
38
|
-
* }]
|
|
39
|
-
* };
|
|
40
|
-
* ```
|
|
41
20
|
*/
|
|
42
21
|
export interface OpenAIChatResponse {
|
|
43
22
|
/** Unique identifier for the chat completion */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-parameters.d.ts","sourceRoot":"","sources":["../../../src/types/function-parameters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"function-parameters.d.ts","sourceRoot":"","sources":["../../../src/types/function-parameters.ts"],"names":[],"mappings":"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"}
|