@gaganref/confect-server 10.3.1-fork.30 → 10.3.1-fork.31

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.
@@ -387,14 +387,26 @@ export interface Reflection<OrderDirection extends QueryStreamOrderDirection.Que
387
387
  * @experimental
388
388
  */
389
389
  export declare const fromReflection: <Doc, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection = QueryStreamOrderDirection.QueryStreamOrderDirection>(reflection: Reflection<OrderDirection>) => QueryStream<Doc, QueryStreamKeyLabels.QueryStreamKeyLabels, OrderDirection, Document.DocumentDecodeError, never>;
390
+ /**
391
+ * Optional merge behavior. With `dedupe`, equal complete stored keys, including
392
+ * ID tiebreakers, emit once. The first visible copy in source order wins; a
393
+ * filtered copy cannot suppress a visible one. Different keys remain distinct.
394
+ *
395
+ * @experimental
396
+ */
397
+ export interface MergeOptions {
398
+ readonly dedupe?: boolean;
399
+ }
390
400
  /**
391
401
  * Combine streams sharing a key layout into one stream in key order. Use this
392
402
  * to query several index ranges at once, such as notes by multiple roles.
393
403
  *
394
404
  * The merge emits the smallest next key when ascending and the largest when
395
- * descending. Unlike `Stream.merge`, it does not interleave by arrival time.
396
- * Overlapping inputs are not deduplicated: a document matched twice appears
397
- * twice. Supply at least one input; use `empty` for an empty dynamic list.
405
+ * descending. Unlike `Stream.merge`, it does not interleave by arrival time. By
406
+ * default, a document matched twice appears twice. Pass `{ dedupe: true }` to
407
+ * coalesce equal complete keys, including ID tiebreakers. Resolving a group can
408
+ * prefetch the next key from each input; all such reads count against the
409
+ * shared budget. Supply at least one input; use `empty` for an empty list.
398
410
  *
399
411
  * Inputs need compatible document types and identical key layouts and
400
412
  * directions. TypeScript rejects known mismatches; runtime mismatches throw
@@ -403,7 +415,7 @@ export declare const fromReflection: <Doc, OrderDirection extends QueryStreamOrd
403
415
  *
404
416
  * @experimental
405
417
  */
406
- export declare const merge: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(streams: readonly [QueryStream<Doc, KeyLabels, OrderDirection, E, R>, ...ReadonlyArray<QueryStream<Doc, KeyLabels, NoInfer<OrderDirection>, E, R>>]) => QueryStream<Doc, KeyLabels, OrderDirection, E, R>;
418
+ export declare const merge: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(streams: readonly [QueryStream<Doc, KeyLabels, OrderDirection, E, R>, ...ReadonlyArray<QueryStream<Doc, KeyLabels, NoInfer<OrderDirection>, E, R>>], options?: MergeOptions) => QueryStream<Doc, KeyLabels, OrderDirection, E, R>;
407
419
  /**
408
420
  * Control concurrent callback evaluation in `filterEffect` and `mapEffect`.
409
421
  *
@@ -655,6 +667,24 @@ export declare class NotUniqueError extends NotUniqueError_base {
655
667
  * @experimental
656
668
  */
657
669
  export declare const unique: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>) => Effect.Effect<Option.Option<Doc>, E | NotUniqueError, R>;
670
+ /**
671
+ * Caller-owned envelope for every pagination cursor, including end sentinels.
672
+ * `open` validates a received cursor and returns `None` on a mismatch; paginate
673
+ * then dies with `ConvexError({ paginationError: "InvalidCursor" })` before
674
+ * decoding or reading. `seal` wraps every outgoing continuation and split.
675
+ * `seal` must return the same string for equal inputs so cursor equality stays
676
+ * stable.
677
+ *
678
+ * Use this to bind cursors to query semantics or sign them. Both callbacks may
679
+ * use Effect services. Confect owns no keys, fingerprints, or encryption
680
+ * policy.
681
+ *
682
+ * @experimental
683
+ */
684
+ export interface CursorEnvelope<R = never> {
685
+ readonly open: (cursor: string) => Effect.Effect<Option.Option<string>, never, R>;
686
+ readonly seal: (cursor: string) => Effect.Effect<string, never, R>;
687
+ }
658
688
  /**
659
689
  * Convex pagination options interpreted over a query stream's stored keys. Pass
660
690
  * a paginated query handler's `paginationOpts` directly to `paginate`.
@@ -671,6 +701,9 @@ export declare const unique: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryS
671
701
  * - `maximumBytesRead`: optional budget charging estimated document size on every
672
702
  * read, not Convex's exact billed bytes. The final document can take the
673
703
  * total over the limit because its size is known only after reading it.
704
+ * - `cursorEnvelope`: optional caller-owned validation and sealing. Both input
705
+ * cursors are opened before decoding, including an end sentinel. Every output
706
+ * cursor is sealed. A refused envelope ends in `InvalidCursor`.
674
707
  *
675
708
  * At either read limit, including zero, one extra row may be read to
676
709
  * distinguish completion from an overrun. It is counted but never emitted. An
@@ -681,7 +714,9 @@ export declare const unique: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryS
681
714
  *
682
715
  * @experimental
683
716
  */
