@openrouter/agent 0.10.0 → 1.0.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 +44 -7
- package/esm/index.d.ts +5 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/inner-loop/call-model.d.ts.map +1 -1
- package/esm/inner-loop/call-model.js +2 -1
- package/esm/inner-loop/call-model.js.map +1 -1
- package/esm/lib/anthropic-compat.d.ts +4 -1
- package/esm/lib/anthropic-compat.d.ts.map +1 -1
- package/esm/lib/anthropic-compat.js +11 -10
- package/esm/lib/anthropic-compat.js.map +1 -1
- package/esm/lib/async-params.d.ts +9 -1
- package/esm/lib/async-params.d.ts.map +1 -1
- package/esm/lib/async-params.js +1 -0
- package/esm/lib/async-params.js.map +1 -1
- package/esm/lib/chat-compat.d.ts +4 -1
- package/esm/lib/chat-compat.d.ts.map +1 -1
- package/esm/lib/chat-compat.js +53 -18
- package/esm/lib/chat-compat.js.map +1 -1
- package/esm/lib/chat-compat.test.js +205 -0
- package/esm/lib/chat-compat.test.js.map +1 -1
- package/esm/lib/conversation-state.d.ts +1 -1
- package/esm/lib/conversation-state.d.ts.map +1 -1
- package/esm/lib/conversation-state.js +48 -13
- package/esm/lib/conversation-state.js.map +1 -1
- package/esm/lib/hooks-schemas.d.ts +3 -7
- package/esm/lib/hooks-schemas.d.ts.map +1 -1
- package/esm/lib/hooks-schemas.js.map +1 -1
- package/esm/lib/item-types.d.ts +16 -1
- package/esm/lib/item-types.d.ts.map +1 -1
- package/esm/lib/model-result.d.ts +29 -1
- package/esm/lib/model-result.d.ts.map +1 -1
- package/esm/lib/model-result.js +405 -126
- package/esm/lib/model-result.js.map +1 -1
- package/esm/lib/reusable-stream.d.ts +30 -3
- package/esm/lib/reusable-stream.d.ts.map +1 -1
- package/esm/lib/reusable-stream.js +127 -32
- package/esm/lib/reusable-stream.js.map +1 -1
- package/esm/lib/stream-transformers.d.ts +12 -1
- package/esm/lib/stream-transformers.d.ts.map +1 -1
- package/esm/lib/stream-transformers.js +31 -1
- package/esm/lib/stream-transformers.js.map +1 -1
- package/esm/lib/tool-event-broadcaster.d.ts +18 -5
- package/esm/lib/tool-event-broadcaster.d.ts.map +1 -1
- package/esm/lib/tool-event-broadcaster.js +90 -19
- package/esm/lib/tool-event-broadcaster.js.map +1 -1
- package/esm/lib/tool-executor.d.ts.map +1 -1
- package/esm/lib/tool-executor.js +4 -5
- package/esm/lib/tool-executor.js.map +1 -1
- package/esm/lib/tool-orchestrator.d.ts +0 -1
- package/esm/lib/tool-orchestrator.d.ts.map +1 -1
- package/esm/lib/tool-orchestrator.js +1 -4
- package/esm/lib/tool-orchestrator.js.map +1 -1
- package/esm/lib/tool-types.d.ts +15 -1
- package/esm/lib/tool-types.d.ts.map +1 -1
- package/esm/lib/tool-types.js.map +1 -1
- package/esm/lib/tool.d.ts +10 -2
- package/esm/lib/tool.d.ts.map +1 -1
- package/esm/lib/tool.js +3 -0
- package/esm/lib/tool.js.map +1 -1
- package/esm/lib/turn-context.d.ts +1 -1
- package/esm/lib/turn-context.d.ts.map +1 -1
- package/esm/lib/turn-context.js +1 -2
- package/esm/lib/turn-context.js.map +1 -1
- package/esm/lib/user-agent.d.ts +3 -0
- package/esm/lib/user-agent.d.ts.map +1 -0
- package/esm/lib/user-agent.js +5 -0
- package/esm/lib/user-agent.js.map +1 -0
- package/esm/mcp/create-mcp-tools.d.ts +3 -2
- package/esm/mcp/create-mcp-tools.d.ts.map +1 -1
- package/esm/mcp/create-mcp-tools.js +11 -3
- package/esm/mcp/create-mcp-tools.js.map +1 -1
- package/esm/mcp/handle.d.ts +8 -0
- package/esm/mcp/handle.d.ts.map +1 -1
- package/esm/mcp/handle.js +14 -0
- package/esm/mcp/handle.js.map +1 -1
- package/esm/mcp/rehydrate.d.ts.map +1 -1
- package/esm/mcp/rehydrate.js +9 -1
- package/esm/mcp/rehydrate.js.map +1 -1
- package/esm/mcp/types.d.ts +8 -1
- package/esm/mcp/types.d.ts.map +1 -1
- package/esm/mcp/version.d.ts +1 -1
- package/esm/mcp/version.d.ts.map +1 -1
- package/esm/mcp/version.js +1 -1
- package/esm/mcp/version.js.map +1 -1
- package/esm/openrouter.d.ts.map +1 -1
- package/esm/openrouter.js +10 -5
- package/esm/openrouter.js.map +1 -1
- package/package.json +5 -1
|
@@ -5,19 +5,32 @@
|
|
|
5
5
|
* Key features:
|
|
6
6
|
* - Multiple concurrent consumers with independent read positions
|
|
7
7
|
* - New consumers can attach while streaming is active
|
|
8
|
-
* -
|
|
8
|
+
* - Full replay for delayed and sequential consumers by default
|
|
9
|
+
* - Opt-in active-consumer replay compaction for bounded memory
|
|
9
10
|
* - Each consumer can read at their own pace
|
|
10
11
|
*/
|
|
12
|
+
export type StreamReplay = 'full' | 'active-consumers';
|
|
13
|
+
export interface ReusableReadableStreamOptions<T> {
|
|
14
|
+
streamReplay?: StreamReplay;
|
|
15
|
+
onValue?: (value: T) => void;
|
|
16
|
+
isTerminalValue?: (value: T) => boolean;
|
|
17
|
+
}
|
|
11
18
|
export declare class ReusableReadableStream<T> {
|
|
12
19
|
private sourceStream;
|
|
13
20
|
private buffer;
|
|
21
|
+
private bufferHead;
|
|
22
|
+
private trimOffset;
|
|
14
23
|
private consumers;
|
|
15
24
|
private nextConsumerId;
|
|
16
25
|
private sourceReader;
|
|
17
26
|
private sourceComplete;
|
|
18
27
|
private sourceError;
|
|
19
28
|
private pumpStarted;
|
|
20
|
-
|
|
29
|
+
private sourceCancelPromise;
|
|
30
|
+
private readonly streamReplay;
|
|
31
|
+
private readonly onValue;
|
|
32
|
+
private readonly isTerminalValue;
|
|
33
|
+
constructor(sourceStream: ReadableStream<T>, options?: ReusableReadableStreamOptions<T>);
|
|
21
34
|
/**
|
|
22
35
|
* True once the source stream has been fully read into the buffer.
|
|
23
36
|
* A fresh consumer created after this point replays the retained buffer
|
|
@@ -35,13 +48,27 @@ export declare class ReusableReadableStream<T> {
|
|
|
35
48
|
findLastBuffered(predicate: (item: T) => boolean): T | undefined;
|
|
36
49
|
/**
|
|
37
50
|
* Create a new consumer that can independently iterate over the stream.
|
|
38
|
-
*
|
|
51
|
+
* Full-replay consumers start at position 0. Active-consumer replay starts
|
|
52
|
+
* at the current trim watermark. Multiple attached consumers advance
|
|
53
|
+
* independently in either mode.
|
|
39
54
|
*/
|
|
40
55
|
createConsumer(): AsyncIterableIterator<T>;
|
|
56
|
+
private trimConsumed;
|
|
57
|
+
/**
|
|
58
|
+
* Drop the retained backlog once no consumer can ever read it again.
|
|
59
|
+
* Before the first consumer joins, the backlog IS the catch-up history late
|
|
60
|
+
* joiners replay — retain it. Once at least one consumer has existed and
|
|
61
|
+
* none remain, any future consumer starts at the watermark anyway, so the
|
|
62
|
+
* retained bytes would stay pinned until GC for nothing. `findLastBuffered`
|
|
63
|
+
* callers that must observe terminal events after teardown should capture
|
|
64
|
+
* them via `onValue` instead of relying on the backlog surviving.
|
|
65
|
+
*/
|
|
66
|
+
private dropUnreadBacklog;
|
|
41
67
|
/**
|
|
42
68
|
* Start pumping data from the source stream into the buffer
|
|
43
69
|
*/
|
|
44
70
|
private startPump;
|
|
71
|
+
private cancelSourceReader;
|
|
45
72
|
/**
|
|
46
73
|
* Notify all waiting consumers that new data is available
|
|
47
74
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reusable-stream.d.ts","sourceRoot":"","sources":["../../src/lib/reusable-stream.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reusable-stream.d.ts","sourceRoot":"","sources":["../../src/lib/reusable-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,kBAAkB,CAAC;AAEvD,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;CACzC;AAED,qBAAa,sBAAsB,CAAC,CAAC;IAiBjC,OAAO,CAAC,YAAY;IAhBtB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;gBAG5D,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,EACvC,OAAO,GAAE,6BAA6B,CAAC,CAAC,CAAM;IAOhD;;;;OAIG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;IAUhE;;;;;OAKG;IACH,cAAc,IAAI,qBAAqB,CAAC,CAAC,CAAC;IAiI1C,OAAO,CAAC,YAAY;IAqCpB;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,SAAS;IAkDjB,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAwB9B"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A reusable readable stream that allows multiple consumers to read from the same source stream
|
|
3
|
-
* concurrently while it's actively streaming, without forcing consumers to wait for full buffering.
|
|
4
|
-
*
|
|
5
|
-
* Key features:
|
|
6
|
-
* - Multiple concurrent consumers with independent read positions
|
|
7
|
-
* - New consumers can attach while streaming is active
|
|
8
|
-
* - Efficient memory management with automatic cleanup
|
|
9
|
-
* - Each consumer can read at their own pace
|
|
10
|
-
*/
|
|
11
1
|
export class ReusableReadableStream {
|
|
12
|
-
constructor(sourceStream) {
|
|
2
|
+
constructor(sourceStream, options = {}) {
|
|
13
3
|
this.sourceStream = sourceStream;
|
|
14
4
|
this.buffer = [];
|
|
5
|
+
this.bufferHead = 0;
|
|
6
|
+
// Consumer positions are absolute. Buffer index = bufferHead + position - trimOffset.
|
|
7
|
+
this.trimOffset = 0;
|
|
15
8
|
this.consumers = new Map();
|
|
16
9
|
this.nextConsumerId = 0;
|
|
17
10
|
this.sourceReader = null;
|
|
18
11
|
this.sourceComplete = false;
|
|
19
12
|
this.sourceError = null;
|
|
20
13
|
this.pumpStarted = false;
|
|
14
|
+
this.sourceCancelPromise = null;
|
|
15
|
+
this.streamReplay = options.streamReplay ?? 'full';
|
|
16
|
+
this.onValue = options.onValue;
|
|
17
|
+
this.isTerminalValue = options.isTerminalValue;
|
|
21
18
|
}
|
|
22
19
|
/**
|
|
23
20
|
* True once the source stream has been fully read into the buffer.
|
|
@@ -36,9 +33,9 @@ export class ReusableReadableStream {
|
|
|
36
33
|
* buffer asynchronously.
|
|
37
34
|
*/
|
|
38
35
|
findLastBuffered(predicate) {
|
|
39
|
-
for (let i = this.buffer.length - 1; i >=
|
|
36
|
+
for (let i = this.buffer.length - 1; i >= this.bufferHead; i--) {
|
|
40
37
|
const item = this.buffer[i];
|
|
41
|
-
if (predicate(item)) {
|
|
38
|
+
if (item !== undefined && predicate(item)) {
|
|
42
39
|
return item;
|
|
43
40
|
}
|
|
44
41
|
}
|
|
@@ -46,12 +43,14 @@ export class ReusableReadableStream {
|
|
|
46
43
|
}
|
|
47
44
|
/**
|
|
48
45
|
* Create a new consumer that can independently iterate over the stream.
|
|
49
|
-
*
|
|
46
|
+
* Full-replay consumers start at position 0. Active-consumer replay starts
|
|
47
|
+
* at the current trim watermark. Multiple attached consumers advance
|
|
48
|
+
* independently in either mode.
|
|
50
49
|
*/
|
|
51
50
|
createConsumer() {
|
|
52
51
|
const consumerId = this.nextConsumerId++;
|
|
53
52
|
const state = {
|
|
54
|
-
position:
|
|
53
|
+
position: this.trimOffset,
|
|
55
54
|
waitingPromise: null,
|
|
56
55
|
cancelled: false,
|
|
57
56
|
};
|
|
@@ -65,23 +64,20 @@ export class ReusableReadableStream {
|
|
|
65
64
|
return {
|
|
66
65
|
async next() {
|
|
67
66
|
const consumer = self.consumers.get(consumerId);
|
|
68
|
-
if (!consumer) {
|
|
67
|
+
if (!consumer || consumer.cancelled) {
|
|
69
68
|
return {
|
|
70
69
|
done: true,
|
|
71
70
|
value: undefined,
|
|
72
71
|
};
|
|
73
72
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
// If we have buffered data at this position, return it
|
|
81
|
-
if (consumer.position < self.buffer.length) {
|
|
82
|
-
const value = self.buffer[consumer.position];
|
|
73
|
+
const bufferIndex = self.bufferHead + consumer.position - self.trimOffset;
|
|
74
|
+
if (bufferIndex < self.buffer.length) {
|
|
75
|
+
const value = self.buffer[bufferIndex];
|
|
76
|
+
if (value === undefined) {
|
|
77
|
+
throw new Error('ReusableReadableStream buffer invariant violated: consumed slot was cleared');
|
|
78
|
+
}
|
|
83
79
|
consumer.position++;
|
|
84
|
-
|
|
80
|
+
self.trimConsumed();
|
|
85
81
|
return {
|
|
86
82
|
done: false,
|
|
87
83
|
value,
|
|
@@ -110,7 +106,9 @@ export class ReusableReadableStream {
|
|
|
110
106
|
// Immediately check if we should resolve after setting up the promise
|
|
111
107
|
// This handles the case where data arrived or source completed
|
|
112
108
|
// between our initial checks and promise creation
|
|
113
|
-
if (self.sourceComplete ||
|
|
109
|
+
if (self.sourceComplete ||
|
|
110
|
+
self.sourceError ||
|
|
111
|
+
self.bufferHead + consumer.position - self.trimOffset < self.buffer.length) {
|
|
114
112
|
resolve();
|
|
115
113
|
}
|
|
116
114
|
});
|
|
@@ -124,7 +122,15 @@ export class ReusableReadableStream {
|
|
|
124
122
|
const consumer = self.consumers.get(consumerId);
|
|
125
123
|
if (consumer) {
|
|
126
124
|
consumer.cancelled = true;
|
|
125
|
+
// Wake a pending next() so it does not hang forever on a consumer
|
|
126
|
+
// that has just been removed; the re-run next() observes the
|
|
127
|
+
// removal and reports done.
|
|
128
|
+
if (consumer.waitingPromise) {
|
|
129
|
+
consumer.waitingPromise.resolve();
|
|
130
|
+
consumer.waitingPromise = null;
|
|
131
|
+
}
|
|
127
132
|
self.consumers.delete(consumerId);
|
|
133
|
+
self.trimConsumed();
|
|
128
134
|
}
|
|
129
135
|
return {
|
|
130
136
|
done: true,
|
|
@@ -135,7 +141,14 @@ export class ReusableReadableStream {
|
|
|
135
141
|
const consumer = self.consumers.get(consumerId);
|
|
136
142
|
if (consumer) {
|
|
137
143
|
consumer.cancelled = true;
|
|
144
|
+
// Reject a pending next() with the same error so it does not hang
|
|
145
|
+
// on a consumer that has just been removed.
|
|
146
|
+
if (consumer.waitingPromise) {
|
|
147
|
+
consumer.waitingPromise.reject(e instanceof Error ? e : new Error(String(e)));
|
|
148
|
+
consumer.waitingPromise = null;
|
|
149
|
+
}
|
|
138
150
|
self.consumers.delete(consumerId);
|
|
151
|
+
self.trimConsumed();
|
|
139
152
|
}
|
|
140
153
|
throw e;
|
|
141
154
|
},
|
|
@@ -144,6 +157,59 @@ export class ReusableReadableStream {
|
|
|
144
157
|
},
|
|
145
158
|
};
|
|
146
159
|
}
|
|
160
|
+
trimConsumed() {
|
|
161
|
+
if (this.streamReplay === 'full') {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (this.consumers.size === 0) {
|
|
165
|
+
this.dropUnreadBacklog();
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
let min = Number.POSITIVE_INFINITY;
|
|
169
|
+
for (const consumer of this.consumers.values()) {
|
|
170
|
+
if (consumer.position < min) {
|
|
171
|
+
min = consumer.position;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
const nextHead = this.bufferHead + min - this.trimOffset;
|
|
175
|
+
if (nextHead <= this.bufferHead) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
this.trimOffset = min;
|
|
179
|
+
if (nextHead === this.buffer.length) {
|
|
180
|
+
this.buffer = [];
|
|
181
|
+
this.bufferHead = 0;
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
this.buffer.fill(undefined, this.bufferHead, nextHead);
|
|
185
|
+
if (nextHead >= BUFFER_COMPACTION_MIN_HEAD && nextHead * 2 >= this.buffer.length) {
|
|
186
|
+
this.buffer = this.buffer.slice(nextHead);
|
|
187
|
+
this.bufferHead = 0;
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
this.bufferHead = nextHead;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Drop the retained backlog once no consumer can ever read it again.
|
|
194
|
+
* Before the first consumer joins, the backlog IS the catch-up history late
|
|
195
|
+
* joiners replay — retain it. Once at least one consumer has existed and
|
|
196
|
+
* none remain, any future consumer starts at the watermark anyway, so the
|
|
197
|
+
* retained bytes would stay pinned until GC for nothing. `findLastBuffered`
|
|
198
|
+
* callers that must observe terminal events after teardown should capture
|
|
199
|
+
* them via `onValue` instead of relying on the backlog surviving.
|
|
200
|
+
*/
|
|
201
|
+
dropUnreadBacklog() {
|
|
202
|
+
if (this.nextConsumerId === 0) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const dropped = this.buffer.length - this.bufferHead;
|
|
206
|
+
if (dropped === 0) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
this.trimOffset += dropped;
|
|
210
|
+
this.buffer = [];
|
|
211
|
+
this.bufferHead = 0;
|
|
212
|
+
}
|
|
147
213
|
/**
|
|
148
214
|
* Start pumping data from the source stream into the buffer
|
|
149
215
|
*/
|
|
@@ -153,11 +219,12 @@ export class ReusableReadableStream {
|
|
|
153
219
|
}
|
|
154
220
|
this.pumpStarted = true;
|
|
155
221
|
this.sourceReader = this.sourceStream.getReader();
|
|
222
|
+
const sourceReader = this.sourceReader;
|
|
156
223
|
// biome-ignore lint: IIFE used for fire-and-forget stream pump
|
|
157
224
|
void (async () => {
|
|
158
225
|
try {
|
|
159
226
|
while (true) {
|
|
160
|
-
const result = await
|
|
227
|
+
const result = await sourceReader.read();
|
|
161
228
|
if (result.done) {
|
|
162
229
|
this.sourceComplete = true;
|
|
163
230
|
this.notifyAllConsumers();
|
|
@@ -165,8 +232,20 @@ export class ReusableReadableStream {
|
|
|
165
232
|
}
|
|
166
233
|
// Add to buffer
|
|
167
234
|
this.buffer.push(result.value);
|
|
235
|
+
this.onValue?.(result.value);
|
|
168
236
|
// Notify waiting consumers
|
|
169
237
|
this.notifyAllConsumers();
|
|
238
|
+
if (this.isTerminalValue?.(result.value)) {
|
|
239
|
+
this.sourceComplete = true;
|
|
240
|
+
this.notifyAllConsumers();
|
|
241
|
+
try {
|
|
242
|
+
await this.cancelSourceReader(sourceReader);
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
// The terminal event is authoritative, cancellation is cleanup only.
|
|
246
|
+
}
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
170
249
|
}
|
|
171
250
|
}
|
|
172
251
|
catch (error) {
|
|
@@ -174,12 +253,19 @@ export class ReusableReadableStream {
|
|
|
174
253
|
this.notifyAllConsumers();
|
|
175
254
|
}
|
|
176
255
|
finally {
|
|
177
|
-
|
|
178
|
-
|
|
256
|
+
sourceReader.releaseLock();
|
|
257
|
+
if (this.sourceReader === sourceReader) {
|
|
258
|
+
this.sourceReader = null;
|
|
179
259
|
}
|
|
180
260
|
}
|
|
181
261
|
})();
|
|
182
262
|
}
|
|
263
|
+
cancelSourceReader(sourceReader) {
|
|
264
|
+
if (!this.sourceCancelPromise) {
|
|
265
|
+
this.sourceCancelPromise = sourceReader.cancel();
|
|
266
|
+
}
|
|
267
|
+
return this.sourceCancelPromise;
|
|
268
|
+
}
|
|
183
269
|
/**
|
|
184
270
|
* Notify all waiting consumers that new data is available
|
|
185
271
|
*/
|
|
@@ -208,11 +294,20 @@ export class ReusableReadableStream {
|
|
|
208
294
|
}
|
|
209
295
|
}
|
|
210
296
|
this.consumers.clear();
|
|
297
|
+
// Cancellation is terminal: every consumer is gone, so nobody can read
|
|
298
|
+
// the buffered backlog anymore. Drop it instead of pinning it until GC.
|
|
299
|
+
this.dropUnreadBacklog();
|
|
211
300
|
// Cancel the source stream
|
|
212
301
|
if (this.sourceReader) {
|
|
213
|
-
await this.sourceReader
|
|
214
|
-
this.sourceReader.releaseLock();
|
|
302
|
+
await this.cancelSourceReader(this.sourceReader);
|
|
215
303
|
}
|
|
304
|
+
/*
|
|
305
|
+
* The pump may have landed one in-flight chunk between the synchronous
|
|
306
|
+
* section above and reader cancellation — sweep once more so the buffer
|
|
307
|
+
* is empty regardless of microtask interleaving.
|
|
308
|
+
*/
|
|
309
|
+
this.dropUnreadBacklog();
|
|
216
310
|
}
|
|
217
311
|
}
|
|
312
|
+
const BUFFER_COMPACTION_MIN_HEAD = 1024;
|
|
218
313
|
//# sourceMappingURL=reusable-stream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reusable-stream.js","sourceRoot":"","sources":["../../src/lib/reusable-stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reusable-stream.js","sourceRoot":"","sources":["../../src/lib/reusable-stream.ts"],"names":[],"mappings":"AAmBA,MAAM,OAAO,sBAAsB;IAgBjC,YACU,YAA+B,EACvC,UAA4C,EAAE;QADtC,iBAAY,GAAZ,YAAY,CAAmB;QAhBjC,WAAM,GAAsB,EAAE,CAAC;QAC/B,eAAU,GAAG,CAAC,CAAC;QACvB,sFAAsF;QAC9E,eAAU,GAAG,CAAC,CAAC;QACf,cAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC7C,mBAAc,GAAG,CAAC,CAAC;QACnB,iBAAY,GAA0C,IAAI,CAAC;QAC3D,mBAAc,GAAG,KAAK,CAAC;QACvB,gBAAW,GAAiB,IAAI,CAAC;QACjC,gBAAW,GAAG,KAAK,CAAC;QACpB,wBAAmB,GAAyB,IAAI,CAAC;QASvD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,SAA+B;QAC9C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,cAAc;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,KAAK,GAAkB;YAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEtC,yDAAyD;QACzD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;QAED,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,OAAO;YACL,KAAK,CAAC,IAAI;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACpC,OAAO;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACjB,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC1E,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;oBACJ,CAAC;oBACD,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,OAAO;wBACL,IAAI,EAAE,KAAK;wBACX,KAAK;qBACN,CAAC;gBACJ,CAAC;gBAED,8DAA8D;gBAC9D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAClC,OAAO;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBACjB,CAAC;gBACJ,CAAC;gBAED,uCAAuC;gBACvC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAClC,MAAM,IAAI,CAAC,WAAW,CAAC;gBACzB,CAAC;gBAED,2DAA2D;gBAC3D,mEAAmE;gBACnE,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACxD,QAAQ,CAAC,cAAc,GAAG;wBACxB,OAAO;wBACP,MAAM;qBACP,CAAC;oBAEF,sEAAsE;oBACtE,+DAA+D;oBAC/D,kDAAkD;oBAClD,IACE,IAAI,CAAC,cAAc;wBACnB,IAAI,CAAC,WAAW;wBAChB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAC1E,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,WAAW,CAAC;gBAElB,gDAAgD;gBAChD,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;gBAE/B,wCAAwC;gBACxC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YAED,KAAK,CAAC,MAAM;gBACV,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC1B,kEAAkE;oBAClE,6DAA6D;oBAC7D,4BAA4B;oBAC5B,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;wBAC5B,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;wBAClC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;oBACjC,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAClC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,SAAS;iBACjB,CAAC;YACJ,CAAC;YAED,KAAK,CAAC,KAAK,CAAC,CAAW;gBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC1B,kEAAkE;oBAClE,4CAA4C;oBAC5C,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;wBAC5B,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9E,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;oBACjC,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAClC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;YAED,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACnC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC;gBAC5B,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,IAAI,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,QAAQ,IAAI,0BAA0B,IAAI,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACrD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,SAAS;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAElD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,+DAA+D;QAC/D,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;oBAEzC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC1B,MAAM;oBACR,CAAC;oBAED,gBAAgB;oBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC/B,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAE7B,2BAA2B;oBAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAE1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC1B,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;wBAC9C,CAAC;wBAAC,MAAM,CAAC;4BACP,qEAAqE;wBACvE,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAEO,kBAAkB,CAAC,YAA4C;QACrE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;gBACpC,CAAC;gBACD,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,uBAAuB;QACvB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC5B,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEvB,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,2BAA2B;QAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QACD;;;;WAIG;QACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;CACF;AAWD,MAAM,0BAA0B,GAAG,IAAI,CAAC"}
|
|
@@ -176,6 +176,9 @@ export declare function extractTextFromResponse(response: models.OpenResponsesRe
|
|
|
176
176
|
/**
|
|
177
177
|
* Extract all tool calls from a completed response
|
|
178
178
|
* Returns parsed tool calls with arguments as objects (not JSON strings)
|
|
179
|
+
*
|
|
180
|
+
* A response truncated at `max_output_tokens` yields no tool calls: see
|
|
181
|
+
* `isTruncatedAtMaxOutputTokens`.
|
|
179
182
|
*/
|
|
180
183
|
export declare function extractToolCallsFromResponse(response: models.OpenResponsesResult): ParsedToolCall<Tool>[];
|
|
181
184
|
/**
|
|
@@ -184,7 +187,15 @@ export declare function extractToolCallsFromResponse(response: models.OpenRespon
|
|
|
184
187
|
*/
|
|
185
188
|
export declare function buildToolCallStream(stream: ReusableReadableStream<models.StreamEvents>): AsyncIterableIterator<ParsedToolCall<Tool>>;
|
|
186
189
|
/**
|
|
187
|
-
* Check if a response contains any tool calls
|
|
190
|
+
* Check if a response contains any tool calls the loop should execute. A
|
|
191
|
+
* response truncated at `max_output_tokens` has none, even when its output
|
|
192
|
+
* carries a cut-off `function_call` item.
|
|
193
|
+
*
|
|
194
|
+
* Scope: this and `extractToolCallsFromResponse` decide execution on the
|
|
195
|
+
* completed response. `buildToolCallStream` (`getToolCallsStream()`) is a
|
|
196
|
+
* consumer view that yields each call as its `output_item.done` arrives,
|
|
197
|
+
* before the terminal event says whether the turn was cut off, so it still
|
|
198
|
+
* reports the model's emitted calls, truncated one included.
|
|
188
199
|
*/
|
|
189
200
|
export declare function responseHasToolCalls(response: models.OpenResponsesResult): boolean;
|
|
190
201
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-transformers.d.ts","sourceRoot":"","sources":["../../src/lib/stream-transformers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stream-transformers.d.ts","sourceRoot":"","sources":["../../src/lib/stream-transformers.ts"],"names":[],"mappings":"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"}
|
|
@@ -469,12 +469,31 @@ export function extractTextFromResponse(response) {
|
|
|
469
469
|
}
|
|
470
470
|
return '';
|
|
471
471
|
}
|
|
472
|
+
/**
|
|
473
|
+
* Whether the provider stopped this response at `max_output_tokens`. The
|
|
474
|
+
* `function_call` items on such a response are an unfinished batch: the model
|
|
475
|
+
* asked for the set together, and the last one carries whatever argument
|
|
476
|
+
* prefix fit in the budget. Executing the complete ones would hand the model a
|
|
477
|
+
* result set with a silent hole, and spend side effects on a turn that
|
|
478
|
+
* truncates the same way on the same budget, so none of them run. The caller
|
|
479
|
+
* sees every item and `incomplete_details`, and resumes once the budget is
|
|
480
|
+
* raised.
|
|
481
|
+
*/
|
|
482
|
+
function isTruncatedAtMaxOutputTokens(response) {
|
|
483
|
+
return (response.status === 'incomplete' && response.incompleteDetails?.reason === 'max_output_tokens');
|
|
484
|
+
}
|
|
472
485
|
/**
|
|
473
486
|
* Extract all tool calls from a completed response
|
|
474
487
|
* Returns parsed tool calls with arguments as objects (not JSON strings)
|
|
488
|
+
*
|
|
489
|
+
* A response truncated at `max_output_tokens` yields no tool calls: see
|
|
490
|
+
* `isTruncatedAtMaxOutputTokens`.
|
|
475
491
|
*/
|
|
476
492
|
export function extractToolCallsFromResponse(response) {
|
|
477
493
|
const toolCalls = [];
|
|
494
|
+
if (isTruncatedAtMaxOutputTokens(response)) {
|
|
495
|
+
return toolCalls;
|
|
496
|
+
}
|
|
478
497
|
for (const item of response.output) {
|
|
479
498
|
if (isFunctionCallItem(item)) {
|
|
480
499
|
try {
|
|
@@ -593,9 +612,20 @@ export async function* buildToolCallStream(stream) {
|
|
|
593
612
|
}
|
|
594
613
|
}
|
|
595
614
|
/**
|
|
596
|
-
* Check if a response contains any tool calls
|
|
615
|
+
* Check if a response contains any tool calls the loop should execute. A
|
|
616
|
+
* response truncated at `max_output_tokens` has none, even when its output
|
|
617
|
+
* carries a cut-off `function_call` item.
|
|
618
|
+
*
|
|
619
|
+
* Scope: this and `extractToolCallsFromResponse` decide execution on the
|
|
620
|
+
* completed response. `buildToolCallStream` (`getToolCallsStream()`) is a
|
|
621
|
+
* consumer view that yields each call as its `output_item.done` arrives,
|
|
622
|
+
* before the terminal event says whether the turn was cut off, so it still
|
|
623
|
+
* reports the model's emitted calls, truncated one included.
|
|
597
624
|
*/
|
|
598
625
|
export function responseHasToolCalls(response) {
|
|
626
|
+
if (isTruncatedAtMaxOutputTokens(response)) {
|
|
627
|
+
return false;
|
|
628
|
+
}
|
|
599
629
|
return response.output.some((item) => 'type' in item && item.type === 'function_call');
|
|
600
630
|
}
|
|
601
631
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-transformers.js","sourceRoot":"","sources":["../../src/lib/stream-transformers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stream-transformers.js","sourceRoot":"","sources":["../../src/lib/stream-transformers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
+
import type { StreamReplay } from './reusable-stream.js';
|
|
1
2
|
/**
|
|
2
3
|
* A push-based event broadcaster that supports multiple concurrent consumers.
|
|
3
4
|
* Similar to ReusableReadableStream but for push-based events from tool execution.
|
|
4
5
|
*
|
|
5
|
-
* Each consumer gets their own position in the buffer
|
|
6
|
-
*
|
|
7
|
-
* tool preliminary results to multiple consumers simultaneously.
|
|
6
|
+
* Each consumer gets their own position in the buffer. Full replay is the
|
|
7
|
+
* default, and active-consumer replay can compact consumed events.
|
|
8
8
|
*
|
|
9
9
|
* @template T - The event type being broadcast
|
|
10
10
|
*/
|
|
11
11
|
export declare class ToolEventBroadcaster<T> {
|
|
12
|
+
private readonly streamReplay;
|
|
12
13
|
private buffer;
|
|
14
|
+
private bufferHead;
|
|
15
|
+
private trimOffset;
|
|
13
16
|
private consumers;
|
|
14
17
|
private nextConsumerId;
|
|
15
18
|
private isComplete;
|
|
16
19
|
private completionError;
|
|
20
|
+
constructor(streamReplay?: StreamReplay);
|
|
17
21
|
/**
|
|
18
22
|
* Push a new event to all consumers.
|
|
19
23
|
* Events are buffered so late-joining consumers can catch up.
|
|
@@ -32,10 +36,19 @@ export declare class ToolEventBroadcaster<T> {
|
|
|
32
36
|
private cleanup;
|
|
33
37
|
/**
|
|
34
38
|
* Create a new consumer that can independently iterate over events.
|
|
35
|
-
*
|
|
36
|
-
*
|
|
39
|
+
* Full-replay consumers start at position 0. Active-consumer replay starts
|
|
40
|
+
* at the current trim watermark.
|
|
37
41
|
*/
|
|
38
42
|
createConsumer(): AsyncIterableIterator<T>;
|
|
43
|
+
private trimConsumed;
|
|
44
|
+
/**
|
|
45
|
+
* Drop the retained backlog once no consumer can ever read it again.
|
|
46
|
+
* Before the first consumer joins, the buffer IS the catch-up history late
|
|
47
|
+
* joiners replay — retain it. Once at least one consumer has existed and
|
|
48
|
+
* none remain, any future consumer starts at the watermark anyway, so the
|
|
49
|
+
* retained events would stay pinned until GC for nothing.
|
|
50
|
+
*/
|
|
51
|
+
private dropUnreadBacklog;
|
|
39
52
|
/**
|
|
40
53
|
* Notify all waiting consumers that new data is available or stream completed
|
|
41
54
|
*/
|