@cogitator-ai/redis 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,20 @@ Unified Redis client for Cogitator with standalone and cluster support.
8
8
  pnpm add @cogitator-ai/redis ioredis
9
9
  ```
10
10
 
11
- ## Usage
11
+ ## Features
12
+
13
+ - **Unified Interface** - Same API for standalone and cluster modes
14
+ - **Auto-Detection** - Automatically detect standalone vs cluster
15
+ - **Environment Config** - Configure via environment variables
16
+ - **TLS Support** - Secure connections with TLS
17
+ - **NAT Mapping** - Support for cluster nodes behind NAT
18
+ - **Key Prefixing** - Automatic key prefixing with hash tags for cluster
19
+ - **Retry Strategy** - Built-in exponential backoff
20
+ - **Pub/Sub** - Publish/subscribe support
21
+
22
+ ---
23
+
24
+ ## Quick Start
12
25
 
13
26
  ### Standalone Mode
14
27
 
@@ -21,6 +34,8 @@ const redis = await createRedisClient({
21
34
 
22
35
  await redis.set('key', 'value');
23
36
  const value = await redis.get('key');
37
+
38
+ await redis.quit();
24
39
  ```
25
40
 
26
41
  ### Cluster Mode
@@ -29,48 +44,483 @@ const value = await redis.get('key');
29
44
  import { createRedisClient } from '@cogitator-ai/redis';
30
45
 
31
46
  const redis = await createRedisClient({
32
- cluster: {
33
- nodes: [
34
- { host: 'node1', port: 6379 },
35
- { host: 'node2', port: 6379 },
36
- { host: 'node3', port: 6379 },
37
- ],
38
- },
47
+ mode: 'cluster',
48
+ nodes: [
49
+ { host: 'redis-1', port: 6379 },
50
+ { host: 'redis-2', port: 6379 },
51
+ { host: 'redis-3', port: 6379 },
52
+ ],
53
+ keyPrefix: '{cogitator}:',
54
+ });
55
+
56
+ await redis.set('key', 'value');
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Creating Clients
62
+
63
+ ### Factory Function
64
+
65
+ ```typescript
66
+ import { createRedisClient } from '@cogitator-ai/redis';
67
+
68
+ // Standalone with URL
69
+ const client1 = await createRedisClient({
70
+ url: 'redis://localhost:6379',
71
+ });
72
+
73
+ // Standalone with host/port
74
+ const client2 = await createRedisClient({
75
+ host: 'localhost',
76
+ port: 6379,
77
+ password: 'secret',
78
+ db: 1,
79
+ });
80
+
81
+ // Cluster mode
82
+ const client3 = await createRedisClient({
83
+ mode: 'cluster',
84
+ nodes: [
85
+ { host: 'node1', port: 6379 },
86
+ { host: 'node2', port: 6379 },
87
+ { host: 'node3', port: 6379 },
88
+ ],
39
89
  });
40
90
  ```
41
91
 
42
- ### Environment Configuration
92
+ ### From Environment Variables
43
93
 
44
94
  ```typescript
45
- import { createConfigFromEnv } from '@cogitator-ai/redis';
95
+ import { createRedisClient, createConfigFromEnv } from '@cogitator-ai/redis';
46
96
 
47
- // Reads from REDIS_URL, REDIS_HOST, REDIS_PORT, REDIS_PASSWORD
48
- // REDIS_CLUSTER_NODES for cluster mode
49
97
  const config = createConfigFromEnv();
50
98
  const redis = await createRedisClient(config);
51
99
  ```
52
100
 
