@effect-app/infra 4.0.0-beta.26 → 4.0.0-beta.260

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 (503) hide show
  1. package/CHANGELOG.md +1966 -0
  2. package/_check.sh +1 -1
  3. package/dist/CUPS.d.ts +30 -11
  4. package/dist/CUPS.d.ts.map +1 -1
  5. package/dist/CUPS.js +35 -14
  6. package/dist/ClusterCosmos.d.ts +64 -0
  7. package/dist/ClusterCosmos.d.ts.map +1 -0
  8. package/dist/ClusterCosmos.js +487 -0
  9. package/dist/ClusterServiceBus.d.ts +67 -0
  10. package/dist/ClusterServiceBus.d.ts.map +1 -0
  11. package/dist/ClusterServiceBus.js +82 -0
  12. package/dist/ContextProvider.d.ts +34 -0
  13. package/dist/ContextProvider.d.ts.map +1 -0
  14. package/dist/ContextProvider.js +40 -0
  15. package/dist/Emailer/Sendgrid.d.ts +111 -147
  16. package/dist/Emailer/Sendgrid.d.ts.map +1 -1
  17. package/dist/Emailer/Sendgrid.js +24 -19
  18. package/dist/Emailer/fake.d.ts +2 -2
  19. package/dist/Emailer/fake.d.ts.map +1 -1
  20. package/dist/Emailer/fake.js +4 -4
  21. package/dist/MainFiberSet.d.ts +12 -9
  22. package/dist/MainFiberSet.d.ts.map +1 -1
  23. package/dist/MainFiberSet.js +10 -6
  24. package/dist/QueueMaker/SQLQueue.d.ts +8 -9
  25. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  26. package/dist/QueueMaker/SQLQueue.js +138 -120
  27. package/dist/QueueMaker/errors.d.ts +5 -3
  28. package/dist/QueueMaker/errors.d.ts.map +1 -1
  29. package/dist/QueueMaker/errors.js +4 -2
  30. package/dist/QueueMaker/memQueue.d.ts +10 -6
  31. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  32. package/dist/QueueMaker/memQueue.js +84 -68
  33. package/dist/QueueMaker/sbqueue.d.ts +9 -5
  34. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  35. package/dist/QueueMaker/sbqueue.js +60 -58
  36. package/dist/RequestFiberSet.d.ts +10 -7
  37. package/dist/RequestFiberSet.d.ts.map +1 -1
  38. package/dist/RequestFiberSet.js +13 -8
  39. package/dist/SQL/Model.d.ts +468 -0
  40. package/dist/SQL/Model.d.ts.map +1 -0
  41. package/dist/SQL/Model.js +469 -0
  42. package/dist/SQL.d.ts +2 -0
  43. package/dist/SQL.d.ts.map +1 -0
  44. package/dist/{adapters/SQL.js → SQL.js} +1 -1
  45. package/dist/ServiceBus.d.ts +61 -0
  46. package/dist/ServiceBus.d.ts.map +1 -0
  47. package/dist/ServiceBus.js +108 -0
  48. package/dist/Store/Cosmos/query.d.ts +15 -4
  49. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  50. package/dist/Store/Cosmos/query.js +179 -41
  51. package/dist/Store/Cosmos.d.ts +3 -3
  52. package/dist/Store/Cosmos.d.ts.map +1 -1
  53. package/dist/Store/Cosmos.js +344 -246
  54. package/dist/Store/Disk.d.ts +5 -5
  55. package/dist/Store/Disk.d.ts.map +1 -1
  56. package/dist/Store/Disk.js +78 -38
  57. package/dist/Store/Memory.d.ts +7 -10
  58. package/dist/Store/Memory.d.ts.map +1 -1
  59. package/dist/Store/Memory.js +326 -66
  60. package/dist/Store/SQL/Pg.d.ts +4 -0
  61. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  62. package/dist/Store/SQL/Pg.js +232 -0
  63. package/dist/Store/SQL/query.d.ts +49 -0
  64. package/dist/Store/SQL/query.d.ts.map +1 -0
  65. package/dist/Store/SQL/query.js +527 -0
  66. package/dist/Store/SQL.d.ts +21 -0
  67. package/dist/Store/SQL.d.ts.map +1 -0
  68. package/dist/Store/SQL.js +449 -0
  69. package/dist/Store/codeFilter.d.ts +5 -5
  70. package/dist/Store/codeFilter.d.ts.map +1 -1
  71. package/dist/Store/codeFilter.js +6 -3
  72. package/dist/Store/index.d.ts +7 -5
  73. package/dist/Store/index.d.ts.map +1 -1
  74. package/dist/Store/index.js +18 -5
  75. package/dist/Store/utils.d.ts +4 -3
  76. package/dist/Store/utils.d.ts.map +1 -1
  77. package/dist/Store/utils.js +5 -5
  78. package/dist/WorkflowEngineCosmos.d.ts +29 -0
  79. package/dist/WorkflowEngineCosmos.d.ts.map +1 -0
  80. package/dist/WorkflowEngineCosmos.js +521 -0
  81. package/dist/WorkflowEngineSqlite.d.ts +24 -0
  82. package/dist/WorkflowEngineSqlite.d.ts.map +1 -0
  83. package/dist/WorkflowEngineSqlite.js +550 -0
  84. package/dist/arbs.d.ts +2 -2
  85. package/dist/arbs.d.ts.map +1 -1
  86. package/dist/arbs.js +5 -3
  87. package/dist/codec.d.ts +5 -0
  88. package/dist/codec.d.ts.map +1 -0
  89. package/dist/codec.js +5 -0
  90. package/dist/cosmos-client.d.ts +16 -0
  91. package/dist/cosmos-client.d.ts.map +1 -0
  92. package/dist/cosmos-client.js +11 -0
  93. package/dist/errorReporter.d.ts +7 -5
  94. package/dist/errorReporter.d.ts.map +1 -1
  95. package/dist/errorReporter.js +23 -27
  96. package/dist/errors.d.ts +1 -1
  97. package/dist/fileUtil.d.ts +2 -2
  98. package/dist/fileUtil.d.ts.map +1 -1
  99. package/dist/fileUtil.js +2 -2
  100. package/dist/index.d.ts +3 -2
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +3 -2
  103. package/dist/internal/RequestContextMiddleware.d.ts +5 -0
  104. package/dist/internal/RequestContextMiddleware.d.ts.map +1 -0
  105. package/dist/internal/RequestContextMiddleware.js +45 -0
  106. package/dist/internal/auth.d.ts +53 -0
  107. package/dist/internal/auth.d.ts.map +1 -0
  108. package/dist/internal/auth.js +180 -0
  109. package/dist/internal/events.d.ts +11 -0
  110. package/dist/internal/events.d.ts.map +1 -0
  111. package/dist/internal/events.js +49 -0
  112. package/dist/internal/health.d.ts +3 -0
  113. package/dist/internal/health.d.ts.map +1 -0
  114. package/dist/internal/health.js +5 -0
  115. package/dist/layerUtils.d.ts +32 -0
  116. package/dist/layerUtils.d.ts.map +1 -0
  117. package/dist/layerUtils.js +17 -0
  118. package/dist/logger/jsonLogger.d.ts +2 -2
  119. package/dist/logger/jsonLogger.d.ts.map +1 -1
  120. package/dist/logger/jsonLogger.js +5 -3
  121. package/dist/logger/logFmtLogger.d.ts +2 -2
  122. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  123. package/dist/logger/logFmtLogger.js +3 -3
  124. package/dist/logger/shared.d.ts +3 -3
  125. package/dist/logger/shared.d.ts.map +1 -1
  126. package/dist/logger/shared.js +5 -5
  127. package/dist/logger.d.ts +1 -1
  128. package/dist/logger.d.ts.map +1 -1
  129. package/dist/memQueue.d.ts +15 -0
  130. package/dist/memQueue.d.ts.map +1 -0
  131. package/dist/memQueue.js +21 -0
  132. package/dist/middlewares.d.ts +10 -0
  133. package/dist/middlewares.d.ts.map +1 -0
  134. package/dist/{api/middlewares.js → middlewares.js} +1 -1
  135. package/dist/mongo-client.d.ts +11 -0
  136. package/dist/mongo-client.d.ts.map +1 -0
  137. package/dist/mongo-client.js +15 -0
  138. package/dist/otel.d.ts +75 -0
  139. package/dist/otel.d.ts.map +1 -0
  140. package/dist/otel.js +65 -0
  141. package/dist/rateLimit.d.ts +12 -4
  142. package/dist/rateLimit.d.ts.map +1 -1
  143. package/dist/rateLimit.js +7 -12
  144. package/dist/redis-client.d.ts +42 -0
  145. package/dist/redis-client.d.ts.map +1 -0
  146. package/dist/redis-client.js +98 -0
  147. package/dist/reportError.d.ts +4 -0
  148. package/dist/reportError.d.ts.map +1 -0
  149. package/dist/reportError.js +28 -0
  150. package/dist/routing/middleware/RouterMiddleware.d.ts +16 -0
  151. package/dist/routing/middleware/RouterMiddleware.d.ts.map +1 -0
  152. package/dist/{api/routing → routing}/middleware/RouterMiddleware.js +1 -1
  153. package/dist/routing/middleware/middleware.d.ts +48 -0
  154. package/dist/routing/middleware/middleware.d.ts.map +1 -0
  155. package/dist/routing/middleware/middleware.js +128 -0
  156. package/dist/routing/middleware.d.ts +3 -0
  157. package/dist/routing/middleware.d.ts.map +1 -0
  158. package/dist/{api/routing → routing}/middleware.js +1 -2
  159. package/dist/routing/schema/jwt.d.ts +4 -0
  160. package/dist/routing/schema/jwt.d.ts.map +1 -0
  161. package/dist/routing/schema/jwt.js +13 -0
  162. package/dist/routing/tsort.d.ts +8 -0
  163. package/dist/routing/tsort.d.ts.map +1 -0
  164. package/dist/routing/tsort.js +51 -0
  165. package/dist/routing/utils.d.ts +19 -0
  166. package/dist/routing/utils.d.ts.map +1 -0
  167. package/dist/routing/utils.js +45 -0
  168. package/dist/routing.d.ts +184 -0
  169. package/dist/routing.d.ts.map +1 -0
  170. package/dist/routing.js +236 -0
  171. package/dist/test.d.ts +3 -3
  172. package/dist/test.d.ts.map +1 -1
  173. package/dist/test.js +2 -2
  174. package/dist/util.d.ts +3 -0
  175. package/dist/util.d.ts.map +1 -0
  176. package/dist/util.js +14 -0
  177. package/dist/vitest.d.ts +1 -1
  178. package/docs/cluster-storage.md +26 -0
  179. package/docs/workflow-engine.md +262 -0
  180. package/examples/query.ts +47 -39
  181. package/package.json +31 -345
  182. package/run.sh +1 -0
  183. package/src/CUPS.ts +52 -13
  184. package/src/ClusterCosmos.ts +954 -0
  185. package/src/ClusterServiceBus.ts +242 -0
  186. package/src/{api/ContextProvider.ts → ContextProvider.ts} +19 -16
  187. package/src/Emailer/Sendgrid.ts +82 -59
  188. package/src/Emailer/fake.ts +3 -3
  189. package/src/MainFiberSet.ts +12 -10
  190. package/src/QueueMaker/SQLQueue.ts +153 -156
  191. package/src/QueueMaker/errors.ts +3 -1
  192. package/src/QueueMaker/memQueue.ts +113 -107
  193. package/src/QueueMaker/sbqueue.ts +78 -90
  194. package/src/RequestFiberSet.ts +13 -8
  195. package/src/{adapters/SQL → SQL}/Model.ts +42 -41
  196. package/src/ServiceBus.ts +219 -0
  197. package/src/Store/Cosmos/query.ts +216 -52
  198. package/src/Store/Cosmos.ts +493 -353
  199. package/src/Store/Disk.ts +109 -69
  200. package/src/Store/Memory.ts +365 -96
  201. package/src/Store/SQL/Pg.ts +363 -0
  202. package/src/Store/SQL/query.ts +603 -0
  203. package/src/Store/SQL.ts +735 -0
  204. package/src/Store/codeFilter.ts +8 -5
  205. package/src/Store/index.ts +21 -6
  206. package/src/Store/utils.ts +26 -24
  207. package/src/WorkflowEngineCosmos.ts +719 -0
  208. package/src/WorkflowEngineSqlite.ts +813 -0
  209. package/src/arbs.ts +5 -3
  210. package/src/{adapters/cosmos-client.ts → cosmos-client.ts} +5 -3
  211. package/src/errorReporter.ts +66 -76
  212. package/src/fileUtil.ts +1 -1
  213. package/src/index.ts +2 -1
  214. package/src/{api/internal → internal}/RequestContextMiddleware.ts +23 -6
  215. package/src/internal/auth.ts +272 -0
  216. package/src/{api/internal → internal}/events.ts +22 -13
  217. package/src/{api/layerUtils.ts → layerUtils.ts} +14 -10
  218. package/src/logger/jsonLogger.ts +4 -2
  219. package/src/logger/logFmtLogger.ts +2 -2
  220. package/src/logger/shared.ts +5 -4
  221. package/src/{adapters/memQueue.ts → memQueue.ts} +5 -4
  222. package/src/{adapters/mongo-client.ts → mongo-client.ts} +4 -2
  223. package/src/otel.ts +152 -0
  224. package/src/rateLimit.ts +34 -23
  225. package/src/{adapters/redis-client.ts → redis-client.ts} +7 -3
  226. package/src/{api/reportError.ts → reportError.ts} +3 -2
  227. package/src/{api/routing → routing}/middleware/RouterMiddleware.ts +5 -4
  228. package/src/{api/routing → routing}/middleware/middleware.ts +62 -17
  229. package/src/routing/middleware.ts +4 -0
  230. package/src/{api/routing → routing}/schema/jwt.ts +2 -1
  231. package/src/{api/routing → routing}/utils.ts +2 -1
  232. package/src/routing.ts +768 -0
  233. package/src/test.ts +2 -2
  234. package/test/auth.test.ts +101 -0
  235. package/test/cluster-cosmos.test.ts +503 -0
  236. package/test/cluster-servicebus.test.ts +180 -0
  237. package/test/contextProvider.test.ts +15 -12
  238. package/test/controller.test.ts +28 -32
  239. package/test/cosmos-query.test.ts +159 -0
  240. package/test/dist/_check-agg-infer.test-d.d.ts +2 -0
  241. package/test/dist/_check-agg-infer.test-d.d.ts.map +1 -0
  242. package/test/dist/_check-agg-infer.test-d.js +19 -0
  243. package/test/dist/_check-proj-infer.test-d.d.ts +2 -0
  244. package/test/dist/_check-proj-infer.test-d.d.ts.map +1 -0
  245. package/test/dist/_check-proj-infer.test-d.js +16 -0
  246. package/test/dist/_check-tighten.test-d.d.ts +2 -0
  247. package/test/dist/_check-tighten.test-d.d.ts.map +1 -0
  248. package/test/dist/_check-tighten.test-d.js +21 -0
  249. package/test/dist/auth.test.d.ts.map +1 -0
  250. package/test/dist/cluster-cosmos.test.d.ts.map +1 -0
  251. package/test/dist/cluster-servicebus.test.d.ts.map +1 -0
  252. package/test/dist/contextProvider.test.d.ts.map +1 -1
  253. package/test/dist/controller.test.d.ts.map +1 -1
  254. package/test/dist/cosmos-query.test.d.ts.map +1 -0
  255. package/test/dist/date-query.test.d.ts.map +1 -0
  256. package/test/dist/fixtures.d.ts +30 -12
  257. package/test/dist/fixtures.d.ts.map +1 -1
  258. package/test/dist/fixtures.js +17 -10
  259. package/test/dist/query.test.d.ts.map +1 -1
  260. package/test/dist/rawQuery.test.d.ts.map +1 -1
  261. package/test/dist/repository-ext.test.d.ts.map +1 -0
  262. package/test/dist/requires.test.d.ts.map +1 -1
  263. package/test/dist/router-generator.test.d.ts.map +1 -0
  264. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  265. package/test/dist/rpc-context-map-streaming.test.d.ts.map +1 -0
  266. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  267. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  268. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  269. package/test/dist/sql-store.test.d.ts.map +1 -0
  270. package/test/dist/workflow-engine-cosmos.test.d.ts.map +1 -0
  271. package/test/dist/workflow-engine-sqlite.test.d.ts.map +1 -0
  272. package/test/fixtures.ts +16 -9
  273. package/test/layerUtils.test.ts +2 -2
  274. package/test/query.test.ts +905 -40
  275. package/test/rawQuery.test.ts +340 -22
  276. package/test/repository-ext.test.ts +62 -0
  277. package/test/requires.test.ts +10 -5
  278. package/test/router-generator.test.ts +187 -0
  279. package/test/routing-interruptibility.test.ts +66 -0
  280. package/test/rpc-context-map-streaming.test.ts +262 -0
  281. package/test/rpc-e2e-invalidation.test.ts +256 -0
  282. package/test/rpc-multi-middleware.test.ts +85 -10
  283. package/test/rpc-stream-fullstack.test.ts +304 -0
  284. package/test/sql-store.test.ts +1711 -0
  285. package/test/validateSample.test.ts +26 -14
  286. package/test/workflow-engine-cosmos.test.ts +354 -0
  287. package/test/workflow-engine-sqlite.test.ts +299 -0
  288. package/tsconfig.examples.json +1 -1
  289. package/tsconfig.json +2 -1
  290. package/tsconfig.json.bak +2 -2
  291. package/tsconfig.src.json +35 -35
  292. package/tsconfig.test.json +2 -2
  293. package/dist/Emailer/service.d.ts +0 -55
  294. package/dist/Emailer/service.d.ts.map +0 -1
  295. package/dist/Emailer/service.js +0 -6
  296. package/dist/Emailer.d.ts +0 -2
  297. package/dist/Emailer.d.ts.map +0 -1
  298. package/dist/Emailer.js +0 -2
  299. package/dist/Model/Repository/ext.d.ts +0 -41
  300. package/dist/Model/Repository/ext.d.ts.map +0 -1
  301. package/dist/Model/Repository/ext.js +0 -65
  302. package/dist/Model/Repository/internal/internal.d.ts +0 -59
  303. package/dist/Model/Repository/internal/internal.d.ts.map +0 -1
  304. package/dist/Model/Repository/internal/internal.js +0 -316
  305. package/dist/Model/Repository/legacy.d.ts +0 -19
  306. package/dist/Model/Repository/legacy.d.ts.map +0 -1
  307. package/dist/Model/Repository/legacy.js +0 -2
  308. package/dist/Model/Repository/makeRepo.d.ts +0 -49
  309. package/dist/Model/Repository/makeRepo.d.ts.map +0 -1
  310. package/dist/Model/Repository/makeRepo.js +0 -24
  311. package/dist/Model/Repository/service.d.ts +0 -89
  312. package/dist/Model/Repository/service.d.ts.map +0 -1
  313. package/dist/Model/Repository/service.js +0 -2
  314. package/dist/Model/Repository/validation.d.ts +0 -42
  315. package/dist/Model/Repository/validation.d.ts.map +0 -1
  316. package/dist/Model/Repository/validation.js +0 -32
  317. package/dist/Model/Repository.d.ts +0 -6
  318. package/dist/Model/Repository.d.ts.map +0 -1
  319. package/dist/Model/Repository.js +0 -6
  320. package/dist/Model/dsl.d.ts +0 -32
  321. package/dist/Model/dsl.d.ts.map +0 -1
  322. package/dist/Model/dsl.js +0 -44
  323. package/dist/Model/filter/filterApi.d.ts +0 -30
  324. package/dist/Model/filter/filterApi.d.ts.map +0 -1
  325. package/dist/Model/filter/filterApi.js +0 -2
  326. package/dist/Model/filter/types/errors.d.ts +0 -29
  327. package/dist/Model/filter/types/errors.d.ts.map +0 -1
  328. package/dist/Model/filter/types/errors.js +0 -2
  329. package/dist/Model/filter/types/fields.d.ts +0 -15
  330. package/dist/Model/filter/types/fields.d.ts.map +0 -1
  331. package/dist/Model/filter/types/fields.js +0 -2
  332. package/dist/Model/filter/types/path/common.d.ts +0 -316
  333. package/dist/Model/filter/types/path/common.d.ts.map +0 -1
  334. package/dist/Model/filter/types/path/common.js +0 -2
  335. package/dist/Model/filter/types/path/eager.d.ts +0 -95
  336. package/dist/Model/filter/types/path/eager.d.ts.map +0 -1
  337. package/dist/Model/filter/types/path/eager.js +0 -31
  338. package/dist/Model/filter/types/path/index.d.ts +0 -4
  339. package/dist/Model/filter/types/path/index.d.ts.map +0 -1
  340. package/dist/Model/filter/types/path/index.js +0 -3
  341. package/dist/Model/filter/types/utils.d.ts +0 -79
  342. package/dist/Model/filter/types/utils.d.ts.map +0 -1
  343. package/dist/Model/filter/types/utils.js +0 -2
  344. package/dist/Model/filter/types/validator.d.ts +0 -30
  345. package/dist/Model/filter/types/validator.d.ts.map +0 -1
  346. package/dist/Model/filter/types/validator.js +0 -2
  347. package/dist/Model/filter/types.d.ts +0 -5
  348. package/dist/Model/filter/types.d.ts.map +0 -1
  349. package/dist/Model/filter/types.js +0 -7
  350. package/dist/Model/query/dsl.d.ts +0 -248
  351. package/dist/Model/query/dsl.d.ts.map +0 -1
  352. package/dist/Model/query/dsl.js +0 -104
  353. package/dist/Model/query/new-kid-interpreter.d.ts +0 -28
  354. package/dist/Model/query/new-kid-interpreter.d.ts.map +0 -1
  355. package/dist/Model/query/new-kid-interpreter.js +0 -165
  356. package/dist/Model/query.d.ts +0 -15
  357. package/dist/Model/query.d.ts.map +0 -1
  358. package/dist/Model/query.js +0 -3
  359. package/dist/Model.d.ts +0 -4
  360. package/dist/Model.d.ts.map +0 -1
  361. package/dist/Model.js +0 -4
  362. package/dist/Operations.d.ts +0 -55
  363. package/dist/Operations.d.ts.map +0 -1
  364. package/dist/Operations.js +0 -102
  365. package/dist/OperationsRepo.d.ts +0 -41
  366. package/dist/OperationsRepo.d.ts.map +0 -1
  367. package/dist/OperationsRepo.js +0 -14
  368. package/dist/QueueMaker/service.d.ts +0 -11
  369. package/dist/QueueMaker/service.d.ts.map +0 -1
  370. package/dist/QueueMaker/service.js +0 -4
  371. package/dist/RequestContext.d.ts +0 -63
  372. package/dist/RequestContext.d.ts.map +0 -1
  373. package/dist/RequestContext.js +0 -49
  374. package/dist/Store/ContextMapContainer.d.ts +0 -14
  375. package/dist/Store/ContextMapContainer.d.ts.map +0 -1
  376. package/dist/Store/ContextMapContainer.js +0 -16
  377. package/dist/Store/service.d.ts +0 -108
  378. package/dist/Store/service.d.ts.map +0 -1
  379. package/dist/Store/service.js +0 -71
  380. package/dist/Store.d.ts +0 -2
  381. package/dist/Store.d.ts.map +0 -1
  382. package/dist/Store.js +0 -2
  383. package/dist/adapters/SQL/Model.d.ts +0 -479
  384. package/dist/adapters/SQL/Model.d.ts.map +0 -1
  385. package/dist/adapters/SQL/Model.js +0 -478
  386. package/dist/adapters/SQL.d.ts +0 -2
  387. package/dist/adapters/SQL.d.ts.map +0 -1
  388. package/dist/adapters/ServiceBus.d.ts +0 -58
  389. package/dist/adapters/ServiceBus.d.ts.map +0 -1
  390. package/dist/adapters/ServiceBus.js +0 -99
  391. package/dist/adapters/cosmos-client.d.ts +0 -14
  392. package/dist/adapters/cosmos-client.d.ts.map +0 -1
  393. package/dist/adapters/cosmos-client.js +0 -9
  394. package/dist/adapters/index.d.ts +0 -2
  395. package/dist/adapters/index.d.ts.map +0 -1
  396. package/dist/adapters/index.js +0 -2
  397. package/dist/adapters/logger.d.ts +0 -9
  398. package/dist/adapters/logger.d.ts.map +0 -1
  399. package/dist/adapters/logger.js +0 -3
  400. package/dist/adapters/memQueue.d.ts +0 -13
  401. package/dist/adapters/memQueue.d.ts.map +0 -1
  402. package/dist/adapters/memQueue.js +0 -20
  403. package/dist/adapters/mongo-client.d.ts +0 -10
  404. package/dist/adapters/mongo-client.d.ts.map +0 -1
  405. package/dist/adapters/mongo-client.js +0 -13
  406. package/dist/adapters/redis-client.d.ts +0 -39
  407. package/dist/adapters/redis-client.d.ts.map +0 -1
  408. package/dist/adapters/redis-client.js +0 -94
  409. package/dist/api/ContextProvider.d.ts +0 -31
  410. package/dist/api/ContextProvider.d.ts.map +0 -1
  411. package/dist/api/ContextProvider.js +0 -38
  412. package/dist/api/codec.d.ts +0 -5
  413. package/dist/api/codec.d.ts.map +0 -1
  414. package/dist/api/codec.js +0 -5
  415. package/dist/api/internal/RequestContextMiddleware.d.ts +0 -5
  416. package/dist/api/internal/RequestContextMiddleware.d.ts.map +0 -1
  417. package/dist/api/internal/RequestContextMiddleware.js +0 -35
  418. package/dist/api/internal/auth.d.ts +0 -15
  419. package/dist/api/internal/auth.d.ts.map +0 -1
  420. package/dist/api/internal/auth.js +0 -47
  421. package/dist/api/internal/events.d.ts +0 -9
  422. package/dist/api/internal/events.d.ts.map +0 -1
  423. package/dist/api/internal/events.js +0 -42
  424. package/dist/api/internal/health.d.ts +0 -3
  425. package/dist/api/internal/health.d.ts.map +0 -1
  426. package/dist/api/internal/health.js +0 -5
  427. package/dist/api/layerUtils.d.ts +0 -24
  428. package/dist/api/layerUtils.d.ts.map +0 -1
  429. package/dist/api/layerUtils.js +0 -16
  430. package/dist/api/middlewares.d.ts +0 -10
  431. package/dist/api/middlewares.d.ts.map +0 -1
  432. package/dist/api/reportError.d.ts +0 -4
  433. package/dist/api/reportError.d.ts.map +0 -1
  434. package/dist/api/reportError.js +0 -27
  435. package/dist/api/routing/middleware/RouterMiddleware.d.ts +0 -15
  436. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +0 -1
  437. package/dist/api/routing/middleware/middleware.d.ts +0 -9
  438. package/dist/api/routing/middleware/middleware.d.ts.map +0 -1
  439. package/dist/api/routing/middleware/middleware.js +0 -92
  440. package/dist/api/routing/middleware.d.ts +0 -4
  441. package/dist/api/routing/middleware.d.ts.map +0 -1
  442. package/dist/api/routing/schema/jwt.d.ts +0 -4
  443. package/dist/api/routing/schema/jwt.d.ts.map +0 -1
  444. package/dist/api/routing/schema/jwt.js +0 -12
  445. package/dist/api/routing/tsort.d.ts +0 -8
  446. package/dist/api/routing/tsort.d.ts.map +0 -1
  447. package/dist/api/routing/tsort.js +0 -51
  448. package/dist/api/routing/utils.d.ts +0 -19
  449. package/dist/api/routing/utils.d.ts.map +0 -1
  450. package/dist/api/routing/utils.js +0 -44
  451. package/dist/api/routing.d.ts +0 -138
  452. package/dist/api/routing.d.ts.map +0 -1
  453. package/dist/api/routing.js +0 -166
  454. package/dist/api/setupRequest.d.ts +0 -12
  455. package/dist/api/setupRequest.d.ts.map +0 -1
  456. package/dist/api/setupRequest.js +0 -44
  457. package/dist/api/util.d.ts +0 -3
  458. package/dist/api/util.d.ts.map +0 -1
  459. package/dist/api/util.js +0 -14
  460. package/eslint.config.mjs +0 -24
  461. package/src/Emailer/service.ts +0 -52
  462. package/src/Emailer.ts +0 -1
  463. package/src/Model/Repository/ext.ts +0 -283
  464. package/src/Model/Repository/internal/internal.ts +0 -577
  465. package/src/Model/Repository/legacy.ts +0 -27
  466. package/src/Model/Repository/makeRepo.ts +0 -139
  467. package/src/Model/Repository/service.ts +0 -627
  468. package/src/Model/Repository/validation.ts +0 -31
  469. package/src/Model/Repository.ts +0 -5
  470. package/src/Model/dsl.ts +0 -128
  471. package/src/Model/filter/filterApi.ts +0 -60
  472. package/src/Model/filter/types/errors.ts +0 -47
  473. package/src/Model/filter/types/fields.ts +0 -50
  474. package/src/Model/filter/types/path/common.ts +0 -404
  475. package/src/Model/filter/types/path/eager.ts +0 -298
  476. package/src/Model/filter/types/path/index.ts +0 -4
  477. package/src/Model/filter/types/utils.ts +0 -128
  478. package/src/Model/filter/types/validator.ts +0 -46
  479. package/src/Model/filter/types.ts +0 -6
  480. package/src/Model/query/dsl.ts +0 -2110
  481. package/src/Model/query/new-kid-interpreter.ts +0 -210
  482. package/src/Model/query.ts +0 -13
  483. package/src/Model.ts +0 -3
  484. package/src/Operations.ts +0 -235
  485. package/src/OperationsRepo.ts +0 -16
  486. package/src/QueueMaker/service.ts +0 -17
  487. package/src/RequestContext.ts +0 -63
  488. package/src/Store/ContextMapContainer.ts +0 -20
  489. package/src/Store/service.ts +0 -184
  490. package/src/Store.ts +0 -1
  491. package/src/adapters/ServiceBus.ts +0 -209
  492. package/src/adapters/index.ts +0 -0
  493. package/src/adapters/logger.ts +0 -3
  494. package/src/api/internal/auth.ts +0 -68
  495. package/src/api/routing/middleware.ts +0 -6
  496. package/src/api/routing.ts +0 -598
  497. package/src/api/setupRequest.ts +0 -84
  498. /package/src/{adapters/SQL.ts → SQL.ts} +0 -0
  499. /package/src/{api/codec.ts → codec.ts} +0 -0
  500. /package/src/{api/internal → internal}/health.ts +0 -0
  501. /package/src/{api/middlewares.ts → middlewares.ts} +0 -0
  502. /package/src/{api/routing → routing}/tsort.ts +0 -0
  503. /package/src/{api/util.ts → util.ts} +0 -0
