@effect-app/infra 4.0.0-beta.22 → 4.0.0-beta.221

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 (337) hide show
  1. package/CHANGELOG.md +1648 -0
  2. package/_check.sh +1 -1
  3. package/dist/CUPS.d.ts +12 -7
  4. package/dist/CUPS.d.ts.map +1 -1
  5. package/dist/CUPS.js +16 -12
  6. package/dist/Emailer/Sendgrid.d.ts +15 -15
  7. package/dist/Emailer/Sendgrid.d.ts.map +1 -1
  8. package/dist/Emailer/Sendgrid.js +20 -16
  9. package/dist/Emailer/fake.d.ts +1 -1
  10. package/dist/Emailer/fake.js +2 -2
  11. package/dist/Emailer/service.d.ts +13 -4
  12. package/dist/Emailer/service.d.ts.map +1 -1
  13. package/dist/Emailer/service.js +4 -3
  14. package/dist/Emailer.d.ts +1 -1
  15. package/dist/MainFiberSet.d.ts +12 -9
  16. package/dist/MainFiberSet.d.ts.map +1 -1
  17. package/dist/MainFiberSet.js +7 -3
  18. package/dist/Model/Repository/Registry.d.ts +21 -0
  19. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  20. package/dist/Model/Repository/Registry.js +18 -0
  21. package/dist/Model/Repository/ext.d.ts +35 -16
  22. package/dist/Model/Repository/ext.d.ts.map +1 -1
  23. package/dist/Model/Repository/ext.js +60 -3
  24. package/dist/Model/Repository/internal/internal.d.ts +9 -6
  25. package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
  26. package/dist/Model/Repository/internal/internal.js +115 -51
  27. package/dist/Model/Repository/legacy.d.ts +4 -2
  28. package/dist/Model/Repository/legacy.d.ts.map +1 -1
  29. package/dist/Model/Repository/makeRepo.d.ts +10 -6
  30. package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
  31. package/dist/Model/Repository/makeRepo.js +5 -2
  32. package/dist/Model/Repository/service.d.ts +32 -24
  33. package/dist/Model/Repository/service.d.ts.map +1 -1
  34. package/dist/Model/Repository/validation.d.ts +47 -18
  35. package/dist/Model/Repository/validation.d.ts.map +1 -1
  36. package/dist/Model/Repository/validation.js +6 -6
  37. package/dist/Model/Repository.d.ts +2 -1
  38. package/dist/Model/Repository.d.ts.map +1 -1
  39. package/dist/Model/Repository.js +2 -1
  40. package/dist/Model/dsl.d.ts +6 -5
  41. package/dist/Model/dsl.d.ts.map +1 -1
  42. package/dist/Model/dsl.js +2 -3
  43. package/dist/Model/filter/filterApi.d.ts +5 -5
  44. package/dist/Model/filter/filterApi.d.ts.map +1 -1
  45. package/dist/Model/filter/types/errors.d.ts +1 -1
  46. package/dist/Model/filter/types/fields.d.ts +1 -1
  47. package/dist/Model/filter/types/path/common.d.ts +1 -1
  48. package/dist/Model/filter/types/path/eager.d.ts +1 -1
  49. package/dist/Model/filter/types/path/eager.d.ts.map +1 -1
  50. package/dist/Model/filter/types/path/eager.js +1 -1
  51. package/dist/Model/filter/types/path/index.d.ts +1 -1
  52. package/dist/Model/filter/types/utils.d.ts +1 -1
  53. package/dist/Model/filter/types/validator.d.ts +1 -1
  54. package/dist/Model/filter/types.d.ts +1 -1
  55. package/dist/Model/query/dsl.d.ts +142 -17
  56. package/dist/Model/query/dsl.d.ts.map +1 -1
  57. package/dist/Model/query/dsl.js +190 -5
  58. package/dist/Model/query/new-kid-interpreter.d.ts +77 -8
  59. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
  60. package/dist/Model/query/new-kid-interpreter.js +127 -6
  61. package/dist/Model/query.d.ts +1 -1
  62. package/dist/Model.d.ts +2 -1
  63. package/dist/Model.d.ts.map +1 -1
  64. package/dist/Model.js +2 -1
  65. package/dist/QueueMaker/SQLQueue.d.ts +7 -8
  66. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  67. package/dist/QueueMaker/SQLQueue.js +135 -117
  68. package/dist/QueueMaker/errors.d.ts +5 -3
  69. package/dist/QueueMaker/errors.d.ts.map +1 -1
  70. package/dist/QueueMaker/errors.js +4 -2
  71. package/dist/QueueMaker/memQueue.d.ts +9 -5
  72. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  73. package/dist/QueueMaker/memQueue.js +81 -65
  74. package/dist/QueueMaker/sbqueue.d.ts +8 -4
  75. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  76. package/dist/QueueMaker/sbqueue.js +57 -55
  77. package/dist/QueueMaker/service.d.ts +4 -2
  78. package/dist/QueueMaker/service.d.ts.map +1 -1
  79. package/dist/QueueMaker/service.js +1 -1
  80. package/dist/RequestContext.d.ts +75 -35
  81. package/dist/RequestContext.d.ts.map +1 -1
  82. package/dist/RequestContext.js +14 -14
  83. package/dist/RequestFiberSet.d.ts +10 -7
  84. package/dist/RequestFiberSet.d.ts.map +1 -1
  85. package/dist/RequestFiberSet.js +8 -3
  86. package/dist/Store/ContextMapContainer.d.ts +22 -3
  87. package/dist/Store/ContextMapContainer.d.ts.map +1 -1
  88. package/dist/Store/ContextMapContainer.js +17 -3
  89. package/dist/Store/Cosmos/query.d.ts +7 -2
  90. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  91. package/dist/Store/Cosmos/query.js +115 -35
  92. package/dist/Store/Cosmos.d.ts +2 -2
  93. package/dist/Store/Cosmos.d.ts.map +1 -1
  94. package/dist/Store/Cosmos.js +343 -244
  95. package/dist/Store/Disk.d.ts +3 -3
  96. package/dist/Store/Disk.d.ts.map +1 -1
  97. package/dist/Store/Disk.js +76 -36
  98. package/dist/Store/Memory.d.ts +7 -4
  99. package/dist/Store/Memory.d.ts.map +1 -1
  100. package/dist/Store/Memory.js +251 -58
  101. package/dist/Store/SQL/Pg.d.ts +4 -0
  102. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  103. package/dist/Store/SQL/Pg.js +233 -0
  104. package/dist/Store/SQL/query.d.ts +43 -0
  105. package/dist/Store/SQL/query.d.ts.map +1 -0
  106. package/dist/Store/SQL/query.js +478 -0
  107. package/dist/Store/SQL.d.ts +21 -0
  108. package/dist/Store/SQL.d.ts.map +1 -0
  109. package/dist/Store/SQL.js +450 -0
  110. package/dist/Store/codeFilter.d.ts +2 -2
  111. package/dist/Store/codeFilter.d.ts.map +1 -1
  112. package/dist/Store/codeFilter.js +6 -3
  113. package/dist/Store/index.d.ts +6 -3
  114. package/dist/Store/index.d.ts.map +1 -1
  115. package/dist/Store/index.js +18 -4
  116. package/dist/Store/service.d.ts +26 -8
  117. package/dist/Store/service.d.ts.map +1 -1
  118. package/dist/Store/service.js +25 -6
  119. package/dist/Store/utils.d.ts +3 -2
  120. package/dist/Store/utils.d.ts.map +1 -1
  121. package/dist/Store/utils.js +5 -5
  122. package/dist/Store.d.ts +1 -1
  123. package/dist/adapters/SQL/Model.d.ts +32 -43
  124. package/dist/adapters/SQL/Model.d.ts.map +1 -1
  125. package/dist/adapters/SQL/Model.js +30 -39
  126. package/dist/adapters/SQL.d.ts +1 -1
  127. package/dist/adapters/ServiceBus.d.ts +14 -11
  128. package/dist/adapters/ServiceBus.d.ts.map +1 -1
  129. package/dist/adapters/ServiceBus.js +30 -21
  130. package/dist/adapters/cosmos-client.d.ts +5 -3
  131. package/dist/adapters/cosmos-client.d.ts.map +1 -1
  132. package/dist/adapters/cosmos-client.js +5 -3
  133. package/dist/adapters/index.d.ts +8 -2
  134. package/dist/adapters/index.d.ts.map +1 -1
  135. package/dist/adapters/index.js +8 -2
  136. package/dist/adapters/logger.d.ts +2 -2
  137. package/dist/adapters/logger.d.ts.map +1 -1
  138. package/dist/adapters/memQueue.d.ts +5 -3
  139. package/dist/adapters/memQueue.d.ts.map +1 -1
  140. package/dist/adapters/memQueue.js +6 -5
  141. package/dist/adapters/mongo-client.d.ts +4 -3
  142. package/dist/adapters/mongo-client.d.ts.map +1 -1
  143. package/dist/adapters/mongo-client.js +5 -3
  144. package/dist/adapters/redis-client.d.ts +6 -3
  145. package/dist/adapters/redis-client.d.ts.map +1 -1
  146. package/dist/adapters/redis-client.js +7 -3
  147. package/dist/api/ContextProvider.d.ts +12 -8
  148. package/dist/api/ContextProvider.d.ts.map +1 -1
  149. package/dist/api/ContextProvider.js +9 -7
  150. package/dist/api/codec.d.ts +1 -1
  151. package/dist/api/internal/RequestContextMiddleware.d.ts +3 -3
  152. package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
  153. package/dist/api/internal/RequestContextMiddleware.js +10 -6
  154. package/dist/api/internal/auth.d.ts +45 -7
  155. package/dist/api/internal/auth.d.ts.map +1 -1
  156. package/dist/api/internal/auth.js +162 -29
  157. package/dist/api/internal/events.d.ts +6 -4
  158. package/dist/api/internal/events.d.ts.map +1 -1
  159. package/dist/api/internal/events.js +16 -9
  160. package/dist/api/internal/health.d.ts +1 -1
  161. package/dist/api/layerUtils.d.ts +10 -6
  162. package/dist/api/layerUtils.d.ts.map +1 -1
  163. package/dist/api/layerUtils.js +7 -6
  164. package/dist/api/middlewares.d.ts +1 -1
  165. package/dist/api/reportError.d.ts +2 -2
  166. package/dist/api/reportError.d.ts.map +1 -1
  167. package/dist/api/reportError.js +3 -2
  168. package/dist/api/routing/middleware/RouterMiddleware.d.ts +5 -4
  169. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
  170. package/dist/api/routing/middleware/middleware.d.ts +42 -3
  171. package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
  172. package/dist/api/routing/middleware/middleware.js +53 -17
  173. package/dist/api/routing/middleware.d.ts +1 -2
  174. package/dist/api/routing/middleware.d.ts.map +1 -1
  175. package/dist/api/routing/middleware.js +1 -2
  176. package/dist/api/routing/schema/jwt.d.ts +1 -1
  177. package/dist/api/routing/schema/jwt.d.ts.map +1 -1
  178. package/dist/api/routing/schema/jwt.js +3 -2
  179. package/dist/api/routing/tsort.d.ts +1 -1
  180. package/dist/api/routing/tsort.d.ts.map +1 -1
  181. package/dist/api/routing/utils.d.ts +4 -4
  182. package/dist/api/routing/utils.d.ts.map +1 -1
  183. package/dist/api/routing/utils.js +3 -2
  184. package/dist/api/routing.d.ts +84 -37
  185. package/dist/api/routing.d.ts.map +1 -1
  186. package/dist/api/routing.js +115 -45
  187. package/dist/api/setupRequest.d.ts +10 -6
  188. package/dist/api/setupRequest.d.ts.map +1 -1
  189. package/dist/api/setupRequest.js +15 -7
  190. package/dist/api/util.d.ts +1 -1
  191. package/dist/arbs.d.ts +2 -2
  192. package/dist/arbs.d.ts.map +1 -1
  193. package/dist/arbs.js +5 -3
  194. package/dist/errorReporter.d.ts +7 -5
  195. package/dist/errorReporter.d.ts.map +1 -1
  196. package/dist/errorReporter.js +22 -26
  197. package/dist/errors.d.ts +1 -1
  198. package/dist/fileUtil.d.ts +2 -2
  199. package/dist/fileUtil.d.ts.map +1 -1
  200. package/dist/fileUtil.js +2 -2
  201. package/dist/index.d.ts +1 -1
  202. package/dist/logger/jsonLogger.d.ts +2 -2
  203. package/dist/logger/jsonLogger.d.ts.map +1 -1
  204. package/dist/logger/jsonLogger.js +4 -2
  205. package/dist/logger/logFmtLogger.d.ts +2 -2
  206. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  207. package/dist/logger/logFmtLogger.js +2 -2
  208. package/dist/logger/shared.d.ts +2 -2
  209. package/dist/logger/shared.d.ts.map +1 -1
  210. package/dist/logger/shared.js +3 -3
  211. package/dist/logger.d.ts +1 -1
  212. package/dist/logger.d.ts.map +1 -1
  213. package/dist/otel.d.ts +75 -0
  214. package/dist/otel.d.ts.map +1 -0
  215. package/dist/otel.js +65 -0
  216. package/dist/rateLimit.d.ts +12 -4
  217. package/dist/rateLimit.d.ts.map +1 -1
  218. package/dist/rateLimit.js +7 -12
  219. package/dist/test.d.ts +3 -3
  220. package/dist/test.d.ts.map +1 -1
  221. package/dist/test.js +2 -2
  222. package/dist/vitest.d.ts +1 -1
  223. package/examples/query.ts +46 -38
  224. package/package.json +46 -37
  225. package/src/CUPS.ts +15 -11
  226. package/src/Emailer/Sendgrid.ts +21 -15
  227. package/src/Emailer/fake.ts +1 -1
  228. package/src/Emailer/service.ts +13 -3
  229. package/src/MainFiberSet.ts +9 -6
  230. package/src/Model/Repository/Registry.ts +34 -0
  231. package/src/Model/Repository/ext.ts +103 -11
  232. package/src/Model/Repository/internal/internal.ts +231 -149
  233. package/src/Model/Repository/legacy.ts +3 -1
  234. package/src/Model/Repository/makeRepo.ts +15 -10
  235. package/src/Model/Repository/service.ts +35 -23
  236. package/src/Model/Repository/validation.ts +5 -5
  237. package/src/Model/Repository.ts +1 -0
  238. package/src/Model/dsl.ts +5 -4
  239. package/src/Model/filter/types/path/eager.ts +1 -2
  240. package/src/Model/query/dsl.ts +353 -19
  241. package/src/Model/query/new-kid-interpreter.ts +211 -6
  242. package/src/Model.ts +1 -0
  243. package/src/QueueMaker/SQLQueue.ts +150 -153
  244. package/src/QueueMaker/errors.ts +3 -1
  245. package/src/QueueMaker/memQueue.ts +111 -105
  246. package/src/QueueMaker/sbqueue.ts +76 -88
  247. package/src/QueueMaker/service.ts +3 -1
  248. package/src/RequestContext.ts +15 -16
  249. package/src/RequestFiberSet.ts +8 -2
  250. package/src/Store/ContextMapContainer.ts +45 -2
  251. package/src/Store/Cosmos/query.ts +143 -44
  252. package/src/Store/Cosmos.ts +491 -350
  253. package/src/Store/Disk.ts +106 -66
  254. package/src/Store/Memory.ts +285 -87
  255. package/src/Store/SQL/Pg.ts +364 -0
  256. package/src/Store/SQL/query.ts +540 -0
  257. package/src/Store/SQL.ts +736 -0
  258. package/src/Store/codeFilter.ts +5 -2
  259. package/src/Store/index.ts +20 -3
  260. package/src/Store/service.ts +45 -10
  261. package/src/Store/utils.ts +25 -23
  262. package/src/adapters/SQL/Model.ts +42 -41
  263. package/src/adapters/ServiceBus.ts +131 -121
  264. package/src/adapters/cosmos-client.ts +4 -2
  265. package/src/adapters/index.ts +7 -0
  266. package/src/adapters/memQueue.ts +5 -4
  267. package/src/adapters/mongo-client.ts +4 -2
  268. package/src/adapters/redis-client.ts +6 -2
  269. package/src/api/ContextProvider.ts +17 -13
  270. package/src/api/internal/RequestContextMiddleware.ts +16 -5
  271. package/src/api/internal/auth.ts +248 -44
  272. package/src/api/internal/events.ts +19 -10
  273. package/src/api/layerUtils.ts +12 -8
  274. package/src/api/reportError.ts +2 -1
  275. package/src/api/routing/middleware/RouterMiddleware.ts +5 -4
  276. package/src/api/routing/middleware/middleware.ts +60 -15
  277. package/src/api/routing/middleware.ts +0 -2
  278. package/src/api/routing/schema/jwt.ts +2 -1
  279. package/src/api/routing/utils.ts +2 -1
  280. package/src/api/routing.ts +304 -131
  281. package/src/api/setupRequest.ts +31 -8
  282. package/src/arbs.ts +5 -3
  283. package/src/errorReporter.ts +65 -75
  284. package/src/fileUtil.ts +1 -1
  285. package/src/logger/jsonLogger.ts +3 -1
  286. package/src/logger/logFmtLogger.ts +1 -1
  287. package/src/logger/shared.ts +3 -2
  288. package/src/otel.ts +152 -0
  289. package/src/rateLimit.ts +34 -23
  290. package/src/test.ts +2 -2
  291. package/test/auth.test.ts +101 -0
  292. package/test/contextProvider.test.ts +14 -11
  293. package/test/controller.test.ts +25 -29
  294. package/test/dist/auth.test.d.ts.map +1 -0
  295. package/test/dist/contextProvider.test.d.ts.map +1 -1
  296. package/test/dist/controller.test.d.ts.map +1 -1
  297. package/test/dist/date-query.test.d.ts.map +1 -0
  298. package/test/dist/fixtures.d.ts +30 -12
  299. package/test/dist/fixtures.d.ts.map +1 -1
  300. package/test/dist/fixtures.js +17 -10
  301. package/test/dist/query.test.d.ts.map +1 -1
  302. package/test/dist/rawQuery.test.d.ts.map +1 -1
  303. package/test/dist/repository-ext.test.d.ts.map +1 -0
  304. package/test/dist/requires.test.d.ts.map +1 -1
  305. package/test/dist/router-generator.test.d.ts.map +1 -0
  306. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  307. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  308. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  309. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  310. package/test/dist/sql-store.test.d.ts.map +1 -0
  311. package/test/fixtures.ts +16 -9
  312. package/test/layerUtils.test.ts +1 -1
  313. package/test/query.test.ts +819 -38
  314. package/test/rawQuery.test.ts +312 -20
  315. package/test/repository-ext.test.ts +62 -0
  316. package/test/requires.test.ts +10 -5
  317. package/test/router-generator.test.ts +187 -0
  318. package/test/routing-interruptibility.test.ts +66 -0
  319. package/test/rpc-e2e-invalidation.test.ts +256 -0
  320. package/test/rpc-multi-middleware.test.ts +84 -9
  321. package/test/rpc-stream-fullstack.test.ts +304 -0
  322. package/test/sql-store.test.ts +1592 -0
  323. package/test/validateSample.test.ts +17 -12
  324. package/tsconfig.examples.json +1 -1
  325. package/tsconfig.json +0 -1
  326. package/tsconfig.json.bak +2 -2
  327. package/tsconfig.src.json +35 -35
  328. package/tsconfig.test.json +2 -2
  329. package/dist/Operations.d.ts +0 -55
  330. package/dist/Operations.d.ts.map +0 -1
  331. package/dist/Operations.js +0 -102
  332. package/dist/OperationsRepo.d.ts +0 -41
  333. package/dist/OperationsRepo.d.ts.map +0 -1
  334. package/dist/OperationsRepo.js +0 -14
  335. package/eslint.config.mjs +0 -24
  336. package/src/Operations.ts +0 -235
  337. package/src/OperationsRepo.ts +0 -16
