@effect-app/infra 4.0.0-beta.248 → 4.0.0-beta.249

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 (377) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/dist/ContextProvider.d.ts +34 -0
  3. package/dist/ContextProvider.d.ts.map +1 -0
  4. package/dist/ContextProvider.js +40 -0
  5. package/dist/Emailer/Sendgrid.d.ts +109 -145
  6. package/dist/Emailer/Sendgrid.d.ts.map +1 -1
  7. package/dist/Emailer/Sendgrid.js +4 -3
  8. package/dist/Emailer/fake.d.ts +2 -2
  9. package/dist/Emailer/fake.d.ts.map +1 -1
  10. package/dist/Emailer/fake.js +2 -2
  11. package/dist/QueueMaker/SQLQueue.d.ts +2 -2
  12. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  13. package/dist/QueueMaker/SQLQueue.js +4 -4
  14. package/dist/QueueMaker/memQueue.d.ts +2 -2
  15. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  16. package/dist/QueueMaker/memQueue.js +4 -4
  17. package/dist/QueueMaker/sbqueue.d.ts +2 -2
  18. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  19. package/dist/QueueMaker/sbqueue.js +4 -4
  20. package/dist/RequestFiberSet.js +2 -2
  21. package/dist/{adapters/SQL → SQL}/Model.d.ts +2 -2
  22. package/dist/SQL/Model.d.ts.map +1 -0
  23. package/dist/SQL/Model.js +469 -0
  24. package/dist/{adapters/SQL.d.ts → SQL.d.ts} +1 -1
  25. package/dist/SQL.d.ts.map +1 -0
  26. package/dist/{adapters/SQL.js → SQL.js} +1 -1
  27. package/dist/{adapters/ServiceBus.d.ts → ServiceBus.d.ts} +1 -1
  28. package/dist/ServiceBus.d.ts.map +1 -0
  29. package/dist/ServiceBus.js +108 -0
  30. package/dist/Store/ContextMapContainer.d.ts +2 -2
  31. package/dist/Store/ContextMapContainer.d.ts.map +1 -1
  32. package/dist/Store/ContextMapContainer.js +2 -2
  33. package/dist/Store/Cosmos/query.d.ts +4 -4
  34. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  35. package/dist/Store/Cosmos/query.js +1 -1
  36. package/dist/Store/Cosmos.d.ts +2 -2
  37. package/dist/Store/Cosmos.d.ts.map +1 -1
  38. package/dist/Store/Cosmos.js +3 -3
  39. package/dist/Store/Disk.d.ts +3 -3
  40. package/dist/Store/Disk.d.ts.map +1 -1
  41. package/dist/Store/Disk.js +2 -2
  42. package/dist/Store/Memory.d.ts +3 -3
  43. package/dist/Store/Memory.d.ts.map +1 -1
  44. package/dist/Store/Memory.js +2 -2
  45. package/dist/Store/SQL/Pg.d.ts +2 -2
  46. package/dist/Store/SQL/Pg.d.ts.map +1 -1
  47. package/dist/Store/SQL/Pg.js +2 -2
  48. package/dist/Store/SQL/query.d.ts +3 -3
  49. package/dist/Store/SQL/query.d.ts.map +1 -1
  50. package/dist/Store/SQL/query.js +1 -1
  51. package/dist/Store/SQL.d.ts +3 -3
  52. package/dist/Store/SQL.d.ts.map +1 -1
  53. package/dist/Store/SQL.js +2 -2
  54. package/dist/Store/codeFilter.d.ts +4 -4
  55. package/dist/Store/codeFilter.d.ts.map +1 -1
  56. package/dist/Store/codeFilter.js +1 -1
  57. package/dist/Store/index.d.ts +3 -4
  58. package/dist/Store/index.d.ts.map +1 -1
  59. package/dist/Store/index.js +2 -3
  60. package/dist/Store/utils.d.ts +2 -2
  61. package/dist/Store/utils.d.ts.map +1 -1
  62. package/dist/Store/utils.js +1 -1
  63. package/dist/{api/codec.d.ts → codec.d.ts} +1 -1
  64. package/dist/codec.d.ts.map +1 -0
  65. package/dist/codec.js +5 -0
  66. package/dist/{adapters/cosmos-client.d.ts → cosmos-client.d.ts} +1 -1
  67. package/dist/cosmos-client.d.ts.map +1 -0
  68. package/dist/cosmos-client.js +11 -0
  69. package/dist/errorReporter.d.ts +1 -1
  70. package/dist/errorReporter.d.ts.map +1 -1
  71. package/dist/errorReporter.js +2 -2
  72. package/dist/index.d.ts +3 -2
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +3 -2
  75. package/dist/{api/internal → internal}/RequestContextMiddleware.d.ts +2 -2
  76. package/dist/internal/RequestContextMiddleware.d.ts.map +1 -0
  77. package/dist/internal/RequestContextMiddleware.js +46 -0
  78. package/dist/{api/internal → internal}/auth.d.ts +1 -1
  79. package/dist/internal/auth.d.ts.map +1 -0
  80. package/dist/internal/auth.js +180 -0
  81. package/dist/{api/internal → internal}/events.d.ts +1 -1
  82. package/dist/internal/events.d.ts.map +1 -0
  83. package/dist/internal/events.js +49 -0
  84. package/dist/{api/internal → internal}/health.d.ts +1 -1
  85. package/dist/internal/health.d.ts.map +1 -0
  86. package/dist/internal/health.js +5 -0
  87. package/dist/layerUtils.d.ts +32 -0
  88. package/dist/layerUtils.d.ts.map +1 -0
  89. package/dist/layerUtils.js +17 -0
  90. package/dist/logger/jsonLogger.d.ts +1 -1
  91. package/dist/logger/jsonLogger.d.ts.map +1 -1
  92. package/dist/logger/jsonLogger.js +2 -2
  93. package/dist/logger/logFmtLogger.d.ts +1 -1
  94. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  95. package/dist/logger/logFmtLogger.js +2 -2
  96. package/dist/logger/shared.d.ts +2 -2
  97. package/dist/logger/shared.d.ts.map +1 -1
  98. package/dist/logger/shared.js +2 -2
  99. package/dist/{adapters/memQueue.d.ts → memQueue.d.ts} +1 -1
  100. package/dist/memQueue.d.ts.map +1 -0
  101. package/dist/memQueue.js +21 -0
  102. package/dist/{api/middlewares.d.ts → middlewares.d.ts} +1 -1
  103. package/dist/middlewares.d.ts.map +1 -0
  104. package/dist/{api/middlewares.js → middlewares.js} +1 -1
  105. package/dist/{adapters/mongo-client.d.ts → mongo-client.d.ts} +1 -1
  106. package/dist/mongo-client.d.ts.map +1 -0
  107. package/dist/mongo-client.js +15 -0
  108. package/dist/{adapters/redis-client.d.ts → redis-client.d.ts} +1 -1
  109. package/dist/redis-client.d.ts.map +1 -0
  110. package/dist/redis-client.js +98 -0
  111. package/dist/reportError.d.ts +4 -0
  112. package/dist/reportError.d.ts.map +1 -0
  113. package/dist/reportError.js +28 -0
  114. package/dist/{api/routing → routing}/middleware/RouterMiddleware.d.ts +1 -1
  115. package/dist/routing/middleware/RouterMiddleware.d.ts.map +1 -0
  116. package/dist/{api/routing → routing}/middleware/RouterMiddleware.js +1 -1
  117. package/dist/{api/routing → routing}/middleware/middleware.d.ts +2 -2
  118. package/dist/routing/middleware/middleware.d.ts.map +1 -0
  119. package/dist/routing/middleware/middleware.js +128 -0
  120. package/dist/{api/routing → routing}/middleware.d.ts +1 -1
  121. package/dist/routing/middleware.d.ts.map +1 -0
  122. package/dist/{api/routing → routing}/middleware.js +1 -1
  123. package/dist/{api/routing → routing}/schema/jwt.d.ts +1 -1
  124. package/dist/routing/schema/jwt.d.ts.map +1 -0
  125. package/dist/routing/schema/jwt.js +13 -0
  126. package/dist/routing/tsort.d.ts +8 -0
  127. package/dist/routing/tsort.d.ts.map +1 -0
  128. package/dist/routing/tsort.js +51 -0
  129. package/dist/{api/routing → routing}/utils.d.ts +1 -1
  130. package/dist/routing/utils.d.ts.map +1 -0
  131. package/dist/routing/utils.js +45 -0
  132. package/dist/routing.d.ts +184 -0
  133. package/dist/routing.d.ts.map +1 -0
  134. package/dist/{api/routing.js → routing.js} +1 -1
  135. package/dist/{api/setupRequest.d.ts → setupRequest.d.ts} +2 -2
  136. package/dist/setupRequest.d.ts.map +1 -0
  137. package/dist/setupRequest.js +70 -0
  138. package/dist/{api/util.d.ts → util.d.ts} +1 -1
  139. package/dist/util.d.ts.map +1 -0
  140. package/dist/util.js +14 -0
  141. package/examples/query.ts +2 -2
  142. package/package.json +84 -200
  143. package/src/Emailer/Sendgrid.ts +20 -5
  144. package/src/Emailer/fake.ts +1 -1
  145. package/src/QueueMaker/SQLQueue.ts +3 -3
  146. package/src/QueueMaker/memQueue.ts +3 -3
  147. package/src/QueueMaker/sbqueue.ts +3 -3
  148. package/src/RequestFiberSet.ts +1 -1
  149. package/src/{adapters/SQL → SQL}/Model.ts +1 -1
  150. package/src/{adapters/ServiceBus.ts → ServiceBus.ts} +1 -1
  151. package/src/Store/ContextMapContainer.ts +1 -1
  152. package/src/Store/Cosmos/query.ts +3 -3
  153. package/src/Store/Cosmos.ts +4 -4
  154. package/src/Store/Disk.ts +2 -2
  155. package/src/Store/Memory.ts +4 -4
  156. package/src/Store/SQL/Pg.ts +3 -3
  157. package/src/Store/SQL/query.ts +2 -2
  158. package/src/Store/SQL.ts +3 -3
  159. package/src/Store/codeFilter.ts +3 -3
  160. package/src/Store/index.ts +2 -4
  161. package/src/Store/utils.ts +1 -1
  162. package/src/errorReporter.ts +1 -1
  163. package/src/index.ts +2 -1
  164. package/src/{api/internal → internal}/RequestContextMiddleware.ts +3 -3
  165. package/src/{api/internal → internal}/events.ts +2 -2
  166. package/src/{api/layerUtils.ts → layerUtils.ts} +1 -1
  167. package/src/logger/jsonLogger.ts +1 -1
  168. package/src/logger/logFmtLogger.ts +1 -1
  169. package/src/logger/shared.ts +1 -1
  170. package/src/{adapters/redis-client.ts → redis-client.ts} +1 -1
  171. package/src/{api/reportError.ts → reportError.ts} +1 -1
  172. package/src/{api/routing → routing}/middleware/middleware.ts +4 -4
  173. package/src/{api/setupRequest.ts → setupRequest.ts} +3 -3
  174. package/test/auth.test.ts +1 -1
  175. package/test/contextProvider.test.ts +1 -1
  176. package/test/controller.test.ts +3 -3
  177. package/test/cosmos-query.test.ts +1 -1
  178. package/test/dist/controller.test.d.ts.map +1 -1
  179. package/test/dist/query.test.d.ts.map +1 -1
  180. package/test/dist/rawQuery.test.d.ts.map +1 -1
  181. package/test/layerUtils.test.ts +1 -1
  182. package/test/query.test.ts +4 -4
  183. package/test/rawQuery.test.ts +4 -4
  184. package/test/repository-ext.test.ts +3 -3
  185. package/test/router-generator.test.ts +3 -3
  186. package/test/routing-interruptibility.test.ts +2 -2
  187. package/test/rpc-context-map-streaming.test.ts +3 -3
  188. package/test/rpc-e2e-invalidation.test.ts +2 -2
  189. package/test/rpc-multi-middleware.test.ts +1 -1
  190. package/test/rpc-stream-fullstack.test.ts +2 -2
  191. package/test/validateSample.test.ts +3 -3
  192. package/dist/Emailer/service.d.ts +0 -64
  193. package/dist/Emailer/service.d.ts.map +0 -1
  194. package/dist/Emailer/service.js +0 -7
  195. package/dist/Emailer.d.ts +0 -2
  196. package/dist/Emailer.d.ts.map +0 -1
  197. package/dist/Emailer.js +0 -2
  198. package/dist/Model/Repository/Registry.d.ts +0 -21
  199. package/dist/Model/Repository/Registry.d.ts.map +0 -1
  200. package/dist/Model/Repository/Registry.js +0 -18
  201. package/dist/Model/Repository/ext.d.ts +0 -60
  202. package/dist/Model/Repository/ext.d.ts.map +0 -1
  203. package/dist/Model/Repository/ext.js +0 -122
  204. package/dist/Model/Repository/internal/internal.d.ts +0 -62
  205. package/dist/Model/Repository/internal/internal.d.ts.map +0 -1
  206. package/dist/Model/Repository/internal/internal.js +0 -398
  207. package/dist/Model/Repository/legacy.d.ts +0 -21
  208. package/dist/Model/Repository/legacy.d.ts.map +0 -1
  209. package/dist/Model/Repository/legacy.js +0 -2
  210. package/dist/Model/Repository/makeRepo.d.ts +0 -53
  211. package/dist/Model/Repository/makeRepo.d.ts.map +0 -1
  212. package/dist/Model/Repository/makeRepo.js +0 -27
  213. package/dist/Model/Repository/service.d.ts +0 -97
  214. package/dist/Model/Repository/service.d.ts.map +0 -1
  215. package/dist/Model/Repository/service.js +0 -2
  216. package/dist/Model/Repository/validation.d.ts +0 -71
  217. package/dist/Model/Repository/validation.d.ts.map +0 -1
  218. package/dist/Model/Repository/validation.js +0 -32
  219. package/dist/Model/Repository.d.ts +0 -7
  220. package/dist/Model/Repository.d.ts.map +0 -1
  221. package/dist/Model/Repository.js +0 -7
  222. package/dist/Model/dsl.d.ts +0 -33
  223. package/dist/Model/dsl.d.ts.map +0 -1
  224. package/dist/Model/dsl.js +0 -43
  225. package/dist/Model/filter/filterApi.d.ts +0 -30
  226. package/dist/Model/filter/filterApi.d.ts.map +0 -1
  227. package/dist/Model/filter/filterApi.js +0 -2
  228. package/dist/Model/filter/types/errors.d.ts +0 -29
  229. package/dist/Model/filter/types/errors.d.ts.map +0 -1
  230. package/dist/Model/filter/types/errors.js +0 -2
  231. package/dist/Model/filter/types/fields.d.ts +0 -15
  232. package/dist/Model/filter/types/fields.d.ts.map +0 -1
  233. package/dist/Model/filter/types/fields.js +0 -2
  234. package/dist/Model/filter/types/path/common.d.ts +0 -316
  235. package/dist/Model/filter/types/path/common.d.ts.map +0 -1
  236. package/dist/Model/filter/types/path/common.js +0 -2
  237. package/dist/Model/filter/types/path/eager.d.ts +0 -95
  238. package/dist/Model/filter/types/path/eager.d.ts.map +0 -1
  239. package/dist/Model/filter/types/path/eager.js +0 -31
  240. package/dist/Model/filter/types/path/index.d.ts +0 -4
  241. package/dist/Model/filter/types/path/index.d.ts.map +0 -1
  242. package/dist/Model/filter/types/path/index.js +0 -3
  243. package/dist/Model/filter/types/utils.d.ts +0 -79
  244. package/dist/Model/filter/types/utils.d.ts.map +0 -1
  245. package/dist/Model/filter/types/utils.js +0 -2
  246. package/dist/Model/filter/types/validator.d.ts +0 -30
  247. package/dist/Model/filter/types/validator.d.ts.map +0 -1
  248. package/dist/Model/filter/types/validator.js +0 -2
  249. package/dist/Model/filter/types.d.ts +0 -5
  250. package/dist/Model/filter/types.d.ts.map +0 -1
  251. package/dist/Model/filter/types.js +0 -7
  252. package/dist/Model/query/dsl.d.ts +0 -446
  253. package/dist/Model/query/dsl.d.ts.map +0 -1
  254. package/dist/Model/query/dsl.js +0 -339
  255. package/dist/Model/query/new-kid-interpreter.d.ts +0 -136
  256. package/dist/Model/query/new-kid-interpreter.d.ts.map +0 -1
  257. package/dist/Model/query/new-kid-interpreter.js +0 -336
  258. package/dist/Model/query.d.ts +0 -15
  259. package/dist/Model/query.d.ts.map +0 -1
  260. package/dist/Model/query.js +0 -3
  261. package/dist/Model.d.ts +0 -5
  262. package/dist/Model.d.ts.map +0 -1
  263. package/dist/Model.js +0 -5
  264. package/dist/QueueMaker/service.d.ts +0 -13
  265. package/dist/QueueMaker/service.d.ts.map +0 -1
  266. package/dist/QueueMaker/service.js +0 -4
  267. package/dist/RequestContext.d.ts +0 -103
  268. package/dist/RequestContext.d.ts.map +0 -1
  269. package/dist/RequestContext.js +0 -49
  270. package/dist/Store/service.d.ts +0 -138
  271. package/dist/Store/service.d.ts.map +0 -1
  272. package/dist/Store/service.js +0 -95
  273. package/dist/Store.d.ts +0 -2
  274. package/dist/Store.d.ts.map +0 -1
  275. package/dist/Store.js +0 -2
  276. package/dist/adapters/SQL/Model.d.ts.map +0 -1
  277. package/dist/adapters/SQL/Model.js +0 -469
  278. package/dist/adapters/SQL.d.ts.map +0 -1
  279. package/dist/adapters/ServiceBus.d.ts.map +0 -1
  280. package/dist/adapters/ServiceBus.js +0 -108
  281. package/dist/adapters/cosmos-client.d.ts.map +0 -1
  282. package/dist/adapters/cosmos-client.js +0 -11
  283. package/dist/adapters/index.d.ts +0 -8
  284. package/dist/adapters/index.d.ts.map +0 -1
  285. package/dist/adapters/index.js +0 -8
  286. package/dist/adapters/logger.d.ts +0 -9
  287. package/dist/adapters/logger.d.ts.map +0 -1
  288. package/dist/adapters/logger.js +0 -3
  289. package/dist/adapters/memQueue.d.ts.map +0 -1
  290. package/dist/adapters/memQueue.js +0 -21
  291. package/dist/adapters/mongo-client.d.ts.map +0 -1
  292. package/dist/adapters/mongo-client.js +0 -15
  293. package/dist/adapters/redis-client.d.ts.map +0 -1
  294. package/dist/adapters/redis-client.js +0 -98
  295. package/dist/api/ContextProvider.d.ts +0 -34
  296. package/dist/api/ContextProvider.d.ts.map +0 -1
  297. package/dist/api/ContextProvider.js +0 -40
  298. package/dist/api/codec.d.ts.map +0 -1
  299. package/dist/api/codec.js +0 -5
  300. package/dist/api/internal/RequestContextMiddleware.d.ts.map +0 -1
  301. package/dist/api/internal/RequestContextMiddleware.js +0 -46
  302. package/dist/api/internal/auth.d.ts.map +0 -1
  303. package/dist/api/internal/auth.js +0 -180
  304. package/dist/api/internal/events.d.ts.map +0 -1
  305. package/dist/api/internal/events.js +0 -49
  306. package/dist/api/internal/health.d.ts.map +0 -1
  307. package/dist/api/internal/health.js +0 -5
  308. package/dist/api/layerUtils.d.ts +0 -32
  309. package/dist/api/layerUtils.d.ts.map +0 -1
  310. package/dist/api/layerUtils.js +0 -17
  311. package/dist/api/middlewares.d.ts.map +0 -1
  312. package/dist/api/reportError.d.ts +0 -4
  313. package/dist/api/reportError.d.ts.map +0 -1
  314. package/dist/api/reportError.js +0 -28
  315. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +0 -1
  316. package/dist/api/routing/middleware/middleware.d.ts.map +0 -1
  317. package/dist/api/routing/middleware/middleware.js +0 -128
  318. package/dist/api/routing/middleware.d.ts.map +0 -1
  319. package/dist/api/routing/schema/jwt.d.ts.map +0 -1
  320. package/dist/api/routing/schema/jwt.js +0 -13
  321. package/dist/api/routing/tsort.d.ts +0 -8
  322. package/dist/api/routing/tsort.d.ts.map +0 -1
  323. package/dist/api/routing/tsort.js +0 -51
  324. package/dist/api/routing/utils.d.ts.map +0 -1
  325. package/dist/api/routing/utils.js +0 -45
  326. package/dist/api/routing.d.ts +0 -184
  327. package/dist/api/routing.d.ts.map +0 -1
  328. package/dist/api/setupRequest.d.ts.map +0 -1
  329. package/dist/api/setupRequest.js +0 -70
  330. package/dist/api/util.d.ts.map +0 -1
  331. package/dist/api/util.js +0 -14
  332. package/src/Emailer/service.ts +0 -62
  333. package/src/Emailer.ts +0 -1
  334. package/src/Model/Repository/Registry.ts +0 -34
  335. package/src/Model/Repository/ext.ts +0 -375
  336. package/src/Model/Repository/internal/internal.ts +0 -692
  337. package/src/Model/Repository/legacy.ts +0 -29
  338. package/src/Model/Repository/makeRepo.ts +0 -144
  339. package/src/Model/Repository/service.ts +0 -639
  340. package/src/Model/Repository/validation.ts +0 -31
  341. package/src/Model/Repository.ts +0 -6
  342. package/src/Model/dsl.ts +0 -129
  343. package/src/Model/filter/filterApi.ts +0 -60
  344. package/src/Model/filter/types/errors.ts +0 -47
  345. package/src/Model/filter/types/fields.ts +0 -50
  346. package/src/Model/filter/types/path/common.ts +0 -404
  347. package/src/Model/filter/types/path/eager.ts +0 -297
  348. package/src/Model/filter/types/path/index.ts +0 -4
  349. package/src/Model/filter/types/utils.ts +0 -128
  350. package/src/Model/filter/types/validator.ts +0 -46
  351. package/src/Model/filter/types.ts +0 -6
  352. package/src/Model/query/dsl.ts +0 -2546
  353. package/src/Model/query/new-kid-interpreter.ts +0 -484
  354. package/src/Model/query.ts +0 -13
  355. package/src/Model.ts +0 -4
  356. package/src/QueueMaker/service.ts +0 -19
  357. package/src/RequestContext.ts +0 -62
  358. package/src/Store/service.ts +0 -233
  359. package/src/Store.ts +0 -1
  360. package/src/adapters/index.ts +0 -7
  361. package/src/adapters/logger.ts +0 -3
  362. /package/src/{api/ContextProvider.ts → ContextProvider.ts} +0 -0
  363. /package/src/{adapters/SQL.ts → SQL.ts} +0 -0
  364. /package/src/{api/codec.ts → codec.ts} +0 -0
  365. /package/src/{adapters/cosmos-client.ts → cosmos-client.ts} +0 -0
  366. /package/src/{api/internal → internal}/auth.ts +0 -0
  367. /package/src/{api/internal → internal}/health.ts +0 -0
  368. /package/src/{adapters/memQueue.ts → memQueue.ts} +0 -0
  369. /package/src/{api/middlewares.ts → middlewares.ts} +0 -0
  370. /package/src/{adapters/mongo-client.ts → mongo-client.ts} +0 -0
  371. /package/src/{api/routing → routing}/middleware/RouterMiddleware.ts +0 -0
  372. /package/src/{api/routing → routing}/middleware.ts +0 -0
  373. /package/src/{api/routing → routing}/schema/jwt.ts +0 -0
  374. /package/src/{api/routing → routing}/tsort.ts +0 -0
  375. /package/src/{api/routing → routing}/utils.ts +0 -0
  376. /package/src/{api/routing.ts → routing.ts} +0 -0
  377. /package/src/{api/util.ts → util.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "4.0.0-beta.248",
3
+ "version": "4.0.0-beta.249",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -13,7 +13,7 @@
13
13
  "proper-lockfile": "^4.1.2",
14
14
  "pure-rand": "8.4.0",
15
15
  "query-string": "^9.3.1",
16
- "effect-app": "4.0.0-beta.248"
16
+ "effect-app": "4.0.0-beta.249"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@azure/cosmos": "^4.9.3",
@@ -64,9 +64,9 @@
64
64
  "types": "./dist/CUPS.d.ts",
65
65
  "default": "./dist/CUPS.js"
66
66
  },
