@effect-app/infra 4.0.0-beta.2 → 4.0.0-beta.200

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 (308) hide show
  1. package/CHANGELOG.md +1514 -0
  2. package/_check.sh +1 -1
  3. package/dist/CUPS.d.ts +15 -7
  4. package/dist/CUPS.d.ts.map +1 -1
  5. package/dist/CUPS.js +10 -12
  6. package/dist/Emailer/Sendgrid.d.ts +14 -14
  7. package/dist/Emailer/Sendgrid.d.ts.map +1 -1
  8. package/dist/Emailer/Sendgrid.js +16 -15
  9. package/dist/Emailer/fake.d.ts +1 -1
  10. package/dist/Emailer/service.d.ts +11 -5
  11. package/dist/Emailer/service.d.ts.map +1 -1
  12. package/dist/Emailer/service.js +3 -3
  13. package/dist/Emailer.d.ts +1 -1
  14. package/dist/MainFiberSet.d.ts +9 -9
  15. package/dist/MainFiberSet.d.ts.map +1 -1
  16. package/dist/MainFiberSet.js +3 -3
  17. package/dist/Model/Repository/Registry.d.ts +20 -0
  18. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  19. package/dist/Model/Repository/Registry.js +17 -0
  20. package/dist/Model/Repository/ext.d.ts +33 -15
  21. package/dist/Model/Repository/ext.d.ts.map +1 -1
  22. package/dist/Model/Repository/ext.js +54 -2
  23. package/dist/Model/Repository/internal/internal.d.ts +6 -6
  24. package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
  25. package/dist/Model/Repository/internal/internal.js +43 -32
  26. package/dist/Model/Repository/legacy.d.ts +1 -1
  27. package/dist/Model/Repository/makeRepo.d.ts +7 -6
  28. package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
  29. package/dist/Model/Repository/makeRepo.js +5 -1
  30. package/dist/Model/Repository/service.d.ts +28 -23
  31. package/dist/Model/Repository/service.d.ts.map +1 -1
  32. package/dist/Model/Repository/validation.d.ts +142 -17
  33. package/dist/Model/Repository/validation.d.ts.map +1 -1
  34. package/dist/Model/Repository/validation.js +5 -5
  35. package/dist/Model/Repository.d.ts +2 -1
  36. package/dist/Model/Repository.d.ts.map +1 -1
  37. package/dist/Model/Repository.js +2 -1
  38. package/dist/Model/dsl.d.ts +4 -4
  39. package/dist/Model/dsl.d.ts.map +1 -1
  40. package/dist/Model/filter/filterApi.d.ts +5 -5
  41. package/dist/Model/filter/filterApi.d.ts.map +1 -1
  42. package/dist/Model/filter/types/errors.d.ts +1 -1
  43. package/dist/Model/filter/types/fields.d.ts +1 -1
  44. package/dist/Model/filter/types/path/common.d.ts +1 -1
  45. package/dist/Model/filter/types/path/eager.d.ts +1 -1
  46. package/dist/Model/filter/types/path/eager.d.ts.map +1 -1
  47. package/dist/Model/filter/types/path/eager.js +1 -1
  48. package/dist/Model/filter/types/path/index.d.ts +1 -1
  49. package/dist/Model/filter/types/utils.d.ts +1 -1
  50. package/dist/Model/filter/types/validator.d.ts +1 -1
  51. package/dist/Model/filter/types.d.ts +1 -1
  52. package/dist/Model/query/dsl.d.ts +25 -25
  53. package/dist/Model/query/dsl.d.ts.map +1 -1
  54. package/dist/Model/query/new-kid-interpreter.d.ts +6 -6
  55. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
  56. package/dist/Model/query/new-kid-interpreter.js +3 -3
  57. package/dist/Model/query.d.ts +1 -1
  58. package/dist/Model.d.ts +2 -1
  59. package/dist/Model.d.ts.map +1 -1
  60. package/dist/Model.js +2 -1
  61. package/dist/QueueMaker/SQLQueue.d.ts +6 -8
  62. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  63. package/dist/QueueMaker/SQLQueue.js +106 -115
  64. package/dist/QueueMaker/errors.d.ts +2 -2
  65. package/dist/QueueMaker/errors.d.ts.map +1 -1
  66. package/dist/QueueMaker/memQueue.d.ts +7 -4
  67. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  68. package/dist/QueueMaker/memQueue.js +52 -62
  69. package/dist/QueueMaker/sbqueue.d.ts +6 -3
  70. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  71. package/dist/QueueMaker/sbqueue.js +39 -53
  72. package/dist/QueueMaker/service.d.ts +1 -1
  73. package/dist/RequestContext.d.ts +117 -31
  74. package/dist/RequestContext.d.ts.map +1 -1
  75. package/dist/RequestContext.js +7 -8
  76. package/dist/RequestFiberSet.d.ts +7 -7
  77. package/dist/RequestFiberSet.d.ts.map +1 -1
  78. package/dist/RequestFiberSet.js +5 -5
  79. package/dist/Store/ContextMapContainer.d.ts +20 -4
  80. package/dist/Store/ContextMapContainer.d.ts.map +1 -1
  81. package/dist/Store/ContextMapContainer.js +13 -3
  82. package/dist/Store/Cosmos/query.d.ts +1 -1
  83. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  84. package/dist/Store/Cosmos/query.js +10 -12
  85. package/dist/Store/Cosmos.d.ts +1 -1
  86. package/dist/Store/Cosmos.d.ts.map +1 -1
  87. package/dist/Store/Cosmos.js +318 -240
  88. package/dist/Store/Disk.d.ts +2 -2
  89. package/dist/Store/Disk.d.ts.map +1 -1
  90. package/dist/Store/Disk.js +25 -22
  91. package/dist/Store/Memory.d.ts +4 -4
  92. package/dist/Store/Memory.d.ts.map +1 -1
  93. package/dist/Store/Memory.js +27 -22
  94. package/dist/Store/SQL/Pg.d.ts +4 -0
  95. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  96. package/dist/Store/SQL/Pg.js +189 -0
  97. package/dist/Store/SQL/query.d.ts +38 -0
  98. package/dist/Store/SQL/query.d.ts.map +1 -0
  99. package/dist/Store/SQL/query.js +367 -0
  100. package/dist/Store/SQL.d.ts +20 -0
  101. package/dist/Store/SQL.d.ts.map +1 -0
  102. package/dist/Store/SQL.js +381 -0
  103. package/dist/Store/codeFilter.d.ts +1 -1
  104. package/dist/Store/codeFilter.d.ts.map +1 -1
  105. package/dist/Store/codeFilter.js +2 -1
  106. package/dist/Store/index.d.ts +5 -2
  107. package/dist/Store/index.d.ts.map +1 -1
  108. package/dist/Store/index.js +15 -3
  109. package/dist/Store/service.d.ts +18 -7
  110. package/dist/Store/service.d.ts.map +1 -1
  111. package/dist/Store/service.js +24 -6
  112. package/dist/Store/utils.d.ts +1 -1
  113. package/dist/Store/utils.d.ts.map +1 -1
  114. package/dist/Store/utils.js +3 -4
  115. package/dist/Store.d.ts +1 -1
  116. package/dist/adapters/SQL/Model.d.ts +30 -47
  117. package/dist/adapters/SQL/Model.d.ts.map +1 -1
  118. package/dist/adapters/SQL/Model.js +22 -14
  119. package/dist/adapters/SQL.d.ts +1 -1
  120. package/dist/adapters/ServiceBus.d.ts +11 -11
  121. package/dist/adapters/ServiceBus.d.ts.map +1 -1
  122. package/dist/adapters/ServiceBus.js +15 -17
  123. package/dist/adapters/cosmos-client.d.ts +3 -3
  124. package/dist/adapters/cosmos-client.d.ts.map +1 -1
  125. package/dist/adapters/cosmos-client.js +3 -3
  126. package/dist/adapters/index.d.ts +8 -2
  127. package/dist/adapters/index.d.ts.map +1 -1
  128. package/dist/adapters/index.js +8 -2
  129. package/dist/adapters/logger.d.ts +2 -2
  130. package/dist/adapters/logger.d.ts.map +1 -1
  131. package/dist/adapters/memQueue.d.ts +3 -3
  132. package/dist/adapters/memQueue.d.ts.map +1 -1
  133. package/dist/adapters/memQueue.js +3 -3
  134. package/dist/adapters/mongo-client.d.ts +3 -3
  135. package/dist/adapters/mongo-client.d.ts.map +1 -1
  136. package/dist/adapters/mongo-client.js +3 -3
  137. package/dist/adapters/redis-client.d.ts +4 -4
  138. package/dist/adapters/redis-client.d.ts.map +1 -1
  139. package/dist/adapters/redis-client.js +3 -3
  140. package/dist/api/ContextProvider.d.ts +8 -8
  141. package/dist/api/ContextProvider.d.ts.map +1 -1
  142. package/dist/api/ContextProvider.js +6 -6
  143. package/dist/api/codec.d.ts +1 -1
  144. package/dist/api/internal/RequestContextMiddleware.d.ts +2 -2
  145. package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
  146. package/dist/api/internal/RequestContextMiddleware.js +2 -2
  147. package/dist/api/internal/auth.d.ts +45 -7
  148. package/dist/api/internal/auth.d.ts.map +1 -1
  149. package/dist/api/internal/auth.js +160 -29
  150. package/dist/api/internal/events.d.ts +3 -3
  151. package/dist/api/internal/events.d.ts.map +1 -1
  152. package/dist/api/internal/events.js +12 -8
  153. package/dist/api/internal/health.d.ts +1 -1
  154. package/dist/api/layerUtils.d.ts +6 -6
  155. package/dist/api/layerUtils.d.ts.map +1 -1
  156. package/dist/api/layerUtils.js +5 -5
  157. package/dist/api/middlewares.d.ts +1 -1
  158. package/dist/api/reportError.d.ts +1 -1
  159. package/dist/api/routing/middleware/RouterMiddleware.d.ts +4 -4
  160. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
  161. package/dist/api/routing/middleware/middleware.d.ts +50 -4
  162. package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
  163. package/dist/api/routing/middleware/middleware.js +79 -17
  164. package/dist/api/routing/middleware.d.ts +1 -2
  165. package/dist/api/routing/middleware.d.ts.map +1 -1
  166. package/dist/api/routing/middleware.js +1 -2
  167. package/dist/api/routing/schema/jwt.d.ts +2 -2
  168. package/dist/api/routing/schema/jwt.d.ts.map +1 -1
  169. package/dist/api/routing/schema/jwt.js +1 -1
  170. package/dist/api/routing/tsort.d.ts +1 -1
  171. package/dist/api/routing/tsort.d.ts.map +1 -1
  172. package/dist/api/routing/utils.d.ts +3 -3
  173. package/dist/api/routing/utils.d.ts.map +1 -1
  174. package/dist/api/routing.d.ts +32 -35
  175. package/dist/api/routing.d.ts.map +1 -1
  176. package/dist/api/routing.js +84 -36
  177. package/dist/api/setupRequest.d.ts +8 -5
  178. package/dist/api/setupRequest.d.ts.map +1 -1
  179. package/dist/api/setupRequest.js +14 -9
  180. package/dist/api/util.d.ts +1 -1
  181. package/dist/arbs.d.ts +1 -1
  182. package/dist/arbs.d.ts.map +1 -1
  183. package/dist/arbs.js +5 -3
  184. package/dist/errorReporter.d.ts +5 -5
  185. package/dist/errorReporter.d.ts.map +1 -1
  186. package/dist/errorReporter.js +20 -25
  187. package/dist/errors.d.ts +1 -1
  188. package/dist/fileUtil.d.ts +1 -1
  189. package/dist/fileUtil.d.ts.map +1 -1
  190. package/dist/fileUtil.js +3 -2
  191. package/dist/index.d.ts +1 -1
  192. package/dist/logger/jsonLogger.d.ts +1 -1
  193. package/dist/logger/logFmtLogger.d.ts +1 -1
  194. package/dist/logger/shared.d.ts +1 -1
  195. package/dist/logger/shared.js +2 -2
  196. package/dist/logger.d.ts +1 -1
  197. package/dist/logger.d.ts.map +1 -1
  198. package/dist/rateLimit.d.ts +9 -3
  199. package/dist/rateLimit.d.ts.map +1 -1
  200. package/dist/rateLimit.js +5 -11
  201. package/dist/test.d.ts +2 -2
  202. package/dist/test.d.ts.map +1 -1
  203. package/dist/test.js +1 -1
  204. package/dist/vitest.d.ts +1 -1
  205. package/examples/query.ts +39 -35
  206. package/package.json +41 -37
  207. package/src/CUPS.ts +9 -11
  208. package/src/Emailer/Sendgrid.ts +18 -15
  209. package/src/Emailer/service.ts +9 -3
  210. package/src/MainFiberSet.ts +5 -6
  211. package/src/Model/Repository/Registry.ts +33 -0
  212. package/src/Model/Repository/ext.ts +96 -10
  213. package/src/Model/Repository/internal/internal.ts +97 -88
  214. package/src/Model/Repository/makeRepo.ts +12 -10
  215. package/src/Model/Repository/service.ts +31 -22
  216. package/src/Model/Repository/validation.ts +4 -4
  217. package/src/Model/Repository.ts +1 -0
  218. package/src/Model/dsl.ts +3 -3
  219. package/src/Model/filter/types/path/eager.ts +1 -2
  220. package/src/Model/query/dsl.ts +18 -18
  221. package/src/Model/query/new-kid-interpreter.ts +2 -2
  222. package/src/Model.ts +1 -0
  223. package/src/QueueMaker/SQLQueue.ts +123 -154
  224. package/src/QueueMaker/memQueue.ts +85 -107
  225. package/src/QueueMaker/sbqueue.ts +54 -81
  226. package/src/RequestContext.ts +8 -10
  227. package/src/RequestFiberSet.ts +4 -4
  228. package/src/Store/ContextMapContainer.ts +41 -2
  229. package/src/Store/Cosmos/query.ts +16 -20
  230. package/src/Store/Cosmos.ts +452 -342
  231. package/src/Store/Disk.ts +52 -49
  232. package/src/Store/Memory.ts +55 -51
  233. package/src/Store/SQL/Pg.ts +318 -0
  234. package/src/Store/SQL/query.ts +409 -0
  235. package/src/Store/SQL.ts +668 -0
  236. package/src/Store/codeFilter.ts +1 -0
  237. package/src/Store/index.ts +17 -2
  238. package/src/Store/service.ts +32 -8
  239. package/src/Store/utils.ts +23 -22
  240. package/src/adapters/SQL/Model.ts +83 -72
  241. package/src/adapters/ServiceBus.ts +114 -118
  242. package/src/adapters/cosmos-client.ts +2 -2
  243. package/src/adapters/index.ts +7 -0
  244. package/src/adapters/memQueue.ts +2 -2
  245. package/src/adapters/mongo-client.ts +2 -2
  246. package/src/adapters/redis-client.ts +2 -2
  247. package/src/api/ContextProvider.ts +12 -13
  248. package/src/api/internal/RequestContextMiddleware.ts +1 -1
  249. package/src/api/internal/auth.ts +246 -44
  250. package/src/api/internal/events.ts +15 -10
  251. package/src/api/layerUtils.ts +8 -8
  252. package/src/api/routing/middleware/RouterMiddleware.ts +4 -4
  253. package/src/api/routing/middleware/middleware.ts +112 -15
  254. package/src/api/routing/middleware.ts +0 -2
  255. package/src/api/routing/schema/jwt.ts +2 -3
  256. package/src/api/routing.ts +153 -79
  257. package/src/api/setupRequest.ts +30 -10
  258. package/src/arbs.ts +4 -2
  259. package/src/errorReporter.ts +63 -75
  260. package/src/fileUtil.ts +2 -1
  261. package/src/logger/shared.ts +1 -1
  262. package/src/rateLimit.ts +30 -22
  263. package/src/test.ts +1 -1
  264. package/test/auth.test.ts +101 -0
  265. package/test/contextProvider.test.ts +11 -11
  266. package/test/controller.test.ts +27 -21
  267. package/test/dist/auth.test.d.ts.map +1 -0
  268. package/test/dist/contextProvider.test.d.ts.map +1 -1
  269. package/test/dist/controller.test.d.ts.map +1 -1
  270. package/test/dist/fixtures.d.ts +26 -12
  271. package/test/dist/fixtures.d.ts.map +1 -1
  272. package/test/dist/fixtures.js +12 -10
  273. package/test/dist/query.test.d.ts.map +1 -1
  274. package/test/dist/rawQuery.test.d.ts.map +1 -1
  275. package/test/dist/repository-ext.test.d.ts.map +1 -0
  276. package/test/dist/requires.test.d.ts.map +1 -1
  277. package/test/dist/router-generator.test.d.ts.map +1 -0
  278. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  279. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  280. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  281. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  282. package/test/dist/sql-store.test.d.ts.map +1 -0
  283. package/test/fixtures.ts +11 -9
  284. package/test/query.test.ts +216 -36
  285. package/test/rawQuery.test.ts +23 -19
  286. package/test/repository-ext.test.ts +60 -0
  287. package/test/requires.test.ts +6 -6
  288. package/test/router-generator.test.ts +180 -0
  289. package/test/routing-interruptibility.test.ts +63 -0
  290. package/test/rpc-e2e-invalidation.test.ts +507 -0
  291. package/test/rpc-multi-middleware.test.ts +79 -10
  292. package/test/rpc-stream-fullstack.test.ts +325 -0
  293. package/test/sql-store.test.ts +1064 -0
  294. package/test/validateSample.test.ts +15 -12
  295. package/tsconfig.examples.json +1 -1
  296. package/tsconfig.json +0 -1
  297. package/tsconfig.json.bak +2 -2
  298. package/tsconfig.src.json +35 -35
  299. package/tsconfig.test.json +2 -2
  300. package/dist/Operations.d.ts +0 -55
  301. package/dist/Operations.d.ts.map +0 -1
  302. package/dist/Operations.js +0 -102
  303. package/dist/OperationsRepo.d.ts +0 -41
  304. package/dist/OperationsRepo.d.ts.map +0 -1
  305. package/dist/OperationsRepo.js +0 -14
  306. package/eslint.config.mjs +0 -24
  307. package/src/Operations.ts +0 -235
  308. package/src/OperationsRepo.ts +0 -16