@@ -1,9 +1,13 @@
1
- import { Tracer } from "effect";
2
- import { Cause, Effect, flow, S } from "effect-app";
1
+ import * as Effect from "effect-app/Effect";
2
+ import * as S from "effect-app/Schema";
3
3
  import { pretty } from "effect-app/utils";
4
+ import * as Cause from "effect/Cause";
5
+ import { flow } from "effect/Function";
6
+ import * as Tracer from "effect/Tracer";
4
7
  import { Receiver, Sender } from "../adapters/ServiceBus.js";
5
8
  import { getRequestContext, setupRequestContextWithCustomSpan } from "../api/setupRequest.js";
6
9
  import { InfraLogger } from "../logger.js";
10
+ import { messagingSpanArgs } from "../otel.js";
7
11
  import { reportNonInterruptedFailure, reportNonInterruptedFailureCause, reportQueueError } from "./errors.js";
8
12
  import { QueueMeta } from "./service.js";
9
13
  export function makeServiceBusQueue(schema, drainSchema) {
@@ -11,11 +15,11 @@ export function makeServiceBusQueue(schema, drainSchema) {
11
15
  body: schema,
12
16
  meta: QueueMeta
13
17
  });
14
- const wireSchemaJson = S.fromJsonString(wireSchema);
18
+ const wireSchemaJson = S.fromJsonString(S.toCodecJson(wireSchema));
15
19
  const encodePublish = S.encodeEffect(wireSchemaJson);
