@upstash/redis 1.36.0-rc.2 → 1.36.0-rc.4

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.
@@ -326,7 +326,7 @@ type TextField = {
326
326
  };
327
327
  type NumericField = {
328
328
  type: "U64" | "I64" | "F64";
329
- fast?: boolean;
329
+ fast: true;
330
330
  };
331
331
  type BoolField = {
332
332
  type: "BOOL";
@@ -356,48 +356,61 @@ type InferSchemaData<TSchema> = {
356
356
  [K in keyof TSchema]: TSchema[K] extends FieldType ? FieldValueType<TSchema[K]> : TSchema[K] extends DetailedField ? FieldValueType<ExtractFieldType<TSchema[K]>> : TSchema[K] extends NestedIndexSchema ? InferSchemaData<TSchema[K]> : never;
357
357
  };
358
358
  type QueryOptions<TSchema extends NestedIndexSchema | FlatIndexSchema> = {
359
- filter: QueryFilter<TSchema>;
359
+ filter: RootQueryFilter<TSchema>;
360
360
  /** Maximum number of results to return */
361
361
  limit?: number;
362
362
  /** Number of results to skip */
363
363
  offset?: number;
364
364
  /** Sort by field (requires FAST option on field) */
365
- sortBy?: {
366
- field: SchemaPaths<TSchema>;
367
- direction?: "ASC" | "DESC";
368
- };
369
- } & ({
370
- noContent: true;
371
- } | {
372
- noContent?: false;
365
+ orderBy?: {
366
+ [K in SchemaPaths<TSchema>]: {
367
+ [P in K]: "ASC" | "DESC";
368
+ };
369
+ }[SchemaPaths<TSchema>];
370
+ select?: Partial<{
371
+ [K in SchemaPaths<TSchema>]: true;
372
+ }>;
373
373
  highlight?: {
374
374
  fields: SchemaPaths<TSchema>[];
375
375
  preTag?: string;
376
376
  postTag?: string;
377
377
  };
378
- /** Return only specific fields */
379
- returnFields?: (SchemaPaths<TSchema> | "$")[];
380
- });
381
- type FieldValuePair<TSchema, TField extends string> = TField extends "$" ? {
382
- $: InferSchemaData<TSchema>;
383
- } : TField extends SchemaPaths<TSchema> ? {
384
- [K in TField]: GetFieldValueType<TSchema, TField>;
385
- } : never;
378
+ };
379
+ /**
380
+ * Converts dot notation paths to nested object structure type
381
+ * e.g. "content.title" | "content.author" becomes { content: { title: ..., author: ... } }
382
+ */
383
+ type PathToNestedObject<TSchema, Path extends string, Value> = Path extends `${infer First}.${infer Rest}` ? {
384
+ [K in First]: PathToNestedObject<TSchema, Rest, Value>;
385
+ } : {
386
+ [K in Path]: Value;
387
+ };
388
+ /**
389
+ * Merges intersection of objects into a single object type with proper nesting
390
+ */
391
+ type DeepMerge<T> = T extends object ? {
392
+ [K in keyof T]: T[K] extends object ? DeepMerge<T[K]> : T[K];
393
+ } : T;
394
+ /**
395
+ * Build nested result type from selected paths
396
+ */
397
+ type BuildNestedResult<TSchema, TFields> = DeepMerge<UnionToIntersection<{
398
+ [Path in keyof TFields & SchemaPaths<TSchema>]: PathToNestedObject<TSchema, Path & string, GetFieldValueType<TSchema, Path & string>>;
399
+ }[keyof TFields & SchemaPaths<TSchema>]>>;
400
+ type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
386
401
  type QueryResult<TSchema extends NestedIndexSchema | FlatIndexSchema, TOptions extends QueryOptions<TSchema> | undefined = undefined> = TOptions extends {
387
- noContent: true;
388
- } ? {
402
+ select: infer TFields;
403
+ } ? {} extends TFields ? {
389
404
  key: string;
390
405
  score: string;
391
- } : TOptions extends {
392
- returnFields: infer TFields extends readonly string[];
393
- } ? {
406
+ } : {
394
407
  key: string;
395
408
  score: string;
396
- fields: Array<FieldValuePair<TSchema, TFields[number]>>;
409
+ data: BuildNestedResult<TSchema, TFields>;
397
410
  } : {
398
411
  key: string;
399
412
  score: string;
400
- fields: Array<FieldValuePair<TSchema, SchemaPaths<TSchema> | "$">>;
413
+ data: InferSchemaData<TSchema>;
401
414
  };