@@ -1,4 +1,4 @@
1
- import { Effect, type Layer, type NonEmptyReadonlyArray, Option, ServiceMap } from "effect-app";
1
+ import { Context, Effect, type Layer, type NonEmptyReadonlyArray, Option } from "effect-app";
2
2
  export declare namespace LayerUtils {
3
3
  type GetLayersSuccess<Layers extends ReadonlyArray<Layer.Any>> = Layers extends NonEmptyReadonlyArray<Layer.Any> ? {
4
4
  [k in keyof Layers]: Layer.Success<Layers[k]>;
@@ -10,15 +10,15 @@ export declare namespace LayerUtils {
10
10
  [k in keyof Layers]: Layer.Error<Layers[k]>;
11
11
  }[number] : Layer.Error<Layers[number]>;
12
12
  }
13
- export type ContextTagWithDefault<Id, A, LayerE, LayerR> = ServiceMap.Service<Id, A> & {
13
+ export type ContextTagWithDefault<Id, A, LayerE, LayerR> = Context.Service<Id, A> & {
14
14
  Default: Layer.Layer<Id, LayerE, LayerR>;
15
15
  };
16
16
  export declare namespace ContextTagWithDefault {
17
17
  type Base<A> = ContextTagWithDefault<any, A, any, any>;
18
18
  }
19
- export type GetContext<T> = T extends ServiceMap.ServiceMap<infer Y> ? Y : never;
19
+ export type GetContext<T> = T extends Context.Context<infer Y> ? Y : never;
20
20
  export declare const mergeContexts: <T extends readonly {
21
21
  maker: any;
22
- handle: Effect.Effect<ServiceMap.ServiceMap<any> | Option.Option<ServiceMap.ServiceMap<any>>>;
23
- }[]>(makers: T) => Effect.Effect<ServiceMap.ServiceMap<Effect.Success<T[number]["handle"]>>, never, never>;
24
- //# sourceMappingURL=layerUtils.d.ts.map
22
+ handle: Effect.Effect<Context.Context<any> | Option.Option<Context.Context<any>>>;
23
+ }[]>(makers: T) => Effect.Effect<Context.Context<Effect.Success<T[number]["handle"]>>, never, never>;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJVdGlscy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9sYXllclV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssS0FBSyxFQUFFLEtBQUsscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBTzVGLHlCQUFpQixVQUFVLENBQUMsQ0FBQztJQUMzQixLQUFZLGdCQUFnQixDQUFDLE1BQU0sU0FBUyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLE1BQU0sU0FDNUUscUJBQXFCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHO1NBQ2hDLENBQUMsSUFBSSxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM5QyxDQUFDLE1BQU0sQ0FBQyxHQUNQLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFFakMsS0FBWSxnQkFBZ0IsQ0FBQyxNQUFNLFNBQVMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLFNBQzVFLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRztTQUNoQyxDQUFDLElBQUksTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDL0MsQ0FBQyxNQUFNLENBQUMsR0FDUCxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBRWxDLEtBQVksY0FBYyxDQUFDLE1BQU0sU0FBUyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLE1BQU0sU0FBUyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQ2pIO1NBQ0MsQ0FBQyxJQUFJLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzVDLENBQUMsTUFBTSxDQUFDLEdBQ1AsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtDQUNoQztBQUVELE1BQU0sTUFBTSxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQ25ELE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUN0QjtJQUNBLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7Q0FDekMsQ0FBQTtBQUVILHlCQUFpQixxQkFBcUIsQ0FBQyxDQUFDO0lBQ3RDLEtBQVksSUFBSSxDQUFDLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtDQUM5RDtBQUVELE1BQU0sTUFBTSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtBQUUxRSxlQUFPLE1BQU0sYUFBYSxHQUV0QixDQUFDLFNBQVMsU0FBUztJQUNqQixLQUFLLEVBQUUsR0FBRyxDQUFBO0lBQ1YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0NBQ2xGLEVBQUUsaUdBa0JOLENBQUEifQ==
@@ -1 +1 @@
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
+ {"version":3,"file":"layerUtils.d.ts","sourceRoot":"","sources":["../../src/api/layerUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,qBAAqB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAO5F,yBAAiB,UAAU,CAAC,CAAC;IAC3B,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,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,GACtB;IACA,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC,CAAA;AAEH,yBAAiB,qBAAqB,CAAC,CAAC;IACtC,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,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE1E,eAAO,MAAM,aAAa,GAEtB,CAAC,SAAS,SAAS;IACjB,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;CAClF,EAAE,iGAkBN,CAAA"}
@@ -1,16 +1,16 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Effect, Option, ServiceMap } from "effect-app";
2
+ import { Context, Effect, Option } from "effect-app";
3
3
  import { InfraLogger } from "../logger.js";
4
4
  export const mergeContexts = Effect.fnUntraced(function* (makers) {
5
- let context = ServiceMap.empty();
5
+ let context = Context.empty();
6
6
  for (const mw of makers) {
7
7
  const ctx = yield* mw.handle.pipe(Effect.provide(context));
8
- const moreContext = ServiceMap.isServiceMap(ctx) ? Option.some(ctx) : ctx;
8
+ const moreContext = Context.isContext(ctx) ? Option.some(ctx) : ctx;
9
9
  yield* InfraLogger.logDebug("Built dynamic context for middleware" + (mw.maker.key ?? mw.maker), Option.map(moreContext, (c) => c.toJSON().services));
10
10
  if (moreContext.value) {
11
- context = ServiceMap.merge(context, moreContext.value);
11
+ context = Context.merge(context, moreContext.value);
12
12
  }
13
13
  }
14
14
  return context;
15
15
  });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvbGF5ZXJVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBMEMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMvRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBc0MxQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FDNUMsUUFBUSxDQUFDLEVBTVAsTUFBUztJQUVULElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNoQyxLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUMxRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUE7UUFDekUsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FDekIsc0NBQXNDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ25FLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQzdELENBQUE7UUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUFxRSxDQUFBO0FBQzlFLENBQUMsQ0FDRixDQUFBIn0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvbGF5ZXJVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQTBDLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM1RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBc0MxQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FDNUMsUUFBUSxDQUFDLEVBTVAsTUFBUztJQUVULElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUM3QixLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUMxRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUE7UUFDbkUsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FDekIsc0NBQXNDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ25FLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQzdELENBQUE7UUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUErRCxDQUFBO0FBQ3hFLENBQUMsQ0FDRixDQUFBIn0=
@@ -7,4 +7,4 @@ export * from "./internal/auth.js";
7
7
  export * from "./internal/events.js";
8
8
  export * from "./internal/health.js";
9
9
  export * from "./internal/RequestContextMiddleware.js";
10
- //# sourceMappingURL=middlewares.d.ts.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvbWlkZGxld2FyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsd0NBQXdDLENBQUEifQ==
@@ -1,4 +1,4 @@
1
1
  import { Effect } from "effect-app";
2
2
  export declare const reportRequestError: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
3
3
  export declare const reportUnknownRequestError: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
4
- //# sourceMappingURL=reportError.d.ts.map
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0RXJyb3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcmVwb3J0RXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQTJCMUMsZUFBTyxNQUFNLGtCQUFrQixHQVJyQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLDJCQVFXLENBQUE7QUFDMUQsZUFBTyxNQUFNLHlCQUF5QixHQVQ1QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLDJCQVN3QixDQUFBIn0=
@@ -1,4 +1,4 @@
1
- import { type Layer, type ServiceMap } from "effect-app";
1
+ import { type Context, type Layer } from "effect-app";
2
2
  import { type GetContextConfig, type RpcContextMap } from "effect-app/rpc/RpcContextMap";
3
3
  import { type RpcMiddlewareV4 } from "effect-app/rpc/RpcMiddleware";
4
4
  export type RouterMiddleware<Self, RequestContextMap extends Record<string, RpcContextMap.Any>, // what services will the middlware provide dynamically to the next, or raise errors.
@@ -7,9 +7,9 @@ MakeMiddlewareR, // what the middlware requires to be constructed
7
7
  ContextProviderA, // what the context provider provides
8
8
  ContextProviderE, // what the context provider may fail with
9
9
  _ContextProviderR, // what the context provider requires
10
- RequestContextId> = ServiceMap.Service<Self, RpcMiddlewareV4<ContextProviderA, ContextProviderE, never>> & {
10
+ RequestContextId> = Context.Service<Self, RpcMiddlewareV4<ContextProviderA, ContextProviderE, never>> & {
11
11
  readonly Default: Layer.Layer<Self, MakeMiddlewareE, MakeMiddlewareR>;
12
- readonly requestContext: ServiceMap.Service<RequestContextId, GetContextConfig<RequestContextMap>>;
12
+ readonly requestContext: Context.Service<RequestContextId, GetContextConfig<RequestContextMap>>;
13
13
  readonly requestContextMap: RequestContextMap;
14
14
  };
15
- //# sourceMappingURL=RouterMiddleware.d.ts.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyTWlkZGxld2FyZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUvUm91dGVyTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsS0FBSyxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN4RixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUtuRSxNQUFNLE1BQU0sZ0JBQWdCLENBQzFCLElBQUksRUFDSixpQkFBaUIsU0FBUyxNQUFNLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxxRkFBcUY7QUFDbEosZUFBZSxFQUFFLGlEQUFpRDtBQUNsRSxlQUFlLEVBQUUsZ0RBQWdEO0FBQ2pFLGdCQUFnQixFQUFFLHFDQUFxQztBQUN2RCxnQkFBZ0IsRUFBRSwwQ0FBMEM7QUFDNUQsaUJBQWlCLEVBQUUscUNBQXFDO0FBQ3hELGdCQUFnQixJQUVkLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUNqRjtJQUNBLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFBO0lBQ3JFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7SUFDL0YsUUFBUSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFBO0NBQzlDLENBQUEifQ==
@@ -1 +1 @@
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
+ {"version":3,"file":"RouterMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RouterMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AACrD,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,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,GACjF;IACA,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IACrE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC/F,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAA;CAC9C,CAAA"}
@@ -1,9 +1,55 @@
1
- import { Config, Layer } from "effect";
2
- import { ConfigureInterruptibilityMiddleware, DevModeMiddleware, LoggerMiddleware, RequestCacheMiddleware } from "effect-app/middleware";
1
+ import { Config, Effect, Layer, Schema } from "effect";
2
+ import { ConfigureInterruptibilityMiddleware, DevModeMiddleware, InvalidationMiddleware, LoggerMiddleware, RequestCacheMiddleware } from "effect-app/middleware";
3
+ import { RpcContextMap, type RpcMiddleware } from "effect-app/rpc";
4
+ import * as Context from "effect/Context";
5
+ import { type Rpc } from "effect/unstable/rpc";
6
+ import { WithNsTransaction } from "../../../Store/SQL.js";
3
7
  export declare const DevModeLive: Layer.Layer<never, Config.ConfigError, never>;
4
8
  export declare const RequestCacheMiddlewareLive: Layer.Layer<RequestCacheMiddleware, never, never>;
9
+ export declare const RequestType: Context.Reference<"command" | "query">;
5
10
  export declare const ConfigureInterruptibilityMiddlewareLive: Layer.Layer<ConfigureInterruptibilityMiddleware, never, never>;
6
11
  export declare const LoggerMiddlewareLive: Layer.Layer<LoggerMiddleware, Config.ConfigError, never>;
7
12
  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
13
+ /**
14
+ * RPC middleware that:
15
+ * 1. Reads the `Invalidates` annotation and pre-populates `InvalidationSet` with static keys.
16
+ * 2. Creates a request-scoped `InvalidationSet` backed by a `Ref` and provides it to the handler.
17
+ * 3. For commands: wraps the result in `{ payload, metadata: { invalidateQueries } }` so that
18
+ * accumulated invalidation keys reach the client via the RPC response body.
19
+ * 4. For commands (V2): also wraps failures in `CommandFailureWithMetaData` so clients can
20
+ * invalidate queries even when a command fails.
21
+ */
22
+ export declare const InvalidationMiddlewareLive: Layer.Layer<InvalidationMiddleware, never, never>;
23
+ export declare const DefaultGenericMiddlewaresLive: Layer.Layer<ConfigureInterruptibilityMiddleware | DevModeMiddleware | InvalidationMiddleware | LoggerMiddleware | RequestCacheMiddleware, Config.ConfigError, never>;
24
+ /**
25
+ * Config entry for `RequestContextMap` that controls per-RPC transaction wrapping.
26
+ * Defaults to `false` (no transaction). Set `requiresTransaction: true` on a route to enable.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * class RequestContextMap extends RpcContextMap.makeMap({
31
+ * requiresTransaction: requiresTransactionConfig,
32
+ * // ...
33
+ * }) {}
34
+ * ```
35
+ */
36
+ export declare const requiresTransactionConfig: RpcContextMap.RpcContextMap.Custom<never, Schema.Never, boolean>;
37
+ /**
38
+ * Creates the middleware Effect for SQL transaction wrapping.
39
+ * Requires `WithNsTransaction` service.
40
+ * Reads `requiresTransaction` from the RPC config; defaults to `false`.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * const SqlTransactionMiddlewareLive = Layer.effect(
45
+ * SqlTransactionMiddleware,
46
+ * makeSqlTransactionMiddleware(RequestContextMap)
47
+ * )
48
+ * ```
49
+ */
50
+ export declare const makeSqlTransactionMiddleware: (rcm: {
51
+ getConfig: (rpc: Rpc.AnyWithProps) => {
52
+ readonly requiresTransaction?: boolean;
53
+ };
54
+ }) => Effect.Effect<RpcMiddleware.RpcMiddlewareV4<never, never, never>, never, WithNsTransaction>;
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQU8sTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBVyxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3pLLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLEtBQUssYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHaEYsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQWEsTUFBTSxxQkFBcUIsQ0FBQTtBQUd6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQU16RCxlQUFPLE1BQU0sV0FBVywrQ0FNdkIsQ0FBQTtBQUVELGVBQU8sTUFBTSwwQkFBMEIsbURBR3RDLENBQUE7QUFLRCxlQUFPLE1BQU0sV0FBVyx3Q0FHdkIsQ0FBQTtBQUVELGVBQU8sTUFBTSx1Q0FBdUMsZ0VBY25ELENBQUE7QUFFRCxlQUFPLE1BQU0sb0JBQW9CLDBEQTJERSxDQUFBO0FBRW5DLGVBQU8sTUFBTSxxQkFBcUIsMkRBUUMsQ0FBQTtBQUVuQzs7Ozs7Ozs7R0FRRztBQUNILGVBQU8sTUFBTSwwQkFBMEIsbURBNEN0QyxDQUFBO0FBRUQsZUFBTyxNQUFNLDZCQUE2QixzS0FNekMsQ0FBQTtBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsZUFBTyxNQUFNLHlCQUF5QixrRUFBa0QsQ0FBQTtBQUV4Rjs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxlQUFPLE1BQU0sNEJBQTRCO2VBQ3JCLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxZQUFZLEtBQUs7UUFBRSxRQUFRLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUE7S0FBRTtpR0FTdkYsQ0FBQSJ9
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAE,MAAM,EAAE,KAAK,EAAO,MAAM,EAAE,MAAM,QAAQ,CAAA;AAClE,OAAO,EAAE,mCAAmC,EAAW,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACzK,OAAO,EAAgB,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGhF,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,qBAAqB,CAAA;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAMzD,eAAO,MAAM,WAAW,+CAMvB,CAAA;AAED,eAAO,MAAM,0BAA0B,mDAGtC,CAAA;AAKD,eAAO,MAAM,WAAW,wCAGvB,CAAA;AAED,eAAO,MAAM,uCAAuC,gEAcnD,CAAA;AAED,eAAO,MAAM,oBAAoB,0DA2DE,CAAA;AAEnC,eAAO,MAAM,qBAAqB,2DAQC,CAAA;AAEnC;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,mDA4CtC,CAAA;AAED,eAAO,MAAM,6BAA6B,sKAMzC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,kEAAkD,CAAA;AAExF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,4BAA4B;eACrB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,KAAK;QAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE;iGASvF,CAAA"}
@@ -1,10 +1,14 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Cause, Config, Effect, Layer, Schema } from "effect";
3
- import { ConfigureInterruptibilityMiddleware, DevMode, DevModeMiddleware, LoggerMiddleware, RequestCacheMiddleware } from "effect-app/middleware";
2
+ import { Cause, Config, Effect, Layer, Ref, Schema } from "effect";
3
+ import { ConfigureInterruptibilityMiddleware, DevMode, DevModeMiddleware, InvalidationMiddleware, LoggerMiddleware, RequestCacheMiddleware } from "effect-app/middleware";
4
+ import { Invalidation, RpcContextMap } from "effect-app/rpc";
4
5
  import { pretty } from "effect-app/utils";
6
+ import * as Array from "effect/Array";
7
+ import * as Context from "effect/Context";
8
+ import { RpcSchema } from "effect/unstable/rpc";
5
9
  import { logError, reportError } from "../../../errorReporter.js";
6
10
  import { InfraLogger } from "../../../logger.js";
7
- import { determineMethod, isCommand } from "../utils.js";
11
+ import { WithNsTransaction } from "../../../Store/SQL.js";
8
12
  const logRequestError = logError("Request");
9
13
  const reportRequestError = reportError("Request");
10
14
  // TODO: do we need this as middleware or just as layer?
@@ -14,20 +18,13 @@ export const DevModeLive = Layer.effect(DevMode, Effect.gen(function* () {
14
18
  }));
15
19
  export const RequestCacheMiddlewareLive = Layer.succeed(RequestCacheMiddleware, (effect) => effect);
16
20
  const isOptimisticConcurrencyException = (input) => typeof input === "object" && input !== null && "_tag" in input && input._tag === "OptimisticConcurrencyException";
21
+ export const RequestType = Context.Reference("@effect-app/infra/api/routing/RequestType", { defaultValue: () => "query" });
17
22
  export const ConfigureInterruptibilityMiddlewareLive = Layer.effect(ConfigureInterruptibilityMiddleware, Effect.gen(function* () {
18
- const cache = new Map();
19
- const getCached = (key, schema) => {
20
- const existing = cache.get(key);
21
- if (existing)
22
- return existing;
23
- const n = determineMethod(key, schema);
24
- cache.set(key, n);
25
- return n;
26
- };
27
23
  return (effect, { rpc }) => {
28
- const method = getCached(rpc._tag, rpc.payloadSchema);
29
- effect = isCommand(method)
30
- ? Effect.retry(Effect.uninterruptible(effect), { times: 1, while: isOptimisticConcurrencyException })
24
+ const requestType = Context.get(rpc.annotations, RequestType);
25
+ const isCommand = requestType === "command";
26
+ effect = isCommand
27
+ ? Effect.retry(effect, { times: 1, while: isOptimisticConcurrencyException })
31
28
  : Effect.interruptible(effect);
32
29
  return effect;
33
30
  };
@@ -88,5 +85,70 @@ export const DevModeMiddlewareLive = Layer
88
85
  return (effect) => Effect.provideService(effect, DevMode, devMode);
89
86
  }))
90
87
  .pipe(Layer.provide(DevModeLive));
91
- export const DefaultGenericMiddlewaresLive = Layer.mergeAll(RequestCacheMiddlewareLive, ConfigureInterruptibilityMiddlewareLive, LoggerMiddlewareLive, DevModeMiddlewareLive);
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzdELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNqSixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFeEQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRWpELHdEQUF3RDtBQUN4RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDckMsT0FBTyxFQUNQLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ2xCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtJQUM3RSxPQUFPLEdBQUcsS0FBSyxNQUFNLENBQUE7QUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtBQUVELE1B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
88
+ /**
89
+ * RPC middleware that:
90
+ * 1. Reads the `Invalidates` annotation and pre-populates `InvalidationSet` with static keys.
91
+ * 2. Creates a request-scoped `InvalidationSet` backed by a `Ref` and provides it to the handler.
92
+ * 3. For commands: wraps the result in `{ payload, metadata: { invalidateQueries } }` so that
93
+ * accumulated invalidation keys reach the client via the RPC response body.
94
+ * 4. For commands (V2): also wraps failures in `CommandFailureWithMetaData` so clients can
95
+ * invalidate queries even when a command fails.
96
+ */
97
+ export const InvalidationMiddlewareLive = Layer.succeed(InvalidationMiddleware, (effect, { rpc }) => Ref
98
+ .make(Context.get(rpc.annotations, Invalidation.Invalidates))
99
+ .pipe(Effect.flatMap((keysRef) => {
100
+ const requestType = Context.get(rpc.annotations, RequestType);
101
+ const isCommand = requestType === "command";
102
+ const isStream = RpcSchema.isStreamSchema(rpc.successSchema);
103
+ const withSet = Effect.provideService(effect, Invalidation.InvalidationSet, Invalidation.makeInvalidationSet(keysRef));
104
+ // Stream resources handle their own invalidation wrapping in routing.ts
105
+ // (per-chunk { _tag: "value"|"metadata"|"done" } envelope).
106
+ if (!isCommand || isStream)
107
+ return withSet;
108
+ return withSet.pipe(Effect.flatMap((value) => Ref.get(keysRef).pipe(Effect.map((keys) => ({ payload: value, metadata: { invalidateQueries: keys } })))),
109
+ // V2: wrap command failures with metadata so the client can invalidate
110
+ // queries even when the command fails.
111
+ Effect.catch((err) => Ref.get(keysRef).pipe(Effect.flatMap((keys) => Effect.fail({
112
+ _tag: "CommandFailureWithMetaData",
113
+ error: err,
114
+ metadata: { invalidateQueries: keys }
115
+ })))));
116
+ })));
117
+ export const DefaultGenericMiddlewaresLive = Layer.mergeAll(RequestCacheMiddlewareLive, ConfigureInterruptibilityMiddlewareLive, LoggerMiddlewareLive, DevModeMiddlewareLive, InvalidationMiddlewareLive);
118
+ /**
119
+ * Config entry for `RequestContextMap` that controls per-RPC transaction wrapping.
120
+ * Defaults to `false` (no transaction). Set `requiresTransaction: true` on a route to enable.
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * class RequestContextMap extends RpcContextMap.makeMap({
125
+ * requiresTransaction: requiresTransactionConfig,
126
+ * // ...
127
+ * }) {}
128
+ * ```
129
+ */
130
+ export const requiresTransactionConfig = RpcContextMap.makeCustom()(Schema.Never, false);
131
+ /**
132
+ * Creates the middleware Effect for SQL transaction wrapping.
133
+ * Requires `WithNsTransaction` service.
134
+ * Reads `requiresTransaction` from the RPC config; defaults to `false`.
135
+ *
136
+ * @example
137
+ * ```ts
138
+ * const SqlTransactionMiddlewareLive = Layer.effect(
139
+ * SqlTransactionMiddleware,
140
+ * makeSqlTransactionMiddleware(RequestContextMap)
141
+ * )
142
+ * ```
143
+ */
144
+ export const makeSqlTransactionMiddleware = Effect.fnUntraced(function* (rcm) {
145
+ const withTx = yield* WithNsTransaction;
146
+ const mw = (effect, { rpc }) => {
147
+ const { requiresTransaction } = rcm.getConfig(rpc);
148
+ if (requiresTransaction !== true)
149
+ return effect;
150
+ return withTx(effect);
151
+ };
152
+ return mw;
153
+ });
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDekssT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUE7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxPQUFPLE1BQU0sZ0JBQWdCLENBQUE7QUFDekMsT0FBTyxFQUFZLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBRXpELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUMzQyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUVqRCx3REFBd0Q7QUFDeEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ3JDLE9BQU8sRUFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FB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
@@ -1,4 +1,3 @@
1
1
  export * from "./middleware/middleware.js";
2
2
  export * from "./middleware/RouterMiddleware.js";
3
- export * as Middleware from "./middleware.js";
4
- //# sourceMappingURL=middleware.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLGtDQUFrQyxDQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/api/routing/middleware.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA;AAGhD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/api/routing/middleware.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA"}
@@ -2,5 +2,4 @@
2
2
  export * from "./middleware/middleware.js";
3
3
  export * from "./middleware/RouterMiddleware.js";
4
4
  // codegen:end
5
- export * as Middleware from "./middleware.js";
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RTtBQUM1RSxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYztBQUVkLE9BQU8sS0FBSyxVQUFVLE1BQU0saUJBQWlCLENBQUEifQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RTtBQUM1RSxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyJ9
@@ -1,4 +1,4 @@
1
1
  import * as S from "effect-app/Schema";
2
2
  import { type JwtDecodeOptions } from "jwt-decode";
3
- export declare const parseJwt: <Sch extends S.Top>(schema: Sch, options?: JwtDecodeOptions) => S.decodeTo<Sch, S.String>;
4
- //# sourceMappingURL=jwt.d.ts.map
3
+ export declare const parseJwt: <Sch extends S.Top>(schema: Sch, options?: JwtDecodeOptions) => never;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvc2NoZW1hL2p3dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEtBQUssQ0FBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3RDLE9BQU8sRUFBYSxLQUFLLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTdELGVBQU8sTUFBTSxRQUFRLEdBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFVBQ2hDLEdBQUcsWUFDRCxnQkFBZ0IsVUFZUSxDQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/schema/jwt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7D,eAAO,MAAM,QAAQ,GAAI,GAAG,SAAS,CAAC,CAAC,GAAG,EACxC,QAAQ,GAAG,EACX,UAAU,gBAAgB,KAamB,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/schema/jwt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7D,eAAO,MAAM,QAAQ,GAAI,GAAG,SAAS,CAAC,CAAC,GAAG,UAChC,GAAG,YACD,gBAAgB,UAYQ,CAAA"}
@@ -9,4 +9,4 @@ export const parseJwt = (schema, options) => S
9
9
  catch: (e) => new S.SchemaIssue.InvalidValue(Option.some(s), { message: e?.message })
10
10
  }))