53
- ### Auto-Detection
101
+ ---
102
+
103
+ ## Configuration
104
+
105
+ ### Standalone Configuration
106
+
107
+ ```typescript
108
+ interface RedisStandaloneConfig {
109
+ mode?: 'standalone';
110
+
111
+ // Connection
112
+ url?: string; // Redis URL (e.g., redis://localhost:6379)
113
+ host?: string; // Host (alternative to url)
114
+ port?: number; // Port (alternative to url)
115
+ db?: number; // Database number
116
+
117
+ // Authentication
118
+ password?: string; // Redis password
119
+
120
+ // Options
121
+ keyPrefix?: string; // Prefix for all keys
122
+ tls?: boolean; // Enable TLS
123
+ maxRetriesPerRequest?: number; // Max retries (default: 3)
124
+ lazyConnect?: boolean; // Don't connect immediately
125
+ }
126
+ ```
127
+
128
+ ### Cluster Configuration
129
+
130
+ ```typescript
131
+ interface RedisClusterConfig {
132
+ mode: 'cluster';
133
+ nodes: { host: string; port: number }[];
134
+
135
+ // Authentication
136
+ password?: string;
137
+
138
+ // Options
139
+ keyPrefix?: string; // Use {hashtag}: format for cluster
140
+ tls?: boolean;
141
+ maxRetriesPerRequest?: number;
142
+ lazyConnect?: boolean;
143
+
144
+ // Cluster-specific
145
+ scaleReads?: 'master' | 'slave' | 'all'; // Where to read from
146
+ natMap?: Record<string, { host: string; port: number }>; // NAT mapping
147
+ }
148
+ ```
149
+
150
+ ### Configuration Options
151
+
152
+ | Option | Standalone | Cluster | Description |
153
+ | ---------------------- | :--------: | :-----: | ----------------------- |
154
+ | `url` | ✓ | - | Redis connection URL |
155
+ | `host` | ✓ | - | Redis host |
156
+ | `port` | ✓ | - | Redis port |
157
+ | `db` | ✓ | - | Database number |
158
+ | `nodes` | - | ✓ | Cluster nodes array |
159
+ | `password` | ✓ | ✓ | Authentication password |
160
+ | `keyPrefix` | ✓ | ✓ | Key prefix |
161
+ | `tls` | ✓ | ✓ | Enable TLS |
162
+ | `maxRetriesPerRequest` | ✓ | ✓ | Max retry attempts |
163
+ | `lazyConnect` | ✓ | ✓ | Lazy connection |
164
+ | `scaleReads` | - | ✓ | Read from replicas |
165
+ | `natMap` | - | ✓ | NAT address mapping |
166
+
167
+ ---
168
+
169
+ ## RedisClient Interface
170
+
171
+ The unified client interface works identically for both modes.
172
+
173
+ ### Key-Value Operations
174
+
175
+ ```typescript
176
+ await redis.get('key');
177
+
178
+ await redis.set('key', 'value');
179
+
180
+ await redis.setex('key', 3600, 'value');
181
+
182
+ await redis.del('key1', 'key2');
183
+
184
+ await redis.expire('key', 3600);
185
+
186
+ await redis.mget('key1', 'key2', 'key3');
187
+ ```
188
+
189
+ ### Sorted Sets
190
+
191
+ ```typescript
192
+ await redis.zadd('leaderboard', 100, 'player1');
193
+ await redis.zadd('leaderboard', 200, 'player2');
194
+
195
+ const top3 = await redis.zrange('leaderboard', 0, 2);
196
+
197
+ const highScores = await redis.zrangebyscore('leaderboard', 100, 500);
198
+
199
+ await redis.zrem('leaderboard', 'player1');
200
+ ```
201
+
202
+ ### Sets
54
203
 
55
204
  ```typescript
56
- import { detectRedisMode } from '@cogitator-ai/redis';
205
+ const members = await redis.smembers('myset');
206
+ ```
207
+
208
+ ### Pub/Sub
209
+
210
+ ```typescript
211
+ const subscriber = redis.duplicate();
212
+
213
+ await subscriber.subscribe('channel', (channel, message) => {
214
+ console.log(`Received on ${channel}: ${message}`);
215
+ });
57
216
 
58
- // Automatically detects standalone vs cluster
59
- const mode = await detectRedisMode(config);
217
+ await redis.publish('channel', 'hello');
218
+
219
+ await subscriber.unsubscribe('channel');
220
+ ```
221
+
222
+ ### Events
223
+
224
+ ```typescript
225
+ redis.on('connect', () => console.log('Connected'));
226
+ redis.on('ready', () => console.log('Ready'));
227
+ redis.on('error', (err) => console.error('Error:', err));
228
+ redis.on('close', () => console.log('Closed'));
229
+ redis.on('reconnecting', () => console.log('Reconnecting...'));
230
+ redis.on('end', () => console.log('Connection ended'));
60
231
  ```
61
232
 
233
+ ### Utility Methods
234
+
235
+ ```typescript
236
+ await redis.ping();
237
+
238
+ const info = await redis.info();
239
+ const memoryInfo = await redis.info('memory');
240
+
241
+ const allKeys = await redis.keys('myapp:*');
242
+
243
+ const sub = redis.duplicate();
244
+
245
+ await redis.quit();
246
+ ```
247
+
248
+ ---
249
+
62
250
  ## Environment Variables
