UNPKG

@tanstack/ai

Version:

Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.

55 lines (54 loc) 1.11 kB
class ImmediateStrategy { shouldEmit(_chunk, _accumulated) { return true; } } class PunctuationStrategy { punctuation = /[.,!?;:\n]/; shouldEmit(chunk, _accumulated) { return this.punctuation.test(chunk); } } class BatchStrategy { constructor(batchSize = 5) { this.batchSize = batchSize; } batchSize; chunkCount = 0; shouldEmit(_chunk, _accumulated) { this.chunkCount++; if (this.chunkCount >= this.batchSize) { this.chunkCount = 0; return true; } return false; } reset() { this.chunkCount = 0; } } class WordBoundaryStrategy { shouldEmit(chunk, _accumulated) { return /\s$/.test(chunk); } } class CompositeStrategy { constructor(strategies) { this.strategies = strategies; } strategies; shouldEmit(chunk, accumulated) { return this.strategies.some((s) => s.shouldEmit(chunk, accumulated)); } reset() { this.strategies.forEach((s) => s.reset?.()); } } export { BatchStrategy, CompositeStrategy, ImmediateStrategy, PunctuationStrategy, WordBoundaryStrategy }; //# sourceMappingURL=strategies.js.map