11
11
  .pipe(S.decodeTo(schema));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL3NjaGVtYS9qd3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sWUFBWSxDQUFBO0FBRTdELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUN0QixNQUFXLEVBQ1gsT0FBMEIsRUFDMUIsRUFBRSxDQUNGLENBQUM7S0FDRSxpQkFBaUIsQ0FDaEIsQ0FBQyxDQUFDLE1BQU0sRUFDUixDQUFDLENBQUMsT0FBTyxFQUNULENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQ2QsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUNULEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUNoQyxLQUFLLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUNoQixJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO0NBQzFFLENBQUMsQ0FDTDtLQUNBLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBUSxDQUFxQyxDQUFBIn0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL3NjaGVtYS9qd3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sWUFBWSxDQUFBO0FBRTdELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUN0QixNQUFXLEVBQ1gsT0FBMEIsRUFDMUIsRUFBRSxDQUNGLENBQUM7S0FDRSxpQkFBaUIsQ0FDaEIsQ0FBQyxDQUFDLE1BQU0sRUFDUixDQUFDLENBQUMsT0FBTyxFQUNULENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQ2QsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUNULEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUNoQyxLQUFLLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7Q0FDM0YsQ0FBQyxDQUNMO0tBQ0EsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFRLENBQUMsQ0FBQSJ9
