@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
package/dist/express/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import OpenAI from 'openai';
|
|
2
2
|
import { Request, Response, NextFunction } from 'express';
|
|
3
|
-
import { U as UsageTapClient } from '../client-
|
|
3
|
+
import { U as UsageTapClient } from '../client-EMXt9_fA.cjs';
|
|
4
4
|
import { WrapOpenAIContext, WrapOpenAIOptions, wrapOpenAI, pipeToResponse } from '../adapters/openai.cjs';
|
|
5
5
|
|
|
6
6
|
interface ExpressUsageTapContext {
|
package/dist/express/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import OpenAI from 'openai';
|
|
2
2
|
import { Request, Response, NextFunction } from 'express';
|
|
3
|
-
import { U as UsageTapClient } from '../client-
|
|
3
|
+
import { U as UsageTapClient } from '../client-EMXt9_fA.js';
|
|
4
4
|
import { WrapOpenAIContext, WrapOpenAIOptions, wrapOpenAI, pipeToResponse } from '../adapters/openai.js';
|
|
5
5
|
|
|
6
6
|
interface ExpressUsageTapContext {
|
package/dist/express/index.mjs
CHANGED
|
@@ -493,6 +493,18 @@ async function compressChatParams(params, usageTap, compression, signal) {
|
|
|
493
493
|
if (!messages) {
|
|
494
494
|
return { params, segments: [] };
|
|
495
495
|
}
|
|
496
|
+
if (shouldUseUsageTapMessageEndpoint(compression)) {
|
|
497
|
+
const result = await usageTap.compressPromptMessages(source, {
|
|
498
|
+
provider: "usagetap",
|
|
499
|
+
failOpen: compression.failOpen,
|
|
500
|
+
aggressiveness: resolveMessageEndpointAggressiveness(compression),
|
|
501
|
+
signal
|
|
502
|
+
});
|
|
503
|
+
return {
|
|
504
|
+
params: result.compressedInput,
|
|
505
|
+
segments: [{ role: "user", result }]
|
|
506
|
+
};
|
|
507
|
+
}
|
|
496
508
|
const messageResults = await Promise.all(
|
|
497
509
|
messages.map(
|
|
498
510
|
(message) => compressOpenAIMessage(message, usageTap, compression, signal)
|
|
@@ -716,8 +728,11 @@ async function compressTextForRole(text, role, usageTap, compression, signal) {
|
|
|
716
728
|
provider: roleOptions.provider,
|
|
717
729
|
failOpen: roleOptions.failOpen,
|
|
718
730
|
tokenCompanyModel: roleOptions.tokenCompanyModel,
|
|
731
|
+
aggressiveness: roleOptions.aggressiveness,
|
|
719
732
|
tokenCompanyAggressiveness: roleOptions.tokenCompanyAggressiveness,
|
|
720
733
|
tokenCompanyAppId: roleOptions.tokenCompanyAppId,
|
|
734
|
+
usageTapCompressionModel: roleOptions.usageTapCompressionModel,
|
|
735
|
+
usageTapCompressionAggressiveness: roleOptions.usageTapCompressionAggressiveness,
|
|
721
736
|
signal
|
|
722
737
|
});
|
|
723
738
|
const compressedText = typeof result.compressedInput === "string" ? result.compressedInput : String(result.compressedInput);
|
|
@@ -776,16 +791,67 @@ function resolveRoleCompressionOptions(compression, role) {
|
|
|
776
791
|
minTokens: roleOptions?.minTokens ?? compression.minTokens,
|
|
777
792
|
failOpen: compression.failOpen,
|
|
778
793
|
tokenCompanyModel: compression.tokenCompanyModel,
|
|
794
|
+
aggressiveness: roleOptions?.aggressiveness ?? resolveAggressiveness(compression, role),
|
|
779
795
|
tokenCompanyAggressiveness: roleOptions?.tokenCompanyAggressiveness ?? resolveTokenCompanyAggressiveness(compression, role),
|
|
780
|
-
tokenCompanyAppId: compression.tokenCompanyAppId
|
|
796
|
+
tokenCompanyAppId: compression.tokenCompanyAppId,
|
|
797
|
+
usageTapCompressionModel: compression.usageTapCompressionModel,
|
|
798
|
+
usageTapCompressionAggressiveness: roleOptions?.usageTapCompressionAggressiveness ?? resolveUsageTapCompressionAggressiveness(compression, role)
|
|
781
799
|
};
|
|
782
800
|
}
|
|
801
|
+
function resolveAggressiveness(compression, role) {
|
|
802
|
+
if (typeof compression.aggressiveness === "number") {
|
|
803
|
+
return compression.aggressiveness;
|
|
804
|
+
}
|
|
805
|
+
return compression.aggressiveness?.[role];
|
|
806
|
+
}
|
|
783
807
|
function resolveTokenCompanyAggressiveness(compression, role) {
|
|
784
808
|
if (typeof compression.tokenCompanyAggressiveness === "number") {
|
|
785
809
|
return compression.tokenCompanyAggressiveness;
|
|
786
810
|
}
|
|
787
811
|
return compression.tokenCompanyAggressiveness?.[role];
|
|
788
812
|
}
|
|
813
|
+
function resolveUsageTapCompressionAggressiveness(compression, role) {
|
|
814
|
+
if (typeof compression.usageTapCompressionAggressiveness === "number") {
|
|
815
|
+
return compression.usageTapCompressionAggressiveness;
|
|
816
|
+
}
|
|
817
|
+
return compression.usageTapCompressionAggressiveness?.[role];
|
|
818
|
+
}
|
|
819
|
+
function shouldUseUsageTapMessageEndpoint(compression) {
|
|
820
|
+
if (compression.provider !== "usagetap") {
|
|
821
|
+
return false;
|
|
822
|
+
}
|
|
823
|
+
return Object.values(compression.roles ?? {}).every((setting) => {
|
|
824
|
+
if (typeof setting !== "object" || setting === null) {
|
|
825
|
+
return true;
|
|
826
|
+
}
|
|
827
|
+
return setting.provider === void 0 || setting.provider === "usagetap";
|
|
828
|
+
});
|
|
829
|
+
}
|
|
830
|
+
function resolveMessageEndpointAggressiveness(compression) {
|
|
831
|
+
const base = compression.aggressiveness ?? compression.usageTapCompressionAggressiveness ?? compression.tokenCompanyAggressiveness;
|
|
832
|
+
if (typeof base === "number" || base === void 0) {
|
|
833
|
+
return hasExplicitEnabledRoles(compression) ? buildRoleAggressiveness(compression, base) : base;
|
|
834
|
+
}
|
|
835
|
+
return buildRoleAggressiveness(compression, void 0, base);
|
|
836
|
+
}
|
|
837
|
+
function hasExplicitEnabledRoles(compression) {
|
|
838
|
+
return Object.values(compression.roles ?? {}).some((setting) => setting !== false);
|
|
839
|
+
}
|
|
840
|
+
function buildRoleAggressiveness(compression, fallback, base = {}) {
|
|
841
|
+
const roles = ["system", "user", "tool", "assistant"];
|
|
842
|
+
const result = {};
|
|
843
|
+
for (const role of roles) {
|
|
844
|
+
const roleOptions = resolveRoleCompressionOptions(compression, role);
|
|
845
|
+
if (!roleOptions) {
|
|
846
|
+
continue;
|
|
847
|
+
}
|
|
848
|
+
const roleAggressiveness = roleOptions.aggressiveness ?? roleOptions.usageTapCompressionAggressiveness ?? roleOptions.tokenCompanyAggressiveness ?? base[role] ?? fallback;
|
|
849
|
+
if (roleAggressiveness !== void 0) {
|
|
850
|
+
result[role] = roleAggressiveness;
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
return result;
|
|
854
|
+
}
|
|
789
855
|
function buildPromptCompressionTelemetry(segments) {
|
|
790
856
|
if (!segments.length) {
|
|
791
857
|
return void 0;
|