402
415
  type StringOperationMap<T extends string> = {
403
416
  $eq: T;
@@ -433,65 +446,163 @@ type DateOperationMap<T extends string | Date> = {
433
446
  type StringOperations = {
434
447
  [K in keyof StringOperationMap<string>]: {
435
448
  [P in K]: StringOperationMap<string>[K];
449
+ } & {
450
+ $boost?: number;
436
451
  };
437
452
  }[keyof StringOperationMap<string>];
438
453
  type NumberOperations = {
439
454
  [K in keyof NumberOperationMap<number>]: {
440
455
  [P in K]: NumberOperationMap<number>[K];
456
+ } & {
457
+ $boost?: number;
441
458
  };
442
459
  }[keyof NumberOperationMap<number>];
443
460
  type BooleanOperations = {
444
461
  [K in keyof BooleanOperationMap<boolean>]: {
445
462
  [P in K]: BooleanOperationMap<boolean>[K];
463
+ } & {
464
+ $boost?: number;
446
465
  };
447
466
  }[keyof BooleanOperationMap<boolean>];
448
467
  type DateOperations = {
449
468
  [K in keyof DateOperationMap<string | Date>]: {
450
469
  [P in K]: DateOperationMap<string | Date>[K];
470
+ } & {
471
+ $boost?: number;
451
472
  };
452
473
  }[keyof DateOperationMap<string | Date>];
453
474
  type OperationsForFieldType<T extends FieldType> = T extends "TEXT" ? StringOperations : T extends "U64" | "I64" | "F64" ? NumberOperations : T extends "BOOL" ? BooleanOperations : T extends "DATE" ? DateOperations : never;
454
- type PathOperations<TSchema, TPath extends string> = GetFieldAtPath<TSchema, TPath> extends infer Field ? Field extends FieldType | DetailedField ? OperationsForFieldType<ExtractFieldType<Field>> : never : never;
475
+ type PathOperations<TSchema, TPath extends string> = GetFieldAtPath<TSchema, TPath> extends infer Field ? Field extends FieldType | DetailedField ? OperationsForFieldType<ExtractFieldType<Field>> | FieldValueType<ExtractFieldType<Field>> : never : never;
455
476
  type QueryLeaf<TSchema> = {
456
- [Path in SchemaPaths<TSchema>]: {
457
- [K in Path]: PathOperations<TSchema, Path>;
458
- };
459
- }[SchemaPaths<TSchema>];
460
- type QueryFilter<TSchema extends NestedIndexSchema | FlatIndexSchema> = QueryLeaf<TSchema> | {
477
+ [K in SchemaPaths<TSchema>]?: PathOperations<TSchema, K>;
478
+ } & {
479
+ $and?: never;
480
+ $or?: never;
481
+ $must?: never;
482
+ $should?: never;
483
+ $mustNot?: never;
484
+ $boost?: never;
485
+ };
486
+ type BoolBase<TSchema extends NestedIndexSchema | FlatIndexSchema> = {
487
+ [P in SchemaPaths<TSchema>]?: PathOperations<TSchema, P>;
488
+ };
489
+ type AndNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
490
+ $and: QueryFilter<TSchema>;
491
+ $boost?: number;
492
+ $or?: never;
493
+ $must?: never;
494
+ $should?: never;
495
+ $mustNot?: never;
496
+ };
497
+ type OrNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
498
+ $or: QueryFilter<TSchema>;
499
+ $boost?: number;
500
+ $and?: never;
501
+ $must?: never;
502
+ $should?: never;
503
+ $mustNot?: never;
504
+ };
505
+ type MustNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
461
506
  $must: QueryFilter<TSchema>;
462
- } | {
507
+ $boost?: number;
508
+ $and?: never;
509
+ $or?: never;
510
+ $should?: never;
511
+ $mustNot?: never;
512
+ };
513
+ type ShouldNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
463
514
  $should: QueryFilter<TSchema>;
