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

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.
Files changed (273) hide show
  1. package/dist/ActionCall.d.ts +30 -0
  2. package/dist/ActionCall.d.ts.map +1 -0
  3. package/dist/ActionCall.js +41 -0
  4. package/dist/ActionCall.js.map +1 -0
  5. package/dist/ActionCtx.d.ts +1 -1
  6. package/dist/ActionCtx.d.ts.map +1 -1
  7. package/dist/ActionCtx.js.map +1 -1
  8. package/dist/ActionRunner.js +2 -2
  9. package/dist/AiGatewayDecisionClient.d.ts +2 -2
  10. package/dist/AiGatewayDecisionClient.d.ts.map +1 -1
  11. package/dist/AiGatewayDecisionClient.js +1 -1
  12. package/dist/AiGatewayDecisionClient.js.map +1 -1
  13. package/dist/AiGatewayLanguageClient.d.ts +2 -2
  14. package/dist/AiGatewayLanguageClient.d.ts.map +1 -1
  15. package/dist/AiGatewayLanguageClient.js +1 -1
  16. package/dist/AiGatewayLanguageClient.js.map +1 -1
  17. package/dist/Auth.d.ts +1 -1
  18. package/dist/Auth.d.ts.map +1 -1
  19. package/dist/Auth.js +1 -1
  20. package/dist/Auth.js.map +1 -1
  21. package/dist/Callback.js +3 -3
  22. package/dist/ComponentCtx.d.ts +1 -1
  23. package/dist/ComponentCtx.d.ts.map +1 -1
  24. package/dist/ConvexConfigProvider.js +2 -2
  25. package/dist/ConvexFunctionDefinitions.d.ts +4 -4
  26. package/dist/ConvexFunctionDefinitions.d.ts.map +1 -1
  27. package/dist/ConvexFunctionDefinitions.js +2 -2
  28. package/dist/ConvexFunctionDefinitions.js.map +1 -1
  29. package/dist/ConvexLogger.js +1 -1
  30. package/dist/CronJobs.d.ts +1 -1
  31. package/dist/CronJobs.d.ts.map +1 -1
  32. package/dist/CronJobs.js +6 -6
  33. package/dist/CronJobs.js.map +1 -1
  34. package/dist/DataModel.d.ts +3 -3
  35. package/dist/DataModel.d.ts.map +1 -1
  36. package/dist/DataModel.js.map +1 -1
  37. package/dist/DatabaseReader.d.ts +4 -4
  38. package/dist/DatabaseReader.d.ts.map +1 -1
  39. package/dist/DatabaseReader.js.map +1 -1
  40. package/dist/DatabaseSchema.d.ts +1 -1
  41. package/dist/DatabaseSchema.d.ts.map +1 -1
  42. package/dist/DatabaseSchema.js +2 -2
  43. package/dist/DatabaseSchema.js.map +1 -1
  44. package/dist/DatabaseWriter.d.ts +41 -7
  45. package/dist/DatabaseWriter.d.ts.map +1 -1
  46. package/dist/DatabaseWriter.js +55 -8
  47. package/dist/DatabaseWriter.js.map +1 -1
  48. package/dist/Document.d.ts +4 -4
  49. package/dist/Document.d.ts.map +1 -1
  50. package/dist/Document.js.map +1 -1
  51. package/dist/ExecutionMetadata.js +1 -1
  52. package/dist/FunctionImpl.d.ts +2 -2
  53. package/dist/FunctionImpl.d.ts.map +1 -1
  54. package/dist/FunctionImpl.js +2 -2
  55. package/dist/FunctionImpl.js.map +1 -1
  56. package/dist/FunctionRegistryItem.d.ts +1 -1
  57. package/dist/FunctionRegistryItem.d.ts.map +1 -1
  58. package/dist/FunctionRegistryItem.js +1 -1
  59. package/dist/FunctionRegistryItem.js.map +1 -1
  60. package/dist/GroupImpl.d.ts +24 -5
  61. package/dist/GroupImpl.d.ts.map +1 -1
  62. package/dist/GroupImpl.js +21 -22
  63. package/dist/GroupImpl.js.map +1 -1
  64. package/dist/GroupRegistry.d.ts +2 -2
  65. package/dist/GroupRegistry.d.ts.map +1 -1
  66. package/dist/GroupRegistry.js.map +1 -1
  67. package/dist/Handler.d.ts +30 -26
  68. package/dist/Handler.d.ts.map +1 -1
  69. package/dist/Handler.js.map +1 -1
  70. package/dist/HttpRouter.d.ts +13 -13
  71. package/dist/HttpRouter.d.ts.map +1 -1
  72. package/dist/HttpRouter.js +2 -2
  73. package/dist/HttpRouter.js.map +1 -1
  74. package/dist/MiddlewareImpl.d.ts +14 -14
  75. package/dist/MiddlewareImpl.d.ts.map +1 -1
  76. package/dist/MiddlewareImpl.js +1 -1
  77. package/dist/MiddlewareImpl.js.map +1 -1
  78. package/dist/MutationCtx.d.ts +1 -1
  79. package/dist/MutationCtx.d.ts.map +1 -1
  80. package/dist/MutationCtx.js.map +1 -1
  81. package/dist/MutationRunner.d.ts +1 -1
  82. package/dist/MutationRunner.d.ts.map +1 -1
  83. package/dist/MutationRunner.js +2 -2
  84. package/dist/MutationRunner.js.map +1 -1
  85. package/dist/MutationTransactionContext.d.ts +2 -2
  86. package/dist/MutationTransactionContext.d.ts.map +1 -1
  87. package/dist/MutationTransactionContext.js +2 -2
  88. package/dist/MutationTransactionContext.js.map +1 -1
  89. package/dist/OfficialComponent.d.ts +50 -0
  90. package/dist/OfficialComponent.d.ts.map +1 -0
  91. package/dist/OfficialComponent.js +70 -0
  92. package/dist/OfficialComponent.js.map +1 -0
  93. package/dist/OrderedQuery.d.ts +4 -4
  94. package/dist/OrderedQuery.d.ts.map +1 -1
  95. package/dist/OrderedQuery.js.map +1 -1
  96. package/dist/QueryCtx.d.ts +1 -1
  97. package/dist/QueryCtx.d.ts.map +1 -1
  98. package/dist/QueryCtx.js.map +1 -1
  99. package/dist/QueryInitializer.d.ts +10 -10
  100. package/dist/QueryInitializer.d.ts.map +1 -1
  101. package/dist/QueryInitializer.js +2 -2
  102. package/dist/QueryInitializer.js.map +1 -1
  103. package/dist/QueryRunner.d.ts +2 -2
  104. package/dist/QueryRunner.d.ts.map +1 -1
  105. package/dist/QueryRunner.js +2 -2
  106. package/dist/QueryRunner.js.map +1 -1
  107. package/dist/QueryStream.d.ts +86 -13
  108. package/dist/QueryStream.d.ts.map +1 -1
  109. package/dist/QueryStream.js +81 -8
  110. package/dist/QueryStream.js.map +1 -1
  111. package/dist/QueryStreamCursor.d.ts +2 -2
  112. package/dist/QueryStreamCursor.d.ts.map +1 -1
  113. package/dist/QueryStreamCursor.js +1 -1
  114. package/dist/QueryStreamCursor.js.map +1 -1
  115. package/dist/QueryStreamIndexPrefix.d.ts +2 -2
  116. package/dist/QueryStreamIndexPrefix.d.ts.map +1 -1
  117. package/dist/QueryStreamIndexPrefix.js +1 -1
  118. package/dist/QueryStreamIndexPrefix.js.map +1 -1
  119. package/dist/QueryStreamIndexRange.d.ts +4 -4
  120. package/dist/QueryStreamIndexRange.d.ts.map +1 -1
  121. package/dist/QueryStreamIndexRange.js +2 -2
  122. package/dist/QueryStreamIndexRange.js.map +1 -1
  123. package/dist/QueryStreamKey.d.ts +2 -2
  124. package/dist/QueryStreamKey.d.ts.map +1 -1
  125. package/dist/QueryStreamKey.js +1 -1
  126. package/dist/QueryStreamKey.js.map +1 -1
  127. package/dist/QueryStreamKeyBounds.d.ts +3 -3
  128. package/dist/QueryStreamKeyBounds.d.ts.map +1 -1
  129. package/dist/QueryStreamKeyBounds.js +2 -2
  130. package/dist/QueryStreamKeyBounds.js.map +1 -1
  131. package/dist/QueryStreamKeyLayout.d.ts +1 -1
  132. package/dist/QueryStreamKeyLayout.d.ts.map +1 -1
  133. package/dist/QueryStreamKeyLayout.js +2 -2
  134. package/dist/QueryStreamKeyLayout.js.map +1 -1
  135. package/dist/QueryStreamKeyValues.d.ts +1 -1
  136. package/dist/QueryStreamKeyValues.d.ts.map +1 -1
  137. package/dist/QueryStreamKeyValues.js +1 -1
  138. package/dist/QueryStreamKeyValues.js.map +1 -1
  139. package/dist/QueryStreamPagination.d.ts +1 -1
  140. package/dist/QueryStreamPagination.d.ts.map +1 -1
  141. package/dist/QueryStreamPagination.js +1 -1
  142. package/dist/QueryStreamPagination.js.map +1 -1
  143. package/dist/QueryStreamReadBudget.d.ts +3 -2
  144. package/dist/QueryStreamReadBudget.d.ts.map +1 -1
  145. package/dist/QueryStreamReadBudget.js +6 -3
  146. package/dist/QueryStreamReadBudget.js.map +1 -1
  147. package/dist/QueryTransactionContext.js +2 -2
  148. package/dist/RegisteredConvexFunction.d.ts +20 -20
  149. package/dist/RegisteredConvexFunction.d.ts.map +1 -1
  150. package/dist/RegisteredConvexFunction.js +19 -19
  151. package/dist/RegisteredConvexFunction.js.map +1 -1
  152. package/dist/RegisteredFunction.d.ts +26 -26
  153. package/dist/RegisteredFunction.d.ts.map +1 -1
  154. package/dist/RegisteredFunction.js +55 -13
  155. package/dist/RegisteredFunction.js.map +1 -1
  156. package/dist/RegisteredFunctions.d.ts +3 -3
  157. package/dist/RegisteredFunctions.d.ts.map +1 -1
  158. package/dist/RegisteredFunctions.js.map +1 -1
  159. package/dist/RegisteredNodeFunction.d.ts +6 -6
  160. package/dist/RegisteredNodeFunction.d.ts.map +1 -1
  161. package/dist/RegisteredNodeFunction.js +1 -1
  162. package/dist/RegisteredNodeFunction.js.map +1 -1
  163. package/dist/Registry.d.ts +1 -1
  164. package/dist/Registry.d.ts.map +1 -1
  165. package/dist/Registry.js.map +1 -1
  166. package/dist/RegistryItems.d.ts +7 -0
  167. package/dist/RegistryItems.d.ts.map +1 -1
  168. package/dist/RegistryItems.js +8 -3
  169. package/dist/RegistryItems.js.map +1 -1
  170. package/dist/RequestMetadata.js +1 -1
  171. package/dist/ResolvedMiddleware.d.ts +2 -2
  172. package/dist/ResolvedMiddleware.d.ts.map +1 -1
  173. package/dist/ResolvedMiddleware.js.map +1 -1
  174. package/dist/Scheduler.js +2 -2
  175. package/dist/Storage.d.ts +6 -6
  176. package/dist/Storage.d.ts.map +1 -1
  177. package/dist/Storage.js +1 -1
  178. package/dist/Storage.js.map +1 -1
  179. package/dist/StorageActionWriter.d.ts +1 -1
  180. package/dist/StorageActionWriter.d.ts.map +1 -1
  181. package/dist/StorageActionWriter.js +1 -1
  182. package/dist/StorageActionWriter.js.map +1 -1
  183. package/dist/StorageReader.d.ts +1 -1
  184. package/dist/StorageReader.d.ts.map +1 -1
  185. package/dist/StorageReader.js +1 -1
  186. package/dist/StorageReader.js.map +1 -1
  187. package/dist/StorageWriter.d.ts +1 -1
  188. package/dist/StorageWriter.d.ts.map +1 -1
  189. package/dist/StorageWriter.js +1 -1
  190. package/dist/StorageWriter.js.map +1 -1
  191. package/dist/TableInfo.d.ts +2 -2
  192. package/dist/TableInfo.d.ts.map +1 -1
  193. package/dist/TableInfo.js.map +1 -1
  194. package/dist/TransactionMetadata.js +1 -1
  195. package/dist/VectorSearch.d.ts +1 -1
  196. package/dist/VectorSearch.d.ts.map +1 -1
  197. package/dist/VectorSearch.js +1 -1
  198. package/dist/VectorSearch.js.map +1 -1
  199. package/dist/index.d.ts +62 -60
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +11 -9
  202. package/dist/internal/AiGatewayDecisionClient.d.ts +1 -1
  203. package/dist/internal/AiGatewayDecisionClient.d.ts.map +1 -1
  204. package/dist/internal/AiGatewayDecisionClient.js +1 -1
  205. package/dist/internal/AiGatewayDecisionClient.js.map +1 -1
  206. package/dist/internal/AiGatewayLanguageClient.d.ts +1 -1
  207. package/dist/internal/AiGatewayLanguageClient.d.ts.map +1 -1
  208. package/dist/internal/AiGatewayLanguageClient.js +1 -1
  209. package/dist/internal/AiGatewayLanguageClient.js.map +1 -1
  210. package/dist/internal/AiGatewayServiceToken.js +1 -1
  211. package/dist/internal/DocumentPatch.d.ts +16 -0
  212. package/dist/internal/DocumentPatch.d.ts.map +1 -0
  213. package/dist/internal/DocumentPatch.js +36 -0
  214. package/dist/internal/DocumentPatch.js.map +1 -0
  215. package/dist/node.d.ts +1 -1
  216. package/dist/node.d.ts.map +1 -1
  217. package/package.json +2 -2
  218. package/src/ActionCall.ts +82 -0
  219. package/src/ActionCtx.ts +1 -1
  220. package/src/AiGatewayDecisionClient.ts +3 -3
  221. package/src/AiGatewayLanguageClient.ts +3 -3
  222. package/src/Auth.ts +1 -1
  223. package/src/ComponentCtx.ts +1 -1
  224. package/src/ConvexFunctionDefinitions.ts +8 -8
  225. package/src/CronJobs.ts +1 -1
  226. package/src/DataModel.ts +3 -3
  227. package/src/DatabaseReader.ts +4 -4
  228. package/src/DatabaseSchema.ts +1 -1
  229. package/src/DatabaseWriter.ts +189 -31
  230. package/src/Document.ts +4 -4
  231. package/src/FunctionImpl.ts +5 -5
  232. package/src/FunctionRegistryItem.ts +1 -1
  233. package/src/GroupImpl.ts +66 -13
  234. package/src/GroupRegistry.ts +4 -4
  235. package/src/Handler.ts +43 -28
  236. package/src/HttpRouter.ts +17 -17
  237. package/src/MiddlewareImpl.ts +17 -17
  238. package/src/MutationCtx.ts +1 -1
  239. package/src/MutationRunner.ts +1 -1
  240. package/src/MutationTransactionContext.ts +2 -2
  241. package/src/OfficialComponent.ts +151 -0
  242. package/src/OrderedQuery.ts +4 -4
  243. package/src/QueryCtx.ts +1 -1
  244. package/src/QueryInitializer.ts +9 -9
  245. package/src/QueryRunner.ts +2 -2
  246. package/src/QueryStream.ts +212 -20
  247. package/src/QueryStreamCursor.ts +3 -3
  248. package/src/QueryStreamIndexPrefix.ts +2 -2
  249. package/src/QueryStreamIndexRange.ts +4 -4
  250. package/src/QueryStreamKey.ts +2 -2
  251. package/src/QueryStreamKeyBounds.ts +3 -3
  252. package/src/QueryStreamKeyLayout.ts +1 -1
  253. package/src/QueryStreamKeyValues.ts +1 -1
  254. package/src/QueryStreamPagination.ts +2 -2
  255. package/src/QueryStreamReadBudget.ts +19 -6
  256. package/src/RegisteredConvexFunction.ts +21 -21
  257. package/src/RegisteredFunction.ts +72 -19
  258. package/src/RegisteredFunctions.ts +4 -4
  259. package/src/RegisteredNodeFunction.ts +8 -8
  260. package/src/Registry.ts +1 -1
  261. package/src/RegistryItems.ts +33 -2
  262. package/src/ResolvedMiddleware.ts +2 -2
  263. package/src/Storage.ts +3 -3
  264. package/src/StorageActionWriter.ts +1 -1
  265. package/src/StorageReader.ts +1 -1
  266. package/src/StorageWriter.ts +1 -1
  267. package/src/TableInfo.ts +2 -2
  268. package/src/VectorSearch.ts +1 -1
  269. package/src/index.ts +62 -60
  270. package/src/internal/AiGatewayDecisionClient.ts +2 -2
  271. package/src/internal/AiGatewayLanguageClient.ts +2 -2
  272. package/src/internal/DocumentPatch.ts +87 -0
  273. package/src/node.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"QueryInitializer.js","names":["Document.decode","OrderedQuery.make","QueryStreamIndexRange.builder","QueryStream.fromReflection","Document.documentErrorMessage"],"sources":["../src/QueryInitializer.ts"],"sourcesContent":["import type * as IdScope from \"@confect/core/IdScope\";\nimport type {\n OrderedQuery as ConvexOrderedQuery,\n QueryInitializer as ConvexQueryInitializer,\n DocumentByInfo,\n GenericTableIndexes,\n Indexes,\n IndexRange,\n IndexRangeBuilder,\n NamedIndex,\n NamedSearchIndex,\n NamedTableInfo,\n Query,\n SearchFilter,\n SearchFilterBuilder,\n SearchIndexes,\n} from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport { pipe } from \"effect/Function\";\nimport * as Array from \"effect/Array\";\nimport * as Effect from \"effect/Effect\";\nimport * as Option from \"effect/Option\";\nimport * as Predicate from \"effect/Predicate\";\nimport type { ReadonlyRecord } from \"effect/Record\";\nimport * as Result from \"effect/Result\";\nimport * as Schema from \"effect/Schema\";\nimport type {\n BaseDatabaseReader,\n IndexFieldTypesForEq,\n} from \"@confect/core/Types\";\nimport type * as DataModel from \"./DataModel\";\nimport type * as DatabaseSchema from \"./DatabaseSchema\";\nimport * as Document from \"./Document\";\nimport * as OrderedQuery from \"./OrderedQuery\";\nimport * as QueryStream from \"./QueryStream\";\nimport type * as QueryStreamKeyLabels from \"./QueryStreamKeyLabels\";\nimport * as QueryStreamIndexRange from \"./QueryStreamIndexRange\";\nimport type { QueryStreamOrderDirection as OrderDirection } from \"./QueryStreamOrderDirection\";\nimport type * as Table from \"./Table\";\n\ntype ConvexTableInfoFor<\n DataModel_ extends DataModel.AnyWithProps,\n TableName extends DataModel.TableNames<DataModel_>,\n> = DataModel.TableInfoWithName<DataModel_, TableName>;\n\ntype TableInfoFor<\n DataModel_ extends DataModel.AnyWithProps,\n TableName extends DataModel.TableNames<DataModel_>,\n> = DataModel.TableInfoWithName_<DataModel_, TableName>;\n\nexport interface QueryInitializer<\n DataModel_ extends DataModel.AnyWithProps,\n TableName extends DataModel.TableNames<DataModel_>,\n Doc = DataModel.DocumentWithName<DataModel_, TableName>,\n TargetKind extends DatabaseSchema.Target[\"kind\"] = \"app\",\n> {\n readonly get: {\n (\n id: DataModel.Id<DataModel_, TableName>,\n ): Effect.Effect<Doc, Document.DocumentDecodeError | GetByIdFailure>;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n ...indexFieldValues: IndexFieldTypesForEq<\n DataModel.ToConvex<DataModel_>,\n TableName,\n Indexes<ConvexTableInfoFor<DataModel_, TableName>>[IndexName]\n >\n ): Effect.Effect<Doc, Document.DocumentDecodeError | GetByIndexFailure>;\n };\n readonly index: {\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n indexRange?: (\n q: IndexRangeBuilder<\n TableInfoFor<DataModel_, TableName>[\"convexDocument\"],\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n ) => IndexRange,\n order?: OrderDirection,\n ): OrderedQuery.OrderedQuery<\n TableInfoFor<DataModel_, TableName>,\n Doc,\n TargetKind\n >;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n order?: OrderDirection,\n ): OrderedQuery.OrderedQuery<\n TableInfoFor<DataModel_, TableName>,\n Doc,\n TargetKind\n >;\n };\n readonly search: <\n IndexName extends keyof SearchIndexes<\n ConvexTableInfoFor<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n searchFilter: (\n q: SearchFilterBuilder<\n DocumentByInfo<ConvexTableInfoFor<DataModel_, TableName>>,\n NamedSearchIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n ) => SearchFilter,\n ) => OrderedQuery.OrderedQuery<\n TableInfoFor<DataModel_, TableName>,\n Doc,\n TargetKind\n >;\n /**\n * EXPERIMENTAL—stream-first querying (see `notes/stream-based-querying.md`).\n *\n * Like `index`, but returns a {@link QueryStream.QueryStream}: a genuine\n * Effect `Stream` of documents in index order that stays mergeable and\n * paginable.\n *\n * In SQL terms: an index range scan—`SELECT * FROM table WHERE <range> ORDER\n * BY <index fields> [DESC]`; `eq` calls are the equality predicates, the\n * bound calls are the range predicates. The value is a reusable description\n * of a query: each run re-runs the index query. * The typed range builder\n * consumes `eq`-pinned fields from the index's field tuple at the type level,\n * so the stream's visible label type is exactly the fields that still vary\n * (the `ORDER BY` columns left after the equality predicates). The order\n * direction is part of the type too: omitted, it is `\"asc\"`; a literal is\n * tracked as that literal, and a value known only at runtime as the union.\n * The order parameter is either absent or a direction—never `undefined`—so\n * the type can't claim a literal the runtime default would contradict.\n */\n readonly stream: {\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n > &\n string,\n Range extends QueryStreamIndexRange.QueryStreamIndexRange,\n >(\n indexName: IndexName,\n indexRange: (\n q: QueryStreamIndexRange.Builder<\n TableInfoFor<DataModel_, TableName>[\"convexDocument\"],\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n ) => Range,\n ): QueryStream.QueryStream<\n Doc,\n QueryStreamKeyLabels.QueryStreamKeyLabels<\n QueryStreamIndexRange.Remaining<Range>\n >,\n \"asc\",\n Document.DocumentDecodeError,\n never\n >;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n > &\n string,\n Range extends QueryStreamIndexRange.QueryStreamIndexRange,\n Direction extends OrderDirection,\n >(\n indexName: IndexName,\n indexRange: (\n q: QueryStreamIndexRange.Builder<\n TableInfoFor<DataModel_, TableName>[\"convexDocument\"],\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n ) => Range,\n order: Direction,\n ): QueryStream.QueryStream<\n Doc,\n QueryStreamKeyLabels.QueryStreamKeyLabels<\n QueryStreamIndexRange.Remaining<Range>\n >,\n Direction,\n Document.DocumentDecodeError,\n never\n >;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n > &\n string,\n >(\n indexName: IndexName,\n ): QueryStream.QueryStream<\n Doc,\n QueryStreamKeyLabels.QueryStreamKeyLabels<\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n \"asc\",\n Document.DocumentDecodeError,\n never\n >;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n > &\n string,\n Direction extends OrderDirection,\n >(\n indexName: IndexName,\n order: Direction,\n ): QueryStream.QueryStream<\n Doc,\n QueryStreamKeyLabels.QueryStreamKeyLabels<\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n Direction,\n Document.DocumentDecodeError,\n never\n >;\n };\n}\n\nexport function make<\n Tables extends Table.AnyWithProps,\n TableName extends Table.Name<Tables>,\n>(\n convexDatabaseReader: BaseDatabaseReader<\n DataModel.ToConvex<DataModel.FromTables<Tables>>\n >,\n table: Table.WithName<Tables, TableName> & { readonly scope: IdScope.App },\n): QueryInitializer<DataModel.FromTables<Tables>, TableName>;\nexport function make<\n Tables extends Table.AnyWithProps,\n TableName extends Table.Name<Tables>,\n>(\n convexDatabaseReader: BaseDatabaseReader<\n DataModel.ToConvex<DataModel.FromTables<Tables>>\n >,\n table: Table.WithName<Tables, TableName>,\n): QueryInitializer<\n DataModel.FromTables<Tables>,\n TableName,\n DataModel.DocumentWithName<DataModel.FromTables<Tables>, TableName>,\n Table.Scope<Table.WithName<Tables, TableName>> extends IdScope.App\n ? \"app\"\n : \"component\"\n>;\nexport function make<\n Tables extends Table.AnyWithProps,\n TableName extends Table.Name<Tables>,\n>(\n convexDatabaseReader: BaseDatabaseReader<\n DataModel.ToConvex<DataModel.FromTables<Tables>>\n >,\n table: Table.WithName<Tables, TableName>,\n): QueryInitializer<\n DataModel.FromTables<Tables>,\n TableName,\n DataModel.DocumentWithName<DataModel.FromTables<Tables>, TableName>,\n DatabaseSchema.Target[\"kind\"]\n> {\n const tableName = table.tableName;\n type DataModel_ = DataModel.FromTables<Tables>;\n type ConvexDataModel_ = DataModel.ToConvex<DataModel_>;\n type ThisQueryInitializer = QueryInitializer<\n DataModel_,\n TableName,\n DataModel.DocumentWithName<DataModel_, TableName>,\n DatabaseSchema.Target[\"kind\"]\n >;\n type QueryInitializerFunction<\n FunctionName extends keyof ThisQueryInitializer,\n > = ThisQueryInitializer[FunctionName];\n\n const getByIndex = <\n IndexName extends keyof Indexes<\n DataModel.TableInfoWithName<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n indexFieldValues: IndexFieldTypesForEq<\n DataModel.ToConvex<DataModel_>,\n TableName,\n Indexes<DataModel.TableInfoWithName<DataModel_, TableName>>[IndexName]\n >,\n ): Effect.Effect<\n DataModel.DocumentWithName<DataModel_, TableName>,\n Document.DocumentDecodeError | GetByIndexFailure\n > => {\n const indexFieldPaths: GenericTableIndexes[keyof GenericTableIndexes] = (\n table.indexes as GenericTableIndexes\n )[indexName as keyof GenericTableIndexes]!;\n\n return pipe(\n Effect.promise(() =>\n convexDatabaseReader\n .query(tableName)\n .withIndex(indexName, (q) =>\n Array.reduce(\n indexFieldValues,\n q,\n (q_, v, i) => q_.eq(indexFieldPaths[i] as any, v as any) as any,\n ),\n )\n .unique(),\n ),\n Effect.andThen((value) =>\n Effect.fromResult(\n Result.fromNullishOr(\n value,\n () =>\n new GetByIndexFailure({\n tableName,\n indexName: indexName as string,\n indexFieldValues,\n }),\n ),\n ),\n ),\n Effect.andThen(Document.decode(table)),\n );\n };\n\n const get: QueryInitializerFunction<\"get\"> = ((\n ...args: Parameters<QueryInitializerFunction<\"get\">>\n ) => {\n if (args.length === 1) {\n const id = args[0] as GenericId<TableName>;\n\n return getById<Tables, TableName>(convexDatabaseReader, table)(id);\n } else {\n const [indexName, ...indexFieldValues] = args;\n\n return getByIndex(\n indexName as keyof Indexes<\n DataModel.TableInfoWithName<DataModel_, TableName>\n >,\n indexFieldValues,\n );\n }\n }) as QueryInitializerFunction<\"get\">;\n\n const index: QueryInitializerFunction<\"index\"> = <\n IndexName extends keyof Indexes<\n DataModel.TableInfoWithName<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n indexRangeOrOrder?:\n | ((\n q: IndexRangeBuilder<\n DataModel.TableInfoWithName_<\n DataModel_,\n TableName\n >[\"convexDocument\"],\n NamedIndex<\n DataModel.TableInfoWithName<DataModel_, TableName>,\n IndexName\n >\n >,\n ) => IndexRange)\n | OrderDirection,\n order?: OrderDirection,\n ) => {\n const {\n applyWithIndex,\n applyOrder,\n }: {\n applyWithIndex: (\n queryInitializer: ConvexQueryInitializer<\n NamedTableInfo<ConvexDataModel_, TableName>\n >,\n ) => Query<NamedTableInfo<ConvexDataModel_, TableName>>;\n applyOrder: (\n query: Query<NamedTableInfo<ConvexDataModel_, TableName>>,\n ) => ConvexOrderedQuery<NamedTableInfo<ConvexDataModel_, TableName>>;\n } =\n indexRangeOrOrder === undefined\n ? {\n applyWithIndex: (q) => q.withIndex(indexName),\n applyOrder: (q) => q.order(\"asc\"),\n }\n : typeof indexRangeOrOrder === \"function\"\n ? order === undefined\n ? {\n applyWithIndex: (q) =>\n q.withIndex(indexName, indexRangeOrOrder),\n applyOrder: (q) => q.order(\"asc\"),\n }\n : {\n applyWithIndex: (q) =>\n q.withIndex(indexName, indexRangeOrOrder),\n applyOrder: (q) => q.order(order),\n }\n : {\n applyWithIndex: (q) => q.withIndex(indexName),\n applyOrder: (q) => q.order(indexRangeOrOrder),\n };\n\n const orderedQuery = pipe(\n convexDatabaseReader.query(tableName),\n applyWithIndex,\n applyOrder,\n );\n\n return OrderedQuery.make(orderedQuery, table);\n };\n\n const stream: QueryInitializerFunction<\"stream\"> = ((\n indexName: string,\n indexRangeOrOrder?:\n | ((\n q: QueryStreamIndexRange.Builder<any, any>,\n ) => QueryStreamIndexRange.QueryStreamIndexRange)\n | OrderDirection,\n maybeOrder?: OrderDirection,\n ) => {\n const orderDirection = Predicate.isString(indexRangeOrOrder)\n ? indexRangeOrOrder\n : (maybeOrder ?? \"asc\");\n\n // Without a range callback, the leaf scans the entire index.\n const indexRange = Predicate.isFunction(indexRangeOrOrder)\n ? indexRangeOrOrder(QueryStreamIndexRange.builder())\n : QueryStreamIndexRange.builder();\n\n // The type-level field tuple appends the `_creationTime` tiebreaker, but\n // the runtime `table.indexes` record stores only the declared fields—append it here.\n const indexFieldPaths: ReadonlyArray<string> =\n indexName === \"by_id\"\n ? [\"_id\"]\n : indexName === \"by_creation_time\"\n ? [\"_creationTime\"]\n : pipe(\n Option.fromUndefinedOr(\n (\n table.indexes as ReadonlyRecord<string, ReadonlyArray<string>>\n )[indexName],\n ),\n // An unknown index name is a defect, not an empty field list:\n // silently empty fields would make key extraction and range\n // splitting target the wrong fields.\n Option.getOrThrowWith(\n () =>\n new Error(\n `QueryInitializer.stream: table \"${tableName}\" has no index named \"${indexName}\"`,\n ),\n ),\n Array.append(\"_creationTime\"),\n );\n\n return QueryStream.fromReflection({\n reader: convexDatabaseReader as QueryStream.ReflectionReader,\n table,\n indexName,\n indexFieldPaths,\n indexRange,\n orderDirection,\n });\n }) as QueryInitializerFunction<\"stream\">;\n\n const search: QueryInitializerFunction<\"search\"> = (\n indexName,\n searchFilter,\n ) =>\n OrderedQuery.make(\n convexDatabaseReader\n .query(tableName)\n .withSearchIndex(indexName, searchFilter),\n table,\n );\n\n return {\n get,\n index,\n search,\n stream,\n };\n}\n\nexport const getById =\n <Tables extends Table.AnyWithProps, TableName extends Table.Name<Tables>>(\n convexDatabaseReader: BaseDatabaseReader<\n DataModel.ToConvex<DataModel.FromTables<Tables>>\n >,\n table: Table.WithName<Tables, TableName>,\n ) =>\n (id: GenericId<TableName>) =>\n pipe(\n Effect.promise(() => convexDatabaseReader.get(id)),\n Effect.andThen((value) =>\n Effect.fromResult(\n Result.fromNullishOr(\n value,\n () => new GetByIdFailure({ tableName: table.tableName, id }),\n ),\n ),\n ),\n Effect.andThen(Document.decode(table)),\n );\n\nexport class GetByIdFailure extends Schema.TaggedError<GetByIdFailure>()(\n \"GetByIdFailure\",\n {\n id: Schema.String,\n tableName: Schema.String,\n },\n) {\n override get message(): string {\n return Document.documentErrorMessage({\n id: this.id,\n tableName: this.tableName,\n message: \"not found\",\n });\n }\n}\n\nexport class GetByIndexFailure extends Schema.TaggedError<GetByIndexFailure>()(\n \"GetByIndexFailure\",\n {\n tableName: Schema.String,\n indexName: Schema.String,\n indexFieldValues: Schema.Array(Schema.Unknown),\n },\n) {\n override get message(): string {\n return `No documents found in table '${this.tableName}' with index '${this.indexName}' and field values '${JSON.stringify(\n this.indexFieldValues,\n (_key, value) => (typeof value === \"bigint\" ? value.toString() : value),\n )}'`;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"QueryInitializer.js","names":["Document.decode","OrderedQuery.make","QueryStreamIndexRange.builder","QueryStream.fromReflection","Document.documentErrorMessage"],"sources":["../src/QueryInitializer.ts"],"sourcesContent":["import type * as IdScope from \"@confect/core/IdScope\";\nimport type {\n OrderedQuery as ConvexOrderedQuery,\n QueryInitializer as ConvexQueryInitializer,\n DocumentByInfo,\n GenericTableIndexes,\n Indexes,\n IndexRange,\n IndexRangeBuilder,\n NamedIndex,\n NamedSearchIndex,\n NamedTableInfo,\n Query,\n SearchFilter,\n SearchFilterBuilder,\n SearchIndexes,\n} from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport { pipe } from \"effect/Function\";\nimport * as Array from \"effect/Array\";\nimport * as Effect from \"effect/Effect\";\nimport * as Option from \"effect/Option\";\nimport * as Predicate from \"effect/Predicate\";\nimport type { ReadonlyRecord } from \"effect/Record\";\nimport * as Result from \"effect/Result\";\nimport * as Schema from \"effect/Schema\";\nimport type {\n BaseDatabaseReader,\n IndexFieldTypesForEq,\n} from \"@confect/core/Types\";\nimport type * as DataModel from \"./DataModel.js\";\nimport type * as DatabaseSchema from \"./DatabaseSchema.js\";\nimport * as Document from \"./Document.js\";\nimport * as OrderedQuery from \"./OrderedQuery.js\";\nimport * as QueryStream from \"./QueryStream.js\";\nimport type * as QueryStreamKeyLabels from \"./QueryStreamKeyLabels.js\";\nimport * as QueryStreamIndexRange from \"./QueryStreamIndexRange.js\";\nimport type { QueryStreamOrderDirection as OrderDirection } from \"./QueryStreamOrderDirection.js\";\nimport type * as Table from \"./Table.js\";\n\ntype ConvexTableInfoFor<\n DataModel_ extends DataModel.AnyWithProps,\n TableName extends DataModel.TableNames<DataModel_>,\n> = DataModel.TableInfoWithName<DataModel_, TableName>;\n\ntype TableInfoFor<\n DataModel_ extends DataModel.AnyWithProps,\n TableName extends DataModel.TableNames<DataModel_>,\n> = DataModel.TableInfoWithName_<DataModel_, TableName>;\n\nexport interface QueryInitializer<\n DataModel_ extends DataModel.AnyWithProps,\n TableName extends DataModel.TableNames<DataModel_>,\n Doc = DataModel.DocumentWithName<DataModel_, TableName>,\n TargetKind extends DatabaseSchema.Target[\"kind\"] = \"app\",\n> {\n readonly get: {\n (\n id: DataModel.Id<DataModel_, TableName>,\n ): Effect.Effect<Doc, Document.DocumentDecodeError | GetByIdFailure>;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n ...indexFieldValues: IndexFieldTypesForEq<\n DataModel.ToConvex<DataModel_>,\n TableName,\n Indexes<ConvexTableInfoFor<DataModel_, TableName>>[IndexName]\n >\n ): Effect.Effect<Doc, Document.DocumentDecodeError | GetByIndexFailure>;\n };\n readonly index: {\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n indexRange?: (\n q: IndexRangeBuilder<\n TableInfoFor<DataModel_, TableName>[\"convexDocument\"],\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n ) => IndexRange,\n order?: OrderDirection,\n ): OrderedQuery.OrderedQuery<\n TableInfoFor<DataModel_, TableName>,\n Doc,\n TargetKind\n >;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n order?: OrderDirection,\n ): OrderedQuery.OrderedQuery<\n TableInfoFor<DataModel_, TableName>,\n Doc,\n TargetKind\n >;\n };\n readonly search: <\n IndexName extends keyof SearchIndexes<\n ConvexTableInfoFor<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n searchFilter: (\n q: SearchFilterBuilder<\n DocumentByInfo<ConvexTableInfoFor<DataModel_, TableName>>,\n NamedSearchIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n ) => SearchFilter,\n ) => OrderedQuery.OrderedQuery<\n TableInfoFor<DataModel_, TableName>,\n Doc,\n TargetKind\n >;\n /**\n * EXPERIMENTAL—stream-first querying (see `notes/stream-based-querying.md`).\n *\n * Like `index`, but returns a {@link QueryStream.QueryStream}: a genuine\n * Effect `Stream` of documents in index order that stays mergeable and\n * paginable.\n *\n * In SQL terms: an index range scan—`SELECT * FROM table WHERE <range> ORDER\n * BY <index fields> [DESC]`; `eq` calls are the equality predicates, the\n * bound calls are the range predicates. The value is a reusable description\n * of a query: each run re-runs the index query. * The typed range builder\n * consumes `eq`-pinned fields from the index's field tuple at the type level,\n * so the stream's visible label type is exactly the fields that still vary\n * (the `ORDER BY` columns left after the equality predicates). The order\n * direction is part of the type too: omitted, it is `\"asc\"`; a literal is\n * tracked as that literal, and a value known only at runtime as the union.\n * The order parameter is either absent or a direction—never `undefined`—so\n * the type can't claim a literal the runtime default would contradict.\n */\n readonly stream: {\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n > &\n string,\n Range extends QueryStreamIndexRange.QueryStreamIndexRange,\n >(\n indexName: IndexName,\n indexRange: (\n q: QueryStreamIndexRange.Builder<\n TableInfoFor<DataModel_, TableName>[\"convexDocument\"],\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n ) => Range,\n ): QueryStream.QueryStream<\n Doc,\n QueryStreamKeyLabels.QueryStreamKeyLabels<\n QueryStreamIndexRange.Remaining<Range>\n >,\n \"asc\",\n Document.DocumentDecodeError,\n never\n >;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n > &\n string,\n Range extends QueryStreamIndexRange.QueryStreamIndexRange,\n Direction extends OrderDirection,\n >(\n indexName: IndexName,\n indexRange: (\n q: QueryStreamIndexRange.Builder<\n TableInfoFor<DataModel_, TableName>[\"convexDocument\"],\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n ) => Range,\n order: Direction,\n ): QueryStream.QueryStream<\n Doc,\n QueryStreamKeyLabels.QueryStreamKeyLabels<\n QueryStreamIndexRange.Remaining<Range>\n >,\n Direction,\n Document.DocumentDecodeError,\n never\n >;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n > &\n string,\n >(\n indexName: IndexName,\n ): QueryStream.QueryStream<\n Doc,\n QueryStreamKeyLabels.QueryStreamKeyLabels<\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n \"asc\",\n Document.DocumentDecodeError,\n never\n >;\n <\n IndexName extends keyof Indexes<\n ConvexTableInfoFor<DataModel_, TableName>\n > &\n string,\n Direction extends OrderDirection,\n >(\n indexName: IndexName,\n order: Direction,\n ): QueryStream.QueryStream<\n Doc,\n QueryStreamKeyLabels.QueryStreamKeyLabels<\n NamedIndex<ConvexTableInfoFor<DataModel_, TableName>, IndexName>\n >,\n Direction,\n Document.DocumentDecodeError,\n never\n >;\n };\n}\n\nexport function make<\n Tables extends Table.AnyWithProps,\n TableName extends Table.Name<Tables>,\n>(\n convexDatabaseReader: BaseDatabaseReader<\n DataModel.ToConvex<DataModel.FromTables<Tables>>\n >,\n table: Table.WithName<Tables, TableName> & { readonly scope: IdScope.App },\n): QueryInitializer<DataModel.FromTables<Tables>, TableName>;\nexport function make<\n Tables extends Table.AnyWithProps,\n TableName extends Table.Name<Tables>,\n>(\n convexDatabaseReader: BaseDatabaseReader<\n DataModel.ToConvex<DataModel.FromTables<Tables>>\n >,\n table: Table.WithName<Tables, TableName>,\n): QueryInitializer<\n DataModel.FromTables<Tables>,\n TableName,\n DataModel.DocumentWithName<DataModel.FromTables<Tables>, TableName>,\n Table.Scope<Table.WithName<Tables, TableName>> extends IdScope.App\n ? \"app\"\n : \"component\"\n>;\nexport function make<\n Tables extends Table.AnyWithProps,\n TableName extends Table.Name<Tables>,\n>(\n convexDatabaseReader: BaseDatabaseReader<\n DataModel.ToConvex<DataModel.FromTables<Tables>>\n >,\n table: Table.WithName<Tables, TableName>,\n): QueryInitializer<\n DataModel.FromTables<Tables>,\n TableName,\n DataModel.DocumentWithName<DataModel.FromTables<Tables>, TableName>,\n DatabaseSchema.Target[\"kind\"]\n> {\n const tableName = table.tableName;\n type DataModel_ = DataModel.FromTables<Tables>;\n type ConvexDataModel_ = DataModel.ToConvex<DataModel_>;\n type ThisQueryInitializer = QueryInitializer<\n DataModel_,\n TableName,\n DataModel.DocumentWithName<DataModel_, TableName>,\n DatabaseSchema.Target[\"kind\"]\n >;\n type QueryInitializerFunction<\n FunctionName extends keyof ThisQueryInitializer,\n > = ThisQueryInitializer[FunctionName];\n\n const getByIndex = <\n IndexName extends keyof Indexes<\n DataModel.TableInfoWithName<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n indexFieldValues: IndexFieldTypesForEq<\n DataModel.ToConvex<DataModel_>,\n TableName,\n Indexes<DataModel.TableInfoWithName<DataModel_, TableName>>[IndexName]\n >,\n ): Effect.Effect<\n DataModel.DocumentWithName<DataModel_, TableName>,\n Document.DocumentDecodeError | GetByIndexFailure\n > => {\n const indexFieldPaths: GenericTableIndexes[keyof GenericTableIndexes] = (\n table.indexes as GenericTableIndexes\n )[indexName as keyof GenericTableIndexes]!;\n\n return pipe(\n Effect.promise(() =>\n convexDatabaseReader\n .query(tableName)\n .withIndex(indexName, (q) =>\n Array.reduce(\n indexFieldValues,\n q,\n (q_, v, i) => q_.eq(indexFieldPaths[i] as any, v as any) as any,\n ),\n )\n .unique(),\n ),\n Effect.andThen((value) =>\n Effect.fromResult(\n Result.fromNullishOr(\n value,\n () =>\n new GetByIndexFailure({\n tableName,\n indexName: indexName as string,\n indexFieldValues,\n }),\n ),\n ),\n ),\n Effect.andThen(Document.decode(table)),\n );\n };\n\n const get: QueryInitializerFunction<\"get\"> = ((\n ...args: Parameters<QueryInitializerFunction<\"get\">>\n ) => {\n if (args.length === 1) {\n const id = args[0] as GenericId<TableName>;\n\n return getById<Tables, TableName>(convexDatabaseReader, table)(id);\n } else {\n const [indexName, ...indexFieldValues] = args;\n\n return getByIndex(\n indexName as keyof Indexes<\n DataModel.TableInfoWithName<DataModel_, TableName>\n >,\n indexFieldValues,\n );\n }\n }) as QueryInitializerFunction<\"get\">;\n\n const index: QueryInitializerFunction<\"index\"> = <\n IndexName extends keyof Indexes<\n DataModel.TableInfoWithName<DataModel_, TableName>\n >,\n >(\n indexName: IndexName,\n indexRangeOrOrder?:\n | ((\n q: IndexRangeBuilder<\n DataModel.TableInfoWithName_<\n DataModel_,\n TableName\n >[\"convexDocument\"],\n NamedIndex<\n DataModel.TableInfoWithName<DataModel_, TableName>,\n IndexName\n >\n >,\n ) => IndexRange)\n | OrderDirection,\n order?: OrderDirection,\n ) => {\n const {\n applyWithIndex,\n applyOrder,\n }: {\n applyWithIndex: (\n queryInitializer: ConvexQueryInitializer<\n NamedTableInfo<ConvexDataModel_, TableName>\n >,\n ) => Query<NamedTableInfo<ConvexDataModel_, TableName>>;\n applyOrder: (\n query: Query<NamedTableInfo<ConvexDataModel_, TableName>>,\n ) => ConvexOrderedQuery<NamedTableInfo<ConvexDataModel_, TableName>>;\n } =\n indexRangeOrOrder === undefined\n ? {\n applyWithIndex: (q) => q.withIndex(indexName),\n applyOrder: (q) => q.order(\"asc\"),\n }\n : typeof indexRangeOrOrder === \"function\"\n ? order === undefined\n ? {\n applyWithIndex: (q) =>\n q.withIndex(indexName, indexRangeOrOrder),\n applyOrder: (q) => q.order(\"asc\"),\n }\n : {\n applyWithIndex: (q) =>\n q.withIndex(indexName, indexRangeOrOrder),\n applyOrder: (q) => q.order(order),\n }\n : {\n applyWithIndex: (q) => q.withIndex(indexName),\n applyOrder: (q) => q.order(indexRangeOrOrder),\n };\n\n const orderedQuery = pipe(\n convexDatabaseReader.query(tableName),\n applyWithIndex,\n applyOrder,\n );\n\n return OrderedQuery.make(orderedQuery, table);\n };\n\n const stream: QueryInitializerFunction<\"stream\"> = ((\n indexName: string,\n indexRangeOrOrder?:\n | ((\n q: QueryStreamIndexRange.Builder<any, any>,\n ) => QueryStreamIndexRange.QueryStreamIndexRange)\n | OrderDirection,\n maybeOrder?: OrderDirection,\n ) => {\n const orderDirection = Predicate.isString(indexRangeOrOrder)\n ? indexRangeOrOrder\n : (maybeOrder ?? \"asc\");\n\n // Without a range callback, the leaf scans the entire index.\n const indexRange = Predicate.isFunction(indexRangeOrOrder)\n ? indexRangeOrOrder(QueryStreamIndexRange.builder())\n : QueryStreamIndexRange.builder();\n\n // The type-level field tuple appends the `_creationTime` tiebreaker, but\n // the runtime `table.indexes` record stores only the declared fields—append it here.\n const indexFieldPaths: ReadonlyArray<string> =\n indexName === \"by_id\"\n ? [\"_id\"]\n : indexName === \"by_creation_time\"\n ? [\"_creationTime\"]\n : pipe(\n Option.fromUndefinedOr(\n (\n table.indexes as ReadonlyRecord<string, ReadonlyArray<string>>\n )[indexName],\n ),\n // An unknown index name is a defect, not an empty field list:\n // silently empty fields would make key extraction and range\n // splitting target the wrong fields.\n Option.getOrThrowWith(\n () =>\n new Error(\n `QueryInitializer.stream: table \"${tableName}\" has no index named \"${indexName}\"`,\n ),\n ),\n Array.append(\"_creationTime\"),\n );\n\n return QueryStream.fromReflection({\n reader: convexDatabaseReader as QueryStream.ReflectionReader,\n table,\n indexName,\n indexFieldPaths,\n indexRange,\n orderDirection,\n });\n }) as QueryInitializerFunction<\"stream\">;\n\n const search: QueryInitializerFunction<\"search\"> = (\n indexName,\n searchFilter,\n ) =>\n OrderedQuery.make(\n convexDatabaseReader\n .query(tableName)\n .withSearchIndex(indexName, searchFilter),\n table,\n );\n\n return {\n get,\n index,\n search,\n stream,\n };\n}\n\nexport const getById =\n <Tables extends Table.AnyWithProps, TableName extends Table.Name<Tables>>(\n convexDatabaseReader: BaseDatabaseReader<\n DataModel.ToConvex<DataModel.FromTables<Tables>>\n >,\n table: Table.WithName<Tables, TableName>,\n ) =>\n (id: GenericId<TableName>) =>\n pipe(\n Effect.promise(() => convexDatabaseReader.get(id)),\n Effect.andThen((value) =>\n Effect.fromResult(\n Result.fromNullishOr(\n value,\n () => new GetByIdFailure({ tableName: table.tableName, id }),\n ),\n ),\n ),\n Effect.andThen(Document.decode(table)),\n );\n\nexport class GetByIdFailure extends Schema.TaggedError<GetByIdFailure>()(\n \"GetByIdFailure\",\n {\n id: Schema.String,\n tableName: Schema.String,\n },\n) {\n override get message(): string {\n return Document.documentErrorMessage({\n id: this.id,\n tableName: this.tableName,\n message: \"not found\",\n });\n }\n}\n\nexport class GetByIndexFailure extends Schema.TaggedError<GetByIndexFailure>()(\n \"GetByIndexFailure\",\n {\n tableName: Schema.String,\n indexName: Schema.String,\n indexFieldValues: Schema.Array(Schema.Unknown),\n },\n) {\n override get message(): string {\n return `No documents found in table '${this.tableName}' with index '${this.indexName}' and field values '${JSON.stringify(\n this.indexFieldValues,\n (_key, value) => (typeof value === \"bigint\" ? value.toString() : value),\n )}'`;\n }\n}\n"],"mappings":"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"}
