UNPKG

@hotmeshio/hotmesh

Version:

Permanent-Memory Workflows & AI Agents

61 lines (60 loc) 2.97 kB
import { ILogger } from '../../../logger'; import { StreamService } from '../../index'; import { PublishMessageConfig, StreamConfig, StreamMessage, StreamStats } from '../../../../types/stream'; import { KeyStoreParams, StringAnyType } from '../../../../types'; import { NatsJetStreamType, NatsJetStreamManager as NatsJetStreamManagerType, NatsPubAckType, NatsClientType } from '../../../../types/nats'; import { KeyType } from '../../../../modules/key'; import { ProviderClient, ProviderTransaction } from '../../../../types/provider'; declare class NatsStreamService extends StreamService<NatsClientType, NatsPubAckType> { jetstream: NatsJetStreamType; jsm: NatsJetStreamManagerType; constructor(streamClient: NatsClientType, storeClient: ProviderClient, 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[] | ProviderTransaction>; consumeMessages(streamName: string, groupName: string, consumerName: string, options?: { batchSize?: number; blockTimeout?: number; autoAck?: boolean; }): Promise<StreamMessage[]>; ackAndDelete(streamName: string, groupName: string, messageIds: string[]): Promise<number>; acknowledgeMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number>; deleteMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number>; retryMessages(streamName: string, groupName: string, options?: { consumerName?: string; minIdleTime?: number; messageIds?: string[]; delay?: number; maxRetries?: number; limit?: number; }): Promise<StreamMessage[]>; getStreamStats(streamName: string): Promise<StreamStats>; getStreamDepth(streamName: string): 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 { NatsStreamService };