promptopskit 0.9.0 → 0.9.2
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 +19 -6
- package/dist/{chunk-NS6OTKY2.js → chunk-6ICAKKV3.js} +81 -22
- package/dist/{chunk-NS6OTKY2.js.map → chunk-6ICAKKV3.js.map} +1 -1
- package/dist/{chunk-FJ3D76IV.js → chunk-A2VPKL4X.js} +2 -2
- package/dist/{chunk-SVNQNMMV.js → chunk-CGBEKODU.js} +2 -2
- package/dist/{chunk-Q67E2GGD.js → chunk-DA2NSBIN.js} +2 -2
- package/dist/{chunk-AAQNCAVA.js → chunk-DAJMCV4F.js} +3 -3
- package/dist/{chunk-E2AIIPQC.js → chunk-XSSET4QN.js} +2 -2
- package/dist/{chunk-W6XHGSPJ.js → chunk-YLJGWVZ6.js} +3 -3
- package/dist/index.cjs +80 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -7
- package/dist/providers/anthropic.cjs +80 -21
- package/dist/providers/anthropic.cjs.map +1 -1
- package/dist/providers/anthropic.js +2 -2
- package/dist/providers/gemini.cjs +80 -21
- package/dist/providers/gemini.cjs.map +1 -1
- package/dist/providers/gemini.js +2 -2
- package/dist/providers/llmasaservice.cjs +80 -21
- package/dist/providers/llmasaservice.cjs.map +1 -1
- package/dist/providers/llmasaservice.js +3 -3
- package/dist/providers/openai-responses.cjs +80 -21
- package/dist/providers/openai-responses.cjs.map +1 -1
- package/dist/providers/openai-responses.js +2 -2
- package/dist/providers/openai.cjs +80 -21
- package/dist/providers/openai.cjs.map +1 -1
- package/dist/providers/openai.js +2 -2
- package/dist/providers/openrouter.cjs +80 -21
- package/dist/providers/openrouter.cjs.map +1 -1
- package/dist/providers/openrouter.js +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-FJ3D76IV.js.map → chunk-A2VPKL4X.js.map} +0 -0
- /package/dist/{chunk-SVNQNMMV.js.map → chunk-CGBEKODU.js.map} +0 -0
- /package/dist/{chunk-Q67E2GGD.js.map → chunk-DA2NSBIN.js.map} +0 -0
- /package/dist/{chunk-AAQNCAVA.js.map → chunk-DAJMCV4F.js.map} +0 -0
- /package/dist/{chunk-E2AIIPQC.js.map → chunk-XSSET4QN.js.map} +0 -0
- /package/dist/{chunk-W6XHGSPJ.js.map → chunk-YLJGWVZ6.js.map} +0 -0
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
renderSections,
|
|
5
5
|
resolveAssetForProvider,
|
|
6
6
|
withPromptInputSupport
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6ICAKKV3.js";
|
|
8
8
|
|
|
9
9
|
// src/providers/gemini.ts
|
|
10
10
|
var geminiAdapter = withPromptInputSupport({
|
|
@@ -120,4 +120,4 @@ var geminiAdapter = withPromptInputSupport({
|
|
|
120
120
|
export {
|
|
121
121
|
geminiAdapter
|
|
122
122
|
};
|
|
123
|
-
//# sourceMappingURL=chunk-
|
|
123
|
+
//# sourceMappingURL=chunk-A2VPKL4X.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
renderSections,
|
|
5
5
|
resolveAssetForProvider,
|
|
6
6
|
withPromptInputSupport
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6ICAKKV3.js";
|
|
8
8
|
|
|
9
9
|
// src/providers/openai.ts
|
|
10
10
|
var openaiAdapter = withPromptInputSupport({
|
|
@@ -107,4 +107,4 @@ var openaiAdapter = withPromptInputSupport({
|
|
|
107
107
|
export {
|
|
108
108
|
openaiAdapter
|
|
109
109
|
};
|
|
110
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-CGBEKODU.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
renderSections,
|
|
5
5
|
resolveAssetForProvider,
|
|
6
6
|
withPromptInputSupport
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6ICAKKV3.js";
|
|
8
8
|
|
|
9
9
|
// src/providers/anthropic.ts
|
|
10
10
|
var anthropicAdapter = withPromptInputSupport({
|
|
@@ -144,4 +144,4 @@ var anthropicAdapter = withPromptInputSupport({
|
|
|
144
144
|
export {
|
|
145
145
|
anthropicAdapter
|
|
146
146
|
};
|
|
147
|
-
//# sourceMappingURL=chunk-
|
|
147
|
+
//# sourceMappingURL=chunk-DA2NSBIN.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
openaiAdapter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CGBEKODU.js";
|
|
4
4
|
import {
|
|
5
5
|
applyRawProviderBody,
|
|
6
6
|
resolveAssetForProvider,
|
|
7
7
|
withPromptInputSupport
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6ICAKKV3.js";
|
|
9
9
|
|
|
10
10
|
// src/providers/openrouter.ts
|
|
11
11
|
var openrouterAdapter = withPromptInputSupport({
|
|
@@ -58,4 +58,4 @@ var openrouterAdapter = withPromptInputSupport({
|
|
|
58
58
|
export {
|
|
59
59
|
openrouterAdapter
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-DAJMCV4F.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
renderSections,
|
|
5
5
|
resolveAssetForProvider,
|
|
6
6
|
withPromptInputSupport
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6ICAKKV3.js";
|
|
8
8
|
|
|
9
9
|
// src/providers/openai-responses.ts
|
|
10
10
|
var openaiResponsesAdapter = withPromptInputSupport({
|
|
@@ -112,4 +112,4 @@ var openaiResponsesAdapter = withPromptInputSupport({
|
|
|
112
112
|
export {
|
|
113
113
|
openaiResponsesAdapter
|
|
114
114
|
};
|
|
115
|
-
//# sourceMappingURL=chunk-
|
|
115
|
+
//# sourceMappingURL=chunk-XSSET4QN.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
openaiAdapter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CGBEKODU.js";
|
|
4
4
|
import {
|
|
5
5
|
applyRawProviderBody,
|
|
6
6
|
resolveAssetForProvider,
|
|
7
7
|
withPromptInputSupport
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6ICAKKV3.js";
|
|
9
9
|
|
|
10
10
|
// src/providers/llmasaservice.ts
|
|
11
11
|
var LLMASASERVICE_BASE_URL = "https://gateway.llmasaservice.io";
|
|
@@ -127,4 +127,4 @@ export {
|
|
|
127
127
|
createLLMAsAServiceOpenAIConfig,
|
|
128
128
|
llmasaserviceAdapter
|
|
129
129
|
};
|
|
130
|
-
//# sourceMappingURL=chunk-
|
|
130
|
+
//# sourceMappingURL=chunk-YLJGWVZ6.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -2536,6 +2536,7 @@ async function applyPromptCompressionForRender(asset, runtime) {
|
|
|
2536
2536
|
aggressiveness: theTokenCompanyConfig?.aggressiveness
|
|
2537
2537
|
});
|
|
2538
2538
|
promptTemplate = result.output;
|
|
2539
|
+
warnings.push(...result.warnings ?? []);
|
|
2539
2540
|
compression.push({
|
|
2540
2541
|
provider: "thetokencompany",
|
|
2541
2542
|
model,
|
|
@@ -2601,39 +2602,97 @@ function reportHeuristicCompressionWarnings2(warnings, compressionWarnings, scop
|
|
|
2601
2602
|
async function compressWithTheTokenCompany(input, options) {
|
|
2602
2603
|
const apiKey = options.apiKey ?? getEnv("THETOKENCOMPANY_API_KEY") ?? getEnv("TTC_API_KEY");
|
|
2603
2604
|
if (!apiKey) {
|
|
2604
|
-
|
|
2605
|
-
|
|
2605
|
+
return createTheTokenCompanyFallback(
|
|
2606
|
+
input,
|
|
2607
|
+
"no API key was provided"
|
|
2606
2608
|
);
|
|
2607
2609
|
}
|
|
2608
2610
|
const fetchImpl = options.fetch ?? globalThis.fetch;
|
|
2609
2611
|
if (!fetchImpl) {
|
|
2610
|
-
|
|
2612
|
+
return createTheTokenCompanyFallback(
|
|
2613
|
+
input,
|
|
2614
|
+
"fetch is unavailable in this runtime"
|
|
2615
|
+
);
|
|
2611
2616
|
}
|
|
2612
2617
|
const baseURL = (options.baseURL ?? THETOKENCOMPANY_DEFAULT_BASE_URL).replace(/\/+$/, "");
|
|
2613
2618
|
const compressionSettings = options.aggressiveness === void 0 ? void 0 : { aggressiveness: options.aggressiveness };
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2619
|
+
let response;
|
|
2620
|
+
try {
|
|
2621
|
+
response = await fetchImpl(`${baseURL}/v1/compress`, {
|
|
2622
|
+
method: "POST",
|
|
2623
|
+
headers: {
|
|
2624
|
+
Authorization: `Bearer ${apiKey}`,
|
|
2625
|
+
"Content-Type": "application/json"
|
|
2626
|
+
},
|
|
2627
|
+
body: JSON.stringify({
|
|
2628
|
+
model: options.model,
|
|
2629
|
+
input,
|
|
2630
|
+
...compressionSettings ? { compression_settings: compressionSettings } : {}
|
|
2631
|
+
})
|
|
2632
|
+
});
|
|
2633
|
+
} catch (error) {
|
|
2634
|
+
return createTheTokenCompanyFallback(
|
|
2622
2635
|
input,
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
}
|
|
2636
|
+
`request failed: ${toErrorMessage(error)}`
|
|
2637
|
+
);
|
|
2638
|
+
}
|
|
2626
2639
|
if (!response.ok) {
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
`
|
|
2640
|
+
return createTheTokenCompanyFallback(
|
|
2641
|
+
input,
|
|
2642
|
+
`service returned HTTP ${response.status}`
|
|
2630
2643
|
);
|
|
2631
2644
|
}
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2645
|
+
let data;
|
|
2646
|
+
try {
|
|
2647
|
+
data = await response.json();
|
|
2648
|
+
} catch (error) {
|
|
2649
|
+
return createTheTokenCompanyFallback(
|
|
2650
|
+
input,
|
|
2651
|
+
`response body was not valid JSON: ${toErrorMessage(error)}`
|
|
2652
|
+
);
|
|
2653
|
+
}
|
|
2654
|
+
const normalized = normalizeTheTokenCompanyCompressResponse(data);
|
|
2655
|
+
if (!normalized) {
|
|
2656
|
+
return createTheTokenCompanyFallback(
|
|
2657
|
+
input,
|
|
2658
|
+
"response payload was invalid"
|
|
2659
|
+
);
|
|
2660
|
+
}
|
|
2661
|
+
return normalized;
|
|
2662
|
+
}
|
|
2663
|
+
function createTheTokenCompanyFallback(input, reason) {
|
|
2664
|
+
const tokens = estimateHeuristicTokens(input);
|
|
2665
|
+
return {
|
|
2666
|
+
output: input,
|
|
2667
|
+
output_tokens: tokens,
|
|
2668
|
+
input_tokens: tokens,
|
|
2669
|
+
tokens_saved: 0,
|
|
2670
|
+
compression_ratio: tokens === 0 ? 0 : 1,
|
|
2671
|
+
warnings: [
|
|
2672
|
+
`POK057: TheTokenCompany compression skipped; using uncompressed prompt with zero token savings (${reason}).`
|
|
2673
|
+
]
|
|
2674
|
+
};
|
|
2675
|
+
}
|
|
2676
|
+
function toErrorMessage(error) {
|
|
2677
|
+
return error instanceof Error && error.message ? error.message : "unknown error";
|
|
2678
|
+
}
|
|
2679
|
+
function normalizeTheTokenCompanyCompressResponse(data) {
|
|
2680
|
+
if (typeof data.output !== "string" || typeof data.output_tokens !== "number") {
|
|
2681
|
+
return void 0;
|
|
2635
2682
|
}
|
|
2636
|
-
|
|
2683
|
+
const inputTokens = typeof data.input_tokens === "number" ? data.input_tokens : data.original_input_tokens;
|
|
2684
|
+
if (typeof inputTokens !== "number") {
|
|
2685
|
+
return void 0;
|
|
2686
|
+
}
|
|
2687
|
+
const tokensSaved = typeof data.tokens_saved === "number" ? data.tokens_saved : inputTokens - data.output_tokens;
|
|
2688
|
+
const compressionRatio = typeof data.compression_ratio === "number" ? data.compression_ratio : data.output_tokens === 0 ? 0 : inputTokens / data.output_tokens;
|
|
2689
|
+
return {
|
|
2690
|
+
output: data.output,
|
|
2691
|
+
output_tokens: data.output_tokens,
|
|
2692
|
+
input_tokens: inputTokens,
|
|
2693
|
+
tokens_saved: tokensSaved,
|
|
2694
|
+
compression_ratio: compressionRatio
|
|
2695
|
+
};
|
|
2637
2696
|
}
|
|
2638
2697
|
function getEnv(name) {
|
|
2639
2698
|
if (typeof process === "undefined") {
|