@@ -4,8 +4,8 @@ import * as Context from "effect/Context";
4
4
  import * as Effect from "effect/Effect";
5
5
  import * as Layer from "effect/Layer";
6
6
  import type * as Schema from "effect/Schema";
7
- import * as MutationTransactionContext from "./MutationTransactionContext";
8
- import * as QueryTransactionContext from "./QueryTransactionContext";
7
+ import * as MutationTransactionContext from "./MutationTransactionContext.js";
8
+ import * as QueryTransactionContext from "./QueryTransactionContext.js";
9
9
  export type Options = MutationTransactionContext.QueryOptions;
10
10
  export declare const QueryRunner: Context.Service<{
11
11
  runQuery: {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryRunner.d.ts","sourceRoot":"","sources":["../src/QueryRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryRunner.d.ts","sourceRoot":"","sources":["../src/QueryRunner.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
2
  import { MutationTransactionContext } from "./MutationTransactionContext.js";
3
3
  import { QueryTransactionContext } from "./QueryTransactionContext.js";
4
- import * as Context from "effect/Context";
5
- import * as Layer from "effect/Layer";
6
4
  import * as Ref from "@confect/core/Ref";
5
+ import * as Context from "effect/Context";
7
6
  import * as Effect from "effect/Effect";
7
+ import * as Layer from "effect/Layer";
8
8
  //#region src/QueryRunner.ts
9
9
  var QueryRunner_exports = /* @__PURE__ */ __exportAll({
10
10
  QueryRunner: () => QueryRunner,
@@ -1 +1 @@
1
- {"version":3,"file":"QueryRunner.js","names":["MutationTransactionContext.MutationTransactionContext","QueryTransactionContext.QueryTransactionContext"],"sources":["../src/QueryRunner.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport type { GenericActionCtx } from \"convex/server\";\nimport * as Context from \"effect/Context\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport type * as Schema from \"effect/Schema\";\nimport * as MutationTransactionContext from \"./MutationTransactionContext\";\nimport * as QueryTransactionContext from \"./QueryTransactionContext\";\n\nexport type Options = MutationTransactionContext.QueryOptions;\n\nconst run = Effect.fn(\"QueryRunner.runQuery\")(\n <A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> => effect,\n);\n\nconst make = (nativeRunQuery: GenericActionCtx<any>[\"runQuery\"]) => {\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n ...args: [...Ref.OptionalArgs<Query>, options?: undefined]\n ): Effect.Effect<Ref.Returns<Query>, Ref.Error<Query> | Schema.SchemaError>;\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n args: Ref.Args<Query>,\n options:\n | (QueryTransactionContext.Options & {\n readonly useStaleSnapshot?: never;\n })\n | undefined,\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | Schema.SchemaError,\n QueryTransactionContext.QueryTransactionContext\n >;\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n args: Ref.Args<Query>,\n options: Options & { readonly useStaleSnapshot: boolean },\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | Schema.SchemaError,\n MutationTransactionContext.MutationTransactionContext\n >;\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n args: Ref.Args<Query>,\n options: Options | undefined,\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | Schema.SchemaError,\n | QueryTransactionContext.QueryTransactionContext\n | MutationTransactionContext.MutationTransactionContext\n >;\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n args?: Ref.Args<Query>,\n options?: Options,\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | Schema.SchemaError,\n | QueryTransactionContext.QueryTransactionContext\n | MutationTransactionContext.MutationTransactionContext\n > {\n return run(\n Effect.gen(function* () {\n const actualArgs = (args ?? {}) as Ref.Args<Query>;\n if (options?.useStaleSnapshot !== undefined) {\n const controls =\n yield* MutationTransactionContext.MutationTransactionContext;\n return yield* controls.runQuery(query, actualArgs, options);\n }\n if (options !== undefined) {\n const controls =\n yield* QueryTransactionContext.QueryTransactionContext;\n return yield* controls.runQuery(query, actualArgs, options);\n }\n return yield* Ref.runWithCodec(query, actualArgs, (ref, encodedArgs) =>\n nativeRunQuery(ref, encodedArgs),\n );\n }),\n );\n }\n return { runQuery };\n};\n\nexport const QueryRunner = Context.Service<ReturnType<typeof make>>(\n \"@confect/server/QueryRunner\",\n);\nexport type QueryRunner = typeof QueryRunner.Identifier;\n\nexport const layer = (runQuery: GenericActionCtx<any>[\"runQuery\"]) =>\n Layer.succeed(QueryRunner, make(runQuery));\n"],"mappings":";;;;;;;;;;;;AAWA,MAAM,MAAM,OAAO,GAAG,sBAAsB,CAAC,EACjC,WAA2D,MACvE;AAEA,MAAM,QAAQ,mBAAsD;CAqClE,SAAS,SACP,OACA,MACA,SAMA;EACA,OAAO,IACL,OAAO,IAAI,aAAa;GACtB,MAAM,aAAc,QAAQ,CAAC;GAC7B,IAAI,SAAS,qBAAqB,KAAA,GAGhC,OAAO,QAAO,OADLA,2BAAAA,CACc,SAAS,OAAO,YAAY,OAAO;GAE5D,IAAI,YAAY,KAAA,GAGd,OAAO,QAAO,OADLC,wBAAAA,CACc,SAAS,OAAO,YAAY,OAAO;GAE5D,OAAO,OAAO,IAAI,aAAa,OAAO,aAAa,KAAK,gBACtD,eAAe,KAAK,WAAW,CACjC;EACF,CAAC,CACH;CACF;CACA,OAAO,EAAE,SAAS;AACpB;AAEA,MAAa,cAAc,QAAQ,QACjC,6BACF;AAGA,MAAa,SAAS,aACpB,MAAM,QAAQ,aAAa,KAAK,QAAQ,CAAC"}
1
+ {"version":3,"file":"QueryRunner.js","names":["MutationTransactionContext.MutationTransactionContext","QueryTransactionContext.QueryTransactionContext"],"sources":["../src/QueryRunner.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport type { GenericActionCtx } from \"convex/server\";\nimport * as Context from \"effect/Context\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport type * as Schema from \"effect/Schema\";\nimport * as MutationTransactionContext from \"./MutationTransactionContext.js\";\nimport * as QueryTransactionContext from \"./QueryTransactionContext.js\";\n\nexport type Options = MutationTransactionContext.QueryOptions;\n\nconst run = Effect.fn(\"QueryRunner.runQuery\")(\n <A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> => effect,\n);\n\nconst make = (nativeRunQuery: GenericActionCtx<any>[\"runQuery\"]) => {\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n ...args: [...Ref.OptionalArgs<Query>, options?: undefined]\n ): Effect.Effect<Ref.Returns<Query>, Ref.Error<Query> | Schema.SchemaError>;\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n args: Ref.Args<Query>,\n options:\n | (QueryTransactionContext.Options & {\n readonly useStaleSnapshot?: never;\n })\n | undefined,\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | Schema.SchemaError,\n QueryTransactionContext.QueryTransactionContext\n >;\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n args: Ref.Args<Query>,\n options: Options & { readonly useStaleSnapshot: boolean },\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | Schema.SchemaError,\n MutationTransactionContext.MutationTransactionContext\n >;\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n args: Ref.Args<Query>,\n options: Options | undefined,\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | Schema.SchemaError,\n | QueryTransactionContext.QueryTransactionContext\n | MutationTransactionContext.MutationTransactionContext\n >;\n function runQuery<Query extends Ref.AnyQuery>(\n query: Query,\n args?: Ref.Args<Query>,\n options?: Options,\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | Schema.SchemaError,\n | QueryTransactionContext.QueryTransactionContext\n | MutationTransactionContext.MutationTransactionContext\n > {\n return run(\n Effect.gen(function* () {\n const actualArgs = (args ?? {}) as Ref.Args<Query>;\n if (options?.useStaleSnapshot !== undefined) {\n const controls =\n yield* MutationTransactionContext.MutationTransactionContext;\n return yield* controls.runQuery(query, actualArgs, options);\n }\n if (options !== undefined) {\n const controls =\n yield* QueryTransactionContext.QueryTransactionContext;\n return yield* controls.runQuery(query, actualArgs, options);\n }\n return yield* Ref.runWithCodec(query, actualArgs, (ref, encodedArgs) =>\n nativeRunQuery(ref, encodedArgs),\n );\n }),\n );\n }\n return { runQuery };\n};\n\nexport const QueryRunner = Context.Service<ReturnType<typeof make>>(\n \"@confect/server/QueryRunner\",\n);\nexport type QueryRunner = typeof QueryRunner.Identifier;\n\nexport const layer = (runQuery: GenericActionCtx<any>[\"runQuery\"]) =>\n Layer.succeed(QueryRunner, make(runQuery));\n"],"mappings":";;;;;;;;;;;;AAWA,MAAM,MAAM,OAAO,GAAG,sBAAsB,CAAC,EACjC,WAA2D,MACvE;AAEA,MAAM,QAAQ,mBAAsD;CAqClE,SAAS,SACP,OACA,MACA,SAMA;EACA,OAAO,IACL,OAAO,IAAI,aAAa;GACtB,MAAM,aAAc,QAAQ,CAAC;GAC7B,IAAI,SAAS,qBAAqB,KAAA,GAGhC,OAAO,QAAO,OADLA,2BAAAA,CACc,SAAS,OAAO,YAAY,OAAO;GAE5D,IAAI,YAAY,KAAA,GAGd,OAAO,QAAO,OADLC,wBAAAA,CACc,SAAS,OAAO,YAAY,OAAO;GAE5D,OAAO,OAAO,IAAI,aAAa,OAAO,aAAa,KAAK,gBACtD,eAAe,KAAK,WAAW,CACjC;EACF,CAAC,CACH;CACF;CACA,OAAO,EAAE,SAAS;AACpB;AAEA,MAAa,cAAc,QAAQ,QACjC,6BACF;AAGA,MAAa,SAAS,aACpB,MAAM,QAAQ,aAAa,KAAK,QAAQ,CAAC"}
@@ -39,21 +39,29 @@ import * as Option from "effect/Option";
39
39
  import * as Schema from "effect/Schema";
40
40
  import * as Stream from "effect/Stream";
41
41
  import type * as Types from "effect/Types";
42
- import * as Document from "./Document";
43
- import type * as Table from "./Table";
44
- import * as QueryStreamKeyLabels from "./QueryStreamKeyLabels";
45
- import * as QueryStreamKeyLayout from "./QueryStreamKeyLayout";
46
- import * as QueryStreamOrderDirection from "./QueryStreamOrderDirection";
47
- import * as QueryStreamKeyValues from "./QueryStreamKeyValues";
48
- import * as QueryStreamKeyBounds from "./QueryStreamKeyBounds";
49
- import * as QueryStreamIndexRange from "./QueryStreamIndexRange";
50
- import * as QueryStreamReadBudget from "./QueryStreamReadBudget";
42
+ import * as Document from "./Document.js";
43
+ import type * as Table from "./Table.js";
44
+ import * as QueryStreamKeyLabels from "./QueryStreamKeyLabels.js";
45
+ import * as QueryStreamKeyLayout from "./QueryStreamKeyLayout.js";
46
+ import * as QueryStreamOrderDirection from "./QueryStreamOrderDirection.js";
47
+ import * as QueryStreamKeyValues from "./QueryStreamKeyValues.js";
48
+ import * as QueryStreamKeyBounds from "./QueryStreamKeyBounds.js";
49
+ import * as QueryStreamIndexRange from "./QueryStreamIndexRange.js";
50
+ import * as QueryStreamReadBudget from "./QueryStreamReadBudget.js";
51
+ /**
52
+ * Default physical row budget for `paginate` and `collect`. Supply an explicit
53
+ * `maximumRowsRead` to override it. Plain Effect Stream consumers use their
54
+ * enclosing budget and remain unlimited when none is provided.
55
+ *
56
+ * @experimental
57
+ */
58
+ export declare const DEFAULT_MAXIMUM_ROWS_READ = 2000;
51
59
  declare const ReadBudgetExceededError_base: Schema.Class<ReadBudgetExceededError, Schema.TaggedStruct<"ReadBudgetExceededError", {
52
60
  readonly rowsRead: Schema.Natural;
53
61
  readonly bytesRead: Schema.Natural;
54
62
  }>, import("effect/Cause").YieldableError>;
55
63
  /**
56
- * A page exhausted its read budget without a safe logical continuation.
64
+ * A query stream exhausted its read budget before its consumer could finish.
57
65
  *
58
66
  * @experimental
59
67
  */
@@ -131,13 +139,13 @@ export declare class MissingReversalRecipeError extends MissingReversalRecipeErr
131
139
  *
132
140
  * @experimental
133
141
  */
134
- export { EmptyInitialPageError, InvalidPageSizeError, } from "./QueryStreamPagination";
142
+ export { EmptyInitialPageError, InvalidPageSizeError, } from "./QueryStreamPagination.js";
135
143
  /**
136
144
  * Invalid numeric read limits.
137
145
  *
138
146
  * @experimental
139
147
  */
140
- export { InvalidReadLimitError } from "./QueryStreamReadBudget";
148
+ export { InvalidReadLimitError } from "./QueryStreamReadBudget.js";
141
149
  /**
142
150
  * Runtime identifier used to distinguish query streams from plain streams.
143
151
  *
@@ -291,6 +299,38 @@ export declare const empty: <Doc>() => {
291
299
  <const KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels>(keyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout<KeyLabels>): QueryStream<Doc, KeyLabels, "asc", never, never>;
292
300
  <const KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(keyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout<KeyLabels>, orderDirection: OrderDirection): QueryStream<Doc, KeyLabels, OrderDirection, never, never>;
293
301
  };
302
+ declare const DeferredStreamMismatchError_base: new <A extends Record<string, any> = {}>(args: Types.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
303
+ readonly _tag: "DeferredStreamMismatchError";
304
+ } & Readonly<A>;
305
+ /**
306
+ * A deferred stream's resolved direction or layout differs from its
307
+ * declaration. The check runs on consumption, before the resolved source is
308
+ * pulled.
309
+ *
310
+ * @experimental
311
+ */
312
+ export declare class DeferredStreamMismatchError extends DeferredStreamMismatchError_base<{
313
+ readonly expectedOrderDirection: QueryStreamOrderDirection.QueryStreamOrderDirection;
314
+ readonly actualOrderDirection: QueryStreamOrderDirection.QueryStreamOrderDirection;
315
+ readonly expectedKeyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout;
316
+ readonly actualKeyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout;
317
+ }> {
318
+ }
319
+ /**
320
+ * Defer an effect that checks access or constructs a query stream until it is
321
+ * pulled. Supply its layout and direction without reading documents. This lets
322
+ * `flatMap` build and narrow an inner stream before running its checks.
323
+ *
324
+ * The effect runs afresh on each consumption, seek, or reversal. Failures and
325
+ * service requirements are preserved. Its stream must match the declared layout
326
+ * and direction, or consumption dies with `DeferredStreamMismatchError`.
327
+ *
328
+ * @experimental
329
+ */
330
+ export declare const defer: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection, E = never, R = never, E2 = never, R2 = never>(options: {
331
+ readonly keyLayout: QueryStreamKeyLayout.QueryStreamKeyLayout<KeyLabels>;
332
+ readonly orderDirection: OrderDirection;
333
+ }, make: Effect.Effect<QueryStream<Doc, KeyLabels, NoInfer<OrderDirection>, E, R>, E2, R2>) => QueryStream<Doc, KeyLabels, OrderDirection, E | E2, R | R2>;
294
334
  /**
295
335
  * Database access needed to rebuild a direct index query on each run. Normally
296
336
  * supplied by `reader.table(...).stream(...)` rather than implemented
@@ -567,6 +607,34 @@ export declare const reverse: <Doc, KeyLabels extends QueryStreamKeyLabels.Query
567
607
  * @experimental
568
608
  */
569
609
  export declare const narrow: ((narrowBounds: QueryStreamKeyBounds.NarrowBounds) => <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(self: QueryStream<Doc, KeyLabels, OrderDirection, E, R>) => QueryStream<Doc, KeyLabels, OrderDirection, E, R>) & (<Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R, OrderDirection extends QueryStreamOrderDirection.QueryStreamOrderDirection>(self: QueryStream<Doc, KeyLabels, OrderDirection, E, R>, narrowBounds: QueryStreamKeyBounds.NarrowBounds) => QueryStream<Doc, KeyLabels, OrderDirection, E, R>);
610
+ /**
611
+ * Read limits for `collect`. These count underlying index reads, including
612
+ * filtered rows and join inputs, rather than just emitted values. At either
613
+ * limit, one extra row may be read to distinguish completion from an overrun;
614
+ * it counts toward reported reads but is never emitted. This also applies at
615
+ * zero, so an empty stream completes under a zero budget.
616
+ *
617
+ * @experimental
618
+ */
619
+ export interface CollectOptions {
620
+ readonly maximumRowsRead?: number;
621
+ readonly maximumBytesRead?: number;
622
+ }
623
+ /**
624
+ * Collect the whole query stream or fail with `ReadBudgetExceededError` when a
625
+ * read budget stops it. No partial array reaches the caller. Arbitrary I/O in
626
+ * callbacks is not counted. Use `paginate` for data that can grow without
627
+ * bound.
628
+ *
629
+ * With explicit options, each run gets a fresh budget. Without options, use the
630
+ * enclosing budget if present, or the default row budget.
631
+ *
632
+ * @experimental
633
+ */
634
+ export declare const collect: {
635
+ (options?: CollectOptions): <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>) => Effect.Effect<Array<Doc>, E | ReadBudgetExceededError, R>;
636
+ <Doc, KeyLabels extends QueryStreamKeyLabels.QueryStreamKeyLabels, E, R>(self: QueryStream<Doc, KeyLabels, QueryStreamOrderDirection.QueryStreamOrderDirection, E, R>, options?: CollectOptions): Effect.Effect<Array<Doc>, E | ReadBudgetExceededError, R>;
637
+ };
570
638
  declare const NotUniqueError_base: Schema.Class<NotUniqueError, Schema.TaggedStruct<"NotUniqueError", {}>, import("effect/Cause").YieldableError>;
571
639
  /**
572
640
  * `unique` found at least two emitted values. Narrow the query if at most one
@@ -598,11 +666,16 @@ export declare const unique: <Doc, KeyLabels extends QueryStreamKeyLabels.QueryS
598
666
  * - `endCursor`: optional inclusive boundary returned by a previous page. Pins
599
667
  * the page to a key range regardless of how many values it holds.
600
668
  * - `maximumRowsRead`: optional budget for physical document reads from
601
- * underlying query-stream indexes, including filtered documents.
669
+ * underlying query-stream indexes, including filtered documents. Defaults to
670
+ * 2,000; an explicit limit overrides the default.
602
671
  * - `maximumBytesRead`: optional budget charging estimated document size on every
603
672
  * read, not Convex's exact billed bytes. The final document can take the
604
673
  * total over the limit because its size is known only after reading it.
605
674
  *
675
+ * At either read limit, including zero, one extra row may be read to
676
+ * distinguish completion from an overrun. It is counted but never emitted. An
677
+ * empty stream completes under a zero budget.
678
+ *
606
679
  * With `numItems: 0`, an existing cursor is returned unchanged with an empty
607
680
  * page and `isDone: false`; a null cursor dies with `EmptyInitialPageError`.
608
681
  *
@@ -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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"}
@@ -11,17 +11,17 @@ import { admittedByLower, admittedByUpper, forLayout, fromParsed, intersect, int
11
11
  import { apply, equalityPrefixLength, fromBounds, toBounds as toBounds$1 } from "./QueryStreamIndexRange.js";
12
12
  import { EmptyInitialPageError, InvalidPageSizeError, Range, Start, finish, initial, parseRequest, record } from "./QueryStreamPagination.js";
13
13
  import { InvalidReadLimitError, Limits, QueryStreamReadBudget, make as make$1 } from "./QueryStreamReadBudget.js";
14
+ import * as Data from "effect/Data";
14
15
  import * as Effect from "effect/Effect";
16
+ import * as Predicate from "effect/Predicate";
17
+ import * as Array from "effect/Array";
15
18
  import * as Schema from "effect/Schema";
16
19
  import { dual, identity, pipe } from "effect/Function";
17
20
  import * as Match from "effect/Match";
18
21
  import * as Option from "effect/Option";
19
22
  import { ConvexError } from "convex/values";
20
- import * as Array from "effect/Array";
21
23
  import * as Order from "effect/Order";
22
- import * as Predicate from "effect/Predicate";
23
24
  import * as Result from "effect/Result";
24
- import * as Data from "effect/Data";
25
25
  import * as Stream from "effect/Stream";
26
26
  import { pipeArguments } from "effect/Pipeable";
27
27
  import * as Chunk from "effect/Chunk";
@@ -32,6 +32,8 @@ import * as String from "effect/String";
32
32
  import * as Tuple from "effect/Tuple";
33
33
  //#region src/QueryStream.ts
34
34
  var QueryStream_exports = /* @__PURE__ */ __exportAll({
35
+ DEFAULT_MAXIMUM_ROWS_READ: () => DEFAULT_MAXIMUM_ROWS_READ,
36
+ DeferredStreamMismatchError: () => DeferredStreamMismatchError,
35
37
  Element: () => Element,
36
38
  EmptyInitialPageError: () => EmptyInitialPageError,
37
39
  IncompatibleStreamsError: () => IncompatibleStreamsError,
@@ -44,6 +46,8 @@ var QueryStream_exports = /* @__PURE__ */ __exportAll({
44
46
  QueryStream: () => QueryStream,
45
47
  ReadBudgetExceededError: () => ReadBudgetExceededError,
46
48
  TypeId: () => TypeId,
49
+ collect: () => collect,
50
+ defer: () => defer,
47
51
  distinct: () => distinct,
48
52
  empty: () => empty,
49
53
  filter: () => filter,
@@ -61,7 +65,15 @@ var QueryStream_exports = /* @__PURE__ */ __exportAll({
61
65
  unique: () => unique
62
66
  });
63
67
  /**
64
- * A page exhausted its read budget without a safe logical continuation.
68
+ * Default physical row budget for `paginate` and `collect`. Supply an explicit
69
+ * `maximumRowsRead` to override it. Plain Effect Stream consumers use their
70
+ * enclosing budget and remain unlimited when none is provided.
71
+ *
72
+ * @experimental
73
+ */
74
+ const DEFAULT_MAXIMUM_ROWS_READ = 2e3;
75
+ /**
76
+ * A query stream exhausted its read budget before its consumer could finish.
65
77
  *
66
78
  * @experimental
67
79
  */
@@ -70,7 +82,7 @@ var ReadBudgetExceededError = class extends Schema.TaggedError()("ReadBudgetExce
70
82
  bytesRead: Schema.Natural
71
83
  }) {
72
84
  get message() {
73
- return "The read budget was exhausted before a safe page boundary; increase the budget or simplify the query";
85
+ return "The read budget was exhausted before the query stream completed; increase the budget or simplify the query";
74
86
  }
75
87
  };
76
88
  /**
@@ -234,6 +246,40 @@ const empty = () => (keyLayout, orderDirection = "asc") => {
234
246
  return make(orderDirection);
235
247
  };
236
248
  /**
249
+ * A deferred stream's resolved direction or layout differs from its
250
+ * declaration. The check runs on consumption, before the resolved source is
251
+ * pulled.
252
+ *
253
+ * @experimental
254
+ */
255
+ var DeferredStreamMismatchError = class extends Data.TaggedError("DeferredStreamMismatchError") {};
256
+ /**
257
+ * Defer an effect that checks access or constructs a query stream until it is
258
+ * pulled. Supply its layout and direction without reading documents. This lets
259
+ * `flatMap` build and narrow an inner stream before running its checks.
260
+ *
261
+ * The effect runs afresh on each consumption, seek, or reversal. Failures and
262
+ * service requirements are preserved. Its stream must match the declared layout
263
+ * and direction, or consumption dies with `DeferredStreamMismatchError`.
264
+ *
265
+ * @experimental
266
+ */
267
+ const defer = (options, make) => {
268
+ const checked = Effect.map(make, (stream) => {
269
+ if (stream.orderDirection !== options.orderDirection || !Equivalence(stream.keyLayout, options.keyLayout)) throw new DeferredStreamMismatchError({
270
+ expectedOrderDirection: options.orderDirection,
271
+ actualOrderDirection: stream.orderDirection,
272
+ expectedKeyLayout: options.keyLayout,
273
+ actualKeyLayout: stream.keyLayout
274
+ });
275
+ return stream;
276
+ });
277
+ return new QueryStream(options.orderDirection, options.keyLayout, Stream.unwrap(Effect.map(checked, (stream) => stream.annotated)), void 0, (bounds) => defer(options, Effect.map(checked, (stream) => narrowByParsedBounds(stream, bounds))), () => defer({
278
+ ...options,
279
+ orderDirection: flip(options.orderDirection)
280
+ }, Effect.map(checked, reverse)));
281
+ };
282
+ /**
237
283
  * Create a reusable query stream from an index-query description. Prefer
238
284
  * `reader.table(...).stream(...)` for inferred document and ordering types.
239
285
  *
@@ -795,6 +841,30 @@ const narrowInMemory = (self, parsedBounds) => {
795
841
  return new QueryStream(self.orderDirection, self.keyLayout, pipe(self.annotated, dropOutOfRange, takeInRange), void 0, void 0, self.reverseWith === void 0 ? void 0 : () => narrowInMemory(reverse(self), parsedBounds));
796
842
  };
797
843
  /**
844
+ * Collect the whole query stream or fail with `ReadBudgetExceededError` when a
845
+ * read budget stops it. No partial array reaches the caller. Arbitrary I/O in
846
+ * callbacks is not counted. Use `paginate` for data that can grow without
847
+ * bound.
848
+ *
849
+ * With explicit options, each run gets a fresh budget. Without options, use the
850
+ * enclosing budget if present, or the default row budget.
851
+ *
852
+ * @experimental
853
+ */
854
+ const collect = dual((args) => isQueryStream(args[0]), Effect.fn("QueryStream.collect")(function* (self, options) {
855
+ const makeBudget = Schema.decodeEffect(Limits)({
856
+ maximumRowsRead: DEFAULT_MAXIMUM_ROWS_READ,
857
+ ...options
858
+ }).pipe(Effect.catchTag("SchemaError", (cause) => Effect.die(new InvalidReadLimitError({ cause }))), Effect.flatMap(make$1));
859
+ const budget = yield* options === void 0 ? Effect.serviceOption(QueryStreamReadBudget).pipe(Effect.flatMap(Option.match({
860
+ onNone: () => makeBudget,
861
+ onSome: Effect.succeed
862
+ }))) : makeBudget;
863
+ const rows = yield* Stream.runCollect(self.toStream()).pipe(Effect.provideService(QueryStreamReadBudget, budget));
864
+ if (yield* budget.isStopped) return yield* new ReadBudgetExceededError(yield* budget.getReadCounts);
865
+ return rows;
866
+ }));
867
+ /**
798
868
  * `unique` found at least two emitted values. Narrow the query if at most one
799
869
  * value was expected, or use another consumer to handle multiple results.
800
870
  *
@@ -904,7 +974,7 @@ const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, opti
904
974
  upper: start
905
975
  }), identity));
906
976
  const readBudget = yield* QueryStreamReadBudget;
907
- const collected = yield* Stream.run(narrowed.annotated, Sink.fold(() => initial(), (state) => state._tag === "Reading", (state, { doc, keyValues }) => Effect.map(readBudget.isExhausted, (hitLimit) => record(request, state, doc, complete$2(keyValues), hitLimit))));
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))));
908
978
  const stopped = yield* readBudget.isStopped;
909
979
  const outcome = finish(request, collected, stopped);
910
980
  if (Result.isFailure(outcome)) return yield* new ReadBudgetExceededError(yield* readBudget.getReadCounts);
@@ -936,8 +1006,11 @@ const paginate = dual(2, Effect.fn("QueryStream.paginate")(function* (self, opti
936
1006
  SplitRequired: encodeSplit,
937
1007
  SplitRecommended: encodeSplit
938
1008
  }));
939
- }, (effect, _self, options) => Effect.provideServiceEffect(effect, QueryStreamReadBudget, Schema.decodeEffect(Limits)(options).pipe(Effect.catchTag("SchemaError", (cause) => Effect.die(new InvalidReadLimitError({ cause }))), Effect.flatMap(make$1)))));
1009
+ }, (effect, _self, options) => Effect.provideServiceEffect(effect, QueryStreamReadBudget, Schema.decodeEffect(Limits)({
1010
+ maximumRowsRead: DEFAULT_MAXIMUM_ROWS_READ,
1011
+ ...options
1012
+ }).pipe(Effect.catchTag("SchemaError", (cause) => Effect.die(new InvalidReadLimitError({ cause }))), Effect.flatMap(make$1)))));
940
1013
  //#endregion
941
- export { Element, EmptyInitialPageError, IncompatibleStreamsError, InnerStreamLayoutMismatchError, InnerStreamOrderMismatchError, InvalidPageSizeError, InvalidReadLimitError, MissingReversalRecipeError, NotUniqueError, QueryStream, QueryStream_exports, ReadBudgetExceededError, TypeId, distinct, empty, filter, filterEffect, flatMap, fromReflection, isQueryStream, map, mapEffect, merge, narrow, paginate, renameKey, reverse, unique };
1014
+ export { DEFAULT_MAXIMUM_ROWS_READ, DeferredStreamMismatchError, Element, EmptyInitialPageError, IncompatibleStreamsError, InnerStreamLayoutMismatchError, InnerStreamOrderMismatchError, InvalidPageSizeError, InvalidReadLimitError, MissingReversalRecipeError, NotUniqueError, QueryStream, QueryStream_exports, ReadBudgetExceededError, TypeId, collect, defer, distinct, empty, filter, filterEffect, flatMap, fromReflection, isQueryStream, map, mapEffect, merge, narrow, paginate, renameKey, reverse, unique };
942
1015
 
943
1016
  //# sourceMappingURL=QueryStream.js.map