@@ -1,13 +1,13 @@
1
- import { Effect } from "effect-app";
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
  const makeFake = InfraLogger
6
6
  .logInfo("FAKE Emailer Service enabled")
7
7
  .pipe(Effect.map(() => Emailer.of({
8
- sendMail: Effect.fn("Fake.sendMail")((msg) => InfraLogger
8
+ sendMail: Effect.fn("Emailer.sendMail", { attributes: { "messaging.system": "fake" } })((msg) => InfraLogger
9
9
  .logDebug(`Fake send mail`)
10
10
  .pipe(Effect.annotateLogs("msg", pretty(msg))))
11
11
  })));
12
12
  export const FakeSendgrid = Emailer.toLayer(makeFake);
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FbWFpbGVyL2Zha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXRDLE1BQU0sUUFBUSxHQUFHLFdBQVc7S0FDekIsT0FBTyxDQUFDLDhCQUE4QixDQUFDO0tBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUNwQixPQUFPLENBQUMsRUFBRSxDQUFDO0lBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUMzQyxXQUFXO1NBQ1IsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1NBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNqRDtDQUNGLENBQUMsQ0FDSCxDQUFDLENBQUE7QUFFSixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQSJ9
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FbWFpbGVyL2Zha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFMUMsTUFBTSxRQUFRLEdBQUcsV0FBVztLQUN6QixPQUFPLENBQUMsOEJBQThCLENBQUM7S0FDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQ3BCLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDVCxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzlGLFdBQVc7U0FDUixRQUFRLENBQUMsZ0JBQWdCLENBQUM7U0FDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQ2pEO0NBQ0YsQ0FBQyxDQUNILENBQUMsQ0FBQTtBQUVKLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBIn0=
@@ -1,19 +1,22 @@
1
- import { Effect, Fiber, Layer, ServiceMap } from "effect-app";
2
- declare const MainFiberSet_base: ServiceMap.ServiceClass<MainFiberSet, "MainFiberSet", {
1
+ import * as Context from "effect-app/Context";
2
+ import * as Effect from "effect-app/Effect";
3
+ import * as Layer from "effect-app/Layer";
4
+ import * as Fiber from "effect/Fiber";
5
+ declare const MainFiberSet_base: Context.ServiceClass<MainFiberSet, "MainFiberSet", {
3
6
  interrupt: Effect.Effect<void, never, never>;
4
7
  join: Effect.Effect<void, never, never>;
5
8
  forkDaemonReport: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<void, never>, never, R>;
6
9
  run: <R, XE extends never, XA extends unknown>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.Fiber<XA, XE>, never, R>;
7
- add: (...fibers: Fiber.Fiber<never, never>[]) => Effect.Effect<void, never, never>;
8
- addAll: (fibers: readonly Fiber.Fiber<never, never>[]) => Effect.Effect<void, never, never>;
10
+ add: (...fibers: Fiber.Fiber<never>[]) => Effect.Effect<void, never, never>;
11
+ addAll: (fibers: readonly Fiber.Fiber<never>[]) => Effect.Effect<void, never, never>;
9
12
  }> & {
10
13
  readonly make: Effect.Effect<{
11
14
  interrupt: Effect.Effect<void, never, never>;
12
15
  join: Effect.Effect<void, never, never>;
13
16
  forkDaemonReport: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<void, never>, never, R>;
14
17
  run: <R, XE extends never, XA extends unknown>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.Fiber<XA, XE>, never, R>;
15
- add: (...fibers: Fiber.Fiber<never, never>[]) => Effect.Effect<void, never, never>;
16
- addAll: (fibers: readonly Fiber.Fiber<never, never>[]) => Effect.Effect<void, never, never>;
18
+ add: (...fibers: Fiber.Fiber<never>[]) => Effect.Effect<void, never, never>;
19
+ addAll: (fibers: readonly Fiber.Fiber<never>[]) => Effect.Effect<void, never, never>;
17
20
  }, never, import("effect/Scope").Scope>;
18
21
  };
19
22
  /**
@@ -24,8 +27,8 @@ declare const MainFiberSet_base: ServiceMap.ServiceClass<MainFiberSet, "MainFibe
24
27
  export declare class MainFiberSet extends MainFiberSet_base {
25
28
  static readonly Live: Layer.Layer<MainFiberSet, never, never>;
26
29
  static readonly JoinLive: Layer.Layer<never, never, never>;
27
- static readonly run: <A, R>(self: Effect.Effect<A, never, R>) => Effect.Effect<Fiber.Fiber<A, never>, never, MainFiberSet | R>;
28
- static readonly forkDaemonReport: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<void, never>, never, MainFiberSet | R>;
30
+ static readonly run: <A, R>(self: Effect.Effect<A, never, R>) => Effect.Effect<Fiber.Fiber<A, never>, never, R | MainFiberSet>;
31
+ static readonly forkDaemonReport: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<void, never>, never, R | MainFiberSet>;
29
32
  }
30
33
  export {};
31
- //# sourceMappingURL=MainFiberSet.d.ts.map
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFpbkZpYmVyU2V0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTWFpbkZpYmVyU2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sb0JBQW9CLENBQUE7QUFDN0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBOzs7O3VCQXdDVCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOztxQkEvQnZDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7cUJBQ3BCLFNBQVMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTs7Ozs7Ozs7Ozs7QUFpRHZEOzs7O0dBSUc7QUFDSCxxQkFBYSxZQUFhLFNBQVEsaUJBQXlEO0lBQ3pGLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSwwQ0FBZ0M7SUFDcEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLG1DQUl2QjtJQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxtRUFBa0Q7SUFDL0csTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHNFQUNiO0NBQzdEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"MainFiberSet.d.ts","sourceRoot":"","sources":["../src/MainFiberSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAY,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;;;;uBAwC3C,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;qBAhCvC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;qBAE3B,SAAS,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;;;;;2BA8BlC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;yBAhCvC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;yBAE3B,SAAS,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;;;AAiD9D;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,iBAA4D;IAC5F,MAAM,CAAC,QAAQ,CAAC,IAAI,0CAAgC;IACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,mCAIvB;IACD,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,mEACH;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,sEACF;CACxE"}
1
+ {"version":3,"file":"MainFiberSet.d.ts","sourceRoot":"","sources":["../src/MainFiberSet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;;;;uBAwCT,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;qBA/BvC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;qBACpB,SAAS,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;;;;;;;;;;;AAiDvD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,iBAAyD;IACzF,MAAM,CAAC,QAAQ,CAAC,IAAI,0CAAgC;IACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,mCAIvB;IACD,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAI,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,mEAAkD;IAC/G,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,sEACb;CAC7D"}
@@ -1,4 +1,8 @@
1
- import { Effect, Fiber, FiberSet, Layer, ServiceMap } from "effect-app";
1
+ import * as Context from "effect-app/Context";
2
+ import * as Effect from "effect-app/Effect";
3
+ import * as Layer from "effect-app/Layer";
4
+ import * as Fiber from "effect/Fiber";
5
+ import * as FiberSet from "effect/FiberSet";
2
6
  import { InfraLogger } from "./logger.js";
3
7
  import { reportNonInterruptedFailureCause } from "./QueueMaker/errors.js";
4
8
  import { setRootParentSpan } from "./RequestFiberSet.js";
@@ -45,10 +49,10 @@ const make = Effect.gen(function* () {
45
49
  * you should register these long running fibers in a FiberSet, and join them at the end of your main program.
46
50
  * This way any errors will blow up the main program instead of fibers dying unknowingly.
47
51
  */
48
- export class MainFiberSet extends ServiceMap.Service()("MainFiberSet", { make }) {
52
+ export class MainFiberSet extends Context.Service()("MainFiberSet", { make }) {
49
53
  static Live = Layer.effect(this, this.make);
50
- static JoinLive = this.asEffect().pipe(Effect.andThen((_) => _.join), Layer.effectDiscard, Layer.provide(this.Live));
51
- static run = (self) => this.asEffect().pipe(Effect.andThen((_) => _.run(self)));
52
- static forkDaemonReport = (self) => this.asEffect().pipe(Effect.andThen((_) => _.forkDaemonReport(self)));
54
+ static JoinLive = this.pipe(Effect.andThen((_) => _.join), Layer.effectDiscard, Layer.provide(this.Live));
55
+ static run = (self) => this.pipe(Effect.andThen((_) => _.run(self)));
56
+ static forkDaemonReport = (self) => this.pipe(Effect.andThen((_) => _.forkDaemonReport(self)));
53
57
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFpbkZpYmVyU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01haW5GaWJlclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXhELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQy9CLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQWtCLENBQUE7SUFDbEQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQW1DLEVBQUUsRUFBRSxDQUNyRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0RSxNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQTRDLEVBQUUsRUFBRSxDQUM5RCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0RSxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEtBQUsscUNBQXFDLENBQUMsQ0FBQyxFQUN0RyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDbkMsQ0FBQTtJQUNELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFN0Isa0RBQWtEO0lBQ2xELGtEQUFrRDtJQUNsRCw2QkFBNkI7SUFDN0IsYUFBYTtJQUNiLE1BQU07SUFDTixtRkFBbUY7SUFDbkYsOEVBQThFO0lBQzlFLHlEQUF5RDtJQUN6RCxLQUFLO0lBRUwsK0RBQStEO0lBQy9ELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFekM7Ozs7Ozs7O09BUUc7SUFDSCxTQUFTLGdCQUFnQixDQUFVLElBQTRCO1FBQzdELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxNQUFNLENBQUMsTUFBTSxFQUNiLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDdkQsaUJBQWlCLEVBQ2pCLE1BQU0sQ0FBQyxlQUFlLEVBQ3RCLEdBQUcsQ0FDSixDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU87UUFDTCxTQUFTO1FBQ1QsSUFBSTtRQUNKLGdCQUFnQjtRQUNoQixHQUFHO1FBQ0gsR0FBRztRQUNILE1BQU07S0FDUCxDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQUE7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxVQUFVLENBQUMsT0FBTyxFQUFnQixDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzVGLE1BQU0sQ0FBVSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3BELE1BQU0sQ0FBVSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUM3QixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDekIsQ0FBQTtJQUNELE1BQU0sQ0FBVSxHQUFHLEdBQUcsQ0FBTyxJQUFnQyxFQUFFLEVBQUUsQ0FDL0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMxRCxNQUFNLENBQVUsZ0JBQWdCLEdBQUcsQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDM0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBIn0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFpbkZpYmVyU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01haW5GaWJlclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLEtBQUssTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssUUFBUSxNQUFNLGlCQUFpQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekMsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDL0IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBa0IsQ0FBQTtJQUNsRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBNEIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDckgsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFxQyxFQUFFLEVBQUUsQ0FDdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdEUsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxLQUFLLHFDQUFxQyxDQUFDLENBQUMsRUFDdEcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ25DLENBQUE7SUFDRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTdCLGtEQUFrRDtJQUNsRCxrREFBa0Q7SUFDbEQsNkJBQTZCO0lBQzdCLGFBQWE7SUFDYixNQUFNO0lBQ04sbUZBQW1GO0lBQ25GLDhFQUE4RTtJQUM5RSx5REFBeUQ7SUFDekQsS0FBSztJQUVMLCtEQUErRDtJQUMvRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXpDOzs7Ozs7OztPQVFHO0lBQ0gsU0FBUyxnQkFBZ0IsQ0FBVSxJQUE0QjtRQUM3RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQ2QsTUFBTSxDQUFDLE1BQU0sRUFDYixNQUFNLENBQUMsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZELGlCQUFpQixFQUNqQixNQUFNLENBQUMsZUFBZSxFQUN0QixHQUFHLENBQ0osQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPO1FBQ0wsU0FBUztRQUNULElBQUk7UUFDSixnQkFBZ0I7UUFDaEIsR0FBRztRQUNILEdBQUc7UUFDSCxNQUFNO0tBQ1AsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxZQUFhLFNBQVEsT0FBTyxDQUFDLE9BQU8sRUFBZ0IsQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN6RixNQUFNLENBQVUsSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNwRCxNQUFNLENBQVUsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDN0IsS0FBSyxDQUFDLGFBQWEsRUFDbkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ3pCLENBQUE7SUFDRCxNQUFNLENBQVUsR0FBRyxHQUFHLENBQU8sSUFBZ0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvRyxNQUFNLENBQVUsZ0JBQWdCLEdBQUcsQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0NBQzdEIn0=
@@ -1,16 +1,15 @@
1
- import { type QueueBase } from "@effect-app/infra/QueueMaker/service";
2
- import { Effect, S } from "effect-app";
3
- import type { NonEmptyString255 } from "effect-app/Schema";
1
+ import * as Effect from "effect-app/Effect";
2
+ import { type QueueBase } from "effect-app/QueueMaker";
3
+ import * as S from "effect-app/Schema";
4
+ import { type NonEmptyString255 } from "effect-app/Schema";
4
5
  import { SqlClient } from "effect/unstable/sql";
5
- export declare const QueueId: S.brand<import("effect/Schema").Number & {
6
- withDefault: S.withConstructorDefault<import("effect/Schema").Number & S.WithoutConstructorDefault>;
7
- }, "QueueId">;
6
+ export declare const QueueId: S.brand<import("effect/Schema").Finite, "QueueId">;
8
7
  export type QueueId = typeof QueueId.Type;
9
- export declare function makeSQLQueue<Evt extends {
8
+ export declare const makeSQLQueue: <Evt extends {
10
9
  id: S.StringId;
11
10
  _tag: string;
12
11
  }, DrainEvt extends {
13
12
  id: S.StringId;
14
13
  _tag: string;
15
- }, EvtE, DrainEvtE>(queueName: NonEmptyString255, queueDrainName: NonEmptyString255, schema: S.Codec<Evt, EvtE>, drainSchema: S.Codec<DrainEvt, DrainEvtE>): Effect.Effect<QueueBase<Evt, DrainEvt>, never, SqlClient.SqlClient>;
16
- //# sourceMappingURL=SQLQueue.d.ts.map
14
+ }, EvtE, DrainEvtE>(queueName: NonEmptyString255, queueDrainName: NonEmptyString255, schema: S.Codec<Evt, EvtE, never, never>, drainSchema: S.Codec<DrainEvt, DrainEvtE, never, never>) => Effect.Effect<QueueBase<Evt, DrainEvt>, never, SqlClient.SqlClient>;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FMUXVldWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL1NRTFF1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUE7QUFFM0MsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFhLE1BQU0sdUJBQXVCLENBQUE7QUFDakUsT0FBTyxLQUFLLENBQUMsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBSzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUsvQyxlQUFPLE1BQU0sT0FBTyxvREFBb0MsQ0FBQTtBQUN4RCxNQUFNLE1BQU0sT0FBTyxHQUFHLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQTtBQUd6QyxlQUFPLE1BQU0sWUFBWSxHQUN2QixHQUFHLFNBQVM7SUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUFDLElBQUksRUFBRSxNQUFNLENBQUE7Q0FBRSxFQUM1QyxRQUFRLFNBQVM7SUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUFDLElBQUksRUFBRSxNQUFNLENBQUE7Q0FBRSxFQUNqRCxJQUFJLEVBQ0osU0FBUyw0T0FnS1QsQ0FBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"SQLQueue.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/SQLQueue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,sCAAsC,CAAA;AAEhF,OAAO,EAAE,MAAM,EAA6C,CAAC,EAAU,MAAM,YAAY,CAAA;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,eAAO,MAAM,OAAO;;aAAoC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAGzC,wBAAgB,YAAY,CAC1B,GAAG,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,QAAQ,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACjD,IAAI,EACJ,SAAS,EAET,SAAS,EAAE,iBAAiB,EAC5B,cAAc,EAAE,iBAAiB,EACjC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAC1B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,uEAoK1C"}
1
+ {"version":3,"file":"SQLQueue.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/SQLQueue.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,uBAAuB,CAAA;AACjE,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAK1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAK/C,eAAO,MAAM,OAAO,oDAAoC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAGzC,eAAO,MAAM,YAAY,GACvB,GAAG,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,QAAQ,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACjD,IAAI,EACJ,SAAS,4OAgKT,CAAA"}
@@ -1,130 +1,148 @@
1
- import { getRequestContext, setupRequestContextWithCustomSpan } from "@effect-app/infra/api/setupRequest";
2
1
  import { reportNonInterruptedFailure } from "@effect-app/infra/QueueMaker/errors";
3
- import { QueueMeta } from "@effect-app/infra/QueueMaker/service";
4
2
  import { subMinutes } from "date-fns";
5
- import { Effect, Fiber, Option, S, Tracer } from "effect-app";
3
+ import * as Effect from "effect-app/Effect";
4
+ import * as Option from "effect-app/Option";
5
+ import { QueueMeta } from "effect-app/QueueMaker";
6
+ import * as S from "effect-app/Schema";
7
+ import { getRequestContext, setupRequestContextWithCustomSpan } from "effect-app/setupRequest";
6
8
  import { pretty } from "effect-app/utils";
9
+ import * as Fiber from "effect/Fiber";
10
+ import * as Tracer from "effect/Tracer";
7
11
  import { SqlClient } from "effect/unstable/sql";
8
- import { SQLModel } from "../adapters/SQL.js";
9
12
  import { InfraLogger } from "../logger.js";
10
- export const QueueId = S.Number.pipe(S.brand("QueueId"));
13
+ import { messagingSpanArgs } from "../otel.js";
14
+ import { SQLModel } from "../SQL.js";
15
+ export const QueueId = S.Finite.pipe(S.brand("QueueId"));
11
16
  // TODO: let the model track and Auto Generate versionColumn on every update instead
12
- export function makeSQLQueue(queueName, queueDrainName, schema, drainSchema) {
13
- return Effect.gen(function* () {
14
- const base = {
15
- id: SQLModel.Generated(QueueId),
16
- meta: SQLModel.JsonFromString(QueueMeta),
17
- name: S.NonEmptyString255,
18
- createdAt: SQLModel.DateTimeInsert,
19
- updatedAt: SQLModel.DateTimeUpdate,
20
- // TODO: at+owner
21
- processingAt: SQLModel.FieldOption(S.Date),
22
- finishedAt: SQLModel.FieldOption(S.Date),
23
- etag: S.String // TODO: use a SQLModel thing that auto updates it?
24
- // TODO: record locking.. / optimistic locking
25
- // rowVersion: SQLModel.DateTimeFromNumberWithNow
26
- };
27
- class Queue extends SQLModel.Class("Queue")({
28
- body: SQLModel.JsonFromString(schema),
29
- ...base
30
- }) {
31
- }
32
- class Drain extends SQLModel.Class("Drain")({
33
- body: SQLModel.JsonFromString(drainSchema),
34
- ...base
35
- }) {
36
- }
37
- const sql = yield* SqlClient.SqlClient;
38
- const queueRepo = yield* SQLModel.makeRepository(Queue, {
39
- tableName: "queue",
40
- spanPrefix: "QueueRepo",
41
- idColumn: "id",
42
- versionColumn: "etag"
43
- });
44
- const drainRepo = yield* SQLModel.makeRepository(Drain, {
45
- tableName: "queue",
46
- spanPrefix: "DrainRepo",
47
- idColumn: "id",
48
- versionColumn: "etag"
49
- });
50
- const decodeDrain = S.decodeEffect(Drain);
51
- const drain = Effect
52
- .sync(() => subMinutes(new Date(), 15))
53
- .pipe(Effect
54
- .andThen((limit) => sql `SELECT *
17
+ export const makeSQLQueue = Effect.fnUntraced(function* (queueName, queueDrainName, schema, drainSchema) {
18
+ const base = {
19
+ id: SQLModel.Generated(QueueId),
20
+ meta: SQLModel.JsonFromString(QueueMeta),
21
+ name: S.NonEmptyString255,
22
+ createdAt: SQLModel.DateTimeInsert,
23
+ updatedAt: SQLModel.DateTimeUpdate,
24
+ // TODO: at+owner
25
+ processingAt: SQLModel.FieldOption(S.Date),
26
+ finishedAt: SQLModel.FieldOption(S.Date),
27
+ etag: S.String // TODO: use a SQLModel thing that auto updates it?
28
+ // TODO: record locking.. / optimistic locking
29
+ // rowVersion: SQLModel.DateTimeFromNumberWithNow
30
+ };
31
+ class Queue extends SQLModel.Class("Queue")({
32
+ body: SQLModel.JsonFromString(schema),
33
+ ...base
34
+ }) {
35
+ }
36
+ class Drain extends SQLModel.Class("Drain")({
37
+ body: SQLModel.JsonFromString(drainSchema),
38
+ ...base
39
+ }) {
40
+ }
41
+ const sql = yield* SqlClient.SqlClient;
42
+ const queueRepo = yield* SQLModel.makeRepository(Queue, {
43
+ tableName: "queue",
44
+ spanPrefix: "QueueRepo",
45
+ idColumn: "id",
46
+ versionColumn: "etag"
47
+ });
48
+ const drainRepo = yield* SQLModel.makeRepository(Drain, {
49
+ tableName: "queue",
50
+ spanPrefix: "DrainRepo",
51
+ idColumn: "id",
52
+ versionColumn: "etag"
53
+ });
54
+ const decodeDrain = S.decodeEffectConcurrently(Drain);
55
+ const drain = Effect.gen(function* () {
56
+ const limit = subMinutes(new Date(), 15);
57
+ return yield* sql `SELECT *
55
58
  FROM queue
56
59
  WHERE name = ${queueDrainName} AND finishedAt IS NULL AND (processingAt IS NULL OR processingAt < ${limit.getTime()})
57
- LIMIT 1`));
58
- const q = {
59
- offer: Effect.fnUntraced(function* (body, meta) {
60
- yield* queueRepo.insertVoid({
61
- body,
62
- meta,
63
- name: queueName,
64
- processingAt: Option.none(),
65
- finishedAt: Option.none(),
66
- etag: crypto.randomUUID()
67
- });
68
- }),
69
- take: Effect.gen(function* () {
70
- while (true) {
71
- const [first] = yield* drain.pipe(Effect.withTracerEnabled(false)); // disable sql tracer otherwise we spam it..
72
- if (first) {
73
- const dec = yield* decodeDrain(first);
74
- const { createdAt, updatedAt, ...rest } = dec;
75
- return yield* drainRepo.update({ ...rest, processingAt: Option.some(new Date()) } // auto in lib , etag: crypto.randomUUID()
76
- );
77
- }
78
- if (first)
79
- return first;
80
- yield* Effect.sleep(250);
60
+ LIMIT 1`;
61
+ });
62
+ const q = {
63
+ offer: Effect.fnUntraced(function* (body, meta) {
64
+ yield* queueRepo.insertVoid(Queue.insert.make({
65
+ body,
66
+ meta,
67
+ name: queueName,
68
+ processingAt: Option.none(),
69
+ finishedAt: Option.none(),
70
+ etag: crypto.randomUUID()
71
+ }));
72
+ }),
73
+ take: Effect.gen(function* () {
74
+ while (true) {
75
+ const [first] = yield* drain.pipe(Effect.withTracerEnabled(false)); // disable sql tracer otherwise we spam it..
76
+ if (first) {
77
+ const dec = yield* decodeDrain(first);
78
+ const { createdAt, updatedAt, ...rest } = dec;
79
+ return yield* drainRepo.update(Drain.update.make({ ...rest, processingAt: Option.some(new Date()) }) // auto in lib , etag: crypto.randomUUID()
80
+ );
81
81
  }
82
- }),
83
- finish: ({ createdAt, updatedAt, ...q }) => drainRepo.updateVoid({ ...q, finishedAt: Option.some(new Date()) }) // auto in lib , etag: crypto.randomUUID()
84
- };
85
- const queue = {
86
- publish: (...messages) => getRequestContext
87
- .pipe(Effect.flatMap((requestContext) => Effect
88
- .forEach(messages, (m) => q.offer(m, requestContext), {
89
- discard: true
90
- })), Effect.withSpan("queue.publish: " + queueName, {
91
- kind: "producer",
92
- attributes: { "message_tags": messages.map((_) => _._tag) }
93
- }, { captureStackTrace: false })),
94
- drain: (handleEvent, sessionId) => {
95
- const silenceAndReportError = reportNonInterruptedFailure({ name: "MemQueue.drain." + queueDrainName });
96
- const processMessage = (msg) => Effect
97
- .succeed(msg)
98
- .pipe(Effect
99
- .flatMap(({ body, meta }) => {
100
- let effect = InfraLogger
101
- .logDebug(`[${queueDrainName}] Processing incoming message`)
102
- .pipe(Effect.annotateLogs({ body: pretty(body), meta: pretty(meta) }), Effect.andThen(handleEvent(body)), silenceAndReportError, (_) => setupRequestContextWithCustomSpan(_, meta, `queue.drain: ${queueDrainName}.${body._tag}`, {
103
- captureStackTrace: false,
104
- kind: "consumer",
105
- attributes: {
106
- "queue.name": queueDrainName,
107
- "queue.sessionId": sessionId,
108
- "queue.input": body
109
- }
110
- }));
111
- if (meta.span) {
112
- effect = Effect.withParentSpan(effect, Tracer.externalSpan(meta.span));
113
- }
114
- return effect;
115
- }));
116
- return q
117
- .take
118
- .pipe(Effect.flatMap((x) => processMessage(x).pipe(Effect.uninterruptible, Effect.forkChild, Effect.flatMap(Fiber.join), Effect.tap(q.finish(x)))), silenceAndReportError, Effect.withSpan(`queue.drain: ${queueDrainName}`, {
119
- attributes: {
120
- "queue.type": "sql",
121
- "queue.name": queueDrainName,
122
- "queue.sessionId": sessionId
123
- }
124
- }), Effect.forever);
82
+ if (first)
83
+ return first;
84
+ yield* Effect.sleep(250);
125
85
  }
126
- };
127
- return queue;
128
- });
129
- }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FMUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUXVldWVNYWtlci9TUUxRdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNqRixPQUFPLEVBQWtCLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQThCLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXpGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFMUMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtBQUd4RCxvRkFBb0Y7QUFDcEYsTUFBTSxVQUFVLFlBQVksQ0FNMUIsU0FBNEIsRUFDNUIsY0FBaUMsRUFDakMsTUFBMEIsRUFDMUIsV0FBeUM7SUFFekMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRztZQUNYLEVBQUUsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMvQixJQUFJLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDeEMs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
86
+ }),
87
+ finish: Effect.fn(function* ({ createdAt, updatedAt, ...q }) {
88
+ return yield* drainRepo.updateVoid(Drain.update.make({ ...q, finishedAt: Option.some(new Date()) })); // auto in lib , etag: crypto.randomUUID()
89
+ })
90
+ };
91
+ const queue = {
92
+ publish: Effect.fn(`publish ${queueName}`, {
93
+ kind: "producer",
94
+ attributes: {
95
+ "messaging.system": "sql",
96
+ "messaging.operation.name": "publish",
97
+ "messaging.destination.name": queueName
98
+ }
99
+ })(function* (...messages) {
100
+ yield* Effect.annotateCurrentSpan({
101
+ "messaging.batch.message_count": messages.length,
102
+ "messaging.message.types": messages.map((_) => _._tag)
103
+ });
104
+ const requestContext = yield* getRequestContext;
105
+ yield* Effect.forEach(messages, (m) => q.offer(m, requestContext), { discard: true });
106
+ }),
107
+ drain: (handleEvent, sessionId) => {
108
+ const silenceAndReportError = reportNonInterruptedFailure({ name: "MemQueue.drain." + queueDrainName });
109
+ const processMessage = Effect.fnUntraced(function* ({ body, meta }) {
110
+ let effect = InfraLogger
111
+ .logDebug(`[${queueDrainName}] Processing incoming message`)
112
+ .pipe(Effect.annotateLogs({ body: pretty(body), meta: pretty(meta) }), Effect.andThen(handleEvent(body)), silenceAndReportError, (_) => {
113
+ const args = messagingSpanArgs({
114
+ operation: "process",
115
+ system: "sql",
116
+ destination: queueDrainName,
117
+ messageId: body.id,
118
+ conversationId: sessionId,
119
+ extra: { "messaging.message.type": body._tag, "messaging.message.body": body }
120
+ }, "consumer");
121
+ return setupRequestContextWithCustomSpan(_, meta, args.name, {
122
+ captureStackTrace: false,
123
+ kind: args.kind,
124
+ attributes: args.attributes
125
+ });
126
+ });
127
+ if (meta.span) {
128
+ effect = Effect.withParentSpan(effect, Tracer.externalSpan(meta.span));
129
+ }
130
+ return yield* effect;
131
+ });
132
+ return Effect.fn(`receive ${queueDrainName}`, {
133
+ kind: "consumer",
134
+ attributes: {
135
+ "messaging.system": "sql",
136
+ "messaging.operation.name": "receive",
137
+ "messaging.destination.name": queueDrainName,
138
+ ...(sessionId !== undefined && { "messaging.message.conversation_id": sessionId })
139
+ }
140
+ })(function* () {
141
+ const x = yield* q.take;
142
+ yield* processMessage(x).pipe(Effect.uninterruptible, Effect.forkChild, Effect.flatMap(Fiber.join), Effect.tap(q.finish(x)));
143
+ }, (effect) => effect.pipe(silenceAndReportError, Effect.forever))();
144
+ }
145
+ };
146
+ return queue;
147
+ });
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FMUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUXVldWVNYWtlci9TUUxRdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRXJDLE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQWtCLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2pFLE9BQU8sS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDOUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7QUFHeEQsb0ZBQW9GO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQU1yRCxTQUE0QixFQUM1QixjQUFp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
@@ -1,5 +1,7 @@
1
- import { Cause, Effect, Exit } from "effect-app";
2
- export declare const reportQueueError: <E>(cause: Cause.Cause<E>, extras?: Record<string, unknown>) => Effect.Effect<import("effect-app/client/errors").CauseException<unknown> | undefined, never, never>;
1
+ import * as Effect from "effect-app/Effect";
2
+ import * as Cause from "effect/Cause";
3
+ import * as Exit from "effect/Exit";
4
+ export declare const reportQueueError: <E>(cause: Cause.Cause<E>, extras?: Record<string, unknown>) => Effect.Effect<import("effect-app/client").CauseException<unknown> | undefined, never, never>;
3
5
  export declare function reportNonInterruptedFailure(context?: Record<string, unknown>): <A, E, R>(inp: Effect.Effect<A, E, R>) => Effect.Effect<Exit.Exit<A, E>, never, R>;
