@absolutejs/ai 0.6.1 → 0.6.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/CHANGELOG.md +7 -0
- package/changelog.json +23 -0
- package/dist/ai/index.js +33 -4
- package/dist/ai/index.js.map +6 -6
- package/dist/ai/models/index.js +12 -1
- package/dist/ai/models/index.js.map +3 -3
- package/dist/ai/providers/anthropic.js +16 -3
- package/dist/ai/providers/anthropic.js.map +4 -4
- package/dist/ai/providers/gemini.js +16 -3
- package/dist/ai/providers/gemini.js.map +4 -4
- package/dist/ai/providers/openai.js +26 -3
- package/dist/ai/providers/openai.js.map +5 -5
- package/dist/ai/providers/openaiCompatible.js +26 -3
- package/dist/ai/providers/openaiCompatible.js.map +5 -5
- package/dist/ai/providers/openaiResponses.js +26 -3
- package/dist/ai/providers/openaiResponses.js.map +5 -5
- package/dist/ai/providers/openrouter.js +26 -3
- package/dist/ai/providers/openrouter.js.map +5 -5
- package/dist/angular/ai/index.js +7 -9
- package/dist/angular/ai/index.js.map +2 -2
- package/dist/src/ai/streamAIWithTools.d.ts +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,13 @@ This file is generated by `absolute-changelog` from the entries in
|
|
|
6
6
|
`changelog/`. Edit an entry, not this file — and add new ones under
|
|
7
7
|
`changelog/unreleased/`.
|
|
8
8
|
|
|
9
|
+
## 0.6.2 — 2026-10-22
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **Add stopAfterToolTurn to complete sibling tool actions before a UI handoff and retain error recovery without an unnecessary model turn** (`streamAIWithTools`, `StreamAIWithToolsOptions`)
|
|
14
|
+
- **Support current Sonnet 5.5, Haiku 5.5, GPT-6.1 Sol and GPT-6 Luna reasoning and input capacity** (`MODEL_REASONING`, `openaiResponses`, `anthropic`)
|
|
15
|
+
|
|
9
16
|
## 0.6.1 — 2026-10-20
|
|
10
17
|
|
|
11
18
|
### Added
|
package/changelog.json
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
"contract": 1,
|
|
3
3
|
"name": "@absolutejs/ai",
|
|
4
4
|
"releases": [
|
|
5
|
+
{
|
|
6
|
+
"version": "0.6.2",
|
|
7
|
+
"date": "2026-10-22",
|
|
8
|
+
"changes": [
|
|
9
|
+
{
|
|
10
|
+
"kind": "added",
|
|
11
|
+
"summary": "Add stopAfterToolTurn to complete sibling tool actions before a UI handoff and retain error recovery without an unnecessary model turn",
|
|
12
|
+
"symbols": [
|
|
13
|
+
"streamAIWithTools",
|
|
14
|
+
"StreamAIWithToolsOptions"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"kind": "added",
|
|
19
|
+
"summary": "Support current Sonnet 5.5, Haiku 5.5, GPT-6.1 Sol and GPT-6 Luna reasoning and input capacity",
|
|
20
|
+
"symbols": [
|
|
21
|
+
"MODEL_REASONING",
|
|
22
|
+
"openaiResponses",
|
|
23
|
+
"anthropic"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
},
|
|
5
28
|
{
|
|
6
29
|
"changes": [
|
|
7
30
|
{
|
package/dist/ai/index.js
CHANGED
|
@@ -2009,6 +2009,7 @@ var streamAIWithTools = async function* (options) {
|
|
|
2009
2009
|
maxTurns = DEFAULT_STREAM_TOOL_MAX_TURNS,
|
|
2010
2010
|
provider,
|
|
2011
2011
|
stopAfterTools,
|
|
2012
|
+
stopAfterToolTurn,
|
|
2012
2013
|
validateInput,
|
|
2013
2014
|
contextPolicy,
|
|
2014
2015
|
toolChoice,
|
|
@@ -2139,6 +2140,8 @@ var streamAIWithTools = async function* (options) {
|
|
|
2139
2140
|
messages.push({ content: blocks, role: "assistant" });
|
|
2140
2141
|
const resultBlocks = [];
|
|
2141
2142
|
let terminalToolSucceeded = false;
|
|
2143
|
+
let toolFailed = false;
|
|
2144
|
+
let handoffToolSucceeded = false;
|
|
2142
2145
|
for (const call of pending) {
|
|
2143
2146
|
yield {
|
|
2144
2147
|
id: call.id,
|
|
@@ -2148,6 +2151,7 @@ var streamAIWithTools = async function* (options) {
|
|
|
2148
2151
|
};
|
|
2149
2152
|
const startedAt = Date.now();
|
|
2150
2153
|
const { ok, output } = await executeToolHandler(tools, call);
|
|
2154
|
+
toolFailed ||= !ok;
|
|
2151
2155
|
const result = toolOutputText(output);
|
|
2152
2156
|
executedKeys.add(toolCallKey(call));
|
|
2153
2157
|
yield {
|
|
@@ -2164,8 +2168,10 @@ var streamAIWithTools = async function* (options) {
|
|
|
2164
2168
|
terminalToolSucceeded = true;
|
|
2165
2169
|
break;
|
|
2166
2170
|
}
|
|
2171
|
+
if (ok && stopAfterToolTurn?.includes(call.name))
|
|
2172
|
+
handoffToolSucceeded = true;
|
|
2167
2173
|
}
|
|
2168
|
-
if (terminalToolSucceeded)
|
|
2174
|
+
if (terminalToolSucceeded || handoffToolSucceeded && !toolFailed)
|
|
2169
2175
|
break;
|
|
2170
2176
|
messages.push({ content: resultBlocks, role: "user" });
|
|
2171
2177
|
if (turn >= Math.max(1, maxTurns)) {
|
|
@@ -4675,6 +4681,16 @@ var LIMITS = {
|
|
|
4675
4681
|
contextWindowTokens: 1050000,
|
|
4676
4682
|
maxOutputTokens: 128000
|
|
4677
4683
|
},
|
|
4684
|
+
"gpt-6.1-sol": {
|
|
4685
|
+
maxInputTokens: 922000,
|
|
4686
|
+
contextWindowTokens: 1050000,
|
|
4687
|
+
maxOutputTokens: 128000
|
|
4688
|
+
},
|
|
4689
|
+
"gpt-6-luna": {
|
|
4690
|
+
maxInputTokens: 922000,
|
|
4691
|
+
contextWindowTokens: 1050000,
|
|
4692
|
+
maxOutputTokens: 128000
|
|
4693
|
+
},
|
|
4678
4694
|
"gpt-6-astra": {
|
|
4679
4695
|
maxInputTokens: 922000,
|
|
4680
4696
|
contextWindowTokens: 1050000,
|
|
@@ -4995,6 +5011,17 @@ var mistral = profile("effort", ["none", "high"], "Minimal thinking or full reas
|
|
|
4995
5011
|
var qwen = profile("budget", ["none", "low", "medium", "high"], haiku.description, "https://help.aliyun.com/en/model-studio/deep-thinking");
|
|
4996
5012
|
var MODEL_REASONING = {
|
|
4997
5013
|
"anthropic:claude-opus-5-5": claude,
|
|
5014
|
+
"anthropic:claude-sonnet-5-5": claude,
|
|
5015
|
+
"anthropic:claude-haiku-5-5": claude,
|
|
5016
|
+
"openai:gpt-6.1-sol": {
|
|
5017
|
+
...gpt,
|
|
5018
|
+
efforts: ["low", "medium", "high", "xhigh", "max"],
|
|
5019
|
+
source: "https://developers.openai.com/api/docs/models/gpt-6.1-sol"
|
|
5020
|
+
},
|
|
5021
|
+
"openai:gpt-6-luna": {
|
|
5022
|
+
...gpt,
|
|
5023
|
+
source: "https://developers.openai.com/api/docs/models/gpt-6-luna"
|
|
5024
|
+
},
|
|
4998
5025
|
"anthropic:claude-fable-5-1": claude,
|
|
4999
5026
|
"anthropic:claude-opus-5": claude,
|
|
5000
5027
|
"anthropic:claude-sonnet-5": claude,
|
|
@@ -5045,7 +5072,8 @@ var ANTHROPIC_EFFORT = [
|
|
|
5045
5072
|
/fable-5/,
|
|
5046
5073
|
/mythos-5/,
|
|
5047
5074
|
/opus-5/,
|
|
5048
|
-
/sonnet-5
|
|
5075
|
+
/sonnet-5/,
|
|
5076
|
+
/haiku-5/
|
|
5049
5077
|
];
|
|
5050
5078
|
var ANTHROPIC_ADAPTIVE_ONLY = [];
|
|
5051
5079
|
var ANTHROPIC_LEGACY_THINKING = [
|
|
@@ -5063,7 +5091,8 @@ var ANTHROPIC_NO_SAMPLING = [
|
|
|
5063
5091
|
/fable-5/,
|
|
5064
5092
|
/mythos-5/,
|
|
5065
5093
|
/opus-5/,
|
|
5066
|
-
/sonnet-5
|
|
5094
|
+
/sonnet-5/,
|
|
5095
|
+
/haiku-5/
|
|
5067
5096
|
];
|
|
5068
5097
|
var ANTHROPIC_MAX_EFFORT = [
|
|
5069
5098
|
/opus-4-[678]/,
|
|
@@ -9317,5 +9346,5 @@ export {
|
|
|
9317
9346
|
xai
|
|
9318
9347
|
};
|
|
9319
9348
|
|
|
9320
|
-
//# debugId=
|
|
9349
|
+
//# debugId=577984AE55403A4664756E2164756E21
|
|
9321
9350
|
//# sourceMappingURL=index.js.map
|