@effect-app/infra 4.0.0-beta.19 → 4.0.0-beta.190

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 (300) hide show
  1. package/CHANGELOG.md +1277 -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 +9 -3
  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 +5 -5
  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/index.d.ts +1 -1
  48. package/dist/Model/filter/types/utils.d.ts +1 -1
  49. package/dist/Model/filter/types/validator.d.ts +1 -1
  50. package/dist/Model/filter/types.d.ts +1 -1
  51. package/dist/Model/query/dsl.d.ts +1 -1
  52. package/dist/Model/query/dsl.d.ts.map +1 -1
  53. package/dist/Model/query/new-kid-interpreter.d.ts +6 -6
  54. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
  55. package/dist/Model/query/new-kid-interpreter.js +3 -3
  56. package/dist/Model/query.d.ts +1 -1
  57. package/dist/Model.d.ts +2 -1
  58. package/dist/Model.d.ts.map +1 -1
  59. package/dist/Model.js +2 -1
  60. package/dist/Operations.d.ts +6 -6
  61. package/dist/Operations.d.ts.map +1 -1
  62. package/dist/Operations.js +56 -59
  63. package/dist/OperationsRepo.d.ts +11 -29
  64. package/dist/OperationsRepo.d.ts.map +1 -1
  65. package/dist/OperationsRepo.js +3 -3
  66. package/dist/QueueMaker/SQLQueue.d.ts +5 -7
  67. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  68. package/dist/QueueMaker/SQLQueue.js +105 -114
  69. package/dist/QueueMaker/errors.d.ts +2 -2
  70. package/dist/QueueMaker/errors.d.ts.map +1 -1
  71. package/dist/QueueMaker/memQueue.d.ts +7 -4
  72. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  73. package/dist/QueueMaker/memQueue.js +51 -62
  74. package/dist/QueueMaker/sbqueue.d.ts +6 -3
  75. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  76. package/dist/QueueMaker/sbqueue.js +37 -53
  77. package/dist/QueueMaker/service.d.ts +1 -1
  78. package/dist/RequestContext.d.ts +114 -26
  79. package/dist/RequestContext.d.ts.map +1 -1
  80. package/dist/RequestContext.js +7 -7
  81. package/dist/RequestFiberSet.d.ts +7 -7
  82. package/dist/RequestFiberSet.d.ts.map +1 -1
  83. package/dist/RequestFiberSet.js +5 -5
  84. package/dist/Store/ContextMapContainer.d.ts +19 -3
  85. package/dist/Store/ContextMapContainer.d.ts.map +1 -1
  86. package/dist/Store/ContextMapContainer.js +13 -3
  87. package/dist/Store/Cosmos/query.d.ts +1 -1
  88. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  89. package/dist/Store/Cosmos/query.js +8 -10
  90. package/dist/Store/Cosmos.d.ts +1 -1
  91. package/dist/Store/Cosmos.d.ts.map +1 -1
  92. package/dist/Store/Cosmos.js +308 -242
  93. package/dist/Store/Disk.d.ts +2 -2
  94. package/dist/Store/Disk.d.ts.map +1 -1
  95. package/dist/Store/Disk.js +25 -22
  96. package/dist/Store/Memory.d.ts +4 -4
  97. package/dist/Store/Memory.d.ts.map +1 -1
  98. package/dist/Store/Memory.js +27 -22
  99. package/dist/Store/SQL/Pg.d.ts +4 -0
  100. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  101. package/dist/Store/SQL/Pg.js +189 -0
  102. package/dist/Store/SQL/query.d.ts +38 -0
  103. package/dist/Store/SQL/query.d.ts.map +1 -0
  104. package/dist/Store/SQL/query.js +367 -0
  105. package/dist/Store/SQL.d.ts +20 -0
  106. package/dist/Store/SQL.d.ts.map +1 -0
  107. package/dist/Store/SQL.js +381 -0
  108. package/dist/Store/codeFilter.d.ts +1 -1
  109. package/dist/Store/codeFilter.d.ts.map +1 -1
  110. package/dist/Store/codeFilter.js +2 -1
  111. package/dist/Store/index.d.ts +5 -2
  112. package/dist/Store/index.d.ts.map +1 -1
  113. package/dist/Store/index.js +15 -3
  114. package/dist/Store/service.d.ts +17 -6
  115. package/dist/Store/service.d.ts.map +1 -1
  116. package/dist/Store/service.js +24 -6
  117. package/dist/Store/utils.d.ts +1 -1
  118. package/dist/Store/utils.d.ts.map +1 -1
  119. package/dist/Store/utils.js +3 -4
  120. package/dist/Store.d.ts +1 -1
  121. package/dist/adapters/SQL/Model.d.ts +28 -42
  122. package/dist/adapters/SQL/Model.d.ts.map +1 -1
  123. package/dist/adapters/SQL/Model.js +2 -2
  124. package/dist/adapters/SQL.d.ts +1 -1
  125. package/dist/adapters/ServiceBus.d.ts +9 -9
  126. package/dist/adapters/ServiceBus.d.ts.map +1 -1
  127. package/dist/adapters/ServiceBus.js +13 -15
  128. package/dist/adapters/cosmos-client.d.ts +3 -3
  129. package/dist/adapters/cosmos-client.d.ts.map +1 -1
  130. package/dist/adapters/cosmos-client.js +3 -3
  131. package/dist/adapters/index.d.ts +8 -2
  132. package/dist/adapters/index.d.ts.map +1 -1
  133. package/dist/adapters/index.js +8 -2
  134. package/dist/adapters/logger.d.ts +1 -1
  135. package/dist/adapters/logger.d.ts.map +1 -1
  136. package/dist/adapters/memQueue.d.ts +3 -3
  137. package/dist/adapters/memQueue.d.ts.map +1 -1
  138. package/dist/adapters/memQueue.js +3 -3
  139. package/dist/adapters/mongo-client.d.ts +3 -3
  140. package/dist/adapters/mongo-client.d.ts.map +1 -1
  141. package/dist/adapters/mongo-client.js +3 -3
  142. package/dist/adapters/redis-client.d.ts +3 -3
  143. package/dist/adapters/redis-client.d.ts.map +1 -1
  144. package/dist/adapters/redis-client.js +3 -3
  145. package/dist/api/ContextProvider.d.ts +7 -7
  146. package/dist/api/ContextProvider.d.ts.map +1 -1
  147. package/dist/api/ContextProvider.js +6 -6
  148. package/dist/api/codec.d.ts +1 -1
  149. package/dist/api/internal/RequestContextMiddleware.d.ts +2 -2
  150. package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
  151. package/dist/api/internal/RequestContextMiddleware.js +2 -2
  152. package/dist/api/internal/auth.d.ts +44 -6
  153. package/dist/api/internal/auth.d.ts.map +1 -1
  154. package/dist/api/internal/auth.js +160 -29
  155. package/dist/api/internal/events.d.ts +3 -3
  156. package/dist/api/internal/events.d.ts.map +1 -1
  157. package/dist/api/internal/events.js +9 -7
  158. package/dist/api/internal/health.d.ts +1 -1
  159. package/dist/api/layerUtils.d.ts +6 -6
  160. package/dist/api/layerUtils.d.ts.map +1 -1
  161. package/dist/api/layerUtils.js +5 -5
  162. package/dist/api/middlewares.d.ts +1 -1
  163. package/dist/api/reportError.d.ts +1 -1
  164. package/dist/api/routing/middleware/RouterMiddleware.d.ts +4 -4
  165. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
  166. package/dist/api/routing/middleware/middleware.d.ts +50 -4
  167. package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
  168. package/dist/api/routing/middleware/middleware.js +75 -17
  169. package/dist/api/routing/middleware.d.ts +1 -2
  170. package/dist/api/routing/middleware.d.ts.map +1 -1
  171. package/dist/api/routing/middleware.js +1 -2
  172. package/dist/api/routing/schema/jwt.d.ts +1 -1
  173. package/dist/api/routing/schema/jwt.d.ts.map +1 -1
  174. package/dist/api/routing/tsort.d.ts +1 -1
  175. package/dist/api/routing/tsort.d.ts.map +1 -1
  176. package/dist/api/routing/utils.d.ts +3 -3
  177. package/dist/api/routing/utils.d.ts.map +1 -1
  178. package/dist/api/routing.d.ts +26 -18
  179. package/dist/api/routing.d.ts.map +1 -1
  180. package/dist/api/routing.js +70 -11
  181. package/dist/api/setupRequest.d.ts +8 -5
  182. package/dist/api/setupRequest.d.ts.map +1 -1
  183. package/dist/api/setupRequest.js +12 -7
  184. package/dist/api/util.d.ts +1 -1
  185. package/dist/arbs.d.ts +1 -1
  186. package/dist/arbs.d.ts.map +1 -1
  187. package/dist/arbs.js +5 -3
  188. package/dist/errorReporter.d.ts +4 -4
  189. package/dist/errorReporter.d.ts.map +1 -1
  190. package/dist/errorReporter.js +20 -25
  191. package/dist/errors.d.ts +1 -1
  192. package/dist/fileUtil.d.ts +1 -1
  193. package/dist/fileUtil.d.ts.map +1 -1
  194. package/dist/index.d.ts +1 -1
  195. package/dist/logger/jsonLogger.d.ts +1 -1
  196. package/dist/logger/logFmtLogger.d.ts +1 -1
  197. package/dist/logger/shared.d.ts +1 -1
  198. package/dist/logger/shared.js +2 -2
  199. package/dist/logger.d.ts +1 -1
  200. package/dist/logger.d.ts.map +1 -1
  201. package/dist/rateLimit.d.ts +9 -3
  202. package/dist/rateLimit.d.ts.map +1 -1
  203. package/dist/rateLimit.js +5 -11
  204. package/dist/test.d.ts +1 -1
  205. package/dist/test.d.ts.map +1 -1
  206. package/dist/vitest.d.ts +1 -1
  207. package/eslint.config.mjs +3 -3
  208. package/examples/query.ts +39 -35
  209. package/package.json +42 -36
  210. package/src/CUPS.ts +9 -11
  211. package/src/Emailer/Sendgrid.ts +17 -14
  212. package/src/Emailer/service.ts +8 -2
  213. package/src/MainFiberSet.ts +3 -3
  214. package/src/Model/Repository/Registry.ts +33 -0
  215. package/src/Model/Repository/ext.ts +93 -6
  216. package/src/Model/Repository/internal/internal.ts +97 -88
  217. package/src/Model/Repository/makeRepo.ts +12 -10
  218. package/src/Model/Repository/service.ts +31 -22
  219. package/src/Model/Repository/validation.ts +4 -4
  220. package/src/Model/Repository.ts +1 -0
  221. package/src/Model/dsl.ts +3 -3
  222. package/src/Model/query/new-kid-interpreter.ts +2 -2
  223. package/src/Model.ts +1 -0
  224. package/src/QueueMaker/SQLQueue.ts +121 -151
  225. package/src/QueueMaker/memQueue.ts +82 -103
  226. package/src/QueueMaker/sbqueue.ts +56 -86
  227. package/src/RequestContext.ts +8 -8
  228. package/src/RequestFiberSet.ts +4 -4
  229. package/src/Store/ContextMapContainer.ts +41 -2
  230. package/src/Store/Cosmos/query.ts +9 -11
  231. package/src/Store/Cosmos.ts +437 -343
  232. package/src/Store/Disk.ts +52 -49
  233. package/src/Store/Memory.ts +54 -48
  234. package/src/Store/SQL/Pg.ts +318 -0
  235. package/src/Store/SQL/query.ts +409 -0
  236. package/src/Store/SQL.ts +668 -0
  237. package/src/Store/codeFilter.ts +1 -0
  238. package/src/Store/index.ts +17 -2
  239. package/src/Store/service.ts +31 -7
  240. package/src/Store/utils.ts +23 -22
  241. package/src/adapters/SQL/Model.ts +10 -4
  242. package/src/adapters/ServiceBus.ts +111 -115
  243. package/src/adapters/cosmos-client.ts +2 -2
  244. package/src/adapters/index.ts +7 -0
  245. package/src/adapters/memQueue.ts +2 -2
  246. package/src/adapters/mongo-client.ts +2 -2
  247. package/src/adapters/redis-client.ts +2 -2
  248. package/src/api/ContextProvider.ts +11 -11
  249. package/src/api/internal/RequestContextMiddleware.ts +1 -1
  250. package/src/api/internal/auth.ts +246 -44
  251. package/src/api/internal/events.ts +12 -8
  252. package/src/api/layerUtils.ts +8 -8
  253. package/src/api/routing/middleware/RouterMiddleware.ts +4 -4
  254. package/src/api/routing/middleware/middleware.ts +109 -15
  255. package/src/api/routing/middleware.ts +0 -2
  256. package/src/api/routing.ts +154 -13
  257. package/src/api/setupRequest.ts +28 -8
  258. package/src/arbs.ts +4 -2
  259. package/src/errorReporter.ts +62 -74
  260. package/src/logger/shared.ts +1 -1
  261. package/src/rateLimit.ts +30 -22
  262. package/test/auth.test.ts +101 -0
  263. package/test/contextProvider.test.ts +11 -11
  264. package/test/controller.test.ts +18 -14
  265. package/test/dist/auth.test.d.ts.map +1 -0
  266. package/test/dist/contextProvider.test.d.ts.map +1 -1
  267. package/test/dist/controller.test.d.ts.map +1 -1
  268. package/test/dist/date-query.test.d.ts.map +1 -0
  269. package/test/dist/fixtures.d.ts +26 -12
  270. package/test/dist/fixtures.d.ts.map +1 -1
  271. package/test/dist/fixtures.js +12 -10
  272. package/test/dist/query.test.d.ts.map +1 -1
  273. package/test/dist/rawQuery.test.d.ts.map +1 -1
  274. package/test/dist/repository-ext.test.d.ts.map +1 -0
  275. package/test/dist/requires.test.d.ts.map +1 -1
  276. package/test/dist/router-generator.test.d.ts.map +1 -0
  277. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  278. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  279. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  280. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  281. package/test/dist/sql-store.test.d.ts.map +1 -0
  282. package/test/fixtures.ts +11 -9
  283. package/test/query.test.ts +216 -34
  284. package/test/rawQuery.test.ts +23 -19
  285. package/test/repository-ext.test.ts +60 -0
  286. package/test/requires.test.ts +6 -6
  287. package/test/router-generator.test.ts +180 -0
  288. package/test/routing-interruptibility.test.ts +63 -0
  289. package/test/rpc-e2e-invalidation.test.ts +507 -0
  290. package/test/rpc-multi-middleware.test.ts +78 -9
  291. package/test/rpc-stream-fullstack.test.ts +181 -0
  292. package/test/sql-store.test.ts +1064 -0
  293. package/test/validateSample.test.ts +15 -12
  294. package/tsconfig.examples.json +1 -1
  295. package/tsconfig.json +0 -1
  296. package/tsconfig.json.bak +2 -2
  297. package/tsconfig.src.json +35 -35
  298. package/tsconfig.test.json +2 -2
  299. package/src/Operations.ts +0 -235
  300. package/src/OperationsRepo.ts +0 -16
