@absolutejs/ai 0.0.26 → 0.0.28
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/dist/ai/index.js +30 -10
- package/dist/ai/index.js.map +8 -8
- package/dist/ai/providers/anthropic.js +7 -5
- package/dist/ai/providers/anthropic.js.map +3 -3
- package/dist/ai/providers/openai.js +12 -5
- package/dist/ai/providers/openai.js.map +3 -3
- package/dist/ai/providers/openaiCompatible.js +12 -5
- package/dist/ai/providers/openaiCompatible.js.map +3 -3
- package/dist/ai/providers/openaiResponses.js +5 -2
- package/dist/ai/providers/openaiResponses.js.map +3 -3
- package/dist/src/ai/generateAI.d.ts +4 -0
- package/dist/types/ai.d.ts +13 -0
- package/package.json +1 -1
package/dist/ai/index.js
CHANGED
|
@@ -571,10 +571,15 @@ var flushPendingToolCalls = function* (pendingToolCalls) {
|
|
|
571
571
|
}
|
|
572
572
|
pendingToolCalls.clear();
|
|
573
573
|
};
|
|
574
|
-
var extractUsage = (parsedUsage) =>
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
574
|
+
var extractUsage = (parsedUsage) => {
|
|
575
|
+
const prompt = parsedUsage.prompt_tokens ?? 0;
|
|
576
|
+
const cached = parsedUsage.cached_tokens ?? 0;
|
|
577
|
+
return {
|
|
578
|
+
cacheReadInputTokens: cached,
|
|
579
|
+
inputTokens: Math.max(0, prompt - cached),
|
|
580
|
+
outputTokens: parsedUsage.completion_tokens ?? 0
|
|
581
|
+
};
|
|
582
|
+
};
|
|
578
583
|
var resolveToolCallIndex = (toolCall) => {
|
|
579
584
|
const raw = typeof toolCall.index === "number" ? toolCall.index : NOT_FOUND;
|
|
580
585
|
return raw < 0 ? undefined : raw;
|
|
@@ -644,7 +649,9 @@ var narrowUsageRecord = (parsed) => {
|
|
|
644
649
|
const { usage } = parsed;
|
|
645
650
|
const promptTokens = typeof usage.prompt_tokens === "number" ? usage.prompt_tokens : 0;
|
|
646
651
|
const completionTokens = typeof usage.completion_tokens === "number" ? usage.completion_tokens : 0;
|
|
652
|
+
const cachedTokens = isRecord(usage.prompt_tokens_details) && typeof usage.prompt_tokens_details.cached_tokens === "number" ? usage.prompt_tokens_details.cached_tokens : 0;
|
|
647
653
|
return extractUsage({
|
|
654
|
+
cached_tokens: cachedTokens,
|
|
648
655
|
completion_tokens: completionTokens,
|
|
649
656
|
prompt_tokens: promptTokens
|
|
650
657
|
});
|
|
@@ -978,8 +985,11 @@ var extractUsage2 = (response) => {
|
|
|
978
985
|
return;
|
|
979
986
|
}
|
|
980
987
|
const { usage } = response;
|
|
988
|
+
const input = typeof usage.input_tokens === "number" ? usage.input_tokens : 0;
|
|
989
|
+
const cached = isRecord2(usage.input_tokens_details) && typeof usage.input_tokens_details.cached_tokens === "number" ? usage.input_tokens_details.cached_tokens : 0;
|
|
981
990
|
return {
|
|
982
|
-
|
|
991
|
+
cacheReadInputTokens: cached,
|
|
992
|
+
inputTokens: Math.max(0, input - cached),
|
|
983
993
|
outputTokens: typeof usage.output_tokens === "number" ? usage.output_tokens : 0
|
|
984
994
|
};
|
|
985
995
|
};
|
|
@@ -1591,9 +1601,11 @@ var cacheLastContentBlock = (msg) => {
|
|
|
1591
1601
|
};
|
|
1592
1602
|
return { content: blocks, role: msg.role };
|
|
1593
1603
|
};
|
|
1594
|
-
var buildRequestBody4 = (params, configuredMax,
|
|
1604
|
+
var buildRequestBody4 = (params, configuredMax, configCaching) => {
|
|
1605
|
+
const caching = params.promptCaching ?? configCaching;
|
|
1606
|
+
const cacheSystem = params.cacheSystemPrompt ?? caching;
|
|
1595
1607
|
const messages = params.messages.filter((msg) => msg.role !== "system").map(mapMessage);
|
|
1596
|
-
if (
|
|
1608
|
+
if (caching && messages.length > 1) {
|
|
1597
1609
|
const last = messages[messages.length - 1];
|
|
1598
1610
|
if (last) {
|
|
1599
1611
|
messages[messages.length - 1] = cacheLastContentBlock(last);
|
|
@@ -1607,7 +1619,7 @@ var buildRequestBody4 = (params, configuredMax, promptCaching) => {
|
|
|
1607
1619
|
stream: true
|
|
1608
1620
|
};
|
|
1609
1621
|
if (params.systemPrompt) {
|
|
1610
|
-
body.system =
|
|
1622
|
+
body.system = cacheSystem ? [
|
|
1611
1623
|
{
|
|
1612
1624
|
cache_control: { type: "ephemeral" },
|
|
1613
1625
|
text: params.systemPrompt,
|
|
@@ -1617,7 +1629,7 @@ var buildRequestBody4 = (params, configuredMax, promptCaching) => {
|
|
|
1617
1629
|
}
|
|
1618
1630
|
if (params.tools && params.tools.length > 0) {
|
|
1619
1631
|
const tools = params.tools.map(mapToolDefinition2);
|
|
1620
|
-
if (
|
|
1632
|
+
if (caching) {
|
|
1621
1633
|
tools[tools.length - 1] = {
|
|
1622
1634
|
...tools[tools.length - 1],
|
|
1623
1635
|
cache_control: { type: "ephemeral" }
|
|
@@ -2511,8 +2523,10 @@ var processToolTurn = async (socket, options, state, messageId, conversationId,
|
|
|
2511
2523
|
});
|
|
2512
2524
|
const toolDefs = options.tools ? buildToolDefinitions(options.tools) : undefined;
|
|
2513
2525
|
const stream = options.provider.stream({
|
|
2526
|
+
cacheSystemPrompt: options.cacheSystemPrompt,
|
|
2514
2527
|
messages: state.currentMessages,
|
|
2515
2528
|
model: options.model,
|
|
2529
|
+
promptCaching: options.promptCaching,
|
|
2516
2530
|
reasoning: options.reasoning,
|
|
2517
2531
|
signal,
|
|
2518
2532
|
systemPrompt: options.systemPrompt,
|
|
@@ -2595,8 +2609,10 @@ var processStreamTextChunk = async (chunk, options, socket, messageId, conversat
|
|
|
2595
2609
|
var processStream = async (socket, options, messages, messageId, conversationId, signal, startTime) => {
|
|
2596
2610
|
const toolDefs = options.tools ? buildToolDefinitions(options.tools) : undefined;
|
|
2597
2611
|
const stream = options.provider.stream({
|
|
2612
|
+
cacheSystemPrompt: options.cacheSystemPrompt,
|
|
2598
2613
|
messages,
|
|
2599
2614
|
model: options.model,
|
|
2615
|
+
promptCaching: options.promptCaching,
|
|
2600
2616
|
reasoning: options.reasoning,
|
|
2601
2617
|
signal,
|
|
2602
2618
|
systemPrompt: options.systemPrompt,
|
|
@@ -2944,9 +2960,11 @@ var streamTurns = async function* (options, renderers, messages, signal, startTi
|
|
|
2944
2960
|
usage: undefined
|
|
2945
2961
|
};
|
|
2946
2962
|
const stream = options.provider.stream({
|
|
2963
|
+
cacheSystemPrompt: options.cacheSystemPrompt,
|
|
2947
2964
|
maxTokens: options.maxTokens,
|
|
2948
2965
|
messages: turnState.currentMessages,
|
|
2949
2966
|
model: options.model,
|
|
2967
|
+
promptCaching: options.promptCaching,
|
|
2950
2968
|
reasoning: options.reasoning,
|
|
2951
2969
|
signal,
|
|
2952
2970
|
systemPrompt: options.systemPrompt,
|
|
@@ -3321,6 +3339,7 @@ var generateAI = async (options) => {
|
|
|
3321
3339
|
maxTokens: options.maxTokens,
|
|
3322
3340
|
messages: options.messages,
|
|
3323
3341
|
model: options.model,
|
|
3342
|
+
promptCaching: options.promptCaching,
|
|
3324
3343
|
reasoning: options.reasoning,
|
|
3325
3344
|
responseFormat: options.responseFormat,
|
|
3326
3345
|
signal: options.signal,
|
|
@@ -3425,6 +3444,7 @@ var generateObjectAI = async (options) => {
|
|
|
3425
3444
|
maxTokens: options.maxTokens,
|
|
3426
3445
|
messages: options.messages,
|
|
3427
3446
|
model: options.model,
|
|
3447
|
+
promptCaching: options.promptCaching,
|
|
3428
3448
|
provider: options.provider,
|
|
3429
3449
|
reasoning: options.reasoning,
|
|
3430
3450
|
signal: options.signal,
|
|
@@ -4400,5 +4420,5 @@ export {
|
|
|
4400
4420
|
PROVIDER_STATUS_PAGES
|
|
4401
4421
|
};
|
|
4402
4422
|
|
|
4403
|
-
//# debugId=
|
|
4423
|
+
//# debugId=CE76A2131808230464756E2164756E21
|
|
4404
4424
|
//# sourceMappingURL=index.js.map
|