63
251
 
64
- - `REDIS_URL` - Redis connection URL
65
- - `REDIS_HOST` - Redis host (alternative to URL)
66
- - `REDIS_PORT` - Redis port (default: 6379)
67
- - `REDIS_PASSWORD` - Redis password
68
- - `REDIS_CLUSTER_NODES` - JSON array of cluster nodes
69
- - `REDIS_KEY_PREFIX` - Key prefix (auto-uses `{cogitator}:` for cluster)
252
+ | Variable | Description |
253
+ | --------------------- | ------------------------------- |
254
+ | `REDIS_URL` | Redis connection URL |
255
+ | `REDIS_HOST` | Redis host (default: localhost) |
256
+ | `REDIS_PORT` | Redis port (default: 6379) |
257
+ | `REDIS_PASSWORD` | Redis password |
258
+ | `REDIS_CLUSTER_NODES` | JSON array of cluster nodes |
259
+ | `REDIS_KEY_PREFIX` | Key prefix |
260
+
261
+ ### Environment Examples
70
262
 
71
- ## Documentation
263
+ **Standalone:**
264
+
265
+ ```bash
266
+ REDIS_URL=redis://localhost:6379
267
+ REDIS_PASSWORD=secret
268
+ REDIS_KEY_PREFIX=myapp:
269
+ ```
270
+
271
+ **Cluster:**
272
+
273
+ ```bash
274
+ REDIS_CLUSTER_NODES='[{"host":"10.0.0.1","port":6379},{"host":"10.0.0.2","port":6379}]'
275
+ REDIS_PASSWORD=secret
276
+ REDIS_KEY_PREFIX={myapp}:
277
+ ```
278
+
279
+ ---
280
+
281
+ ## Auto-Detection
282
+
283
+ Automatically detect if Redis is running in cluster mode:
284
+
285
+ ```typescript
286
+ import { createRedisClient, detectRedisMode } from '@cogitator-ai/redis';
287
+
288
+ const mode = await detectRedisMode({
289
+ host: 'localhost',
290
+ port: 6379,
291
+ });
292
+
293
+ console.log(`Redis mode: ${mode}`);
294
+
295
+ const config =
296
+ mode === 'cluster'
297
+ ? { mode: 'cluster', nodes: [{ host: 'localhost', port: 6379 }] }
298
+ : { host: 'localhost', port: 6379 };
299
+
300
+ const redis = await createRedisClient(config);
301
+ ```
302
+
303
+ ---
304
+
305
+ ## Cluster Key Routing
306
+
307
+ In cluster mode, use hash tags to ensure related keys route to the same slot:
308
+
309
+ ```typescript
310
+ const redis = await createRedisClient({
311
+ mode: 'cluster',
312
+ nodes: [...],
313
+ keyPrefix: '{myapp}:', // Hash tag prefix
314
+ });
315
+
316
+ // All these keys route to the same slot because of {myapp}
317
+ await redis.set('users:123', '...'); // → {myapp}:users:123
318
+ await redis.set('sessions:456', '...'); // → {myapp}:sessions:456
319
+ ```
320
+
321
+ ### Hash Tag Rules
322
+
323
+ - Use `{hashtag}:` format for prefixes
324
+ - Content inside `{}` determines slot routing
325
+ - Keys with same hash tag go to same node
326
+ - Required for multi-key operations in cluster
327
+
328
+ ---
329
+
330
+ ## TLS Configuration
331
+
332
+ ### Standalone with TLS
333
+
334
+ ```typescript
335
+ const redis = await createRedisClient({
336
+ url: 'rediss://secure.redis.host:6379', // Note: rediss://
337
+ tls: true,
338
+ });
339
+ ```
340
+
341
+ ### Cluster with TLS
342
+
343
+ ```typescript
344
+ const redis = await createRedisClient({
345
+ mode: 'cluster',
346
+ nodes: [
347
+ { host: 'secure-1.redis.host', port: 6379 },
348
+ { host: 'secure-2.redis.host', port: 6379 },
349
+ ],
350
+ tls: true,
351
+ password: 'secret',
352
+ });
353
+ ```
354
+
355
+ ---
356
+
357
+ ## NAT Mapping
358
+
359
+ For cluster nodes behind NAT/load balancer:
360
+
361
+ ```typescript
362
+ const redis = await createRedisClient({
363
+ mode: 'cluster',
364
+ nodes: [{ host: 'external.host', port: 6379 }],
365
+ natMap: {
366
+ '10.0.0.1:6379': { host: 'external-1.host', port: 6379 },
367
+ '10.0.0.2:6379': { host: 'external-2.host', port: 6379 },
368
+ '10.0.0.3:6379': { host: 'external-3.host', port: 6379 },
369
+ },
370
+ });
371
+ ```
372
+
373
+ ---
374
+
375
+ ## Examples
376
+
377
+ ### Connection Pooling Pattern
378
+
379
+ ```typescript
380
+ import { createRedisClient, createConfigFromEnv } from '@cogitator-ai/redis';
381
+ import type { RedisClient } from '@cogitator-ai/redis';
382
+
383
+ let client: RedisClient | null = null;
384
+
385
+ async function getRedis(): Promise<RedisClient> {
386
+ if (!client) {
387
+ const config = createConfigFromEnv();
388
+ client = await createRedisClient(config);
389
+ }
390
+ return client;
391
+ }
392
+
393
+ async function closeRedis(): Promise<void> {
394
+ if (client) {
395
+ await client.quit();
396
+ client = null;
397
+ }
398
+ }
399
+ ```
400
+
401
+ ### Caching Pattern
402
+
403
+ ```typescript
404
+ import { createRedisClient } from '@cogitator-ai/redis';
405
+
406
+ const redis = await createRedisClient({
407
+ url: 'redis://localhost:6379',
408
+ keyPrefix: 'cache:',
409
+ });
410
+
411
+ async function getOrFetch<T>(
412
+ key: string,
413
+ fetcher: () => Promise<T>,
414
+ ttl: number = 3600
415
+ ): Promise<T> {
416
+ const cached = await redis.get(key);
417
+ if (cached) {
418
+ return JSON.parse(cached);
419
+ }
420
+
421
+ const data = await fetcher();
422
+ await redis.setex(key, ttl, JSON.stringify(data));
423
+ return data;
424
+ }
425
+
426
+ const user = await getOrFetch('user:123', () => fetchUserFromDb(123), 600);
427
+ ```
428
+
429
+ ### Pub/Sub Pattern
430
+
431
+ ```typescript
432
+ import { createRedisClient } from '@cogitator-ai/redis';
433
+
434
+ const redis = await createRedisClient({ url: 'redis://localhost:6379' });
435
+
436
+ const publisher = redis;
437
+ const subscriber = redis.duplicate();
438
+
439
+ interface Event {
440
+ type: string;
441
+ payload: unknown;
442
+ }
443
+
444
+ async function publish(event: Event): Promise<void> {
445
+ await publisher.publish('events', JSON.stringify(event));
446
+ }
447
+
448
+ async function subscribe(handler: (event: Event) => void): Promise<void> {
449
+ await subscriber.subscribe('events', (channel, message) => {
450
+ const event = JSON.parse(message);
451
+ handler(event);
452
+ });
453
+ }
454
+
455
+ await subscribe((event) => {
456
+ console.log('Received event:', event);
457
+ });
458
+
459
+ await publish({ type: 'user.created', payload: { id: 123 } });
460
+ ```
461
+
462
+ ### Health Check
463
+
464
+ ```typescript
465
+ import { createRedisClient } from '@cogitator-ai/redis';
466
+
467
+ async function checkRedisHealth(): Promise<boolean> {
468
+ const redis = await createRedisClient({
469
+ url: 'redis://localhost:6379',
470
+ lazyConnect: true,
471
+ });
472
+
473
+ try {
474
+ const result = await redis.ping();
475
+ return result === 'PONG';
476
+ } catch {
477
+ return false;
478
+ } finally {
479
+ await redis.quit();
480
+ }
481
+ }
482
+ ```
483
+
484
+ ### Graceful Shutdown
485
+
486
+ ```typescript
487
+ import { createRedisClient, createConfigFromEnv } from '@cogitator-ai/redis';
488
+
489
+ const redis = await createRedisClient(createConfigFromEnv());
490
+
491
+ process.on('SIGTERM', async () => {
492
+ console.log('Shutting down...');
493
+ await redis.quit();
494
+ process.exit(0);
495
+ });
496
+ ```
497
+
498
+ ---
499
+
500
+ ## Type Reference
501
+
502
+ ```typescript
503
+ import type {
504
+ RedisMode,
505
+ RedisNodeConfig,
506
+ RedisCommonOptions,
507
+ RedisStandaloneConfig,
508
+ RedisClusterConfig,
509
+ RedisConfig,
510
+ RedisClient,
511
+ QueueMetrics,
512
+ } from '@cogitator-ai/redis';
513
+
514
+ import {
515
+ createRedisClient,
516
+ detectRedisMode,
517
+ parseClusterNodesEnv,
518
+ createConfigFromEnv,
519
+ isClusterConfig,
520
+ } from '@cogitator-ai/redis';
521
+ ```
72
522
 
