@effect-app/infra 4.0.0-beta.18 → 4.0.0-beta.181

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