@trigger.dev/core 4.5.0-rc.5 → 4.5.0-rc.7
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/commonjs/v3/apiClient/index.d.ts +9 -6
- package/dist/commonjs/v3/apiClient/index.js +7 -1
- package/dist/commonjs/v3/apiClient/index.js.map +1 -1
- package/dist/commonjs/v3/apiClient/runStream.js +15 -1
- package/dist/commonjs/v3/apiClient/runStream.js.map +1 -1
- package/dist/commonjs/v3/errors.d.ts +8 -0
- package/dist/commonjs/v3/errors.js +28 -1
- package/dist/commonjs/v3/errors.js.map +1 -1
- package/dist/commonjs/v3/errors.test.d.ts +1 -0
- package/dist/commonjs/v3/errors.test.js +38 -0
- package/dist/commonjs/v3/errors.test.js.map +1 -0
- package/dist/commonjs/v3/resource-catalog/catalog.d.ts +4 -0
- package/dist/commonjs/v3/resource-catalog/index.d.ts +4 -0
- package/dist/commonjs/v3/resource-catalog/index.js +3 -0
- package/dist/commonjs/v3/resource-catalog/index.js.map +1 -1
- package/dist/commonjs/v3/resource-catalog/noopResourceCatalog.d.ts +4 -0
- package/dist/commonjs/v3/resource-catalog/noopResourceCatalog.js +3 -0
- package/dist/commonjs/v3/resource-catalog/noopResourceCatalog.js.map +1 -1
- package/dist/commonjs/v3/resource-catalog/standardResourceCatalog.d.ts +5 -0
- package/dist/commonjs/v3/resource-catalog/standardResourceCatalog.js +28 -0
- package/dist/commonjs/v3/resource-catalog/standardResourceCatalog.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPool.js +4 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPool.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPool.test.js +30 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPool.test.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPoolMetrics.d.ts +16 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPoolMetrics.js +26 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPoolMetrics.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.d.ts +4 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.js +11 -2
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.test.d.ts +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.test.js +77 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.test.js.map +1 -0
- package/dist/commonjs/v3/schemas/api.d.ts +61 -0
- package/dist/commonjs/v3/schemas/api.js +22 -4
- package/dist/commonjs/v3/schemas/api.js.map +1 -1
- package/dist/commonjs/v3/schemas/messages.d.ts +25 -0
- package/dist/commonjs/v3/schemas/messages.js +4 -0
- package/dist/commonjs/v3/schemas/messages.js.map +1 -1
- package/dist/commonjs/v3/schemas/queues.d.ts +2 -2
- package/dist/commonjs/v3/sessionStreams/chatSnapshot.d.ts +11 -0
- package/dist/commonjs/v3/sessionStreams/chatSnapshot.js +1 -0
- package/dist/commonjs/v3/sessionStreams/chatSnapshot.js.map +1 -1
- package/dist/commonjs/v3/sessionStreams/index.d.ts +1 -1
- package/dist/commonjs/v3/sessionStreams/index.js.map +1 -1
- package/dist/commonjs/v3/sessionStreams/manager.d.ts +1 -1
- package/dist/commonjs/v3/sessionStreams/manager.js +58 -28
- package/dist/commonjs/v3/sessionStreams/manager.js.map +1 -1
- package/dist/commonjs/v3/sessionStreams/noopManager.d.ts +1 -1
- package/dist/commonjs/v3/sessionStreams/noopManager.js.map +1 -1
- package/dist/commonjs/v3/sessionStreams/types.d.ts +11 -2
- package/dist/commonjs/v3/test/test-session-stream-manager.d.ts +15 -14
- package/dist/commonjs/v3/test/test-session-stream-manager.js +90 -42
- package/dist/commonjs/v3/test/test-session-stream-manager.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/apiClient/index.d.ts +9 -6
- package/dist/esm/v3/apiClient/index.js +7 -1
- package/dist/esm/v3/apiClient/index.js.map +1 -1
- package/dist/esm/v3/apiClient/runStream.js +15 -1
- package/dist/esm/v3/apiClient/runStream.js.map +1 -1
- package/dist/esm/v3/errors.d.ts +8 -0
- package/dist/esm/v3/errors.js +26 -0
- package/dist/esm/v3/errors.js.map +1 -1
- package/dist/esm/v3/errors.test.d.ts +1 -0
- package/dist/esm/v3/errors.test.js +36 -0
- package/dist/esm/v3/errors.test.js.map +1 -0
- package/dist/esm/v3/resource-catalog/catalog.d.ts +4 -0
- package/dist/esm/v3/resource-catalog/index.d.ts +4 -0
- package/dist/esm/v3/resource-catalog/index.js +3 -0
- package/dist/esm/v3/resource-catalog/index.js.map +1 -1
- package/dist/esm/v3/resource-catalog/noopResourceCatalog.d.ts +4 -0
- package/dist/esm/v3/resource-catalog/noopResourceCatalog.js +3 -0
- package/dist/esm/v3/resource-catalog/noopResourceCatalog.js.map +1 -1
- package/dist/esm/v3/resource-catalog/standardResourceCatalog.d.ts +5 -0
- package/dist/esm/v3/resource-catalog/standardResourceCatalog.js +28 -0
- package/dist/esm/v3/resource-catalog/standardResourceCatalog.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPool.js +4 -0
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPool.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPool.test.js +30 -0
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPool.test.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPoolMetrics.d.ts +16 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPoolMetrics.js +27 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPoolMetrics.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.d.ts +4 -0
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.js +11 -2
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.test.d.ts +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.test.js +75 -0
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.test.js.map +1 -0
- package/dist/esm/v3/schemas/api.d.ts +61 -0
- package/dist/esm/v3/schemas/api.js +18 -0
- package/dist/esm/v3/schemas/api.js.map +1 -1
- package/dist/esm/v3/schemas/messages.d.ts +25 -0
- package/dist/esm/v3/schemas/messages.js +4 -0
- package/dist/esm/v3/schemas/messages.js.map +1 -1
- package/dist/esm/v3/schemas/queues.d.ts +2 -2
- package/dist/esm/v3/sessionStreams/chatSnapshot.d.ts +11 -0
- package/dist/esm/v3/sessionStreams/chatSnapshot.js +1 -0
- package/dist/esm/v3/sessionStreams/chatSnapshot.js.map +1 -1
- package/dist/esm/v3/sessionStreams/index.d.ts +1 -1
- package/dist/esm/v3/sessionStreams/index.js.map +1 -1
- package/dist/esm/v3/sessionStreams/manager.d.ts +1 -1
- package/dist/esm/v3/sessionStreams/manager.js +58 -28
- package/dist/esm/v3/sessionStreams/manager.js.map +1 -1
- package/dist/esm/v3/sessionStreams/noopManager.d.ts +1 -1
- package/dist/esm/v3/sessionStreams/noopManager.js.map +1 -1
- package/dist/esm/v3/sessionStreams/types.d.ts +11 -2
- package/dist/esm/v3/test/test-session-stream-manager.d.ts +15 -14
- package/dist/esm/v3/test/test-session-stream-manager.js +90 -42
- package/dist/esm/v3/test/test-session-stream-manager.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +3 -2
|
@@ -81,31 +81,44 @@ class StandardSessionStreamManager {
|
|
|
81
81
|
// so the tail can subscribe again now that callers want delivery back.
|
|
82
82
|
this.explicitlyDisconnected.delete(key);
|
|
83
83
|
this.#ensureTailConnected(sessionId, io);
|
|
84
|
+
// Selective drain: offer each buffered record to the new handler and
|
|
85
|
+
// remove ONLY the ones it consumed (returned `true` — e.g. the
|
|
86
|
+
// messages facade for message-kind records). Consumed records advance
|
|
87
|
+
// the committed-consume cursor, so a worker using `messagesInput.on()`
|
|
88
|
+
// for user-message delivery persists a `.in` cursor that matches what
|
|
89
|
+
// the handler processed. Records the handler did not consume (other
|
|
90
|
+
// kinds) STAY buffered for a future `once()` or a different handler —
|
|
91
|
+
// a blind drain here either swallowed them (delivered to a handler
|
|
92
|
+
// that filtered them out, then deleted) or re-delivered already-
|
|
93
|
+
// processed messages into every newly attached per-turn handler,
|
|
94
|
+
// duplicating turns.
|
|
84
95
|
const buffered = this.buffer.get(key);
|
|
85
96
|
if (buffered && buffered.length > 0) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
// that lags behind the records the handler already processed, and
|
|
96
|
-
// the next boot would re-deliver them.
|
|
97
|
-
const seqList = this.bufferSeqNums.get(key);
|
|
98
|
-
if (seqList) {
|
|
99
|
-
for (const s of seqList) {
|
|
97
|
+
const seqList = this.bufferSeqNums.get(key) ?? [];
|
|
98
|
+
const keptRecords = [];
|
|
99
|
+
// Kept in lock-step with `keptRecords` — drifting lengths would map
|
|
100
|
+
// seq_nums to the wrong records on subsequent shifts.
|
|
101
|
+
const keptSeqNums = [];
|
|
102
|
+
for (let i = 0; i < buffered.length; i++) {
|
|
103
|
+
const consumed = this.#invokeHandler(handler, buffered[i]);
|
|
104
|
+
if (consumed) {
|
|
105
|
+
const s = seqList[i];
|
|
100
106
|
if (s !== undefined)
|
|
101
107
|
this.#advanceLastDispatched(key, s);
|
|
102
108
|
}
|
|
109
|
+
else {
|
|
110
|
+
keptRecords.push(buffered[i]);
|
|
111
|
+
keptSeqNums.push(seqList[i]);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (keptRecords.length > 0) {
|
|
115
|
+
this.buffer.set(key, keptRecords);
|
|
116
|
+
this.bufferSeqNums.set(key, keptSeqNums);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
this.buffer.delete(key);
|
|
120
|
+
this.bufferSeqNums.delete(key);
|
|
103
121
|
}
|
|
104
|
-
this.buffer.delete(key);
|
|
105
|
-
// Keep `bufferSeqNums` in lock-step with `buffer` — without this,
|
|
106
|
-
// the parallel array desyncs and the next `#dispatch` that buffers
|
|
107
|
-
// a record would shift a stale seqNum into `lastDispatchedSeqNum`.
|
|
108
|
-
this.bufferSeqNums.delete(key);
|
|
109
122
|
}
|
|
110
123
|
return {
|
|
111
124
|
off: () => {
|
|
@@ -440,13 +453,21 @@ class StandardSessionStreamManager {
|
|
|
440
453
|
this.#invokeHandlers(key, data);
|
|
441
454
|
return;
|
|
442
455
|
}
|
|
443
|
-
// Persistent handlers
|
|
444
|
-
//
|
|
445
|
-
//
|
|
446
|
-
//
|
|
447
|
-
// chat.agent's
|
|
448
|
-
//
|
|
449
|
-
|
|
456
|
+
// Persistent handlers get a copy of the chunk. A handler that
|
|
457
|
+
// synchronously returns `true` CONSUMES it (e.g. the messages facade
|
|
458
|
+
// for message-kind records): the record must not also be buffered, or
|
|
459
|
+
// the next `on()` attach / `once()` would deliver it a second time —
|
|
460
|
+
// in chat.agent's turn loop that duplicated user messages into a
|
|
461
|
+
// second turn. Records no handler consumed (e.g. a message arriving
|
|
462
|
+
// while only the stop facade is attached during preload) are buffered
|
|
463
|
+
// so a subsequent `once()` can still pick them up.
|
|
464
|
+
const consumed = this.#invokeHandlers(key, data);
|
|
465
|
+
if (consumed) {
|
|
466
|
+
if (seqNum !== undefined) {
|
|
467
|
+
this.#advanceLastDispatched(key, seqNum);
|
|
468
|
+
}
|
|
469
|
+
return;
|
|
470
|
+
}
|
|
450
471
|
let buffered = this.buffer.get(key);
|
|
451
472
|
if (!buffered) {
|
|
452
473
|
buffered = [];
|
|
@@ -464,17 +485,25 @@ class StandardSessionStreamManager {
|
|
|
464
485
|
// shift.
|
|
465
486
|
bufferedSeqs.push(seqNum);
|
|
466
487
|
}
|
|
488
|
+
/** Returns true when any handler consumed the record. All handlers are invoked regardless. */
|
|
467
489
|
#invokeHandlers(key, data) {
|
|
468
490
|
const handlers = this.handlers.get(key);
|
|
469
491
|
if (!handlers)
|
|
470
|
-
return;
|
|
492
|
+
return false;
|
|
493
|
+
let consumed = false;
|
|
471
494
|
for (const handler of handlers) {
|
|
472
|
-
this.#invokeHandler(handler, data)
|
|
495
|
+
if (this.#invokeHandler(handler, data)) {
|
|
496
|
+
consumed = true;
|
|
497
|
+
}
|
|
473
498
|
}
|
|
499
|
+
return consumed;
|
|
474
500
|
}
|
|
501
|
+
/** Returns true when the handler synchronously consumed the record (returned `true`). */
|
|
475
502
|
#invokeHandler(handler, data) {
|
|
476
503
|
try {
|
|
477
504
|
const result = handler(data);
|
|
505
|
+
if (result === true)
|
|
506
|
+
return true;
|
|
478
507
|
if (result && typeof result === "object" && "catch" in result) {
|
|
479
508
|
result.catch((error) => {
|
|
480
509
|
if (this.debug) {
|
|
@@ -488,6 +517,7 @@ class StandardSessionStreamManager {
|
|
|
488
517
|
console.error("[SessionStreamManager] Handler error:", error);
|
|
489
518
|
}
|
|
490
519
|
}
|
|
520
|
+
return false;
|
|
491
521
|
}
|
|
492
522
|
#removeOnceWaiter(key, waiter) {
|
|
493
523
|
// Centralized cleanup — both timeout and explicit abort paths funnel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/v3/sessionStreams/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/v3/sessionStreams/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { InputStreamOnceOptions } from "../realtimeStreams/types.js";
|
|
|
2
2
|
import { InputStreamOncePromise } from "../inputStreams/types.js";
|
|
3
3
|
import { SessionChannelIO, SessionStreamManager } from "./types.js";
|
|
4
4
|
export declare class NoopSessionStreamManager implements SessionStreamManager {
|
|
5
|
-
on(_sessionId: string, _io: SessionChannelIO, _handler: (data: unknown) => void | Promise<void>): {
|
|
5
|
+
on(_sessionId: string, _io: SessionChannelIO, _handler: (data: unknown) => void | boolean | Promise<void>): {
|
|
6
6
|
off: () => void;
|
|
7
7
|
};
|
|
8
8
|
once(_sessionId: string, _io: SessionChannelIO, _options?: InputStreamOnceOptions): InputStreamOncePromise<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noopManager.js","sourceRoot":"","sources":["../../../../src/v3/sessionStreams/noopManager.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAGlE,MAAa,wBAAwB;IACnC,EAAE,CACA,UAAkB,EAClB,GAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"noopManager.js","sourceRoot":"","sources":["../../../../src/v3/sessionStreams/noopManager.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAGlE,MAAa,wBAAwB;IACnC,EAAE,CACA,UAAkB,EAClB,GAAqB,EACrB,QAA2D;QAE3D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CACF,UAAkB,EAClB,GAAqB,EACrB,QAAiC;QAEjC,OAAO,IAAI,iCAAsB,CAAC,GAAG,EAAE;YACrC,+BAA+B;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,UAAkB,EAAE,GAAqB;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,UAAkB,EAAE,GAAqB;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,UAAkB,EAAE,GAAqB,EAAE,OAAe,IAAS,CAAC;IAElF,oBAAoB,CAAC,UAAkB,EAAE,GAAqB;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBAAuB,CACrB,UAAkB,EAClB,GAAqB,EACrB,OAAe,IACR,CAAC;IAEV,eAAe,CACb,UAAkB,EAClB,GAAqB,EACrB,aAAiC,IAC1B,CAAC;IAEV,WAAW,CAAC,UAAkB,EAAE,GAAqB;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,UAAkB,EAAE,GAAqB,IAAS,CAAC;IAEpE,aAAa,KAAU,CAAC;IAExB,KAAK,KAAU,CAAC;IAEhB,UAAU,KAAU,CAAC;CACtB;AAxDD,4DAwDC"}
|
|
@@ -15,8 +15,17 @@ export type SessionChannelIO = "out" | "in";
|
|
|
15
15
|
* `.on` / `.once` / `.peek` / `.wait` / `.waitWithIdleTimeout`.
|
|
16
16
|
*/
|
|
17
17
|
export interface SessionStreamManager {
|
|
18
|
-
/**
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Register a handler that fires every time data arrives on the given channel.
|
|
20
|
+
*
|
|
21
|
+
* A handler that synchronously returns `true` CONSUMES the record: it is
|
|
22
|
+
* not buffered for a later `once()` and the committed-consume cursor
|
|
23
|
+
* advances past it. Any other return value (including a Promise) leaves
|
|
24
|
+
* the record available to other consumers. Kind-filtering facades return
|
|
25
|
+
* `true` for the kinds they own so the same record is never delivered
|
|
26
|
+
* twice — once to the handler and again via a buffer drain.
|
|
27
|
+
*/
|
|
28
|
+
on(sessionId: string, io: SessionChannelIO, handler: (data: unknown) => void | boolean | Promise<void>): {
|
|
20
29
|
off: () => void;
|
|
21
30
|
};
|
|
22
31
|
/** Wait for the next record on the given channel (buffered or live). */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InputStreamOncePromise } from "../inputStreams/types.js";
|
|
2
2
|
import type { InputStreamOnceOptions } from "../realtimeStreams/types.js";
|
|
3
3
|
import type { SessionChannelIO, SessionStreamManager } from "../sessionStreams/types.js";
|
|
4
|
-
type Handler = (data: unknown) => void | Promise<void>;
|
|
4
|
+
type Handler = (data: unknown) => void | boolean | Promise<void>;
|
|
5
5
|
/**
|
|
6
6
|
* In-memory implementation of `SessionStreamManager` for unit tests. Same
|
|
7
7
|
* shape as {@link TestInputStreamManager} but keyed on `(sessionId, io)`.
|
|
@@ -12,6 +12,7 @@ type Handler = (data: unknown) => void | Promise<void>;
|
|
|
12
12
|
* registered are buffered so the first `once()` picks them up.
|
|
13
13
|
*/
|
|
14
14
|
export declare class TestSessionStreamManager implements SessionStreamManager {
|
|
15
|
+
#private;
|
|
15
16
|
private handlers;
|
|
16
17
|
private onceWaiters;
|
|
17
18
|
private buffer;
|
|
@@ -34,20 +35,20 @@ export declare class TestSessionStreamManager implements SessionStreamManager {
|
|
|
34
35
|
/**
|
|
35
36
|
* Push a record onto the given channel.
|
|
36
37
|
*
|
|
37
|
-
* Dispatch rules —
|
|
38
|
-
* that makes unit tests deterministic:
|
|
38
|
+
* Dispatch rules — same as the production manager:
|
|
39
39
|
*
|
|
40
|
-
* 1. **
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
40
|
+
* 1. **A pending `.once` waiter consumes first.** Handlers still observe
|
|
41
|
+
* a copy.
|
|
42
|
+
* 2. **Otherwise handlers observe.** A handler that synchronously
|
|
43
|
+
* returns `true` consumes the record (kind-filtering facades do this
|
|
44
|
+
* for the kinds they own) — it is NOT buffered.
|
|
45
|
+
* 3. **Records no one consumed are buffered** for the next `.once` call
|
|
46
|
+
* or the next consuming `on()` attach.
|
|
47
|
+
*
|
|
48
|
+
* Handler promises are awaited before resolving so test code can rely
|
|
49
|
+
* on async handler work having settled by the time `__sendFromTest`
|
|
50
|
+
* resolves. Consumption is decided on the synchronous return value,
|
|
51
|
+
* exactly like production.
|
|
51
52
|
*/
|
|
52
53
|
__sendFromTest(sessionId: string, io: SessionChannelIO, data: unknown): Promise<void>;
|
|
53
54
|
/**
|
|
@@ -27,20 +27,35 @@ class TestSessionStreamManager {
|
|
|
27
27
|
this.handlers.set(key, set);
|
|
28
28
|
}
|
|
29
29
|
set.add(handler);
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
30
|
+
// Selective drain, matching the production manager: offer each
|
|
31
|
+
// buffered record to the new handler and remove ONLY the ones it
|
|
32
|
+
// consumed (returned `true`). Records the handler filtered out (other
|
|
33
|
+
// kinds) stay buffered for a future `once()`. This is the corrected
|
|
34
|
+
// form of two historical bugs: a blind drain swallowed boot-phase user
|
|
35
|
+
// messages into the stop facade (which ignores `kind: "message"`),
|
|
36
|
+
// and no-drain-at-all let production re-deliver already-processed
|
|
37
|
+
// messages into every newly attached per-turn handler.
|
|
38
|
+
const buffered = this.buffer.get(key);
|
|
39
|
+
if (buffered && buffered.length > 0) {
|
|
40
|
+
const kept = [];
|
|
41
|
+
for (const data of buffered) {
|
|
42
|
+
let consumed = false;
|
|
43
|
+
try {
|
|
44
|
+
consumed = handler(data) === true;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Never let a handler error break test state
|
|
48
|
+
}
|
|
49
|
+
if (!consumed)
|
|
50
|
+
kept.push(data);
|
|
51
|
+
}
|
|
52
|
+
if (kept.length > 0) {
|
|
53
|
+
this.buffer.set(key, kept);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.buffer.delete(key);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
44
59
|
return {
|
|
45
60
|
off: () => {
|
|
46
61
|
this.handlers.get(key)?.delete(handler);
|
|
@@ -160,38 +175,23 @@ class TestSessionStreamManager {
|
|
|
160
175
|
/**
|
|
161
176
|
* Push a record onto the given channel.
|
|
162
177
|
*
|
|
163
|
-
* Dispatch rules —
|
|
164
|
-
*
|
|
178
|
+
* Dispatch rules — same as the production manager:
|
|
179
|
+
*
|
|
180
|
+
* 1. **A pending `.once` waiter consumes first.** Handlers still observe
|
|
181
|
+
* a copy.
|
|
182
|
+
* 2. **Otherwise handlers observe.** A handler that synchronously
|
|
183
|
+
* returns `true` consumes the record (kind-filtering facades do this
|
|
184
|
+
* for the kinds they own) — it is NOT buffered.
|
|
185
|
+
* 3. **Records no one consumed are buffered** for the next `.once` call
|
|
186
|
+
* or the next consuming `on()` attach.
|
|
165
187
|
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
* 3. **If no waiter, the record is buffered for the next `.once` call.**
|
|
171
|
-
* Production discards records that only match handlers — but in
|
|
172
|
-
* production the SSE tail introduces enough latency that the next
|
|
173
|
-
* `.once` is usually registered before the next record arrives. Tests
|
|
174
|
-
* send synchronously right after `turn-complete`, so without this
|
|
175
|
-
* buffer the next `waitWithIdleTimeout` would race and lose the
|
|
176
|
-
* message. The buffer is the only deviation from production semantics.
|
|
188
|
+
* Handler promises are awaited before resolving so test code can rely
|
|
189
|
+
* on async handler work having settled by the time `__sendFromTest`
|
|
190
|
+
* resolves. Consumption is decided on the synchronous return value,
|
|
191
|
+
* exactly like production.
|
|
177
192
|
*/
|
|
178
193
|
async __sendFromTest(sessionId, io, data) {
|
|
179
194
|
const key = keyFor(sessionId, io);
|
|
180
|
-
const handlers = this.handlers.get(key);
|
|
181
|
-
if (handlers && handlers.size > 0) {
|
|
182
|
-
// Awaited so test code can rely on handlers having completed by the
|
|
183
|
-
// time `__sendFromTest` resolves. Wrapped per-handler so a
|
|
184
|
-
// throwing/rejecting handler doesn't poison Promise.all and break
|
|
185
|
-
// unrelated test state.
|
|
186
|
-
await Promise.all(Array.from(handlers).map(async (h) => {
|
|
187
|
-
try {
|
|
188
|
-
await h(data);
|
|
189
|
-
}
|
|
190
|
-
catch {
|
|
191
|
-
// Never let a handler error break test state
|
|
192
|
-
}
|
|
193
|
-
}));
|
|
194
|
-
}
|
|
195
195
|
const waiters = this.onceWaiters.get(key);
|
|
196
196
|
if (waiters && waiters.length > 0) {
|
|
197
197
|
const w = waiters.shift();
|
|
@@ -203,6 +203,28 @@ class TestSessionStreamManager {
|
|
|
203
203
|
w.signal.removeEventListener("abort", w.abortHandler);
|
|
204
204
|
}
|
|
205
205
|
w.resolve({ ok: true, output: data });
|
|
206
|
+
await this.#invokeHandlers(key, data);
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const consumed = await this.#invokeHandlers(key, data);
|
|
210
|
+
if (consumed)
|
|
211
|
+
return;
|
|
212
|
+
// Re-check waiters: handler invocation above is awaited (unlike the
|
|
213
|
+
// synchronous production dispatch), and the runtime commonly registers
|
|
214
|
+
// its next `once()` during that window — e.g. the turn loop reaching
|
|
215
|
+
// `waitWithIdleTimeout` while a handler settles. Without this second
|
|
216
|
+
// look the record would be buffered while the fresh waiter hangs.
|
|
217
|
+
const lateWaiters = this.onceWaiters.get(key);
|
|
218
|
+
if (lateWaiters && lateWaiters.length > 0) {
|
|
219
|
+
const w = lateWaiters.shift();
|
|
220
|
+
if (lateWaiters.length === 0)
|
|
221
|
+
this.onceWaiters.delete(key);
|
|
222
|
+
if (w.timer)
|
|
223
|
+
clearTimeout(w.timer);
|
|
224
|
+
if (w.signal && w.abortHandler) {
|
|
225
|
+
w.signal.removeEventListener("abort", w.abortHandler);
|
|
226
|
+
}
|
|
227
|
+
w.resolve({ ok: true, output: data });
|
|
206
228
|
return;
|
|
207
229
|
}
|
|
208
230
|
let buffered = this.buffer.get(key);
|
|
@@ -212,6 +234,32 @@ class TestSessionStreamManager {
|
|
|
212
234
|
}
|
|
213
235
|
buffered.push(data);
|
|
214
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* Invoke all handlers; resolves once any returned promises settle.
|
|
239
|
+
* Returns true when any handler synchronously consumed the record.
|
|
240
|
+
* Wrapped per-handler so a throwing/rejecting handler doesn't poison
|
|
241
|
+
* Promise.all and break unrelated test state.
|
|
242
|
+
*/
|
|
243
|
+
async #invokeHandlers(key, data) {
|
|
244
|
+
const handlers = this.handlers.get(key);
|
|
245
|
+
if (!handlers || handlers.size === 0)
|
|
246
|
+
return false;
|
|
247
|
+
let consumed = false;
|
|
248
|
+
await Promise.all(Array.from(handlers).map(async (h) => {
|
|
249
|
+
try {
|
|
250
|
+
const result = h(data);
|
|
251
|
+
if (result === true) {
|
|
252
|
+
consumed = true;
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
await result;
|
|
256
|
+
}
|
|
257
|
+
catch {
|
|
258
|
+
// Never let a handler error break test state
|
|
259
|
+
}
|
|
260
|
+
}));
|
|
261
|
+
return consumed;
|
|
262
|
+
}
|
|
215
263
|
/**
|
|
216
264
|
* Immediately resolve every pending `once()` waiter for the given channel
|
|
217
265
|
* with a timeout error. Simulates a closed stream (e.g. session closed).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-session-stream-manager.js","sourceRoot":"","sources":["../../../../src/v3/test/test-session-stream-manager.ts"],"names":[],"mappings":";;;AAAA,uDAIkC;
|
|
1
|
+
{"version":3,"file":"test-session-stream-manager.js","sourceRoot":"","sources":["../../../../src/v3/test/test-session-stream-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/commonjs/version.js
CHANGED
|
@@ -321,6 +321,8 @@ export declare class ApiClient {
|
|
|
321
321
|
inputCost?: number | undefined;
|
|
322
322
|
outputCost?: number | undefined;
|
|
323
323
|
totalCost?: number | undefined;
|
|
324
|
+
cachedCost?: number | undefined;
|
|
325
|
+
cacheCreationCost?: number | undefined;
|
|
324
326
|
tokensPerSecond?: number | undefined;
|
|
325
327
|
msToFirstChunk?: number | undefined;
|
|
326
328
|
finishReason?: string | undefined;
|
|
@@ -866,6 +868,7 @@ export declare class ApiClient {
|
|
|
866
868
|
id: string;
|
|
867
869
|
seqNum: number;
|
|
868
870
|
data?: unknown;
|
|
871
|
+
headers?: [string, string][] | undefined;
|
|
869
872
|
}[];
|
|
870
873
|
}>;
|
|
871
874
|
/**
|
|
@@ -926,9 +929,9 @@ export declare class ApiClient {
|
|
|
926
929
|
name: string;
|
|
927
930
|
id: string;
|
|
928
931
|
concurrencyLimit: number | null;
|
|
932
|
+
paused: boolean;
|
|
929
933
|
running: number;
|
|
930
934
|
queued: number;
|
|
931
|
-
paused: boolean;
|
|
932
935
|
concurrency?: {
|
|
933
936
|
base: number | null;
|
|
934
937
|
override: number | null;
|
|
@@ -941,9 +944,9 @@ export declare class ApiClient {
|
|
|
941
944
|
name: string;
|
|
942
945
|
id: string;
|
|
943
946
|
concurrencyLimit: number | null;
|
|
947
|
+
paused: boolean;
|
|
944
948
|
running: number;
|
|
945
949
|
queued: number;
|
|
946
|
-
paused: boolean;
|
|
947
950
|
concurrency?: {
|
|
948
951
|
base: number | null;
|
|
949
952
|
override: number | null;
|
|
@@ -957,9 +960,9 @@ export declare class ApiClient {
|
|
|
957
960
|
name: string;
|
|
958
961
|
id: string;
|
|
959
962
|
concurrencyLimit: number | null;
|
|
963
|
+
paused: boolean;
|
|
960
964
|
running: number;
|
|
961
965
|
queued: number;
|
|
962
|
-
paused: boolean;
|
|
963
966
|
concurrency?: {
|
|
964
967
|
base: number | null;
|
|
965
968
|
override: number | null;
|
|
@@ -973,9 +976,9 @@ export declare class ApiClient {
|
|
|
973
976
|
name: string;
|
|
974
977
|
id: string;
|
|
975
978
|
concurrencyLimit: number | null;
|
|
979
|
+
paused: boolean;
|
|
976
980
|
running: number;
|
|
977
981
|
queued: number;
|
|
978
|
-
paused: boolean;
|
|
979
982
|
concurrency?: {
|
|
980
983
|
base: number | null;
|
|
981
984
|
override: number | null;
|
|
@@ -989,9 +992,9 @@ export declare class ApiClient {
|
|
|
989
992
|
name: string;
|
|
990
993
|
id: string;
|
|
991
994
|
concurrencyLimit: number | null;
|
|
995
|
+
paused: boolean;
|
|
992
996
|
running: number;
|
|
993
997
|
queued: number;
|
|
994
|
-
paused: boolean;
|
|
995
998
|
concurrency?: {
|
|
996
999
|
base: number | null;
|
|
997
1000
|
override: number | null;
|
|
@@ -1005,9 +1008,9 @@ export declare class ApiClient {
|
|
|
1005
1008
|
name: string;
|
|
1006
1009
|
id: string;
|
|
1007
1010
|
concurrencyLimit: number | null;
|
|
1011
|
+
paused: boolean;
|
|
1008
1012
|
running: number;
|
|
1009
1013
|
queued: number;
|
|
1010
|
-
paused: boolean;
|
|
1011
1014
|
concurrency?: {
|
|
1012
1015
|
base: number | null;
|
|
1013
1016
|
override: number | null;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { nanoid } from "nanoid";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
import { VERSION } from "../../version.js";
|
|
3
4
|
import { generateJWT } from "../jwt.js";
|
|
@@ -648,9 +649,14 @@ export class ApiClient {
|
|
|
648
649
|
}));
|
|
649
650
|
}
|
|
650
651
|
async appendToSessionStream(sessionIdOrExternalId, io, part, requestOptions) {
|
|
652
|
+
// Generated once per logical append, outside zodfetch, so its internal
|
|
653
|
+
// retries reuse the same part id and the server-side dedupe collapses a
|
|
654
|
+
// retried POST whose first attempt actually committed. Full-length nanoid
|
|
655
|
+
// (~126 bits) to match the browser transport's randomUUID entropy.
|
|
656
|
+
const partId = nanoid();
|
|
651
657
|
return zodfetch(AppendToStreamResponseBody, `${this.baseUrl}/realtime/v1/sessions/${encodeURIComponent(sessionIdOrExternalId)}/${io}/append`, {
|
|
652
658
|
method: "POST",
|
|
653
|
-
headers: this.#getHeaders(false),
|
|
659
|
+
headers: { ...this.#getHeaders(false), "X-Part-Id": partId },
|
|
654
660
|
body: part,
|
|
655
661
|
}, mergeRequestOptions(this.defaultRequestOptions, requestOptions));
|
|
656
662
|
}
|