@usagetap/sdk 1.0.0 → 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.
- package/README.md +53 -16
- package/dist/adapters/anthropic.cjs +943 -0
- package/dist/adapters/anthropic.cjs.map +1 -0
- package/dist/adapters/anthropic.d.cts +81 -0
- package/dist/adapters/anthropic.d.ts +81 -0
- package/dist/adapters/anthropic.mjs +940 -0
- package/dist/adapters/anthropic.mjs.map +1 -0
- package/dist/adapters/openai.cjs +601 -17
- package/dist/adapters/openai.cjs.map +1 -1
- package/dist/adapters/openai.d.cts +57 -2
- package/dist/adapters/openai.d.ts +57 -2
- package/dist/adapters/openai.mjs +601 -18
- package/dist/adapters/openai.mjs.map +1 -1
- package/dist/adapters/openrouter.cjs.map +1 -1
- package/dist/adapters/openrouter.d.cts +1 -1
- package/dist/adapters/openrouter.d.ts +1 -1
- package/dist/adapters/openrouter.mjs.map +1 -1
- package/dist/anthropic/index.cjs +943 -0
- package/dist/anthropic/index.cjs.map +1 -0
- package/dist/anthropic/index.d.cts +2 -0
- package/dist/anthropic/index.d.ts +2 -0
- package/dist/anthropic/index.mjs +940 -0
- package/dist/anthropic/index.mjs.map +1 -0
- package/dist/{client-BHNMYvlO.d.cts → client-BA-QlnRq.d.cts} +32 -1
- package/dist/{client-BHNMYvlO.d.ts → client-BA-QlnRq.d.ts} +32 -1
- package/dist/express/index.cjs +597 -17
- package/dist/express/index.cjs.map +1 -1
- package/dist/express/index.d.cts +1 -1
- package/dist/express/index.d.ts +1 -1
- package/dist/express/index.mjs +597 -17
- package/dist/express/index.mjs.map +1 -1
- package/dist/index.cjs +77 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +76 -10
- package/dist/index.mjs.map +1 -1
- package/dist/openai/index.cjs +601 -17
- package/dist/openai/index.cjs.map +1 -1
- package/dist/openai/index.d.cts +2 -2
- package/dist/openai/index.d.ts +2 -2
- package/dist/openai/index.mjs +601 -18
- package/dist/openai/index.mjs.map +1 -1
- package/package.json +21 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import OpenAI from 'openai';
|
|
2
|
-
import { B as BeginCallRequest, U as UsageTapClient, W as WithUsageOptions, V as VendorHints,
|
|
2
|
+
import { B as BeginCallRequest, P as PromptCompressionProvider, U as UsageTapClient, W as WithUsageOptions, a as PromptCompressionTelemetry, V as VendorHints, b as UsageTapSuccessResponse, c as BeginCallResponseBody, E as EndCallRequest } from '../client-BA-QlnRq.js';
|
|
3
3
|
|
|
4
4
|
interface OpenAIAdapterInit {
|
|
5
5
|
client: OpenAI;
|
|
@@ -41,9 +41,58 @@ interface OpenAIAdapter {
|
|
|
41
41
|
}
|
|
42
42
|
type ReplaceProperty<T, K extends keyof T, V> = Omit<T, K> & Record<K, V>;
|
|
43
43
|
type WrapOpenAIContext = BeginCallRequest;
|
|
44
|
+
type OpenAIPromptCompressionRole = "system" | "user" | "tool" | "assistant";
|
|
45
|
+
interface OpenAIPromptCompressionRoleOptions {
|
|
46
|
+
enabled?: boolean;
|
|
47
|
+
provider?: PromptCompressionProvider;
|
|
48
|
+
minTokens?: number;
|
|
49
|
+
tokenCompanyAggressiveness?: number;
|
|
50
|
+
}
|
|
51
|
+
type OpenAIPromptCompressionRoleSetting = boolean | OpenAIPromptCompressionRoleOptions;
|
|
52
|
+
interface OpenAIPromptCompressionOptions {
|
|
53
|
+
enabled?: boolean;
|
|
54
|
+
provider?: PromptCompressionProvider;
|
|
55
|
+
roles?: Partial<Record<OpenAIPromptCompressionRole, OpenAIPromptCompressionRoleSetting>>;
|
|
56
|
+
minTokens?: number;
|
|
57
|
+
failOpen?: boolean;
|
|
58
|
+
tokenCompanyModel?: string;
|
|
59
|
+
tokenCompanyAggressiveness?: number | Partial<Record<OpenAIPromptCompressionRole, number>>;
|
|
60
|
+
tokenCompanyAppId?: string;
|
|
61
|
+
}
|
|
62
|
+
interface OpenAIPromptCompressionTurnStats extends PromptCompressionTelemetry {
|
|
63
|
+
callId: string;
|
|
64
|
+
operation: "chat.completions.create" | "chat.completions.stream" | "responses.create";
|
|
65
|
+
messagesCompressed: number;
|
|
66
|
+
timestamp: number;
|
|
67
|
+
}
|
|
68
|
+
interface OpenAIPromptCompressionFailure {
|
|
69
|
+
callId: string;
|
|
70
|
+
operation: OpenAIPromptCompressionTurnStats["operation"];
|
|
71
|
+
stage: "telemetry";
|
|
72
|
+
message: string;
|
|
73
|
+
timestamp: number;
|
|
74
|
+
}
|
|
75
|
+
declare class OpenAIPromptCompressionStats {
|
|
76
|
+
history: OpenAIPromptCompressionTurnStats[];
|
|
77
|
+
failures: OpenAIPromptCompressionFailure[];
|
|
78
|
+
_record(turn: OpenAIPromptCompressionTurnStats): void;
|
|
79
|
+
_recordFailure(failure: OpenAIPromptCompressionFailure): void;
|
|
80
|
+
get totalOriginalTokens(): number;
|
|
81
|
+
get totalCompressedTokens(): number;
|
|
82
|
+
get totalTokensSaved(): number;
|
|
83
|
+
get totalOriginalCharacters(): number;
|
|
84
|
+
get totalCompressedCharacters(): number;
|
|
85
|
+
get totalCharactersSaved(): number;
|
|
86
|
+
get calls(): number;
|
|
87
|
+
get telemetryFailures(): number;
|
|
88
|
+
get failOpenEvents(): number;
|
|
89
|
+
get tokenSavingsRatio(): number;
|
|
90
|
+
get savingsRatio(): number;
|
|
91
|
+
}
|
|
44
92
|
interface WrapOpenAIOptions {
|
|
45
93
|
defaultContext?: Partial<WrapOpenAIContext>;
|
|
46
94
|
applyVendorHints?: boolean;
|
|
95
|
+
promptCompression?: boolean | OpenAIPromptCompressionOptions;
|
|
47
96
|
}
|
|
48
97
|
type ChatCompletionsResource = OpenAI["chat"]["completions"];
|
|
49
98
|
type ChatCompletionCreate = ChatCompletionsResource["create"];
|
|
@@ -53,9 +102,11 @@ type ChatCompletionCreateReturn = ReturnType<ChatCompletionCreate>;
|
|
|
53
102
|
type WrapOpenAICallOptions = (ChatCompletionCreateOptions extends undefined ? {
|
|
54
103
|
usageTap?: Partial<WrapOpenAIContext>;
|
|
55
104
|
withUsage?: WithUsageOptions;
|
|
105
|
+
promptCompression?: boolean | OpenAIPromptCompressionOptions;
|
|
56
106
|
} : ChatCompletionCreateOptions & {
|
|
57
107
|
usageTap?: Partial<WrapOpenAIContext>;
|
|
58
108
|
withUsage?: WithUsageOptions;
|
|
109
|
+
promptCompression?: boolean | OpenAIPromptCompressionOptions;
|
|
59
110
|
});
|
|
60
111
|
interface WrappedChatCompletions extends Omit<ChatCompletionsResource, "create"> {
|
|
61
112
|
create: (params: ChatCompletionCreateParams, options?: WrapOpenAICallOptions) => ChatCompletionCreateReturn;
|
|
@@ -72,9 +123,11 @@ type ResponsesCreateReturn = ResponsesCreate extends (...args: unknown[]) => inf
|
|
|
72
123
|
type WrapOpenAIResponseCallOptions = (ResponsesCreateOptions extends undefined ? {
|
|
73
124
|
usageTap?: Partial<WrapOpenAIContext>;
|
|
74
125
|
withUsage?: WithUsageOptions;
|
|
126
|
+
promptCompression?: boolean | OpenAIPromptCompressionOptions;
|
|
75
127
|
} : ResponsesCreateOptions & {
|
|
76
128
|
usageTap?: Partial<WrapOpenAIContext>;
|
|
77
129
|
withUsage?: WithUsageOptions;
|
|
130
|
+
promptCompression?: boolean | OpenAIPromptCompressionOptions;
|
|
78
131
|
});
|
|
79
132
|
type WrappedResponses = ResponsesResource extends undefined ? undefined : Omit<NonNullable<ResponsesResource>, "create"> & {
|
|
80
133
|
create: (params: ResponsesCreateParams, options?: WrapOpenAIResponseCallOptions) => ResponsesCreateReturn;
|
|
@@ -88,6 +141,7 @@ type WrappedOpenAI = OpenAI & {
|
|
|
88
141
|
}) & {
|
|
89
142
|
toNextResponse: typeof toNextResponse;
|
|
90
143
|
pipeToResponse: typeof pipeToResponse;
|
|
144
|
+
promptCompression: OpenAIPromptCompressionStats;
|
|
91
145
|
unwrap: () => OpenAI;
|
|
92
146
|
};
|
|
93
147
|
interface StreamOpenAIRouteOptions {
|
|
@@ -95,6 +149,7 @@ interface StreamOpenAIRouteOptions {
|
|
|
95
149
|
params: ChatCompletionCreateParams;
|
|
96
150
|
usageTap?: Partial<WrapOpenAIContext>;
|
|
97
151
|
withUsage?: WithUsageOptions;
|
|
152
|
+
promptCompression?: boolean | OpenAIPromptCompressionOptions;
|
|
98
153
|
}>;
|
|
99
154
|
wrapOptions?: WrapOpenAIOptions;
|
|
100
155
|
defaultContext?: Partial<WrapOpenAIContext>;
|
|
@@ -132,4 +187,4 @@ interface NodeResponseLike {
|
|
|
132
187
|
flush?(): void;
|
|
133
188
|
}
|
|
134
189
|
|
|
135
|
-
export { type NodeResponseLike, type OpenAIAdapter, type OpenAIAdapterInit, type OpenAIInvokeParams, type OpenAIInvokeResult, type OpenAIRequestContext, type OpenAIStreamCallResult, type OpenAIStreamParams, type OpenAIStreamResult, type StreamMode, type StreamOpenAIRouteOptions, type StreamToResponseOptions, type UsageTapStream, type WrapOpenAICallOptions, type WrapOpenAIContext, type WrapOpenAIOptions, type WrapOpenAIResponseCallOptions, type WrappedOpenAI, createOpenAIAdapter, pipeToResponse, streamOpenAIRoute, toNextResponse, wrapOpenAI };
|
|
190
|
+
export { type NodeResponseLike, type OpenAIAdapter, type OpenAIAdapterInit, type OpenAIInvokeParams, type OpenAIInvokeResult, type OpenAIPromptCompressionFailure, type OpenAIPromptCompressionOptions, type OpenAIPromptCompressionRole, type OpenAIPromptCompressionRoleOptions, type OpenAIPromptCompressionRoleSetting, OpenAIPromptCompressionStats, type OpenAIPromptCompressionTurnStats, type OpenAIRequestContext, type OpenAIStreamCallResult, type OpenAIStreamParams, type OpenAIStreamResult, type StreamMode, type StreamOpenAIRouteOptions, type StreamToResponseOptions, type UsageTapStream, type WrapOpenAICallOptions, type WrapOpenAIContext, type WrapOpenAIOptions, type WrapOpenAIResponseCallOptions, type WrappedOpenAI, createOpenAIAdapter, pipeToResponse, streamOpenAIRoute, toNextResponse, wrapOpenAI };
|