@tanstack/ai
Version:
Core TanStack AI library - Open source AI SDK
44 lines (43 loc) • 1.39 kB
TypeScript
import { ChunkStrategy } from './types.js';
/**
* Immediate Strategy - emit on every chunk (default behavior)
*/
export declare class ImmediateStrategy implements ChunkStrategy {
shouldEmit(_chunk: string, _accumulated: string): boolean;
}
/**
* Punctuation Strategy - emit when chunk contains punctuation
* Useful for natural text flow in UI
*/
export declare class PunctuationStrategy implements ChunkStrategy {
private punctuation;
shouldEmit(chunk: string, _accumulated: string): boolean;
}
/**
* Batch Strategy - emit every N chunks
* Useful for reducing UI update frequency
*/
export declare class BatchStrategy implements ChunkStrategy {
private batchSize;
private chunkCount;
constructor(batchSize?: number);
shouldEmit(_chunk: string, _accumulated: string): boolean;
reset(): void;
}
/**
* Word Boundary Strategy - emit at word boundaries
* Prevents cutting words in half
*/
export declare class WordBoundaryStrategy implements ChunkStrategy {
shouldEmit(chunk: string, _accumulated: string): boolean;
}
/**
* Composite Strategy - combine multiple strategies (OR logic)
* Emits if ANY strategy says to emit
*/
export declare class CompositeStrategy implements ChunkStrategy {
private strategies;
constructor(strategies: Array<ChunkStrategy>);
shouldEmit(chunk: string, accumulated: string): boolean;
reset(): void;
}