@@ -5,4 +5,4 @@ export declare const createEdges: <T extends {
5
5
  export declare const sort: <T>(dep: readonly (T & {
6
6
  dependsOn?: readonly any[] | undefined;
7
7
  })[]) => readonly T[];
8
- //# sourceMappingURL=tsort.d.ts.map
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNvcnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy90c29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSx3QkFBZ0IsS0FBSyxDQUFDLEtBQUssS0FBQSxTQXFDMUI7QUFFRCxlQUFPLE1BQU0sV0FBVyxHQUFJLENBQUMsU0FBUztJQUFFLFNBQVMsQ0FBQyxFQUFFLFNBQVMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFBO0NBQUUsT0FBTyxTQUFTLENBQUMsRUFBRSxVQVFsRyxDQUFBO0FBRUQsZUFBTyxNQUFNLElBQUksR0FBSSxDQUFDLE9BQU8sU0FBUyxDQUFDLENBQUMsR0FBRztJQUFFLFNBQVMsQ0FBQyxFQUFFLFNBQVMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFBO0NBQUUsQ0FBQyxFQUFFLEtBQUcsU0FBUyxDQUFDLEVBSXBHLENBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"tsort.d.ts","sourceRoot":"","sources":["../../../src/api/routing/tsort.ts"],"names":[],"mappings":"AAEA,wBAAgB,KAAK,CAAC,KAAK,KAAA,SAqC1B;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,EAAE,GAAG,SAAS,CAAA;CAAE,EAAE,KAAK,SAAS,CAAC,EAAE,UAQlG,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,EAAE,GAAG,SAAS,CAAA;CAAE,CAAC,EAAE,KAAG,SAAS,CAAC,EAIpG,CAAA"}
1
+ {"version":3,"file":"tsort.d.ts","sourceRoot":"","sources":["../../../src/api/routing/tsort.ts"],"names":[],"mappings":"AAEA,wBAAgB,KAAK,CAAC,KAAK,KAAA,SAqC1B;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,EAAE,GAAG,SAAS,CAAA;CAAE,OAAO,SAAS,CAAC,EAAE,UAQlG,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,CAAC,OAAO,SAAS,CAAC,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,EAAE,GAAG,SAAS,CAAA;CAAE,CAAC,EAAE,KAAG,SAAS,CAAC,EAIpG,CAAA"}
@@ -4,16 +4,16 @@ export declare const determineMethod: (fullName: string, schema: S.Top) => {
4
4
  readonly method: "GET" | "POST";
5
5
  } | {
6
6
  readonly _tag: "command";
7
- readonly method: "POST" | "DELETE";
7
+ readonly method: "DELETE" | "POST";
8
8
  } | {
9
9
  readonly _tag: "command";
10
10
  readonly method: "PATCH";
11
11
  };