package/CHANGELOG.md CHANGED
@@ -1,5 +1,1282 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 4.0.0-beta.190
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [985176b]
8
+ - effect-app@4.0.0-beta.190
9
+
10
+ ## 4.0.0-beta.189
11
+
12
+ ### Patch Changes
13
+
14
+ - ea32222: Update to effect 4.0.0-beta.60 and use native `Rpc.custom` constructors (`makeCommandRpc`, `makeStreamRpc`) for metadata-wrapped RPC schemas instead of manually wrapping/unwrapping schemas inline.
15
+ - Updated dependencies [ea32222]
16
+ - effect-app@4.0.0-beta.189
17
+
18
+ ## 4.0.0-beta.188
19
+
20
+ ### Patch Changes
21
+
22
+ - b2e438f: Remove Operations service and repo
23
+ - Updated dependencies [b2e438f]
24
+ - effect-app@4.0.0-beta.188
25
+
26
+ ## 4.0.0-beta.187
27
+
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies [0d4e0b8]
31
+ - effect-app@4.0.0-beta.187
32
+
33
+ ## 4.0.0-beta.186
34
+
35
+ ### Patch Changes
36
+
37
+ - effect-app@4.0.0-beta.186
38
+
39
+ ## 4.0.0-beta.185
40
+
41
+ ### Patch Changes
42
+
43
+ - effect-app@4.0.0-beta.185
44
+
45
+ ## 4.0.0-beta.184
46
+
47
+ ### Patch Changes
48
+
49
+ - effect-app@4.0.0-beta.184
50
+
51
+ ## 4.0.0-beta.183
52
+
53
+ ### Patch Changes
54
+
55
+ - effect-app@4.0.0-beta.183
56
+
57
+ ## 4.0.0-beta.182
58
+
59
+ ### Patch Changes
60
+
61
+ - effect-app@4.0.0-beta.182
62
+
63
+ ## 4.0.0-beta.181
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [583393f]
68
+ - effect-app@4.0.0-beta.181
69
+
70
+ ## 4.0.0-beta.180
71
+
72
+ ### Minor Changes
73
+
74
+ - 7fa3045: V1/V2/V3: stream and command requests carry invalidation metadata
75
+
76
+ **V1** – stream final response includes metadata
77
+
78
+ - `Invalidation.StreamResponseChunk` wraps each stream item as `{ _tag: "value", value }` and appends `{ _tag: "done", metadata }` at the end carrying all accumulated invalidation keys.
79
+
80
+ **V2** – invalidation keys included in failures
81
+
82
+ - `Invalidation.CommandFailureWithMetaData` and `Invalidation.StreamFailureChunk` carry keys accumulated up to the point of failure, so clients can invalidate queries even when a command or stream errors.
83
+ - `InvalidationMiddlewareLive` wraps command failures; `routing.ts` wraps stream failures.
84
+ - `apiClientFactory.ts` unwraps both on the client side, forwarding keys before re-failing with the original error.
85
+
86
+ **V3** – mid-stream metadata chunks
87
+
88
+ - `Invalidation.StreamResponseChunk` now also includes `{ _tag: "metadata", metadata }` for mid-stream invalidation.
89
+ - After each emitted value, the server drains accumulated keys and emits a "metadata" chunk if any keys were collected since the last drain (bucket reset via `InvalidationSet.drain`).
90
+ - `apiClientFactory.ts` processes "metadata" chunks the same as "done" chunks, forwarding keys to `InvalidationKeysFromServer` immediately.
91
+ - `makeInvalidationKeysService` accepts an optional `onAdded` callback that fires after each key addition, enabling `mutate.ts` to trigger query invalidation mid-stream without waiting for the stream to complete.
92
+
93
+ ### Patch Changes
94
+
95
+ - Updated dependencies [7fa3045]
96
+ - effect-app@4.0.0-beta.180
97
+
98
+ ## 4.0.0-beta.179
99
+
100
+ ### Patch Changes
101
+
102
+ - Updated dependencies [828d264]
103
+ - effect-app@4.0.0-beta.179
104
+
105
+ ## 4.0.0-beta.178
106
+
107
+ ### Patch Changes
108
+
109
+ - effect-app@4.0.0-beta.178
110
+
111
+ ## 4.0.0-beta.177
112
+
113
+ ### Minor Changes
114
+
115
+ - 89d8b3a: Add Effect RPC `Stream` support to the wrapper.
116
+
117
+ - New `Stream` request constructor on `TaggedRequestFor` parallel to `Query`/`Command`. Emits resources with `type: "stream"`.
118
+ - Server router (`@effect-app/infra` `routing.ts`) accepts stream resources whose handlers return a `Stream.Stream<A, E, R>` (or a function from input to one). Forwards `stream: true` to `Rpc.make` so `RpcSchema.Stream` wrapping is applied. Streams bypass `applyRequestTypeInterruptibility` and the `Effect.withSpan` wrapping (the RPC server adds its own span).
119
+ - Client (`apiClientFactory.ts`) detects stream resources, forwards `stream: true` when constructing `RpcGroup`, and exposes the per-request `handler` as a `Stream.Stream` (via `Stream.unwrap` over the `ManagedRuntime` context) instead of an `Effect`. `Invalidation.CommandResponseWithMetaData` continues to apply only to commands.
120
+ - New `RequestStreamHandler` / `RequestStreamHandlerWithInput` shapes in `clientFor.ts`; `RequestHandlers` dispatches on `type: "stream"`.
121
+
122
+ ### Patch Changes
123
+
124
+ - Updated dependencies [89d8b3a]
125
+ - effect-app@4.0.0-beta.177
126
+
127
+ ## 4.0.0-beta.176
128
+
129
+ ### Patch Changes
130
+
131
+ - pass options
132
+ - Updated dependencies
133
+ - effect-app@4.0.0-beta.176
134
+
135
+ ## 4.0.0-beta.175
136
+
137
+ ### Patch Changes
138
+
139
+ - effect-app@4.0.0-beta.175
140
+
141
+ ## 4.0.0-beta.174
142
+
143
+ ### Minor Changes
144
+
145
+ - 821468d: Add server-driven cache invalidation via RPC response headers.
146
+
147
+ - `effect-app/rpc`: new `Invalidation` module with `InvalidationKey` / `InvalidationKeys` schemas, `Invalidates` annotation (for declaring static invalidation on Rpc definitions), `InvalidationSet` reference (request-scoped accumulator), and `makeInvalidationSet` helper.
148
+ - `effect-app/middleware`: new `InvalidationMiddleware` RPC middleware tag; included in `DefaultGenericMiddlewares`.
149
+ - `effect-app/client`: new `InvalidationKeys` module with `InvalidationKeysFromServer` reference and `makeInvalidationKeysService` helper; `apiClientFactory` now taps HTTP responses to read the `x-invalidate` header and forward keys to `InvalidationKeysFromServer`.
150
+ - `@effect-app/infra`: new `InvalidationMiddlewareLive` RPC middleware implementation that owns the full lifecycle — creates a request-scoped `InvalidationSet` (backed by a `Ref`), pre-populates it from the `Invalidates` annotation, provides it to the handler, and after the handler completes registers an HTTP pre-response handler (via `appendPreResponseHandlerUnsafe`) to write the accumulated keys as an `x-invalidate` response header. No separate HTTP middleware is needed.
151
+ - `@effect-app/vue`: `invalidateQueries` / `useMutation` now reads server-provided invalidation keys from `InvalidationKeysFromServer` after each mutation and applies them alongside the client-side invalidation.
152
+
153
+ ### Patch Changes
154
+
155
+ - Updated dependencies [821468d]
156
+ - effect-app@4.0.0-beta.174
157
+
158
+ ## 4.0.0-beta.173
159
+
160
+ ### Patch Changes
161
+
162
+ - effect-app@4.0.0-beta.173
163
+
164
+ ## 4.0.0-beta.172
165
+
166
+ ### Patch Changes
167
+
168
+ - improve sentry
169
+ - effect-app@4.0.0-beta.172
170
+
171
+ ## 4.0.0-beta.171
172
+
173
+ ### Patch Changes
174
+
175
+ - Updated dependencies [d71d976]
176
+ - effect-app@4.0.0-beta.171
177
+
178
+ ## 4.0.0-beta.170
179
+
180
+ ### Patch Changes
181
+
182
+ - Updated dependencies [8f09f77]
183
+ - effect-app@4.0.0-beta.170
184
+
185
+ ## 4.0.0-beta.169
186
+
187
+ ### Patch Changes
188
+
189
+ - Updated dependencies [8ae8b53]
190
+ - effect-app@4.0.0-beta.169
191
+
192
+ ## 4.0.0-beta.168
193
+
194
+ ### Patch Changes
195
+
196
+ - Updated dependencies [178480a]
197
+ - effect-app@4.0.0-beta.168
198
+
199
+ ## 4.0.0-beta.167
200
+
201
+ ### Patch Changes
202
+
203
+ - Updated dependencies [140e192]
204
+ - effect-app@4.0.0-beta.167
205
+
206
+ ## 4.0.0-beta.166
207
+
208
+ ### Patch Changes
209
+
210
+ - Updated dependencies [dbcc53b]
211
+ - effect-app@4.0.0-beta.166
212
+
213
+ ## 4.0.0-beta.165
214
+
215
+ ### Patch Changes
216
+
217
+ - Updated dependencies [f88ea34]
218
+ - effect-app@4.0.0-beta.165
219
+
220
+ ## 4.0.0-beta.164
221
+
222
+ ### Patch Changes
223
+
224
+ - Updated dependencies [8cb3de4]
225
+ - effect-app@4.0.0-beta.164
226
+
227
+ ## 4.0.0-beta.163
228
+
229
+ ### Patch Changes
230
+
231
+ - Updated dependencies [b952f19]
232
+ - effect-app@4.0.0-beta.163
233
+
234
+ ## 4.0.0-beta.162
235
+
236
+ ### Patch Changes
237
+
238
+ - Updated dependencies [b52b424]
239
+ - effect-app@4.0.0-beta.162
240
+
241
+ ## 4.0.0-beta.161
242
+
243
+ ### Patch Changes
244
+
245
+ - effect-app@4.0.0-beta.161
246
+
247
+ ## 4.0.0-beta.160
248
+
249
+ ### Patch Changes
250
+
251
+ - 505bfa9: Add concurrent decode helper APIs and migrate decode callsites to use them.
252
+
253
+ - Add `withDefaultParseOptions` and keep `DefaultParseOptions` centralized.
254
+ - Export `decodeEffectConcurrently` and `decodeUnknownEffectConcurrently` from Schema and SchemaParser modules.
255
+ - Update repository, queue, client, form, and CLI decode paths to use concurrent decode helpers.
256
+ - Keep schema constructors free of hardcoded parse concurrency overrides.
257
+
258
+ - Updated dependencies [505bfa9]
259
+ - effect-app@4.0.0-beta.160
260
+
261
+ ## 4.0.0-beta.159
262
+
263
+ ### Patch Changes
264
+
265
+ - c1e73de:
266
+ - Updated dependencies [c1e73de]
267
+ - effect-app@4.0.0-beta.159
268
+
269
+ ## 4.0.0-beta.158
270
+
271
+ ### Patch Changes
272
+
273
+ - Updated dependencies [3c1f52d]
274
+ - Updated dependencies [6ae3050]
275
+ - effect-app@4.0.0-beta.158
276
+
277
+ ## 4.0.0-beta.157
278
+
279
+ ### Patch Changes
280
+
281
+ - 6fff09c: unify encoded function for when you use encodedKeys
282
+ - Updated dependencies [6fff09c]
283
+ - effect-app@4.0.0-beta.157
284
+
285
+ ## 4.0.0-beta.156
286
+
287
+ ### Patch Changes
288
+
289
+ - effect-app@4.0.0-beta.156
290
+
291
+ ## 4.0.0-beta.155
292
+
293
+ ### Patch Changes
294
+
295
+ - Updated dependencies [c215db8]
296
+ - effect-app@4.0.0-beta.155
297
+
298
+ ## 4.0.0-beta.154
299
+
300
+ ### Patch Changes
301
+
302
+ - effect-app@4.0.0-beta.154
303
+
304
+ ## 4.0.0-beta.153
305
+
306
+ ### Patch Changes
307
+
308
+ - effect-app@4.0.0-beta.153
309
+
310
+ ## 4.0.0-beta.152
311
+
312
+ ### Patch Changes
313
+
314
+ - effect-app@4.0.0-beta.152
315
+
316
+ ## 4.0.0-beta.151
317
+
318
+ ### Patch Changes
319
+
320
+ - 925214b: update packages
321
+ - effect-app@4.0.0-beta.151
322
+
323
+ ## 4.0.0-beta.150
324
+
325
+ ### Patch Changes
326
+
327
+ - Updated dependencies [85a8275]
328
+ - effect-app@4.0.0-beta.150
329
+
330
+ ## 4.0.0-beta.149
331
+
332
+ ### Patch Changes
333
+
334
+ - Updated dependencies [f317c5e]
335
+ - effect-app@4.0.0-beta.149
336
+
337
+ ## 4.0.0-beta.148
338
+
339
+ ### Patch Changes
340
+
341
+ - Updated dependencies [199e9a5]
342
+ - effect-app@4.0.0-beta.148
343
+
344
+ ## 4.0.0-beta.147
345
+
346
+ ### Patch Changes
347
+
348
+ - Updated dependencies [47e3742]
349
+ - effect-app@4.0.0-beta.147
350
+
351
+ ## 4.0.0-beta.146
352
+
353
+ ### Patch Changes
354
+
355
+ - Updated dependencies [a4dff57]
356
+ - effect-app@4.0.0-beta.146
357
+
358
+ ## 4.0.0-beta.145
359
+
360
+ ### Patch Changes
361
+
362
+ - Updated dependencies [12abb55]
363
+ - effect-app@4.0.0-beta.145
364
+
365
+ ## 4.0.0-beta.144
366
+
367
+ ### Patch Changes
368
+
369
+ - d31253f: Refactor eligible schema classes and tagged classes to Opaque schemas, and migrate constructor call sites to use `.make` for those models.
370
+ - Updated dependencies [11422f8]
371
+ - Updated dependencies [d31253f]
372
+ - effect-app@4.0.0-beta.144
373
+
374
+ ## 4.0.0-beta.143
375
+
376
+ ### Patch Changes
377
+
378
+ - Updated dependencies [79eb019]
379
+ - effect-app@4.0.0-beta.143
380
+
381
+ ## 4.0.0-beta.142
382
+
383
+ ### Patch Changes
384
+
385
+ - Updated dependencies [3436d44]
386
+ - Updated dependencies [025de47]
387
+ - effect-app@4.0.0-beta.142
388
+
389
+ ## 4.0.0-beta.141
390
+
391
+ ### Patch Changes
392
+
393
+ - Updated dependencies [7c25dbb]
394
+ - effect-app@4.0.0-beta.141
395
+
396
+ ## 4.0.0-beta.140
397
+
398
+ ### Patch Changes
399
+
400
+ - 1576688: Add configurable `fakeMailAddress` to `SendgridConfig`. Supports `{i}` placeholder for unique addresses, e.g. `"test+{i}@example.com"`.
401
+ - effect-app@4.0.0-beta.140
402
+
403
+ ## 4.0.0-beta.139
404
+
405
+ ### Patch Changes
406
+
407
+ - effect-app@4.0.0-beta.139
408
+
409
+ ## 4.0.0-beta.138
410
+
411
+ ### Patch Changes
412
+
413
+ - effect-app@4.0.0-beta.138
414
+
415
+ ## 4.0.0-beta.137
416
+
417
+ ### Patch Changes
418
+
419
+ - effect-app@4.0.0-beta.137
420
+
421
+ ## 4.0.0-beta.136
422
+
423
+ ### Patch Changes
424
+
425
+ - effect-app@4.0.0-beta.136
426
+
427
+ ## 4.0.0-beta.135
428
+
429
+ ### Patch Changes
430
+
431
+ - Updated dependencies [c7bbc41]
432
+ - effect-app@4.0.0-beta.135
433
+
434
+ ## 4.0.0-beta.134
435
+
436
+ ### Patch Changes
437
+
438
+ - eed57c6: Fix `R` inference in `OneDSL`, `OneDSLExt.modify` and `OneDSLExt.update`. The callback's effect type was annotated as `Effect<…, E, FixEnv<R, Evt, S1, S2>>`, which deadlocked inference of `R` (TS6 fell back to `never`, tsgo to `unknown`, leaking `unknown` into yielded effects in generator handlers). Now matches the existing `AllDSLExt` pattern: bare `R` in the callback, `FixEnv<R, …>` only in the return type.
439
+ - Updated dependencies [9d3495e]
440
+ - Updated dependencies [f353d48]
441
+ - effect-app@4.0.0-beta.134
442
+
443
+ ## 4.0.0-beta.133
444
+
445
+ ### Patch Changes
446
+
447
+ - 2f862a4: Apply `toCodecJson` in `SQLModel.JsonFromString` so SQL JSON string fields use the proper JSON-safe codec at the encode/decode boundary (aligns with queue, event, and gist call sites).
448
+ - c3299f7: update packages
449
+ - Updated dependencies [c3299f7]
450
+ - effect-app@4.0.0-beta.133
451
+
452
+ ## 4.0.0-beta.132
453
+
454
+ ### Patch Changes
455
+
456
+ - effect-app@4.0.0-beta.132
457
+
458
+ ## 4.0.0-beta.131
459
+
460
+ ### Patch Changes
461
+
462
+ - 4a7d95a: Use request-type RPC annotations to drive interruptibility and retry behavior, apply command uninterruptibility through the router wrapper path, and add an in-memory E2E test covering command vs query interruption behavior.
463
+ - effect-app@4.0.0-beta.131
464
+
465
+ ## 4.0.0-beta.130
466
+
467
+ ### Patch Changes
468
+
469
+ - Updated dependencies [ea1bd46]
470
+ - effect-app@4.0.0-beta.130
471
+
472
+ ## 4.0.0-beta.129
473
+
474
+ ### Patch Changes
475
+
476
+ - effect-app@4.0.0-beta.129
477
+
478
+ ## 4.0.0-beta.128
479
+
480
+ ### Patch Changes
481
+
482
+ - Updated dependencies [57db551]
483
+ - effect-app@4.0.0-beta.128
484
+
485
+ ## 4.0.0-beta.127
486
+
487
+ ### Patch Changes
488
+
489
+ - 71a0719: Merge `batchPar` into `batch`, expose `concurrency` via an optional `BatchOptions` argument, and make `batch` dual (data-first + data-last).
490
+ - 4bc3d05: Repository `save`, `remove`, and `removeById` now accept plain `ReadonlyArray` instead of `NonEmptyReadonlyArray`. Callers no longer need to narrow or guard for non-emptiness before invoking — empty inputs short-circuit to a no-op, making it ergonomic to pass through query results directly.
491
+ - effect-app@4.0.0-beta.127
492
+
493
+ ## 4.0.0-beta.126
494
+
495
+ ### Patch Changes
496
+
497
+ - Updated dependencies [458bb1b]
498
+ - effect-app@4.0.0-beta.126
499
+
500
+ ## 4.0.0-beta.125
501
+
502
+ ### Patch Changes
503
+
504
+ - 7191fc1: `removeById` now takes `id | NonEmptyReadonlyArray<id>` instead of a variadic rest, and the extended repo's `removeById` accepts a `batch` option to chunk large deletes — consistent with `save` and `remove`.
505
+ - effect-app@4.0.0-beta.125
506
+
507
+ ## 4.0.0-beta.124
508
+
509
+ ### Patch Changes
510
+
511
+ - c9e0c44: cleanup auth
512
+ - 256ae85: cleanup
513
+ - Updated dependencies [256ae85]
514
+ - effect-app@4.0.0-beta.124
515
+
516
+ ## 4.0.0-beta.123
517
+
518
+ ### Patch Changes
519
+
520
+ - Updated dependencies [14aba14]
521
+ - effect-app@4.0.0-beta.123
522
+
523
+ ## 4.0.0-beta.122
524
+
525
+ ### Patch Changes
526
+
527
+ - 27bf9b6: Fix `Repository.query` environment typing to exclude schema context provided through `makeRepo` options.
528
+ - e02a258: Add optional batching overloads for repository `save` and `remove` helpers.
529
+ - f052d38: Replace `(...) => Effect.gen` with `Effect.fnUntraced` and convert select multi-step `pipe` chains to `Effect.gen` across infra.
530
+ - Updated dependencies [f052d38]
531
+ - effect-app@4.0.0-beta.122
532
+
533
+ ## 4.0.0-beta.121
534
+
535
+ ### Patch Changes
536
+
537
+ - 1015582: Fix `Q.project` field selection with `Schema.encodeKeys` by deriving selected fields from the encoded schema shape.
538
+ - Updated dependencies [5ac46cb]
539
+ - effect-app@4.0.0-beta.121
540
+
541
+ ## 4.0.0-beta.120
542
+
543
+ ### Patch Changes
544
+
545
+ - Updated dependencies [f21190c]
546
+ - effect-app@4.0.0-beta.120
547
+
548
+ ## 4.0.0-beta.119
549
+
550
+ ### Patch Changes
551
+
552
+ - db7ba34: Filter SSE events stream by storeId namespace
553
+ - effect-app@4.0.0-beta.119
554
+
555
+ ## 4.0.0-beta.118
556
+
557
+ ### Patch Changes
558
+
559
+ - Update effect packages to 4.0.0-beta.52
560
+ - Updated dependencies [bd26832]
561
+ - Updated dependencies [08d2e70]
562
+ - Updated dependencies
563
+ - effect-app@4.0.0-beta.118
564
+
565
+ ## 4.0.0-beta.117
566
+
567
+ ### Patch Changes
568
+
569
+ - 1d85785: Wrap store seed effects with `Effect.uninterruptible` to prevent interruption during seeding
570
+ - effect-app@4.0.0-beta.117
571
+
572
+ ## 4.0.0-beta.116
573
+
574
+ ### Patch Changes
575
+
576
+ - 7d5cefc: SQL and Pg stores now scope seed migration records by namespace and table name in shared databases to avoid cross-namespace seed collisions.
577
+ - effect-app@4.0.0-beta.116
578
+
579
+ ## 4.0.0-beta.115
580
+
581
+ ### Patch Changes
582
+
583
+ - fe2caba: SQL and Pg stores: use separate `_migrations` table for seed tracking instead of inserting a marker row into the data table, preventing it from appearing in `all`/`filter` queries.
584
+ - effect-app@4.0.0-beta.115
585
+
586
+ ## 4.0.0-beta.114
587
+
588
+ ### Patch Changes
589
+
590
+ - 1ab3cf7: SQLite per-namespace adapter: use separate `_migrations` table for seed tracking instead of inserting a marker row into the data table, preventing it from appearing in `all`/`filter` queries.
591
+ - effect-app@4.0.0-beta.114
592
+
593
+ ## 4.0.0-beta.113
594
+
595
+ ### Minor Changes
596
+
597
+ - ddc5492: Add RepositoryRegistry service that tracks all repositories by modelName, with `seedNamespace` to seed all registered repos in parallel and `entries` to inspect the registry.
598
+
599
+ Make non-primary namespace seeding explicit: Store and Repository now expose `seedNamespace` instead of auto-seeding on access. Primary namespace is still seeded eagerly on initialization.
600
+
601
+ SQL stores: table creation (`CREATE TABLE IF NOT EXISTS`) is now part of `seedNamespace` instead of running eagerly at store construction, ensuring tables for non-primary namespaces are only created when explicitly seeded.
602
+
603
+ ### Patch Changes
604
+
605
+ - effect-app@4.0.0-beta.113
606
+
607
+ ## 4.0.0-beta.112
608
+
609
+ ### Patch Changes
610
+
611
+ - 8a4a6d2: fup
612
+ - effect-app@4.0.0-beta.112
613
+
614
+ ## 4.0.0-beta.111
615
+
616
+ ### Patch Changes
617
+
618
+ - ca94edf: fix typo
619
+ - Updated dependencies [ca94edf]
620
+ - effect-app@4.0.0-beta.111
621
+
622
+ ## 4.0.0-beta.110
623
+
624
+ ### Minor Changes
625
+
626
+ - c313c07: Add per-namespace in-memory SQLite adapter via LayerMap. When `makeSqlClientLayer` option is provided to `SQLiteStoreLayer`, each namespace gets its own SQLite database instance managed by a `LayerMap`. Introduces `WithNsTransaction` service for namespace-aware SQL transactions, used by `makeSqlTransactionMiddleware`.
627
+
628
+ ### Patch Changes
629
+
630
+ - effect-app@4.0.0-beta.110
631
+
632
+ ## 4.0.0-beta.109
633
+
634
+ ### Patch Changes
635
+
636
+ - 82f66f1: use uninterruptiple
637
+ - effect-app@4.0.0-beta.109
638
+
639
+ ## 4.0.0-beta.108
640
+
641
+ ### Patch Changes
642
+
643
+ - Updated dependencies [3e46e7b]
644
+ - effect-app@4.0.0-beta.108
645
+
646
+ ## 4.0.0-beta.107
647
+
648
+ ### Patch Changes
649
+
650
+ - 902ca1b: fix
651
+ - effect-app@4.0.0-beta.107
652
+
653
+ ## 4.0.0-beta.106
654
+
655
+ ### Patch Changes
656
+
657
+ - f22a026: Use `Effect.cached` in `getOrCreateStoreEffect` for proper memoization of the resolver effect.
658
+ - effect-app@4.0.0-beta.106
659
+
660
+ ## 4.0.0-beta.105
661
+
662
+ ### Minor Changes
663
+
664
+ - 3d732b1: Rewrite `withRequestResolverCache` to use official `RequestResolver.withCache`, creating a cached resolver per ContextMap via `getOrCreateStoreEffect` with semaphore-guarded initialization.
665
+
666
+ ### Patch Changes
667
+
668
+ - 47e53f5: Fix `withRequestResolverCache` causing "RequestResolver did not complete request" errors by using the `preCheck` hook instead of handling cache in `runAll`. Cache hits for in-flight or completed requests are now handled before entries enter the batch, preventing uncompleted entries.
669
+ - 5773159: Add `itemType` annotation to all repository spans
670
+ - effect-app@4.0.0-beta.105
671
+
672
+ ## 4.0.0-beta.104
673
+
674
+ ### Patch Changes
675
+
676
+ - Updated dependencies [e944bca]
677
+ - effect-app@4.0.0-beta.104
678
+
679
+ ## 4.0.0-beta.103
680
+
681
+ ### Patch Changes
682
+
683
+ - Updated dependencies [7119320]
684
+ - effect-app@4.0.0-beta.103
685
+
686
+ ## 4.0.0-beta.102
687
+
688
+ ### Patch Changes
689
+
690
+ - 62627e9: Fix boolean handling in SQL SELECT and WHERE
691
+ - effect-app@4.0.0-beta.102
692
+
693
+ ## 4.0.0-beta.101
694
+
695
+ ### Patch Changes
696
+
697
+ - effect-app@4.0.0-beta.101
698
+
699
+ ## 4.0.0-beta.100
700
+
701
+ ### Patch Changes
702
+
703
+ - 43611c7: enable cosmosdb large partition key hashes
704
+ - effect-app@4.0.0-beta.100
705
+
706
+ ## 4.0.0-beta.99
707
+
708
+ ### Patch Changes
709
+
710
+ - 6a0e008: remove artificial Cosmos bulkSet delays
711
+ - effect-app@4.0.0-beta.99
712
+
713
+ ## 4.0.0-beta.98
714
+
715
+ ### Patch Changes
716
+
717
+ - 5aed2e3: Add span to Cosmos `batchRemove` and include `namespace` attribute on all Cosmos store spans.
718
+ - effect-app@4.0.0-beta.98
719
+
720
+ ## 4.0.0-beta.97
721
+
722
+ ### Patch Changes
723
+
724
+ - 3eb66e9: Fix CosmosDB store `filter` to trigger namespace seeding on first access. Previously, if `filter` was the first operation called on a namespace, seed data was never created.
725
+ - effect-app@4.0.0-beta.97
726
+
727
+ ## 4.0.0-beta.96
728
+
729
+ ### Patch Changes
730
+
731
+ - Updated dependencies [5615e47]
732
+ - effect-app@4.0.0-beta.96
733
+
734
+ ## 4.0.0-beta.95
735
+
736
+ ### Patch Changes
737
+
738
+ - 88838fb: Remove pick/omit customizations from Class/TaggedClass/Struct/TaggedStruct. Use `Struct.pick(X.fields, [...])` from `effect-app` instead.
739
+ - Updated dependencies [88838fb]
740
+ - effect-app@4.0.0-beta.95
741
+
742
+ ## 4.0.0-beta.94
743
+
744
+ ### Patch Changes
745
+
746
+ - effect-app@4.0.0-beta.94
747
+
748
+ ## 4.0.0-beta.93
749
+
750
+ ### Patch Changes
751
+
752
+ - 2d85646: fix SQL includes-any/all double-quoting values for SQLite (JSON.stringify only needed for Postgres jsonb)
753
+ - effect-app@4.0.0-beta.93
754
+
755
+ ## 4.0.0-beta.92
756
+
757
+ ### Patch Changes
758
+
759
+ - b4ffee0: fix SQL whereEvery double-negation bug causing wrong query when operators like notIn are used (especially with empty arrays)
760
+ - effect-app@4.0.0-beta.92
761
+
762
+ ## 4.0.0-beta.91
763
+
764
+ ### Patch Changes
765
+
766
+ - Updated dependencies [738b482]
767
+ - effect-app@4.0.0-beta.91
768
+
769
+ ## 4.0.0-beta.90
770
+
771
+ ### Patch Changes
772
+
773
+ - d786b91: Fix SQL `whereSome`/`whereEvery` array relation queries using `EXISTS` with `json_each` (SQLite) / `jsonb_array_elements` (Pg).
774
+ - effect-app@4.0.0-beta.90
775
+
776
+ ## 4.0.0-beta.89
777
+
778
+ ### Patch Changes
779
+
780
+ - 9a9e46c: Fix SQL select queries to read `_etag` from column instead of JSON data, preventing INSERT on update.
781
+ - effect-app@4.0.0-beta.89
782
+
783
+ ## 4.0.0-beta.88
784
+
785
+ ### Patch Changes
786
+
787
+ - dfd5562: Fix SQL `IN`/`NOT IN` with null values to use `IS NULL`/`IS NOT NULL` instead of `IN (NULL, ...)`.
788
+ - effect-app@4.0.0-beta.88
789
+
790
+ ## 4.0.0-beta.87
791
+
792
+ ### Patch Changes
793
+
794
+ - 5a709d1: Fix SQLite select query type coercion using `json_quote` and apply defaultValues in SQL WHERE clauses via `COALESCE`.
795
+ - effect-app@4.0.0-beta.87
796
+
797
+ ## 4.0.0-beta.86
798
+
799
+ ### Patch Changes
800
+
801
+ - 70f1f27: Fix store seeding: break circular dependency where bulkSet re-entered seedNamespace, and add explicit seed markers to SQL/Pg stores using a dedicated `__seed__` namespace.
802
+ - effect-app@4.0.0-beta.86
803
+
804
+ ## 4.0.0-beta.85
805
+
806
+ ### Patch Changes
807
+
808
+ - db285e9: Add per-namespace seeding to SQL (SQLite/PostgreSQL) and CosmosDB store adapters. Previously only the `primary` namespace was seeded at initialization; now each namespace is lazily seeded on first access using `Effect.cached` to guarantee at-most-once execution. Primary namespace continues to seed eagerly on initialization. CosmosDB uses namespace-specific marker documents for backward compatibility.
809
+ - effect-app@4.0.0-beta.85
810
+
811
+ ## 4.0.0-beta.84
812
+
813
+ ### Patch Changes
814
+
815
+ - c80e781: Fix SQLite store namespace parameter ordering in filter queries. The `_namespace` placeholder was prepended to the WHERE clause but its value was appended to the end of the positional params array, causing it to bind to the wrong placeholder. PostgreSQL was unaffected (uses indexed `$N` placeholders).
816
+ - effect-app@4.0.0-beta.84
817
+
818
+ ## 4.0.0-beta.83
819
+
820
+ ### Patch Changes
821
+
822
+ - d1fc90a: Strip `_etag` and `id` from the `data` JSON column in SQL store adapters (SQLite + PostgreSQL). These fields are already stored as dedicated columns and were redundantly duplicated inside the JSON blob. On read, `parseRow` now re-injects `id` from the row column. Backward compatible: existing rows with `_etag`/`id` in `data` continue to work as the column values take precedence.
823
+ - effect-app@4.0.0-beta.83
824
+
825
+ ## 4.0.0-beta.82
826
+
827
+ ### Minor Changes
828
+
829
+ - 48f1457: Add storage namespace support to CosmosDB adapter via partition key prefixing. When `allowNamespace` is configured, the namespace from `storeId` is prepended to partition key values (e.g., `test-ns::primary`), isolating data per namespace within the same container.
830
+ - 48f1457: Add storage namespace support to SQL adapters (SQLite and Postgres) via a `_namespace` column. When `allowNamespace` is configured, a `_namespace` column with composite primary key `(id, _namespace)` isolates data per namespace within the same table. New tables get the schema automatically; existing tables require manual migration.
831
+ - 48f1457: Add SQL Store adapter for Effect SQL (SQLite + PostgreSQL). Table-per-repo with id/etag/data JSON columns, query DSL translation to SQL WHERE clauses, optimistic concurrency via etag.
832
+ - 48f1457: Make `withSqlTransaction` in `setupRequest` configurable via `withTransaction` option (defaults to `false`). Add `requiresTransactionConfig` and `makeSqlTransactionMiddleware` for per-RPC transaction control as a dynamic middleware that requires `SqlClient` directly. Transactions are disabled by default; opt in with `withTransaction: true` or `requiresTransaction: true`.
833
+
834
+ ### Patch Changes
835
+
836
+ - effect-app@4.0.0-beta.82
837
+
838
+ ## 4.0.0-beta.81
839
+
840
+ ### Minor Changes
841
+
842
+ - fd67f0b: Add `withRequestResolverCache` to scope RequestResolver cache to the ContextMap (request-scoped). Add `getOrCreateStore` to ContextMap for generic scoped storage.
843
+
844
+ ### Patch Changes
845
+
846
+ - effect-app@4.0.0-beta.81
847
+
848
+ ## 4.0.0-beta.80
849
+
850
+ ### Patch Changes
851
+
852
+ - eaf0115: enforce local
853
+ - effect-app@4.0.0-beta.80
854
+
855
+ ## 4.0.0-beta.79
856
+
857
+ ### Patch Changes
858
+
859
+ - d16845e: Remove `TaggedRequest` from `makeRpcClient`, now only `TaggedRequestFor` is returned. Remove all legacy `meta.moduleName` support — `id` and `moduleName` are now required on `Req` type. Remove `makeRpcGroup` (use `makeRpcGroupFromRequestsAndModuleName` instead).
860
+ - Updated dependencies [d16845e]
861
+ - effect-app@4.0.0-beta.79
862
+
863
+ ## 4.0.0-beta.78
864
+
865
+ ### Minor Changes
866
+
867
+ - 818e047: Router `matchFor` no longer requires `meta` property on resource when requests carry `moduleName` from `TaggedRequestFor`
868
+
869
+ ### Patch Changes
870
+
871
+ - effect-app@4.0.0-beta.78
872
+
873
+ ## 4.0.0-beta.77
874
+
875
+ ### Patch Changes
876
+
877
+ - Updated dependencies [3613e87]
878
+ - effect-app@4.0.0-beta.77
879
+
880
+ ## 4.0.0-beta.76
881
+
882
+ ### Patch Changes
883
+
884
+ - fac725d: update effect to latest beta
885
+ - Updated dependencies [a5248a9]
886
+ - Updated dependencies [fac725d]
887
+ - effect-app@4.0.0-beta.76
888
+
889
+ ## 4.0.0-beta.75
890
+
891
+ ### Patch Changes
892
+
893
+ - Updated dependencies [24f0a5a]
894
+ - effect-app@4.0.0-beta.75
895
+
896
+ ## 4.0.0-beta.74
897
+
898
+ ### Patch Changes
899
+
900
+ - Updated dependencies [54ec1ef]
901
+ - effect-app@4.0.0-beta.74
902
+
903
+ ## 4.0.0-beta.73
904
+
905
+ ### Patch Changes
906
+
907
+ - b53c59e: fix signature
908
+ - effect-app@4.0.0-beta.73
909
+
910
+ ## 4.0.0-beta.72
911
+
912
+ ### Patch Changes
913
+
914
+ - Updated dependencies [0541f0d]
915
+ - effect-app@4.0.0-beta.72
916
+
917
+ ## 4.0.0-beta.71
918
+
919
+ ### Patch Changes
920
+
921
+ - beae3a0: Remove `withDefaultConstructor` wrapper, use `S.withConstructorDefault` directly with `Effect.succeed`/`Effect.sync`.
922
+ - Updated dependencies [beae3a0]
923
+ - effect-app@4.0.0-beta.71
924
+
925
+ ## 4.0.0-beta.70
926
+
927
+ ### Patch Changes
928
+
929
+ - fdb9cb3: cleanup
930
+ - effect-app@4.0.0-beta.70
931
+
932
+ ## 4.0.0-beta.69
933
+
934
+ ### Patch Changes
935
+
936
+ - dc465e3: update to latest effect beta
937
+ - Updated dependencies [dc465e3]
938
+ - effect-app@4.0.0-beta.69
939
+
940
+ ## 4.0.0-beta.68
941
+
942
+ ### Patch Changes
943
+
944
+ - Updated dependencies [e6f2341]
945
+ - effect-app@4.0.0-beta.68
946
+
947
+ ## 4.0.0-beta.67
948
+
949
+ ### Patch Changes
950
+
951
+ - effect-app@4.0.0-beta.67
952
+
953
+ ## 4.0.0-beta.66
954
+
955
+ ### Patch Changes
956
+
957
+ - Updated dependencies [edc52e4]
958
+ - effect-app@4.0.0-beta.66
959
+
960
+ ## 4.0.0-beta.65
961
+
962
+ ### Patch Changes
963
+
964
+ - Updated dependencies [31739d7]
965
+ - Updated dependencies [1f103b2]
966
+ - effect-app@4.0.0-beta.65
967
+
968
+ ## 4.0.0-beta.64
969
+
970
+ ### Patch Changes
971
+
972
+ - Updated dependencies [c1a6fdc]
973
+ - effect-app@4.0.0-beta.64
974
+
975
+ ## 4.0.0-beta.63
976
+
977
+ ### Patch Changes
978
+
979
+ - 1f9d7da: fix missing toCodecJson usages
980
+ - effect-app@4.0.0-beta.63
981
+
982
+ ## 4.0.0-beta.62
983
+
984
+ ### Patch Changes
985
+
986
+ - Updated dependencies [0b21a02]
987
+ - effect-app@4.0.0-beta.62
988
+
989
+ ## 4.0.0-beta.61
990
+
991
+ ### Patch Changes
992
+
993
+ - effect-app@4.0.0-beta.61
994
+
995
+ ## 4.0.0-beta.60
996
+
997
+ ### Patch Changes
998
+
999
+ - 29c39d2: Fix repository `find` with transformed id fields in tagged union schemas
1000
+ - effect-app@4.0.0-beta.60
1001
+
1002
+ ## 4.0.0-beta.59
1003
+
1004
+ ### Patch Changes
1005
+
1006
+ - cec026d: update packages
1007
+ - Updated dependencies [cec026d]
1008
+ - effect-app@4.0.0-beta.59
1009
+
1010
+ ## 4.0.0-beta.58
1011
+
1012
+ ### Patch Changes
1013
+
1014
+ - effect-app@4.0.0-beta.58
1015
+
1016
+ ## 4.0.0-beta.57
1017
+
1018
+ ### Patch Changes
1019
+
1020
+ - fbf47b8: Fix repository `find` with transformed id fields (e.g. composite ids using `decodeTo`)
1021
+ - effect-app@4.0.0-beta.57
1022
+
1023
+ ## 4.0.0-beta.56
1024
+
1025
+ ### Patch Changes
1026
+
1027
+ - effect-app@4.0.0-beta.56
1028
+
1029
+ ## 4.0.0-beta.55
1030
+
1031
+ ### Patch Changes
1032
+
1033
+ - effect-app@4.0.0-beta.55
1034
+
1035
+ ## 4.0.0-beta.54
1036
+
1037
+ ### Patch Changes
1038
+
1039
+ - d867272: the return of `Context`
1040
+ - Updated dependencies [d867272]
1041
+ - effect-app@4.0.0-beta.54
1042
+
1043
+ ## 4.0.0-beta.53
1044
+
1045
+ ### Patch Changes
1046
+
1047
+ - Updated dependencies [ee9694e]
1048
+ - effect-app@4.0.0-beta.53
1049
+
1050
+ ## 4.0.0-beta.52
1051
+
1052
+ ### Patch Changes
1053
+
1054
+ - Updated dependencies [6252808]
1055
+ - effect-app@4.0.0-beta.52
1056
+
1057
+ ## 4.0.0-beta.51
1058
+
1059
+ ### Patch Changes
1060
+
1061
+ - effect-app@4.0.0-beta.51
1062
+
1063
+ ## 4.0.0-beta.50
1064
+
1065
+ ### Patch Changes
1066
+
1067
+ - effect-app@4.0.0-beta.50
1068
+
1069
+ ## 4.0.0-beta.49
1070
+
1071
+ ### Patch Changes
1072
+
1073
+ - Updated dependencies [e585c9c]
1074
+ - effect-app@4.0.0-beta.49
1075
+
1076
+ ## 4.0.0-beta.48
1077
+
1078
+ ### Patch Changes
1079
+
1080
+ - Updated dependencies [0c88f78]
1081
+ - effect-app@4.0.0-beta.48
1082
+
1083
+ ## 4.0.0-beta.47
1084
+
1085
+ ### Patch Changes
1086
+
1087
+ - Updated dependencies [3365758]
1088
+ - effect-app@4.0.0-beta.47
1089
+
1090
+ ## 4.0.0-beta.46
1091
+
1092
+ ### Patch Changes
1093
+
1094
+ - effect-app@4.0.0-beta.46
1095
+
1096
+ ## 4.0.0-beta.45
1097
+
1098
+ ### Patch Changes
1099
+
1100
+ - 10b55ff: update packages
1101
+ - Updated dependencies [10b55ff]
1102
+ - effect-app@4.0.0-beta.45
1103
+
1104
+ ## 4.0.0-beta.44
1105
+
1106
+ ### Patch Changes
1107
+
1108
+ - a37aa38: Update to effect beta 43
1109
+ - Updated dependencies [a37aa38]
1110
+ - effect-app@4.0.0-beta.44
1111
+
1112
+ ## 4.0.0-beta.43
1113
+
1114
+ ### Patch Changes
1115
+
1116
+ - dab6992: no need for .lock.lock
1117
+ - effect-app@4.0.0-beta.43
1118
+
1119
+ ## 4.0.0-beta.42
1120
+
1121
+ ### Patch Changes
1122
+
1123
+ - effect-app@4.0.0-beta.42
1124
+
1125
+ ## 4.0.0-beta.41
1126
+
1127
+ ### Patch Changes
1128
+
1129
+ - effect-app@4.0.0-beta.41
1130
+
1131
+ ## 4.0.0-beta.40
1132
+
1133
+ ### Patch Changes
1134
+
1135
+ - effect-app@4.0.0-beta.40
1136
+
1137
+ ## 4.0.0-beta.39
1138
+
1139
+ ### Patch Changes
1140
+
1141
+ - Updated dependencies [10e90d5]
1142
+ - effect-app@4.0.0-beta.39
1143
+
1144
+ ## 4.0.0-beta.38
1145
+
1146
+ ### Patch Changes
1147
+
1148
+ - Updated dependencies [0b3e00e]
1149
+ - effect-app@4.0.0-beta.38
1150
+
1151
+ ## 4.0.0-beta.37
1152
+
1153
+ ### Patch Changes
1154
+
1155
+ - Updated dependencies [947fe20]
1156
+ - effect-app@4.0.0-beta.37
1157
+
1158
+ ## 4.0.0-beta.36
1159
+
1160
+ ### Patch Changes
1161
+
1162
+ - effect-app@4.0.0-beta.36
1163
+
1164
+ ## 4.0.0-beta.35
1165
+
1166
+ ### Patch Changes
1167
+
1168
+ - effect-app@4.0.0-beta.35
1169
+
1170
+ ## 4.0.0-beta.34
1171
+
1172
+ ### Patch Changes
1173
+
1174
+ - 8c645d5: update to latest effect
1175
+ - Updated dependencies [8c645d5]
1176
+ - effect-app@4.0.0-beta.34
1177
+
1178
+ ## 4.0.0-beta.33
1179
+
1180
+ ### Patch Changes
1181
+
1182
+ - 4b95009: use Finite instead of Number
1183
+ - Updated dependencies [4b95009]
1184
+ - effect-app@4.0.0-beta.33
1185
+
1186
+ ## 4.0.0-beta.32
1187
+
1188
+ ### Patch Changes
1189
+
1190
+ - Updated dependencies [01d862a]
1191
+ - effect-app@4.0.0-beta.32
1192
+
1193
+ ## 4.0.0-beta.31
1194
+
1195
+ ### Patch Changes
1196
+
1197
+ - Updated dependencies [6b6d601]
1198
+ - effect-app@4.0.0-beta.31
1199
+
1200
+ ## 4.0.0-beta.30
1201
+
1202
+ ### Patch Changes
1203
+
1204
+ - Updated dependencies [5ec1f45]
1205
+ - effect-app@4.0.0-beta.30
1206
+
1207
+ ## 4.0.0-beta.29
1208
+
1209
+ ### Patch Changes
1210
+
1211
+ - Updated dependencies [a899d46]
1212
+ - effect-app@4.0.0-beta.29
1213
+
1214
+ ## 4.0.0-beta.28
1215
+
1216
+ ### Patch Changes
1217
+
1218
+ - Updated dependencies [0099208]
1219
+ - effect-app@4.0.0-beta.28
1220
+
1221
+ ## 4.0.0-beta.27
1222
+
1223
+ ### Patch Changes
1224
+
1225
+ - 601a1ff: update effect to 4.0.0-beta.37 and drop the Schema Class disableValidation workaround now that the patched effect schema covers it
1226
+ - Updated dependencies [601a1ff]
1227
+ - effect-app@4.0.0-beta.27
1228
+
1229
+ ## 4.0.0-beta.26
1230
+
1231
+ ### Patch Changes
1232
+
1233
+ - Updated dependencies [4da28e2]
1234
+ - effect-app@4.0.0-beta.26
1235
+
1236
+ ## 4.0.0-beta.25
1237
+
1238
+ ### Patch Changes
1239
+
1240
+ - Updated dependencies [6282d4b]
1241
+ - effect-app@4.0.0-beta.25
1242
+
1243
+ ## 4.0.0-beta.24
1244
+
1245
+ ### Patch Changes
1246
+
1247
+ - Updated dependencies [32f71bf]
1248
+ - effect-app@4.0.0-beta.24
1249
+
1250
+ ## 4.0.0-beta.23
1251
+
1252
+ ### Patch Changes
1253
+
1254
+ - Updated dependencies [ea08a79]
1255
+ - effect-app@4.0.0-beta.23
1256
+
1257
+ ## 4.0.0-beta.22
1258
+
1259
+ ### Patch Changes
1260
+
1261
+ - effect-app@4.0.0-beta.22
1262
+
1263
+ ## 4.0.0-beta.21
1264
+
1265
+ ### Patch Changes
1266
+
1267
+ - 75c72ee: update effect to 4.0.0-beta.36, adapt to Option<A> revert from A | undefined
1268
+ - Updated dependencies [0d349e7]
1269
+ - Updated dependencies [75c72ee]
1270
+ - effect-app@4.0.0-beta.21
1271
+
1272
+ ## 4.0.0-beta.20
1273
+
1274
+ ### Patch Changes
1275
+
1276
+ - aa921db: Fix `TaggedRequest` no-config error type inference so requests without a third argument infer the same default error schema as requests with explicit success config.
1277
+ - Updated dependencies [aa921db]
1278
+ - effect-app@4.0.0-beta.20
1279
+
3
1280
  ## 4.0.0-beta.19
4
1281
 
5
1282
  ### Patch Changes