@gaganref/confect-server 0.0.0-stage → 10.3.1-fork.2

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 (367) hide show
  1. package/CHANGELOG.md +2119 -0
  2. package/LICENSE +7 -0
  3. package/README.md +16 -2
  4. package/dist/ActionCtx.d.ts +10 -0
  5. package/dist/ActionCtx.d.ts.map +1 -0
  6. package/dist/ActionCtx.js +18 -0
  7. package/dist/ActionCtx.js.map +1 -0
  8. package/dist/ActionRunner.d.ts +16 -0
  9. package/dist/ActionRunner.d.ts.map +1 -0
  10. package/dist/ActionRunner.js +18 -0
  11. package/dist/ActionRunner.js.map +1 -0
  12. package/dist/AiGatewayDecisionClient.d.ts +20 -0
  13. package/dist/AiGatewayDecisionClient.d.ts.map +1 -0
  14. package/dist/AiGatewayDecisionClient.js +31 -0
  15. package/dist/AiGatewayDecisionClient.js.map +1 -0
  16. package/dist/AiGatewayDecisionModel.d.ts +24 -0
  17. package/dist/AiGatewayDecisionModel.d.ts.map +1 -0
  18. package/dist/AiGatewayDecisionModel.js +27 -0
  19. package/dist/AiGatewayDecisionModel.js.map +1 -0
  20. package/dist/AiGatewayLanguageClient.d.ts +21 -0
  21. package/dist/AiGatewayLanguageClient.d.ts.map +1 -0
  22. package/dist/AiGatewayLanguageClient.js +32 -0
  23. package/dist/AiGatewayLanguageClient.js.map +1 -0
  24. package/dist/AiGatewayLanguageModel.d.ts +95 -0
  25. package/dist/AiGatewayLanguageModel.d.ts.map +1 -0
  26. package/dist/AiGatewayLanguageModel.js +42 -0
  27. package/dist/AiGatewayLanguageModel.js.map +1 -0
  28. package/dist/Auth.d.ts +20 -0
  29. package/dist/Auth.d.ts.map +1 -0
  30. package/dist/Auth.js +31 -0
  31. package/dist/Auth.js.map +1 -0
  32. package/dist/BlobNotFoundError.d.ts +9 -0
  33. package/dist/BlobNotFoundError.d.ts.map +1 -0
  34. package/dist/BlobNotFoundError.js +13 -0
  35. package/dist/BlobNotFoundError.js.map +1 -0
  36. package/dist/Callback.d.ts +31 -0
  37. package/dist/Callback.d.ts.map +1 -0
  38. package/dist/Callback.js +182 -0
  39. package/dist/Callback.js.map +1 -0
  40. package/dist/ComponentCtx.d.ts +71 -0
  41. package/dist/ComponentCtx.d.ts.map +1 -0
  42. package/dist/ComponentCtx.js +0 -0
  43. package/dist/ConvexConfigProvider.d.ts +21 -0
  44. package/dist/ConvexConfigProvider.d.ts.map +1 -0
  45. package/dist/ConvexConfigProvider.js +36 -0
  46. package/dist/ConvexConfigProvider.js.map +1 -0
  47. package/dist/ConvexFunctionDefinitions.d.ts +25 -0
  48. package/dist/ConvexFunctionDefinitions.d.ts.map +1 -0
  49. package/dist/ConvexFunctionDefinitions.js +25 -0
  50. package/dist/ConvexFunctionDefinitions.js.map +1 -0
  51. package/dist/ConvexLogger.d.ts +17 -0
  52. package/dist/ConvexLogger.d.ts.map +1 -0
  53. package/dist/ConvexLogger.js +33 -0
  54. package/dist/ConvexLogger.js.map +1 -0
  55. package/dist/CronJob.d.ts +14 -0
  56. package/dist/CronJob.d.ts.map +1 -0
  57. package/dist/CronJob.js +22 -0
  58. package/dist/CronJob.js.map +1 -0
  59. package/dist/CronJobs.d.ts +22 -0
  60. package/dist/CronJobs.d.ts.map +1 -0
  61. package/dist/CronJobs.js +83 -0
  62. package/dist/CronJobs.js.map +1 -0
  63. package/dist/DataModel.d.ts +28 -0
  64. package/dist/DataModel.d.ts.map +1 -0
  65. package/dist/DataModel.js +7 -0
  66. package/dist/DataModel.js.map +1 -0
  67. package/dist/DatabaseReader.d.ts +26 -0
  68. package/dist/DatabaseReader.d.ts.map +1 -0
  69. package/dist/DatabaseReader.js +33 -0
  70. package/dist/DatabaseReader.js.map +1 -0
  71. package/dist/DatabaseSchema.d.ts +67 -0
  72. package/dist/DatabaseSchema.d.ts.map +1 -0
  73. package/dist/DatabaseSchema.js +61 -0
  74. package/dist/DatabaseSchema.js.map +1 -0
  75. package/dist/DatabaseWriter.d.ts +44 -0
  76. package/dist/DatabaseWriter.d.ts.map +1 -0
  77. package/dist/DatabaseWriter.js +47 -0
  78. package/dist/DatabaseWriter.js.map +1 -0
  79. package/dist/Document.d.ts +37 -0
  80. package/dist/Document.d.ts.map +1 -0
  81. package/dist/Document.js +54 -0
  82. package/dist/Document.js.map +1 -0
  83. package/dist/ExecutionMetadata.d.ts +13 -0
  84. package/dist/ExecutionMetadata.d.ts.map +1 -0
  85. package/dist/ExecutionMetadata.js +19 -0
  86. package/dist/ExecutionMetadata.js.map +1 -0
  87. package/dist/FunctionImpl.d.ts +39 -0
  88. package/dist/FunctionImpl.d.ts.map +1 -0
  89. package/dist/FunctionImpl.js +46 -0
  90. package/dist/FunctionImpl.js.map +1 -0
  91. package/dist/FunctionRegistryItem.d.ts +36 -0
  92. package/dist/FunctionRegistryItem.d.ts.map +1 -0
  93. package/dist/FunctionRegistryItem.js +34 -0
  94. package/dist/FunctionRegistryItem.js.map +1 -0
  95. package/dist/GroupImpl.d.ts +77 -0
  96. package/dist/GroupImpl.d.ts.map +1 -0
  97. package/dist/GroupImpl.js +81 -0
  98. package/dist/GroupImpl.js.map +1 -0
  99. package/dist/GroupRegistry.d.ts +8 -0
  100. package/dist/GroupRegistry.d.ts.map +1 -0
  101. package/dist/GroupRegistry.js +26 -0
  102. package/dist/GroupRegistry.js.map +1 -0
  103. package/dist/Handler.d.ts +47 -0
  104. package/dist/Handler.d.ts.map +1 -0
  105. package/dist/Handler.js +7 -0
  106. package/dist/Handler.js.map +1 -0
  107. package/dist/HttpRouter.d.ts +80 -0
  108. package/dist/HttpRouter.d.ts.map +1 -0
  109. package/dist/HttpRouter.js +195 -0
  110. package/dist/HttpRouter.js.map +1 -0
  111. package/dist/MiddlewareImpl.d.ts +79 -0
  112. package/dist/MiddlewareImpl.d.ts.map +1 -0
  113. package/dist/MiddlewareImpl.js +58 -0
  114. package/dist/MiddlewareImpl.js.map +1 -0
  115. package/dist/MiddlewareRegistryItem.d.ts +12 -0
  116. package/dist/MiddlewareRegistryItem.d.ts.map +1 -0
  117. package/dist/MiddlewareRegistryItem.js +15 -0
  118. package/dist/MiddlewareRegistryItem.js.map +1 -0
  119. package/dist/MutationCtx.d.ts +10 -0
  120. package/dist/MutationCtx.d.ts.map +1 -0
  121. package/dist/MutationCtx.js +18 -0
  122. package/dist/MutationCtx.js.map +1 -0
  123. package/dist/MutationRunner.d.ts +27 -0
  124. package/dist/MutationRunner.d.ts.map +1 -0
  125. package/dist/MutationRunner.js +28 -0
  126. package/dist/MutationRunner.js.map +1 -0
  127. package/dist/MutationTransactionContext.d.ts +17 -0
  128. package/dist/MutationTransactionContext.d.ts.map +1 -0
  129. package/dist/MutationTransactionContext.js +20 -0
  130. package/dist/MutationTransactionContext.js.map +1 -0
  131. package/dist/OrderedQuery.d.ts +32 -0
  132. package/dist/OrderedQuery.d.ts.map +1 -0
  133. package/dist/OrderedQuery.js +36 -0
  134. package/dist/OrderedQuery.js.map +1 -0
  135. package/dist/QueryCtx.d.ts +10 -0
  136. package/dist/QueryCtx.d.ts.map +1 -0
  137. package/dist/QueryCtx.js +18 -0
  138. package/dist/QueryCtx.js.map +1 -0
  139. package/dist/QueryInitializer.d.ts +75 -0
  140. package/dist/QueryInitializer.d.ts.map +1 -0
  141. package/dist/QueryInitializer.js +105 -0
  142. package/dist/QueryInitializer.js.map +1 -0
  143. package/dist/QueryRunner.d.ts +46 -0
  144. package/dist/QueryRunner.d.ts.map +1 -0
  145. package/dist/QueryRunner.js +30 -0
  146. package/dist/QueryRunner.js.map +1 -0
  147. package/dist/QueryStream.d.ts +678 -0
  148. package/dist/QueryStream.d.ts.map +1 -0
  149. package/dist/QueryStream.js +943 -0
  150. package/dist/QueryStream.js.map +1 -0
  151. package/dist/QueryStreamCursor.d.ts +39 -0
  152. package/dist/QueryStreamCursor.d.ts.map +1 -0
  153. package/dist/QueryStreamCursor.js +52 -0
  154. package/dist/QueryStreamCursor.js.map +1 -0
  155. package/dist/QueryStreamIndexPrefix.d.ts +48 -0
  156. package/dist/QueryStreamIndexPrefix.d.ts.map +1 -0
  157. package/dist/QueryStreamIndexPrefix.js +38 -0
  158. package/dist/QueryStreamIndexPrefix.js.map +1 -0
  159. package/dist/QueryStreamIndexRange.d.ts +193 -0
  160. package/dist/QueryStreamIndexRange.d.ts.map +1 -0
  161. package/dist/QueryStreamIndexRange.js +241 -0
  162. package/dist/QueryStreamIndexRange.js.map +1 -0
  163. package/dist/QueryStreamKey.d.ts +64 -0
  164. package/dist/QueryStreamKey.d.ts.map +1 -0
  165. package/dist/QueryStreamKey.js +69 -0
  166. package/dist/QueryStreamKey.js.map +1 -0
  167. package/dist/QueryStreamKeyBounds.d.ts +136 -0
  168. package/dist/QueryStreamKeyBounds.d.ts.map +1 -0
  169. package/dist/QueryStreamKeyBounds.js +208 -0
  170. package/dist/QueryStreamKeyBounds.js.map +1 -0
  171. package/dist/QueryStreamKeyLabels.d.ts +27 -0
  172. package/dist/QueryStreamKeyLabels.d.ts.map +1 -0
  173. package/dist/QueryStreamKeyLabels.js +22 -0
  174. package/dist/QueryStreamKeyLabels.js.map +1 -0
  175. package/dist/QueryStreamKeyLayout.d.ts +179 -0
  176. package/dist/QueryStreamKeyLayout.d.ts.map +1 -0
  177. package/dist/QueryStreamKeyLayout.js +167 -0
  178. package/dist/QueryStreamKeyLayout.js.map +1 -0
  179. package/dist/QueryStreamKeyValues.d.ts +40 -0
  180. package/dist/QueryStreamKeyValues.d.ts.map +1 -0
  181. package/dist/QueryStreamKeyValues.js +57 -0
  182. package/dist/QueryStreamKeyValues.js.map +1 -0
  183. package/dist/QueryStreamOrderDirection.d.ts +24 -0
  184. package/dist/QueryStreamOrderDirection.d.ts.map +1 -0
  185. package/dist/QueryStreamOrderDirection.js +11 -0
  186. package/dist/QueryStreamOrderDirection.js.map +1 -0
  187. package/dist/QueryStreamPagination.d.ts +264 -0
  188. package/dist/QueryStreamPagination.d.ts.map +1 -0
  189. package/dist/QueryStreamPagination.js +172 -0
  190. package/dist/QueryStreamPagination.js.map +1 -0
  191. package/dist/QueryStreamReadBudget.d.ts +63 -0
  192. package/dist/QueryStreamReadBudget.d.ts.map +1 -0
  193. package/dist/QueryStreamReadBudget.js +81 -0
  194. package/dist/QueryStreamReadBudget.js.map +1 -0
  195. package/dist/QueryTransactionContext.d.ts +16 -0
  196. package/dist/QueryTransactionContext.d.ts.map +1 -0
  197. package/dist/QueryTransactionContext.js +17 -0
  198. package/dist/QueryTransactionContext.js.map +1 -0
  199. package/dist/RegisteredConvexFunction.d.ts +359 -0
  200. package/dist/RegisteredConvexFunction.d.ts.map +1 -0
  201. package/dist/RegisteredConvexFunction.js +154 -0
  202. package/dist/RegisteredConvexFunction.js.map +1 -0
  203. package/dist/RegisteredFunction.d.ts +143 -0
  204. package/dist/RegisteredFunction.d.ts.map +1 -0
  205. package/dist/RegisteredFunction.js +125 -0
  206. package/dist/RegisteredFunction.js.map +1 -0
  207. package/dist/RegisteredFunctions.d.ts +57 -0
  208. package/dist/RegisteredFunctions.d.ts.map +1 -0
  209. package/dist/RegisteredFunctions.js +32 -0
  210. package/dist/RegisteredFunctions.js.map +1 -0
  211. package/dist/RegisteredNodeFunction.d.ts +11 -0
  212. package/dist/RegisteredNodeFunction.d.ts.map +1 -0
  213. package/dist/RegisteredNodeFunction.js +45 -0
  214. package/dist/RegisteredNodeFunction.js.map +1 -0
  215. package/dist/Registry.d.ts +12 -0
  216. package/dist/Registry.d.ts.map +1 -0
  217. package/dist/Registry.js +17 -0
  218. package/dist/Registry.js.map +1 -0
  219. package/dist/RegistryItems.d.ts +21 -0
  220. package/dist/RegistryItems.d.ts.map +1 -0
  221. package/dist/RegistryItems.js +27 -0
  222. package/dist/RegistryItems.js.map +1 -0
  223. package/dist/RequestMetadata.d.ts +12 -0
  224. package/dist/RequestMetadata.d.ts.map +1 -0
  225. package/dist/RequestMetadata.js +16 -0
  226. package/dist/RequestMetadata.js.map +1 -0
  227. package/dist/ResolvedMiddleware.d.ts +24 -0
  228. package/dist/ResolvedMiddleware.d.ts.map +1 -0
  229. package/dist/ResolvedMiddleware.js +34 -0
  230. package/dist/ResolvedMiddleware.js.map +1 -0
  231. package/dist/Scheduler.d.ts +31 -0
  232. package/dist/Scheduler.d.ts.map +1 -0
  233. package/dist/Scheduler.js +35 -0
  234. package/dist/Scheduler.js.map +1 -0
  235. package/dist/Storage.d.ts +22 -0
  236. package/dist/Storage.d.ts.map +1 -0
  237. package/dist/Storage.js +27 -0
  238. package/dist/Storage.js.map +1 -0
  239. package/dist/StorageActionWriter.d.ts +35 -0
  240. package/dist/StorageActionWriter.d.ts.map +1 -0
  241. package/dist/StorageActionWriter.js +24 -0
  242. package/dist/StorageActionWriter.js.map +1 -0
  243. package/dist/StorageReader.d.ts +26 -0
  244. package/dist/StorageReader.d.ts.map +1 -0
  245. package/dist/StorageReader.js +22 -0
  246. package/dist/StorageReader.js.map +1 -0
  247. package/dist/StorageWriter.d.ts +29 -0
  248. package/dist/StorageWriter.d.ts.map +1 -0
  249. package/dist/StorageWriter.js +24 -0
  250. package/dist/StorageWriter.js.map +1 -0
  251. package/dist/Table.d.ts +274 -0
  252. package/dist/Table.d.ts.map +1 -0
  253. package/dist/Table.js +70 -0
  254. package/dist/Table.js.map +1 -0
  255. package/dist/TableInfo.d.ts +44 -0
  256. package/dist/TableInfo.d.ts.map +1 -0
  257. package/dist/TableInfo.js +7 -0
  258. package/dist/TableInfo.js.map +1 -0
  259. package/dist/TransactionMetadata.d.ts +12 -0
  260. package/dist/TransactionMetadata.d.ts.map +1 -0
  261. package/dist/TransactionMetadata.js +16 -0
  262. package/dist/TransactionMetadata.js.map +1 -0
  263. package/dist/VectorSearch.d.ts +23 -0
  264. package/dist/VectorSearch.d.ts.map +1 -0
  265. package/dist/VectorSearch.js +17 -0
  266. package/dist/VectorSearch.js.map +1 -0
  267. package/dist/_virtual/_rolldown/runtime.js +13 -0
  268. package/dist/index.d.ts +88 -0
  269. package/dist/index.d.ts.map +1 -0
  270. package/dist/index.js +61 -0
  271. package/dist/internal/AiGatewayDecisionClient.d.ts +7 -0
  272. package/dist/internal/AiGatewayDecisionClient.d.ts.map +1 -0
  273. package/dist/internal/AiGatewayDecisionClient.js +19 -0
  274. package/dist/internal/AiGatewayDecisionClient.js.map +1 -0
  275. package/dist/internal/AiGatewayLanguageClient.d.ts +7 -0
  276. package/dist/internal/AiGatewayLanguageClient.d.ts.map +1 -0
  277. package/dist/internal/AiGatewayLanguageClient.js +19 -0
  278. package/dist/internal/AiGatewayLanguageClient.js.map +1 -0
  279. package/dist/internal/AiGatewayServiceToken.d.ts +46 -0
  280. package/dist/internal/AiGatewayServiceToken.d.ts.map +1 -0
  281. package/dist/internal/AiGatewayServiceToken.js +62 -0
  282. package/dist/internal/AiGatewayServiceToken.js.map +1 -0
  283. package/dist/internal/constants.d.ts +2 -0
  284. package/dist/internal/constants.d.ts.map +1 -0
  285. package/dist/internal/constants.js +6 -0
  286. package/dist/internal/constants.js.map +1 -0
  287. package/dist/internal/utils.d.ts +13 -0
  288. package/dist/internal/utils.d.ts.map +1 -0
  289. package/dist/internal/utils.js +50 -0
  290. package/dist/internal/utils.js.map +1 -0
  291. package/dist/node.d.ts +2 -0
  292. package/dist/node.d.ts.map +1 -0
  293. package/dist/node.js +1 -0
  294. package/package.json +68 -3
  295. package/src/ActionCtx.ts +45 -0
  296. package/src/ActionRunner.ts +36 -0
  297. package/src/AiGatewayDecisionClient.ts +40 -0
  298. package/src/AiGatewayDecisionModel.ts +46 -0
  299. package/src/AiGatewayLanguageClient.ts +41 -0
  300. package/src/AiGatewayLanguageModel.ts +61 -0
  301. package/src/Auth.ts +51 -0
  302. package/src/BlobNotFoundError.ts +12 -0
  303. package/src/Callback.ts +313 -0
  304. package/src/ComponentCtx.ts +192 -0
  305. package/src/ConvexConfigProvider.ts +39 -0
  306. package/src/ConvexFunctionDefinitions.ts +91 -0
  307. package/src/ConvexLogger.ts +43 -0
  308. package/src/CronJob.ts +42 -0
  309. package/src/CronJobs.ts +165 -0
  310. package/src/DataModel.ts +81 -0
  311. package/src/DatabaseReader.ts +118 -0
  312. package/src/DatabaseSchema.ts +139 -0
  313. package/src/DatabaseWriter.ts +232 -0
  314. package/src/Document.ts +146 -0
  315. package/src/ExecutionMetadata.ts +26 -0
  316. package/src/FunctionImpl.ts +96 -0
  317. package/src/FunctionRegistryItem.ts +85 -0
  318. package/src/GroupImpl.ts +167 -0
  319. package/src/GroupRegistry.ts +41 -0
  320. package/src/Handler.ts +191 -0
  321. package/src/HttpRouter.ts +388 -0
  322. package/src/MiddlewareImpl.ts +247 -0
  323. package/src/MiddlewareRegistryItem.ts +21 -0
  324. package/src/MutationCtx.ts +45 -0
  325. package/src/MutationRunner.ts +66 -0
  326. package/src/MutationTransactionContext.ts +48 -0
  327. package/src/OrderedQuery.ts +136 -0
  328. package/src/QueryCtx.ts +45 -0
  329. package/src/QueryInitializer.ts +537 -0
  330. package/src/QueryRunner.ts +91 -0
  331. package/src/QueryStream.ts +2476 -0
  332. package/src/QueryStreamCursor.ts +99 -0
  333. package/src/QueryStreamIndexPrefix.ts +79 -0
  334. package/src/QueryStreamIndexRange.ts +489 -0
  335. package/src/QueryStreamKey.ts +118 -0
  336. package/src/QueryStreamKeyBounds.ts +395 -0
  337. package/src/QueryStreamKeyLabels.ts +56 -0
  338. package/src/QueryStreamKeyLayout.ts +382 -0
  339. package/src/QueryStreamKeyValues.ts +112 -0
  340. package/src/QueryStreamOrderDirection.ts +29 -0
  341. package/src/QueryStreamPagination.ts +357 -0
  342. package/src/QueryStreamReadBudget.ts +167 -0
  343. package/src/QueryTransactionContext.ts +37 -0
  344. package/src/RegisteredConvexFunction.ts +415 -0
  345. package/src/RegisteredFunction.ts +391 -0
  346. package/src/RegisteredFunctions.ts +88 -0
  347. package/src/RegisteredNodeFunction.ts +120 -0
  348. package/src/Registry.ts +17 -0
  349. package/src/RegistryItems.ts +40 -0
  350. package/src/RequestMetadata.ts +20 -0
  351. package/src/ResolvedMiddleware.ts +70 -0
  352. package/src/Scheduler.ts +85 -0
  353. package/src/Storage.ts +37 -0
  354. package/src/StorageActionWriter.ts +59 -0
  355. package/src/StorageReader.ts +59 -0
  356. package/src/StorageWriter.ts +58 -0
  357. package/src/Table.ts +156 -0
  358. package/src/TableInfo.ts +106 -0
  359. package/src/TransactionMetadata.ts +20 -0
  360. package/src/VectorSearch.ts +75 -0
  361. package/src/index.ts +87 -0
  362. package/src/internal/AiGatewayDecisionClient.ts +16 -0
  363. package/src/internal/AiGatewayLanguageClient.ts +16 -0
  364. package/src/internal/AiGatewayServiceToken.ts +129 -0
  365. package/src/internal/constants.ts +1 -0
  366. package/src/internal/utils.ts +89 -0
  367. package/src/node.ts +1 -0