464
- } | {
465
- $not: QueryFilter<TSchema>;
466
- } | {
515
+ $boost?: number;
516
+ $and?: never;
517
+ $or?: never;
518
+ $must?: never;
519
+ $mustNot?: never;
520
+ };
521
+ type MustShouldNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
522
+ $must: QueryFilter<TSchema>;
523
+ $should: QueryFilter<TSchema>;
524
+ $and?: never;
525
+ $or?: never;
526
+ };
527
+ type NotNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
528
+ $mustNot: QueryFilter<TSchema>;
529
+ $boost?: number;
530
+ $and?: never;
531
+ $or?: never;
532
+ $must?: never;
533
+ $should?: never;
534
+ };
535
+ type AndNotNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
467
536
  $and: QueryFilter<TSchema>;
468
- } | {
537
+ $mustNot: QueryFilter<TSchema>;
538
+ $boost?: number;
539
+ $or?: never;
540
+ $must?: never;
541
+ $should?: never;
542
+ };
543
+ type OrNotNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
469
544
  $or: QueryFilter<TSchema>;
470
- } | {
471
- $boost: {
472
- query: QueryFilter<TSchema>;
473
- value: number;
474
- };
545
+ $mustNot: QueryFilter<TSchema>;
546
+ $boost?: number;
547
+ $and?: never;
548
+ $must?: never;
549
+ $should?: never;
550
+ };
551
+ type ShouldNotNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
552
+ $should: QueryFilter<TSchema>;
553
+ $mustNot: QueryFilter<TSchema>;
554
+ $boost?: number;
555
+ $and?: never;
556
+ $or?: never;
557
+ $must?: never;
558
+ };
559
+ type MustNotNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
560
+ $must: QueryFilter<TSchema>;
561
+ $mustNot: QueryFilter<TSchema>;
562
+ $boost?: number;
563
+ $and?: never;
564
+ $or?: never;
565
+ $should?: never;
566
+ };
567
+ type BoolNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = BoolBase<TSchema> & {
568
+ $must: QueryFilter<TSchema>;
569
+ $should: QueryFilter<TSchema>;
570
+ $mustNot: QueryFilter<TSchema>;
571
+ $boost?: number;
572
+ $and?: never;
573
+ $or?: never;
475
574
  };