16
20
  const drainW = S.Struct({ body: drainSchema, meta: QueueMeta });
17
- const drainWJson = S.fromJsonString(drainW);
18
- const parseDrain = flow(S.decodeUnknownEffect(drainWJson), Effect.orDie);
21
+ const drainWJson = S.fromJsonString(S.toCodecJson(drainW));
22
+ const parseDrain = flow(S.decodeUnknownEffectConcurrently(drainWJson), Effect.orDie);
19
23
  return Effect.gen(function* () {
20
24
  const sender = yield* Sender;
21
25
  const receiver = yield* Receiver;
@@ -26,66 +30,64 @@ export function makeServiceBusQueue(schema, drainSchema) {
26
30
  // const deferred = yield* Deferred.make<never, ServiceBusError | Error>()
27
31
  const queue = {
28
32
  drain: (handleEvent, sessionId) => {
29
- function processMessage(messageBody) {
30
- return parseDrain(messageBody).pipe(Effect.orDie, Effect
31
- .flatMap(({ body, meta }) => {
32
- let effect = InfraLogger
33
- .logDebug(`[${receiver.name}] Processing incoming message`)
34
- .pipe(Effect.annotateLogs({
35
- body: pretty(body),
36
- meta: pretty(meta)
37
- }), Effect.andThen(handleEvent(body)), Effect.orDie)
38
- // we silenceAndReportError here, so that the error is reported, and moves into the Exit.
39
- .pipe(silenceAndReportError, (_) => setupRequestContextWithCustomSpan(_, meta, `queue.drain: ${receiver.name}${sessionId ? `#${sessionId}` : ""}.${body._tag}`, {
33
+ const processMessage = Effect.fnUntraced(function* (messageBody) {
34
+ const { body, meta } = yield* parseDrain(messageBody).pipe(Effect.orDie);
35
+ let effect = InfraLogger
36
+ .logDebug(`[${receiver.name}] Processing incoming message`)
37
+ .pipe(Effect.annotateLogs({ body: pretty(body), meta: pretty(meta) }), Effect.andThen(handleEvent(body)), Effect.orDie,
38
+ // we silenceAndReportError here, so that the error is reported, and moves into the Exit.
39
+ silenceAndReportError, (_) => {
40
+ const args = messagingSpanArgs({
41
+ operation: "process",
42
+ system: "servicebus",
43
+ destination: receiver.name,
44
+ messageId: body.id,
45
+ conversationId: sessionId,
46
+ extra: { "messaging.message.type": body._tag, "messaging.message.body": body }
47
+ }, "consumer");
48
+ return setupRequestContextWithCustomSpan(_, meta, args.name, {
40
49
  captureStackTrace: false,
41
- kind: "consumer",
42
- attributes: {
43
- "queue.name": receiver.name,
44
- "queue.sessionId": sessionId,
45
- "queue.input": body
46
- }
47
- }));
48
- if (meta.span) {
49
- effect = Effect.withParentSpan(effect, Tracer.externalSpan(meta.span));
50
- }
51
- return effect;
52
- }), Effect
53
- // we reportError here, so that we report the error only, and keep flowing
54
- .tapCause(reportError),
55
- // we still need to flatten the Exit.
56
- Effect.flatMap((_) => _));
57
- }
50
+ kind: args.kind,
51
+ attributes: args.attributes
52
+ });
53
+ });
54
+ if (meta.span) {
55
+ effect = Effect.withParentSpan(effect, Tracer.externalSpan(meta.span));
56
+ }
57
+ // we reportError here, so that we report the error only, and keep flowing
58
+ const exit = yield* Effect.tapCause(effect, reportError);
59
+ return yield* exit;
60
+ });
58
61
  return receiver
59
62
  .subscribe({
60
63
  processMessage: (x) => processMessage(x.body).pipe(Effect.uninterruptible),
61
64
  processError: (err) => reportQueueError(Cause.fail(err.error))
62
- // Deferred.completeWith(
63
- // deferred,
64
- // reportFatalQueueError(Cause.fail(err.error))
65
- // .pipe(Effect.andThen(Effect.fail(err.error)))
66
- // )
67
65
  }, sessionId)
68
- // .pipe(Effect.andThen(Deferred.await(deferred).pipe(Effect.orDie))),
69
66
  .pipe(Effect.andThen(Effect.never));
70
67
  },
71
- publish: (...messages) => getRequestContext
72
- .pipe(Effect.flatMap((requestContext) => Effect
73
- .forEach(messages, (m) => encodePublish({
74
- body: m,
75
- meta: requestContext
76
- })
77
- .pipe(Effect.orDie, Effect.map((body) => ({
78
- body,
79
- messageId: m.id, /* correllationid: requestId */
80
- contentType: "application/json",
81
- sessionId: "sessionId" in m ? m.sessionId : undefined // TODO: optional
82
- }))))
83
- .pipe(Effect.flatMap((msgs) => sender.sendMessages(msgs)))), Effect.withSpan("queue.publish: " + sender.name, {
68
+ publish: Effect.fn(`publish ${sender.name}`, {
84
69
  kind: "producer",
85
- attributes: { "message_tags": messages.map((_) => _._tag) }
86
- }, { captureStackTrace: false }))
70
+ attributes: {
71
+ "messaging.system": "servicebus",
72
+ "messaging.operation.name": "publish",
73
+ "messaging.destination.name": sender.name
74
+ }
75
+ })(function* (...messages) {
76
+ yield* Effect.annotateCurrentSpan({
77
+ "messaging.batch.message_count": messages.length,
78
+ "messaging.message.types": messages.map((_) => _._tag)
79
+ });
80
+ const requestContext = yield* getRequestContext;
81
+ const msgs = yield* Effect.forEach(messages, (m) => encodePublish({ body: m, meta: requestContext }).pipe(Effect.orDie, Effect.map((body) => ({
82
+ body,
83
+ messageId: m.id, /* correllationid: requestId */
84
+ contentType: "application/json",
85
+ sessionId: "sessionId" in m ? m.sessionId : undefined // TODO: optional
86
+ }))));
87
+ yield* sender.sendMessages(msgs);
88
+ })
87
89
  };
88
90
  return queue;
89
91
  });