684
- export type PaginateOptions = ConvexPaginationOptions;
717
+ export type PaginateOptions<R = never> = ConvexPaginationOptions & {
718
+ readonly cursorEnvelope?: CursorEnvelope<R>;
719
+ };
685
720
  /**
686
721
  * One page in Convex's pagination result shape. Return the whole result to
687
722
  * reactive clients so they can pin and split pages; use `page` alone for a
@@ -733,9 +768,9 @@ export type PaginationResult<Doc> = ConvexPaginationResult<Doc>;
733
768
  * query semantics change, even if an old cursor is still accepted.
734
769
  *
735
770
  * Cursors expose boundary field names and key values, including document IDs.
736
- * They are neither opaque nor signed: clients can read or craft them. Do not
737
- * publicly paginate over sensitive indexed fields unless pinned with `eq`.
738
- * Never construct cursors from documents or decode them into `narrow` bounds.
771
+ * Without a `cursorEnvelope`, clients can read or craft them. Do not publicly
772
+ * paginate over sensitive indexed fields unless pinned with `eq`. Never
773
+ * construct cursors from documents or decode them into `narrow` bounds.
739
774
  *
740
775
  * Return the whole result to reactive clients. React's
741
776
  * `useStreamPaginatedQuery` handles pinning, splitting, and invalid-cursor
@@ -745,7 +780,7 @@ export type PaginationResult<Doc> = ConvexPaginationResult<Doc>;
745
780
  * @experimental
746
781
  */
747
782
  export declare const paginate: {
748
- (options: PaginateOptions): <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>) => Effect.Effect<PaginationResult<Doc>, E | ReadBudgetExceededError, R>;
749
- <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>, options: PaginateOptions): Effect.Effect<PaginationResult<Doc>, E | ReadBudgetExceededError, R>;
783
+ <R2 = never>(options: PaginateOptions<R2>): <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>) => Effect.Effect<PaginationResult<Doc>, E | ReadBudgetExceededError, R | R2>;
784
+ <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, R2 = never>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>, options: PaginateOptions<R2>): Effect.Effect<PaginationResult<Doc>, E | ReadBudgetExceededError, R | R2>;
750
785
  };
751
786
  //# sourceMappingURL=QueryStream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryStream.d.ts","sourceRoot":"","sources":["../src/QueryStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryStream.d.ts","sourceRoot":"","sources":["../src/QueryStream.ts"],"names":[],"mappings":"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"}
@@ -343,13 +343,21 @@ const fillMergeSource = (source) => MergeSource.$match(source, {
343
343
  Exhausted: () => Effect.succeed(source),
344
344
  BudgetLimited: () => Effect.succeed(source)
345
345
  });
346
+ const consumeMergeHead = (source) => source._tag === "Buffered" ? Option.match(Chunk.head(source.tail), {
347
+ onNone: () => MergeSource.NeedsPull({ pull: source.pull }),
348
+ onSome: (head) => MergeSource.Buffered({
349
+ pull: source.pull,
350
+ head,
351
+ tail: Chunk.drop(source.tail, 1)
352
+ })
353
+ }) : source;
346
354
  /**
347
355
  * One step of the k-way merge as a pure unfold: fill every source, emit the
348
356
  * earliest head (ties go to the earliest source, keeping the merge stable), and
349
357
  * return the sources with that head consumed. `undefined` when every source is
350
358
  * exhausted or an input stopped before its next key was known.
351
359
  */
352
- const mergeStep = (keyOrder) => (sources) => Effect.gen(function* () {
360
+ const mergeStep = (keyOrder, dedupe) => (sources) => Effect.gen(function* () {
353
361
  const readBudget = yield* QueryStreamReadBudget;
354
362
  const filled = yield* Effect.forEach(sources, fillMergeSource, { concurrency: (yield* readBudget.isUnlimited) ? "unbounded" : 1 });
355
363
  if (filled.some((source) => MergeSource.$is("BudgetLimited")(source))) return void 0;
@@ -367,23 +375,35 @@ const mergeStep = (keyOrder) => (sources) => Effect.gen(function* () {
367
375
  })) : best
368
376
  })
369
377
  }));
