@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/adapters/openai.cjs
CHANGED
|
@@ -605,6 +605,18 @@ async function compressChatParams(params, usageTap, compression, signal) {
|
|
|
605
605
|
if (!messages) {
|
|
606
606
|
return { params, segments: [] };
|
|
607
607
|
}
|
|
608
|
+
if (shouldUseUsageTapMessageEndpoint(compression)) {
|
|
609
|
+
const result = await usageTap.compressPromptMessages(source, {
|
|
610
|
+
provider: "usagetap",
|
|
611
|
+
failOpen: compression.failOpen,
|
|
612
|
+
aggressiveness: resolveMessageEndpointAggressiveness(compression),
|
|
613
|
+
signal
|
|
614
|
+
});
|
|
615
|
+
return {
|
|
616
|
+
params: result.compressedInput,
|
|
617
|
+
segments: [{ role: "user", result }]
|
|
618
|
+
};
|
|
619
|
+
}
|
|
608
620
|
const messageResults = await Promise.all(
|
|
609
621
|
messages.map(
|
|
610
622
|
(message) => compressOpenAIMessage(message, usageTap, compression, signal)
|
|
@@ -828,8 +840,11 @@ async function compressTextForRole(text, role, usageTap, compression, signal) {
|
|
|
828
840
|
provider: roleOptions.provider,
|
|
829
841
|
failOpen: roleOptions.failOpen,
|
|
830
842
|
tokenCompanyModel: roleOptions.tokenCompanyModel,
|
|
843
|
+
aggressiveness: roleOptions.aggressiveness,
|
|
831
844
|
tokenCompanyAggressiveness: roleOptions.tokenCompanyAggressiveness,
|
|
832
845
|
tokenCompanyAppId: roleOptions.tokenCompanyAppId,
|
|
846
|
+
usageTapCompressionModel: roleOptions.usageTapCompressionModel,
|
|
847
|
+
usageTapCompressionAggressiveness: roleOptions.usageTapCompressionAggressiveness,
|
|
833
848
|
signal
|
|
834
849
|
});
|
|
835
850
|
const compressedText = typeof result.compressedInput === "string" ? result.compressedInput : String(result.compressedInput);
|
|
@@ -888,16 +903,67 @@ function resolveRoleCompressionOptions(compression, role) {
|
|
|
888
903
|
minTokens: roleOptions?.minTokens ?? compression.minTokens,
|
|
889
904
|
failOpen: compression.failOpen,
|
|
890
905
|
tokenCompanyModel: compression.tokenCompanyModel,
|
|
906
|
+
aggressiveness: roleOptions?.aggressiveness ?? resolveAggressiveness(compression, role),
|
|
891
907
|
tokenCompanyAggressiveness: roleOptions?.tokenCompanyAggressiveness ?? resolveTokenCompanyAggressiveness(compression, role),
|
|
892
|
-
tokenCompanyAppId: compression.tokenCompanyAppId
|
|
908
|
+
tokenCompanyAppId: compression.tokenCompanyAppId,
|
|
909
|
+
usageTapCompressionModel: compression.usageTapCompressionModel,
|
|
910
|
+
usageTapCompressionAggressiveness: roleOptions?.usageTapCompressionAggressiveness ?? resolveUsageTapCompressionAggressiveness(compression, role)
|
|
893
911
|
};
|
|
894
912
|
}
|
|
913
|
+
function resolveAggressiveness(compression, role) {
|
|
914
|
+
if (typeof compression.aggressiveness === "number") {
|
|
915
|
+
return compression.aggressiveness;
|
|
916
|
+
}
|
|
917
|
+
return compression.aggressiveness?.[role];
|
|
918
|
+
}
|
|
895
919
|
function resolveTokenCompanyAggressiveness(compression, role) {
|
|
896
920
|
if (typeof compression.tokenCompanyAggressiveness === "number") {
|
|
897
921
|
return compression.tokenCompanyAggressiveness;
|
|
898
922
|
}
|
|
899
923
|
return compression.tokenCompanyAggressiveness?.[role];
|
|
900
924
|
}
|
|
925
|
+
function resolveUsageTapCompressionAggressiveness(compression, role) {
|
|
926
|
+
if (typeof compression.usageTapCompressionAggressiveness === "number") {
|
|
927
|
+
return compression.usageTapCompressionAggressiveness;
|
|
928
|
+
}
|
|
929
|
+
return compression.usageTapCompressionAggressiveness?.[role];
|
|
930
|
+
}
|
|
931
|
+
function shouldUseUsageTapMessageEndpoint(compression) {
|
|
932
|
+
if (compression.provider !== "usagetap") {
|
|
933
|
+
return false;
|
|
934
|
+
}
|
|
935
|
+
return Object.values(compression.roles ?? {}).every((setting) => {
|
|
936
|
+
if (typeof setting !== "object" || setting === null) {
|
|
937
|
+
return true;
|
|
938
|
+
}
|
|
939
|
+
return setting.provider === void 0 || setting.provider === "usagetap";
|
|
940
|
+
});
|
|
941
|
+
}
|
|
942
|
+
function resolveMessageEndpointAggressiveness(compression) {
|
|
943
|
+
const base = compression.aggressiveness ?? compression.usageTapCompressionAggressiveness ?? compression.tokenCompanyAggressiveness;
|
|
944
|
+
if (typeof base === "number" || base === void 0) {
|
|
945
|
+
return hasExplicitEnabledRoles(compression) ? buildRoleAggressiveness(compression, base) : base;
|
|
946
|
+
}
|
|
947
|
+
return buildRoleAggressiveness(compression, void 0, base);
|
|
948
|
+
}
|
|
949
|
+
function hasExplicitEnabledRoles(compression) {
|
|
950
|
+
return Object.values(compression.roles ?? {}).some((setting) => setting !== false);
|
|
951
|
+
}
|
|
952
|
+
function buildRoleAggressiveness(compression, fallback, base = {}) {
|
|
953
|
+
const roles = ["system", "user", "tool", "assistant"];
|
|
954
|
+
const result = {};
|
|
955
|
+
for (const role of roles) {
|
|
956
|
+
const roleOptions = resolveRoleCompressionOptions(compression, role);
|
|
957
|
+
if (!roleOptions) {
|
|
958
|
+
continue;
|
|
959
|
+
}
|
|
960
|
+
const roleAggressiveness = roleOptions.aggressiveness ?? roleOptions.usageTapCompressionAggressiveness ?? roleOptions.tokenCompanyAggressiveness ?? base[role] ?? fallback;
|
|
961
|
+
if (roleAggressiveness !== void 0) {
|
|
962
|
+
result[role] = roleAggressiveness;
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
return result;
|
|
966
|
+
}
|
|
901
967
|
function buildPromptCompressionTelemetry(segments) {
|
|
902
968
|
if (!segments.length) {
|
|
903
969
|
return void 0;
|