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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
package/LICENSE ADDED
@@ -0,0 +1,7 @@
1
+ ISC License
2
+
3
+ Copyright 2024 RJ Dellecese
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,17 @@
1
- # Temporary Holding Version
1
+ # Confect 🧁
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ This is a fork of [Confect](https://github.com/rjdellecese/confect). See [FORK.md](FORK.md) for builds, installation, and maintenance, and [CHANGES.md](CHANGES.md) for the fork additions.
4
+
5
+ ## About Confect
6
+
7
+ Confect is a framework that deeply integrates Effect with Convex. It's more than just Effect bindings! Confect allows you to:
8
+
9
+ - Define your Convex database schema using Effect schemas.
10
+ - Write Convex function args and returns validators using Effect's schema library.
11
+ - Use Confect functions to automatically decode and encode your data according to your Effect schema definitions for end-to-end rich types, from client to function to database (and back).
12
+ - Add reusable, type-safe middleware to function groups or individual functions to provide Effect services and run logic around handlers.
13
+ - Declare typed errors on functions and middleware using Effect schemas, then handle the decoded errors at every call site.
14
+ - Use Effect's native HTTP API modules to define your HTTP API.
15
+ - Access Convex platform capabilities via Effect services.
16
+
17
+ Want to learn more? Read the [docs](https://confect.dev)!
@@ -0,0 +1,10 @@
1
+ import type * as IdScope from "@confect/core/IdScope";
2
+ import type { GenericActionCtx, GenericDataModel } from "convex/server";
3
+ import * as Context from "effect/Context";
4
+ import type * as ComponentCtx from "./ComponentCtx";
5
+ import * as Layer from "effect/Layer";
6
+ export type ActionCtxTag<DataModel extends GenericDataModel, Scope extends IdScope.IdScope = IdScope.App> = Context.Service<ActionCtx<DataModel, Scope>, Scope extends IdScope.App ? GenericActionCtx<DataModel> : ComponentCtx.Action<DataModel, Scope>>;
7
+ export declare const ActionCtx: <DataModel extends GenericDataModel, Scope extends IdScope.IdScope = IdScope.App>() => ActionCtxTag<DataModel, Scope>;
8
+ export type ActionCtx<DataModel extends GenericDataModel, Scope extends IdScope.IdScope = IdScope.App> = Scope extends IdScope.App ? GenericActionCtx<DataModel> : ComponentCtx.Identifier<"action", DataModel, Scope>;
9
+ export declare const layer: <DataModel extends GenericDataModel, Scope extends IdScope.IdScope>(ctx: GenericActionCtx<DataModel>, scope: Scope) => Layer.Layer<ActionCtx<DataModel, Scope>, never, never>;
10
+ //# sourceMappingURL=ActionCtx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionCtx.d.ts","sourceRoot":"","sources":["../src/ActionCtx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,YAAY,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,YAAY,CACtB,SAAS,SAAS,gBAAgB,EAClC,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,IACzC,OAAO,CAAC,OAAO,CACjB,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,EAC3B,KAAK,SAAS,OAAO,CAAC,GAAG,GACrB,gBAAgB,CAAC,SAAS,CAAC,GAC3B,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAC1C,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,SAAS,SAAS,gBAAgB,EAClC,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,OACxC,YAAY,CAAC,SAAS,EAAE,KAAK,CACY,CAAC;AAE/C,MAAM,MAAM,SAAS,CACnB,SAAS,SAAS,gBAAgB,EAClC,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,IACzC,KAAK,SAAS,OAAO,CAAC,GAAG,GACzB,gBAAgB,CAAC,SAAS,CAAC,GAC3B,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,GAChB,SAAS,SAAS,gBAAgB,EAClC,KAAK,SAAS,OAAO,CAAC,OAAO,OAExB,gBAAgB,CAAC,SAAS,CAAC,SACzB,KAAK,2DAUb,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
+ import * as Context from "effect/Context";
3
+ import * as Layer from "effect/Layer";
4
+ //#region src/ActionCtx.ts
5
+ var ActionCtx_exports = /* @__PURE__ */ __exportAll({
6
+ ActionCtx: () => ActionCtx,
7
+ layer: () => layer
8
+ });
9
+ const ActionCtx = () => Context.Service("@confect/server/ActionCtx");
10
+ const layer = (ctx, scope) => {
11
+ const tag = ActionCtx();
12
+ const { auth: _auth, ...componentCtx } = ctx;
13
+ return Layer.succeed(tag, scope === "" ? ctx : componentCtx);
14
+ };
15
+ //#endregion
16
+ export { ActionCtx, ActionCtx_exports, layer };
17
+
18
+ //# sourceMappingURL=ActionCtx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionCtx.js","names":[],"sources":["../src/ActionCtx.ts"],"sourcesContent":["import type * as IdScope from \"@confect/core/IdScope\";\nimport type { GenericActionCtx, GenericDataModel } from \"convex/server\";\nimport * as Context from \"effect/Context\";\nimport type * as ComponentCtx from \"./ComponentCtx\";\nimport * as Layer from \"effect/Layer\";\n\nexport type ActionCtxTag<\n DataModel extends GenericDataModel,\n Scope extends IdScope.IdScope = IdScope.App,\n> = Context.Service<\n ActionCtx<DataModel, Scope>,\n Scope extends IdScope.App\n ? GenericActionCtx<DataModel>\n : ComponentCtx.Action<DataModel, Scope>\n>;\n\nexport const ActionCtx = <\n DataModel extends GenericDataModel,\n Scope extends IdScope.IdScope = IdScope.App,\n>(): ActionCtxTag<DataModel, Scope> =>\n Context.Service(\"@confect/server/ActionCtx\");\n\nexport type ActionCtx<\n DataModel extends GenericDataModel,\n Scope extends IdScope.IdScope = IdScope.App,\n> = Scope extends IdScope.App\n ? GenericActionCtx<DataModel>\n : ComponentCtx.Identifier<\"action\", DataModel, Scope>;\n\nexport const layer = <\n DataModel extends GenericDataModel,\n Scope extends IdScope.IdScope,\n>(\n ctx: GenericActionCtx<DataModel>,\n scope: Scope,\n) => {\n const tag = ActionCtx<DataModel, Scope>();\n const { auth: _auth, ...componentCtx } = ctx;\n return Layer.succeed(\n tag,\n (scope === \"\" ? ctx : componentCtx) as unknown as Context.Service.Shape<\n typeof tag\n >,\n );\n};\n"],"mappings":";;;;;;;;AAgBA,MAAa,kBAIX,QAAQ,QAAQ,2BAA2B;AAS7C,MAAa,SAIX,KACA,UACG;CACH,MAAM,MAAM,UAA4B;CACxC,MAAM,EAAE,MAAM,OAAO,GAAG,iBAAiB;CACzC,OAAO,MAAM,QACX,KACC,UAAU,KAAK,MAAM,YAGxB;AACF"}
@@ -0,0 +1,16 @@
1
+ import * as Ref from "@confect/core/Ref";
2
+ import { type GenericActionCtx } from "convex/server";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Context from "effect/Context";
5
+ import * as Layer from "effect/Layer";
6
+ import type * as Schema from "effect/Schema";
7
+ export declare const ActionRunner: Context.Service<{
8
+ runAction: <Action extends Ref.AnyAction>(action: Action, ...args: Ref.OptionalArgs<Action>) => Effect.Effect<Ref.Returns<Action>, Ref.Error<Action> | Schema.SchemaError>;
9
+ }, {
10
+ runAction: <Action extends Ref.AnyAction>(action: Action, ...args: Ref.OptionalArgs<Action>) => Effect.Effect<Ref.Returns<Action>, Ref.Error<Action> | Schema.SchemaError>;
11
+ }>;
12
+ export type ActionRunner = typeof ActionRunner.Identifier;
13
+ export declare const layer: (runAction: GenericActionCtx<any>["runAction"]) => Layer.Layer<{
14
+ runAction: <Action extends Ref.AnyAction>(action: Action, ...args: Ref.OptionalArgs<Action>) => Effect.Effect<Ref.Returns<Action>, Ref.Error<Action> | Schema.SchemaError>;
15
+ }, never, never>;
16
+ //# sourceMappingURL=ActionRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionRunner.d.ts","sourceRoot":"","sources":["../src/ActionRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAwB7C,eAAO,MAAM,YAAY;gBAjBX,MAAM,SAAS,GAAG,CAAC,SAAS,UAC9B,MAAM,WACL,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAChC,MAAM,CAAC,MAAM,CACd,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EACnB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CACvC;;;EAaF,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,UAAU,CAAC;AAE1D,eAAO,MAAM,KAAK,cAAe,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;gBAtBrD,MAAM,SAAS,GAAG,CAAC,SAAS,UAC9B,MAAM,WACL,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAChC,MAAM,CAAC,MAAM,CACd,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EACnB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CACvC;gBAiB2C,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
+ import * as Context from "effect/Context";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Ref from "@confect/core/Ref";
5
+ import * as Effect from "effect/Effect";
6
+ //#region src/ActionRunner.ts
7
+ var ActionRunner_exports = /* @__PURE__ */ __exportAll({
8
+ ActionRunner: () => ActionRunner,
9
+ layer: () => layer
10
+ });
11
+ const run = Effect.fn("ActionRunner.runAction")((effect) => effect);
12
+ const make = (runAction) => ({ runAction: (action, ...args) => run(Ref.runWithCodec(action, args[0] ?? {}, (functionReference, encodedArgs) => runAction(functionReference, encodedArgs))) });
13
+ const ActionRunner = Context.Service("@confect/server/ActionRunner");
14
+ const layer = (runAction) => Layer.succeed(ActionRunner, make(runAction));
15
+ //#endregion
16
+ export { ActionRunner, ActionRunner_exports, layer };
17
+
18
+ //# sourceMappingURL=ActionRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionRunner.js","names":[],"sources":["../src/ActionRunner.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport { type GenericActionCtx } from \"convex/server\";\nimport * as Effect from \"effect/Effect\";\nimport * as Context from \"effect/Context\";\nimport * as Layer from \"effect/Layer\";\nimport type * as Schema from \"effect/Schema\";\n\nconst run = Effect.fn(\"ActionRunner.runAction\")(\n <A, E>(effect: Effect.Effect<A, E>): Effect.Effect<A, E> => effect,\n);\n\nconst make = (runAction: GenericActionCtx<any>[\"runAction\"]) => ({\n runAction: <Action extends Ref.AnyAction>(\n action: Action,\n ...args: Ref.OptionalArgs<Action>\n ): Effect.Effect<\n Ref.Returns<Action>,\n Ref.Error<Action> | Schema.SchemaError\n > =>\n run(\n Ref.runWithCodec(\n action,\n (args[0] ?? {}) as Ref.Args<Action>,\n (functionReference, encodedArgs) =>\n runAction(functionReference, encodedArgs),\n ),\n ),\n});\n\nexport const ActionRunner = Context.Service<ReturnType<typeof make>>(\n \"@confect/server/ActionRunner\",\n);\nexport type ActionRunner = typeof ActionRunner.Identifier;\n\nexport const layer = (runAction: GenericActionCtx<any>[\"runAction\"]) =>\n Layer.succeed(ActionRunner, make(runAction));\n"],"mappings":";;;;;;;;;;AAOA,MAAM,MAAM,OAAO,GAAG,wBAAwB,CAAC,EACtC,WAAqD,MAC9D;AAEA,MAAM,QAAQ,eAAmD,EAC/D,YACE,QACA,GAAG,SAKH,IACE,IAAI,aACF,QACC,KAAK,MAAM,CAAC,IACZ,mBAAmB,gBAClB,UAAU,mBAAmB,WAAW,CAC5C,CACF,EACJ;AAEA,MAAa,eAAe,QAAQ,QAClC,8BACF;AAGA,MAAa,SAAS,cACpB,MAAM,QAAQ,cAAc,KAAK,SAAS,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as OpenRouterClient from "@effect/ai-openrouter/OpenRouterClient";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import type * as HttpClient from "effect/http/HttpClient";
5
+ import * as AiGatewayServiceToken from "./internal/AiGatewayServiceToken";
6
+ export { AiGatewayDisabled, AiGatewayError, AiGatewayUnavailable, } from "./internal/AiGatewayServiceToken";
7
+ /**
8
+ * The client configured for Convex AI gateway decisions.
9
+ */
10
+ export declare const AiGatewayDecisionClient: typeof OpenRouterClient.OpenRouterClient;
11
+ export type AiGatewayDecisionClient = OpenRouterClient.OpenRouterClient;
12
+ /**
13
+ * Construct a decision model client using the current Effect HTTP client.
14
+ */
15
+ export declare const make: Effect.Effect<OpenRouterClient.Service, AiGatewayServiceToken.AiGatewayError, HttpClient.HttpClient>;
16
+ /**
17
+ * Provide the AI gateway decision client using the current Effect HTTP client.
18
+ */
19
+ export declare const layer: Layer.Layer<AiGatewayDecisionClient, AiGatewayServiceToken.AiGatewayError, HttpClient.HttpClient>;
20
+ //# sourceMappingURL=AiGatewayDecisionClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiGatewayDecisionClient.d.ts","sourceRoot":"","sources":["../src/AiGatewayDecisionClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wCAAwC,CAAC;AAC3E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,qBAAqB,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,uBAAuB,0CAAoC,CAAC;AACzE,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAC9B,gBAAgB,CAAC,OAAO,EACxB,qBAAqB,CAAC,cAAc,EACpC,UAAU,CAAC,UAAU,CAGtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,uBAAuB,EACvB,qBAAqB,CAAC,cAAc,EACpC,UAAU,CAAC,UAAU,CAGtB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
+ import { AiGatewayDisabled, AiGatewayError, AiGatewayUnavailable, layer as layer$1 } from "./internal/AiGatewayServiceToken.js";
3
+ import { layer as layer$2, make as make$1 } from "./internal/AiGatewayDecisionClient.js";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Effect from "effect/Effect";
6
+ import * as OpenRouterClient from "@effect/ai-openrouter/OpenRouterClient";
7
+ //#region src/AiGatewayDecisionClient.ts
8
+ var AiGatewayDecisionClient_exports = /* @__PURE__ */ __exportAll({
9
+ AiGatewayDecisionClient: () => AiGatewayDecisionClient,
10
+ AiGatewayDisabled: () => AiGatewayDisabled,
11
+ AiGatewayError: () => AiGatewayError,
12
+ AiGatewayUnavailable: () => AiGatewayUnavailable,
13
+ layer: () => layer,
14
+ make: () => make
15
+ });
16
+ /**
17
+ * The client configured for Convex AI gateway decisions.
18
+ */
19
+ const AiGatewayDecisionClient = OpenRouterClient.OpenRouterClient;
20
+ /**
21
+ * Construct a decision model client using the current Effect HTTP client.
22
+ */
23
+ const make = make$1.pipe(Effect.provide(layer$1));
24
+ /**
25
+ * Provide the AI gateway decision client using the current Effect HTTP client.
26
+ */
27
+ const layer = layer$2.pipe(Layer.provide(layer$1));
28
+ //#endregion
29
+ export { AiGatewayDecisionClient, AiGatewayDecisionClient_exports, AiGatewayDisabled, AiGatewayError, AiGatewayUnavailable, layer, make };
30
+
31
+ //# sourceMappingURL=AiGatewayDecisionClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiGatewayDecisionClient.js","names":["AiGatewayServiceToken.layer"],"sources":["../src/AiGatewayDecisionClient.ts"],"sourcesContent":["import * as OpenRouterClient from \"@effect/ai-openrouter/OpenRouterClient\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport type * as HttpClient from \"effect/http/HttpClient\";\nimport * as InternalAiGatewayDecisionClient from \"./internal/AiGatewayDecisionClient\";\nimport * as AiGatewayServiceToken from \"./internal/AiGatewayServiceToken\";\n\nexport {\n AiGatewayDisabled,\n AiGatewayError,\n AiGatewayUnavailable,\n} from \"./internal/AiGatewayServiceToken\";\n\n/**\n * The client configured for Convex AI gateway decisions.\n */\nexport const AiGatewayDecisionClient = OpenRouterClient.OpenRouterClient;\nexport type AiGatewayDecisionClient = OpenRouterClient.OpenRouterClient;\n\n/**\n * Construct a decision model client using the current Effect HTTP client.\n */\nexport const make: Effect.Effect<\n OpenRouterClient.Service,\n AiGatewayServiceToken.AiGatewayError,\n HttpClient.HttpClient\n> = InternalAiGatewayDecisionClient.make.pipe(\n Effect.provide(AiGatewayServiceToken.layer),\n);\n\n/**\n * Provide the AI gateway decision client using the current Effect HTTP client.\n */\nexport const layer: Layer.Layer<\n AiGatewayDecisionClient,\n AiGatewayServiceToken.AiGatewayError,\n HttpClient.HttpClient\n> = InternalAiGatewayDecisionClient.layer.pipe(\n Layer.provide(AiGatewayServiceToken.layer),\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgBA,MAAa,0BAA0B,iBAAiB;;;;AAMxD,MAAa,OAAA,OAI4B,KACvC,OAAO,QAAQA,OAA2B,CAC5C;;;;AAKA,MAAa,QAAA,QAI6B,KACxC,MAAM,QAAQA,OAA2B,CAC3C"}
@@ -0,0 +1,24 @@
1
+ import type * as OpenRouterClient from "@effect/ai-openrouter/OpenRouterClient";
2
+ import type * as Effect from "effect/Effect";
3
+ import type * as Layer from "effect/Layer";
4
+ import type * as DecisionModel from "effect/ai/DecisionModel";
5
+ import type * as AiModel from "effect/ai/Model";
6
+ export interface Options {
7
+ readonly model: string;
8
+ }
9
+ /**
10
+ * Create an Effect AI decision model backed by the Convex AI gateway.
11
+ *
12
+ * Model identifiers use Convex's `provider/model` format, such as
13
+ * `typesafe/jev-1.13`.
14
+ */
15
+ export declare const model: (modelId: string) => AiModel.Model<"openrouter", DecisionModel.DecisionModel, OpenRouterClient.OpenRouterClient>;
16
+ /**
17
+ * Construct a decision-model service backed by the Convex AI gateway.
18
+ */
19
+ export declare const make: ({ model: modelId, }: Options) => Effect.Effect<DecisionModel.DecisionModel, never, OpenRouterClient.OpenRouterClient>;
20
+ /**
21
+ * Provide a decision-model service backed by the Convex AI gateway.
22
+ */
23
+ export declare const layer: ({ model: modelId, }: Options) => Layer.Layer<DecisionModel.DecisionModel, never, OpenRouterClient.OpenRouterClient>;
24
+ //# sourceMappingURL=AiGatewayDecisionModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiGatewayDecisionModel.d.ts","sourceRoot":"","sources":["../src/AiGatewayDecisionModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,gBAAgB,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,aAAa,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,YACP,MAAM,KACd,OAAO,CAAC,KAAK,CACd,YAAY,EACZ,aAAa,CAAC,aAAa,EAC3B,gBAAgB,CAAC,gBAAgB,CACQ,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,IAAI,wBAEd,OAAO,KAAG,MAAM,CAAC,MAAM,CACxB,aAAa,CAAC,aAAa,EAC3B,KAAK,EACL,gBAAgB,CAAC,gBAAgB,CACkB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,KAAK,wBAEf,OAAO,KAAG,KAAK,CAAC,KAAK,CACtB,aAAa,CAAC,aAAa,EAC3B,KAAK,EACL,gBAAgB,CAAC,gBAAgB,CACmB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
+ import * as OpenRouterDecisionModel from "@effect/ai-openrouter/OpenRouterDecisionModel";
3
+ //#region src/AiGatewayDecisionModel.ts
4
+ var AiGatewayDecisionModel_exports = /* @__PURE__ */ __exportAll({
5
+ layer: () => layer,
6
+ make: () => make,
7
+ model: () => model
8
+ });
9
+ /**
10
+ * Create an Effect AI decision model backed by the Convex AI gateway.
11
+ *
12
+ * Model identifiers use Convex's `provider/model` format, such as
13
+ * `typesafe/jev-1.13`.
14
+ */
15
+ const model = (modelId) => OpenRouterDecisionModel.model(modelId);
16
+ /**
17
+ * Construct a decision-model service backed by the Convex AI gateway.
18
+ */
19
+ const make = ({ model: modelId }) => OpenRouterDecisionModel.make({ model: modelId });
20
+ /**
21
+ * Provide a decision-model service backed by the Convex AI gateway.
22
+ */
23
+ const layer = ({ model: modelId }) => OpenRouterDecisionModel.layer({ model: modelId });
24
+ //#endregion
25
+ export { AiGatewayDecisionModel_exports, layer, make, model };
26
+
27
+ //# sourceMappingURL=AiGatewayDecisionModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiGatewayDecisionModel.js","names":[],"sources":["../src/AiGatewayDecisionModel.ts"],"sourcesContent":["import type * as OpenRouterClient from \"@effect/ai-openrouter/OpenRouterClient\";\nimport * as OpenRouterDecisionModel from \"@effect/ai-openrouter/OpenRouterDecisionModel\";\nimport type * as Effect from \"effect/Effect\";\nimport type * as Layer from \"effect/Layer\";\nimport type * as DecisionModel from \"effect/ai/DecisionModel\";\nimport type * as AiModel from \"effect/ai/Model\";\n\nexport interface Options {\n readonly model: string;\n}\n\n/**\n * Create an Effect AI decision model backed by the Convex AI gateway.\n *\n * Model identifiers use Convex's `provider/model` format, such as\n * `typesafe/jev-1.13`.\n */\nexport const model = (\n modelId: string,\n): AiModel.Model<\n \"openrouter\",\n DecisionModel.DecisionModel,\n OpenRouterClient.OpenRouterClient\n> => OpenRouterDecisionModel.model(modelId);\n\n/**\n * Construct a decision-model service backed by the Convex AI gateway.\n */\nexport const make = ({\n model: modelId,\n}: Options): Effect.Effect<\n DecisionModel.DecisionModel,\n never,\n OpenRouterClient.OpenRouterClient\n> => OpenRouterDecisionModel.make({ model: modelId });\n\n/**\n * Provide a decision-model service backed by the Convex AI gateway.\n */\nexport const layer = ({\n model: modelId,\n}: Options): Layer.Layer<\n DecisionModel.DecisionModel,\n never,\n OpenRouterClient.OpenRouterClient\n> => OpenRouterDecisionModel.layer({ model: modelId });\n"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAa,SACX,YAKG,wBAAwB,MAAM,OAAO;;;;AAK1C,MAAa,QAAQ,EACnB,OAAO,cAKJ,wBAAwB,KAAK,EAAE,OAAO,QAAQ,CAAC;;;;AAKpD,MAAa,SAAS,EACpB,OAAO,cAKJ,wBAAwB,MAAM,EAAE,OAAO,QAAQ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import * as OpenAiClient from "@effect/ai-openai-compat/OpenAiClient";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import type * as HttpClient from "effect/http/HttpClient";
5
+ import * as AiGatewayServiceToken from "./internal/AiGatewayServiceToken";
6
+ export { AiGatewayDisabled, AiGatewayError, AiGatewayUnavailable, } from "./internal/AiGatewayServiceToken";
7
+ /**
8
+ * The client service configured for Convex AI gateway language models.
9
+ */
10
+ export declare const AiGatewayLanguageClient: typeof OpenAiClient.OpenAiClient;
11
+ export type AiGatewayLanguageClient = OpenAiClient.OpenAiClient;
12
+ /**
13
+ * Construct a language client using the current Effect HTTP client.
14
+ */
15
+ export declare const make: Effect.Effect<OpenAiClient.Service, AiGatewayServiceToken.AiGatewayError, HttpClient.HttpClient>;
16
+ /**
17
+ * Provide the AI gateway language model client using the current Effect HTTP
18
+ * client.
19
+ */
20
+ export declare const layer: Layer.Layer<AiGatewayLanguageClient, AiGatewayServiceToken.AiGatewayError, HttpClient.HttpClient>;
21
+ //# sourceMappingURL=AiGatewayLanguageClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiGatewayLanguageClient.d.ts","sourceRoot":"","sources":["../src/AiGatewayLanguageClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,qBAAqB,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,uBAAuB,kCAA4B,CAAC;AACjE,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,YAAY,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAC9B,YAAY,CAAC,OAAO,EACpB,qBAAqB,CAAC,cAAc,EACpC,UAAU,CAAC,UAAU,CAGtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,uBAAuB,EACvB,qBAAqB,CAAC,cAAc,EACpC,UAAU,CAAC,UAAU,CAGtB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
+ import { AiGatewayDisabled, AiGatewayError, AiGatewayUnavailable, layer as layer$1 } from "./internal/AiGatewayServiceToken.js";
3
+ import { layer as layer$2, make as make$1 } from "./internal/AiGatewayLanguageClient.js";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Effect from "effect/Effect";
6
+ import * as OpenAiClient from "@effect/ai-openai-compat/OpenAiClient";
7
+ //#region src/AiGatewayLanguageClient.ts
8
+ var AiGatewayLanguageClient_exports = /* @__PURE__ */ __exportAll({
9
+ AiGatewayDisabled: () => AiGatewayDisabled,
10
+ AiGatewayError: () => AiGatewayError,
11
+ AiGatewayLanguageClient: () => AiGatewayLanguageClient,
12
+ AiGatewayUnavailable: () => AiGatewayUnavailable,
13
+ layer: () => layer,
14
+ make: () => make
15
+ });
16
+ /**
17
+ * The client service configured for Convex AI gateway language models.
18
+ */
19
+ const AiGatewayLanguageClient = OpenAiClient.OpenAiClient;
20
+ /**
21
+ * Construct a language client using the current Effect HTTP client.
22
+ */
23
+ const make = make$1.pipe(Effect.provide(layer$1));
24
+ /**
25
+ * Provide the AI gateway language model client using the current Effect HTTP
26
+ * client.
27
+ */
28
+ const layer = layer$2.pipe(Layer.provide(layer$1));
29
+ //#endregion
30
+ export { AiGatewayDisabled, AiGatewayError, AiGatewayLanguageClient, AiGatewayLanguageClient_exports, AiGatewayUnavailable, layer, make };
31
+
32
+ //# sourceMappingURL=AiGatewayLanguageClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiGatewayLanguageClient.js","names":["AiGatewayServiceToken.layer"],"sources":["../src/AiGatewayLanguageClient.ts"],"sourcesContent":["import * as OpenAiClient from \"@effect/ai-openai-compat/OpenAiClient\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport type * as HttpClient from \"effect/http/HttpClient\";\nimport * as InternalAiGatewayLanguageClient from \"./internal/AiGatewayLanguageClient\";\nimport * as AiGatewayServiceToken from \"./internal/AiGatewayServiceToken\";\n\nexport {\n AiGatewayDisabled,\n AiGatewayError,\n AiGatewayUnavailable,\n} from \"./internal/AiGatewayServiceToken\";\n\n/**\n * The client service configured for Convex AI gateway language models.\n */\nexport const AiGatewayLanguageClient = OpenAiClient.OpenAiClient;\nexport type AiGatewayLanguageClient = OpenAiClient.OpenAiClient;\n\n/**\n * Construct a language client using the current Effect HTTP client.\n */\nexport const make: Effect.Effect<\n OpenAiClient.Service,\n AiGatewayServiceToken.AiGatewayError,\n HttpClient.HttpClient\n> = InternalAiGatewayLanguageClient.make.pipe(\n Effect.provide(AiGatewayServiceToken.layer),\n);\n\n/**\n * Provide the AI gateway language model client using the current Effect HTTP\n * client.\n */\nexport const layer: Layer.Layer<\n AiGatewayLanguageClient,\n AiGatewayServiceToken.AiGatewayError,\n HttpClient.HttpClient\n> = InternalAiGatewayLanguageClient.layer.pipe(\n Layer.provide(AiGatewayServiceToken.layer),\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgBA,MAAa,0BAA0B,aAAa;;;;AAMpD,MAAa,OAAA,OAI4B,KACvC,OAAO,QAAQA,OAA2B,CAC5C;;;;;AAMA,MAAa,QAAA,QAI6B,KACxC,MAAM,QAAQA,OAA2B,CAC3C"}
@@ -0,0 +1,95 @@
1
+ import type * as OpenAiClient from "@effect/ai-openai-compat/OpenAiClient";
2
+ import * as OpenAiLanguageModel from "@effect/ai-openai-compat/OpenAiLanguageModel";
3
+ import type * as Effect from "effect/Effect";
4
+ import type * as Layer from "effect/Layer";
5
+ import type * as LanguageModel from "effect/ai/LanguageModel";
6
+ import type * as AiModel from "effect/ai/Model";
7
+ /**
8
+ * Configuration overrides for Convex AI gateway language-model requests.
9
+ */
10
+ export declare const Config: typeof OpenAiLanguageModel.Config;
11
+ export type Config = OpenAiLanguageModel.Config;
12
+ export interface Options {
13
+ readonly model: string;
14
+ readonly config?: Omit<typeof OpenAiLanguageModel.Config.Service, "model">;
15
+ }
16
+ /**
17
+ * Create an Effect AI model backed by the Convex AI gateway.
18
+ *
19
+ * Model identifiers use Convex's `provider/model` format.
20
+ */
21
+ export declare const model: (modelId: string, config?: Omit<typeof OpenAiLanguageModel.Config.Service, "model">) => AiModel.Model<"openai", LanguageModel.LanguageModel, OpenAiClient.OpenAiClient>;
22
+ /**
23
+ * Construct a language-model service backed by the Convex AI gateway.
24
+ */
25
+ export declare const make: ({ model: modelId, config, }: Options) => Effect.Effect<LanguageModel.LanguageModel, never, OpenAiClient.OpenAiClient>;
26
+ /**
27
+ * Provide a language-model service backed by the Convex AI gateway.
28
+ */
29
+ export declare const layer: ({ model: modelId, config, }: Options) => Layer.Layer<LanguageModel.LanguageModel, never, OpenAiClient.OpenAiClient>;
30
+ /**
31
+ * Apply request configuration to an Effect AI operation within a local scope.
32
+ */
33
+ export declare const withConfigOverride: {
34
+ (overrides: {
35
+ readonly metadata?: Readonly<Record<string, string>> | null | undefined;
36
+ readonly top_logprobs?: number | undefined;
37
+ readonly temperature?: number | null | undefined;
38
+ readonly top_p?: number | null | undefined;
39
+ readonly user?: string | null | undefined;
40
+ readonly safety_identifier?: string | null | undefined;
41
+ readonly prompt_cache_key?: string | null | undefined;
42
+ readonly service_tier?: string | undefined;
43
+ readonly prompt_cache_retention?: "in-memory" | "24h" | null | undefined;
44
+ readonly previous_response_id?: string | null | undefined;
45
+ readonly model?: string | undefined;
46
+ readonly reasoning?: unknown;
47
+ readonly background?: boolean | null | undefined;
48
+ readonly max_output_tokens?: number | null | undefined;
49
+ readonly max_tool_calls?: number | null | undefined;
50
+ readonly truncation?: "auto" | "disabled" | null | undefined;
51
+ readonly include?: ReadonlyArray<import("@effect/ai-openai-compat/OpenAiClient").IncludeEnum> | null | undefined;
52
+ readonly parallel_tool_calls?: boolean | null | undefined;
53
+ readonly instructions?: string | null | undefined;
54
+ readonly modalities?: ReadonlyArray<"text" | "audio"> | undefined;
55
+ readonly seed?: number | undefined;
56
+ readonly fileIdPrefixes?: ReadonlyArray<string> | undefined;
57
+ readonly text?: {
58
+ readonly verbosity?: "low" | "medium" | "high" | undefined;
59
+ } | undefined;
60
+ readonly strictJsonSchema?: boolean | undefined;
61
+ } & {
62
+ readonly [x: string]: unknown;
63
+ }): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, OpenAiLanguageModel.Config>>;
64
+ <A, E, R>(self: Effect.Effect<A, E, R>, overrides: {
65
+ readonly metadata?: Readonly<Record<string, string>> | null | undefined;
66
+ readonly top_logprobs?: number | undefined;
67
+ readonly temperature?: number | null | undefined;
68
+ readonly top_p?: number | null | undefined;
69
+ readonly user?: string | null | undefined;
70
+ readonly safety_identifier?: string | null | undefined;
71
+ readonly prompt_cache_key?: string | null | undefined;
72
+ readonly service_tier?: string | undefined;
73
+ readonly prompt_cache_retention?: "in-memory" | "24h" | null | undefined;
74
+ readonly previous_response_id?: string | null | undefined;
75
+ readonly model?: string | undefined;
76
+ readonly reasoning?: unknown;
77
+ readonly background?: boolean | null | undefined;
78
+ readonly max_output_tokens?: number | null | undefined;
79
+ readonly max_tool_calls?: number | null | undefined;
80
+ readonly truncation?: "auto" | "disabled" | null | undefined;
81
+ readonly include?: ReadonlyArray<import("@effect/ai-openai-compat/OpenAiClient").IncludeEnum> | null | undefined;
82
+ readonly parallel_tool_calls?: boolean | null | undefined;
83
+ readonly instructions?: string | null | undefined;
84
+ readonly modalities?: ReadonlyArray<"text" | "audio"> | undefined;
85
+ readonly seed?: number | undefined;
86
+ readonly fileIdPrefixes?: ReadonlyArray<string> | undefined;
87
+ readonly text?: {
88
+ readonly verbosity?: "low" | "medium" | "high" | undefined;
89
+ } | undefined;
90
+ readonly strictJsonSchema?: boolean | undefined;
91
+ } & {
92
+ readonly [x: string]: unknown;
93
+ }): Effect.Effect<A, E, Exclude<R, OpenAiLanguageModel.Config>>;
94
+ };
95
+ //# sourceMappingURL=AiGatewayLanguageModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiGatewayLanguageModel.d.ts","sourceRoot":"","sources":["../src/AiGatewayLanguageModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,YAAY,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,mBAAmB,MAAM,8CAA8C,CAAC;AACpF,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,aAAa,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,MAAM,mCAA6B,CAAC;AAEjD,MAAM,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAEhD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CAC5E;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK,YACP,MAAM,WACN,IAAI,CAAC,OAAO,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAChE,OAAO,CAAC,KAAK,CACd,QAAQ,EACR,aAAa,CAAC,aAAa,EAC3B,YAAY,CAAC,YAAY,CACoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,IAAI,gCAGd,OAAO,KAAG,MAAM,CAAC,MAAM,CACxB,aAAa,CAAC,aAAa,EAC3B,KAAK,EACL,YAAY,CAAC,YAAY,CAC8B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,KAAK,gCAGf,OAAO,KAAG,KAAK,CAAC,KAAK,CACtB,aAAa,CAAC,aAAa,EAC3B,KAAK,EACL,YAAY,CAAC,YAAY,CAC+B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAyC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
+ import * as OpenAiLanguageModel from "@effect/ai-openai-compat/OpenAiLanguageModel";
3
+ //#region src/AiGatewayLanguageModel.ts
4
+ var AiGatewayLanguageModel_exports = /* @__PURE__ */ __exportAll({
5
+ Config: () => Config,
6
+ layer: () => layer,
7
+ make: () => make,
8
+ model: () => model,
9
+ withConfigOverride: () => withConfigOverride
10
+ });
11
+ /**
12
+ * Configuration overrides for Convex AI gateway language-model requests.
13
+ */
14
+ const Config = OpenAiLanguageModel.Config;
15
+ /**
16
+ * Create an Effect AI model backed by the Convex AI gateway.
17
+ *
18
+ * Model identifiers use Convex's `provider/model` format.
19
+ */
20
+ const model = (modelId, config) => OpenAiLanguageModel.model(modelId, config);
21
+ /**
22
+ * Construct a language-model service backed by the Convex AI gateway.
23
+ */
24
+ const make = ({ model: modelId, config }) => OpenAiLanguageModel.make({
25
+ model: modelId,
26
+ config
27
+ });
28
+ /**
29
+ * Provide a language-model service backed by the Convex AI gateway.
30
+ */
31
+ const layer = ({ model: modelId, config }) => OpenAiLanguageModel.layer({
32
+ model: modelId,
33
+ config
34
+ });
35
+ /**
36
+ * Apply request configuration to an Effect AI operation within a local scope.
37
+ */
38
+ const withConfigOverride = OpenAiLanguageModel.withConfigOverride;
39
+ //#endregion
40
+ export { AiGatewayLanguageModel_exports, Config, layer, make, model, withConfigOverride };
41
+
42
+ //# sourceMappingURL=AiGatewayLanguageModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiGatewayLanguageModel.js","names":[],"sources":["../src/AiGatewayLanguageModel.ts"],"sourcesContent":["import type * as OpenAiClient from \"@effect/ai-openai-compat/OpenAiClient\";\nimport * as OpenAiLanguageModel from \"@effect/ai-openai-compat/OpenAiLanguageModel\";\nimport type * as Effect from \"effect/Effect\";\nimport type * as Layer from \"effect/Layer\";\nimport type * as LanguageModel from \"effect/ai/LanguageModel\";\nimport type * as AiModel from \"effect/ai/Model\";\n\n/**\n * Configuration overrides for Convex AI gateway language-model requests.\n */\nexport const Config = OpenAiLanguageModel.Config;\n\nexport type Config = OpenAiLanguageModel.Config;\n\nexport interface Options {\n readonly model: string;\n readonly config?: Omit<typeof OpenAiLanguageModel.Config.Service, \"model\">;\n}\n\n/**\n * Create an Effect AI model backed by the Convex AI gateway.\n *\n * Model identifiers use Convex's `provider/model` format.\n */\nexport const model = (\n modelId: string,\n config?: Omit<typeof OpenAiLanguageModel.Config.Service, \"model\">,\n): AiModel.Model<\n \"openai\",\n LanguageModel.LanguageModel,\n OpenAiClient.OpenAiClient\n> => OpenAiLanguageModel.model(modelId, config);\n\n/**\n * Construct a language-model service backed by the Convex AI gateway.\n */\nexport const make = ({\n model: modelId,\n config,\n}: Options): Effect.Effect<\n LanguageModel.LanguageModel,\n never,\n OpenAiClient.OpenAiClient\n> => OpenAiLanguageModel.make({ model: modelId, config });\n\n/**\n * Provide a language-model service backed by the Convex AI gateway.\n */\nexport const layer = ({\n model: modelId,\n config,\n}: Options): Layer.Layer<\n LanguageModel.LanguageModel,\n never,\n OpenAiClient.OpenAiClient\n> => OpenAiLanguageModel.layer({ model: modelId, config });\n\n/**\n * Apply request configuration to an Effect AI operation within a local scope.\n */\nexport const withConfigOverride = OpenAiLanguageModel.withConfigOverride;\n"],"mappings":";;;;;;;;;;;;;AAUA,MAAa,SAAS,oBAAoB;;;;;;AAc1C,MAAa,SACX,SACA,WAKG,oBAAoB,MAAM,SAAS,MAAM;;;;AAK9C,MAAa,QAAQ,EACnB,OAAO,SACP,aAKG,oBAAoB,KAAK;CAAE,OAAO;CAAS;AAAO,CAAC;;;;AAKxD,MAAa,SAAS,EACpB,OAAO,SACP,aAKG,oBAAoB,MAAM;CAAE,OAAO;CAAS;AAAO,CAAC;;;;AAKzD,MAAa,qBAAqB,oBAAoB"}
package/dist/Auth.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ import type { Auth as ConvexAuth } from "convex/server";
2
+ import * as Context from "effect/Context";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Schema from "effect/Schema";
6
+ import type * as DatabaseSchema from "./DatabaseSchema";
7
+ declare const Auth_base: Context.ServiceClass<Auth, "@confect/server/Auth", {
8
+ getUserIdentity: Effect.Effect<import("convex/server").UserIdentity, NoUserIdentityFoundError, never>;
9
+ }>;
10
+ export declare class Auth extends Auth_base {
11
+ }
12
+ export declare const layer: (auth: ConvexAuth) => Layer.Layer<Auth, never, never>;
13
+ export type ForTarget<Target extends DatabaseSchema.Target> = Target["kind"] extends "component" ? never : Auth;
14
+ export declare const layerForTarget: <Target extends DatabaseSchema.Target>(target: Target, auth: ConvexAuth) => Layer.Layer<ForTarget<Target>>;
15
+ declare const NoUserIdentityFoundError_base: Schema.Class<NoUserIdentityFoundError, Schema.TaggedStruct<"NoUserIdentityFoundError", {}>, import("effect/Cause").YieldableError>;
16
+ export declare class NoUserIdentityFoundError extends NoUserIdentityFoundError_base {
17
+ get message(): string;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=Auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../src/Auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,cAAc,MAAM,kBAAkB,CAAC;;;;AAgBxD,qBAAa,IAAK,SAAQ,SAEzB;CAAG;AAEJ,eAAO,MAAM,KAAK,SAAU,UAAU,oCAAoC,CAAC;AAE3E,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,cAAc,CAAC,MAAM,IACxD,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC;AAEpD,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,cAAc,CAAC,MAAM,UACzD,MAAM,QACR,UAAU,KACf,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAKK,CAAC;;AAEtC,qBAAa,wBAAyB,SAAQ,6BAG7C;IACC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF"}
package/dist/Auth.js ADDED
@@ -0,0 +1,31 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
+ import * as Context from "effect/Context";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Schema from "effect/Schema";
6
+ import { flow } from "effect/Function";
7
+ import * as Match from "effect/Match";
8
+ import * as Option from "effect/Option";
9
+ //#region src/Auth.ts
10
+ var Auth_exports = /* @__PURE__ */ __exportAll({
11
+ Auth: () => Auth,
12
+ NoUserIdentityFoundError: () => NoUserIdentityFoundError,
13
+ layer: () => layer,
14
+ layerForTarget: () => layerForTarget
15
+ });
16
+ const make = (auth) => ({ getUserIdentity: Effect.promise(() => auth.getUserIdentity()).pipe(Effect.andThen(flow(Option.fromNullishOr, Option.match({
17
+ onNone: () => Effect.fail(new NoUserIdentityFoundError()),
18
+ onSome: Effect.succeed
19
+ })))) });
20
+ var Auth = class extends Context.Service()("@confect/server/Auth") {};
21
+ const layer = (auth) => Layer.succeed(Auth, make(auth));
22
+ const layerForTarget = (target, auth) => Match.value(target.kind).pipe(Match.when("app", () => layer(auth)), Match.when("component", () => Layer.empty), Match.exhaustive);
23
+ var NoUserIdentityFoundError = class extends Schema.TaggedError()("NoUserIdentityFoundError", {}) {
24
+ get message() {
25
+ return "No user identity found";
26
+ }
27
+ };
28
+ //#endregion
29
+ export { Auth, Auth_exports, NoUserIdentityFoundError, layer, layerForTarget };
30
+
31
+ //# sourceMappingURL=Auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth.js","names":[],"sources":["../src/Auth.ts"],"sourcesContent":["import type { Auth as ConvexAuth } from \"convex/server\";\nimport * as Context from \"effect/Context\";\nimport { flow } from \"effect/Function\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Match from \"effect/Match\";\nimport * as Option from \"effect/Option\";\nimport * as Schema from \"effect/Schema\";\nimport type * as DatabaseSchema from \"./DatabaseSchema\";\n\nconst make = (auth: ConvexAuth) => ({\n getUserIdentity: Effect.promise(() => auth.getUserIdentity()).pipe(\n Effect.andThen(\n flow(\n Option.fromNullishOr,\n Option.match({\n onNone: () => Effect.fail(new NoUserIdentityFoundError()),\n onSome: Effect.succeed,\n }),\n ),\n ),\n ),\n});\n\nexport class Auth extends Context.Service<Auth, ReturnType<typeof make>>()(\n \"@confect/server/Auth\",\n) {}\n\nexport const layer = (auth: ConvexAuth) => Layer.succeed(Auth, make(auth));\n\nexport type ForTarget<Target extends DatabaseSchema.Target> =\n Target[\"kind\"] extends \"component\" ? never : Auth;\n\nexport const layerForTarget = <Target extends DatabaseSchema.Target>(\n target: Target,\n auth: ConvexAuth,\n): Layer.Layer<ForTarget<Target>> =>\n Match.value(target.kind).pipe(\n Match.when(\"app\", () => layer(auth)),\n Match.when(\"component\", () => Layer.empty),\n Match.exhaustive,\n ) as Layer.Layer<ForTarget<Target>>;\n\nexport class NoUserIdentityFoundError extends Schema.TaggedError<NoUserIdentityFoundError>()(\n \"NoUserIdentityFoundError\",\n {},\n) {\n override get message(): string {\n return \"No user identity found\";\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAUA,MAAM,QAAQ,UAAsB,EAClC,iBAAiB,OAAO,cAAc,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAC5D,OAAO,QACL,KACE,OAAO,eACP,OAAO,MAAM;CACX,cAAc,OAAO,KAAK,IAAI,yBAAyB,CAAC;CACxD,QAAQ,OAAO;AACjB,CAAC,CACH,CACF,CACF,EACF;AAEA,IAAa,OAAb,cAA0B,QAAQ,QAAuC,CAAC,CACxE,sBACF,CAAC,CAAC,CAAC;AAEH,MAAa,SAAS,SAAqB,MAAM,QAAQ,MAAM,KAAK,IAAI,CAAC;AAKzE,MAAa,kBACX,QACA,SAEA,MAAM,MAAM,OAAO,IAAI,CAAC,CAAC,KACvB,MAAM,KAAK,aAAa,MAAM,IAAI,CAAC,GACnC,MAAM,KAAK,mBAAmB,MAAM,KAAK,GACzC,MAAM,UACR;AAEF,IAAa,2BAAb,cAA8C,OAAO,YAAsC,CAAC,CAC1F,4BACA,CAAC,CACH,CAAC,CAAC;CACA,IAAa,UAAkB;EAC7B,OAAO;CACT;AACF"}
@@ -0,0 +1,9 @@
1
+ import * as Schema from "effect/Schema";
2
+ declare const BlobNotFoundError_base: Schema.Class<BlobNotFoundError, Schema.TaggedStruct<"BlobNotFoundError", {
3
+ readonly id: Schema.String;
4
+ }>, import("effect/Cause").YieldableError>;
5
+ export declare class BlobNotFoundError extends BlobNotFoundError_base {
6
+ get message(): string;
7
+ }
8
+ export {};
9
+ //# sourceMappingURL=BlobNotFoundError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlobNotFoundError.d.ts","sourceRoot":"","sources":["../src/BlobNotFoundError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;AAExC,qBAAa,iBAAkB,SAAQ,sBAKtC;IACC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF"}
@@ -0,0 +1,13 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
+ import * as Schema from "effect/Schema";
3
+ //#region src/BlobNotFoundError.ts
4
+ var BlobNotFoundError_exports = /* @__PURE__ */ __exportAll({ BlobNotFoundError: () => BlobNotFoundError });
5
+ var BlobNotFoundError = class extends Schema.TaggedError()("BlobNotFoundError", { id: Schema.String }) {
6
+ get message() {
7
+ return `File with ID '${this.id}' not found`;
8
+ }
9
+ };
10
+ //#endregion
11
+ export { BlobNotFoundError, BlobNotFoundError_exports };
12
+
13
+ //# sourceMappingURL=BlobNotFoundError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlobNotFoundError.js","names":[],"sources":["../src/BlobNotFoundError.ts"],"sourcesContent":["import * as Schema from \"effect/Schema\";\n\nexport class BlobNotFoundError extends Schema.TaggedError<BlobNotFoundError>()(\n \"BlobNotFoundError\",\n {\n id: Schema.String,\n },\n) {\n override get message(): string {\n return `File with ID '${this.id}' not found`;\n }\n}\n"],"mappings":";;;;AAEA,IAAa,oBAAb,cAAuC,OAAO,YAA+B,CAAC,CAC5E,qBACA,EACE,IAAI,OAAO,OACb,CACF,CAAC,CAAC;CACA,IAAa,UAAkB;EAC7B,OAAO,iBAAiB,KAAK,GAAG;CAClC;AACF"}
@@ -0,0 +1,31 @@
1
+ import * as Callback from "@confect/core/Callback";
2
+ import * as Ref from "@confect/core/Ref";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Schema from "effect/Schema";
5
+ declare const CallbackContractMismatch_base: Schema.Class<CallbackContractMismatch, Schema.TaggedStruct<"CallbackContractMismatch", {
6
+ readonly contract: Schema.String;
7
+ readonly side: Schema.Literals<readonly ["args", "returns", "error"]>;
8
+ readonly expected: Schema.Codec<Schema.Json, Schema.Json, never, never>;
9
+ readonly actual: Schema.Codec<Schema.Json, Schema.Json, never, never>;
10
+ }>, import("effect/Cause").YieldableError>;
11
+ /**
12
+ * The host function does not satisfy the contract on one side. `expected` and
13
+ * `actual` describe the contract's and the host's validators, with union
14
+ * members in a fixed order, or the reason a schema is unsupported.
15
+ */
16
+ export declare class CallbackContractMismatch extends CallbackContractMismatch_base {
17
+ get message(): string;
18
+ }
19
+ /**
20
+ * Create a handle a component can store and run to call `ref` under `contract`.
21
+ * A ref whose function type, args or returns visibly differ from the contract
22
+ * on the wire, or whose errors are undeclared, is a type error. The host may
23
+ * declare fewer errors. Before asking Convex for the handle, a Confect ref's
24
+ * compiled validators are checked against the contract's. A mismatch or an
25
+ * unsupported schema fails with `CallbackContractMismatch`. A plain Convex ref
26
+ * has no codecs to compile, so only the type check applies to it. A ref to a
27
+ * function that is not deployed is a defect.
28
+ */
29
+ export declare const create: <Contract_ extends Callback.Any, Ref_ extends Ref.Any>(contract: Contract_, ref: Ref_ & Callback.Check<Contract_, Ref_>) => Effect.Effect<Callback.Handle<Contract_>, CallbackContractMismatch, never>;
30
+ export {};
31
+ //# sourceMappingURL=Callback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Callback.d.ts","sourceRoot":"","sources":["../src/Callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAQzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;;;;AAGxC;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,6BAQ7C;IACC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAyPD;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,GACjB,SAAS,SAAS,QAAQ,CAAC,GAAG,EAC9B,IAAI,SAAS,GAAG,CAAC,GAAG,iJAcpB,CAAC"}