476
- type QueryResponse<TSchema extends NestedIndexSchema | FlatIndexSchema, TOptions extends QueryOptions<TSchema> | undefined = undefined> = Array<QueryResult<TSchema, TOptions>>;
477
- type IndexDescription = {
478
- indexName: string;
575
+ type QueryFilter<TSchema extends NestedIndexSchema | FlatIndexSchema> = QueryLeaf<TSchema> | AndNode<TSchema> | OrNode<TSchema> | MustNode<TSchema> | ShouldNode<TSchema> | MustShouldNode<TSchema> | NotNode<TSchema> | AndNotNode<TSchema> | OrNotNode<TSchema> | ShouldNotNode<TSchema> | MustNotNode<TSchema> | BoolNode<TSchema>;
576
+ type RootQueryFilter<TSchema extends NestedIndexSchema | FlatIndexSchema> = QueryLeaf<TSchema> | AndNode<TSchema> | RootOrNode<TSchema> | MustNode<TSchema> | ShouldNode<TSchema> | MustShouldNode<TSchema> | NotNode<TSchema> | AndNotNode<TSchema> | ShouldNotNode<TSchema> | MustNotNode<TSchema> | BoolNode<TSchema>;
577
+ type RootOrNode<TSchema extends NestedIndexSchema | FlatIndexSchema> = {
578
+ [P in SchemaPaths<TSchema>]?: never;
579
+ } & {
580
+ $or: QueryFilter<TSchema>;
581
+ $boost?: number;
582
+ $and?: never;
583
+ $must?: never;
584
+ $should?: never;
585
+ $mustNot?: never;
586
+ };
587
+ type DescribeFieldInfo = {
588
+ type: FieldType;
589
+ noTokenize?: boolean;
590
+ noStem?: boolean;
591
+ fast?: boolean;
592
+ };
593
+ type IndexDescription<TSchema extends NestedIndexSchema | FlatIndexSchema> = {
594
+ name: string;
479
595
  dataType: "hash" | "string";
480
596
  prefixes: string[];
481
- language?: string;
482
- fields: Array<{
483
- name: string;
484
- type: FieldType;
485
- noTokenize?: boolean;
486
- noStem?: boolean;
487
- fast?: boolean;
488
- }>;
597
+ language?: Language;
598
+ schema: Record<SchemaPaths<TSchema>, DescribeFieldInfo>;
489
599
  };
600
+ type Language = "english" | "arabic" | "danish" | "dutch" | "finnish" | "french" | "german" | "greek" | "hungarian" | "italian" | "norwegian" | "portuguese" | "romanian" | "russian" | "spanish" | "swedish" | "tamil" | "turkish";
490
601
 
491
- type CreateSearchIndexProps<TSchema extends NestedIndexSchema | FlatIndexSchema> = {
492
- indexName: string;
602
+ type createIndexProps<TSchema extends NestedIndexSchema | FlatIndexSchema> = {
603
+ name: string;
493
604
  prefix: string | string[];
494
- language?: "english" | "turkish";
605
+ language?: Language;
495
606
  client: Requester;
496
607
  } & ({
497
608
  dataType: "string";
@@ -500,22 +611,29 @@ type CreateSearchIndexProps<TSchema extends NestedIndexSchema | FlatIndexSchema>
500
611
  dataType: "hash";
501
612
  schema: TSchema extends FlatIndexSchema ? TSchema : never;
502
613
  });
503
- type SearchIndexProps<TSchema extends NestedIndexSchema | FlatIndexSchema> = Pick<CreateSearchIndexProps<TSchema>, "indexName" | "client"> & {
504
- schema?: CreateSearchIndexProps<TSchema>["schema"];
505
- };
506
- declare class SearchIndex<TSchema extends NestedIndexSchema | FlatIndexSchema, TProps extends SearchIndexProps<TSchema>> {
507
- indexName: TProps["indexName"];
508
- schema?: TSchema;
614
+ type SearchIndexProps<TSchema extends NestedIndexSchema | FlatIndexSchema> = {
615
+ name: string;
509
616
  client: Requester;
510
- constructor({ indexName, schema, client }: TProps);
617
+ schema?: TSchema;
618
+ };
619
+ declare class SearchIndex<TSchema extends NestedIndexSchema | FlatIndexSchema> {
620
+ readonly name: SearchIndexProps<TSchema>["name"];
621
+ readonly schema?: TSchema;
622
+ private client;
623
+ constructor({ name, schema, client }: SearchIndexProps<TSchema>);
511
624
  waitIndexing(): Promise<string>;
512
- describe(): Promise<IndexDescription>;
513
- query<TOptions extends QueryOptions<TSchema>>(options: TOptions): Promise<QueryResponse<TSchema, TOptions>>;
514
- count(filter: QueryFilter<TSchema>): Promise<number>;
625
+ describe(): Promise<IndexDescription<TSchema>>;
626
+ query(options: QueryOptions<TSchema>): Promise<QueryResult<TSchema, QueryOptions<TSchema>>[]>;
627
+ count({ filter }: {
628
+ filter: RootQueryFilter<TSchema>;
629
+ }): Promise<{
630
+ count: number;
631
+ }>;
515
632
  drop(): Promise<string>;
516
633
  }
517
- declare function createSearchIndex<TSchema extends NestedIndexSchema | FlatIndexSchema>(props: CreateSearchIndexProps<TSchema>): Promise<SearchIndex<TSchema, SearchIndexProps<TSchema>>>;
518
- declare function getSearchIndex<TSchema extends NestedIndexSchema | FlatIndexSchema>(props: SearchIndexProps<TSchema>): SearchIndex<TSchema, SearchIndexProps<TSchema>>;
634
+ declare function createIndex<TSchema extends NestedIndexSchema | FlatIndexSchema>(props: createIndexProps<TSchema>): Promise<SearchIndex<(TSchema extends NestedIndexSchema ? TSchema : never) | (TSchema extends FlatIndexSchema ? TSchema : never)>>;
635
+ declare function index<TSchema extends NestedIndexSchema | FlatIndexSchema>(client: Requester, name: string, schema: TSchema): SearchIndex<TSchema>;
636
+ declare function index(client: Requester, name: string): SearchIndex<any>;
519
637
 
520
638
  /**
521
639
  * @see https://redis.io/commands/append
@@ -3354,8 +3472,10 @@ declare class Redis {
3354
3472
  createScript<TResult = unknown, TReadonly extends boolean = false>(script: string, opts?: {
3355
3473
  readonly?: TReadonly;
3356
3474
  }): TReadonly extends true ? ScriptRO<TResult> : Script<TResult>;
3357
- createSearchIndex: <TSchema extends NestedIndexSchema | FlatIndexSchema>(props: Omit<CreateSearchIndexProps<TSchema>, "client">) => Promise<SearchIndex<TSchema, SearchIndexProps<TSchema>>>;
3358
- getSearchIndex: <TSchema extends NestedIndexSchema | FlatIndexSchema>(props: Omit<SearchIndexProps<TSchema>, "client">) => SearchIndex<TSchema, SearchIndexProps<TSchema>>;
3475
+ get search(): {
3476
+ createIndex: <TSchema extends NestedIndexSchema | FlatIndexSchema>(props: Omit<createIndexProps<TSchema>, "client">) => Promise<SearchIndex<(TSchema extends NestedIndexSchema ? TSchema : never) | (TSchema extends FlatIndexSchema ? TSchema : never)>>;
3477
+ index: <TSchema extends NestedIndexSchema | FlatIndexSchema>(name: string, schema?: TSchema extends NestedIndexSchema ? TSchema : never) => SearchIndex<TSchema>;
3478
+ };
3359
3479
  /**
3360
3480
  * Create a new pipeline that allows you to send requests in bulk.
3361
3481
  *
@@ -4261,4 +4381,4 @@ declare class ZMScoreCommand<TData> extends Command<string[] | null, number[] |
4261
4381
  constructor(cmd: [key: string, members: TData[]], opts?: CommandOptions<string[] | null, number[] | null>);
4262
4382
  }
4263
4383
 
4264
- export { HPTtlCommand as $, AppendCommand as A, BitCountCommand as B, CopyCommand as C, DBSizeCommand as D, EchoCommand as E, FlushAllCommand as F, GeoAddCommand as G, type HttpClientConfig as H, GetCommand as I, GetBitCommand as J, GetDelCommand as K, GetExCommand as L, GetRangeCommand as M, type NestedIndexSchema as N, GetSetCommand as O, Pipeline as P, HDelCommand as Q, type RedisOptions as R, HExistsCommand as S, HExpireCommand as T, type UpstashRequest as U, HExpireAtCommand as V, HExpireTimeCommand as W, HTtlCommand as X, HPExpireCommand as Y, HPExpireAtCommand as Z, HPExpireTimeCommand as _, type RequesterConfig as a, RenameCommand as a$, HPersistCommand as a0, HGetCommand as a1, HGetAllCommand as a2, HIncrByCommand as a3, HIncrByFloatCommand as a4, HKeysCommand as a5, HLenCommand as a6, HMGetCommand as a7, HMSetCommand as a8, HRandFieldCommand as a9, JsonStrAppendCommand as aA, JsonStrLenCommand as aB, JsonToggleCommand as aC, JsonTypeCommand as aD, KeysCommand as aE, LIndexCommand as aF, LInsertCommand as aG, LLenCommand as aH, LMoveCommand as aI, LPopCommand as aJ, LPushCommand as aK, LPushXCommand as aL, LRangeCommand as aM, LRemCommand as aN, LSetCommand as aO, LTrimCommand as aP, MGetCommand as aQ, MSetCommand as aR, MSetNXCommand as aS, PersistCommand as aT, PExpireCommand as aU, PExpireAtCommand as aV, PingCommand as aW, PSetEXCommand as aX, PTtlCommand as aY, PublishCommand as aZ, RandomKeyCommand as a_, HScanCommand as aa, HSetCommand as ab, HSetNXCommand as ac, HStrLenCommand as ad, HValsCommand as ae, IncrCommand as af, IncrByCommand as ag, IncrByFloatCommand as ah, JsonArrAppendCommand as ai, JsonArrIndexCommand as aj, JsonArrInsertCommand as ak, JsonArrLenCommand as al, JsonArrPopCommand as am, JsonArrTrimCommand as an, JsonClearCommand as ao, JsonDelCommand as ap, JsonForgetCommand as aq, JsonGetCommand as ar, JsonMergeCommand as as, JsonMGetCommand as at, JsonNumIncrByCommand as au, JsonNumMultByCommand as av, JsonObjKeysCommand as aw, JsonObjLenCommand as ax, JsonRespCommand as ay, JsonSetCommand as az, Redis as b, ZUnionCommand as b$, RenameNXCommand as b0, RPopCommand as b1, RPushCommand as b2, RPushXCommand as b3, SAddCommand as b4, ScanCommand as b5, type ScanCommandOptions as b6, SCardCommand as b7, ScriptExistsCommand as b8, ScriptFlushCommand as b9, TypeCommand as bA, UnlinkCommand as bB, XAddCommand as bC, XRangeCommand as bD, type ScoreMember as bE, type ZAddCommandOptions as bF, ZAddCommand as bG, ZCardCommand as bH, ZCountCommand as bI, ZDiffStoreCommand as bJ, ZIncrByCommand as bK, ZInterStoreCommand as bL, type ZInterStoreCommandOptions as bM, ZLexCountCommand as bN, ZMScoreCommand as bO, ZPopMaxCommand as bP, ZPopMinCommand as bQ, ZRangeCommand as bR, type ZRangeCommandOptions as bS, ZRankCommand as bT, ZRemCommand as bU, ZRemRangeByLexCommand as bV, ZRemRangeByRankCommand as bW, ZRemRangeByScoreCommand as bX, ZRevRankCommand as bY, ZScanCommand as bZ, ZScoreCommand as b_, ScriptLoadCommand as ba, SDiffCommand as bb, SDiffStoreCommand as bc, SetCommand as bd, type SetCommandOptions as be, SetBitCommand as bf, SetExCommand as bg, SetNxCommand as bh, SetRangeCommand as bi, SInterCommand as bj, SInterStoreCommand as bk, SIsMemberCommand as bl, SMembersCommand as bm, SMIsMemberCommand as bn, SMoveCommand as bo, SPopCommand as bp, SRandMemberCommand as bq, SRemCommand as br, SScanCommand as bs, StrLenCommand as bt, SUnionCommand as bu, SUnionStoreCommand as bv, TimeCommand as bw, TouchCommand as bx, TtlCommand as by, type Type as bz, type Requester as c, type ZUnionCommandOptions as c0, ZUnionStoreCommand as c1, type ZUnionStoreCommandOptions as c2, createSearchIndex as c3, getSearchIndex as c4, type SearchIndexProps as c5, type CreateSearchIndexProps as c6, type FlatIndexSchema as c7, type UpstashResponse as d, error as e, BitOpCommand as f, BitPosCommand as g, DecrCommand as h, DecrByCommand as i, DelCommand as j, EvalROCommand as k, EvalCommand as l, EvalshaROCommand as m, EvalshaCommand as n, ExistsCommand as o, ExpireCommand as p, type ExpireOption as q, ExpireAtCommand as r, FlushDBCommand as s, type GeoAddCommandOptions as t, type GeoMember as u, GeoDistCommand as v, GeoHashCommand as w, GeoPosCommand as x, GeoSearchCommand as y, GeoSearchStoreCommand as z };
4384
+ export { HPExpireTimeCommand as $, AppendCommand as A, BitCountCommand as B, CopyCommand as C, DBSizeCommand as D, EchoCommand as E, FlushAllCommand as F, GeoAddCommand as G, type HttpClientConfig as H, GeoSearchStoreCommand as I, GetCommand as J, GetBitCommand as K, GetDelCommand as L, GetExCommand as M, type NumericField as N, GetRangeCommand as O, Pipeline as P, GetSetCommand as Q, type RedisOptions as R, HDelCommand as S, HExistsCommand as T, type UpstashRequest as U, HExpireCommand as V, HExpireAtCommand as W, HExpireTimeCommand as X, HTtlCommand as Y, HPExpireCommand as Z, HPExpireAtCommand as _, type NestedIndexSchema as a, RandomKeyCommand as a$, HPTtlCommand as a0, HPersistCommand as a1, HGetCommand as a2, HGetAllCommand as a3, HIncrByCommand as a4, HIncrByFloatCommand as a5, HKeysCommand as a6, HLenCommand as a7, HMGetCommand as a8, HMSetCommand as a9, JsonSetCommand as aA, JsonStrAppendCommand as aB, JsonStrLenCommand as aC, JsonToggleCommand as aD, JsonTypeCommand as aE, KeysCommand as aF, LIndexCommand as aG, LInsertCommand as aH, LLenCommand as aI, LMoveCommand as aJ, LPopCommand as aK, LPushCommand as aL, LPushXCommand as aM, LRangeCommand as aN, LRemCommand as aO, LSetCommand as aP, LTrimCommand as aQ, MGetCommand as aR, MSetCommand as aS, MSetNXCommand as aT, PersistCommand as aU, PExpireCommand as aV, PExpireAtCommand as aW, PingCommand as aX, PSetEXCommand as aY, PTtlCommand as aZ, PublishCommand as a_, HRandFieldCommand as aa, HScanCommand as ab, HSetCommand as ac, HSetNXCommand as ad, HStrLenCommand as ae, HValsCommand as af, IncrCommand as ag, IncrByCommand as ah, IncrByFloatCommand as ai, JsonArrAppendCommand as aj, JsonArrIndexCommand as ak, JsonArrInsertCommand as al, JsonArrLenCommand as am, JsonArrPopCommand as an, JsonArrTrimCommand as ao, JsonClearCommand as ap, JsonDelCommand as aq, JsonForgetCommand as ar, JsonGetCommand as as, JsonMergeCommand as at, JsonMGetCommand as au, JsonNumIncrByCommand as av, JsonNumMultByCommand as aw, JsonObjKeysCommand as ax, JsonObjLenCommand as ay, JsonRespCommand as az, type RequesterConfig as b, ZScoreCommand as b$, RenameCommand as b0, RenameNXCommand as b1, RPopCommand as b2, RPushCommand as b3, RPushXCommand as b4, SAddCommand as b5, ScanCommand as b6, type ScanCommandOptions as b7, SCardCommand as b8, ScriptExistsCommand as b9, type Type as bA, TypeCommand as bB, UnlinkCommand as bC, XAddCommand as bD, XRangeCommand as bE, type ScoreMember as bF, type ZAddCommandOptions as bG, ZAddCommand as bH, ZCardCommand as bI, ZCountCommand as bJ, ZDiffStoreCommand as bK, ZIncrByCommand as bL, ZInterStoreCommand as bM, type ZInterStoreCommandOptions as bN, ZLexCountCommand as bO, ZMScoreCommand as bP, ZPopMaxCommand as bQ, ZPopMinCommand as bR, ZRangeCommand as bS, type ZRangeCommandOptions as bT, ZRankCommand as bU, ZRemCommand as bV, ZRemRangeByLexCommand as bW, ZRemRangeByRankCommand as bX, ZRemRangeByScoreCommand as bY, ZRevRankCommand as bZ, ZScanCommand as b_, ScriptFlushCommand as ba, ScriptLoadCommand as bb, SDiffCommand as bc, SDiffStoreCommand as bd, SetCommand as be, type SetCommandOptions as bf, SetBitCommand as bg, SetExCommand as bh, SetNxCommand as bi, SetRangeCommand as bj, SInterCommand as bk, SInterStoreCommand as bl, SIsMemberCommand as bm, SMembersCommand as bn, SMIsMemberCommand as bo, SMoveCommand as bp, SPopCommand as bq, SRandMemberCommand as br, SRemCommand as bs, SScanCommand as bt, StrLenCommand as bu, SUnionCommand as bv, SUnionStoreCommand as bw, TimeCommand as bx, TouchCommand as by, TtlCommand as bz, Redis as c, ZUnionCommand as c0, type ZUnionCommandOptions as c1, ZUnionStoreCommand as c2, type ZUnionStoreCommandOptions as c3, createIndex as c4, index as c5, type SearchIndexProps as c6, type createIndexProps as c7, type FlatIndexSchema as c8, type Requester as d, error as e, type UpstashResponse as f, BitOpCommand as g, BitPosCommand as h, DecrCommand as i, DecrByCommand as j, DelCommand as k, EvalROCommand as l, EvalCommand as m, EvalshaROCommand as n, EvalshaCommand as o, ExistsCommand as p, ExpireCommand as q, type ExpireOption as r, ExpireAtCommand as s, FlushDBCommand as t, type GeoAddCommandOptions as u, type GeoMember as v, GeoDistCommand as w, GeoHashCommand as x, GeoPosCommand as y, GeoSearchCommand as z };