4
6
  export declare function reportNonInterruptedFailureCause(context?: Record<string, unknown>): <E>(cause: Cause.Cause<E>) => Effect.Effect<void>;
5
- //# sourceMappingURL=errors.d.ts.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUXVldWVNYWtlci9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUluQyxlQUFPLE1BQU0sZ0JBQWdCLEdBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsaUdBQ3pELENBQUE7QUFFbEMsd0JBQWdCLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBRW5FLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FVeEY7QUFFRCx3QkFBZ0IsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFDeEUsQ0FBQyxTQUFTLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FNdkQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAIhD,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,wGACzD,CAAA;AAElC,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAEnE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAUxF;AAED,wBAAgB,gCAAgC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACxE,CAAC,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAMvD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/errors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAInC,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iGACzD,CAAA;AAElC,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAEnE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAUxF;AAED,wBAAgB,gCAAgC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACxE,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAMvD"}
@@ -1,5 +1,7 @@
1
1
  import { reportError } from "@effect-app/infra/errorReporter";
2
- import { Cause, Effect, Exit } from "effect-app";
2
+ import * as Effect from "effect-app/Effect";
3
+ import * as Cause from "effect/Cause";
4
+ import * as Exit from "effect/Exit";
3
5
  const reportQueueError_ = reportError("Queue");