67
- "./Emailer": {
68
- "types": "./dist/Emailer.d.ts",
69
- "default": "./dist/Emailer.js"
67
+ "./ContextProvider": {
68
+ "types": "./dist/ContextProvider.d.ts",
69
+ "default": "./dist/ContextProvider.js"
70
70
  },
71
71
  "./Emailer/Sendgrid": {
72
72
  "types": "./dist/Emailer/Sendgrid.d.ts",
@@ -76,98 +76,10 @@
76
76
  "types": "./dist/Emailer/fake.d.ts",
77
77
  "default": "./dist/Emailer/fake.js"
78
78
  },
79
- "./Emailer/service": {
80
- "types": "./dist/Emailer/service.d.ts",
81
- "default": "./dist/Emailer/service.js"
82
- },
83
79
  "./MainFiberSet": {
84
80
  "types": "./dist/MainFiberSet.d.ts",
85
81
  "default": "./dist/MainFiberSet.js"
86
82
  },
87
- "./Model": {
88
- "types": "./dist/Model.d.ts",
89
- "default": "./dist/Model.js"
90
- },
91
- "./Model/Repository": {
92
- "types": "./dist/Model/Repository.d.ts",
93
- "default": "./dist/Model/Repository.js"
94
- },
95
- "./Model/Repository/Registry": {
96
- "types": "./dist/Model/Repository/Registry.d.ts",
97
- "default": "./dist/Model/Repository/Registry.js"
98
- },
99
- "./Model/Repository/ext": {
100
- "types": "./dist/Model/Repository/ext.d.ts",
101
- "default": "./dist/Model/Repository/ext.js"
102
- },
103
- "./Model/Repository/legacy": {
104
- "types": "./dist/Model/Repository/legacy.d.ts",
105
- "default": "./dist/Model/Repository/legacy.js"
106
- },
107
- "./Model/Repository/makeRepo": {
108
- "types": "./dist/Model/Repository/makeRepo.d.ts",
109
- "default": "./dist/Model/Repository/makeRepo.js"
110
- },
111
- "./Model/Repository/service": {
112
- "types": "./dist/Model/Repository/service.d.ts",
113
- "default": "./dist/Model/Repository/service.js"
114
- },
115
- "./Model/Repository/validation": {
116
- "types": "./dist/Model/Repository/validation.d.ts",
117
- "default": "./dist/Model/Repository/validation.js"
118
- },
119
- "./Model/dsl": {
120
- "types": "./dist/Model/dsl.d.ts",
121
- "default": "./dist/Model/dsl.js"
122
- },
123
- "./Model/filter/filterApi": {
124
- "types": "./dist/Model/filter/filterApi.d.ts",
125
- "default": "./dist/Model/filter/filterApi.js"
126
- },
127
- "./Model/filter/types": {
128
- "types": "./dist/Model/filter/types.d.ts",
129
- "default": "./dist/Model/filter/types.js"
130
- },
131
- "./Model/filter/types/errors": {
132
- "types": "./dist/Model/filter/types/errors.d.ts",
133
- "default": "./dist/Model/filter/types/errors.js"
134
- },
135
- "./Model/filter/types/fields": {
136
- "types": "./dist/Model/filter/types/fields.d.ts",
137
- "default": "./dist/Model/filter/types/fields.js"
138
- },
139
- "./Model/filter/types/path/common": {
140
- "types": "./dist/Model/filter/types/path/common.d.ts",
141
- "default": "./dist/Model/filter/types/path/common.js"
142
- },
143
- "./Model/filter/types/path/eager": {
144
- "types": "./dist/Model/filter/types/path/eager.d.ts",
145
- "default": "./dist/Model/filter/types/path/eager.js"
146
- },
147
- "./Model/filter/types/path/index": {
148
- "types": "./dist/Model/filter/types/path/index.d.ts",
149
- "default": "./dist/Model/filter/types/path/index.js"
150
- },
151
- "./Model/filter/types/utils": {
152
- "types": "./dist/Model/filter/types/utils.d.ts",
153
- "default": "./dist/Model/filter/types/utils.js"
154
- },
155
- "./Model/filter/types/validator": {
156
- "types": "./dist/Model/filter/types/validator.d.ts",
157
- "default": "./dist/Model/filter/types/validator.js"
158
- },
159
- "./Model/query": {
160
- "types": "./dist/Model/query.d.ts",
161
- "default": "./dist/Model/query.js"
162
- },
163
- "./Model/query/dsl": {
164
- "types": "./dist/Model/query/dsl.d.ts",
165
- "default": "./dist/Model/query/dsl.js"
166
- },
167
- "./Model/query/new-kid-interpreter": {
168
- "types": "./dist/Model/query/new-kid-interpreter.d.ts",
169
- "default": "./dist/Model/query/new-kid-interpreter.js"
170
- },
171
83
  "./QueueMaker/SQLQueue": {
172
84
  "types": "./dist/QueueMaker/SQLQueue.d.ts",
173
85
  "default": "./dist/QueueMaker/SQLQueue.js"
@@ -184,21 +96,21 @@
184
96
  "types": "./dist/QueueMaker/sbqueue.d.ts",
185
97
  "default": "./dist/QueueMaker/sbqueue.js"
186
98
  },
187
- "./QueueMaker/service": {
188
- "types": "./dist/QueueMaker/service.d.ts",
189
- "default": "./dist/QueueMaker/service.js"
190
- },
191
- "./RequestContext": {
192
- "types": "./dist/RequestContext.d.ts",
193
- "default": "./dist/RequestContext.js"
194
- },
195
99
  "./RequestFiberSet": {
196
100
  "types": "./dist/RequestFiberSet.d.ts",
197
101
  "default": "./dist/RequestFiberSet.js"
198
102
  },
199
- "./Store": {
200
- "types": "./dist/Store.d.ts",
201
- "default": "./dist/Store.js"
103
+ "./SQL": {
104
+ "types": "./dist/SQL.d.ts",
105
+ "default": "./dist/SQL.js"
106
+ },
107
+ "./SQL/Model": {
108
+ "types": "./dist/SQL/Model.d.ts",
109
+ "default": "./dist/SQL/Model.js"
110
+ },
111
+ "./ServiceBus": {
112
+ "types": "./dist/ServiceBus.d.ts",
113
+ "default": "./dist/ServiceBus.js"
202
114
  },
203
115
  "./Store/ContextMapContainer": {
204
116
  "types": "./dist/Store/ContextMapContainer.d.ts",
@@ -240,110 +152,22 @@
240
152
  "types": "./dist/Store/index.d.ts",
241
153
  "default": "./dist/Store/index.js"
242
154
  },
243
- "./Store/service": {
244
- "types": "./dist/Store/service.d.ts",
245
- "default": "./dist/Store/service.js"
246
- },
247
155
  "./Store/utils": {
248
156
  "types": "./dist/Store/utils.d.ts",
249
157
  "default": "./dist/Store/utils.js"
250
158
  },
251
- "./adapters/SQL": {
252
- "types": "./dist/adapters/SQL.d.ts",
253
- "default": "./dist/adapters/SQL.js"
254
- },
255
- "./adapters/SQL/Model": {
256
- "types": "./dist/adapters/SQL/Model.d.ts",
257
- "default": "./dist/adapters/SQL/Model.js"
258
- },
259
- "./adapters/ServiceBus": {
260
- "types": "./dist/adapters/ServiceBus.d.ts",
261
- "default": "./dist/adapters/ServiceBus.js"
262
- },
263
- "./adapters/cosmos-client": {
264
- "types": "./dist/adapters/cosmos-client.d.ts",
265
- "default": "./dist/adapters/cosmos-client.js"
266
- },
267
- "./adapters/index": {
268
- "types": "./dist/adapters/index.d.ts",
269
- "default": "./dist/adapters/index.js"
270
- },
271
- "./adapters/logger": {
272
- "types": "./dist/adapters/logger.d.ts",
273
- "default": "./dist/adapters/logger.js"
274
- },
275
- "./adapters/memQueue": {
276
- "types": "./dist/adapters/memQueue.d.ts",
277
- "default": "./dist/adapters/memQueue.js"
278
- },
279
- "./adapters/mongo-client": {
280
- "types": "./dist/adapters/mongo-client.d.ts",
281
- "default": "./dist/adapters/mongo-client.js"
282
- },
283
- "./adapters/redis-client": {
284
- "types": "./dist/adapters/redis-client.d.ts",
285
- "default": "./dist/adapters/redis-client.js"
286
- },
287
- "./api/ContextProvider": {
288
- "types": "./dist/api/ContextProvider.d.ts",
289
- "default": "./dist/api/ContextProvider.js"
290
- },
291
- "./api/codec": {
292
- "types": "./dist/api/codec.d.ts",
293
- "default": "./dist/api/codec.js"
294
- },
295
- "./api/layerUtils": {
296
- "types": "./dist/api/layerUtils.d.ts",
297
- "default": "./dist/api/layerUtils.js"
298
- },
299
- "./api/middlewares": {
300
- "types": "./dist/api/middlewares.d.ts",
301
- "default": "./dist/api/middlewares.js"
302
- },
303
- "./api/reportError": {
304
- "types": "./dist/api/reportError.d.ts",
305
- "default": "./dist/api/reportError.js"
306
- },
307
- "./api/routing": {
308
- "types": "./dist/api/routing.d.ts",
309
- "default": "./dist/api/routing.js"
310
- },
311
- "./api/routing/middleware": {
312
- "types": "./dist/api/routing/middleware.d.ts",
313
- "default": "./dist/api/routing/middleware.js"
314
- },
315
- "./api/routing/middleware/RouterMiddleware": {
316
- "types": "./dist/api/routing/middleware/RouterMiddleware.d.ts",
317
- "default": "./dist/api/routing/middleware/RouterMiddleware.js"
318
- },
319
- "./api/routing/middleware/middleware": {
320
- "types": "./dist/api/routing/middleware/middleware.d.ts",
321
- "default": "./dist/api/routing/middleware/middleware.js"
322
- },
323
- "./api/routing/schema/jwt": {
324
- "types": "./dist/api/routing/schema/jwt.d.ts",
325
- "default": "./dist/api/routing/schema/jwt.js"
326
- },
327
- "./api/routing/tsort": {
328
- "types": "./dist/api/routing/tsort.d.ts",
329
- "default": "./dist/api/routing/tsort.js"
330
- },
331
- "./api/routing/utils": {
332
- "types": "./dist/api/routing/utils.d.ts",
333
- "default": "./dist/api/routing/utils.js"
334
- },
335
- "./api/setupRequest": {
336
- "types": "./dist/api/setupRequest.d.ts",
337
- "default": "./dist/api/setupRequest.js"
338
- },
339
- "./api/util": {
340
- "types": "./dist/api/util.d.ts",
341
- "default": "./dist/api/util.js"
342
- },
343
159
  "./arbs": {
344
160
  "types": "./dist/arbs.d.ts",
345
161
  "default": "./dist/arbs.js"
346
162
  },
163
+ "./codec": {
164
+ "types": "./dist/codec.d.ts",
165
+ "default": "./dist/codec.js"
166
+ },
167
+ "./cosmos-client": {
168
+ "types": "./dist/cosmos-client.d.ts",
169
+ "default": "./dist/cosmos-client.js"
170
+ },
347
171
  "./errorReporter": {
348
172
  "types": "./dist/errorReporter.d.ts",
349
173
  "default": "./dist/errorReporter.js"
@@ -356,6 +180,10 @@
356
180
  "types": "./dist/fileUtil.d.ts",
357
181
  "default": "./dist/fileUtil.js"
358
182
  },
183
+ "./layerUtils": {
184
+ "types": "./dist/layerUtils.d.ts",
185
+ "default": "./dist/layerUtils.js"
186
+ },
359
187
  "./logger": {
360
188
  "types": "./dist/logger.d.ts",
361
189
  "default": "./dist/logger.js"
@@ -372,6 +200,18 @@
372
200
  "types": "./dist/logger/shared.d.ts",
373
201
  "default": "./dist/logger/shared.js"
374
202
  },
203
+ "./memQueue": {
204
+ "types": "./dist/memQueue.d.ts",
205
+ "default": "./dist/memQueue.js"
206
+ },
207
+ "./middlewares": {
208
+ "types": "./dist/middlewares.d.ts",
209
+ "default": "./dist/middlewares.js"
210
+ },
211
+ "./mongo-client": {
212
+ "types": "./dist/mongo-client.d.ts",
213
+ "default": "./dist/mongo-client.js"
214
+ },
375
215
  "./otel": {
376
216
  "types": "./dist/otel.d.ts",
377
217
  "default": "./dist/otel.js"
@@ -380,10 +220,54 @@
380
220
  "types": "./dist/rateLimit.d.ts",
381
221
  "default": "./dist/rateLimit.js"
382
222
  },
223
+ "./redis-client": {
224
+ "types": "./dist/redis-client.d.ts",
225
+ "default": "./dist/redis-client.js"
226
+ },
227
+ "./reportError": {
228
+ "types": "./dist/reportError.d.ts",
229
+ "default": "./dist/reportError.js"
230
+ },
231
+ "./routing": {
232
+ "types": "./dist/routing.d.ts",
233
+ "default": "./dist/routing.js"
234
+ },
235
+ "./routing/middleware": {
236
+ "types": "./dist/routing/middleware.d.ts",
237
+ "default": "./dist/routing/middleware.js"
238
+ },
239
+ "./routing/middleware/RouterMiddleware": {
240
+ "types": "./dist/routing/middleware/RouterMiddleware.d.ts",
241
+ "default": "./dist/routing/middleware/RouterMiddleware.js"
242
+ },
243
+ "./routing/middleware/middleware": {
244
+ "types": "./dist/routing/middleware/middleware.d.ts",
245
+ "default": "./dist/routing/middleware/middleware.js"
246
+ },
247
+ "./routing/schema/jwt": {
248
+ "types": "./dist/routing/schema/jwt.d.ts",
249
+ "default": "./dist/routing/schema/jwt.js"
250
+ },
251
+ "./routing/tsort": {
252
+ "types": "./dist/routing/tsort.d.ts",
253
+ "default": "./dist/routing/tsort.js"
254
+ },
255
+ "./routing/utils": {
256
+ "types": "./dist/routing/utils.d.ts",
257
+ "default": "./dist/routing/utils.js"
258
+ },
259
+ "./setupRequest": {
260
+ "types": "./dist/setupRequest.d.ts",
261
+ "default": "./dist/setupRequest.js"
262
+ },
383
263
  "./test": {
384
264
  "types": "./dist/test.d.ts",
385
265
  "default": "./dist/test.js"
386
266
  },
267
+ "./util": {
268
+ "types": "./dist/util.d.ts",
269
+ "default": "./dist/util.js"
270
+ },
387
271
  "./vitest": {
388
272
  "types": "./dist/vitest.d.ts",
389
273
  "default": "./dist/vitest.js"
@@ -1,14 +1,28 @@
1
- import type { EmailData } from "@sendgrid/helpers/classes/email-address.js"
2
1
  import type { MailContent } from "@sendgrid/helpers/classes/mail.js"
3
2
  import sgMail from "@sendgrid/mail"
4
3
  import * as Array from "effect-app/Array"
5
4
  import * as Effect from "effect-app/Effect"
5
+ import { type EmailData, Emailer, type EmailMsg, type EmailMsgOptionalFrom, SendMailError } from "effect-app/Emailer"
6
6
  import { dropUndefinedT } from "effect-app/utils"
7
7
  import * as Equivalence from "effect/Equivalence"
8
8
  import * as Redacted from "effect/Redacted"
9
9
  import { inspect } from "util"
10
10
  import { InfraLogger } from "../logger.js"
11
- import { Emailer, type EmailMsg, type EmailMsgOptionalFrom, type SendgridConfig, SendMailError } from "./service.js"
11
+
12
+ export interface SendgridConfig {
13
+ defaultReplyTo?: EmailData
14
+ subjectPrefix: string
15
+ realMail: boolean
16
+ defaultFrom: EmailData
17
+ apiKey: Redacted.Redacted
18
+ /**
19
+ * Email address used for fake/test recipients. Use `{i}` as a placeholder for
20
+ * an auto-incrementing index to ensure uniqueness.
21
+ *
22
+ * @example "test+{i}@example.com"
23
+ */
24
+ fakeMailAddress: string
25
+ }
12
26
 
13
27
  const makeSendgrid = (
14
28
  { apiKey, defaultFrom, defaultReplyTo, fakeMailAddress, realMail, subjectPrefix }: SendgridConfig
@@ -19,11 +33,12 @@ const makeSendgrid = (
19
33
  return Emailer.of({
20
34
  sendMail: Effect.fn("Emailer.sendMail", { attributes: { "messaging.system": "sendgrid" } })(
21
35
  function*(msg_: EmailMsgOptionalFrom) {
22
- const msg: EmailMsg = dropUndefinedT({
36
+ const replyTo = msg_.replyTo ?? (msg_.from ? undefined : defaultReplyTo)
37
+ const msg = dropUndefinedT({
23
38
  ...msg_,
24
39
  from: msg_.from ?? defaultFrom,
25
- replyTo: msg_.replyTo ?? (msg_.from ? undefined : defaultReplyTo)
26
- })
40
+ replyTo
41
+ }) satisfies EmailMsg
27
42
  const render = renderMessage(!realMail, fakeMailAddress)
28
43
 
29
44
  const renderedMsg_ = render(msg)
@@ -1,7 +1,7 @@
1
1
  import * as Effect from "effect-app/Effect"
2
+ import { Emailer } from "effect-app/Emailer"
2
3
  import { pretty } from "effect-app/utils"
3
4
  import { InfraLogger } from "../logger.js"
4
- import { Emailer } from "./service.js"
5
5
 
6
6
  const makeFake = InfraLogger
7
7
  .logInfo("FAKE Emailer Service enabled")
@@ -1,19 +1,19 @@
1
- import { getRequestContext, setupRequestContextWithCustomSpan } from "@effect-app/infra/api/setupRequest"
2
1
  import { reportNonInterruptedFailure } from "@effect-app/infra/QueueMaker/errors"
3
- import { type QueueBase, QueueMeta } from "@effect-app/infra/QueueMaker/service"
2
+ import { getRequestContext, setupRequestContextWithCustomSpan } from "@effect-app/infra/setupRequest"
4
3
  import { subMinutes } from "date-fns"
5
4
  import type { NonEmptyReadonlyArray } from "effect-app/Array"
6
5
  import * as Effect from "effect-app/Effect"
7
6
  import * as Option from "effect-app/Option"
7
+ import { type QueueBase, QueueMeta } from "effect-app/QueueMaker"
8
8
  import * as S from "effect-app/Schema"
9
9
  import { type NonEmptyString255 } from "effect-app/Schema"
10
10
  import { pretty } from "effect-app/utils"
11
11
  import * as Fiber from "effect/Fiber"
12
12
  import * as Tracer from "effect/Tracer"
13
13
  import { SqlClient } from "effect/unstable/sql"
14
- import { SQLModel } from "../adapters/SQL.js"
15
14
  import { InfraLogger } from "../logger.js"
16
15
  import { messagingSpanArgs } from "../otel.js"
16
+ import { SQLModel } from "../SQL.js"
17
17
 
18
18
  export const QueueId = S.Finite.pipe(S.brand("QueueId"))
19
19
  export type QueueId = typeof QueueId.Type
@@ -1,5 +1,6 @@
1
1
  import type { NonEmptyReadonlyArray } from "effect-app/Array"
2
2
  import * as Effect from "effect-app/Effect"
3
+ import { QueueMeta } from "effect-app/QueueMaker"
3
4
  import * as S from "effect-app/Schema"
4
5
  import { pretty } from "effect-app/utils"
5
6
  import * as Cause from "effect/Cause"
@@ -7,12 +8,11 @@ import * as Fiber from "effect/Fiber"
7
8
  import { flow } from "effect/Function"
8
9
  import * as Q from "effect/Queue"
9
10
  import * as Tracer from "effect/Tracer"
10
- import { MemQueue } from "../adapters/memQueue.js"
11
- import { getRequestContext, setupRequestContextWithCustomSpan } from "../api/setupRequest.js"
12
11
  import { InfraLogger } from "../logger.js"
12
+ import { MemQueue } from "../memQueue.js"
13
13
  import { messagingSpanArgs } from "../otel.js"
14
+ import { getRequestContext, setupRequestContextWithCustomSpan } from "../setupRequest.js"
14
15
  import { reportNonInterruptedFailure, reportNonInterruptedFailureCause } from "./errors.js"
15
- import { QueueMeta } from "./service.js"
16
16
 
17
17
  export const makeMemQueue = Effect.fnUntraced(function*<
18
18
  Evt extends { id: S.StringId; _tag: string },
@@ -1,17 +1,17 @@
1
1
  import type { NonEmptyReadonlyArray } from "effect-app/Array"
2
2
  import * as Effect from "effect-app/Effect"
3
+ import { QueueMeta } from "effect-app/QueueMaker"
3
4
  import * as S from "effect-app/Schema"
4
5
  import type { StringId } from "effect-app/Schema"
5
6
  import { pretty } from "effect-app/utils"
6
7
  import * as Cause from "effect/Cause"
7
8
  import { flow } from "effect/Function"
8
9
  import * as Tracer from "effect/Tracer"
9
- import { Receiver, Sender } from "../adapters/ServiceBus.js"
10
- import { getRequestContext, setupRequestContextWithCustomSpan } from "../api/setupRequest.js"
11
10
  import { InfraLogger } from "../logger.js"
12
11
  import { messagingSpanArgs } from "../otel.js"
12
+ import { Receiver, Sender } from "../ServiceBus.js"
13
+ import { getRequestContext, setupRequestContextWithCustomSpan } from "../setupRequest.js"
13
14
  import { reportNonInterruptedFailure, reportNonInterruptedFailureCause, reportQueueError } from "./errors.js"
14
- import { QueueMeta } from "./service.js"
15
15
 
16
16
  export function makeServiceBusQueue<
17
17
  Evt extends { id: StringId; _tag: string },
@@ -6,8 +6,8 @@ import * as Option from "effect-app/Option"
6
6
  import * as Fiber from "effect/Fiber"
7
7
  import * as FiberSet from "effect/FiberSet"
8
8
  import type * as Tracer from "effect/Tracer"
9
- import { reportRequestError, reportUnknownRequestError } from "./api/reportError.js"
10
9
  import { InfraLogger } from "./logger.js"
10
+ import { reportRequestError, reportUnknownRequestError } from "./reportError.js"
11
11
 
12
12
  const getRootParentSpan = Effect.gen(function*() {
13
13
  let span: Tracer.AnySpan | null = yield* Effect.currentSpan.pipe(
@@ -24,7 +24,7 @@ import * as VariantSchema from "effect/unstable/schema/VariantSchema"
24
24
  import { SqlClient } from "effect/unstable/sql/SqlClient"
25
25
  import * as SqlResolver from "effect/unstable/sql/SqlResolver"
26
26
  import * as SqlSchema from "effect/unstable/sql/SqlSchema"
27
- import { type DbSystem, withDbSpan } from "../../otel.js"
27
+ import { type DbSystem, withDbSpan } from "../otel.js"
28
28
 
29
29
  const {
30
30
  Class,
@@ -7,7 +7,7 @@ import * as Cause from "effect/Cause"
7
7
  import * as Exit from "effect/Exit"
8
8
  import * as FiberSet from "effect/FiberSet"
9
9
  import type * as Scope from "effect/Scope"
10
- import { InfraLogger } from "../logger.js"
10
+ import { InfraLogger } from "./logger.js"
11
11
 
12
12
  const logged = (name: string) => <A, E, R>(self: Effect.Effect<A, E, R>) =>
13
13
  Effect.logInfo(name).pipe(
@@ -1,8 +1,8 @@
1
1
  import * as Context from "effect-app/Context"
2
2
  import * as Effect from "effect-app/Effect"
3
3
  import * as Layer from "effect-app/Layer"
4
+ import { ContextMap } from "effect-app/Store"
4
5
  import * as Data from "effect/Data"
5
- import { ContextMap } from "./service.js"
6
6
 
7
7
  // TODO: we have to create a new contextmap on every request.
8
8
  // we want to share one map during startup
@@ -3,12 +3,12 @@
3
3
  import * as Array from "effect-app/Array"
4
4
  import type { NonEmptyReadonlyArray } from "effect-app/Array"
5
5
  import * as Effect from "effect-app/Effect"
6
+ import type { FilterR, FilterResult, Ops } from "effect-app/Model/filter/filterApi"
7
+ import type { AggregateIrExpression, ComputedProjectionIrExpression, ComputedProjectionMathIrExpression } from "effect-app/Model/query"
8
+ import type { SupportedValues } from "effect-app/Store"
6
9
  import { assertUnreachable } from "effect-app/utils"
7
10
  import { InfraLogger } from "../../logger.js"
8
- import type { FilterR, FilterResult, Ops } from "../../Model/filter/filterApi.js"
9
- import type { AggregateIrExpression, ComputedProjectionIrExpression, ComputedProjectionMathIrExpression } from "../../Model/query.js"
10
11
  import { isRelationCheck } from "../codeFilter.js"
11
- import type { SupportedValues } from "../service.js"
12
12
 
13
13
  export function logQuery(q: {
14
14
  query: string
@@ -5,21 +5,21 @@ import type { NonEmptyReadonlyArray } from "effect-app/Array"
5
5
  import { toNonEmptyArray } from "effect-app/Array"
6
6
  import * as Effect from "effect-app/Effect"
7
7
  import * as Layer from "effect-app/Layer"
8
+ import type { FieldValues } from "effect-app/Model/filter/types"
9
+ import { type ComputedProjectionIrExpression, type RawQuery } from "effect-app/Model/query"
8
10
  import * as Option from "effect-app/Option"
11
+ import { type FilterArgs, type PersistenceModelType, type StorageConfig, type Store, type StoreConfig, StoreMaker } from "effect-app/Store"
9
12
  import { dropUndefinedT, mutable } from "effect-app/utils"
10
13
  import * as Duration from "effect/Duration"
11
14
  import { pipe } from "effect/Function"
12
15
  import * as Redacted from "effect/Redacted"
13
16
  import * as Struct from "effect/Struct"
14
- import { CosmosClient, CosmosClientLayer } from "../adapters/cosmos-client.js"
17
+ import { CosmosClient, CosmosClientLayer } from "../cosmos-client.js"
15
18
  import { OptimisticConcurrencyException } from "../errors.js"
16
19
  import { InfraLogger } from "../logger.js"
17
- import type { FieldValues } from "../Model/filter/types.js"
18
- import { type ComputedProjectionIrExpression, type RawQuery } from "../Model/query.js"
19
20
  import { annotateCosmosResponse, annotateDb } from "../otel.js"
20
21
  import { buildWhereCosmosQuery3, logQuery } from "./Cosmos/query.js"
21
22
  import { storeId } from "./Memory.js"
22
- import { type FilterArgs, type PersistenceModelType, type StorageConfig, type Store, type StoreConfig, StoreMaker } from "./service.js"
23
23
 
24
24
  const makeMapId =
25
25
  <IdKey extends keyof Encoded, Encoded extends FieldValues>(idKey: IdKey) => ({ [idKey]: id, ...e }: Encoded) => ({
package/src/Store/Disk.ts CHANGED
@@ -4,13 +4,13 @@ import * as fu from "../fileUtil.js"
4
4
  import fs from "fs"
5
5
 
6
6
  import * as Effect from "effect-app/Effect"
7
+ import type { FieldValues } from "effect-app/Model/filter/types"
8
+ import { type PersistenceModelType, type StorageConfig, type Store, type StoreConfig, StoreMaker } from "effect-app/Store"
7
9
  import * as Console from "effect/Console"
8
10
  import { flow } from "effect/Function"
9
11
  import * as Semaphore from "effect/Semaphore"
10
- import type { FieldValues } from "../Model/filter/types.js"
11
12
  import { annotateDb } from "../otel.js"
12
13
  import { makeMemoryStoreInt, storeId } from "./Memory.js"
13
- import { type PersistenceModelType, type StorageConfig, type Store, type StoreConfig, StoreMaker } from "./service.js"
14
14
 
15
15
  function makeDiskStoreInt<IdKey extends keyof Encoded, Encoded extends FieldValues, R, E>(
16
16
  prefix: string,
@@ -4,8 +4,12 @@ import * as Array from "effect-app/Array"
4
4
  import type { NonEmptyReadonlyArray } from "effect-app/Array"
5
5
  import * as Context from "effect-app/Context"
6
6
  import * as Effect from "effect-app/Effect"
7
+ import type { FilterResult } from "effect-app/Model/filter/filterApi"
8
+ import type { FieldValues } from "effect-app/Model/filter/types"
9
+ import type { AggregateIrExpression, ComputedProjectionIrExpression, ComputedProjectionMathIrExpression } from "effect-app/Model/query"
7
10
  import * as Option from "effect-app/Option"
8
11
  import { NonEmptyString255 } from "effect-app/Schema"
12
+ import { type FilterArgs, type PersistenceModelType, type Store, type StoreConfig, StoreMaker } from "effect-app/Store"
9
13
  import { assertUnreachable } from "effect-app/utils"
10
14
  import { flow, pipe } from "effect/Function"
11
15
  import * as Order from "effect/Order"
@@ -14,12 +18,8 @@ import * as Result from "effect/Result"
14
18
  import * as Semaphore from "effect/Semaphore"
15
19
  import * as Struct from "effect/Struct"
16
20
  import { InfraLogger } from "../logger.js"
17
- import type { FilterResult } from "../Model/filter/filterApi.js"
18
- import type { FieldValues } from "../Model/filter/types.js"
19
- import type { AggregateIrExpression, ComputedProjectionIrExpression, ComputedProjectionMathIrExpression } from "../Model/query.js"
20
21
  import { annotateDb } from "../otel.js"
21
22
  import { codeFilter, codeFilter3_ } from "./codeFilter.js"
22
- import { type FilterArgs, type PersistenceModelType, type Store, type StoreConfig, StoreMaker } from "./service.js"
23
23
  import { makeUpdateETag } from "./utils.js"
24
24
 
25
25
  /** Traverse an object by a dot-separated path string, e.g. `"a.b.c"`. */
@@ -3,16 +3,16 @@
3
3
  import type { NonEmptyReadonlyArray } from "effect-app/Array"
4
4
  import { toNonEmptyArray } from "effect-app/Array"
5
5
  import * as Effect from "effect-app/Effect"
6
+ import type { FieldValues } from "effect-app/Model/filter/types"
7
+ import type { ComputedProjectionIrExpression } from "effect-app/Model/query"
6
8
  import * as Option from "effect-app/Option"
9
+ import { type FilterArgs, type PersistenceModelType, type StorageConfig, type Store, type StoreConfig, StoreMaker } from "effect-app/Store"
7
10
  import * as Struct from "effect/Struct"
8
11
  import { SqlClient } from "effect/unstable/sql"
9
12
  import { OptimisticConcurrencyException } from "../../errors.js"
10
13
  import { InfraLogger } from "../../logger.js"
11
- import type { FieldValues } from "../../Model/filter/types.js"
12
- import type { ComputedProjectionIrExpression } from "../../Model/query.js"
13
14
  import { annotateDb } from "../../otel.js"
14
15
  import { storeId } from "../Memory.js"
15
- import { type FilterArgs, type PersistenceModelType, type StorageConfig, type Store, type StoreConfig, StoreMaker } from "../service.js"
16
16
  import { makeETag } from "../utils.js"
17
17
  import { buildWhereSQLQuery, logQuery, pgDialect } from "./query.js"
18
18
 
@@ -1,10 +1,10 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import type { NonEmptyReadonlyArray } from "effect-app/Array"
3
3
  import * as Effect from "effect-app/Effect"
4
+ import type { FilterR, FilterResult } from "effect-app/Model/filter/filterApi"
5
+ import type { AggregateIrExpression, ComputedProjectionIrExpression, ComputedProjectionMathIrExpression } from "effect-app/Model/query"
4
6
  import { assertUnreachable } from "effect-app/utils"
5
7
  import { InfraLogger } from "../../logger.js"
6
- import type { FilterR, FilterResult } from "../../Model/filter/filterApi.js"
7
- import type { AggregateIrExpression, ComputedProjectionIrExpression, ComputedProjectionMathIrExpression } from "../../Model/query.js"
8
8
  import { isRelationCheck } from "../codeFilter.js"
9
9
 
10
10
  export interface SQLDialect {