@usagetap/sdk 1.1.0 → 1.2.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 +25 -1
- package/dist/adapters/anthropic.cjs +67 -1
- package/dist/adapters/anthropic.cjs.map +1 -1
- package/dist/adapters/anthropic.d.cts +10 -1
- package/dist/adapters/anthropic.d.ts +10 -1
- package/dist/adapters/anthropic.mjs +67 -1
- package/dist/adapters/anthropic.mjs.map +1 -1
- package/dist/adapters/openai.cjs +67 -1
- package/dist/adapters/openai.cjs.map +1 -1
- package/dist/adapters/openai.d.cts +10 -1
- package/dist/adapters/openai.d.ts +10 -1
- package/dist/adapters/openai.mjs +67 -1
- 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 +67 -1
- package/dist/anthropic/index.cjs.map +1 -1
- package/dist/anthropic/index.d.cts +1 -1
- package/dist/anthropic/index.d.ts +1 -1
- package/dist/anthropic/index.mjs +67 -1
- package/dist/anthropic/index.mjs.map +1 -1
- package/dist/{client-BA-QlnRq.d.cts → client-EMXt9_fA.d.cts} +77 -8
- package/dist/{client-BA-QlnRq.d.ts → client-EMXt9_fA.d.ts} +77 -8
- package/dist/express/index.cjs +67 -1
- 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 +67 -1
- package/dist/express/index.mjs.map +1 -1
- package/dist/index.cjs +217 -22
- 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 +217 -23
- package/dist/index.mjs.map +1 -1
- package/dist/openai/index.cjs +67 -1
- package/dist/openai/index.cjs.map +1 -1
- package/dist/openai/index.d.cts +1 -1
- package/dist/openai/index.d.ts +1 -1
- package/dist/openai/index.mjs +67 -1
- package/dist/openai/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -83,14 +83,22 @@ interface VendorHints {
|
|
|
83
83
|
}
|
|
84
84
|
interface PromptCompressionRequest {
|
|
85
85
|
callId: string;
|
|
86
|
-
input
|
|
87
|
-
|
|
86
|
+
input?: unknown;
|
|
87
|
+
text?: string;
|
|
88
|
+
provider?: "heuristic" | "toon" | "thetokencompany" | "usagetap";
|
|
89
|
+
model?: string;
|
|
88
90
|
tokenCompanyModel?: string;
|
|
91
|
+
/** Provider-neutral compression aggressiveness from 0.0 to 1.0. */
|
|
92
|
+
aggressiveness?: number;
|
|
93
|
+
/** @deprecated Use aggressiveness instead. */
|
|
89
94
|
tokenCompanyAggressiveness?: number;
|
|
90
95
|
tokenCompanyAppId?: string;
|
|
96
|
+
usageTapCompressionModel?: string;
|
|
97
|
+
/** @deprecated Use aggressiveness instead. */
|
|
98
|
+
usageTapCompressionAggressiveness?: number;
|
|
91
99
|
}
|
|
92
100
|
interface PromptCompressionTelemetry {
|
|
93
|
-
provider: "heuristic" | "toon" | "thetokencompany";
|
|
101
|
+
provider: "heuristic" | "toon" | "thetokencompany" | "usagetap";
|
|
94
102
|
originalCharacters: number;
|
|
95
103
|
compressedCharacters: number;
|
|
96
104
|
savedCharacters: number;
|
|
@@ -334,11 +342,24 @@ interface UsageTapClientOptions {
|
|
|
334
342
|
/** Override endpoint for The Token Company compatible compression APIs. */
|
|
335
343
|
tokenCompanyEndpoint?: string;
|
|
336
344
|
/** Default model for The Token Company compression. */
|
|
345
|
+
model?: string;
|
|
337
346
|
tokenCompanyModel?: string;
|
|
338
|
-
/** Default aggressiveness
|
|
347
|
+
/** Default compression aggressiveness, from 0.0 to 1.0. */
|
|
348
|
+
aggressiveness?: number;
|
|
349
|
+
/** @deprecated Use aggressiveness instead. */
|
|
339
350
|
tokenCompanyAggressiveness?: number;
|
|
340
351
|
/** Optional application identifier sent to The Token Company. */
|
|
341
352
|
tokenCompanyAppId?: string;
|
|
353
|
+
/** API key for UsageTap prompt compression. Defaults to apiKey when omitted. */
|
|
354
|
+
usageTapCompressionApiKey?: string;
|
|
355
|
+
/** Override endpoint for UsageTap-compatible prompt compression APIs. */
|
|
356
|
+
usageTapCompressionEndpoint?: string;
|
|
357
|
+
/** Override endpoint for UsageTap-compatible message/request compression APIs. */
|
|
358
|
+
usageTapCompressionMessagesEndpoint?: string;
|
|
359
|
+
/** Default model for UsageTap prompt compression. */
|
|
360
|
+
usageTapCompressionModel?: string;
|
|
361
|
+
/** @deprecated Use aggressiveness instead. */
|
|
362
|
+
usageTapCompressionAggressiveness?: number;
|
|
342
363
|
}
|
|
343
364
|
interface RequestOptions {
|
|
344
365
|
signal?: AbortSignal;
|
|
@@ -347,11 +368,29 @@ interface RequestOptions {
|
|
|
347
368
|
}
|
|
348
369
|
interface PromptCompressionStandaloneOptions {
|
|
349
370
|
signal?: AbortSignal;
|
|
350
|
-
provider?: "heuristic" | "toon" | "thetokencompany";
|
|
371
|
+
provider?: "heuristic" | "toon" | "thetokencompany" | "usagetap";
|
|
351
372
|
failOpen?: boolean;
|
|
373
|
+
model?: string;
|
|
352
374
|
tokenCompanyModel?: string;
|
|
375
|
+
/** Provider-neutral compression aggressiveness from 0.0 to 1.0. */
|
|
376
|
+
aggressiveness?: number;
|
|
377
|
+
/** @deprecated Use aggressiveness instead. */
|
|
353
378
|
tokenCompanyAggressiveness?: number;
|
|
354
379
|
tokenCompanyAppId?: string;
|
|
380
|
+
usageTapCompressionModel?: string;
|
|
381
|
+
/** @deprecated Use aggressiveness instead. */
|
|
382
|
+
usageTapCompressionAggressiveness?: number;
|
|
383
|
+
}
|
|
384
|
+
type PromptCompressionMessageRole$1 = "system" | "user" | "tool" | "assistant";
|
|
385
|
+
type PromptCompressionRoleAggressiveness$1 = Partial<Record<PromptCompressionMessageRole$1, number>>;
|
|
386
|
+
type PromptCompressionMessagesAggressiveness$1 = number | PromptCompressionRoleAggressiveness$1;
|
|
387
|
+
interface PromptCompressionMessagesOptions extends RequestOptions {
|
|
388
|
+
provider?: "usagetap";
|
|
389
|
+
failOpen?: boolean;
|
|
390
|
+
/** Provider-neutral scalar or per-role compression aggressiveness. */
|
|
391
|
+
aggressiveness?: PromptCompressionMessagesAggressiveness$1;
|
|
392
|
+
/** @deprecated Use aggressiveness instead. */
|
|
393
|
+
usageTapCompressionAggressiveness?: PromptCompressionMessagesAggressiveness$1;
|
|
355
394
|
}
|
|
356
395
|
interface RecordPromptCompressionRequest {
|
|
357
396
|
callId: string;
|
|
@@ -492,15 +531,36 @@ interface UsageMetricEvent {
|
|
|
492
531
|
correlationId?: string;
|
|
493
532
|
}
|
|
494
533
|
|
|
495
|
-
type PromptCompressionProvider = "heuristic" | "toon" | "thetokencompany";
|
|
534
|
+
type PromptCompressionProvider = "heuristic" | "toon" | "thetokencompany" | "usagetap";
|
|
535
|
+
type PromptCompressionMessageRole = "system" | "user" | "tool" | "assistant";
|
|
536
|
+
type PromptCompressionRoleAggressiveness = Partial<Record<PromptCompressionMessageRole, number>>;
|
|
537
|
+
type PromptCompressionMessagesAggressiveness = number | PromptCompressionRoleAggressiveness;
|
|
496
538
|
interface PromptCompressionInput {
|
|
497
|
-
input
|
|
539
|
+
input?: unknown;
|
|
540
|
+
text?: string;
|
|
498
541
|
provider?: PromptCompressionProvider;
|
|
499
542
|
tokenCompanyApiKey?: string;
|
|
500
543
|
tokenCompanyEndpoint?: string;
|
|
544
|
+
model?: string;
|
|
501
545
|
tokenCompanyModel?: string;
|
|
546
|
+
aggressiveness?: number;
|
|
502
547
|
tokenCompanyAggressiveness?: number;
|
|
503
548
|
tokenCompanyAppId?: string;
|
|
549
|
+
usageTapCompressionApiKey?: string;
|
|
550
|
+
usageTapCompressionEndpoint?: string;
|
|
551
|
+
usageTapCompressionModel?: string;
|
|
552
|
+
usageTapCompressionAggressiveness?: number;
|
|
553
|
+
fetchImpl?: typeof fetch;
|
|
554
|
+
signal?: AbortSignal;
|
|
555
|
+
failOpen?: boolean;
|
|
556
|
+
}
|
|
557
|
+
interface PromptCompressionMessagesInput<TInput = unknown> {
|
|
558
|
+
input: TInput;
|
|
559
|
+
provider?: Extract<PromptCompressionProvider, "usagetap">;
|
|
560
|
+
usageTapCompressionApiKey?: string;
|
|
561
|
+
usageTapCompressionMessagesEndpoint?: string;
|
|
562
|
+
aggressiveness?: PromptCompressionMessagesAggressiveness;
|
|
563
|
+
usageTapCompressionAggressiveness?: PromptCompressionMessagesAggressiveness;
|
|
504
564
|
fetchImpl?: typeof fetch;
|
|
505
565
|
signal?: AbortSignal;
|
|
506
566
|
failOpen?: boolean;
|
|
@@ -524,6 +584,7 @@ declare const protect: typeof protectPromptText;
|
|
|
524
584
|
declare function compressPrompt<TInput = unknown>(options: PromptCompressionInput): Promise<PromptCompressionResult<TInput>>;
|
|
525
585
|
declare function compressPromptHeuristic<TInput = unknown>(input: TInput): PromptCompressionResult<TInput>;
|
|
526
586
|
declare function compressPromptToon<TInput = unknown>(input: TInput): PromptCompressionResult<TInput>;
|
|
587
|
+
declare function compressPromptMessages<TInput = unknown>(options: PromptCompressionMessagesInput<TInput>): Promise<PromptCompressionResult<TInput>>;
|
|
527
588
|
declare function estimatePromptTokens(input: unknown): number;
|
|
528
589
|
|
|
529
590
|
declare class UsageTapClient {
|
|
@@ -541,15 +602,23 @@ declare class UsageTapClient {
|
|
|
541
602
|
private readonly autoIdempotency;
|
|
542
603
|
private readonly tokenCompanyApiKey?;
|
|
543
604
|
private readonly tokenCompanyEndpoint?;
|
|
605
|
+
private readonly model?;
|
|
544
606
|
private readonly tokenCompanyModel?;
|
|
607
|
+
private readonly aggressiveness?;
|
|
545
608
|
private readonly tokenCompanyAggressiveness?;
|
|
546
609
|
private readonly tokenCompanyAppId?;
|
|
610
|
+
private readonly usageTapCompressionApiKey?;
|
|
611
|
+
private readonly usageTapCompressionEndpoint?;
|
|
612
|
+
private readonly usageTapCompressionMessagesEndpoint?;
|
|
613
|
+
private readonly usageTapCompressionModel?;
|
|
614
|
+
private readonly usageTapCompressionAggressiveness?;
|
|
547
615
|
constructor(options: UsageTapClientOptions);
|
|
548
616
|
beginCall(request: BeginCallRequest, options?: BeginCallOptions): Promise<UsageTapSuccessResponse<BeginCallResponseBody>>;
|
|
549
617
|
promptCompress(request: PromptCompressionRequest, options?: PromptCompressionOptions): Promise<PromptCompressionResult & {
|
|
550
618
|
callId: string;
|
|
551
619
|
}>;
|
|
552
620
|
compressPromptInput<TInput = unknown>(input: TInput, options?: PromptCompressionStandaloneOptions): Promise<PromptCompressionResult<TInput>>;
|
|
621
|
+
compressPromptMessages<TInput = unknown>(input: TInput, options?: PromptCompressionMessagesOptions): Promise<PromptCompressionResult<TInput>>;
|
|
553
622
|
recordPromptCompression(request: RecordPromptCompressionRequest, options?: PromptCompressionOptions): Promise<UsageTapSuccessResponse<PromptCompressionResponseBody>>;
|
|
554
623
|
endCall(request: EndCallRequest, options?: EndCallOptions): Promise<UsageTapSuccessResponse<EndCallResponseBody>>;
|
|
555
624
|
checkUsage(request: CheckUsageRequest, options?: CheckUsageOptions): Promise<UsageTapSuccessResponse<CheckUsageResponseBody>>;
|
|
@@ -570,4 +639,4 @@ declare class UsageTapClient {
|
|
|
570
639
|
private toApiError;
|
|
571
640
|
}
|
|
572
641
|
|
|
573
|
-
export { type
|
|
642
|
+
export { type MeteredUsage as $, type CheckUsageResponseBody as A, type BeginCallRequest as B, type CreateCustomerOptions as C, type ChangePlanOptions as D, type EndCallRequest as E, type ChangePlanRequest as F, type ChangePlanResponseBody as G, type ChangePlanStrategy as H, type IncrementCustomMeterOptions as I, type IncrementCustomMeterRequest as J, type IncrementCustomMeterResponseBody as K, type CustomMeterSlot as L, type EndCallOptions as M, type EndCallResponseBody as N, type BalanceSummary as O, type PromptCompressionProvider as P, type SpendVelocityWindow as Q, type RecordPromptCompressionRequest as R, type SpendVelocitySnapshot as S, type SpendVelocityWindowKey as T, UsageTapClient as U, type VendorHints as V, type WithUsageOptions as W, type EntitlementHints as X, type PlanSummary as Y, type MeterSummary as Z, type MeterSnapshot as _, type PromptCompressionTelemetry as a, type RateLimitsSnapshot as a0, type RemainingRatios as a1, type RollingCallsRateLimitState as a2, type RequestedEntitlements as a3, type AllowedEntitlements as a4, type RetryOptions as a5, type UsageTapClientOptions as a6, type UsageTapErrorResponse as a7, type UsageTapResultEnvelope as a8, type UsageTapResultStatus as a9, type UsageTapLogEntry as aa, type WithUsageContext as ab, type LimitType as ac, type SubscriptionSnapshot as ad, type ModelHints as ae, type IdempotencyMetadata as af, type UsageMetricEvent as ag, type UsageTapSuccessResponse as b, type BeginCallResponseBody as c, compressPrompt as d, compressPromptMessages as e, compressPromptHeuristic as f, compressPromptToon as g, estimatePromptTokens as h, protectPromptText as i, type PromptCompressionInput as j, type PromptCompressionMessagesAggressiveness as k, type PromptCompressionMessagesInput as l, type PromptCompressionMessageRole as m, type PromptCompressionResult as n, type PromptCompressionRoleAggressiveness as o, protect as p, type BeginCallOptions as q, type PromptCompressionRequest as r, type PromptCompressionOptions as s, type PromptCompressionMessagesOptions as t, type PromptCompressionResponseBody as u, type PromptCompressionStandaloneOptions as v, type CreateCustomerRequest as w, type CreateCustomerResponseBody as x, type CheckUsageOptions as y, type CheckUsageRequest as z };
|
|
@@ -83,14 +83,22 @@ interface VendorHints {
|
|
|
83
83
|
}
|
|
84
84
|
interface PromptCompressionRequest {
|
|
85
85
|
callId: string;
|
|
86
|
-
input
|
|
87
|
-
|
|
86
|
+
input?: unknown;
|
|
87
|
+
text?: string;
|
|
88
|
+
provider?: "heuristic" | "toon" | "thetokencompany" | "usagetap";
|
|
89
|
+
model?: string;
|
|
88
90
|
tokenCompanyModel?: string;
|
|
91
|
+
/** Provider-neutral compression aggressiveness from 0.0 to 1.0. */
|
|
92
|
+
aggressiveness?: number;
|
|
93
|
+
/** @deprecated Use aggressiveness instead. */
|
|
89
94
|
tokenCompanyAggressiveness?: number;
|
|
90
95
|
tokenCompanyAppId?: string;
|
|
96
|
+
usageTapCompressionModel?: string;
|
|
97
|
+
/** @deprecated Use aggressiveness instead. */
|
|
98
|
+
usageTapCompressionAggressiveness?: number;
|
|
91
99
|
}
|
|
92
100
|
interface PromptCompressionTelemetry {
|
|
93
|
-
provider: "heuristic" | "toon" | "thetokencompany";
|
|
101
|
+
provider: "heuristic" | "toon" | "thetokencompany" | "usagetap";
|
|
94
102
|
originalCharacters: number;
|
|
95
103
|
compressedCharacters: number;
|
|
96
104
|
savedCharacters: number;
|
|
@@ -334,11 +342,24 @@ interface UsageTapClientOptions {
|
|
|
334
342
|
/** Override endpoint for The Token Company compatible compression APIs. */
|
|
335
343
|
tokenCompanyEndpoint?: string;
|
|
336
344
|
/** Default model for The Token Company compression. */
|
|
345
|
+
model?: string;
|
|
337
346
|
tokenCompanyModel?: string;
|
|
338
|
-
/** Default aggressiveness
|
|
347
|
+
/** Default compression aggressiveness, from 0.0 to 1.0. */
|
|
348
|
+
aggressiveness?: number;
|
|
349
|
+
/** @deprecated Use aggressiveness instead. */
|
|
339
350
|
tokenCompanyAggressiveness?: number;
|
|
340
351
|
/** Optional application identifier sent to The Token Company. */
|
|
341
352
|
tokenCompanyAppId?: string;
|
|
353
|
+
/** API key for UsageTap prompt compression. Defaults to apiKey when omitted. */
|
|
354
|
+
usageTapCompressionApiKey?: string;
|
|
355
|
+
/** Override endpoint for UsageTap-compatible prompt compression APIs. */
|
|
356
|
+
usageTapCompressionEndpoint?: string;
|
|
357
|
+
/** Override endpoint for UsageTap-compatible message/request compression APIs. */
|
|
358
|
+
usageTapCompressionMessagesEndpoint?: string;
|
|
359
|
+
/** Default model for UsageTap prompt compression. */
|
|
360
|
+
usageTapCompressionModel?: string;
|
|
361
|
+
/** @deprecated Use aggressiveness instead. */
|
|
362
|
+
usageTapCompressionAggressiveness?: number;
|
|
342
363
|
}
|
|
343
364
|
interface RequestOptions {
|
|
344
365
|
signal?: AbortSignal;
|
|
@@ -347,11 +368,29 @@ interface RequestOptions {
|
|
|
347
368
|
}
|
|
348
369
|
interface PromptCompressionStandaloneOptions {
|
|
349
370
|
signal?: AbortSignal;
|
|
350
|
-
provider?: "heuristic" | "toon" | "thetokencompany";
|
|
371
|
+
provider?: "heuristic" | "toon" | "thetokencompany" | "usagetap";
|
|
351
372
|
failOpen?: boolean;
|
|
373
|
+
model?: string;
|
|
352
374
|
tokenCompanyModel?: string;
|
|
375
|
+
/** Provider-neutral compression aggressiveness from 0.0 to 1.0. */
|
|
376
|
+
aggressiveness?: number;
|
|
377
|
+
/** @deprecated Use aggressiveness instead. */
|
|
353
378
|
tokenCompanyAggressiveness?: number;
|
|
354
379
|
tokenCompanyAppId?: string;
|
|
380
|
+
usageTapCompressionModel?: string;
|
|
381
|
+
/** @deprecated Use aggressiveness instead. */
|
|
382
|
+
usageTapCompressionAggressiveness?: number;
|
|
383
|
+
}
|
|
384
|
+
type PromptCompressionMessageRole$1 = "system" | "user" | "tool" | "assistant";
|
|
385
|
+
type PromptCompressionRoleAggressiveness$1 = Partial<Record<PromptCompressionMessageRole$1, number>>;
|
|
386
|
+
type PromptCompressionMessagesAggressiveness$1 = number | PromptCompressionRoleAggressiveness$1;
|
|
387
|
+
interface PromptCompressionMessagesOptions extends RequestOptions {
|
|
388
|
+
provider?: "usagetap";
|
|
389
|
+
failOpen?: boolean;
|
|
390
|
+
/** Provider-neutral scalar or per-role compression aggressiveness. */
|
|
391
|
+
aggressiveness?: PromptCompressionMessagesAggressiveness$1;
|
|
392
|
+
/** @deprecated Use aggressiveness instead. */
|
|
393
|
+
usageTapCompressionAggressiveness?: PromptCompressionMessagesAggressiveness$1;
|
|
355
394
|
}
|
|
356
395
|
interface RecordPromptCompressionRequest {
|
|
357
396
|
callId: string;
|
|
@@ -492,15 +531,36 @@ interface UsageMetricEvent {
|
|
|
492
531
|
correlationId?: string;
|
|
493
532
|
}
|
|
494
533
|
|
|
495
|
-
type PromptCompressionProvider = "heuristic" | "toon" | "thetokencompany";
|
|
534
|
+
type PromptCompressionProvider = "heuristic" | "toon" | "thetokencompany" | "usagetap";
|
|
535
|
+
type PromptCompressionMessageRole = "system" | "user" | "tool" | "assistant";
|
|
536
|
+
type PromptCompressionRoleAggressiveness = Partial<Record<PromptCompressionMessageRole, number>>;
|
|
537
|
+
type PromptCompressionMessagesAggressiveness = number | PromptCompressionRoleAggressiveness;
|
|
496
538
|
interface PromptCompressionInput {
|
|
497
|
-
input
|
|
539
|
+
input?: unknown;
|
|
540
|
+
text?: string;
|
|
498
541
|
provider?: PromptCompressionProvider;
|
|
499
542
|
tokenCompanyApiKey?: string;
|
|
500
543
|
tokenCompanyEndpoint?: string;
|
|
544
|
+
model?: string;
|
|
501
545
|
tokenCompanyModel?: string;
|
|
546
|
+
aggressiveness?: number;
|
|
502
547
|
tokenCompanyAggressiveness?: number;
|
|
503
548
|
tokenCompanyAppId?: string;
|
|
549
|
+
usageTapCompressionApiKey?: string;
|
|
550
|
+
usageTapCompressionEndpoint?: string;
|
|
551
|
+
usageTapCompressionModel?: string;
|
|
552
|
+
usageTapCompressionAggressiveness?: number;
|
|
553
|
+
fetchImpl?: typeof fetch;
|
|
554
|
+
signal?: AbortSignal;
|
|
555
|
+
failOpen?: boolean;
|
|
556
|
+
}
|
|
557
|
+
interface PromptCompressionMessagesInput<TInput = unknown> {
|
|
558
|
+
input: TInput;
|
|
559
|
+
provider?: Extract<PromptCompressionProvider, "usagetap">;
|
|
560
|
+
usageTapCompressionApiKey?: string;
|
|
561
|
+
usageTapCompressionMessagesEndpoint?: string;
|
|
562
|
+
aggressiveness?: PromptCompressionMessagesAggressiveness;
|
|
563
|
+
usageTapCompressionAggressiveness?: PromptCompressionMessagesAggressiveness;
|
|
504
564
|
fetchImpl?: typeof fetch;
|
|
505
565
|
signal?: AbortSignal;
|
|
506
566
|
failOpen?: boolean;
|
|
@@ -524,6 +584,7 @@ declare const protect: typeof protectPromptText;
|
|
|
524
584
|
declare function compressPrompt<TInput = unknown>(options: PromptCompressionInput): Promise<PromptCompressionResult<TInput>>;
|
|
525
585
|
declare function compressPromptHeuristic<TInput = unknown>(input: TInput): PromptCompressionResult<TInput>;
|
|
526
586
|
declare function compressPromptToon<TInput = unknown>(input: TInput): PromptCompressionResult<TInput>;
|
|
587
|
+
declare function compressPromptMessages<TInput = unknown>(options: PromptCompressionMessagesInput<TInput>): Promise<PromptCompressionResult<TInput>>;
|
|
527
588
|
declare function estimatePromptTokens(input: unknown): number;
|
|
528
589
|
|
|
529
590
|
declare class UsageTapClient {
|
|
@@ -541,15 +602,23 @@ declare class UsageTapClient {
|
|
|
541
602
|
private readonly autoIdempotency;
|
|
542
603
|
private readonly tokenCompanyApiKey?;
|
|
543
604
|
private readonly tokenCompanyEndpoint?;
|
|
605
|
+
private readonly model?;
|
|
544
606
|
private readonly tokenCompanyModel?;
|
|
607
|
+
private readonly aggressiveness?;
|
|
545
608
|
private readonly tokenCompanyAggressiveness?;
|
|
546
609
|
private readonly tokenCompanyAppId?;
|
|
610
|
+
private readonly usageTapCompressionApiKey?;
|
|
611
|
+
private readonly usageTapCompressionEndpoint?;
|
|
612
|
+
private readonly usageTapCompressionMessagesEndpoint?;
|
|
613
|
+
private readonly usageTapCompressionModel?;
|
|
614
|
+
private readonly usageTapCompressionAggressiveness?;
|
|
547
615
|
constructor(options: UsageTapClientOptions);
|
|
548
616
|
beginCall(request: BeginCallRequest, options?: BeginCallOptions): Promise<UsageTapSuccessResponse<BeginCallResponseBody>>;
|
|
549
617
|
promptCompress(request: PromptCompressionRequest, options?: PromptCompressionOptions): Promise<PromptCompressionResult & {
|
|
550
618
|
callId: string;
|
|
551
619
|
}>;
|
|
552
620
|
compressPromptInput<TInput = unknown>(input: TInput, options?: PromptCompressionStandaloneOptions): Promise<PromptCompressionResult<TInput>>;
|
|
621
|
+
compressPromptMessages<TInput = unknown>(input: TInput, options?: PromptCompressionMessagesOptions): Promise<PromptCompressionResult<TInput>>;
|
|
553
622
|
recordPromptCompression(request: RecordPromptCompressionRequest, options?: PromptCompressionOptions): Promise<UsageTapSuccessResponse<PromptCompressionResponseBody>>;
|
|
554
623
|
endCall(request: EndCallRequest, options?: EndCallOptions): Promise<UsageTapSuccessResponse<EndCallResponseBody>>;
|
|
555
624
|
checkUsage(request: CheckUsageRequest, options?: CheckUsageOptions): Promise<UsageTapSuccessResponse<CheckUsageResponseBody>>;
|
|
@@ -570,4 +639,4 @@ declare class UsageTapClient {
|
|
|
570
639
|
private toApiError;
|
|
571
640
|
}
|
|
572
641
|
|
|
573
|
-
export { type
|
|
642
|
+
export { type MeteredUsage as $, type CheckUsageResponseBody as A, type BeginCallRequest as B, type CreateCustomerOptions as C, type ChangePlanOptions as D, type EndCallRequest as E, type ChangePlanRequest as F, type ChangePlanResponseBody as G, type ChangePlanStrategy as H, type IncrementCustomMeterOptions as I, type IncrementCustomMeterRequest as J, type IncrementCustomMeterResponseBody as K, type CustomMeterSlot as L, type EndCallOptions as M, type EndCallResponseBody as N, type BalanceSummary as O, type PromptCompressionProvider as P, type SpendVelocityWindow as Q, type RecordPromptCompressionRequest as R, type SpendVelocitySnapshot as S, type SpendVelocityWindowKey as T, UsageTapClient as U, type VendorHints as V, type WithUsageOptions as W, type EntitlementHints as X, type PlanSummary as Y, type MeterSummary as Z, type MeterSnapshot as _, type PromptCompressionTelemetry as a, type RateLimitsSnapshot as a0, type RemainingRatios as a1, type RollingCallsRateLimitState as a2, type RequestedEntitlements as a3, type AllowedEntitlements as a4, type RetryOptions as a5, type UsageTapClientOptions as a6, type UsageTapErrorResponse as a7, type UsageTapResultEnvelope as a8, type UsageTapResultStatus as a9, type UsageTapLogEntry as aa, type WithUsageContext as ab, type LimitType as ac, type SubscriptionSnapshot as ad, type ModelHints as ae, type IdempotencyMetadata as af, type UsageMetricEvent as ag, type UsageTapSuccessResponse as b, type BeginCallResponseBody as c, compressPrompt as d, compressPromptMessages as e, compressPromptHeuristic as f, compressPromptToon as g, estimatePromptTokens as h, protectPromptText as i, type PromptCompressionInput as j, type PromptCompressionMessagesAggressiveness as k, type PromptCompressionMessagesInput as l, type PromptCompressionMessageRole as m, type PromptCompressionResult as n, type PromptCompressionRoleAggressiveness as o, protect as p, type BeginCallOptions as q, type PromptCompressionRequest as r, type PromptCompressionOptions as s, type PromptCompressionMessagesOptions as t, type PromptCompressionResponseBody as u, type PromptCompressionStandaloneOptions as v, type CreateCustomerRequest as w, type CreateCustomerResponseBody as x, type CheckUsageOptions as y, type CheckUsageRequest as z };
|
package/dist/express/index.cjs
CHANGED
|
@@ -495,6 +495,18 @@ async function compressChatParams(params, usageTap, compression, signal) {
|
|
|
495
495
|
if (!messages) {
|
|
496
496
|
return { params, segments: [] };
|
|
497
497
|
}
|
|
498
|
+
if (shouldUseUsageTapMessageEndpoint(compression)) {
|
|
499
|
+
const result = await usageTap.compressPromptMessages(source, {
|
|
500
|
+
provider: "usagetap",
|
|
501
|
+
failOpen: compression.failOpen,
|
|
502
|
+
aggressiveness: resolveMessageEndpointAggressiveness(compression),
|
|
503
|
+
signal
|
|
504
|
+
});
|
|
505
|
+
return {
|
|
506
|
+
params: result.compressedInput,
|
|
507
|
+
segments: [{ role: "user", result }]
|
|
508
|
+
};
|
|
509
|
+
}
|
|
498
510
|
const messageResults = await Promise.all(
|
|
499
511
|
messages.map(
|
|
500
512
|
(message) => compressOpenAIMessage(message, usageTap, compression, signal)
|
|
@@ -718,8 +730,11 @@ async function compressTextForRole(text, role, usageTap, compression, signal) {
|
|
|
718
730
|
provider: roleOptions.provider,
|
|
719
731
|
failOpen: roleOptions.failOpen,
|
|
720
732
|
tokenCompanyModel: roleOptions.tokenCompanyModel,
|
|
733
|
+
aggressiveness: roleOptions.aggressiveness,
|
|
721
734
|
tokenCompanyAggressiveness: roleOptions.tokenCompanyAggressiveness,
|
|
722
735
|
tokenCompanyAppId: roleOptions.tokenCompanyAppId,
|
|
736
|
+
usageTapCompressionModel: roleOptions.usageTapCompressionModel,
|
|
737
|
+
usageTapCompressionAggressiveness: roleOptions.usageTapCompressionAggressiveness,
|
|
723
738
|
signal
|
|
724
739
|
});
|
|
725
740
|
const compressedText = typeof result.compressedInput === "string" ? result.compressedInput : String(result.compressedInput);
|
|
@@ -778,16 +793,67 @@ function resolveRoleCompressionOptions(compression, role) {
|
|
|
778
793
|
minTokens: roleOptions?.minTokens ?? compression.minTokens,
|
|
779
794
|
failOpen: compression.failOpen,
|
|
780
795
|
tokenCompanyModel: compression.tokenCompanyModel,
|
|
796
|
+
aggressiveness: roleOptions?.aggressiveness ?? resolveAggressiveness(compression, role),
|
|
781
797
|
tokenCompanyAggressiveness: roleOptions?.tokenCompanyAggressiveness ?? resolveTokenCompanyAggressiveness(compression, role),
|
|
782
|
-
tokenCompanyAppId: compression.tokenCompanyAppId
|
|
798
|
+
tokenCompanyAppId: compression.tokenCompanyAppId,
|
|
799
|
+
usageTapCompressionModel: compression.usageTapCompressionModel,
|
|
800
|
+
usageTapCompressionAggressiveness: roleOptions?.usageTapCompressionAggressiveness ?? resolveUsageTapCompressionAggressiveness(compression, role)
|
|
783
801
|
};
|
|
784
802
|
}
|
|
803
|
+
function resolveAggressiveness(compression, role) {
|
|
804
|
+
if (typeof compression.aggressiveness === "number") {
|
|
805
|
+
return compression.aggressiveness;
|
|
806
|
+
}
|
|
807
|
+
return compression.aggressiveness?.[role];
|
|
808
|
+
}
|
|
785
809
|
function resolveTokenCompanyAggressiveness(compression, role) {
|
|
786
810
|
if (typeof compression.tokenCompanyAggressiveness === "number") {
|
|
787
811
|
return compression.tokenCompanyAggressiveness;
|
|
788
812
|
}
|
|
789
813
|
return compression.tokenCompanyAggressiveness?.[role];
|
|
790
814
|
}
|
|
815
|
+
function resolveUsageTapCompressionAggressiveness(compression, role) {
|
|
816
|
+
if (typeof compression.usageTapCompressionAggressiveness === "number") {
|
|
817
|
+
return compression.usageTapCompressionAggressiveness;
|
|
818
|
+
}
|
|
819
|
+
return compression.usageTapCompressionAggressiveness?.[role];
|
|
820
|
+
}
|
|
821
|
+
function shouldUseUsageTapMessageEndpoint(compression) {
|
|
822
|
+
if (compression.provider !== "usagetap") {
|
|
823
|
+
return false;
|
|
824
|
+
}
|
|
825
|
+
return Object.values(compression.roles ?? {}).every((setting) => {
|
|
826
|
+
if (typeof setting !== "object" || setting === null) {
|
|
827
|
+
return true;
|
|
828
|
+
}
|
|
829
|
+
return setting.provider === void 0 || setting.provider === "usagetap";
|
|
830
|
+
});
|
|
831
|
+
}
|
|
832
|
+
function resolveMessageEndpointAggressiveness(compression) {
|
|
833
|
+
const base = compression.aggressiveness ?? compression.usageTapCompressionAggressiveness ?? compression.tokenCompanyAggressiveness;
|
|
834
|
+
if (typeof base === "number" || base === void 0) {
|
|
835
|
+
return hasExplicitEnabledRoles(compression) ? buildRoleAggressiveness(compression, base) : base;
|
|
836
|
+
}
|
|
837
|
+
return buildRoleAggressiveness(compression, void 0, base);
|
|
838
|
+
}
|
|
839
|
+
function hasExplicitEnabledRoles(compression) {
|
|
840
|
+
return Object.values(compression.roles ?? {}).some((setting) => setting !== false);
|
|
841
|
+
}
|
|
842
|
+
function buildRoleAggressiveness(compression, fallback, base = {}) {
|
|
843
|
+
const roles = ["system", "user", "tool", "assistant"];
|
|
844
|
+
const result = {};
|
|
845
|
+
for (const role of roles) {
|
|
846
|
+
const roleOptions = resolveRoleCompressionOptions(compression, role);
|
|
847
|
+
if (!roleOptions) {
|
|
848
|
+
continue;
|
|
849
|
+
}
|
|
850
|
+
const roleAggressiveness = roleOptions.aggressiveness ?? roleOptions.usageTapCompressionAggressiveness ?? roleOptions.tokenCompanyAggressiveness ?? base[role] ?? fallback;
|
|
851
|
+
if (roleAggressiveness !== void 0) {
|
|
852
|
+
result[role] = roleAggressiveness;
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
return result;
|
|
856
|
+
}
|
|
791
857
|
function buildPromptCompressionTelemetry(segments) {
|
|
792
858
|
if (!segments.length) {
|
|
793
859
|
return void 0;
|