인터페이스: RunDriverOptions
정의 위치: packages/ai/src/stream-to-response.ts:803
재개 헬퍼가 실행 로그를 제공하는 부수 효과로 실행을 인계받는 데 필요한 모든 항목입니다.
claim과 pipe는 가져오는 것이 아니라 주입됩니다. 인계에 필요한 두 메커니즘
(withRunClaim 및 pipeToRunLog)은 @tanstack/ai-sandbox에 있으며,
@tanstack/ai는 해당 패키지에 의존해서는 안 됩니다. 이러한 계층 역전은 바로
LockStore를 코어로 옮겨 방지하려던 것이며, 일반 채팅 실행을 제공하기 위해 코어가
샌드박스 패키지에 의존하게 만듭니다. 이를 주입하면 코어에는 인계의 형태만 유지되고
(실행 ID를 파싱하고, 레코드를 읽고, 종료 상태면 건너뛰고, 클레임하고, 구동),
백그라운드 워커가 구동하는 실행이 자체 쌍을 제공할 수 있습니다.
@tanstack/ai-sandbox의 sandboxRunDriver가 두 항목을 모두 채웁니다.
속성
claim
claim: <T>(input, fn) => Promise<T>;
정의 위치: packages/ai/src/stream-to-response.ts:815
실행을 독점적으로 소유한 상태에서 fn을 실행하거나, 거부되면 거부합니다.
타입 매개변수
T
T
매개변수
input
locks
LockStore
runId
string
runs
fn
(claim) => Promise<T>
반환값
Promise<T>
drive
drive: (input) => AsyncIterable<AGUIEvent>;
정의 위치: packages/ai/src/stream-to-response.ts:809
실행의 남은 이벤트를 생성합니다. 클레임을 보유한 후에만 호출됩니다.
매개변수
input
runId
string
signal
AbortSignal
threadId
string
반환값
AsyncIterable<AGUIEvent>
locks
locks: LockStore;
정의 위치: packages/ai/src/stream-to-response.ts:807
logger?
optional logger?: InternalLogger;
정의 위치: packages/ai/src/stream-to-response.ts:830
pipe
pipe: (stream, input) => Promise<unknown>;
정의 위치: packages/ai/src/stream-to-response.ts:824
구동된 스트림을 실행의 생성자 측 내구성 로그에 영속화합니다.
매개변수
stream
AsyncIterable<AGUIEvent>
input
runId
string
signal
AbortSignal
threadId
string
반환값
Promise<unknown>
request
request: Request;
정의 위치: packages/ai/src/stream-to-response.ts:805
연결 요청입니다. 실행 ID는 resolveResumeRunId로 읽습니다.
runs
runs: RunStore;
정의 위치: packages/ai/src/stream-to-response.ts:806
waitUntil?
optional waitUntil?: (promise) => void;
정의 위치: packages/ai/src/stream-to-response.ts:829
백그라운드 구동을 위한 플랫폼 keep-alive입니다(예: ctx.waitUntil).
매개변수
promise
Promise<unknown>
반환값
void