UNPKG

@hotmeshio/hotmesh

Version:

Permanent-Memory Workflows & AI Agents

62 lines (61 loc) 3.18 kB
import { ILogger } from '../../../logger'; import { StreamService } from '../../index'; import { RedisRedisClientType, RedisRedisMultiType } from '../../../../types/redis'; import { PublishMessageConfig, StreamConfig, StreamMessage, StreamStats } from '../../../../types/stream'; import { KeyStoreParams, StringAnyType } from '../../../../types'; import { KeyType } from '../../../../modules/key'; import { ProviderTransaction } from '../../../../types/provider'; declare class RedisStreamService extends StreamService<RedisRedisClientType, RedisRedisMultiType> { constructor(streamClient: RedisRedisClientType, storeClient: RedisRedisClientType, config?: StreamConfig); init(namespace: string, appId: string, logger: ILogger): Promise<void>; mintKey(type: KeyType, params: KeyStoreParams): string; transact(): ProviderTransaction; createStream(streamName: string): Promise<boolean>; deleteStream(streamName: string): Promise<boolean>; createConsumerGroup(streamName: string, groupName: string): Promise<boolean>; deleteConsumerGroup(streamName: string, groupName: string): Promise<boolean>; publishMessages(streamName: string, messages: string[], options?: PublishMessageConfig): Promise<string[]>; consumeMessages(streamName: string, groupName: string, consumerName: string, options?: { batchSize?: number; blockTimeout?: number; }): Promise<StreamMessage[]>; ackAndDelete(stream: string, group: string, ids: string[]): Promise<number>; acknowledgeMessages(stream: string, group: string, ids: string[], options?: StringAnyType): Promise<number | RedisRedisMultiType>; deleteMessages(stream: string, group: string, ids: string[], options?: StringAnyType): Promise<number | RedisRedisMultiType>; getPendingMessages(stream: string, group: string, count?: number, consumer?: string): Promise<[string, string, number, [string, number][]][] | [string, string, number, number]>; retryMessages(streamName: string, groupName: string, options?: { consumerName?: string; minIdleTime?: number; messageIds?: string[]; delay?: number; maxRetries?: number; limit?: number; }): Promise<StreamMessage[]>; claimMessage(stream: string, group: string, consumer: string, minIdleTime: number, id: string, ...args: string[]): Promise<StreamMessage>; getStreamStats(streamName: string): Promise<StreamStats>; getStreamDepth(streamName: string, options?: { multi: RedisRedisMultiType; }): Promise<number>; getStreamDepths(streamNames: { stream: string; }[]): Promise<{ stream: string; depth: number; }[]>; trimStream(streamName: string, options: { maxLen?: number; maxAge?: number; exactLimit?: boolean; }): Promise<number>; getProviderSpecificFeatures(): { supportsBatching: boolean; supportsDeadLetterQueue: boolean; supportsOrdering: boolean; supportsTrimming: boolean; supportsRetry: boolean; supportsNotifications: boolean; maxMessageSize: number; maxBatchSize: number; }; } export { RedisStreamService };