90
92
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NicXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQThCLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM3RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzFDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3RyxPQUFPLEVBQWtCLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV4RCxNQUFNLFVBQVUsbUJBQW1CLENBTWpDLE1BQTBCLEVBQzFCLFdBQXlDO0lBRXpDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUE7SUFDRixNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ25ELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDcEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDL0QsTUFBTSxVQUFV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
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NicXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLG1CQUFtQixDQUFBO0FBRXRDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM3RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsZ0NBQWdDLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDN0csT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV4QyxNQUFNLFVBQVUsbUJBQW1CLENBTWpDLE1BQTBCLEVBQzFCLFdBQXlDO0lBRXpDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUE7SUFDRixNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUNsRSxNQUFNLGFBQWEsR0FBRyxD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
@@ -1,4 +1,6 @@
1
- import type { Effect, NonEmptyReadonlyArray, Scope } from "effect-app";
1
+ import type { NonEmptyReadonlyArray } from "effect-app/Array";
2
+ import type * as Effect from "effect-app/Effect";
3
+ import type * as Scope from "effect/Scope";
2
4
  import { RequestContext } from "../RequestContext.js";
3
5
  export interface QueueBase<Evt, DrainEvt> {
4
6
  drain: <DrainE, DrainR>(makeHandleEvent: (ks: DrainEvt) => Effect.Effect<void, DrainE, DrainR>, sessionId?: string) => Effect.Effect<never, never, Scope.Scope | DrainR>;
@@ -8,4 +10,4 @@ export interface QueueMakerOps {
8
10
  }
9
11
  export declare const QueueMaker: QueueMakerOps;
10
12
  export declare const QueueMeta: typeof RequestContext;
11
- //# sourceMappingURL=service.d.ts.map
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1F1ZXVlTWFrZXIvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQzdELE9BQU8sS0FBSyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEtBQUssS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVyRCxNQUFNLFdBQVcsU0FBUyxDQUFDLEdBQUcsRUFBRSxRQUFRO0lBQ3RDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQ3BCLGVBQWUsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUN0RSxTQUFTLENBQUMsRUFBRSxNQUFNLEtBQ2YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUE7SUFDdEQsT0FBTyxFQUFFLENBQ1AsR0FBRyxRQUFRLEVBQUUscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQ3BDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7Q0FDekI7QUFFRCxNQUFNLFdBQVcsYUFBYTtDQUFHO0FBQ2pDLGVBQU8sTUFBTSxVQUFVLEVBQUUsYUFBa0IsQ0FBQTtBQUUzQyxlQUFPLE1BQU0sU0FBUyx1QkFBaUIsQ0FBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,WAAW,SAAS,CAAC,GAAG,EAAE,QAAQ;IACtC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EACpB,eAAe,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EACtE,SAAS,CAAC,EAAE,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;IACtD,OAAO,EAAE,CACP,GAAG,QAAQ,EAAE,qBAAqB,CAAC,GAAG,CAAC,KACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,MAAM,WAAW,aAAa;CAAG;AACjC,eAAO,MAAM,UAAU,EAAE,aAAkB,CAAA;AAE3C,eAAO,MAAM,SAAS,uBAAiB,CAAA"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,WAAW,SAAS,CAAC,GAAG,EAAE,QAAQ;IACtC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EACpB,eAAe,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EACtE,SAAS,CAAC,EAAE,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;IACtD,OAAO,EAAE,CACP,GAAG,QAAQ,EAAE,qBAAqB,CAAC,GAAG,CAAC,KACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,MAAM,WAAW,aAAa;CAAG;AACjC,eAAO,MAAM,UAAU,EAAE,aAAkB,CAAA;AAE3C,eAAO,MAAM,SAAS,uBAAiB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { RequestContext } from "../RequestContext.js";
2
2
  export const QueueMaker = {};
3
3
  export const QueueMeta = RequestContext;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBYXJELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBa0IsRUFBRSxDQUFBO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUEifQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBYXJELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBa0IsRUFBRSxDQUFBO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUEifQ==
@@ -1,63 +1,103 @@
1
- import { S, ServiceMap } from "effect-app";
2
- export declare const Locale: S.Literals<["en", "de"]> & {
3
- changeDefault: <A extends "en" | "de">(a: A) => S.Literals<["en", "de"]> & {
1
+ import * as Context from "effect-app/Context";
2
+ import { UserProfileId } from "effect-app/ids";
3
+ import * as S from "effect-app/Schema";
4
+ import { NonEmptyString255 } from "effect-app/Schema";
5
+ export declare const Locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
6
+ changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
4
7
  Default: A;
5
- withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
8
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
9
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
6
10
  };
7
11
  Default: "en";
8
- withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
12
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
13
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
9
14
  };
10
15
  export type Locale = typeof Locale.Type;
11
- declare const LocaleRef_base: ServiceMap.Reference<"en" | "de">;
16
+ declare const LocaleRef_base: Context.Reference<"de" | "en">;
12
17
  export declare class LocaleRef extends LocaleRef_base {
13
18
  }
14
- declare const RequestContext_base: S.EnhancedClass<RequestContext, S.Struct<{
15
- span: S.Struct<{
19
+ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encoded, S.Struct<{
20
+ readonly span: S.Struct<{
16
21
  readonly traceId: S.String;
17
22
  readonly spanId: S.String;
18
23
  readonly sampled: import("effect/Schema").Boolean & {
19
- withDefault: S.withConstructorDefault<import("effect/Schema").Boolean & S.WithoutConstructorDefault>;
24
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
25
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean>;
20
26
  };
21
27
  }>;
22
- name: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">;
23
- locale: S.Literals<["en", "de"]> & {
24
- changeDefault: <A extends "en" | "de">(a: A) => S.Literals<["en", "de"]> & {
28
+ readonly name: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>;
29
+ readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
30
+ changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
25
31
  Default: A;
26
- withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
32
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
33
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
27
34
  };
28
35
  Default: "en";
29
- withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
36
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
37
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
30
38
  };
31
- sourceId: S.optional<S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">>;
32
- namespace: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">;
39
+ readonly sourceId: S.optional<S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>>;
40
+ readonly namespace: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>;
33
41
  /** @deprecated */
34
- userProfile: S.optional<S.Struct<{
35
- readonly sub: S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & {
36
- make: () => string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
37
- withDefault: S.withConstructorDefault<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & S.WithoutConstructorDefault>;
38
- } & S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never>>> & S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & {
39
- make: () => string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
40
- withDefault: S.withConstructorDefault<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & S.WithoutConstructorDefault>;
41
- } & S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never>>;
42
+ readonly userProfile: S.optional<S.Struct<{
43
+ readonly sub: S.WithDefaults<S.Codec<UserProfileId, string, never, never> & {
44
+ withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
45
+ make: () => UserProfileId;
46
+ } & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>> & S.Codec<UserProfileId, string, never, never> & {
47
+ withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
48
+ make: () => UserProfileId;
49
+ } & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>;
42
50
  }>>;
43
- }>, {}>;
51
+ }>, {}> & Omit<S.Struct<{
52
+ readonly span: S.Struct<{
53
+ readonly traceId: S.String;
54
+ readonly spanId: S.String;
55
+ readonly sampled: import("effect/Schema").Boolean & {
56
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
57
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean>;
58
+ };
59
+ }>;
60
+ readonly name: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>;
61
+ readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
62
+ changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
63
+ Default: A;
64
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
65
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
66
+ };
67
+ Default: "en";
68
+ withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
69
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
70
+ };
71
+ readonly sourceId: S.optional<S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>>;
72
+ readonly namespace: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>;
73
+ /** @deprecated */
74
+ readonly userProfile: S.optional<S.Struct<{
75
+ readonly sub: S.WithDefaults<S.Codec<UserProfileId, string, never, never> & {
76
+ withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
77
+ make: () => UserProfileId;
78
+ } & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>> & S.Codec<UserProfileId, string, never, never> & {
79
+ withConstructorDefault: S.withConstructorDefault<S.Codec<UserProfileId, string, never, never> & S.WithoutConstructorDefault>;
80
+ make: () => UserProfileId;
81
+ } & S.WithDefaults<S.Codec<UserProfileId, string, never, never>>;
82
+ }>>;
83
+ }>, keyof S.Top>;
44
84
  export declare class RequestContext extends RequestContext_base {
45
85
  static toMonitoring(this: void, self: RequestContext): {
46
- operationName: string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
47
- locale: "en" | "de";
86
+ operationName: NonEmptyString255;
87
+ locale: "de" | "en";
48
88
  };
49
89
  }
50
90
  export declare const spanAttributes: (ctx: Pick<RequestContext, "locale" | "namespace"> & Partial<RequestContext>) => {
51
- "request.user.sub"?: string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
52
- "request.user.roles"?: unknown;
53
- "request.source.id"?: string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
54
- "request.name": (string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">) | undefined;
55
- "request.locale": "en" | "de";
56
- "request.namespace": string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
91
+ "code.function.name": NonEmptyString255 | undefined;
92
+ "app.locale": "de" | "en";
93
+ "app.tenant.id": string & S.NonEmptyString255Brand;
94
+ "client.id"?: NonEmptyString255;
95
+ "user.id"?: UserProfileId;
96
+ "user.roles"?: unknown;
57
97
  };
58
98
  export declare namespace RequestContext {
59
- interface Encoded extends S.Struct.Encoded<typeof RequestContext["fields"]> {
99
+ interface Encoded extends S.StructNestedEncoded<typeof RequestContext> {
60
100
  }
61
101
  }
62
102
  export {};
63
- //# sourceMappingURL=RequestContext.d.ts.map
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXF1ZXN0Q29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXJELGVBQU8sTUFBTSxNQUFNOzs7Ozs7Ozs7Q0FBMkIsQ0FBQTtBQUM5QyxNQUFNLE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQTs7QUFFdkMscUJBQWEsU0FBVSxTQUFRLGNBQWlFO0NBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBZWpHLGtCQUFrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFBbEIsa0JBQWtCOzs7Ozs7Ozs7OztBQWJwQixxQkFBYSxjQUFlLFNBQVEsbUJBZWpDO0lBR0QsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxjQUFjO1FBRWhELGFBQWE7UUFDYixNQUFNO01BRVQ7Q0FDRjtBQUVELGVBQU8sTUFBTSxjQUFjLFFBQVMsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQzs7Ozs7OztDQWdCeEcsQ0FBQTtBQUlGLHlCQUFpQixjQUFjLENBQUMsQ0FBQztJQUMvQixVQUFpQixPQUFRLFNBQVEsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sY0FBYyxDQUFDO0tBQUc7Q0FDakYifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI1C,eAAO,MAAM,MAAM;;;;;;;CAAwB,CAAA;AAC3C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAoE;CAAG;;;;;;;;;;;;;;;;;;;;IAepG,kBAAkB;;;;;;;;;;;AAbpB,qBAAa,cAAe,SAAQ,mBAelC;IAGA,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;CAMrD;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;CAgBxG,CAAA;AAKF,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;KAAG;CACtF"}
1
+ {"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,MAAM;;;;;;;;;CAA2B,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAiE;CAAG;;;;;;;;;;;;;;;;;;;;;;;IAejG,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAlB,kBAAkB;;;;;;;;;;;AAbpB,qBAAa,cAAe,SAAQ,mBAejC;IAGD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;QAEhD,aAAa;QACb,MAAM;MAET;CACF;AAED,eAAO,MAAM,cAAc,QAAS,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;CAgBxG,CAAA;AAIF,yBAAiB,cAAc,CAAC,CAAC;IAC/B,UAAiB,OAAQ,SAAQ,CAAC,CAAC,mBAAmB,CAAC,OAAO,cAAc,CAAC;KAAG;CACjF"}
@@ -1,10 +1,11 @@
1
- import { S, ServiceMap } from "effect-app";
1
+ import * as Context from "effect-app/Context";
2
2
  import { UserProfileId } from "effect-app/ids";
3
+ import * as S from "effect-app/Schema";
3
4
  import { NonEmptyString255 } from "effect-app/Schema";
4
- export const Locale = S.Literal("en", "de");
5
- export class LocaleRef extends ServiceMap.Reference("Locale", { defaultValue: () => "en" }) {
5
+ export const Locale = S.Literals(["en", "de"]);
6
+ export class LocaleRef extends Context.Reference("Locale", { defaultValue: () => "en" }) {
6
7
  }
7
- export class RequestContext extends S.ExtendedClass("RequestContext")({
8
+ export class RequestContext extends S.Opaque()(S.Struct({
8
9
  span: S.Struct({
9
10
  traceId: S.String,
10
11
  spanId: S.String,
@@ -16,8 +17,8 @@ export class RequestContext extends S.ExtendedClass("RequestContext")({
16
17
  namespace: NonEmptyString255,
17
18
  /** @deprecated */
18
19
  userProfile: S.optional(S.Struct({ sub: UserProfileId })) //
19
- }) {
20
- // static Tag = ServiceMap.Tag<RequestContext>()
20
+ })) {
21
+ // static Tag = Context.Tag<RequestContext>()
21
22
  static toMonitoring(self) {
22
23
  return {
23
24
  operationName: self.name,
@@ -26,24 +27,23 @@ export class RequestContext extends S.ExtendedClass("RequestContext")({
26
27
  }
27
28
  }
28
29
  export const spanAttributes = (ctx) => ({
29
- "request.name": ctx.name,
30
- "request.locale": ctx.locale,
31
- "request.namespace": ctx.namespace,
32
- ...ctx.sourceId ? { "request.source.id": ctx.sourceId } : {},
30
+ "code.function.name": ctx.name,
31
+ "app.locale": ctx.locale,
32
+ "app.tenant.id": ctx.namespace,
33
+ ...ctx.sourceId ? { "client.id": ctx.sourceId } : {},
33
34
  ...(ctx.userProfile?.sub
34
35
  ? {
35
- "request.user.sub": ctx
36
+ "user.id": ctx
36
37
  .userProfile
37
38
  .sub,
38
- "request.user.roles": "roles" in ctx
39
+ "user.roles": "roles" in ctx
39
40
  .userProfile
40
41
  ? ctx.userProfile.roles
41
42
  : undefined
42
43
  }
43
44
  : {})
44
45
  });
45
- /* eslint-enable */
46
46
  //
47
47
  // codegen:end
48
48
  //
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVxdWVzdENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUczQyxNQUFNLE9BQU8sU0FBVSxTQUFRLFVBQVUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLEdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0NBQUc7QUFFdEcsTUFBTSxPQUFPLGNBQWUsU0FBUSxDQUFDLENBQUMsYUFBYSxDQUdqRCxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87S0FDbkIsQ0FBQztJQUNGLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsTUFBTSxFQUFFLE1BQU07SUFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVE7SUFDakQsU0FBUyxFQUFFLGlCQUFpQjtJQUM1QixrQkFBa0I7SUFDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtDQUM3RCxDQUFDO0lBQ0EsZ0RBQWdEO0lBRWhELE1BQU0sQ0FBQyxZQUFZLENBQWEsSUFBb0I7UUFDbEQsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQTJFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUcsY0FBYyxFQUFFLEdBQUcsQ0FBQyxJQUFJO0lBQ3hCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxNQUFNO0lBQzVCLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxTQUFTO0lBQ2xDLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDNUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRztRQUN0QixDQUFDLENBQUM7WUFDQSxrQkFBa0IsRUFBRSxHQUFHO2lCQUNwQixXQUFXO2lCQUNYLEdBQUc7WUFDTixvQkFBb0IsRUFBRSxPQUFPLElBQUksR0FBRztpQkFDL0IsV0FBVztnQkFDZCxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLO2dCQUN2QixDQUFDLENBQUMsU0FBUztTQUNkO1FBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNSLENBQUMsQ0FBQTtBQVFGLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YsY0FBYztBQUNkLEVBQUUifQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVxdWVzdENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVyRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBRzlDLE1BQU0sT0FBTyxTQUFVLFNBQVEsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsR0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7Q0FBRztBQUVuRyxNQUFNLE9BQU8sY0FBZSxTQUFRLENBQUMsQ0FBQyxNQUFNLEVBR3pDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNYLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87S0FDbkIsQ0FBQztJQUNGLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsTUFBTSxFQUFFLE1BQU07SUFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVE7SUFDakQsU0FBUyxFQUFFLGlCQUFpQjtJQUM1QixrQkFBa0I7SUFDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtDQUM3RCxDQUFDLENBQUM7SUFDRCw2Q0FBNkM7SUFFN0MsTUFBTSxDQUFDLFlBQVksQ0FBYSxJQUFvQjtRQUNsRCxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFBO0lBQ0gsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBMkUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsSUFBSTtJQUM5QixZQUFZLEVBQUUsR0FBRyxDQUFDLE1BQU07SUFDeEIsZUFBZSxFQUFFLEdBQUcsQ0FBQyxTQUFTO0lBQzlCLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ3BELEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUc7UUFDdEIsQ0FBQyxDQUFDO1lBQ0EsU0FBUyxFQUFFLEdBQUc7aUJBQ1gsV0FBVztpQkFDWCxHQUFHO1lBQ04sWUFBWSxFQUFFLE9BQU8sSUFBSSxHQUFHO2lCQUN2QixXQUFXO2dCQUNkLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUs7Z0JBQ3ZCLENBQUMsQ0FBQyxTQUFTO1NBQ2Q7UUFDRCxDQUFDLENBQUMsRUFBRSxDQUFDO0NBQ1IsQ0FBQyxDQUFBO0FBT0YsRUFBRTtBQUNGLGNBQWM7QUFDZCxFQUFFIn0=
@@ -1,6 +1,9 @@
1
- import { Effect, Fiber, Layer, ServiceMap } from "effect-app";
1
+ import * as Context from "effect-app/Context";
2
+ import * as Effect from "effect-app/Effect";
3
+ import * as Layer from "effect-app/Layer";
4
+ import * as Fiber from "effect/Fiber";
2
5
  export declare const setRootParentSpan: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
3
- declare const RequestFiberSet_base: ServiceMap.ServiceClass<RequestFiberSet, "RequestFiberSet", {
6
+ declare const RequestFiberSet_base: Context.ServiceClass<RequestFiberSet, "RequestFiberSet", {
4
7
  interrupt: Effect.Effect<void, never, never>;
5
8
  join: Effect.Effect<void, any, never>;
6
9
  run: <R, XE extends any, XA extends any>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.Fiber<XA, XE>, never, R>;
@@ -27,10 +30,10 @@ declare const RequestFiberSet_base: ServiceMap.ServiceClass<RequestFiberSet, "Re
27
30
  */
28
31
  export declare class RequestFiberSet extends RequestFiberSet_base {
29
32
  static readonly Live: Layer.Layer<RequestFiberSet, never, never>;
30
- static readonly register: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, RequestFiberSet | R>;
31
- static readonly run: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, RequestFiberSet | R>;
32
- static readonly forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, RequestFiberSet | R>;
33
- static readonly forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, RequestFiberSet | R>;
33
+ static readonly register: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R | RequestFiberSet>;
34
+ static readonly run: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R | RequestFiberSet>;
35
+ static readonly forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R | RequestFiberSet>;
36
+ static readonly forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R | RequestFiberSet>;
34
37
  }
35
38
  export {};
36
- //# sourceMappingURL=RequestFiberSet.d.ts.map
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEZpYmVyU2V0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVxdWVzdEZpYmVyU2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sb0JBQW9CLENBQUE7QUFDN0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLGtCQUFrQixDQUFBO0FBRXpDLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBaUJyQyxlQUFPLE1BQU0saUJBQWlCLEdBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQywyQkFDNEIsQ0FBQTs7Ozs7cUJBSXpFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO3FCQUV2QixTQUFTLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2VBT3RDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7dUJBdUI3QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lDQWdCM0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQXFCM0U7OztHQUdHO0FBQ0gscUJBQWEsZUFBZ0IsU0FBUSxvQkFBK0Q7SUFDbEcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLDZDQUFnQztJQUNwRCxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLDhDQUNGO0lBQy9ELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsa0VBQ0Y7SUFDMUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGtFQUNGO0lBQ3ZFLE1BQU0sQ0FBQyxRQUFRLENBQUMsMEJBQTBCLEdBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxrRUFDRjtDQUNsRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"RequestFiberSet.d.ts","sourceRoot":"","sources":["../src/RequestFiberSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAY,KAAK,EAAU,UAAU,EAAe,MAAM,YAAY,CAAA;AAe5F,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BAC4B,CAAA;;;;;qBAIzE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;qBAEvB,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;eAOtC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;uBAuB7B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iCAgB3B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;yBAhDjD,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;yBAEvB,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;mBAOtC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;2BAuB7B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;qCAgB3B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;AAqB3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAAkE;IACrG,MAAM,CAAC,QAAQ,CAAC,IAAI,6CAAgC;IACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,8CACF;IAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IACvE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;CAClF"}
1
+ {"version":3,"file":"RequestFiberSet.d.ts","sourceRoot":"","sources":["../src/RequestFiberSet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAiBrC,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BAC4B,CAAA;;;;;qBAIzE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;qBAEvB,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;eAOtC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;uBAuB7B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iCAgB3B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;AAqB3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAA+D;IAClG,MAAM,CAAC,QAAQ,CAAC,IAAI,6CAAgC;IACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,8CACF;IAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IACvE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;CAClF"}
@@ -1,5 +1,10 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Effect, Fiber, FiberSet, Layer, Option, ServiceMap } from "effect-app";
2
+ import * as Context from "effect-app/Context";
3
+ import * as Effect from "effect-app/Effect";
4
+ import * as Layer from "effect-app/Layer";
5
+ import * as Option from "effect-app/Option";
6
+ import * as Fiber from "effect/Fiber";
7
+ import * as FiberSet from "effect/FiberSet";
3
8
  import { reportRequestError, reportUnknownRequestError } from "./api/reportError.js";
4
9
  import { InfraLogger } from "./logger.js";
5
10
  const getRootParentSpan = Effect.gen(function* () {
@@ -68,11 +73,11 @@ const make = Effect.gen(function* () {
68
73
  * Whenever you fork a fiber for a Request, and you want to prevent dependent services to close prematurely on interruption,
69
74
  * like the ServiceBus Sender, you should register these fibers in this FiberSet.
70
75
  */
71
- export class RequestFiberSet extends ServiceMap.Service()("RequestFiberSet", { make }) {
76
+ export class RequestFiberSet extends Context.Service()("RequestFiberSet", { make }) {
72
77
  static Live = Layer.effect(this, this.make);
73
78
  static register = (self) => this.asEffect().pipe(Effect.andThen((_) => _.register(self)));
74
79
  static run = (self) => this.asEffect().pipe(Effect.andThen((_) => _.run(self)));
75
80
  static forkDaemonReport = (self) => this.asEffect().pipe(Effect.andThen((_) => _.forkDaemonReport(self)));
76
81
  static forkDaemonReportUnexpected = (self) => this.asEffect().pipe(Effect.andThen((_) => _.forkDaemonReportUnexpected(self)));
77
82
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEZpYmVyU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JlcXVlc3RGaWJlclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFlLE1BQU0sWUFBWSxDQUFBO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFekMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUM1QyxJQUFJLElBQUksR0FBMEIsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzlELE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNsRSxDQUFBO0lBQ0QsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUQsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO0lBQzFCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDekUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxD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
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEZpYmVyU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JlcXVlc3RGaWJlclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssUUFBUSxNQUFNLGlCQUFpQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFekMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUM1QyxJQUFJLElBQUksR0FBMEIsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzlELE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNsRSxDQUFBO0lBQ0QsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUQsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO0lBQzFCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQyxDQUFBO0FB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
@@ -1,6 +1,10 @@
1
- import { Effect, Layer, ServiceMap } from "effect-app";
1
+ import * as Context from "effect-app/Context";
2
+ import * as Effect from "effect-app/Effect";
3
+ import * as Layer from "effect-app/Layer";
4
+ import type * as Request from "effect/Request";
5
+ import * as RequestResolver from "effect/RequestResolver";
2
6
  import { ContextMap } from "./service.js";
3
- declare const ContextMapContainer_base: ServiceMap.Reference<"root" | ContextMap>;
7
+ declare const ContextMapContainer_base: Context.Reference<"root" | ContextMap>;
4
8
  export declare class ContextMapContainer extends ContextMapContainer_base {
5
9
  static readonly layer: Layer.Layer<never, never, never>;
6
10
  }
@@ -10,5 +14,20 @@ declare const ContextMapNotStartedError_base: new <A extends Record<string, any>
10
14
  export declare class ContextMapNotStartedError extends ContextMapNotStartedError_base {
11
15
  }
12
16
  export declare const getContextMap: Effect.Effect<ContextMap, ContextMapNotStartedError, never>;
17
+ /**
18
+ * Uses the official `RequestResolver.withCache` internally,
19
+ * creating one cached resolver per ContextMap (i.e. per request).
20
+ * Uses a shared semaphore in the ContextMap to ensure safe single initialization.
21
+ */
22
+ export declare const withRequestResolverCache: {
23
+ <A extends Request.Request<any, any>>(options: {
24
+ readonly capacity: number;
25
+ readonly strategy?: "lru" | "fifo" | undefined;
26
+ }): (self: RequestResolver.RequestResolver<A>) => Effect.Effect<RequestResolver.RequestResolver<A>, ContextMapNotStartedError>;
27
+ <A extends Request.Request<any, any>>(self: RequestResolver.RequestResolver<A>, options: {
28
+ readonly capacity: number;
29
+ readonly strategy?: "lru" | "fifo" | undefined;
30
+ }): Effect.Effect<RequestResolver.RequestResolver<A>, ContextMapNotStartedError>;
31
+ };
13
32
  export {};
14
- //# sourceMappingURL=ContextMapContainer.d.ts.map
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1hcENvbnRhaW5lci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0b3JlL0NvbnRleHRNYXBDb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sa0JBQWtCLENBQUE7QUFHekMsT0FBTyxLQUFLLEtBQUssT0FBTyxNQUFNLGdCQUFnQixDQUFBO0FBQzlDLE9BQU8sS0FBSyxlQUFlLE1BQU0sd0JBQXdCLENBQUE7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTs7QUFRekMscUJBQWEsbUJBQW9CLFNBQVEsd0JBRXZDO0lBQ0EsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLG1DQUFzRTtDQUM1Rjs7OztBQUVELHFCQUFhLHlCQUEwQixTQUFRLDhCQUE2QztDQUFHO0FBRS9GLGVBQU8sTUFBTSxhQUFhLDZEQUV6QixDQUFBO0FBRUQ7Ozs7R0FJRztBQUNILGVBQU8sTUFBTSx3QkFBd0IsRUFBRTtJQUNyQyxDQUFDLENBQUMsU0FBUyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDN0MsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUE7UUFDekIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUFBO0tBQy9DLEdBQUcsQ0FDRixJQUFJLEVBQUUsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixDQUFDLENBQUE7SUFDakYsQ0FBQyxDQUFDLFNBQVMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQ2xDLElBQUksRUFBRSxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUN4QyxPQUFPLEVBQUU7UUFDUCxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQTtRQUN6QixRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUE7S0FDL0MsR0FDQSxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUseUJBQXlCLENBQUMsQ0FBQTtDQWlCL0UsQ0FBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../src/Store/ContextMapContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;;AAQzC,qBAAa,mBAAoB,SAAQ,wBAEvC;IACA,MAAM,CAAC,QAAQ,CAAC,KAAK,mCAAsE;CAC5F;;;;AAED,qBAAa,yBAA0B,SAAQ,8BAA6C;CAAG;AAE/F,eAAO,MAAM,aAAa,6DAEzB,CAAA"}
1
+ {"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../src/Store/ContextMapContainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAGzC,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;;AAQzC,qBAAa,mBAAoB,SAAQ,wBAEvC;IACA,MAAM,CAAC,QAAQ,CAAC,KAAK,mCAAsE;CAC5F;;;;AAED,qBAAa,yBAA0B,SAAQ,8BAA6C;CAAG;AAE/F,eAAO,MAAM,aAAa,6DAEzB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE;IACrC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;QAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;KAC/C,GAAG,CACF,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,KACrC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAA;IACjF,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAClC,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EACxC,OAAO,EAAE;QACP,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;KAC/C,GACA,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAA;CAiB/E,CAAA"}