Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@ythub/jetstream-queue

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ythub/jetstream-queue - npm Package Compare versions

Comparing version
2.0.0
to
2.0.1
+3
-3
dist/index.js.map

@@ -6,4 +6,4 @@ {

"export abstract class PubSubEvent {\n // youthink.events.answers.updated\n static NAME: string\n\n abstract readonly $name: string\n\n get $natsEventName(): string {\n return this.$name.replace(/\\//g, '_')\n }\n\n static get $natsEventName(): string {\n return this.NAME.replace(/\\//g, '_')\n }\n\n static fromMessage<T extends PubSubEvent>(this: new () => T, message: never): T {\n const self = new this()\n Object.assign(self, message)\n\n return self\n }\n}\n",
"import type { ConnectionOptions, NatsConnection } from '@nats-io/transport-node'\n\nimport { DiscardPolicy, jetstream, type JetStreamClient, StorageType } from '@nats-io/jetstream'\n\nimport { Logger } from '@ythub/logger'\n\nimport { PubSubPrivateClient } from './PubSubPrivateClient'\nimport { PubSubStream } from './PubSubStream'\nimport { PubSubStreamContext } from './PubSubStreamContext'\nimport { createConditionalLogger } from './utils'\n\nexport type { ConnectionOptions }\n\nexport class PubSubQueue {\n private readonly logger: Logger = createConditionalLogger('app:PubSubQueue')\n\n private readonly client = new PubSubPrivateClient()\n\n static DEFAULT_STREAM: PubSubStream = new PubSubStream({\n name: 'youthink',\n subjects: ['youthink.>'],\n storage: StorageType.File,\n discard: DiscardPolicy.Old,\n // 5Gb\n max_bytes: 10 * 1e9,\n })\n\n public constructor(private readonly options: ConnectionOptions) {}\n\n private get nats(): NatsConnection {\n return this.client.nats\n }\n\n protected get jetStream(): JetStreamClient {\n return jetstream(this.nats)\n }\n\n async connect(): Promise<void> {\n this.logger.info('connecting to nats using options: ', this.options)\n await this.client.connect(this.options)\n\n this.logger.info('successfully connected')\n try {\n this.logger.info('initializing default stream')\n\n await this.initializeDefaultStream()\n\n this.logger.info('successfully initialized default stream')\n }\n catch (e) {\n this.logger.warn(`Failed to initialize default stream, but that might be expected: `, e)\n }\n\n this.nats.closed().then(error => {\n if (error) {\n this.logger.warn('The connection was closed: ', error)\n }\n }, this.logger.fatal)\n }\n\n async initializeDefaultStream(): Promise<void> {\n await this.stream(PubSubQueue.DEFAULT_STREAM).create()\n }\n\n async closed(): Promise<void | Error> {\n return this.nats.closed()\n }\n\n async close(): Promise<void> {\n return this.nats.close()\n }\n\n async test() {\n const stream = await this.jetStream.streams.get('youthink')\n\n console.log(await stream.info())\n }\n\n stream(stream: PubSubStream = PubSubQueue.DEFAULT_STREAM): PubSubStreamContext {\n return new PubSubStreamContext(stream, this.client)\n }\n}\n",
"import type { ConnectionOptions, NatsConnection } from '@nats-io/transport-node'\n\nimport { jetstreamManager, type JetStreamManager } from '@nats-io/jetstream'\nimport { connect } from '@nats-io/transport-node'\n\nexport class PubSubPrivateClient {\n public nats: NatsConnection\n\n public jsManager: JetStreamManager\n\n public async connect(options: ConnectionOptions): Promise<void> {\n this.nats = await connect({\n reconnect: true,\n maxReconnectAttempts: -1,\n pingInterval: 5000,\n ...options,\n })\n\n this.jsManager = await jetstreamManager(this.nats)\n }\n}\n",
"import type { NatsConnection, NodeConnectionOptions } from '@nats-io/transport-node'\n\nimport { DiscardPolicy, jetstream, type JetStreamClient, StorageType } from '@nats-io/jetstream'\n\nimport { Logger } from '@ythub/logger'\n\nimport { PubSubPrivateClient } from './PubSubPrivateClient'\nimport { PubSubStream } from './PubSubStream'\nimport { PubSubStreamContext } from './PubSubStreamContext'\nimport { createConditionalLogger } from './utils'\n\nexport type { NodeConnectionOptions }\n\nexport class PubSubQueue {\n private readonly logger: Logger = createConditionalLogger('app:PubSubQueue')\n\n private readonly client = new PubSubPrivateClient()\n\n static DEFAULT_STREAM: PubSubStream = new PubSubStream({\n name: 'youthink',\n subjects: ['youthink.>'],\n storage: StorageType.File,\n discard: DiscardPolicy.Old,\n // 5Gb\n max_bytes: 10 * 1e9,\n })\n\n public constructor(private readonly options: NodeConnectionOptions) {}\n\n private get nats(): NatsConnection {\n return this.client.nats\n }\n\n protected get jetStream(): JetStreamClient {\n return jetstream(this.nats)\n }\n\n async connect(): Promise<void> {\n this.logger.info('connecting to nats using options: ', this.options)\n await this.client.connect(this.options)\n\n this.logger.info('successfully connected')\n try {\n this.logger.info('initializing default stream')\n\n await this.initializeDefaultStream()\n\n this.logger.info('successfully initialized default stream')\n }\n catch (e) {\n this.logger.warn(`Failed to initialize default stream, but that might be expected: `, e)\n }\n\n this.nats.closed().then(error => {\n if (error) {\n this.logger.warn('The connection was closed: ', error)\n }\n }, this.logger.fatal)\n }\n\n async initializeDefaultStream(): Promise<void> {\n await this.stream(PubSubQueue.DEFAULT_STREAM).create()\n }\n\n async closed(): Promise<void | Error> {\n return this.nats.closed()\n }\n\n async close(): Promise<void> {\n return this.nats.close()\n }\n\n async test() {\n const stream = await this.jetStream.streams.get('youthink')\n\n console.log(await stream.info())\n }\n\n stream(stream: PubSubStream = PubSubQueue.DEFAULT_STREAM): PubSubStreamContext {\n return new PubSubStreamContext(stream, this.client)\n }\n}\n",
"import type { NatsConnection, NodeConnectionOptions } from '@nats-io/transport-node'\n\nimport { jetstreamManager, type JetStreamManager } from '@nats-io/jetstream'\nimport { connect } from '@nats-io/transport-node'\n\nexport class PubSubPrivateClient {\n public nats: NatsConnection\n\n public jsManager: JetStreamManager\n\n public async connect(options: NodeConnectionOptions): Promise<void> {\n this.nats = await connect({\n reconnect: true,\n maxReconnectAttempts: -1,\n pingInterval: 5000,\n ...options,\n })\n\n this.jsManager = await jetstreamManager(this.nats)\n }\n}\n",
"import type { StreamConfig } from '@nats-io/jetstream'\n\nexport class PubSubStream {\n constructor(private readonly options: Partial<StreamConfig>) {}\n\n getOptions(): Partial<StreamConfig> {\n return this.options\n }\n}\n",

@@ -14,5 +14,5 @@ "import { jetstream, type JetStreamClient, type JetStreamManager, type PubAck, type PurgeResponse, type StreamInfo } from '@nats-io/jetstream'\n\nimport { Logger } from '@ythub/logger'\n\nimport { PubSubConsumer } from './PubSubConsumer'\nimport { PubSubEvent } from './PubSubEvent'\nimport { PubSubMessage } from './PubSubMessage'\nimport { PubSubPrivateClient } from './PubSubPrivateClient'\nimport { PubSubStream } from './PubSubStream'\nimport { createConditionalLogger } from './utils'\n\nexport type PubSubSubscription<Data> = AsyncIterable<PubSubMessage<Data>> & {\n unsubscribe: () => Promise<void>\n}\n\nfunction escapeSubjectForRegex(subject: string): RegExp {\n return new RegExp(`^${subject.replaceAll('.', '\\\\.').replaceAll('>', '.*')}`)\n}\n\nfunction isNotFound(obj: any): boolean {\n return obj.code === 10014\n}\n\nexport class PubSubStreamContext {\n private logger: Logger = createConditionalLogger('app:PubSubStreamContext')\n\n constructor(\n private readonly stream: PubSubStream,\n private readonly client: PubSubPrivateClient,\n ) {}\n\n protected get jsManager(): JetStreamManager {\n return this.client.jsManager\n }\n\n protected get jetStream(): JetStreamClient {\n return jetstream(this.client.nats)\n }\n\n async deleteAllMessages(): Promise<PurgeResponse> {\n return this.client.jsManager.streams.purge(this.stream.getOptions().name)\n }\n\n /**\n * Initializes the stream, which must be called before calling any `.subscribe()`\n */\n async create(): Promise<StreamInfo> {\n const cfg = this.stream.getOptions()\n if (!cfg.name)\n throw new Error('stream name is required')\n return this.jsManager.streams.add(cfg as Required<Pick<typeof cfg, 'name'>> & typeof cfg)\n }\n\n isNameMatchingStreamSubjects(name: string): boolean {\n const allowedSubjects = this.stream.getOptions().subjects.map(subject => escapeSubjectForRegex(subject))\n\n return allowedSubjects.some(regexp => regexp.test(name))\n }\n\n async publish(subject: string, data: any, id?: string): Promise<PubAck> {\n if (!this.isNameMatchingStreamSubjects(subject)) {\n throw new Error('Subject of the message is not matching names allowed by the stream')\n }\n\n const payload = typeof data === 'string' || data instanceof Uint8Array ? data : JSON.stringify(data)\n return this.jetStream.publish(subject, payload, id ? { msgID: id } : {})\n }\n\n async publishEvent(event: PubSubEvent): Promise<PubAck> {\n this.logger.info('publishing event: ', event.$natsEventName)\n return this.publish(event.$natsEventName, { ...event })\n }\n\n deleteConsumer(consumer: PubSubConsumer) {\n return this.jsManager.consumers.delete(this.stream.getOptions().name, consumer.getConsumerName())\n }\n\n async retrieveOrCreateConsumer(consumer: PubSubConsumer) {\n const streamName = this.stream.getOptions().name\n const consumerName = consumer.getConsumerName()\n\n let info: unknown\n try {\n this.logger.info('querying info')\n info = await this.client.jsManager.consumers.info(streamName, consumerName)\n }\n catch (e: any) {\n this.logger.warn('Failed to acquire consumer info: ', { message: e.message, isNotFound: isNotFound(e) })\n if (isNotFound(e)) {\n info = null\n }\n else {\n throw e\n }\n }\n\n const notFound = info == null || isNotFound(info)\n\n if (notFound) {\n this.logger.info('creating consumer: ', consumerName)\n const created = await this.client.jsManager.consumers.add(streamName, consumer.toConsumerConfig())\n this.logger.info('Created consumer: ', created.name)\n }\n else {\n this.logger.info('updating consumer: ', consumerName)\n await this.client.jsManager.consumers.update(streamName, consumerName, consumer.toConsumerConfig())\n }\n\n return this.client.jsManager.jetstream().consumers.get(streamName, consumerName)\n }\n\n async consume<Data = Record<string, never>>(consumer: PubSubConsumer) {\n const { logger } = this\n\n logger.info('retrieving or creating consumer: ', consumer.getConsumerName())\n const natsConsumer = await this.retrieveOrCreateConsumer(consumer)\n const sub = await natsConsumer.consume({\n max_messages: 20,\n idle_heartbeat: 15_000,\n expires: 30_000,\n })\n const decode = (bytes: Uint8Array) => {\n try {\n const s = new TextDecoder().decode(bytes)\n return JSON.parse(s) as Data\n }\n catch {\n return undefined as unknown as Data\n }\n }\n const asyncIterator = sub[Symbol.asyncIterator]()\n\n this.logger.info('consuming messages using consumer: ', consumer.getConsumerName())\n const modifyValueCallback = message => {\n const { data, redelivered, sid, seq } = message\n const decoded = decode(data)\n logger.info(\n {\n redelivered,\n sid,\n seq,\n decoded,\n },\n 'Received new message in cosume: ',\n )\n\n return {\n ack: () => message.ack(),\n nak: () => message.nak(),\n data: decoded,\n }\n }\n\n return {\n unsubscribe() {\n return sub\n .close()\n .then(() => undefined)\n .catch(() => undefined)\n },\n async next() {\n const result = await asyncIterator.next()\n if (result.done) {\n return result\n }\n return {\n done: false,\n value: modifyValueCallback(result.value),\n }\n },\n // Make sure to implement return and throw if the iterator uses them\n async return() {\n if (typeof asyncIterator.return === 'function') {\n return asyncIterator.return()\n }\n return { done: true }\n },\n async throw(error) {\n if (typeof asyncIterator.throw === 'function') {\n return asyncIterator.throw(error)\n }\n throw error\n },\n // If the iterator is also an iterable, implement the Symbol.asyncIterator method\n [Symbol.asyncIterator]() {\n return this\n },\n }\n }\n\n async subscribe<Data = Record<string, never>>(\n subject: string,\n consumer: PubSubConsumer,\n ): Promise<PubSubSubscription<Data>> {\n const { logger } = this\n const decode = (bytes: Uint8Array) => {\n try {\n const s = new TextDecoder().decode(bytes)\n return JSON.parse(s) as Data\n }\n catch {\n return undefined as unknown as Data\n }\n }\n\n // Ensure the consumer exists and is filtered to the subject\n const effectiveConsumer\n = consumer.params.subject === subject\n ? consumer\n : consumer.withSubject(subject)\n\n const natsConsumer = await this.retrieveOrCreateConsumer(effectiveConsumer)\n const sub = await natsConsumer.consume({\n max_messages: 20,\n idle_heartbeat: 15_000,\n expires: 30_000,\n })\n\n return {\n unsubscribe() {\n return sub\n .close()\n .then(() => undefined)\n .catch(() => undefined)\n },\n async* [Symbol.asyncIterator](): AsyncIterator<PubSubMessage<Data>> {\n for await (const message of sub) {\n const { data, redelivered, sid, seq } = message\n const decoded = decode(data)\n logger.info(\n {\n redelivered,\n sid,\n seq,\n decoded,\n },\n 'Received new message: ',\n )\n\n yield {\n ack: () => message.ack(),\n nak: () => message.nak(),\n data: decoded,\n }\n }\n },\n }\n }\n}\n",

],
"mappings": "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",
"mappings": "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",
"debugId": "051483BBE81415CF64756E2164756E21",
"names": []
}

