@effect-app/infra 4.0.0-beta.20 → 4.0.0-beta.201

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