370
- return Option.getOrUndefined(Option.map(earliest, ({ index, element }) => Tuple.make(element, Array.map(filled, (source, sourceIndex) => sourceIndex === index && source._tag === "Buffered" ? Option.match(Chunk.head(source.tail), {
371
- onNone: () => MergeSource.NeedsPull({ pull: source.pull }),
372
- onSome: (head) => MergeSource.Buffered({
373
- pull: source.pull,
374
- head,
375
- tail: Chunk.drop(source.tail, 1)
376
- })
377
- }) : source))));
378
+ if (Option.isNone(earliest)) return void 0;
379
+ if (!dedupe) {
380
+ const { index, element } = earliest.value;
381
+ return Tuple.make(element, Array.map(filled, (source, sourceIndex) => sourceIndex === index ? consumeMergeHead(source) : source));
382
+ }
383
+ const keyValues = earliest.value.element.keyValues;
384
+ const matches = (source) => source._tag === "Buffered" && keyOrder(source.head.keyValues, keyValues) === 0;
385
+ let representative = earliest.value;
386
+ let remaining = filled;
387
+ for (;;) {
388
+ representative = Array.reduce(remaining, representative, (best, source, index) => source._tag === "Buffered" && matches(source) && Option.isSome(source.head.doc) && (Option.isNone(best.element.doc) || index < best.index) ? new MergeCandidate({
389
+ index,
390
+ element: source.head
391
+ }) : best);
392
+ remaining = yield* Effect.forEach(Array.map(remaining, (source) => matches(source) ? consumeMergeHead(source) : source), fillMergeSource, { concurrency: (yield* readBudget.isUnlimited) ? "unbounded" : 1 });
393
+ if (remaining.some((source) => MergeSource.$is("BudgetLimited")(source))) return void 0;
394
+ if (!remaining.some(matches)) return Tuple.make(representative.element, remaining);
395
+ }
378
396
  });
379
397
  /**
380
398
  * Combine streams sharing a key layout into one stream in key order. Use this
381
399
  * to query several index ranges at once, such as notes by multiple roles.
382
400
  *
383
401
  * The merge emits the smallest next key when ascending and the largest when
384
- * descending. Unlike `Stream.merge`, it does not interleave by arrival time.
385
- * Overlapping inputs are not deduplicated: a document matched twice appears
386
- * twice. Supply at least one input; use `empty` for an empty dynamic list.
402
+ * descending. Unlike `Stream.merge`, it does not interleave by arrival time. By
403
+ * default, a document matched twice appears twice. Pass `{ dedupe: true }` to
404
+ * coalesce equal complete keys, including ID tiebreakers. Resolving a group can
405
+ * prefetch the next key from each input; all such reads count against the
406
+ * shared budget. Supply at least one input; use `empty` for an empty list.
387
407
  *
388
408
  * Inputs need compatible document types and identical key layouts and
389
409
  * directions. TypeScript rejects known mismatches; runtime mismatches throw
@@ -392,7 +412,7 @@ const mergeStep = (keyOrder) => (sources) => Effect.gen(function* () {
392
412
  *
393
413
  * @experimental
394
414
  */
