@effect-app/infra 4.0.0-beta.28 → 4.0.0-beta.280

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 (477) hide show
  1. package/CHANGELOG.md +2122 -0
  2. package/_check.sh +1 -1
  3. package/dist/CUPS.d.ts +29 -10
  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 +547 -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 +110 -146
  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 +1 -1
  19. package/dist/Emailer/fake.d.ts.map +1 -1
  20. package/dist/Emailer/fake.js +4 -4
  21. package/dist/MainFiberSet.d.ts +11 -8
  22. package/dist/MainFiberSet.d.ts.map +1 -1
  23. package/dist/MainFiberSet.js +10 -6
  24. package/dist/QueueMaker/SQLQueue.d.ts +7 -8
  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 +4 -2
  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 +9 -5
  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 +8 -4
  34. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  35. package/dist/QueueMaker/sbqueue.js +60 -58
  36. package/dist/RequestFiberSet.d.ts +9 -6
  37. package/dist/RequestFiberSet.d.ts.map +1 -1
  38. package/dist/RequestFiberSet.js +13 -8
  39. package/dist/{adapters/SQL → SQL}/Model.d.ts +31 -42
  40. package/dist/SQL/Model.d.ts.map +1 -0
  41. package/dist/SQL/Model.js +469 -0
  42. package/dist/SQL.d.ts.map +1 -0
  43. package/dist/{adapters/SQL.js → SQL.js} +1 -1
  44. package/dist/{adapters/ServiceBus.d.ts → ServiceBus.d.ts} +13 -10
  45. package/dist/ServiceBus.d.ts.map +1 -0
  46. package/dist/ServiceBus.js +108 -0
  47. package/dist/Store/Cosmos/query.d.ts +14 -3
  48. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  49. package/dist/Store/Cosmos/query.js +179 -41
  50. package/dist/Store/Cosmos.d.ts +2 -2
  51. package/dist/Store/Cosmos.d.ts.map +1 -1
  52. package/dist/Store/Cosmos.js +385 -254
  53. package/dist/Store/Disk.d.ts +4 -4
  54. package/dist/Store/Disk.d.ts.map +1 -1
  55. package/dist/Store/Disk.js +79 -39
  56. package/dist/Store/Memory.d.ts +5 -9
  57. package/dist/Store/Memory.d.ts.map +1 -1
  58. package/dist/Store/Memory.js +324 -67
  59. package/dist/Store/SQL/Pg.d.ts +4 -0
  60. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  61. package/dist/Store/SQL/Pg.js +232 -0
  62. package/dist/Store/SQL/query.d.ts +49 -0
  63. package/dist/Store/SQL/query.d.ts.map +1 -0
  64. package/dist/Store/SQL/query.js +527 -0
  65. package/dist/Store/SQL.d.ts +21 -0
  66. package/dist/Store/SQL.d.ts.map +1 -0
  67. package/dist/Store/SQL.js +456 -0
  68. package/dist/Store/codeFilter.d.ts +4 -4
  69. package/dist/Store/codeFilter.d.ts.map +1 -1
  70. package/dist/Store/codeFilter.js +6 -4
  71. package/dist/Store/index.d.ts +6 -4
  72. package/dist/Store/index.d.ts.map +1 -1
  73. package/dist/Store/index.js +18 -5
  74. package/dist/Store/utils.d.ts +5 -2
  75. package/dist/Store/utils.d.ts.map +1 -1
  76. package/dist/Store/utils.js +9 -5
  77. package/dist/WorkflowEngineCosmos.d.ts +29 -0
  78. package/dist/WorkflowEngineCosmos.d.ts.map +1 -0
  79. package/dist/WorkflowEngineCosmos.js +542 -0
  80. package/dist/WorkflowEngineSqlite.d.ts +24 -0
  81. package/dist/WorkflowEngineSqlite.d.ts.map +1 -0
  82. package/dist/WorkflowEngineSqlite.js +550 -0
  83. package/dist/arbs.d.ts +1 -1
  84. package/dist/arbs.d.ts.map +1 -1
  85. package/dist/arbs.js +5 -3
  86. package/dist/codec.d.ts.map +1 -0
  87. package/dist/codec.js +5 -0
  88. package/dist/{adapters/cosmos-client.d.ts → cosmos-client.d.ts} +4 -2
  89. package/dist/cosmos-client.d.ts.map +1 -0
  90. package/dist/cosmos-client.js +11 -0
  91. package/dist/errorReporter.d.ts +6 -4
  92. package/dist/errorReporter.d.ts.map +1 -1
  93. package/dist/errorReporter.js +23 -27
  94. package/dist/fileUtil.d.ts +1 -1
  95. package/dist/fileUtil.d.ts.map +1 -1
  96. package/dist/fileUtil.js +2 -2
  97. package/dist/index.d.ts +2 -1
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +3 -2
  100. package/dist/internal/RequestContextMiddleware.d.ts +5 -0
  101. package/dist/internal/RequestContextMiddleware.d.ts.map +1 -0
  102. package/dist/internal/RequestContextMiddleware.js +45 -0
  103. package/dist/internal/auth.d.ts +53 -0
  104. package/dist/internal/auth.d.ts.map +1 -0
  105. package/dist/internal/auth.js +180 -0
  106. package/dist/internal/events.d.ts +11 -0
  107. package/dist/internal/events.d.ts.map +1 -0
  108. package/dist/internal/events.js +49 -0
  109. package/dist/internal/health.d.ts.map +1 -0
  110. package/dist/internal/health.js +5 -0
  111. package/dist/{api/layerUtils.d.ts → layerUtils.d.ts} +14 -6
  112. package/dist/layerUtils.d.ts.map +1 -0
  113. package/dist/layerUtils.js +17 -0
  114. package/dist/logger/jsonLogger.d.ts +1 -1
  115. package/dist/logger/jsonLogger.d.ts.map +1 -1
  116. package/dist/logger/jsonLogger.js +5 -3
  117. package/dist/logger/logFmtLogger.d.ts +1 -1
  118. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  119. package/dist/logger/logFmtLogger.js +3 -3
  120. package/dist/logger/shared.d.ts +2 -2
  121. package/dist/logger/shared.d.ts.map +1 -1
  122. package/dist/logger/shared.js +5 -5
  123. package/dist/logger.d.ts.map +1 -1
  124. package/dist/{adapters/memQueue.d.ts → memQueue.d.ts} +4 -2
  125. package/dist/memQueue.d.ts.map +1 -0
  126. package/dist/memQueue.js +21 -0
  127. package/dist/middlewares.d.ts.map +1 -0
  128. package/dist/{api/middlewares.js → middlewares.js} +1 -1
  129. package/dist/{adapters/mongo-client.d.ts → mongo-client.d.ts} +3 -2
  130. package/dist/mongo-client.d.ts.map +1 -0
  131. package/dist/mongo-client.js +15 -0
  132. package/dist/otel.d.ts +75 -0
  133. package/dist/otel.d.ts.map +1 -0
  134. package/dist/otel.js +65 -0
  135. package/dist/rateLimit.d.ts +11 -3
  136. package/dist/rateLimit.d.ts.map +1 -1
  137. package/dist/rateLimit.js +7 -12
  138. package/dist/{adapters/redis-client.d.ts → redis-client.d.ts} +5 -2
  139. package/dist/redis-client.d.ts.map +1 -0
  140. package/dist/redis-client.js +98 -0
  141. package/dist/{api/reportError.d.ts → reportError.d.ts} +1 -1
  142. package/dist/reportError.d.ts.map +1 -0
  143. package/dist/reportError.js +28 -0
  144. package/dist/{api/routing → routing}/middleware/RouterMiddleware.d.ts +4 -3
  145. package/dist/routing/middleware/RouterMiddleware.d.ts.map +1 -0
  146. package/dist/{api/routing → routing}/middleware/RouterMiddleware.js +1 -1
  147. package/dist/routing/middleware/middleware.d.ts +48 -0
  148. package/dist/routing/middleware/middleware.d.ts.map +1 -0
  149. package/dist/routing/middleware/middleware.js +128 -0
  150. package/dist/{api/routing → routing}/middleware.d.ts +0 -1
  151. package/dist/routing/middleware.d.ts.map +1 -0
  152. package/dist/{api/routing → routing}/middleware.js +1 -2
  153. package/dist/routing/schema/jwt.d.ts.map +1 -0
  154. package/dist/routing/schema/jwt.js +13 -0
  155. package/dist/routing/tsort.d.ts.map +1 -0
  156. package/dist/routing/tsort.js +51 -0
  157. package/dist/{api/routing → routing}/utils.d.ts +3 -3
  158. package/dist/routing/utils.d.ts.map +1 -0
  159. package/dist/routing/utils.js +45 -0
  160. package/dist/routing.d.ts +182 -0
  161. package/dist/routing.d.ts.map +1 -0
  162. package/dist/routing.js +235 -0
  163. package/dist/test.d.ts +2 -2
  164. package/dist/test.d.ts.map +1 -1
  165. package/dist/test.js +2 -2
  166. package/dist/util.d.ts.map +1 -0
  167. package/dist/util.js +14 -0
  168. package/docs/cluster-storage.md +26 -0
  169. package/docs/workflow-engine.md +262 -0
  170. package/examples/query.ts +47 -39
  171. package/package.json +33 -352
  172. package/src/CUPS.ts +53 -14
  173. package/src/ClusterCosmos.ts +1118 -0
  174. package/src/ClusterServiceBus.ts +242 -0
  175. package/src/{api/ContextProvider.ts → ContextProvider.ts} +20 -17
  176. package/src/Emailer/Sendgrid.ts +83 -60
  177. package/src/Emailer/fake.ts +4 -4
  178. package/src/MainFiberSet.ts +15 -13
  179. package/src/QueueMaker/SQLQueue.ts +154 -157
  180. package/src/QueueMaker/errors.ts +3 -1
  181. package/src/QueueMaker/memQueue.ts +115 -109
  182. package/src/QueueMaker/sbqueue.ts +80 -92
  183. package/src/RequestFiberSet.ts +14 -9
  184. package/src/{adapters/SQL → SQL}/Model.ts +42 -41
  185. package/src/SQL.ts +1 -0
  186. package/src/ServiceBus.ts +219 -0
  187. package/src/Store/Cosmos/query.ts +218 -54
  188. package/src/Store/Cosmos.ts +529 -365
  189. package/src/Store/Disk.ts +112 -70
  190. package/src/Store/Memory.ts +365 -99
  191. package/src/Store/SQL/Pg.ts +363 -0
  192. package/src/Store/SQL/query.ts +603 -0
  193. package/src/Store/SQL.ts +746 -0
  194. package/src/Store/codeFilter.ts +8 -6
  195. package/src/Store/index.ts +25 -10
  196. package/src/Store/utils.ts +32 -25
  197. package/src/WorkflowEngineCosmos.ts +749 -0
  198. package/src/WorkflowEngineSqlite.ts +813 -0
  199. package/src/arbs.ts +5 -3
  200. package/src/{adapters/cosmos-client.ts → cosmos-client.ts} +5 -3
  201. package/src/errorReporter.ts +68 -78
  202. package/src/fileUtil.ts +1 -1
  203. package/src/index.ts +2 -1
  204. package/src/{api/internal → internal}/RequestContextMiddleware.ts +23 -6
  205. package/src/internal/auth.ts +272 -0
  206. package/src/{api/internal → internal}/events.ts +22 -13
  207. package/src/{api/layerUtils.ts → layerUtils.ts} +14 -10
  208. package/src/logger/jsonLogger.ts +5 -3
  209. package/src/logger/logFmtLogger.ts +3 -3
  210. package/src/logger/shared.ts +5 -4
  211. package/src/{adapters/memQueue.ts → memQueue.ts} +5 -4
  212. package/src/middlewares.ts +10 -0
  213. package/src/{adapters/mongo-client.ts → mongo-client.ts} +4 -2
  214. package/src/otel.ts +152 -0
  215. package/src/rateLimit.ts +34 -23
  216. package/src/{adapters/redis-client.ts → redis-client.ts} +7 -3
  217. package/src/{api/reportError.ts → reportError.ts} +3 -2
  218. package/src/{api/routing → routing}/middleware/RouterMiddleware.ts +5 -4
  219. package/src/{api/routing → routing}/middleware/middleware.ts +62 -17
  220. package/src/routing/middleware.ts +4 -0
  221. package/src/{api/routing → routing}/schema/jwt.ts +2 -1
  222. package/src/{api/routing → routing}/utils.ts +2 -1
  223. package/src/routing.ts +766 -0
  224. package/src/test.ts +4 -4
  225. package/src/vitest.ts +1 -1
  226. package/test/auth.test.ts +101 -0
  227. package/test/cluster-cosmos.test.ts +612 -0
  228. package/test/cluster-servicebus.test.ts +180 -0
  229. package/test/cluster-sqlite.test.ts +205 -0
  230. package/test/contextProvider.test.ts +15 -12
  231. package/test/controller.test.ts +28 -32
  232. package/test/cosmos-query.test.ts +159 -0
  233. package/test/dist/auth.test.d.ts.map +1 -0
  234. package/test/dist/cluster-cosmos.test.d.ts.map +1 -0
  235. package/test/dist/cluster-servicebus.test.d.ts.map +1 -0
  236. package/test/dist/cluster-sqlite.test.d.ts.map +1 -0
  237. package/test/dist/contextProvider.test.d.ts.map +1 -1
  238. package/test/dist/controller.test.d.ts.map +1 -1
  239. package/test/dist/cosmos-query.test.d.ts.map +1 -0
  240. package/test/dist/fixtures.d.ts +29 -11
  241. package/test/dist/fixtures.d.ts.map +1 -1
  242. package/test/dist/fixtures.js +17 -10
  243. package/test/dist/query.test.d.ts.map +1 -1
  244. package/test/dist/rawQuery.test.d.ts.map +1 -1
  245. package/test/dist/repository-ext.test.d.ts.map +1 -0
  246. package/test/dist/requires.test.d.ts.map +1 -1
  247. package/test/dist/router-generator.test.d.ts.map +1 -0
  248. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  249. package/test/dist/rpc-context-map-streaming.test.d.ts.map +1 -0
  250. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  251. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  252. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  253. package/test/dist/sql-store.test.d.ts.map +1 -0
  254. package/test/dist/workflow-engine-cosmos.test.d.ts.map +1 -0
  255. package/test/dist/workflow-engine-sqlite.test.d.ts.map +1 -0
  256. package/test/fixtures.ts +16 -9
  257. package/test/layerUtils.test.ts +2 -2
  258. package/test/query.test.ts +905 -40
  259. package/test/rawQuery.test.ts +340 -22
  260. package/test/repository-ext.test.ts +62 -0
  261. package/test/requires.test.ts +10 -5
  262. package/test/router-generator.test.ts +187 -0
  263. package/test/routing-interruptibility.test.ts +66 -0
  264. package/test/rpc-context-map-streaming.test.ts +262 -0
  265. package/test/rpc-e2e-invalidation.test.ts +256 -0
  266. package/test/rpc-multi-middleware.test.ts +85 -10
  267. package/test/rpc-stream-fullstack.test.ts +304 -0
  268. package/test/sql-store.test.ts +1711 -0
  269. package/test/validateSample.test.ts +26 -14
  270. package/test/workflow-engine-cosmos.test.ts +345 -0
  271. package/test/workflow-engine-sqlite.test.ts +297 -0
  272. package/tsconfig.examples.json +1 -1
  273. package/tsconfig.json +3 -1
  274. package/tsconfig.src.json +35 -35
  275. package/tsconfig.test.json +2 -2
  276. package/dist/Emailer/service.d.ts +0 -55
  277. package/dist/Emailer/service.d.ts.map +0 -1
  278. package/dist/Emailer/service.js +0 -6
  279. package/dist/Emailer.d.ts +0 -2
  280. package/dist/Emailer.d.ts.map +0 -1
  281. package/dist/Emailer.js +0 -2
  282. package/dist/Model/Repository/ext.d.ts +0 -41
  283. package/dist/Model/Repository/ext.d.ts.map +0 -1
  284. package/dist/Model/Repository/ext.js +0 -65
  285. package/dist/Model/Repository/internal/internal.d.ts +0 -59
  286. package/dist/Model/Repository/internal/internal.d.ts.map +0 -1
  287. package/dist/Model/Repository/internal/internal.js +0 -316
  288. package/dist/Model/Repository/legacy.d.ts +0 -19
  289. package/dist/Model/Repository/legacy.d.ts.map +0 -1
  290. package/dist/Model/Repository/legacy.js +0 -2
  291. package/dist/Model/Repository/makeRepo.d.ts +0 -49
  292. package/dist/Model/Repository/makeRepo.d.ts.map +0 -1
  293. package/dist/Model/Repository/makeRepo.js +0 -24
  294. package/dist/Model/Repository/service.d.ts +0 -89
  295. package/dist/Model/Repository/service.d.ts.map +0 -1
  296. package/dist/Model/Repository/service.js +0 -2
  297. package/dist/Model/Repository/validation.d.ts +0 -42
  298. package/dist/Model/Repository/validation.d.ts.map +0 -1
  299. package/dist/Model/Repository/validation.js +0 -32
  300. package/dist/Model/Repository.d.ts +0 -6
  301. package/dist/Model/Repository.d.ts.map +0 -1
  302. package/dist/Model/Repository.js +0 -6
  303. package/dist/Model/dsl.d.ts +0 -32
  304. package/dist/Model/dsl.d.ts.map +0 -1
  305. package/dist/Model/dsl.js +0 -44
  306. package/dist/Model/filter/filterApi.d.ts +0 -30
  307. package/dist/Model/filter/filterApi.d.ts.map +0 -1
  308. package/dist/Model/filter/filterApi.js +0 -2
  309. package/dist/Model/filter/types/errors.d.ts +0 -29
  310. package/dist/Model/filter/types/errors.d.ts.map +0 -1
  311. package/dist/Model/filter/types/errors.js +0 -2
  312. package/dist/Model/filter/types/fields.d.ts +0 -15
  313. package/dist/Model/filter/types/fields.d.ts.map +0 -1
  314. package/dist/Model/filter/types/fields.js +0 -2
  315. package/dist/Model/filter/types/path/common.d.ts +0 -316
  316. package/dist/Model/filter/types/path/common.d.ts.map +0 -1
  317. package/dist/Model/filter/types/path/common.js +0 -2
  318. package/dist/Model/filter/types/path/eager.d.ts +0 -95
  319. package/dist/Model/filter/types/path/eager.d.ts.map +0 -1
  320. package/dist/Model/filter/types/path/eager.js +0 -31
  321. package/dist/Model/filter/types/path/index.d.ts +0 -4
  322. package/dist/Model/filter/types/path/index.d.ts.map +0 -1
  323. package/dist/Model/filter/types/path/index.js +0 -3
  324. package/dist/Model/filter/types/utils.d.ts +0 -79
  325. package/dist/Model/filter/types/utils.d.ts.map +0 -1
  326. package/dist/Model/filter/types/utils.js +0 -2
  327. package/dist/Model/filter/types/validator.d.ts +0 -30
  328. package/dist/Model/filter/types/validator.d.ts.map +0 -1
  329. package/dist/Model/filter/types/validator.js +0 -2
  330. package/dist/Model/filter/types.d.ts +0 -5
  331. package/dist/Model/filter/types.d.ts.map +0 -1
  332. package/dist/Model/filter/types.js +0 -7
  333. package/dist/Model/query/dsl.d.ts +0 -248
  334. package/dist/Model/query/dsl.d.ts.map +0 -1
  335. package/dist/Model/query/dsl.js +0 -104
  336. package/dist/Model/query/new-kid-interpreter.d.ts +0 -28
  337. package/dist/Model/query/new-kid-interpreter.d.ts.map +0 -1
  338. package/dist/Model/query/new-kid-interpreter.js +0 -165
  339. package/dist/Model/query.d.ts +0 -15
  340. package/dist/Model/query.d.ts.map +0 -1
  341. package/dist/Model/query.js +0 -3
  342. package/dist/Model.d.ts +0 -4
  343. package/dist/Model.d.ts.map +0 -1
  344. package/dist/Model.js +0 -4
  345. package/dist/Operations.d.ts +0 -55
  346. package/dist/Operations.d.ts.map +0 -1
  347. package/dist/Operations.js +0 -102
  348. package/dist/OperationsRepo.d.ts +0 -41
  349. package/dist/OperationsRepo.d.ts.map +0 -1
  350. package/dist/OperationsRepo.js +0 -14
  351. package/dist/QueueMaker/service.d.ts +0 -11
  352. package/dist/QueueMaker/service.d.ts.map +0 -1
  353. package/dist/QueueMaker/service.js +0 -4
  354. package/dist/RequestContext.d.ts +0 -63
  355. package/dist/RequestContext.d.ts.map +0 -1
  356. package/dist/RequestContext.js +0 -49
  357. package/dist/Store/ContextMapContainer.d.ts +0 -14
  358. package/dist/Store/ContextMapContainer.d.ts.map +0 -1
  359. package/dist/Store/ContextMapContainer.js +0 -16
  360. package/dist/Store/service.d.ts +0 -108
  361. package/dist/Store/service.d.ts.map +0 -1
  362. package/dist/Store/service.js +0 -71
  363. package/dist/Store.d.ts +0 -2
  364. package/dist/Store.d.ts.map +0 -1
  365. package/dist/Store.js +0 -2
  366. package/dist/adapters/SQL/Model.d.ts.map +0 -1
  367. package/dist/adapters/SQL/Model.js +0 -478
  368. package/dist/adapters/SQL.d.ts.map +0 -1
  369. package/dist/adapters/ServiceBus.d.ts.map +0 -1
  370. package/dist/adapters/ServiceBus.js +0 -99
  371. package/dist/adapters/cosmos-client.d.ts.map +0 -1
  372. package/dist/adapters/cosmos-client.js +0 -9
  373. package/dist/adapters/index.d.ts +0 -2
  374. package/dist/adapters/index.d.ts.map +0 -1
  375. package/dist/adapters/index.js +0 -2
  376. package/dist/adapters/logger.d.ts +0 -9
  377. package/dist/adapters/logger.d.ts.map +0 -1
  378. package/dist/adapters/logger.js +0 -3
  379. package/dist/adapters/memQueue.d.ts.map +0 -1
  380. package/dist/adapters/memQueue.js +0 -20
  381. package/dist/adapters/mongo-client.d.ts.map +0 -1
  382. package/dist/adapters/mongo-client.js +0 -13
  383. package/dist/adapters/redis-client.d.ts.map +0 -1
  384. package/dist/adapters/redis-client.js +0 -94
  385. package/dist/api/ContextProvider.d.ts +0 -31
  386. package/dist/api/ContextProvider.d.ts.map +0 -1
  387. package/dist/api/ContextProvider.js +0 -38
  388. package/dist/api/codec.d.ts.map +0 -1
  389. package/dist/api/codec.js +0 -5
  390. package/dist/api/internal/RequestContextMiddleware.d.ts +0 -5
  391. package/dist/api/internal/RequestContextMiddleware.d.ts.map +0 -1
  392. package/dist/api/internal/RequestContextMiddleware.js +0 -35
  393. package/dist/api/internal/auth.d.ts +0 -15
  394. package/dist/api/internal/auth.d.ts.map +0 -1
  395. package/dist/api/internal/auth.js +0 -47
  396. package/dist/api/internal/events.d.ts +0 -9
  397. package/dist/api/internal/events.d.ts.map +0 -1
  398. package/dist/api/internal/events.js +0 -42
  399. package/dist/api/internal/health.d.ts.map +0 -1
  400. package/dist/api/internal/health.js +0 -5
  401. package/dist/api/layerUtils.d.ts.map +0 -1
  402. package/dist/api/layerUtils.js +0 -16
  403. package/dist/api/middlewares.d.ts.map +0 -1
  404. package/dist/api/reportError.d.ts.map +0 -1
  405. package/dist/api/reportError.js +0 -27
  406. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +0 -1
  407. package/dist/api/routing/middleware/middleware.d.ts +0 -9
  408. package/dist/api/routing/middleware/middleware.d.ts.map +0 -1
  409. package/dist/api/routing/middleware/middleware.js +0 -92
  410. package/dist/api/routing/middleware.d.ts.map +0 -1
  411. package/dist/api/routing/schema/jwt.d.ts.map +0 -1
  412. package/dist/api/routing/schema/jwt.js +0 -12
  413. package/dist/api/routing/tsort.d.ts.map +0 -1
  414. package/dist/api/routing/tsort.js +0 -51
  415. package/dist/api/routing/utils.d.ts.map +0 -1
  416. package/dist/api/routing/utils.js +0 -44
  417. package/dist/api/routing.d.ts +0 -138
  418. package/dist/api/routing.d.ts.map +0 -1
  419. package/dist/api/routing.js +0 -166
  420. package/dist/api/setupRequest.d.ts +0 -12
  421. package/dist/api/setupRequest.d.ts.map +0 -1
  422. package/dist/api/setupRequest.js +0 -44
  423. package/dist/api/util.d.ts.map +0 -1
  424. package/dist/api/util.js +0 -14
  425. package/eslint.config.mjs +0 -24
  426. package/src/Emailer/service.ts +0 -52
  427. package/src/Emailer.ts +0 -1
  428. package/src/Model/Repository/ext.ts +0 -283
  429. package/src/Model/Repository/internal/internal.ts +0 -577
  430. package/src/Model/Repository/legacy.ts +0 -27
  431. package/src/Model/Repository/makeRepo.ts +0 -139
  432. package/src/Model/Repository/service.ts +0 -627
  433. package/src/Model/Repository/validation.ts +0 -31
  434. package/src/Model/Repository.ts +0 -5
  435. package/src/Model/dsl.ts +0 -128
  436. package/src/Model/filter/filterApi.ts +0 -60
  437. package/src/Model/filter/types/errors.ts +0 -47
  438. package/src/Model/filter/types/fields.ts +0 -50
  439. package/src/Model/filter/types/path/common.ts +0 -404
  440. package/src/Model/filter/types/path/eager.ts +0 -298
  441. package/src/Model/filter/types/path/index.ts +0 -4
  442. package/src/Model/filter/types/utils.ts +0 -128
  443. package/src/Model/filter/types/validator.ts +0 -46
  444. package/src/Model/filter/types.ts +0 -6
  445. package/src/Model/query/dsl.ts +0 -2110
  446. package/src/Model/query/new-kid-interpreter.ts +0 -210
  447. package/src/Model/query.ts +0 -13
  448. package/src/Model.ts +0 -3
  449. package/src/Operations.ts +0 -235
  450. package/src/OperationsRepo.ts +0 -16
  451. package/src/QueueMaker/service.ts +0 -17
  452. package/src/RequestContext.ts +0 -63
  453. package/src/Store/ContextMapContainer.ts +0 -20
  454. package/src/Store/index.test.ts.bak +0 -112
  455. package/src/Store/service.ts +0 -184
  456. package/src/Store.ts +0 -1
  457. package/src/adapters/SQL.ts +0 -1
  458. package/src/adapters/ServiceBus.ts +0 -209
  459. package/src/adapters/index.ts +0 -0
  460. package/src/adapters/logger.ts +0 -3
  461. package/src/api/internal/auth.ts +0 -68
  462. package/src/api/middlewares.ts +0 -10
  463. package/src/api/routing/middleware.ts +0 -6
  464. package/src/api/routing.ts +0 -598
  465. package/src/api/setupRequest.ts +0 -84
  466. package/tsconfig.json.bak +0 -12
  467. /package/dist/{adapters/SQL.d.ts → SQL.d.ts} +0 -0
  468. /package/dist/{api/codec.d.ts → codec.d.ts} +0 -0
  469. /package/dist/{api/internal → internal}/health.d.ts +0 -0
  470. /package/dist/{api/middlewares.d.ts → middlewares.d.ts} +0 -0
  471. /package/dist/{api/routing → routing}/schema/jwt.d.ts +0 -0
  472. /package/dist/{api/routing → routing}/tsort.d.ts +0 -0
  473. /package/dist/{api/util.d.ts → util.d.ts} +0 -0
  474. /package/src/{api/codec.ts → codec.ts} +0 -0
  475. /package/src/{api/internal → internal}/health.ts +0 -0
  476. /package/src/{api/routing → routing}/tsort.ts +0 -0
  477. /package/src/{api/util.ts → util.ts} +0 -0
