@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.
Files changed (44) hide show
  1. package/README.md +53 -16
  2. package/dist/adapters/anthropic.cjs +943 -0
  3. package/dist/adapters/anthropic.cjs.map +1 -0
  4. package/dist/adapters/anthropic.d.cts +81 -0
  5. package/dist/adapters/anthropic.d.ts +81 -0
  6. package/dist/adapters/anthropic.mjs +940 -0
  7. package/dist/adapters/anthropic.mjs.map +1 -0
  8. package/dist/adapters/openai.cjs +601 -17
  9. package/dist/adapters/openai.cjs.map +1 -1
  10. package/dist/adapters/openai.d.cts +57 -2
  11. package/dist/adapters/openai.d.ts +57 -2
  12. package/dist/adapters/openai.mjs +601 -18
  13. package/dist/adapters/openai.mjs.map +1 -1
  14. package/dist/adapters/openrouter.cjs.map +1 -1
  15. package/dist/adapters/openrouter.d.cts +1 -1
  16. package/dist/adapters/openrouter.d.ts +1 -1
  17. package/dist/adapters/openrouter.mjs.map +1 -1
  18. package/dist/anthropic/index.cjs +943 -0
  19. package/dist/anthropic/index.cjs.map +1 -0
  20. package/dist/anthropic/index.d.cts +2 -0
  21. package/dist/anthropic/index.d.ts +2 -0
  22. package/dist/anthropic/index.mjs +940 -0
  23. package/dist/anthropic/index.mjs.map +1 -0
  24. package/dist/{client-BHNMYvlO.d.cts → client-BA-QlnRq.d.cts} +32 -1
  25. package/dist/{client-BHNMYvlO.d.ts → client-BA-QlnRq.d.ts} +32 -1
  26. package/dist/express/index.cjs +597 -17
  27. package/dist/express/index.cjs.map +1 -1
  28. package/dist/express/index.d.cts +1 -1
  29. package/dist/express/index.d.ts +1 -1
  30. package/dist/express/index.mjs +597 -17
  31. package/dist/express/index.mjs.map +1 -1
  32. package/dist/index.cjs +77 -9
  33. package/dist/index.cjs.map +1 -1
  34. package/dist/index.d.cts +2 -2
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.mjs +76 -10
  37. package/dist/index.mjs.map +1 -1
  38. package/dist/openai/index.cjs +601 -17
  39. package/dist/openai/index.cjs.map +1 -1
  40. package/dist/openai/index.d.cts +2 -2
  41. package/dist/openai/index.d.ts +2 -2
  42. package/dist/openai/index.mjs +601 -18
  43. package/dist/openai/index.mjs.map +1 -1
  44. 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, a as UsageTapSuccessResponse, b as BeginCallResponseBody, E as EndCallRequest } from '../client-BHNMYvlO.js';
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 };