@@ -0,0 +1,359 @@
1
+ import { type DefaultFunctionArgs, type FunctionVisibility, type GenericMutationCtx, type GenericQueryCtx } from "convex/server";
2
+ import type { Value } from "convex/values";
3
+ import * as Data from "effect/Data";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import * as Schema from "effect/Schema";
7
+ import * as Auth from "./Auth";
8
+ import * as DatabaseReader from "./DatabaseReader";
9
+ import type * as DatabaseSchema from "./DatabaseSchema";
10
+ import * as DatabaseWriter from "./DatabaseWriter";
11
+ import type * as DataModel from "./DataModel";
12
+ import * as ExecutionMetadata from "./ExecutionMetadata";
13
+ import * as RequestMetadata from "./RequestMetadata";
14
+ import * as TransactionMetadata from "./TransactionMetadata";
15
+ import * as MutationCtx from "./MutationCtx";
16
+ import * as MutationRunner from "./MutationRunner";
17
+ import * as MutationTransactionContext from "./MutationTransactionContext";
18
+ import * as QueryRunner from "./QueryRunner";
19
+ import * as QueryTransactionContext from "./QueryTransactionContext";
20
+ import * as RegisteredFunction from "./RegisteredFunction";
21
+ import type * as FunctionRegistryItem from "./FunctionRegistryItem";
22
+ import type * as ResolvedMiddleware from "./ResolvedMiddleware";
23
+ import * as Scheduler from "./Scheduler";
24
+ import type * as Handler from "./Handler";
25
+ export type Definition = Data.TaggedEnum<{
26
+ PublicQuery: ReturnType<typeof queryFunction>;
27
+ InternalQuery: ReturnType<typeof queryFunction>;
28
+ PublicMutation: ReturnType<typeof mutationFunction>;
29
+ InternalMutation: ReturnType<typeof mutationFunction>;
30
+ PublicAction: ReturnType<typeof convexActionFunction>;
31
+ InternalAction: ReturnType<typeof convexActionFunction>;
32
+ Registered: {
33
+ readonly handler: RegisteredFunction.Any;
34
+ };
35
+ }>;
36
+ export declare const Definition: {
37
+ readonly $is: <Tag extends "InternalAction" | "InternalMutation" | "InternalQuery" | "PublicAction" | "PublicMutation" | "PublicQuery" | "Registered">(tag: Tag) => (u: unknown) => u is Extract<{
38
+ readonly _tag: "InternalAction";
39
+ readonly args: import("convex/values").PropertyValidators;
40
+ readonly returns: import("convex/values").Validator<any, any, any>;
41
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
42
+ }, {
43
+ readonly _tag: Tag;
44
+ }> | Extract<{
45
+ readonly _tag: "InternalMutation";
46
+ readonly args: import("convex/values").PropertyValidators;
47
+ readonly returns: import("convex/values").Validator<any, any, any>;
48
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
49
+ }, {
50
+ readonly _tag: Tag;
51
+ }> | Extract<{
52
+ readonly _tag: "InternalQuery";
53
+ readonly args: import("convex/values").PropertyValidators;
54
+ readonly returns: import("convex/values").Validator<any, any, any>;
55
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
56
+ }, {
57
+ readonly _tag: Tag;
58
+ }> | Extract<{
59
+ readonly _tag: "PublicAction";
60
+ readonly args: import("convex/values").PropertyValidators;
61
+ readonly returns: import("convex/values").Validator<any, any, any>;
62
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
63
+ }, {
64
+ readonly _tag: Tag;
65
+ }> | Extract<{
66
+ readonly _tag: "PublicMutation";
67
+ readonly args: import("convex/values").PropertyValidators;
68
+ readonly returns: import("convex/values").Validator<any, any, any>;
69
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
70
+ }, {
71
+ readonly _tag: Tag;
72
+ }> | Extract<{
73
+ readonly _tag: "PublicQuery";
74
+ readonly args: import("convex/values").PropertyValidators;
75
+ readonly returns: import("convex/values").Validator<any, any, any>;
76
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
77
+ }, {
78
+ readonly _tag: Tag;
79
+ }> | Extract<{
80
+ readonly _tag: "Registered";
81
+ readonly handler: RegisteredFunction.Any;
82
+ }, {
83
+ readonly _tag: Tag;
84
+ }>;
85
+ readonly $match: {
86
+ <Cases extends { readonly [Tag in "InternalAction" | "InternalMutation" | "InternalQuery" | "PublicAction" | "PublicMutation" | "PublicQuery" | "Registered"]: (args: Extract<{
87
+ readonly _tag: "InternalAction";
88
+ readonly args: import("convex/values").PropertyValidators;
89
+ readonly returns: import("convex/values").Validator<any, any, any>;
90
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
91
+ } | {
92
+ readonly _tag: "InternalMutation";
93
+ readonly args: import("convex/values").PropertyValidators;
94
+ readonly returns: import("convex/values").Validator<any, any, any>;
95
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
96
+ } | {
97
+ readonly _tag: "InternalQuery";
98
+ readonly args: import("convex/values").PropertyValidators;
99
+ readonly returns: import("convex/values").Validator<any, any, any>;
100
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
101
+ } | {
102
+ readonly _tag: "PublicAction";
103
+ readonly args: import("convex/values").PropertyValidators;
104
+ readonly returns: import("convex/values").Validator<any, any, any>;
105
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
106
+ } | {
107
+ readonly _tag: "PublicMutation";
108
+ readonly args: import("convex/values").PropertyValidators;
109
+ readonly returns: import("convex/values").Validator<any, any, any>;
110
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
111
+ } | {
112
+ readonly _tag: "PublicQuery";
113
+ readonly args: import("convex/values").PropertyValidators;
114
+ readonly returns: import("convex/values").Validator<any, any, any>;
115
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
116
+ } | {
117
+ readonly _tag: "Registered";
118
+ readonly handler: RegisteredFunction.Any;
119
+ }, {
120
+ readonly _tag: Tag;
121
+ }>) => any; }>(cases: Cases): (value: {
122
+ readonly _tag: "InternalAction";
123
+ readonly args: import("convex/values").PropertyValidators;
124
+ readonly returns: import("convex/values").Validator<any, any, any>;
125
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
126
+ } | {
127
+ readonly _tag: "InternalMutation";
128
+ readonly args: import("convex/values").PropertyValidators;
129
+ readonly returns: import("convex/values").Validator<any, any, any>;
130
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
131
+ } | {
132
+ readonly _tag: "InternalQuery";
133
+ readonly args: import("convex/values").PropertyValidators;
134
+ readonly returns: import("convex/values").Validator<any, any, any>;
135
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
136
+ } | {
137
+ readonly _tag: "PublicAction";
138
+ readonly args: import("convex/values").PropertyValidators;
139
+ readonly returns: import("convex/values").Validator<any, any, any>;
140
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
141
+ } | {
142
+ readonly _tag: "PublicMutation";
143
+ readonly args: import("convex/values").PropertyValidators;
144
+ readonly returns: import("convex/values").Validator<any, any, any>;
145
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
146
+ } | {
147
+ readonly _tag: "PublicQuery";
148
+ readonly args: import("convex/values").PropertyValidators;
149
+ readonly returns: import("convex/values").Validator<any, any, any>;
150
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
151
+ } | {
152
+ readonly _tag: "Registered";
153
+ readonly handler: RegisteredFunction.Any;
154
+ }) => import("effect/Unify").Unify<ReturnType<Cases["InternalAction" | "InternalMutation" | "InternalQuery" | "PublicAction" | "PublicMutation" | "PublicQuery" | "Registered"]>>;
155
+ <Cases extends { readonly [Tag in "InternalAction" | "InternalMutation" | "InternalQuery" | "PublicAction" | "PublicMutation" | "PublicQuery" | "Registered"]: (args: Extract<{
156
+ readonly _tag: "InternalAction";
157
+ readonly args: import("convex/values").PropertyValidators;
158
+ readonly returns: import("convex/values").Validator<any, any, any>;
159
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
160
+ } | {
161
+ readonly _tag: "InternalMutation";
162
+ readonly args: import("convex/values").PropertyValidators;
163
+ readonly returns: import("convex/values").Validator<any, any, any>;
164
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
165
+ } | {
166
+ readonly _tag: "InternalQuery";
167
+ readonly args: import("convex/values").PropertyValidators;
168
+ readonly returns: import("convex/values").Validator<any, any, any>;
169
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
170
+ } | {
171
+ readonly _tag: "PublicAction";
172
+ readonly args: import("convex/values").PropertyValidators;
173
+ readonly returns: import("convex/values").Validator<any, any, any>;
174
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
175
+ } | {
176
+ readonly _tag: "PublicMutation";
177
+ readonly args: import("convex/values").PropertyValidators;
178
+ readonly returns: import("convex/values").Validator<any, any, any>;
179
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
180
+ } | {
181
+ readonly _tag: "PublicQuery";
182
+ readonly args: import("convex/values").PropertyValidators;
183
+ readonly returns: import("convex/values").Validator<any, any, any>;
184
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
185
+ } | {
186
+ readonly _tag: "Registered";
187
+ readonly handler: RegisteredFunction.Any;
188
+ }, {
189
+ readonly _tag: Tag;
190
+ }>) => any; }>(value: {
191
+ readonly _tag: "InternalAction";
192
+ readonly args: import("convex/values").PropertyValidators;
193
+ readonly returns: import("convex/values").Validator<any, any, any>;
194
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
195
+ } | {
196
+ readonly _tag: "InternalMutation";
197
+ readonly args: import("convex/values").PropertyValidators;
198
+ readonly returns: import("convex/values").Validator<any, any, any>;
199
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
200
+ } | {
201
+ readonly _tag: "InternalQuery";
202
+ readonly args: import("convex/values").PropertyValidators;
203
+ readonly returns: import("convex/values").Validator<any, any, any>;
204
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
205
+ } | {
206
+ readonly _tag: "PublicAction";
207
+ readonly args: import("convex/values").PropertyValidators;
208
+ readonly returns: import("convex/values").Validator<any, any, any>;
209
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
210
+ } | {
211
+ readonly _tag: "PublicMutation";
212
+ readonly args: import("convex/values").PropertyValidators;
213
+ readonly returns: import("convex/values").Validator<any, any, any>;
214
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
215
+ } | {
216
+ readonly _tag: "PublicQuery";
217
+ readonly args: import("convex/values").PropertyValidators;
218
+ readonly returns: import("convex/values").Validator<any, any, any>;
219
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
220
+ } | {
221
+ readonly _tag: "Registered";
222
+ readonly handler: RegisteredFunction.Any;
223
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["InternalAction" | "InternalMutation" | "InternalQuery" | "PublicAction" | "PublicMutation" | "PublicQuery" | "Registered"]>>;
224
+ };
225
+ readonly InternalAction: Data.TaggedEnum.ConstructorFrom<{
226
+ readonly _tag: "InternalAction";
227
+ readonly args: import("convex/values").PropertyValidators;
228
+ readonly returns: import("convex/values").Validator<any, any, any>;
229
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
230
+ }, "_tag">;
231
+ readonly InternalMutation: Data.TaggedEnum.ConstructorFrom<{
232
+ readonly _tag: "InternalMutation";
233
+ readonly args: import("convex/values").PropertyValidators;
234
+ readonly returns: import("convex/values").Validator<any, any, any>;
235
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
236
+ }, "_tag">;
237
+ readonly InternalQuery: Data.TaggedEnum.ConstructorFrom<{
238
+ readonly _tag: "InternalQuery";
239
+ readonly args: import("convex/values").PropertyValidators;
240
+ readonly returns: import("convex/values").Validator<any, any, any>;
241
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
242
+ }, "_tag">;
243
+ readonly PublicAction: Data.TaggedEnum.ConstructorFrom<{
244
+ readonly _tag: "PublicAction";
245
+ readonly args: import("convex/values").PropertyValidators;
246
+ readonly returns: import("convex/values").Validator<any, any, any>;
247
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
248
+ }, "_tag">;
249
+ readonly PublicMutation: Data.TaggedEnum.ConstructorFrom<{
250
+ readonly _tag: "PublicMutation";
251
+ readonly args: import("convex/values").PropertyValidators;
252
+ readonly returns: import("convex/values").Validator<any, any, any>;
253
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
254
+ }, "_tag">;
255
+ readonly PublicQuery: Data.TaggedEnum.ConstructorFrom<{
256
+ readonly _tag: "PublicQuery";
257
+ readonly args: import("convex/values").PropertyValidators;
258
+ readonly returns: import("convex/values").Validator<any, any, any>;
259
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
260
+ }, "_tag">;
261
+ readonly Registered: Data.TaggedEnum.ConstructorFrom<{
262
+ readonly _tag: "Registered";
263
+ readonly handler: RegisteredFunction.Any;
264
+ }, "_tag">;
265
+ };
266
+ export declare const prepare: (databaseSchema: DatabaseSchema.AnyWithProps, item: FunctionRegistryItem.ConfectFunctionRegistryItem, resolvedMiddlewares?: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware>) => {
267
+ readonly _tag: "InternalAction";
268
+ readonly args: import("convex/values").PropertyValidators;
269
+ readonly returns: import("convex/values").Validator<any, any, any>;
270
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
271
+ } | {
272
+ readonly _tag: "InternalMutation";
273
+ readonly args: import("convex/values").PropertyValidators;
274
+ readonly returns: import("convex/values").Validator<any, any, any>;
275
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
276
+ } | {
277
+ readonly _tag: "InternalQuery";
278
+ readonly args: import("convex/values").PropertyValidators;
279
+ readonly returns: import("convex/values").Validator<any, any, any>;
280
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
281
+ } | {
282
+ readonly _tag: "PublicAction";
283
+ readonly args: import("convex/values").PropertyValidators;
284
+ readonly returns: import("convex/values").Validator<any, any, any>;
285
+ readonly handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
286
+ } | {
287
+ readonly _tag: "PublicMutation";
288
+ readonly args: import("convex/values").PropertyValidators;
289
+ readonly returns: import("convex/values").Validator<any, any, any>;
290
+ readonly handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
291
+ } | {
292
+ readonly _tag: "PublicQuery";
293
+ readonly args: import("convex/values").PropertyValidators;
294
+ readonly returns: import("convex/values").Validator<any, any, any>;
295
+ readonly handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: DefaultFunctionArgs) => Promise<unknown>;
296
+ };
297
+ export declare const make: (databaseSchema: DatabaseSchema.AnyWithProps, item: FunctionRegistryItem.ConfectFunctionRegistryItem, resolvedMiddlewares?: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware>) => RegisteredFunction.Any;
298
+ export declare const register: (self: Definition) => RegisteredFunction.Any;
299
+ declare const queryFunction: <DatabaseSchema_ extends DatabaseSchema.AnyWithProps, Args, ConvexArgs extends DefaultFunctionArgs, Returns, ConvexReturns, E>({ databaseSchema, name, functionVisibility, args, returns, error, handler, resolvedMiddlewares, }: {
300
+ databaseSchema: DatabaseSchema_;
301
+ name: string;
302
+ functionVisibility: FunctionVisibility;
303
+ args: Schema.Codec<Args, ConvexArgs>;
304
+ returns: Schema.Codec<Returns, ConvexReturns>;
305
+ error: Schema.Codec<Error, Value> | undefined;
306
+ handler: (a: Args) => Effect.Effect<Returns, E, Handler.QueryServices<DatabaseSchema_>>;
307
+ resolvedMiddlewares: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware>;
308
+ }) => {
309
+ args: import("convex/values").PropertyValidators;
310
+ returns: import("convex/values").Validator<any, any, any>;
311
+ handler: (ctx: GenericQueryCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema_>>>, actualArgs: ConvexArgs) => Promise<ConvexReturns>;
312
+ };
313
+ export declare const mutationLayer: <Schema extends DatabaseSchema.AnyWithProps>(schema: Schema, ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<Schema>>>) => Layer.Layer<DatabaseReader.DatabaseReaderService<Schema, {}> | DatabaseWriter.DatabaseWriterService<Schema, {}> | ExecutionMetadata.ExecutionMetadata | MutationTransactionContext.MutationTransactionContext | QueryTransactionContext.QueryTransactionContext | RequestMetadata.RequestMetadata | import("./Storage").Storage | TransactionMetadata.TransactionMetadata | {
314
+ runMutation: {
315
+ <Mutation extends import("@confect/core/Ref").AnyMutation>(mutation: Mutation, ...args: [...import("@confect/core/Ref").OptionalArgs<Mutation>, options?: undefined]): Effect.Effect<import("@confect/core/Ref").Returns<Mutation>, import("@confect/core/Ref").Error<Mutation> | Schema.SchemaError>;
316
+ <Mutation extends import("@confect/core/Ref").AnyMutation>(mutation: Mutation, args: import("@confect/core/Ref").Args<Mutation>, options: MutationRunner.Options | undefined): Effect.Effect<import("@confect/core/Ref").Returns<Mutation>, import("@confect/core/Ref").Error<Mutation> | Schema.SchemaError, MutationTransactionContext.MutationTransactionContext>;
317
+ };
318
+ } | {
319
+ runQuery: {
320
+ <Query extends import("@confect/core/Ref").AnyQuery>(query: Query, ...args: [...import("@confect/core/Ref").OptionalArgs<Query>, options?: undefined]): Effect.Effect<import("@confect/core/Ref").Returns<Query>, import("@confect/core/Ref").Error<Query> | Schema.SchemaError>;
321
+ <Query extends import("@confect/core/Ref").AnyQuery>(query: Query, args: import("@confect/core/Ref").Args<Query>, options: (QueryTransactionContext.Options & {
322
+ readonly useStaleSnapshot?: never;
323
+ }) | undefined): Effect.Effect<import("@confect/core/Ref").Returns<Query>, import("@confect/core/Ref").Error<Query> | Schema.SchemaError, QueryTransactionContext.QueryTransactionContext>;
324
+ <Query extends import("@confect/core/Ref").AnyQuery>(query: Query, args: import("@confect/core/Ref").Args<Query>, options: QueryRunner.Options & {
325
+ readonly useStaleSnapshot: boolean;
326
+ }): Effect.Effect<import("@confect/core/Ref").Returns<Query>, import("@confect/core/Ref").Error<Query> | Schema.SchemaError, MutationTransactionContext.MutationTransactionContext>;
327
+ <Query extends import("@confect/core/Ref").AnyQuery>(query: Query, args: import("@confect/core/Ref").Args<Query>, options: QueryRunner.Options | undefined): Effect.Effect<import("@confect/core/Ref").Returns<Query>, import("@confect/core/Ref").Error<Query> | Schema.SchemaError, QueryTransactionContext.QueryTransactionContext | MutationTransactionContext.MutationTransactionContext>;
328
+ };
329
+ } | Scheduler.ForScope<DatabaseSchema.Scope<Schema>> | import("./StorageReader").ForScope<DatabaseSchema.Scope<Schema>> | import("./StorageWriter").ForScope<DatabaseSchema.Scope<Schema>> | Auth.ForTarget<Schema["target"]> | MutationCtx.MutationCtx<DataModel.ToConvex<DataModel.FromSchema<Schema>>, DatabaseSchema.Scope<Schema>>, never, never>;
330
+ export type MutationServices<Schema extends DatabaseSchema.AnyWithProps> = Handler.MutationServices<Schema>;
331
+ declare const mutationFunction: <DatabaseSchema_ extends DatabaseSchema.AnyWithProps, Args, ConvexArgs extends DefaultFunctionArgs, Returns, ConvexReturns, E>({ databaseSchema, name, functionVisibility, args, returns, error, handler, resolvedMiddlewares, }: {
332
+ databaseSchema: DatabaseSchema_;
333
+ name: string;
334
+ functionVisibility: FunctionVisibility;
335
+ args: Schema.Codec<Args, ConvexArgs>;
336
+ returns: Schema.Codec<Returns, ConvexReturns>;
337
+ error: Schema.Codec<Error, Value> | undefined;
338
+ handler: (a: Args) => Effect.Effect<Returns, E, MutationServices<DatabaseSchema_>>;
339
+ resolvedMiddlewares: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware>;
340
+ }) => {
341
+ args: import("convex/values").PropertyValidators;
342
+ returns: import("convex/values").Validator<any, any, any>;
343
+ handler: (ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema_>>>, actualArgs: ConvexArgs) => Promise<ConvexReturns>;
344
+ };
345
+ declare const convexActionFunction: <DatabaseSchema_ extends DatabaseSchema.AnyWithProps, Args, ConvexArgs extends DefaultFunctionArgs, Returns, ConvexReturns, E>(schema: DatabaseSchema_, { name, functionVisibility, args, returns, error, handler, resolvedMiddlewares, }: {
346
+ name: string;
347
+ functionVisibility: FunctionVisibility;
348
+ args: Schema.Codec<Args, ConvexArgs>;
349
+ returns: Schema.Codec<Returns, ConvexReturns>;
350
+ error: Schema.Codec<any, any> | undefined;
351
+ handler: (a: Args) => Effect.Effect<Returns, E, RegisteredFunction.ActionServices<DatabaseSchema_>>;
352
+ resolvedMiddlewares: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware>;
353
+ }) => {
354
+ args: import("convex/values").PropertyValidators;
355
+ returns: import("convex/values").Validator<any, any, any>;
356
+ handler: (ctx: import("convex/server").GenericActionCtx<DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema.AnyWithProps>>>, actualArgs: ConvexArgs) => Promise<ConvexReturns>;
357
+ };
358
+ export {};
359
+ //# sourceMappingURL=RegisteredConvexFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisteredConvexFunction.d.ts","sourceRoot":"","sources":["../src/RegisteredConvexFunction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
+ import { layerForTarget } from "./Auth.js";
3
+ import { layer } from "./ConvexConfigProvider.js";
4
+ import { layer as layer$1 } from "./DatabaseReader.js";
5
+ import { layer as layer$2 } from "./DatabaseWriter.js";
6
+ import { layer as layer$3 } from "./ExecutionMetadata.js";
7
+ import { layer as layer$4 } from "./RequestMetadata.js";
8
+ import { layer as layer$5 } from "./TransactionMetadata.js";
9
+ import { layer as layer$6 } from "./MutationCtx.js";
10
+ import { layer as layer$7 } from "./MutationTransactionContext.js";
11
+ import { layer as layer$8 } from "./MutationRunner.js";
12
+ import { layer as layer$9 } from "./QueryCtx.js";
13
+ import { layer as layer$10 } from "./QueryTransactionContext.js";
14
+ import { layer as layer$11 } from "./QueryRunner.js";
15
+ import { layer as layer$12 } from "./Scheduler.js";
16
+ import { StorageWriter } from "./StorageWriter.js";
17
+ import { actionFunctionBase, actionLayer, applyMiddleware, combineErrorSchemas, runHandlerPromise, storageLayer } from "./RegisteredFunction.js";
18
+ import * as Layer from "effect/Layer";
19
+ import * as Effect from "effect/Effect";
20
+ import { actionGeneric, internalActionGeneric, internalMutationGeneric, internalQueryGeneric, mutationGeneric, queryGeneric } from "convex/server";
21
+ import * as Schema from "effect/Schema";
22
+ import { pipe } from "effect/Function";
23
+ import * as Match from "effect/Match";
24
+ import { compileArgsSchema, compileReturnsSchema } from "@confect/core/SchemaToValidator";
25
+ import * as Clock from "effect/Clock";
26
+ import * as Data from "effect/Data";
27
+ import * as Duration from "effect/Duration";
28
+ import * as EffectScheduler from "effect/Scheduler";
29
+ //#region src/RegisteredConvexFunction.ts
30
+ var RegisteredConvexFunction_exports = /* @__PURE__ */ __exportAll({
31
+ Definition: () => Definition,
32
+ make: () => make,
33
+ mutationLayer: () => mutationLayer,
34
+ prepare: () => prepare,
35
+ register: () => register
36
+ });
37
+ const Definition = Data.taggedEnum();
38
+ const prepare = (databaseSchema, item, resolvedMiddlewares = []) => Match.value(item.functionType).pipe(Match.when("query", () => {
39
+ const definition = queryFunction({
40
+ databaseSchema,
41
+ name: item.name,
42
+ functionVisibility: item.functionVisibility,
43
+ args: item.args,
44
+ returns: item.returns,
45
+ error: item.error,
46
+ handler: item.handler,
47
+ resolvedMiddlewares
48
+ });
49
+ return Match.value(item.functionVisibility).pipe(Match.when("public", () => Definition.PublicQuery(definition)), Match.when("internal", () => Definition.InternalQuery(definition)), Match.exhaustive);
50
+ }), Match.when("mutation", () => {
51
+ const definition = mutationFunction({
52
+ databaseSchema,
53
+ name: item.name,
54
+ functionVisibility: item.functionVisibility,
55
+ args: item.args,
56
+ returns: item.returns,
57
+ error: item.error,
58
+ handler: item.handler,
59
+ resolvedMiddlewares
60
+ });
61
+ return Match.value(item.functionVisibility).pipe(Match.when("public", () => Definition.PublicMutation(definition)), Match.when("internal", () => Definition.InternalMutation(definition)), Match.exhaustive);
62
+ }), Match.when("action", () => {
63
+ const definition = convexActionFunction(databaseSchema, {
64
+ name: item.name,
65
+ functionVisibility: item.functionVisibility,
66
+ args: item.args,
67
+ returns: item.returns,
68
+ error: item.error,
69
+ handler: item.handler,
70
+ resolvedMiddlewares
71
+ });
72
+ return Match.value(item.functionVisibility).pipe(Match.when("public", () => Definition.PublicAction(definition)), Match.when("internal", () => Definition.InternalAction(definition)), Match.exhaustive);
73
+ }), Match.exhaustive);
74
+ const make = (databaseSchema, item, resolvedMiddlewares = []) => register(prepare(databaseSchema, item, resolvedMiddlewares));
75
+ const register = (self) => Definition.$match(self, {
76
+ PublicQuery: (definition) => queryGeneric(definition),
77
+ InternalQuery: (definition) => internalQueryGeneric(definition),
78
+ PublicMutation: (definition) => mutationGeneric(definition),
79
+ InternalMutation: (definition) => internalMutationGeneric(definition),
80
+ PublicAction: (definition) => actionGeneric(definition),
81
+ InternalAction: (definition) => internalActionGeneric(definition),
82
+ Registered: ({ handler }) => handler
83
+ });
84
+ /**
85
+ * Convex evicts a query from its cache once the execution observes the current
86
+ * time (every `Date.now()` read is tracked). Effect's logging, span, and
87
+ * elapsed-time machinery reads timestamps through the ambient `Clock`'s unsafe
88
+ * accessors, which would silently opt any logging or timing query out of the
89
+ * cache—and there is no untracked time source in the isolate to serve them
90
+ * from, since Effect's own live clock falls back to `Date.now()` for monotonic
91
+ * time when neither `process.hrtime` nor `performance.now` exists. Queries
92
+ * therefore run with a `Clock` whose unsafe accessors all return constants, so
93
+ * logging and spans never touch the tracker and `Effect.timed` and duration
94
+ * metrics report a zero elapsed time, while the effectful accessors
95
+ * (`Clock.currentTimeMillis`/`currentTimeNanos`/`monotonicTimeNanos`) read the
96
+ * real time, making them an explicit opt-in to cache eviction. Raw `Date.now()`
97
+ * calls in handler code likewise opt out honestly.
98
+ */
99
+ const queryClock = {
100
+ currentTimeMillisUnsafe: () => 0,
101
+ currentTimeNanosUnsafe: () => 0n,
102
+ monotonicTimeNanosUnsafe: () => 0n,
103
+ currentTimeMillis: Effect.sync(() => Date.now()),
104
+ currentTimeNanos: Effect.sync(() => BigInt(Date.now()) * 1000000n),
105
+ monotonicTimeNanos: Effect.sync(() => BigInt(Date.now()) * 1000000n),
106
+ sleep: (duration) => Effect.callback((resume) => {
107
+ const handle = setTimeout(() => resume(Effect.void), Duration.toMillis(duration));
108
+ return Effect.sync(() => clearTimeout(handle));
109
+ })
110
+ };
111
+ const queryFunction = ({ databaseSchema, name, functionVisibility, args, returns, error, handler, resolvedMiddlewares }) => ({
112
+ args: compileArgsSchema(args, databaseSchema.target.scope),
113
+ returns: compileReturnsSchema(returns, databaseSchema.target.scope),
114
+ handler: (ctx, actualArgs) => Effect.gen(function* () {
115
+ const decodedArgs = yield* pipe(actualArgs, Schema.decodeUnknownEffect(args), Effect.catchTag("SchemaError", Effect.die));
116
+ const decodedReturns = yield* applyMiddleware(handler(decodedArgs), resolvedMiddlewares, {
117
+ name,
118
+ functionType: "query",
119
+ functionVisibility,
120
+ args: decodedArgs
121
+ }).pipe(Effect.provide(Layer.mergeAll(layer$1(databaseSchema, ctx.db), layer$3(ctx.meta), layer$5(ctx.meta), layer$10(ctx), layerForTarget(databaseSchema.target, ctx.auth), storageLayer(ctx.storage), layer$11(ctx.runQuery), layer$9(ctx, databaseSchema.target.scope), layer)));
122
+ return yield* pipe(decodedReturns, Schema.encodeEffect(returns), Effect.catchTag("SchemaError", Effect.die));
123
+ }).pipe(Effect.provideService(Clock.Clock, queryClock), runHandlerPromise(combineErrorSchemas(error, resolvedMiddlewares), { scheduler: new EffectScheduler.MixedScheduler("sync") }))
124
+ });
125
+ const mutationLayer = (schema, ctx) => Layer.mergeAll(layer$1(schema, ctx.db), layer$2(schema, ctx.db), layer$3(ctx.meta), layer$4(ctx.meta), layer$5(ctx.meta), layerForTarget(schema.target, ctx.auth), layer$12(ctx.scheduler, schema.target.scope), storageLayer(ctx.storage), StorageWriter.layer(ctx.storage, schema.target.scope), layer$11(ctx.runQuery), layer$8(ctx.runMutation), layer$10(ctx), layer$7(ctx), layer$6(ctx, schema.target.scope), layer);
126
+ const mutationFunction = ({ databaseSchema, name, functionVisibility, args, returns, error, handler, resolvedMiddlewares }) => ({
127
+ args: compileArgsSchema(args, databaseSchema.target.scope),
128
+ returns: compileReturnsSchema(returns, databaseSchema.target.scope),
129
+ handler: (ctx, actualArgs) => Effect.gen(function* () {
130
+ const decodedArgs = yield* pipe(actualArgs, Schema.decodeUnknownEffect(args), Effect.catchTag("SchemaError", Effect.die));
131
+ const decodedReturns = yield* applyMiddleware(handler(decodedArgs), resolvedMiddlewares, {
132
+ name,
133
+ functionType: "mutation",
134
+ functionVisibility,
135
+ args: decodedArgs
136
+ }).pipe(Effect.provide(mutationLayer(databaseSchema, ctx)));
137
+ return yield* pipe(decodedReturns, Schema.encodeEffect(returns), Effect.catchTag("SchemaError", Effect.die));
138
+ }).pipe(runHandlerPromise(combineErrorSchemas(error, resolvedMiddlewares), { scheduler: new EffectScheduler.MixedScheduler("sync") }))
139
+ });
140
+ const convexActionFunction = (schema, { name, functionVisibility, args, returns, error, handler, resolvedMiddlewares }) => actionFunctionBase({
141
+ scope: schema.target.scope,
142
+ name,
143
+ functionVisibility,
144
+ args,
145
+ returns,
146
+ error,
147
+ handler,
148
+ resolvedMiddlewares,
149
+ createLayer: (ctx) => Layer.mergeAll(actionLayer(schema, ctx), layer)
150
+ });
151
+ //#endregion
152
+ export { Definition, RegisteredConvexFunction_exports, make, mutationLayer, prepare, register };
153
+
154
+ //# sourceMappingURL=RegisteredConvexFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisteredConvexFunction.js","names":["RegisteredFunction.applyMiddleware","DatabaseReader.layer","ExecutionMetadata.layer","TransactionMetadata.layer","QueryTransactionContext.layer","Auth.layerForTarget","RegisteredFunction.storageLayer","QueryRunner.layer","QueryCtx.layer","ConvexConfigProvider.layer","RegisteredFunction.runHandlerPromise","RegisteredFunction.combineErrorSchemas","DatabaseWriter.layer","RequestMetadata.layer","Scheduler.layer","MutationRunner.layer","MutationTransactionContext.layer","MutationCtx.layer","RegisteredFunction.actionFunctionBase","RegisteredFunction.actionLayer"],"sources":["../src/RegisteredConvexFunction.ts"],"sourcesContent":["import {\n compileArgsSchema,\n compileReturnsSchema,\n} from \"@confect/core/SchemaToValidator\";\nimport {\n actionGeneric,\n type DefaultFunctionArgs,\n type FunctionVisibility,\n type GenericMutationCtx,\n type GenericQueryCtx,\n internalActionGeneric,\n internalMutationGeneric,\n internalQueryGeneric,\n mutationGeneric,\n queryGeneric,\n} from \"convex/server\";\nimport type { Value } from \"convex/values\";\nimport { pipe } from \"effect/Function\";\nimport * as Clock from \"effect/Clock\";\nimport * as Data from \"effect/Data\";\nimport * as Duration from \"effect/Duration\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Match from \"effect/Match\";\nimport * as Schema from \"effect/Schema\";\nimport * as EffectScheduler from \"effect/Scheduler\";\nimport * as Auth from \"./Auth\";\nimport * as ConvexConfigProvider from \"./ConvexConfigProvider\";\nimport * as DatabaseReader from \"./DatabaseReader\";\nimport type * as DatabaseSchema from \"./DatabaseSchema\";\nimport * as DatabaseWriter from \"./DatabaseWriter\";\nimport type * as DataModel from \"./DataModel\";\nimport * as ExecutionMetadata from \"./ExecutionMetadata\";\nimport * as RequestMetadata from \"./RequestMetadata\";\nimport * as TransactionMetadata from \"./TransactionMetadata\";\nimport * as MutationCtx from \"./MutationCtx\";\nimport * as MutationRunner from \"./MutationRunner\";\nimport * as MutationTransactionContext from \"./MutationTransactionContext\";\nimport * as QueryCtx from \"./QueryCtx\";\nimport * as QueryRunner from \"./QueryRunner\";\nimport * as QueryTransactionContext from \"./QueryTransactionContext\";\nimport * as RegisteredFunction from \"./RegisteredFunction\";\nimport type * as FunctionRegistryItem from \"./FunctionRegistryItem\";\nimport type * as ResolvedMiddleware from \"./ResolvedMiddleware\";\nimport * as Scheduler from \"./Scheduler\";\nimport { StorageWriter } from \"./StorageWriter\";\nimport type * as Handler from \"./Handler\";\n\nexport type Definition = Data.TaggedEnum<{\n PublicQuery: ReturnType<typeof queryFunction>;\n InternalQuery: ReturnType<typeof queryFunction>;\n PublicMutation: ReturnType<typeof mutationFunction>;\n InternalMutation: ReturnType<typeof mutationFunction>;\n PublicAction: ReturnType<typeof convexActionFunction>;\n InternalAction: ReturnType<typeof convexActionFunction>;\n Registered: { readonly handler: RegisteredFunction.Any };\n}>;\nexport const Definition = Data.taggedEnum<Definition>();\n\nexport const prepare = (\n databaseSchema: DatabaseSchema.AnyWithProps,\n item: FunctionRegistryItem.ConfectFunctionRegistryItem,\n resolvedMiddlewares: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware> = [],\n) =>\n Match.value(item.functionType).pipe(\n Match.when(\"query\", () => {\n const definition = queryFunction({\n databaseSchema,\n name: item.name,\n functionVisibility: item.functionVisibility,\n args: item.args,\n returns: item.returns,\n error: item.error,\n handler: item.handler,\n resolvedMiddlewares,\n });\n return Match.value(item.functionVisibility).pipe(\n Match.when(\"public\", () => Definition.PublicQuery(definition)),\n Match.when(\"internal\", () => Definition.InternalQuery(definition)),\n Match.exhaustive,\n );\n }),\n Match.when(\"mutation\", () => {\n const definition = mutationFunction({\n databaseSchema,\n name: item.name,\n functionVisibility: item.functionVisibility,\n args: item.args,\n returns: item.returns,\n error: item.error,\n handler: item.handler,\n resolvedMiddlewares,\n });\n return Match.value(item.functionVisibility).pipe(\n Match.when(\"public\", () => Definition.PublicMutation(definition)),\n Match.when(\"internal\", () => Definition.InternalMutation(definition)),\n Match.exhaustive,\n );\n }),\n Match.when(\"action\", () => {\n const definition = convexActionFunction(databaseSchema, {\n name: item.name,\n functionVisibility: item.functionVisibility,\n args: item.args,\n returns: item.returns,\n error: item.error,\n handler: item.handler,\n resolvedMiddlewares,\n });\n return Match.value(item.functionVisibility).pipe(\n Match.when(\"public\", () => Definition.PublicAction(definition)),\n Match.when(\"internal\", () => Definition.InternalAction(definition)),\n Match.exhaustive,\n );\n }),\n Match.exhaustive,\n );\n\nexport const make = (\n databaseSchema: DatabaseSchema.AnyWithProps,\n item: FunctionRegistryItem.ConfectFunctionRegistryItem,\n resolvedMiddlewares: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware> = [],\n): RegisteredFunction.Any =>\n register(prepare(databaseSchema, item, resolvedMiddlewares));\n\nexport const register = (self: Definition): RegisteredFunction.Any =>\n Definition.$match(self, {\n PublicQuery: (definition) => queryGeneric(definition),\n InternalQuery: (definition) => internalQueryGeneric(definition),\n PublicMutation: (definition) => mutationGeneric(definition),\n InternalMutation: (definition) => internalMutationGeneric(definition),\n PublicAction: (definition) => actionGeneric(definition),\n InternalAction: (definition) => internalActionGeneric(definition),\n Registered: ({ handler }) => handler,\n });\n\n/**\n * Convex evicts a query from its cache once the execution observes the current\n * time (every `Date.now()` read is tracked). Effect's logging, span, and\n * elapsed-time machinery reads timestamps through the ambient `Clock`'s unsafe\n * accessors, which would silently opt any logging or timing query out of the\n * cache—and there is no untracked time source in the isolate to serve them\n * from, since Effect's own live clock falls back to `Date.now()` for monotonic\n * time when neither `process.hrtime` nor `performance.now` exists. Queries\n * therefore run with a `Clock` whose unsafe accessors all return constants, so\n * logging and spans never touch the tracker and `Effect.timed` and duration\n * metrics report a zero elapsed time, while the effectful accessors\n * (`Clock.currentTimeMillis`/`currentTimeNanos`/`monotonicTimeNanos`) read the\n * real time, making them an explicit opt-in to cache eviction. Raw `Date.now()`\n * calls in handler code likewise opt out honestly.\n */\nconst queryClock: Clock.Clock = {\n currentTimeMillisUnsafe: () => 0,\n currentTimeNanosUnsafe: () => 0n,\n monotonicTimeNanosUnsafe: () => 0n,\n // oxlint-disable-next-line effecttsgo/global-date-in-effect -- This access intentionally notifies Convex's query-cache tracker.\n currentTimeMillis: Effect.sync(() => Date.now()),\n // oxlint-disable-next-line effecttsgo/global-date-in-effect -- This access intentionally notifies Convex's query-cache tracker.\n currentTimeNanos: Effect.sync(() => BigInt(Date.now()) * 1_000_000n),\n // oxlint-disable-next-line effecttsgo/global-date-in-effect -- This access intentionally notifies Convex's query-cache tracker.\n monotonicTimeNanos: Effect.sync(() => BigInt(Date.now()) * 1_000_000n),\n // `Effect.sleep` resolves the ambient clock, so it cannot be used here—it\n // would recurse straight back into this `sleep`.\n sleep: (duration) =>\n Effect.callback<void>((resume) => {\n // oxlint-disable-next-line effecttsgo/global-timers-in-effect -- Effect.sleep would resolve this Clock and recurse.\n const handle = setTimeout(\n () => resume(Effect.void),\n Duration.toMillis(duration),\n );\n return Effect.sync(() => clearTimeout(handle));\n }),\n};\n\nconst queryFunction = <\n DatabaseSchema_ extends DatabaseSchema.AnyWithProps,\n Args,\n ConvexArgs extends DefaultFunctionArgs,\n Returns,\n ConvexReturns,\n E,\n>({\n databaseSchema,\n name,\n functionVisibility,\n args,\n returns,\n error,\n handler,\n resolvedMiddlewares,\n}: {\n databaseSchema: DatabaseSchema_;\n name: string;\n functionVisibility: FunctionVisibility;\n args: Schema.Codec<Args, ConvexArgs>;\n returns: Schema.Codec<Returns, ConvexReturns>;\n error: Schema.Codec<Error, Value> | undefined;\n handler: (\n a: Args,\n ) => Effect.Effect<Returns, E, Handler.QueryServices<DatabaseSchema_>>;\n resolvedMiddlewares: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware>;\n}) => ({\n args: compileArgsSchema(args, databaseSchema.target.scope),\n returns: compileReturnsSchema(returns, databaseSchema.target.scope),\n handler: (\n ctx: GenericQueryCtx<\n DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema_>>\n >,\n actualArgs: ConvexArgs,\n ): Promise<ConvexReturns> =>\n Effect.gen(function* () {\n const decodedArgs = yield* pipe(\n actualArgs,\n Schema.decodeUnknownEffect(args),\n Effect.catchTag(\"SchemaError\", Effect.die),\n );\n // oxlint-disable-next-line effecttsgo/any-unknown-in-error-context -- Middleware errors are intentionally erased here and validated by runHandlerPromise against the combined error schema below.\n const decodedReturns = yield* RegisteredFunction.applyMiddleware(\n handler(decodedArgs),\n resolvedMiddlewares,\n {\n name,\n functionType: \"query\",\n functionVisibility,\n args: decodedArgs,\n },\n ).pipe(\n Effect.provide(\n Layer.mergeAll(\n DatabaseReader.layer(databaseSchema, ctx.db),\n ExecutionMetadata.layer(ctx.meta),\n TransactionMetadata.layer(ctx.meta),\n QueryTransactionContext.layer(ctx),\n Auth.layerForTarget<DatabaseSchema_[\"target\"]>(\n databaseSchema.target,\n ctx.auth,\n ),\n RegisteredFunction.storageLayer<\n DatabaseSchema.Scope<DatabaseSchema_>\n >(ctx.storage),\n QueryRunner.layer(ctx.runQuery),\n QueryCtx.layer<\n DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema_>>,\n DatabaseSchema.Scope<DatabaseSchema_>\n >(ctx, databaseSchema.target.scope),\n ConvexConfigProvider.layer,\n ),\n ),\n );\n return yield* pipe(\n decodedReturns,\n Schema.encodeEffect(returns),\n Effect.catchTag(\"SchemaError\", Effect.die),\n );\n }).pipe(\n Effect.provideService(Clock.Clock, queryClock),\n RegisteredFunction.runHandlerPromise(\n RegisteredFunction.combineErrorSchemas(error, resolvedMiddlewares),\n {\n scheduler: new EffectScheduler.MixedScheduler(\"sync\"),\n },\n ),\n ),\n});\n\nexport const mutationLayer = <Schema extends DatabaseSchema.AnyWithProps>(\n schema: Schema,\n ctx: GenericMutationCtx<DataModel.ToConvex<DataModel.FromSchema<Schema>>>,\n) =>\n Layer.mergeAll(\n DatabaseReader.layer(schema, ctx.db),\n DatabaseWriter.layer(schema, ctx.db),\n ExecutionMetadata.layer(ctx.meta),\n RequestMetadata.layer(ctx.meta),\n TransactionMetadata.layer(ctx.meta),\n Auth.layerForTarget<Schema[\"target\"]>(schema.target, ctx.auth),\n Scheduler.layer<DatabaseSchema.Scope<Schema>>(\n ctx.scheduler,\n schema.target.scope,\n ),\n RegisteredFunction.storageLayer<DatabaseSchema.Scope<Schema>>(ctx.storage),\n StorageWriter.layer<DatabaseSchema.Scope<Schema>>(\n ctx.storage,\n schema.target.scope,\n ),\n QueryRunner.layer(ctx.runQuery),\n MutationRunner.layer(ctx.runMutation),\n QueryTransactionContext.layer(ctx),\n MutationTransactionContext.layer(ctx),\n MutationCtx.layer<\n DataModel.ToConvex<DataModel.FromSchema<Schema>>,\n DatabaseSchema.Scope<Schema>\n >(ctx, schema.target.scope),\n ConvexConfigProvider.layer,\n );\n\nexport type MutationServices<Schema extends DatabaseSchema.AnyWithProps> =\n Handler.MutationServices<Schema>;\n\nconst mutationFunction = <\n DatabaseSchema_ extends DatabaseSchema.AnyWithProps,\n Args,\n ConvexArgs extends DefaultFunctionArgs,\n Returns,\n ConvexReturns,\n E,\n>({\n databaseSchema,\n name,\n functionVisibility,\n args,\n returns,\n error,\n handler,\n resolvedMiddlewares,\n}: {\n databaseSchema: DatabaseSchema_;\n name: string;\n functionVisibility: FunctionVisibility;\n args: Schema.Codec<Args, ConvexArgs>;\n returns: Schema.Codec<Returns, ConvexReturns>;\n error: Schema.Codec<Error, Value> | undefined;\n handler: (\n a: Args,\n ) => Effect.Effect<Returns, E, MutationServices<DatabaseSchema_>>;\n resolvedMiddlewares: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware>;\n}) => ({\n args: compileArgsSchema(args, databaseSchema.target.scope),\n returns: compileReturnsSchema(returns, databaseSchema.target.scope),\n handler: (\n ctx: GenericMutationCtx<\n DataModel.ToConvex<DataModel.FromSchema<DatabaseSchema_>>\n >,\n actualArgs: ConvexArgs,\n ): Promise<ConvexReturns> =>\n Effect.gen(function* () {\n const decodedArgs = yield* pipe(\n actualArgs,\n Schema.decodeUnknownEffect(args),\n Effect.catchTag(\"SchemaError\", Effect.die),\n );\n // oxlint-disable-next-line effecttsgo/any-unknown-in-error-context -- Middleware errors are intentionally erased here and validated by runHandlerPromise against the combined error schema below.\n const decodedReturns = yield* RegisteredFunction.applyMiddleware(\n handler(decodedArgs),\n resolvedMiddlewares,\n {\n name,\n functionType: \"mutation\",\n functionVisibility,\n args: decodedArgs,\n },\n ).pipe(Effect.provide(mutationLayer(databaseSchema, ctx)));\n return yield* pipe(\n decodedReturns,\n Schema.encodeEffect(returns),\n Effect.catchTag(\"SchemaError\", Effect.die),\n );\n }).pipe(\n RegisteredFunction.runHandlerPromise(\n RegisteredFunction.combineErrorSchemas(error, resolvedMiddlewares),\n {\n scheduler: new EffectScheduler.MixedScheduler(\"sync\"),\n },\n ),\n ),\n});\n\nconst convexActionFunction = <\n DatabaseSchema_ extends DatabaseSchema.AnyWithProps,\n Args,\n ConvexArgs extends DefaultFunctionArgs,\n Returns,\n ConvexReturns,\n E,\n>(\n schema: DatabaseSchema_,\n {\n name,\n functionVisibility,\n args,\n returns,\n error,\n handler,\n resolvedMiddlewares,\n }: {\n name: string;\n functionVisibility: FunctionVisibility;\n args: Schema.Codec<Args, ConvexArgs>;\n returns: Schema.Codec<Returns, ConvexReturns>;\n error: Schema.Codec<any, any> | undefined;\n handler: (\n a: Args,\n ) => Effect.Effect<\n Returns,\n E,\n RegisteredFunction.ActionServices<DatabaseSchema_>\n >;\n resolvedMiddlewares: ReadonlyArray<ResolvedMiddleware.ResolvedMiddleware>;\n },\n) =>\n RegisteredFunction.actionFunctionBase({\n scope: schema.target.scope,\n name,\n functionVisibility,\n args,\n returns,\n error,\n handler,\n resolvedMiddlewares,\n createLayer: (ctx) =>\n Layer.mergeAll(\n RegisteredFunction.actionLayer(schema, ctx),\n ConvexConfigProvider.layer,\n ),\n });\n"],"mappings":"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"}