@@ -1,9 +0,0 @@
1
- export declare const InfraLogger: {
2
- logWarning: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
3
- logError: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
4
- logFatal: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
5
- logInfo: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
6
- logDebug: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
7
- logWithLevel: (level: import("effect/LogLevel").Severity, ...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
8
- };
9
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/adapters/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;iBAC0O,GAAG;eAAkF,GAAG;eAAkF,GAAG;cAAiF,GAAG;eAAkF,GAAG;8DAA+G,GAAI;CAD5oB,CAAA"}
@@ -1,3 +0,0 @@
1
- import { makeLog } from "effect-app/utils/logger";
2
- export const InfraLogger = makeLog("@effect-app/infra", "info");
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL2xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFakQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQSJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"memQueue.d.ts","sourceRoot":"","sources":["../../src/adapters/memQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;;;;;;;;AAkB3D,qBAAa,QAAS,SAAQ,aAA8D;IAC1F,MAAM,CAAC,QAAQ,CAAC,IAAI,uDAA0B;CAC/C"}
@@ -1,20 +0,0 @@
1
- import { Effect, ServiceMap } from "effect-app";
2
- import * as Q from "effect/Queue";
3
- const make = Effect
4
- .gen(function* () {
5
- const store = yield* Effect.sync(() => new Map());
6
- return {
7
- getOrCreateQueue: Effect.fnUntraced(function* (k) {
8
- const q = store.get(k);
9
- if (q)
10
- return q;
11
- const newQ = yield* Q.unbounded();
12
- store.set(k, newQ);
13
- return newQ;
14
- })
15
- };
16
- });
17
- export class MemQueue extends ServiceMap.Opaque()("effect-app/MemQueue", { make }) {
18
- static Live = this.toLayer(this.make);
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhcHRlcnMvbWVtUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBYyxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDM0QsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFFakMsTUFBTSxJQUFJLEdBQUcsTUFBTTtLQUNoQixHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ1osTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBK0IsQ0FBQyxDQUFBO0lBRTlFLE9BQU87UUFDTCxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQVM7WUFDckQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN0QixJQUFJLENBQUM7Z0JBQUUsT0FBTyxDQUFDLENBQUE7WUFDZixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFVLENBQUE7WUFDekMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDbEIsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDLENBQUM7S0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQUE7QUFFSixNQUFNLE9BQU8sUUFBUyxTQUFRLFVBQVUsQ0FBQyxNQUFNLEVBQVksQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFGLE1BQU0sQ0FBVSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-client.d.ts","sourceRoot":"","sources":["../../src/adapters/mongo-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,SAAS,CAAA;;iBAiBtC,UAAU,CAAC,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;;AADlE,qBAAa,WAAY,SAAQ,gBAEJ;CAAG;AAEhC,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,2CACH,CAAA"}
@@ -1,13 +0,0 @@
1
- import { Effect, Layer, ServiceMap } from "effect-app";
2
- import { MongoClient as MongoClient_ } from "mongodb";
3
- // TODO: we should probably share a single client...
4
- const withClient = (url) => Effect.acquireRelease(Effect
5
- .promise(() => {
6
- const client = new MongoClient_(url);
7
- return client.connect();
8
- }), (cl) => Effect.promise(() => cl.close()).pipe(Effect.uninterruptible, Effect.orDie));
9
- const makeMongoClient = (url, dbName) => Effect.map(withClient(url), (x) => ({ db: x.db(dbName) }));
10
- export class MongoClient extends ServiceMap.Service()("@services/MongoClient") {
11
- }
12
- export const MongoClientLive = (mongoUrl, dbName) => Layer.effect(MongoClient, makeMongoClient(mongoUrl, dbName));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28tY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL21vbmdvLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdEQsT0FBTyxFQUFFLFdBQVcsSUFBSSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFckQsb0RBQW9EO0FBRXBELE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDakMsTUFBTSxDQUFDLGNBQWMsQ0FDbkIsTUFBTTtLQUNILE9BQU8sQ0FBQyxHQUFHLEVBQUU7SUFDWixNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtBQUN6QixDQUFDLENBQUMsRUFDSixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQ3BGLENBQUE7QUFFSCxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQVcsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFcEgsTUFBTSxPQUFPLFdBQVksU0FBUSxVQUFVLENBQUMsT0FBTyxFQUUvQyxDQUFDLHVCQUF1QixDQUFDO0NBQUc7QUFFaEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBZ0IsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUNuRSxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUEifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis-client.d.ts","sourceRoot":"","sources":["../../src/adapters/redis-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,OAAO,MAAM,SAAS,CAAA;;;;AAE7B,qBAAa,mBAAoB,SAAQ,yBAAwC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;gBACrG,KAAK,EAAE,KAAK;CAGzB;AAED,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,MAAM;;;eAO9B,MAAM;gBAiCL,MAAM,SAAS,MAAM;gBAXrB,MAAM,SAAS,MAAM,SAAS,MAAM;oBAqBhC,MAAM;;;eAhCX,MAAM,OAAO,MAAM;uCA8D1C,CAAA;;qBAGgB,MAAM;mBACR,OAAO;kBACR,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;mBACzE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;mBACzF,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;uBACnF,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,EAAE,mBAAmB,CAAC;kBAClG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;;AAPtF,qBAAa,WAAY,SAAQ,gBAQJ;CAAG;AAEhC,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,2CACgB,CAAA"}
@@ -1,94 +0,0 @@
1
- import { Data, Effect, Layer, Option, ServiceMap } from "effect-app";
2
- import Redlock from "redlock";
3
- export class ConnectionException extends Data.TaggedError("ConnectionException") {
4
- constructor(cause) {
5
- super({ message: "A connection error ocurred", cause });
6
- }
7
- }
8
- export const makeRedisClient = (makeClient) => Effect.acquireRelease(Effect
9
- .sync(() => {
10
- const client = createClient(makeClient);
11
- const lock = new Redlock([client]);
12
- function get(key) {
13
- return Effect
14
- .callback((res) => {
15
- client.get(key, (err, v) => err
16
- ? res(Effect.fail(new ConnectionException(err)))
17
- : res(Effect.sync(() => Option.fromNullishOr(v))));
18
- })
19
- .pipe(Effect.uninterruptible);
20
- }
21
- function set(key, val) {
22
- return Effect
23
- .callback((res) => {
24
- client.set(key, val, (err) => err
25
- ? res(Effect.fail(new ConnectionException(err)))
26
- : res(Effect.sync(() => void 0)));
27
- })
28
- .pipe(Effect.uninterruptible);
29
- }
30
- function hset(key, field, value) {
31
- return Effect
32
- .callback((res) => {
33
- client.hset(key, field, value, (err) => err
34
- ? res(Effect.fail(new ConnectionException(err)))
35
- : res(Effect.sync(() => void 0)));
36
- })
37
- .pipe(Effect.uninterruptible);
38
- }
39
- function hget(key, field) {
40
- return Effect
41
- .callback((res) => {
42
- client.hget(key, field, (err, v) => err
43
- ? res(Effect.fail(new ConnectionException(err)))
44
- : res(Effect.sync(() => Option.fromNullishOr(v))));
45
- })
46
- .pipe(Effect.uninterruptible);
47
- }
48
- function hmgetAll(key) {
49
- return Effect
50
- .callback((res) => {
51
- client.hgetall(key, (err, v) => err
52
- ? res(Effect.fail(new ConnectionException(err)))
53
- : res(Effect.sync(() => Option.fromNullishOr(v))));
54
- })
55
- .pipe(Effect.uninterruptible);
56
- }
57
- return {
58
- client,
59
- lock,
60
- get,
61
- hget,
62
- hset,
63
- hmgetAll,
64
- set
65
- };
66
- }), (cl) => Effect
67
- .callback((res) => {
68
- cl.client.quit((err) => res(err ? Effect.fail(err) : Effect.void));
69
- })
70
- .pipe(Effect.uninterruptible, Effect.orDie));
71
- export class RedisClient extends ServiceMap.Service()("@services/RedisClient") {
72
- }
73
- export const RedisClientLayer = (storageUrl) => Layer.effect(RedisClient, makeRedisClient(makeRedis(storageUrl)));
74
- function createClient(makeClient) {
75
- const client = makeClient();
76
- client.on("error", (error) => {
77
- console.error(error);
78
- });
79
- return client;
80
- }
81
- function makeRedis(storageUrl) {
82
- const url = new URL(storageUrl);
83
- const hostname = url.hostname;
84
- const password = url.password;
85
- return () => createClient(storageUrl === "redis://"
86
- ? {
87
- host: hostname,
88
- port: 6380,
89
- auth_pass: password,
90
- tls: { servername: hostname }
91
- }
92
- : storageUrl);
93
- }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL3JlZGlzLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVwRSxPQUFPLE9BQU8sTUFBTSxTQUFTLENBQUE7QUFFN0IsTUFBTSxPQUFPLG1CQUFvQixTQUFRLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQW9DO0lBQ2pILFlBQVksS0FBWTtRQUN0QixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxVQUF3QixFQUFFLEVBQUUsQ0FDMUQsTUFBTSxDQUFDLGNBQWMsQ0FDbkIsTUFBTTtLQUNILElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDVCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBRWxDLFNBQVMsR0FBRyxDQUFDLEdBQVc7UUFDdEIsT0FBTyxNQUFNO2FBQ1YsUUFBUSxDQUE2QyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzVELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3pCLEdBQUc7Z0JBQ0QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDaEQsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFB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
@@ -1,31 +0,0 @@
1
- import { Effect, Layer, type NonEmptyReadonlyArray, type Scope, ServiceMap } from "effect-app";
2
- import { type HttpRouter } from "effect-app/http";
3
- import { type EffectGenUtils } from "effect-app/utils/gen";
4
- import { type Yieldable } from "effect/Effect";
5
- import { type ContextTagWithDefault, type GetContext, type LayerUtils } from "./layerUtils.js";
6
- export interface ContextProviderId {
7
- _tag: "ContextProvider";
8
- }
9
- /**
10
- * TDeps is an array of services with Default implementation
11
- * each service is an effect which builds some context for each request
12
- */
13
- type TDepsArr<TDeps extends ReadonlyArray<any>> = {
14
- [K in keyof TDeps]: TDeps[K] extends ContextTagWithDefault.Base<Effect.Effect<ServiceMap.ServiceMap<infer _1>, never, infer _R>> ? [_R] extends [HttpRouter.Provided] ? TDeps[K] : `HttpLayerRouter.Provided is the only requirement ${TDeps[K]["Service"]["_tag"]}'s returned effect can have` : TDeps[K] extends (ContextTagWithDefault.Base<(() => Generator<infer _YW, infer _1, infer _2>)>) ? [_YW] extends [never] ? TDeps[K] : [_YW] extends [Yieldable<any, infer _2, never, infer _R>] ? [_R] extends [HttpRouter.Provided] ? TDeps[K] : `HttpLayerRouter.Provided is the only requirement ${TDeps[K]["Service"]["_tag"]}'s returned effect can have` : "WTF are you yielding man?" : `You cannot throw errors from providers`;
15
- };
16
- export declare const mergeContextProviders: <TDeps extends ReadonlyArray<any>>(...deps: TDepsArr<TDeps>) => {
17
- dependencies: { [K in keyof TDeps]: TDeps[K]["Default"]; };
18
- effect: Effect.Effect<Effect.Effect<ServiceMap.ServiceMap<GetContext<EffectGenUtils.Success<ServiceMap.Service.Shape<TDeps[number]>>>>, never, EffectGenUtils.ServiceMap<ServiceMap.Service.Shape<TDeps[number]>>>, LayerUtils.GetLayersError<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>, LayerUtils.GetLayersSuccess<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>>;
19
- };
20
- export declare const ContextProvider: <ContextProviderA, MakeContextProviderE, MakeContextProviderR, ContextProviderR extends Scope.Scope, Dependencies extends NonEmptyReadonlyArray<Layer.Any>>(input: {
21
- effect: Effect.Effect<Effect.Effect<ContextProviderA, never, ContextProviderR> | (() => Generator<Yieldable<any, any, never, ContextProviderR>, ContextProviderA, any>), MakeContextProviderE, MakeContextProviderR | Scope.Scope>;
22
- dependencies?: Dependencies;
23
- }) => ServiceMap.Service<ContextProviderId, Effect.Effect<ContextProviderA, never, ContextProviderR>> & {
24
- Default: Layer.Layer<ContextProviderId, MakeContextProviderE | LayerUtils.GetLayersError<Dependencies>, Exclude<MakeContextProviderR, LayerUtils.GetLayersSuccess<Dependencies>> | LayerUtils.GetLayersContext<Dependencies>>;
25
- };
26
- export declare const MergedContextProvider: <TDeps extends ReadonlyArray<any>>(...deps: TDepsArr<TDeps>) => ContextTagWithDefault<ContextProviderId, Effect.Effect<ServiceMap.ServiceMap<GetContext<EffectGenUtils.Success<ServiceMap.Service.Shape<TDeps[number]>>>>, never, EffectGenUtils.ServiceMap<ServiceMap.Service.Shape<TDeps[number]>>>, LayerUtils.GetLayersError<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>, Exclude<ServiceMap.Service.Identifier<TDeps[number]>, LayerUtils.GetLayersSuccess<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>> | LayerUtils.GetLayersContext<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>>;
27
- export declare const EmptyContextProvider: ServiceMap.Service<ContextProviderId, Effect.Effect<ServiceMap.ServiceMap<never>, never, never>> & {
28
- Default: Layer.Layer<ContextProviderId, never, never>;
29
- };
30
- export {};
31
- //# sourceMappingURL=ContextProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextProvider.d.ts","sourceRoot":"","sources":["../../src/api/ContextProvider.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Effect, Layer, pipe, ServiceMap } from "effect-app";
3
- import { mergeContexts } from "./layerUtils.js";
4
- // Note: the type here must be aligned with MergedContextProvider
5
- export const mergeContextProviders = (
6
- // long life to reverse mapped types
7
- ...deps) => ({
8
- dependencies: deps.map((_) => _.Default),
9
- effect: Effect.gen(function* () {
10
- // uses the tags to request the context providers
11
- const makers = yield* Effect.all(deps);
12
- return Effect
13
- .gen(function* () {
14
- const services = makers.map((handle, i) => ({
15
- maker: deps[i],
16
- handle: handle[Symbol.toStringTag] === "GeneratorFunction" ? Effect.fnUntraced(handle)() : handle
17
- }));
18
- // services are effects which return some ServiceMap.ServiceMap<...>
19
- const context = yield* mergeContexts(services);
20
- return context;
21
- });
22
- })
23
- });
24
- // Effect Rpc Middleware: for single tag providing, we could use Provides, for providing ServiceMap or Layer (bad boy) we could use Wrap..
25
- export const ContextProvider = (input) => {
26
- const ctx = ServiceMap.Service("ContextProvider");
27
- const e = input.effect.pipe(Effect.map((eg) => eg[Symbol.toStringTag] === "GeneratorFunction" ? Effect.fnUntraced(eg)() : eg));
28
- const l = Layer.effect(ctx, e);
29
- return Object.assign(ctx, {
30
- Default: l.pipe(input.dependencies ? Layer.provide([...input.dependencies]) : (_) => _)
31
- });
32
- };
33
- // Note: the type here must be aligned with mergeContextProviders
34
- export const MergedContextProvider = (
35
- // long life to reverse mapped types
36
- ...deps) => pipe(deps, (_) => mergeContextProviders(..._), (_) => ContextProvider(_));
37
- export const EmptyContextProvider = ContextProvider({ effect: Effect.succeed(Effect.succeed(ServiceMap.empty())) });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9Db250ZXh0UHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE4QixJQUFJLEVBQWMsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBS3BHLE9BQU8sRUFBZ0UsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUEwQzdHLGlFQUFpRTtBQUNqRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztBQUduQyxvQ0FBb0M7QUFDcEMsR0FBRyxJQUFxQixFQWN4QixFQUFFLENBQUMsQ0FBQztJQUNKLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFTLENBQUMsT0FBTyxDQUFRO0lBQ3hELE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMxQixpREFBaUQ7UUFDakQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFhLENBQUMsQ0FBQTtRQUMvQyxPQUFPLE1BQU07YUFDVixHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ1osTUFBTSxRQUFRLEdBQUksTUFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNwRDtnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDZCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNO2FBQ2xHLENBQ0YsQ0FBQyxDQUFBO1lBQ0Ysb0VBQW9FO1lBQ3BFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFlLENBQUMsQ0FBQTtZQUNyRCxPQUFPLE9BQU8sQ0FBQTtRQUNoQixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBUTtDQUNWLENBQUMsQ0FBQTtBQUVGLDBJQUEwSTtBQUMxSSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FPN0IsS0FZQyxFQUNELEVBQUU7SUFDRixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUk1QixpQkFBaUIsQ0FDbEIsQ0FBQTtJQUNELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBRSxFQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNsSCxDQUFBO0lBQ0QsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBUSxDQUFDLENBQUE7SUFDckMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUN4QixPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDYixLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFnQyxDQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBT2xIO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBRUQsaUVBQWlFO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0FBR25DLG9DQUFvQztBQUNwQyxHQUFHLElBQXFCLEVBQ3hCLEVBQUUsQ0FDRixJQUFJLENBQ0YsSUFBcUQsRUFDckQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ2xDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBUSxDQUFDLENBaUJqQyxDQUFBO0FBRUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsZUFBZSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/api/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAA;AAEtC,wBAAgB,SAAS,CACvB,IAAI,EACJ,EAAE,SAAS;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,EACrB,EAAE,EACF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,mHAExB"}
package/dist/api/codec.js DELETED
@@ -1,5 +0,0 @@
1
- import * as S from "effect-app/Schema";
2
- export function makeCodec(self) {
3
- return [S.decodeSync(self), S.encodeSync(self)];
4
- }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2NvZGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFdEMsTUFBTSxVQUFVLFNBQVMsQ0FJdkIsSUFBdUI7SUFDdkIsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBVSxDQUFBO0FBQzFELENBQUMifQ==
@@ -1,5 +0,0 @@
1
- import { Effect } from "effect-app";
2
- import { HttpServerRequest, HttpServerResponse } from "effect-app/http";
3
- import { Locale } from "../../RequestContext.js";
4
- export declare const RequestContextMiddleware: (defaultLocale?: Locale) => <E, R>(app: Effect.Effect<HttpServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | Exclude<Exclude<R, import("effect/Tracer").ParentSpan>, never>>;
5
- //# sourceMappingURL=RequestContextMiddleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RequestContextMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/internal/RequestContextMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAkB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEvF,OAAO,EAAE,MAAM,EAAkB,MAAM,yBAAyB,CAAA;AAGhE,eAAO,MAAM,wBAAwB,GAAI,gBAAe,MAAa,mRAmClE,CAAA"}
@@ -1,35 +0,0 @@
1
- import { Effect } from "effect-app";
2
- import { HttpMiddleware, HttpServerRequest, HttpServerResponse } from "effect-app/http";
3
- import { NonEmptyString255 } from "effect-app/Schema";
4
- import { Locale, RequestContext } from "../../RequestContext.js";
5
- import { setupRequestContext } from "../setupRequest.js";
6
- export const RequestContextMiddleware = (defaultLocale = "en") => HttpMiddleware.make((app) => Effect.gen(function* () {
7
- const req = yield* HttpServerRequest.HttpServerRequest;
8
- const currentSpan = yield* Effect.currentSpan.pipe(Effect.orDie);
9
- const supported = Locale.literals;
10
- const desiredLocale = req.headers["x-locale"];
11
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
12
- const locale = desiredLocale && supported.includes(desiredLocale)
13
- ? desiredLocale
14
- : defaultLocale;
15
- const ns = req.headers["x-store-id"];
16
- const namespace = NonEmptyString255((ns && (Array.isArray(ns) ? ns[0] : ns)) || "primary");
17
- const deviceId = req.headers["x-fe-device-id"];
18
- const requestContext = new RequestContext({
19
- span: {
20
- traceId: currentSpan.traceId,
21
- spanId: currentSpan.spanId,
22
- sampled: currentSpan.sampled
23
- },
24
- name: NonEmptyString255(req.originalUrl), // set more detailed elsewhere
25
- locale,
26
- namespace,
27
- sourceId: deviceId ? NonEmptyString255(deviceId) : undefined
28
- });
29
- const res = yield* setupRequestContext(app, requestContext);
30
- // TODO: how to set also on errors?
31
- return HttpServerResponse.setHeaders(res, {
32
- "Content-Language": requestContext.locale
33
- });
34
- }));
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9pbnRlcm5hbC9SZXF1ZXN0Q29udGV4dE1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUV4RCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLGdCQUF3QixJQUFJLEVBQUUsRUFBRSxDQUN2RSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDbEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUE7SUFFdEQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUE7SUFDakMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM3QyxxR0FBcUc7SUFDckcsTUFBTSxNQUFNLEdBQUcsYUFBYSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBb0IsQ0FBQztRQUN0RSxDQUFDLENBQUUsYUFBMEM7UUFDN0MsQ0FBQyxDQUFDLGFBQWEsQ0FBQTtJQUVqQixNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFBO0lBQzFGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUU5QyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQztRQUN4QyxJQUFJLEVBQUU7WUFDSixPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87WUFDNUIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNO1lBQzFCLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztTQUM3QjtRQUNELElBQUksRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsOEJBQThCO1FBQ3hFLE1BQU07UUFDTixTQUFTO1FBQ1QsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7S0FDN0QsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRTNELG1DQUFtQztJQUNuQyxPQUFPLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDeEMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLE1BQU07S0FDMUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQSJ9
@@ -1,15 +0,0 @@
1
- import { Effect } from "effect-app";
2
- import { HttpHeaders, HttpServerRequest, HttpServerResponse } from "effect-app/http";
3
- import { auth, InsufficientScopeError, InvalidRequestError, InvalidTokenError, UnauthorizedError } from "express-oauth2-jwt-bearer";
4
- type Config = Parameters<typeof auth>[0];
5
- export declare const checkJWTI: (config: Config) => (headers: HttpHeaders.Headers) => Effect.Effect<void, InsufficientScopeError | InvalidRequestError | InvalidTokenError | UnauthorizedError, never>;
6
- export declare const checkJwt: (config: Config) => <E, R>(app: Effect.Effect<HttpServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E | import("effect/unstable/http/HttpBody").HttpBodyError, HttpServerRequest.HttpServerRequest | R>;
7
- declare const JWTError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
8
- readonly _tag: "JWTError";
9
- } & import("effect/Pipeable").Pipeable;
10
- export declare class JWTError extends JWTError_base<{
11
- error: InsufficientScopeError | InvalidRequestError | InvalidTokenError | UnauthorizedError;
12
- }> {
13
- }
14
- export {};
15
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/internal/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,MAAM,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,WAAW,EAAkB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpG,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAMnI,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,uJA6BvC,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,8QAiBtC,CAAA;;;;AAED,qBAAa,QAAS,SAAQ,cAA6B;IACzD,KAAK,EACD,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,CAAA;CACtB,CAAC;CAAG"}
@@ -1,47 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable unused-imports/no-unused-vars */
3
- import { Data, Effect } from "effect-app";
4
- import { HttpHeaders, HttpMiddleware, HttpServerRequest, HttpServerResponse } from "effect-app/http";
5
- import { auth, InsufficientScopeError, InvalidRequestError, InvalidTokenError, UnauthorizedError } from "express-oauth2-jwt-bearer";
6
- export const checkJWTI = (config) => {
7
- const mw = auth(config);
8
- return Effect.fnUntraced(function* (headers) {
9
- return yield* Effect.callback((resume) => {
10
- const next = (err) => {
11
- if (!err)
12
- return resume(Effect.void);
13
- if (err instanceof InsufficientScopeError
14
- || err instanceof InvalidRequestError
15
- || err instanceof InvalidTokenError
16
- || err instanceof UnauthorizedError) {
17
- return resume(Effect.fail(err));
18
- }
19
- return resume(Effect.die(err));
20
- };
21
- const r = { headers, query: {}, body: {}, is: () => false, method: "POST" }; // is("urlencoded")
22
- try {
23
- mw(r, {}, next);
24
- }
25
- catch (e) {
26
- return resume(Effect.die(e));
27
- }
28
- });
29
- });
30
- };
31
- export const checkJwt = (config) => {
32
- const check = checkJWTI(config);
33
- return HttpMiddleware.make((app) => Effect.gen(function* () {
34
- const req = yield* HttpServerRequest.HttpServerRequest;
35
- const response = yield* check(req.headers).pipe(Effect.catch((e) => HttpServerResponse.json({ message: e.message }, {
36
- status: e.status,
37
- headers: HttpHeaders.fromInput(e.headers)
38
- })));
39
- if (response) {
40
- return response;
41
- }
42
- return yield* app;
43
- }));
44
- };
45
- export class JWTError extends Data.TaggedClass("JWTError") {
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvaW50ZXJuYWwvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDcEcsT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBT25JLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQzFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN2QixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUMsT0FBNEI7UUFDN0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUkzQixDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLEdBQUc7b0JBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNwQyxJQUNFLEdBQUcsWUFBWSxzQkFBc0I7dUJBQ2xDLEdBQUcsWUFBWSxtQkFBbUI7dUJBQ2xDLEdBQUcsWUFBWSxpQkFBaUI7dUJBQ2hDLEdBQUcsWUFBWSxpQkFBaUIsRUFDbkMsQ0FBQztvQkFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7Z0JBQ2pDLENBQUM7Z0JBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLENBQUMsQ0FBQTtZQUNELE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQSxDQUFDLG1CQUFtQjtZQUMvRixJQUFJLENBQUM7Z0JBQ0gsRUFBRSxDQUFDLENBQVEsRUFBRSxFQUFTLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDL0IsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzlCLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7SUFDekMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQy9CLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFBO1FBQ3RELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNqRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzlDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtZQUNoQixPQUFPLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQzFDLENBQUMsQ0FDSCxDQUFDLENBQUE7UUFDRixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsT0FBTyxRQUFRLENBQUE7UUFDakIsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFBO0lBQ25CLENBQUMsQ0FBQyxDQUNILENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLE9BQU8sUUFBUyxTQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQU12RDtDQUFHIn0=
@@ -1,9 +0,0 @@
1
- import { Effect, S, Stream } from "effect-app";
2
- import { HttpServerResponse } from "effect-app/http";
3
- export declare const makeSSE: <A extends {
4
- id: any;
5
- }, SI, SR>(schema: S.Codec<A, SI, SR>) => <E, R>(events: Stream.Stream<{
6
- evt: A;
7
- namespace: string;
8
- }, E, R>) => Effect.Effect<HttpServerResponse.HttpServerResponse, never, Exclude<Exclude<SR, import("effect/Tracer").ParentSpan>, never> | Exclude<Exclude<R, import("effect/Tracer").ParentSpan>, never>>;
9
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/api/internal/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAQ,CAAC,EAAY,MAAM,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,EAAe,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAUjE,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS;IAAE,EAAE,EAAE,GAAG,CAAA;CAAE,EAAE,EAAE,EAAE,EAAE,EACnD,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,MAE3B,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,CAAC,CAAC,kMAqD2B,CAAA"}
@@ -1,42 +0,0 @@
1
- import { Duration, Effect, pipe, S, Schedule, Stream } from "effect-app";
2
- import { HttpHeaders, HttpServerResponse } from "effect-app/http";
3
- import { reportError } from "../../errorReporter.js";
4
- import { setupRequestContextFromCurrent } from "../setupRequest.js";
5
- // Tell the client to retry every 10 seconds if connectivity is lost
6
- const setRetry = Stream.succeed("retry: 10000");
7
- const keepAlive = Stream.fromEffectSchedule(Effect.succeed(":keep-alive"), Schedule.fixed(Duration.seconds(15)));
8
- let connId = BigInt(0);
9
- export const makeSSE = (schema) => (events) => Effect
10
- .gen(function* () {
11
- const id = connId++;
12
- const ctx = yield* Effect.services();
13
- const res = HttpServerResponse.stream(
14
- // workaround for different scoped behaviour for streams in Bun
15
- // https://discord.com/channels/795981131316985866/1098177242598756412/1389646879675125861
16
- Effect
17
- .gen(function* () {
18
- yield* Effect.annotateCurrentSpan({ connectionId: id.toString() });
19
- yield* Effect.logInfo("$ start listening to events, id: " + id.toString());
20
- yield* Effect.addFinalizer(() => Effect.logInfo("$ end listening to events, id: " + id.toString()));
21
- const enc = new TextEncoder();
22
- const encode = S.encodeEffect(S.fromJsonString(schema));
23
- const eventStream = Stream.mapEffect(events, (_) => encode(_.evt)
24
- .pipe(Effect.map((data) => `id: ${_.evt.id}\ndata: ${data}`)));
25
- const stream = pipe(setRetry, Stream.merge(keepAlive),
26
- // Keep this unary so pipe receives a function, not a Stream value.
27
- (self) => Stream.merge(self, eventStream, { haltStrategy: "either" }), Stream.tapCause((cause) => Effect.logError("SSE error", cause)), Stream.map((_) => enc.encode(_ + "\n\n")));
28
- return stream;
29
- })
30
- .pipe(Stream.unwrap, Stream.tapCause(reportError("Request")), Stream.provide(ctx)), {
31
- contentType: "text/event-stream",
32
- headers: HttpHeaders.fromInput({
33
- "content-type": "text/event-stream",
34
- "cache-control": "no-cache",
35
- "x-accel-buffering": "no",
36
- "connection": "keep-alive" // if (req.httpVersion !== "2.0")
37
- })
38
- });
39
- return res;
40
- })
41
- .pipe(Effect.tapCause(reportError("Request")), setupRequestContextFromCurrent("events"));
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9pbnRlcm5hbC9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFbkUsb0VBQW9FO0FBQ3BFLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUE7QUFDL0MsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUVoSCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFdEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQ3JCLE1BQTBCLEVBQzFCLEVBQUUsQ0FDSixDQUFPLE1BQTBELEVBQUUsRUFBRSxDQUNuRSxNQUFNO0tBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUNaLE1BQU0sRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFBO0lBQ25CLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQVUsQ0FBQTtJQUM1QyxNQUFNLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNO0lBQ25DLCtEQUErRDtJQUMvRCwwRkFBMEY7SUFDMUYsTUFBTTtT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
@@ -1 +0,0 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/api/internal/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,oMAE3C"}
@@ -1,5 +0,0 @@
1
- import { HttpMiddleware, HttpServerResponse } from "effect-app/http";
2
- export function serverHealth(version) {
3
- return HttpServerResponse.json({ version }).pipe(HttpMiddleware.withLoggerDisabled);
4
- }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9pbnRlcm5hbC9oZWFsdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXBFLE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBZTtJQUMxQyxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0FBQ3JGLENBQUMifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"layerUtils.d.ts","sourceRoot":"","sources":["../../src/api/layerUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,qBAAqB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAO/F,yBAAiB,UAAU,CAAC;IAC1B,KAAY,gBAAgB,CAAC,MAAM,SAAS,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,SAC5E,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;SAChC,CAAC,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC9C,CAAC,MAAM,CAAC,GACP,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAEjC,KAAY,gBAAgB,CAAC,MAAM,SAAS,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,SAC5E,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;SAChC,CAAC,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC/C,CAAC,MAAM,CAAC,GACP,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAElC,KAAY,cAAc,CAAC,MAAM,SAAS,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,SAAS,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,GACjH;SACC,CAAC,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC,MAAM,CAAC,GACP,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;CAChC;AAED,MAAM,MAAM,qBAAqB,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,IACnD,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,GACzB;IACA,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC,CAAA;AAEH,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,IAAI,CAAC,CAAC,IAAI,qBAAqB,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAC9D;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAEhF,eAAO,MAAM,aAAa,GAEtB,CAAC,SAAS,SAAS;IACjB,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;CAC9F,EAAE,uGAkBN,CAAA"}
@@ -1,16 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Effect, Option, ServiceMap } from "effect-app";
3
- import { InfraLogger } from "../logger.js";
4
- export const mergeContexts = Effect.fnUntraced(function* (makers) {
5
- let context = ServiceMap.empty();
6
- for (const mw of makers) {
7
- const ctx = yield* mw.handle.pipe(Effect.provide(context));
8
- const moreContext = ServiceMap.isServiceMap(ctx) ? Option.some(ctx) : ctx;
9
- yield* InfraLogger.logDebug("Built dynamic context for middleware" + (mw.maker.key ?? mw.maker), Option.map(moreContext, (c) => c.toJSON().services));
10
- if (moreContext.value) {
11
- context = ServiceMap.merge(context, moreContext.value);
12
- }
13
- }
14
- return context;
15
- });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvbGF5ZXJVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBMEMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMvRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBc0MxQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FDNUMsUUFBUSxDQUFDLEVBTVAsTUFBUztJQUVULElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNoQyxLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUMxRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUE7UUFDekUsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FDekIsc0NBQXNDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ25FLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQzdELENBQUE7UUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUFxRSxDQUFBO0FBQzlFLENBQUMsQ0FDRixDQUFBIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/api/middlewares.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wCAAwC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"reportError.d.ts","sourceRoot":"","sources":["../../src/api/reportError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAA;AA2B1C,eAAO,MAAM,kBAAkB,GARrB,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BAQW,CAAA;AAC1D,eAAO,MAAM,yBAAyB,GAT5B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BASwB,CAAA"}
@@ -1,27 +0,0 @@
1
- import { Cause, Effect } from "effect-app";
2
- import { logError, reportError } from "../errorReporter.js";
3
- // const onExitReportError = (name: string, unknownOnly?: boolean) => {
4
- // const report = reportError(name)
5
- // const log = logError(name)
6
- // return <A, E, R>(self: Effect.Effect<A, E, R>) =>
7
- // Effect.onExit(self, (exit) =>
8
- // Exit.isFailure(exit)
9
- // ? unknownOnly
10
- // ? Cause.hasInterruptsOnly(exit.cause) || Cause.isDie(exit.cause)
11
- // ? report(exit.cause)
12
- // : log(exit.cause)
13
- // : report(exit.cause)
14
- // : Effect.void)
15
- // }
16
- const tapErrorCause = (name, unknownOnly) => {
17
- const report = reportError(name);
18
- const log = logError(name);
19
- return (self) => Effect.tapCause(self, (cause) => unknownOnly
20
- ? Cause.hasFails(cause)
21
- ? log(cause)
22
- : report(cause)
23
- : report(cause));
24
- };
25
- export const reportRequestError = tapErrorCause("request");
26
- export const reportUnknownRequestError = tapErrorCause("request", true);
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3JlcG9ydEVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFM0QsdUVBQXVFO0FBQ3ZFLHFDQUFxQztBQUNyQywrQkFBK0I7QUFDL0Isc0RBQXNEO0FBQ3RELG9DQUFvQztBQUNwQyw2QkFBNkI7QUFDN0Isd0JBQXdCO0FBQ3hCLDZFQUE2RTtBQUM3RSxtQ0FBbUM7QUFDbkMsZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQyx5QkFBeUI7QUFDekIsSUFBSTtBQUNKLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBWSxFQUFFLFdBQXFCLEVBQUUsRUFBRTtJQUM1RCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzFCLE9BQU8sQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDL0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUM5QixXQUFXO1FBQ1QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ1osQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQ3hCLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUMxRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFBIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"RouterMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RouterMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACxF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAKnE,MAAM,MAAM,gBAAgB,CAC1B,IAAI,EACJ,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,qFAAqF;AAClJ,eAAe,EAAE,iDAAiD;AAClE,eAAe,EAAE,gDAAgD;AACjE,gBAAgB,EAAE,qCAAqC;AACvD,gBAAgB,EAAE,0CAA0C;AAC5D,iBAAiB,EAAE,qCAAqC;AACxD,gBAAgB,IAEd,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,GACpF;IACA,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IACrE,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAClG,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAA;CAC9C,CAAA"}
@@ -1,9 +0,0 @@
1
- import { Config, Layer } from "effect";
2
- import { ConfigureInterruptibilityMiddleware, DevModeMiddleware, LoggerMiddleware, RequestCacheMiddleware } from "effect-app/middleware";
3
- export declare const DevModeLive: Layer.Layer<never, Config.ConfigError, never>;
4
- export declare const RequestCacheMiddlewareLive: Layer.Layer<RequestCacheMiddleware, never, never>;
5
- export declare const ConfigureInterruptibilityMiddlewareLive: Layer.Layer<ConfigureInterruptibilityMiddleware, never, never>;
6
- export declare const LoggerMiddlewareLive: Layer.Layer<LoggerMiddleware, Config.ConfigError, never>;
7
- export declare const DevModeMiddlewareLive: Layer.Layer<DevModeMiddleware, Config.ConfigError, never>;
8
- export declare const DefaultGenericMiddlewaresLive: Layer.Layer<RequestCacheMiddleware | ConfigureInterruptibilityMiddleware | LoggerMiddleware | DevModeMiddleware, Config.ConfigError, never>;
9
- //# sourceMappingURL=middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAU,KAAK,EAAU,MAAM,QAAQ,CAAA;AAC7D,OAAO,EAAE,mCAAmC,EAAW,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAUjJ,eAAO,MAAM,WAAW,+CAMvB,CAAA;AAED,eAAO,MAAM,0BAA0B,mDAGtC,CAAA;AAKD,eAAO,MAAM,uCAAuC,gEAqBnD,CAAA;AAED,eAAO,MAAM,oBAAoB,0DA2DE,CAAA;AAEnC,eAAO,MAAM,qBAAqB,2DAQC,CAAA;AAEnC,eAAO,MAAM,6BAA6B,6IAKzC,CAAA"}