본문으로 건너뛰기

인터페이스: RunDriverOptions

정의 위치: packages/ai/src/stream-to-response.ts:803

재개 헬퍼가 실행 로그를 제공하는 부수 효과로 실행을 인계받는 데 필요한 모든 항목입니다.

claimpipe는 가져오는 것이 아니라 주입됩니다. 인계에 필요한 두 메커니즘 (withRunClaimpipeToRunLog)은 @tanstack/ai-sandbox에 있으며, @tanstack/ai는 해당 패키지에 의존해서는 안 됩니다. 이러한 계층 역전은 바로 LockStore를 코어로 옮겨 방지하려던 것이며, 일반 채팅 실행을 제공하기 위해 코어가 샌드박스 패키지에 의존하게 만듭니다. 이를 주입하면 코어에는 인계의 형태만 유지되고 (실행 ID를 파싱하고, 레코드를 읽고, 종료 상태면 건너뛰고, 클레임하고, 구동), 백그라운드 워커가 구동하는 실행이 자체 쌍을 제공할 수 있습니다. @tanstack/ai-sandboxsandboxRunDriver가 두 항목을 모두 채웁니다.

속성

claim

claim: <T>(input, fn) => Promise<T>;

정의 위치: packages/ai/src/stream-to-response.ts:815

실행을 독점적으로 소유한 상태에서 fn을 실행하거나, 거부되면 거부합니다.

타입 매개변수

T

T

매개변수

input
locks

LockStore

runId

string

runs

RunStore

fn

(claim) => Promise&lt;T>

반환값

Promise&lt;T>


drive

drive: (input) => AsyncIterable<AGUIEvent>;

정의 위치: packages/ai/src/stream-to-response.ts:809

실행의 남은 이벤트를 생성합니다. 클레임을 보유한 후에만 호출됩니다.

매개변수

input
runId

string

signal

AbortSignal

threadId

string

반환값

AsyncIterable&lt;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&lt;AGUIEvent>

input
runId

string

signal

AbortSignal

threadId

string

반환값

Promise&lt;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&lt;unknown>

반환값

void