12
12
  export declare const isCommand: (method: ReturnType<typeof determineMethod>) => method is {
13
13
  readonly _tag: "command";
14
- readonly method: "POST" | "DELETE";
14
+ readonly method: "DELETE" | "POST";
15
15
  } | {
16
16
  readonly _tag: "command";
17
17
  readonly method: "PATCH";
18
18
  };
19
- //# sourceMappingURL=utils.d.ts.map
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFhLE1BQU0sWUFBWSxDQUFBO0FBZ0N6QyxlQUFPLE1BQU0sZUFBZSxhQUFjLE1BQU0sVUFBVSxDQUFDLENBQUMsR0FBRzttQkFLNUMsT0FBTzs7O21CQUdQLFNBQVM7OzttQkFFc0MsU0FBUztxQkFBVSxPQUFPO0NBRTNGLENBQUE7QUFFRCxlQUFPLE1BQU0sU0FBUyxXQUFZLFVBQVUsQ0FBQyxPQUFPLGVBQWUsQ0FBQzttQkFOakQsU0FBUzs7O21CQUVzQyxTQUFTO3FCQUFVLE9BQU87Q0FJTSxDQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/api/routing/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAa,MAAM,YAAY,CAAA;AAgCzC,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,QAAQ,CAAC,CAAC,GAAG;;;;;;;;;CAY9D,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,UAAU,CAAC,OAAO,eAAe,CAAC;;;;;;CAA8B,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/api/routing/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAa,MAAM,YAAY,CAAA;AAgCzC,eAAO,MAAM,eAAe,aAAc,MAAM,UAAU,CAAC,CAAC,GAAG;mBAK5C,OAAO;;;mBAGP,SAAS;;;mBAEsC,SAAS;qBAAU,OAAO;CAE3F,CAAA;AAED,eAAO,MAAM,SAAS,WAAY,UAAU,CAAC,OAAO,eAAe,CAAC;mBANjD,SAAS;;;mBAEsC,SAAS;qBAAU,OAAO;CAIM,CAAA"}