395
- const merge = (streams) => {
415
+ const merge = (streams, options) => {
396
416
  const head = Array.headNonEmpty(streams);
397
417
  const incompatible = Array.findFirst(Array.tailNonEmpty(streams), (stream) => stream.orderDirection !== head.orderDirection || !Equivalence(stream.keyLayout, head.keyLayout));
398
418
  if (Option.isSome(incompatible)) throw new IncompatibleStreamsError({
@@ -401,17 +421,17 @@ const merge = (streams) => {
401
421
  expectedKeyLayout: head.keyLayout,
402
422
  actualKeyLayout: incompatible.value.keyLayout
403
423
  });
404
- return mergeUnchecked(streams);
424
+ return mergeUnchecked(streams, options);
405
425
  };
406
426
  /**
407
427
  * `merge` without the compatibility check—for re-merging branches that were
408
428
  * validated when the merge was built (narrowing never changes a branch's order
409
429
  * or key layout).
410
430
  */
411
- const mergeUnchecked = (streams) => {
431
+ const mergeUnchecked = (streams, options) => {
412
432
  const head = Array.headNonEmpty(streams);
413
- const annotated = Stream.unwrap(Effect.map(Effect.forEach(streams, (stream) => Stream.toPull(stream.annotated)), (pulls) => Stream.unfold(Array.map(pulls, (pull) => MergeSource.NeedsPull({ pull })), mergeStep(Order$1(head.orderDirection)))));
414
- return new QueryStream(head.orderDirection, head.keyLayout, annotated, void 0, (parsedBounds) => mergeUnchecked([narrowByParsedBounds(head, parsedBounds), ...Array.map(Array.tailNonEmpty(streams), (stream) => narrowByParsedBounds(stream, parsedBounds))]), () => mergeUnchecked([reverse(head), ...Array.map(Array.tailNonEmpty(streams), (stream) => reverse(stream))]));
433
+ const annotated = Stream.unwrap(Effect.map(Effect.forEach(streams, (stream) => Stream.toPull(stream.annotated)), (pulls) => Stream.unfold(Array.map(pulls, (pull) => MergeSource.NeedsPull({ pull })), mergeStep(Order$1(head.orderDirection), options?.dedupe === true))));
434
+ return new QueryStream(head.orderDirection, head.keyLayout, annotated, void 0, (parsedBounds) => mergeUnchecked([narrowByParsedBounds(head, parsedBounds), ...Array.map(Array.tailNonEmpty(streams), (stream) => narrowByParsedBounds(stream, parsedBounds))], options), () => mergeUnchecked([reverse(head), ...Array.map(Array.tailNonEmpty(streams), (stream) => reverse(stream))], options));
415
435
  };
416
436
  /**
417
437
  * Derive a stream by transforming each present document into `Some` (keep,
@@ -828,10 +848,10 @@ const narrowByParsedBounds = (self, parsedBounds) => {
828
848
  * The fallback for streams that don't know how to rebuild themselves.
829
849
  */
830
850
  const keyPredicates = (parsedBounds) => {
831
- const complete$1 = (keyValues) => Result.getOrThrowWith(complete(parsedBounds.keyLayout, keyValues), identity);
851
+ const complete$2 = (keyValues) => Result.getOrThrowWith(complete(parsedBounds.keyLayout, keyValues), identity);
832
852
  return {
833
- aboveLower: (keyValues) => Result.getOrThrowWith(admittedByLower(parsedBounds)(complete$1(keyValues)), identity),
834
- belowUpper: (keyValues) => Result.getOrThrowWith(admittedByUpper(parsedBounds)(complete$1(keyValues)), identity)
853
+ aboveLower: (keyValues) => Result.getOrThrowWith(admittedByLower(parsedBounds)(complete$2(keyValues)), identity),
854
+ belowUpper: (keyValues) => Result.getOrThrowWith(admittedByUpper(parsedBounds)(complete$2(keyValues)), identity)
835
855
  };
836
856
  };
837
857
  const narrowInMemory = (self, parsedBounds) => {
@@ -916,9 +936,9 @@ const unique = Effect.fn("QueryStream.unique")((self) => self.pipe(Stream.take(2
916
936
  * query semantics change, even if an old cursor is still accepted.
917
937
  *
918
938
  * Cursors expose boundary field names and key values, including document IDs.
919
- * They are neither opaque nor signed: clients can read or craft them. Do not
920
- * publicly paginate over sensitive indexed fields unless pinned with `eq`.
921
- * Never construct cursors from documents or decode them into `narrow` bounds.
939
+ * Without a `cursorEnvelope`, clients can read or craft them. Do not publicly
940
+ * paginate over sensitive indexed fields unless pinned with `eq`. Never
941
+ * construct cursors from documents or decode them into `narrow` bounds.
922
942
  *
923
943
  * Return the whole result to reactive clients. React's
924
944
  * `useStreamPaginatedQuery` handles pinning, splitting, and invalid-cursor
@@ -928,19 +948,28 @@ const unique = Effect.fn("QueryStream.unique")((self) => self.pipe(Stream.take(2
928
948
  * @experimental
929
949
  */
930
950
  const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, options) {
951
+ const seal = (cursor) => options.cursorEnvelope === void 0 ? Effect.succeed(cursor) : options.cursorEnvelope.seal(cursor);
952
+ const open = (cursor) => options.cursorEnvelope === void 0 ? Effect.succeed(cursor) : options.cursorEnvelope.open(cursor).pipe(Effect.flatMap(Option.match({
953
+ onNone: () => Effect.die(new ConvexError({ paginationError: "InvalidCursor" })),
954
+ onSome: Effect.succeed
955
+ })));
956
+ const opened = yield* Effect.all({
957
+ start: options.cursor === null ? Effect.succeed(null) : open(options.cursor),
958
+ end: options.endCursor == null ? Effect.succeed(null) : open(options.endCursor)
959
+ });
931
960
  const cursorSchema = fromKeyLayout(self.keyLayout);
932
961
  const encodeCursor = Schema.encodeEffect(cursorSchema);
933
962
  const decodeCursor = Schema.decodeEffect(cursorSchema);
934
- const complete$2 = (keyValues) => Result.getOrThrowWith(complete(self.keyLayout, keyValues), identity);
963
+ const complete$1 = (keyValues) => Result.getOrThrowWith(complete(self.keyLayout, keyValues), identity);
935
964
  const decoded = yield* Effect.all({
936
- start: Option.match(Option.fromNullOr(options.cursor), {
965
+ start: Option.match(Option.fromNullOr(opened.start), {
937
966
  onNone: () => Effect.succeed(Start.Beginning()),
938
967
  onSome: (cursor) => Effect.map(decodeCursor(cursor), (key) => Start.After({
939
968
  cursor,
940
969
  key
941
970
  }))
942
971
  }),
943
- range: Option.match(Option.fromNullishOr(options.endCursor), {
972
+ range: Option.match(Option.fromNullishOr(opened.end), {
944
973
  onNone: () => Effect.succeed(Range.Unpinned()),
945
974
  onSome: (cursor) => cursor === "[]" ? Effect.succeed(Range.ThroughEnd()) : Effect.map(decodeCursor(cursor), (key) => Range.ThroughKey({ key }))
946
975
  })
@@ -952,7 +981,7 @@ const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, opti
952
981
  if (request._tag === "Unchanged") return {
953
982
  page: [],
954
983
  isDone: false,
955
- continueCursor: request.cursor
984
+ continueCursor: yield* seal(request.cursor)
956
985
  };
957
986
  const start = Option.map(request.after, (key) => ({
958
987
  key: toPrefix(key),
@@ -974,14 +1003,14 @@ const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, opti
974
1003
  upper: start
975
1004
  }), identity));
976
1005
  const readBudget = yield* QueryStreamReadBudget;
977
- const collected = yield* Stream.run(narrowed.annotated, Sink.fold(() => initial(), (state) => state._tag === "Reading", (state, { doc, keyValues }) => Effect.map(readBudget.isStopped, (hitLimit) => record(request, state, doc, complete$2(keyValues), hitLimit))));
1006
+ const collected = yield* Stream.run(narrowed.annotated, Sink.fold(() => initial(), (state) => state._tag === "Reading", (state, { doc, keyValues }) => Effect.map(readBudget.isStopped, (hitLimit) => record(request, state, doc, complete$1(keyValues), hitLimit))));
978
1007
  const stopped = yield* readBudget.isStopped;
979
1008
  const outcome = finish(request, collected, stopped);
980
1009
  if (Result.isFailure(outcome)) return yield* new ReadBudgetExceededError(yield* readBudget.getReadCounts);
981
- const encode = (key) => encodeCursor(key).pipe(Effect.catchTag("SchemaError", Effect.die));
1010
+ const encode = (key) => encodeCursor(key).pipe(Effect.catchTag("SchemaError", Effect.die), Effect.flatMap(seal));
982
1011
  const encodeSplit = (result) => Effect.gen(function* () {
983
1012
  const continueCursor = yield* Match.value(result.continuation).pipe(Match.tagsExhaustive({
984
- End: () => Effect.succeed("[]"),
1013
+ End: () => seal("[]"),
985
1014
  Key: ({ key }) => encode(key)
986
1015
  }));
987
1016
  return {
@@ -993,11 +1022,11 @@ const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, opti
993
1022
  };
994
1023
  });
995
1024
  return yield* Match.value(outcome.success).pipe(Match.tagsExhaustive({
996
- Done: ({ page }) => Effect.succeed({
1025
+ Done: ({ page }) => Effect.map(seal("[]"), (continueCursor) => ({
997
1026
  page: Array.fromIterable(page),
998
1027
  isDone: true,
999
- continueCursor: "[]"
1000
- }),
1028
+ continueCursor
1029
+ })),
1001
1030
  Continue: ({ page, key }) => Effect.map(encode(key), (continueCursor) => ({
1002
1031
  page: Array.fromIterable(page),
1003
1032
  isDone: false,