assistant-stream
Version:
Streaming utilities for AI assistants
43 lines • 2.18 kB
TypeScript
import type { ToolCallArgsReader, ToolCallReader, ToolCallResponseReader } from "./tool-types.js";
import type { DeepPartial, TypeAtPath, TypePath } from "./type-path-utils.js";
import type { ToolResponse } from "./ToolResponse.js";
import type { AsyncIterableStream, ReadonlyJSONObject, ReadonlyJSONValue } from "../../utils.js";
export declare class ToolCallArgsReaderImpl<T extends ReadonlyJSONObject> implements ToolCallArgsReader<T> {
private argTextDeltas;
private handles;
private accumulatedText;
private parser;
private args;
private finished;
private failure;
constructor(argTextDeltas: ReadableStream<string>);
private processStream;
private settleHandle;
private parseCurrentArgs;
private updateHandles;
private activateHandle;
get<PathT extends TypePath<T>>(...fieldPath: PathT): Promise<TypeAtPath<T, PathT>>;
streamValues<PathT extends TypePath<T>>(...fieldPath: PathT): AsyncIterableStream<DeepPartial<TypeAtPath<T, PathT>>>;
streamText<PathT extends TypePath<T>>(...fieldPath: PathT): TypeAtPath<T, PathT> extends string & (infer U) ? AsyncIterableStream<U> : never;
forEach<PathT extends TypePath<T>>(...fieldPath: PathT): NonNullable<TypeAtPath<T, PathT>> extends Array<infer U> ? AsyncIterableStream<U> : never;
}
export declare class ToolCallResponseReaderImpl<TResult extends ReadonlyJSONValue> implements ToolCallResponseReader<TResult> {
private readonly promise;
constructor(promise: Promise<ToolResponse<TResult>>);
get(): Promise<ToolResponse<TResult>>;
}
export declare class ToolCallReaderImpl<TArgs extends ReadonlyJSONObject, TResult extends ReadonlyJSONValue> implements ToolCallReader<TArgs, TResult> {
readonly args: ToolCallArgsReaderImpl<TArgs>;
readonly response: ToolCallResponseReaderImpl<TResult>;
private readonly writable;
private readonly resolve;
argsText: string;
constructor();
appendArgsTextDelta(text: string): Promise<void>;
finishArgsText(): Promise<void>;
setResponse(value: ToolResponse<TResult>): void;
result: {
get: () => Promise<TResult>;
};
}
//# sourceMappingURL=ToolCallReader.d.ts.map