4
6
  export const reportQueueError = (cause, extras) => reportQueueError_(cause, extras);
5
7
  export function reportNonInterruptedFailure(context) {
@@ -17,4 +19,4 @@ export function reportNonInterruptedFailureCause(context) {
17
19
  return reportQueueError(cause, context);
18
20
  };
19
21
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1F1ZXVlTWFrZXIvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFaEQsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUE7QUFFOUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBSSxLQUFxQixFQUFFLE1BQWdDLEVBQUUsRUFBRSxDQUM3RixpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFFbEMsTUFBTSxVQUFVLDJCQUEyQixDQUFDLE9BQWlDO0lBQzNFLE1BQU0sTUFBTSxHQUFHLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3hELE9BQU8sQ0FBVSxHQUEyQixFQUE0QyxFQUFFLENBQ3hGLEdBQUcsQ0FBQyxJQUFJLENBQ04sTUFBTSxDQUFDLE1BQU0sQ0FDWCxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ1QsU0FBUyxFQUFFLE1BQU07UUFDakIsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJO0tBQzdCLENBQUMsQ0FDSCxFQUNELE1BQU0sQ0FBQyxJQUFJLENBQ1osQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDLENBQUMsT0FBaUM7SUFDaEYsT0FBTyxDQUFJLEtBQXFCLEVBQXVCLEVBQUU7UUFDdkQsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBMkIsQ0FBQyxDQUFBO1FBQ3RELENBQUM7UUFDRCxPQUFPLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN6QyxDQUFDLENBQUE7QUFDSCxDQUFDIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1F1ZXVlTWFrZXIvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM3RCxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxJQUFJLE1BQU0sYUFBYSxDQUFBO0FBRW5DLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUksS0FBcUIsRUFBRSxNQUFnQyxFQUFFLEVBQUUsQ0FDN0YsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBRWxDLE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxPQUFpQztJQUMzRSxNQUFNLE1BQU0sR0FBRyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN4RCxPQUFPLENBQVUsR0FBMkIsRUFBNEMsRUFBRSxDQUN4RixHQUFHLENBQUMsSUFBSSxDQUNOLE1BQU0sQ0FBQyxNQUFNLENBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNULFNBQVMsRUFBRSxNQUFNO1FBQ2pCLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSTtLQUM3QixDQUFDLENBQ0gsRUFDRCxNQUFNLENBQUMsSUFBSSxDQUNaLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLE9BQWlDO0lBQ2hGLE9BQU8sQ0FBSSxLQUFxQixFQUF1QixFQUFFO1FBQ3ZELElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQTJCLENBQUMsQ0FBQTtRQUN0RCxDQUFDO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDekMsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyJ9
@@ -1,11 +1,15 @@
1
- import { Effect, S } from "effect-app";
2
- import { MemQueue } from "../adapters/memQueue.js";
3
- import { type QueueBase } from "./service.js";
4
- export declare function makeMemQueue<Evt extends {
1
+ import * as Effect from "effect-app/Effect";
2
+ import * as S from "effect-app/Schema";
3
+ import * as Tracer from "effect/Tracer";
4
+ import { MemQueue } from "../memQueue.js";
5
+ export declare const makeMemQueue: <Evt extends {
5
6
  id: S.StringId;
6
7
  _tag: string;
7
8
  }, DrainEvt extends {
8
9
  id: S.StringId;
9
10
  _tag: string;
10
- }, EvtE, DrainEvtE>(queueName: string, queueDrainName: string, schema: S.Codec<Evt, EvtE>, drainSchema: S.Codec<DrainEvt, DrainEvtE>): Effect.Effect<QueueBase<Evt, DrainEvt>, never, MemQueue>;
11
- //# sourceMappingURL=memQueue.d.ts.map
11
+ }, EvtE, DrainEvtE>(queueName: string, queueDrainName: string, schema: S.Codec<Evt, EvtE, never, never>, drainSchema: S.Codec<DrainEvt, DrainEvtE, never, never>) => Effect.Effect<{
12
+ publish: (args_0: Evt, ...args: Evt[]) => Effect.Effect<void, never, never>;
13
+ drain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect.Effect<void, DrainE, DrainR>, sessionId?: string) => Effect.Effect<never, never, Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>>;
14
+ }, never, MemQueue>;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtUXVldWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL21lbVF1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUE7QUFFM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxtQkFBbUIsQ0FBQTtBQU90QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUV2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFJekMsZUFBTyxNQUFNLFlBQVksR0FDdkIsR0FBRyxTQUFTO0lBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0NBQUUsRUFDNUMsUUFBUSxTQUFTO0lBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0NBQUUsRUFDakQsSUFBSSxFQUNKLFNBQVM7O1lBOENDLE1BQU0sRUFBRSxNQUFNLGVBQ1AsQ0FBQyxFQUFFLEVBQUUsUUFBUSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsY0FDdEQsTUFBTTttQkFtRXRCLENBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"memQueue.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/memQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA2C,CAAC,EAAE,MAAM,YAAY,CAAA;AAG/E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAIlD,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,cAAc,CAAA;AAExD,wBAAgB,YAAY,CAC1B,GAAG,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,QAAQ,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACjD,IAAI,EACJ,SAAS,EAET,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAC1B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,4DA8G1C"}
1
+ {"version":3,"file":"memQueue.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/memQueue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAA;AAOtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,eAAO,MAAM,YAAY,GACvB,GAAG,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,QAAQ,SAAS;IAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACjD,IAAI,EACJ,SAAS;;YA8CC,MAAM,EAAE,MAAM,eACP,CAAC,EAAE,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,cACtD,MAAM;mBAmEtB,CAAA"}