@@ -1,2 +0,2 @@

import type { ConnectionOptions, NatsConnection } from "@nats-io/transport-node";
import type { NatsConnection, NodeConnectionOptions } from "@nats-io/transport-node";
import { type JetStreamManager } from "@nats-io/jetstream";

@@ -6,3 +6,3 @@ export declare class PubSubPrivateClient {

jsManager: JetStreamManager;
connect(options: ConnectionOptions): Promise<void>;
connect(options: NodeConnectionOptions): Promise<void>;
}

@@ -1,6 +0,6 @@

import type { ConnectionOptions } from "@nats-io/transport-node";
import type { NodeConnectionOptions } from "@nats-io/transport-node";
import { type JetStreamClient } from "@nats-io/jetstream";
import { PubSubStream } from "./PubSubStream";
import { PubSubStreamContext } from "./PubSubStreamContext";
export type { ConnectionOptions };
export type { NodeConnectionOptions };
export declare class PubSubQueue {

@@ -11,3 +11,3 @@ private readonly options;

static DEFAULT_STREAM: PubSubStream;
constructor(options: ConnectionOptions);
constructor(options: NodeConnectionOptions);
private get nats();

@@ -14,0 +14,0 @@ protected get jetStream(): JetStreamClient;

{
"name": "@ythub/jetstream-queue",
"version": "2.0.0",
"version": "2.0.1",
"type": "module",

@@ -18,6 +18,6 @@ "description": "YT queue module",

"dependencies": {
"@nats-io/jetstream": "^3.1.0",
"@nats-io/nats-core": "^3.1.0",
"@nats-io/transport-node": "^3.1.0",
"@ythub/logger": "^1",
"@nats-io/jetstream": "^3.2.0",
"@nats-io/nats-core": "^3.2.0",
"@nats-io/transport-node": "^3.2.0",
"@ythub/logger": "^1.1.4",
"tslib": "^2.8.1"

@@ -24,0 +24,0 @@ },

{
"extends": "../../tsconfig.json",
"compilerOptions": {
"importHelpers": true,
"rootDir": "src",
"outDir": "dist",
"types": ["bun-types"]
},
"include": ["src"],
"exclude": ["src/tests"]
}