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

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