73
- See the [Cogitator documentation](https://github.com/eL1fe/cogitator) for full API reference.
523
+ ---
74
524
 
75
525
  ## License
76
526
 
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAsB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA2BnG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAejF;AAmGD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAC1C,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CASnC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,CAiB1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CAoBrF"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAsB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA6BnG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAejF;AAqGD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAC1C,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CASnC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,CAiB1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CAsBrF"}
package/dist/factory.js CHANGED
@@ -95,7 +95,15 @@ function wrapClient(client) {
95
95
  zrem: (key, ...members) => client.zrem(key, ...members),
96
96
  smembers: (key) => client.smembers(key),
97
97
  publish: (channel, message) => client.publish(channel, message),
98
- subscribe: async (channel) => {
98
+ subscribe: async (channel, callback) => {
99
+ if (callback) {
100
+ const handler = (ch, msg) => {
101
+ if (ch === channel && typeof msg === 'string') {
102
+ callback(String(ch), msg);
103
+ }
104
+ };
105
+ client.on('message', handler);
106
+ }
99
107
  await client.subscribe(channel);
100
108
  },
101
109
  unsubscribe: async (channel) => {
@@ -171,11 +179,12 @@ export function createConfigFromEnv(env = process.env) {
171
179
  keyPrefix: env.REDIS_KEY_PREFIX ?? '{cogitator}:',
172
180
  };
173
181
  }
182
+ const port = parseInt(env.REDIS_PORT ?? '6379', 10);
174
183
  return {
175
184
  mode: 'standalone',
176
185
  url: env.REDIS_URL,
177
186
  host: env.REDIS_HOST ?? 'localhost',
178
- port: parseInt(env.REDIS_PORT ?? '6379', 10),
187
+ port: Number.isNaN(port) ? 6379 : port,
179
188
  password: env.REDIS_PASSWORD,
180
189
  keyPrefix: env.REDIS_KEY_PREFIX ?? 'cogitator:',
181
190
  };
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -77,10 +77,13 @@ export interface RedisClient {
77
77
  zrem(key: string, ...members: string[]): Promise<number>;
78
78
  smembers(key: string): Promise<string[]>;
79
79
  publish(channel: string, message: string): Promise<number>;
80
- subscribe(channel: string, callback?: (message: string) => void): Promise<void>;
80
+ subscribe(channel: string, callback?: (channel: string, message: string) => void): Promise<void>;
81
81
  unsubscribe(channel: string): Promise<void>;
82
- on(event: string, callback: (...args: any[]) => void): void;
83
- off(event: string, callback: (...args: any[]) => void): void;
82
+ on(event: 'message', callback: (channel: string, message: string) => void): void;
83
+ on(event: 'error', callback: (error: Error) => void): void;
84
+ on(event: 'connect' | 'ready' | 'close' | 'reconnecting' | 'end', callback: () => void): void;
85
+ on(event: string, callback: (...args: unknown[]) => void): void;
86
+ off(event: string, callback: (...args: unknown[]) => void): void;
84
87
  keys(pattern: string): Promise<string[]>;
85
88
  duplicate(): RedisClient;
86
89
  info(section?: string): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAyHH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwHH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACzF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogitator-ai/redis",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Unified Redis client for Cogitator with standalone and cluster support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,13 +15,13 @@
15
15
  "dist"
16
16
  ],
17
17
  "dependencies": {
18
- "@cogitator-ai/types": "0.1.0"
18
+ "@types/node": "^25.0.0",
19
+ "@cogitator-ai/types": "0.4.0"
19
20
  },
20
21
  "optionalDependencies": {
21
22
  "ioredis": "^5.4.1"
22
23
  },
23
24
  "devDependencies": {
24
- "@types/node": "^20.10.0",
25
25
  "typescript": "^5.3.0",
26
26
  "vitest": "^1.0.0"
27
27
  },