@trigger.dev/react-hooks 4.5.13 → 4.5.14
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/hooks/useApiClient.d.ts +5 -0
- package/dist/commonjs/hooks/useApiClient.js +14 -1
- package/dist/commonjs/hooks/useApiClient.js.map +1 -1
- package/dist/commonjs/hooks/useRealtime.d.ts +43 -1
- package/dist/commonjs/hooks/useRealtime.js +65 -22
- package/dist/commonjs/hooks/useRealtime.js.map +1 -1
- package/dist/commonjs/hooks/useSessionStream.d.ts +131 -0
- package/dist/commonjs/hooks/useSessionStream.js +236 -0
- package/dist/commonjs/hooks/useSessionStream.js.map +1 -0
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/utils/useStableRequestCallback.d.ts +5 -0
- package/dist/commonjs/utils/useStableRequestCallback.js +17 -0
- package/dist/commonjs/utils/useStableRequestCallback.js.map +1 -0
- package/dist/esm/hooks/useApiClient.d.ts +5 -0
- package/dist/esm/hooks/useApiClient.js +15 -2
- package/dist/esm/hooks/useApiClient.js.map +1 -1
- package/dist/esm/hooks/useRealtime.d.ts +43 -1
- package/dist/esm/hooks/useRealtime.js +60 -17
- package/dist/esm/hooks/useRealtime.js.map +1 -1
- package/dist/esm/hooks/useSessionStream.d.ts +131 -0
- package/dist/esm/hooks/useSessionStream.js +233 -0
- package/dist/esm/hooks/useSessionStream.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/useStableRequestCallback.d.ts +5 -0
- package/dist/esm/utils/useStableRequestCallback.js +14 -0
- package/dist/esm/utils/useStableRequestCallback.js.map +1 -0
- package/package.json +2 -2
|
@@ -12,6 +12,11 @@ export type UseApiClientOptions = {
|
|
|
12
12
|
previewBranch?: string;
|
|
13
13
|
/** Optional additional request configuration */
|
|
14
14
|
requestOptions?: ApiRequestOptions;
|
|
15
|
+
/**
|
|
16
|
+
* Optional callback that mints a fresh access token. Used to reconnect a
|
|
17
|
+
* realtime stream that the server rejected because its token expired.
|
|
18
|
+
*/
|
|
19
|
+
refreshAccessToken?: () => Promise<string>;
|
|
15
20
|
/**
|
|
16
21
|
* Enable or disable the API client instance.
|
|
17
22
|
*
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.useApiClient = useApiClient;
|
|
5
5
|
const v3_1 = require("@trigger.dev/core/v3");
|
|
6
|
+
const react_1 = require("react");
|
|
6
7
|
const contexts_js_1 = require("../contexts.js");
|
|
7
8
|
/**
|
|
8
9
|
* Hook to create an API client instance using authentication context or provided options.
|
|
@@ -29,6 +30,18 @@ function useApiClient(options) {
|
|
|
29
30
|
const baseUrl = options?.baseURL ?? auth?.baseURL ?? "https://api.trigger.dev";
|
|
30
31
|
const accessToken = options?.accessToken ?? auth?.accessToken;
|
|
31
32
|
const previewBranch = options?.previewBranch ?? auth?.previewBranch;
|
|
33
|
+
const refreshAccessToken = options?.refreshAccessToken ?? auth?.refreshAccessToken;
|
|
34
|
+
const refreshAccessTokenRef = (0, react_1.useRef)(refreshAccessToken);
|
|
35
|
+
(0, react_1.useEffect)(() => {
|
|
36
|
+
refreshAccessTokenRef.current = refreshAccessToken;
|
|
37
|
+
}, [refreshAccessToken]);
|
|
38
|
+
const stableRefreshAccessToken = (0, react_1.useCallback)(async () => {
|
|
39
|
+
const refresh = refreshAccessTokenRef.current;
|
|
40
|
+
if (!refresh) {
|
|
41
|
+
throw new Error("Missing refreshAccessToken in TriggerAuthContext or useApiClient options");
|
|
42
|
+
}
|
|
43
|
+
return (0, v3_1.refreshAccessTokenOnce)(refresh);
|
|
44
|
+
}, []);
|
|
32
45
|
if (!accessToken) {
|
|
33
46
|
if (options?.enabled === false) {
|
|
34
47
|
return undefined;
|
|
@@ -39,6 +52,6 @@ function useApiClient(options) {
|
|
|
39
52
|
...auth?.requestOptions,
|
|
40
53
|
...options?.requestOptions,
|
|
41
54
|
};
|
|
42
|
-
return new v3_1.ApiClient(baseUrl, accessToken, previewBranch, requestOptions);
|
|
55
|
+
return new v3_1.ApiClient(baseUrl, accessToken, previewBranch, requestOptions, undefined, refreshAccessToken ? stableRefreshAccessToken : undefined);
|
|
43
56
|
}
|
|
44
57
|
//# sourceMappingURL=useApiClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApiClient.js","sourceRoot":"","sources":["../../../src/hooks/useApiClient.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AAGb,
|
|
1
|
+
{"version":3,"file":"useApiClient.js","sourceRoot":"","sources":["../../../src/hooks/useApiClient.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AAGb,6CAAyE;AACzE,iCAAuD;AACvD,gDAA+D;AA4B/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,sBAA6B,OAA6B;IACxD,MAAM,IAAI,GAAG,IAAA,2CAA6B,GAAE,CAAC;IAE7C,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,IAAI,yBAAyB,CAAC;IAC/E,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,EAAE,WAAW,CAAC;IAC9D,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,aAAa,CAAC;IACpE,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,IAAI,EAAE,kBAAkB,CAAC;IAEnF,MAAM,qBAAqB,GAAG,IAAA,cAAM,EAAC,kBAAkB,CAAC,CAAC;IACzD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,qBAAqB,CAAC,OAAO,GAAG,kBAAkB,CAAC;IACrD,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzB,MAAM,wBAAwB,GAAG,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QACtD,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC;QAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,IAAA,2BAAsB,EAAC,OAAO,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,OAAO,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,cAAc,GAAsB;QACxC,GAAG,IAAI,EAAE,cAAc;QACvB,GAAG,OAAO,EAAE,cAAc;KAC3B,CAAC;IAEF,OAAO,IAAI,cAAS,CAClB,OAAO,EACP,WAAW,EACX,aAAa,EACb,cAAc,EACd,SAAS,EACT,kBAAkB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAC1D,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AnyTask, InferStreamType, RealtimeDefinedStream, RealtimeRun, RealtimeRunSkipColumns } from "@trigger.dev/core/v3";
|
|
1
|
+
import type { AnyTask, InferStreamType, RealtimeDefinedStream, RealtimeRun, RealtimeRunSkipColumns, SSEStreamPart } from "@trigger.dev/core/v3";
|
|
2
2
|
import type { UseApiClientOptions } from "./useApiClient.js";
|
|
3
3
|
export type UseRealtimeRunOptions = UseApiClientOptions & {
|
|
4
4
|
id?: string;
|
|
@@ -154,6 +154,12 @@ export declare function useRealtimeRunsWithTag<TTask extends AnyTask>(tag: strin
|
|
|
154
154
|
export declare function useRealtimeBatch<TTask extends AnyTask>(batchId: string, options?: UseRealtimeRunOptions): UseRealtimeRunsInstance<TTask>;
|
|
155
155
|
export type UseRealtimeStreamInstance<TPart> = {
|
|
156
156
|
parts: Array<TPart>;
|
|
157
|
+
/**
|
|
158
|
+
* The event id of the last part seen. Persist this (e.g. to localStorage) and
|
|
159
|
+
* pass it back as the `lastEventId` option to resume the stream where you left
|
|
160
|
+
* off after a page reload. Updated on each throttled flush.
|
|
161
|
+
*/
|
|
162
|
+
lastEventId: string | undefined;
|
|
157
163
|
error: Error | undefined;
|
|
158
164
|
/**
|
|
159
165
|
* Abort the current request immediately, keep the generated tokens if any.
|
|
@@ -182,10 +188,46 @@ export type UseRealtimeStreamOptions<TPart> = UseApiClientOptions & {
|
|
|
182
188
|
* @default 0
|
|
183
189
|
*/
|
|
184
190
|
startIndex?: number;
|
|
191
|
+
/**
|
|
192
|
+
* The event id to resume from, as returned in `lastEventId`. Persist it across
|
|
193
|
+
* a page reload and pass it back to continue where the previous session left
|
|
194
|
+
* off, with no replay and no gap. Takes precedence over `startIndex` and
|
|
195
|
+
* `from`.
|
|
196
|
+
*/
|
|
197
|
+
lastEventId?: string | number;
|
|
198
|
+
/**
|
|
199
|
+
* Where a fresh subscription starts reading.
|
|
200
|
+
*
|
|
201
|
+
* - `"beginning"` (default): replay the full stream history, then live-tail.
|
|
202
|
+
* - `"latest"`: start at the current tail (the latest record, then live
|
|
203
|
+
* updates) instead of replaying history, for a last-value / live view. On
|
|
204
|
+
* reconnect or remount the subscription resumes from the last record it
|
|
205
|
+
* saw, so no frames are missed and none are replayed.
|
|
206
|
+
*
|
|
207
|
+
* Ignored when `startIndex` is set (which pins an absolute start position).
|
|
208
|
+
*/
|
|
209
|
+
from?: "beginning" | "latest";
|
|
210
|
+
/**
|
|
211
|
+
* Cap the number of parts kept in the accumulated `parts` array. When more
|
|
212
|
+
* than `maxParts` parts have been received, only the most recent `maxParts`
|
|
213
|
+
* are retained (older parts are dropped). Use `maxParts: 1` together with
|
|
214
|
+
* `from: "latest"` for a pure last-value view with bounded memory.
|
|
215
|
+
*
|
|
216
|
+
* When unset, `parts` accumulates every record for the lifetime of the
|
|
217
|
+
* subscription (the default).
|
|
218
|
+
*/
|
|
219
|
+
maxParts?: number;
|
|
185
220
|
/**
|
|
186
221
|
* Callback this is called when new data is received.
|
|
187
222
|
*/
|
|
188
223
|
onData?: (data: TPart) => void;
|
|
224
|
+
/**
|
|
225
|
+
* Callback invoked once per throttled flush with the batch of parts in that
|
|
226
|
+
* flush, each carrying its event `id`, `chunk` and `timestamp`. Use it to
|
|
227
|
+
* track the resume cursor without re-rendering on every record. Fires at the
|
|
228
|
+
* `throttleInMs` cadence, not per record.
|
|
229
|
+
*/
|
|
230
|
+
onParts?: (parts: Array<SSEStreamPart<TPart>>) => void;
|
|
189
231
|
};
|
|
190
232
|
export declare function useRealtimeStream<TDefinedStream extends RealtimeDefinedStream<any>>(stream: TDefinedStream, runId: string, options?: UseRealtimeStreamOptions<InferStreamType<TDefinedStream>>): UseRealtimeStreamInstance<InferStreamType<TDefinedStream>>;
|
|
191
233
|
/**
|
|
@@ -10,14 +10,7 @@ const react_1 = require("react");
|
|
|
10
10
|
const trigger_swr_js_1 = require("../utils/trigger-swr.js");
|
|
11
11
|
const useApiClient_js_1 = require("./useApiClient.js");
|
|
12
12
|
const throttle_js_1 = require("../utils/throttle.js");
|
|
13
|
-
|
|
14
|
-
function useStableRequestCallback(callback) {
|
|
15
|
-
const callbackRef = (0, react_1.useRef)(callback);
|
|
16
|
-
(0, react_1.useEffect)(() => {
|
|
17
|
-
callbackRef.current = callback;
|
|
18
|
-
}, [callback]);
|
|
19
|
-
return (0, react_1.useCallback)(() => callbackRef.current(), []);
|
|
20
|
-
}
|
|
13
|
+
const useStableRequestCallback_js_1 = require("../utils/useStableRequestCallback.js");
|
|
21
14
|
/**
|
|
22
15
|
* Hook to subscribe to realtime updates of a task run.
|
|
23
16
|
*
|
|
@@ -77,7 +70,7 @@ function useRealtimeRun(runId, options) {
|
|
|
77
70
|
setIsComplete(true);
|
|
78
71
|
}
|
|
79
72
|
}, [runId, apiClient, mutateRun, setError, setIsComplete, skipColumns, stopOnCompletion]);
|
|
80
|
-
const requestSubscription = useStableRequestCallback(triggerRequest);
|
|
73
|
+
const requestSubscription = (0, useStableRequestCallback_js_1.useStableRequestCallback)(triggerRequest);
|
|
81
74
|
const hasCalledOnCompleteRef = (0, react_1.useRef)(false);
|
|
82
75
|
// Effect to handle onComplete callback
|
|
83
76
|
// Only call onComplete when the run has actually finished (has finishedAt),
|
|
@@ -190,7 +183,7 @@ function useRealtimeRunWithStreams(runId, options) {
|
|
|
190
183
|
stopOnCompletion,
|
|
191
184
|
throttleInMs,
|
|
192
185
|
]);
|
|
193
|
-
const requestSubscription = useStableRequestCallback(triggerRequest);
|
|
186
|
+
const requestSubscription = (0, useStableRequestCallback_js_1.useStableRequestCallback)(triggerRequest);
|
|
194
187
|
const hasCalledOnCompleteRef = (0, react_1.useRef)(false);
|
|
195
188
|
// Effect to handle onComplete callback
|
|
196
189
|
// Only call onComplete when the run has actually finished (has finishedAt),
|
|
@@ -286,7 +279,7 @@ function useRealtimeRunsWithTag(tag, options) {
|
|
|
286
279
|
}
|
|
287
280
|
}
|
|
288
281
|
}, [tag, createdAt, skipColumns, apiClient, mutateRuns, setError]);
|
|
289
|
-
const requestSubscription = useStableRequestCallback(triggerRequest);
|
|
282
|
+
const requestSubscription = (0, useStableRequestCallback_js_1.useStableRequestCallback)(triggerRequest);
|
|
290
283
|
(0, react_1.useEffect)(() => {
|
|
291
284
|
if (typeof options?.enabled === "boolean" && !options.enabled) {
|
|
292
285
|
return;
|
|
@@ -357,7 +350,7 @@ function useRealtimeBatch(batchId, options) {
|
|
|
357
350
|
}
|
|
358
351
|
}
|
|
359
352
|
}, [batchId, mutateRuns, runsRef, abortControllerRef, apiClient, setError]);
|
|
360
|
-
const requestSubscription = useStableRequestCallback(triggerRequest);
|
|
353
|
+
const requestSubscription = (0, useStableRequestCallback_js_1.useStableRequestCallback)(triggerRequest);
|
|
361
354
|
(0, react_1.useEffect)(() => {
|
|
362
355
|
if (typeof options?.enabled === "boolean" && !options.enabled) {
|
|
363
356
|
return;
|
|
@@ -403,6 +396,16 @@ function useRealtimeStreamImplementation(runId, streamKey, options) {
|
|
|
403
396
|
(0, react_1.useEffect)(() => {
|
|
404
397
|
partsRef.current = parts || [];
|
|
405
398
|
}, [parts]);
|
|
399
|
+
const { data: persistedLastEventId, mutate: mutateLastEventId } = (0, trigger_swr_js_1.useSWR)([idKey, runId, streamKey, "lastEventId"], null);
|
|
400
|
+
const lastEventIdRef = (0, react_1.useRef)(persistedLastEventId);
|
|
401
|
+
const streamIdentityRef = (0, react_1.useRef)(`${idKey}:${runId}:${streamKey}`);
|
|
402
|
+
(0, react_1.useEffect)(() => {
|
|
403
|
+
const identity = `${idKey}:${runId}:${streamKey}`;
|
|
404
|
+
if (streamIdentityRef.current !== identity) {
|
|
405
|
+
streamIdentityRef.current = identity;
|
|
406
|
+
lastEventIdRef.current = persistedLastEventId;
|
|
407
|
+
}
|
|
408
|
+
}, [idKey, runId, streamKey, persistedLastEventId]);
|
|
406
409
|
// Add state to track when the subscription is complete
|
|
407
410
|
const { data: _isComplete = false, mutate: setIsComplete } = (0, trigger_swr_js_1.useSWR)([idKey, runId, streamKey, "complete"], null);
|
|
408
411
|
const { data: error = undefined, mutate: setError } = (0, trigger_swr_js_1.useSWR)([idKey, runId, streamKey, "error"], null);
|
|
@@ -420,10 +423,27 @@ function useRealtimeStreamImplementation(runId, streamKey, options) {
|
|
|
420
423
|
onDataCallback(data);
|
|
421
424
|
}
|
|
422
425
|
}, [onDataCallback]);
|
|
426
|
+
const onPartsCallback = options?.onParts;
|
|
427
|
+
const onParts = (0, react_1.useCallback)((partsBatch) => {
|
|
428
|
+
if (onPartsCallback) {
|
|
429
|
+
onPartsCallback(partsBatch);
|
|
430
|
+
}
|
|
431
|
+
}, [onPartsCallback]);
|
|
423
432
|
const apiClient = (0, useApiClient_js_1.useApiClient)(options);
|
|
424
433
|
const timeoutInSeconds = options?.timeoutInSeconds;
|
|
425
434
|
const startIndex = options?.startIndex;
|
|
435
|
+
const startEventId = options?.lastEventId;
|
|
426
436
|
const throttleInMs = options?.throttleInMs;
|
|
437
|
+
const from = options?.from;
|
|
438
|
+
const maxParts = options?.maxParts;
|
|
439
|
+
(0, react_1.useEffect)(() => {
|
|
440
|
+
if (maxParts != null && maxParts >= 0) {
|
|
441
|
+
const current = partsRef.current;
|
|
442
|
+
if (current.length > maxParts) {
|
|
443
|
+
mutateParts(current.slice(current.length - maxParts));
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}, [maxParts, mutateParts]);
|
|
427
447
|
const triggerRequest = (0, react_1.useCallback)(async () => {
|
|
428
448
|
try {
|
|
429
449
|
if (!runId || !apiClient) {
|
|
@@ -431,7 +451,7 @@ function useRealtimeStreamImplementation(runId, streamKey, options) {
|
|
|
431
451
|
}
|
|
432
452
|
const abortController = new AbortController();
|
|
433
453
|
abortControllerRef.current = abortController;
|
|
434
|
-
await processRealtimeStream(runId, streamKey, apiClient, mutateParts, partsRef, setError, onData, abortControllerRef, timeoutInSeconds, startIndex, throttleInMs ?? 16);
|
|
454
|
+
await processRealtimeStream(runId, streamKey, apiClient, mutateParts, partsRef, setError, onData, abortControllerRef, timeoutInSeconds, startIndex, throttleInMs ?? 16, from, maxParts, lastEventIdRef, (id) => mutateLastEventId(id, false), startEventId !== undefined ? String(startEventId) : undefined, onParts);
|
|
435
455
|
}
|
|
436
456
|
catch (err) {
|
|
437
457
|
// Ignore abort errors as they are expected.
|
|
@@ -456,11 +476,16 @@ function useRealtimeStreamImplementation(runId, streamKey, options) {
|
|
|
456
476
|
setError,
|
|
457
477
|
setIsComplete,
|
|
458
478
|
onData,
|
|
479
|
+
onParts,
|
|
459
480
|
timeoutInSeconds,
|
|
460
481
|
startIndex,
|
|
482
|
+
startEventId,
|
|
461
483
|
throttleInMs,
|
|
484
|
+
from,
|
|
485
|
+
maxParts,
|
|
486
|
+
mutateLastEventId,
|
|
462
487
|
]);
|
|
463
|
-
const requestSubscription = useStableRequestCallback(triggerRequest);
|
|
488
|
+
const requestSubscription = (0, useStableRequestCallback_js_1.useStableRequestCallback)(triggerRequest);
|
|
464
489
|
(0, react_1.useEffect)(() => {
|
|
465
490
|
if (typeof options?.enabled === "boolean" && !options.enabled) {
|
|
466
491
|
return;
|
|
@@ -473,7 +498,7 @@ function useRealtimeStreamImplementation(runId, streamKey, options) {
|
|
|
473
498
|
stop();
|
|
474
499
|
};
|
|
475
500
|
}, [runId, stop, options?.enabled, requestSubscription]);
|
|
476
|
-
return { parts: parts ?? initialPartsFallback, error, stop };
|
|
501
|
+
return { parts: parts ?? initialPartsFallback, lastEventId: persistedLastEventId, error, stop };
|
|
477
502
|
}
|
|
478
503
|
async function processRealtimeBatch(batchId, apiClient, mutateRunsData, existingRunsRef, onError, abortControllerRef) {
|
|
479
504
|
const subscription = apiClient.subscribeToBatch(batchId, {
|
|
@@ -567,21 +592,39 @@ async function processRealtimeRun(runId, filters, apiClient, mutateRunData, onEr
|
|
|
567
592
|
mutateRunData(part);
|
|
568
593
|
}
|
|
569
594
|
}
|
|
570
|
-
async function processRealtimeStream(runId, streamKey, apiClient, mutatePartsData, existingPartsRef, onError, onData, abortControllerRef, timeoutInSeconds, startIndex, throttleInMs) {
|
|
595
|
+
async function processRealtimeStream(runId, streamKey, apiClient, mutatePartsData, existingPartsRef, onError, onData, abortControllerRef, timeoutInSeconds, startIndex, throttleInMs, from, maxParts, lastEventIdRef, persistLastEventId, userLastEventId, onParts) {
|
|
571
596
|
try {
|
|
597
|
+
const resumeFromEventId = lastEventIdRef?.current ??
|
|
598
|
+
userLastEventId ??
|
|
599
|
+
(startIndex ? (startIndex - 1).toString() : undefined);
|
|
600
|
+
const partsQueue = (0, throttle_js_1.createThrottledQueue)(async (batch) => {
|
|
601
|
+
const combined = [...existingPartsRef.current, ...batch.map((part) => part.chunk)];
|
|
602
|
+
const bounded = maxParts != null && maxParts >= 0 && combined.length > maxParts
|
|
603
|
+
? combined.slice(combined.length - maxParts)
|
|
604
|
+
: combined;
|
|
605
|
+
existingPartsRef.current = bounded;
|
|
606
|
+
mutatePartsData(bounded);
|
|
607
|
+
if (persistLastEventId && lastEventIdRef?.current) {
|
|
608
|
+
persistLastEventId(lastEventIdRef.current);
|
|
609
|
+
}
|
|
610
|
+
onParts?.(batch);
|
|
611
|
+
}, throttleInMs);
|
|
572
612
|
const stream = await apiClient.fetchStream(runId, streamKey, {
|
|
573
613
|
signal: abortControllerRef.current?.signal,
|
|
574
614
|
timeoutInSeconds,
|
|
575
|
-
lastEventId:
|
|
615
|
+
lastEventId: resumeFromEventId,
|
|
616
|
+
from: startIndex !== undefined ? undefined : from,
|
|
617
|
+
onPart: (part) => {
|
|
618
|
+
if (part.id && lastEventIdRef) {
|
|
619
|
+
lastEventIdRef.current = part.id;
|
|
620
|
+
}
|
|
621
|
+
partsQueue.add(part);
|
|
622
|
+
},
|
|
576
623
|
});
|
|
577
|
-
// Throttle the stream
|
|
578
|
-
const streamQueue = (0, throttle_js_1.createThrottledQueue)(async (parts) => {
|
|
579
|
-
mutatePartsData([...existingPartsRef.current, ...parts]);
|
|
580
|
-
}, throttleInMs);
|
|
581
624
|
for await (const part of stream) {
|
|
582
625
|
onData(part);
|
|
583
|
-
streamQueue.add(part);
|
|
584
626
|
}
|
|
627
|
+
await partsQueue.flush();
|
|
585
628
|
}
|
|
586
629
|
catch (err) {
|
|
587
630
|
if (err.name === "AbortError") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRealtime.js","sourceRoot":"","sources":["../../../src/hooks/useRealtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useRealtime.js","sourceRoot":"","sources":["../../../src/hooks/useRealtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { ControlEvent, SSEStreamPart } from "@trigger.dev/core/v3";
|
|
2
|
+
import type { UseApiClientOptions } from "./useApiClient.js";
|
|
3
|
+
export type UseSessionStreamInstance<TRecord> = {
|
|
4
|
+
/**
|
|
5
|
+
* The records received so far on the channel, in arrival order. Control records are
|
|
6
|
+
* never included here, they are delivered to `onControl` instead.
|
|
7
|
+
*/
|
|
8
|
+
records: Array<TRecord>;
|
|
9
|
+
/**
|
|
10
|
+
* The cursor of the last record seen. Persist this and pass it back as the `lastEventId`
|
|
11
|
+
* option to resume the channel where you left off.
|
|
12
|
+
*/
|
|
13
|
+
lastEventId: string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* The last control record seen on the channel (e.g. `turn-complete`).
|
|
16
|
+
*/
|
|
17
|
+
lastControl: ControlEvent | undefined;
|
|
18
|
+
error: Error | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Abort the current request immediately, keep the records received so far.
|
|
21
|
+
*/
|
|
22
|
+
stop: () => void;
|
|
23
|
+
};
|
|
24
|
+
export type UseSessionStreamOptions<TRecord> = UseApiClientOptions & {
|
|
25
|
+
id?: string;
|
|
26
|
+
enabled?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Which channel of the session to read.
|
|
29
|
+
*
|
|
30
|
+
* @default "out"
|
|
31
|
+
*/
|
|
32
|
+
io?: "out" | "in";
|
|
33
|
+
/**
|
|
34
|
+
* The number of milliseconds to throttle the record updates.
|
|
35
|
+
*
|
|
36
|
+
* @default 16
|
|
37
|
+
*/
|
|
38
|
+
throttleInMs?: number;
|
|
39
|
+
/**
|
|
40
|
+
* The number of seconds to wait for new data to be available,
|
|
41
|
+
* If no data arrives within the timeout, the stream will be closed.
|
|
42
|
+
*
|
|
43
|
+
* @default 60 seconds
|
|
44
|
+
*/
|
|
45
|
+
timeoutInSeconds?: number;
|
|
46
|
+
/**
|
|
47
|
+
* The cursor to resume from. If not provided, the channel is read from the beginning.
|
|
48
|
+
*/
|
|
49
|
+
lastEventId?: string | number;
|
|
50
|
+
/**
|
|
51
|
+
* Where a fresh subscription (no `lastEventId`) starts reading.
|
|
52
|
+
*
|
|
53
|
+
* - `"beginning"` (default): replay the full channel history, then live-tail.
|
|
54
|
+
* - `"latest"`: start at the current tail (the latest record, then live
|
|
55
|
+
* updates) instead of replaying history, for a last-value / live view.
|
|
56
|
+
*
|
|
57
|
+
* Ignored when `lastEventId` is set.
|
|
58
|
+
*/
|
|
59
|
+
from?: "beginning" | "latest";
|
|
60
|
+
/**
|
|
61
|
+
* Cap the number of records kept in the accumulated `records` array. When more
|
|
62
|
+
* than `maxRecords` have been received, only the most recent `maxRecords` are
|
|
63
|
+
* retained. Use `maxRecords: 1` with `from: "latest"` for a last-value view
|
|
64
|
+
* with bounded memory. When unset, `records` accumulates without bound.
|
|
65
|
+
*/
|
|
66
|
+
maxRecords?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Callback invoked once per throttled flush with the batch of records in that
|
|
69
|
+
* flush, each carrying its event `id`, `chunk` and `timestamp`. Fires at the
|
|
70
|
+
* `throttleInMs` cadence (not per record) and includes control records, so it
|
|
71
|
+
* can track the resume cursor for everything on the channel.
|
|
72
|
+
*/
|
|
73
|
+
onRecords?: (records: Array<SSEStreamPart<TRecord>>) => void;
|
|
74
|
+
/**
|
|
75
|
+
* Callback this is called when a control record is received (e.g. `turn-complete`).
|
|
76
|
+
*/
|
|
77
|
+
onControl?: (event: ControlEvent) => void;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Hook to read one channel of a Session's realtime stream.
|
|
81
|
+
*
|
|
82
|
+
* This hook subscribes to one of the session's channels (`out` by default, or `in`) and
|
|
83
|
+
* updates the `records` array as new records arrive. It is read-only: use `useSession` for
|
|
84
|
+
* two-way (read and write) communication. The subscription is automatically managed: it
|
|
85
|
+
* starts when the component mounts (or when `enabled` becomes `true`) and stops when the
|
|
86
|
+
* component unmounts or when `stop()` is called.
|
|
87
|
+
*
|
|
88
|
+
* Requires a Public Access Token with the `read:sessions:{id}` scope.
|
|
89
|
+
*
|
|
90
|
+
* @template TRecord - The type of each record on the channel
|
|
91
|
+
* @param sessionIdOrExternalId - The id or external id of the session to subscribe to
|
|
92
|
+
* @param options - Optional configuration for the subscription
|
|
93
|
+
* @returns An object containing:
|
|
94
|
+
* - `records`: An array of all the records received so far (accumulates over time)
|
|
95
|
+
* - `lastEventId`: The cursor of the last record seen, for resuming later
|
|
96
|
+
* - `lastControl`: The last control record seen
|
|
97
|
+
* - `error`: Any error that occurred during subscription
|
|
98
|
+
* - `stop`: A function to manually stop the subscription
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```tsx
|
|
102
|
+
* "use client";
|
|
103
|
+
* import { useSessionStream } from "@trigger.dev/react-hooks";
|
|
104
|
+
*
|
|
105
|
+
* function SessionViewer({ sessionId }: { sessionId: string }) {
|
|
106
|
+
* const { records, error } = useSessionStream<string>(sessionId, {
|
|
107
|
+
* accessToken: publicAccessToken,
|
|
108
|
+
* });
|
|
109
|
+
*
|
|
110
|
+
* if (error) return <div>Error: {error.message}</div>;
|
|
111
|
+
*
|
|
112
|
+
* return <div>{records.join("")}</div>;
|
|
113
|
+
* }
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```tsx
|
|
118
|
+
* // Read the input channel, resuming from a persisted cursor
|
|
119
|
+
* const { records, lastEventId, stop } = useSessionStream<MyRecord>(sessionId, {
|
|
120
|
+
* accessToken: publicAccessToken,
|
|
121
|
+
* io: "in",
|
|
122
|
+
* lastEventId: persistedCursor,
|
|
123
|
+
* onControl: (event) => {
|
|
124
|
+
* if (event.subtype === "turn-complete") {
|
|
125
|
+
* console.log("The turn is complete");
|
|
126
|
+
* }
|
|
127
|
+
* },
|
|
128
|
+
* });
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export declare function useSessionStream<TRecord = unknown>(sessionIdOrExternalId?: string, options?: UseSessionStreamOptions<TRecord>): UseSessionStreamInstance<TRecord>;
|