effect 4.0.0-beta.20 → 4.0.0-beta.21

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 (45) hide show
  1. package/dist/Effect.d.ts +92 -1
  2. package/dist/Effect.d.ts.map +1 -1
  3. package/dist/Effect.js +30 -1
  4. package/dist/Effect.js.map +1 -1
  5. package/dist/Schedule.d.ts.map +1 -1
  6. package/dist/Schedule.js +4 -1
  7. package/dist/Schedule.js.map +1 -1
  8. package/dist/SchemaAST.js +6 -6
  9. package/dist/SchemaAST.js.map +1 -1
  10. package/dist/Stream.js +1 -1
  11. package/dist/TxPubSub.d.ts +4 -4
  12. package/dist/TxPubSub.d.ts.map +1 -1
  13. package/dist/internal/effect.js +38 -0
  14. package/dist/internal/effect.js.map +1 -1
  15. package/dist/unstable/ai/McpServer.js +2 -1
  16. package/dist/unstable/ai/McpServer.js.map +1 -1
  17. package/dist/unstable/http/HttpEffect.js +2 -2
  18. package/dist/unstable/http/HttpEffect.js.map +1 -1
  19. package/dist/unstable/http/HttpMiddleware.js +2 -2
  20. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  21. package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
  22. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  23. package/dist/unstable/http/internal/preResponseHandler.js +2 -2
  24. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  25. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  26. package/dist/unstable/workflow/Workflow.js +1 -1
  27. package/dist/unstable/workflow/Workflow.js.map +1 -1
  28. package/dist/unstable/workflow/WorkflowEngine.d.ts +5 -1
  29. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  30. package/dist/unstable/workflow/WorkflowEngine.js +5 -1
  31. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/Effect.ts +100 -1
  34. package/src/Schedule.ts +4 -1
  35. package/src/SchemaAST.ts +6 -6
  36. package/src/Stream.ts +1 -1
  37. package/src/TxPubSub.ts +4 -4
  38. package/src/internal/effect.ts +84 -0
  39. package/src/unstable/ai/McpServer.ts +2 -1
  40. package/src/unstable/http/HttpEffect.ts +2 -2
  41. package/src/unstable/http/HttpMiddleware.ts +3 -3
  42. package/src/unstable/http/HttpServerRequest.ts +1 -1
  43. package/src/unstable/http/internal/preResponseHandler.ts +3 -3
  44. package/src/unstable/workflow/Workflow.ts +5 -1
  45. package/src/unstable/workflow/WorkflowEngine.ts +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowEngine.js","names":["Effect","Exit","Fiber","FiberMap","Latch","Layer","Option","Schedule","Schema","Scope","ServiceMap","Workflow","WorkflowEngine","Service","WorkflowInstance","initial","workflow","executionId","of","scope","makeUnsafe","suspended","interrupted","cause","undefined","activityState","count","latch","options","register","fnUntraced","execute","services","payload","suspend","pipe","updateServices","input","merge","self","opts","suspendedRetrySchedule","defaultRetrySchedule","annotateCurrentSpan","result","parentInstance","serviceOption","isSome","instance","value","addFinalizer","_tag","void","interrupt","discard","run","parent","getOrUndefined","wrapActivityResult","exit","sleep","toStepWithSleep","catch","die","name","poll","resume","activityExecute","activity","attempt","orDie","decodeEffect","exitSchema","toJsonExit","Complete","deferredResult","deferred","withSpan","attributes","captureStackTrace","deferredDone","workflowName","deferredName","encodeEffect","_","scheduleClock","clock","exponential","either","spaced","layer","effect","gen","workflows","Map","executions","activities","state","get","fiber","pollUnsafe","entry","onExit","withFiber","interruptible","intoResult","provideService","engine","tap","forkIn","deferredResults","clocks","make","set","fail","join","_workflow","activityId","activityInstance","executeEncoded","succeed","id","has","delay","duration","onlyIfMissing","asVoid","map"],"sources":["../../../src/unstable/workflow/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"WorkflowEngine.js","names":["Effect","Exit","Fiber","FiberMap","Latch","Layer","Option","Schedule","Schema","Scope","ServiceMap","Workflow","WorkflowEngine","Service","WorkflowInstance","initial","workflow","executionId","of","scope","makeUnsafe","suspended","interrupted","cause","undefined","activityState","count","latch","options","register","fnUntraced","execute","services","payload","suspend","pipe","updateServices","input","merge","self","opts","suspendedRetrySchedule","defaultRetrySchedule","annotateCurrentSpan","result","parentInstance","serviceOption","isSome","instance","value","addFinalizer","_tag","void","interrupt","discard","run","parent","getOrUndefined","wrapActivityResult","exit","sleep","toStepWithSleep","catch","die","name","poll","resume","activityExecute","activity","attempt","orDie","decodeEffect","exitSchema","toJsonExit","Complete","deferredResult","deferred","withSpan","attributes","captureStackTrace","deferredDone","workflowName","deferredName","encodeEffect","_","scheduleClock","clock","exponential","either","spaced","layerMemory","effect","gen","workflows","Map","executions","activities","state","get","fiber","pollUnsafe","entry","onExit","withFiber","interruptible","intoResult","provideService","engine","tap","forkIn","deferredResults","clocks","make","set","fail","join","_workflow","activityId","activityInstance","executeEncoded","succeed","id","has","delay","duration","onlyIfMissing","asVoid","map"],"sources":["../../../src/unstable/workflow/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "effect",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.20",
4
+ "version": "4.0.0-beta.21",
5
5
  "license": "MIT",
6
6
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
7
7
  "homepage": "https://effect.website",
package/src/Effect.ts CHANGED
@@ -743,7 +743,6 @@ export declare namespace All {
743
743
  * ```
744
744
  *
745
745
  * @see {@link forEach} for iterating over elements and applying an effect.
746
- * @see {@link allWith} for a data-last version of this function.
747
746
  *
748
747
  * @since 2.0.0
749
748
  * @category Collecting
@@ -1063,6 +1062,106 @@ export const validate: {
1063
1062
  ): Effect<void, Arr.NonEmptyArray<E>, R>
1064
1063
  } = internal.validate
1065
1064
 
1065
+ /**
1066
+ * Returns the first element that satisfies an effectful predicate.
1067
+ *
1068
+ * The predicate receives the element and its index. Evaluation short-circuits
1069
+ * as soon as an element matches.
1070
+ *
1071
+ * @example
1072
+ * ```ts
1073
+ * import { Effect } from "effect"
1074
+ *
1075
+ * const program = Effect.findFirst([1, 2, 3, 4], (n) => Effect.succeed(n > 2))
1076
+ *
1077
+ * Effect.runPromise(program).then(console.log)
1078
+ * // { _id: 'Option', _tag: 'Some', value: 3 }
1079
+ * ```
1080
+ *
1081
+ * @since 2.0.0
1082
+ * @category Collecting
1083
+ */
1084
+ export const findFirst: {
1085
+ /**
1086
+ * Returns the first element that satisfies an effectful predicate.
1087
+ *
1088
+ * The predicate receives the element and its index. Evaluation short-circuits
1089
+ * as soon as an element matches.
1090
+ *
1091
+ * @example
1092
+ * ```ts
1093
+ * import { Effect } from "effect"
1094
+ *
1095
+ * const program = Effect.findFirst([1, 2, 3, 4], (n) => Effect.succeed(n > 2))
1096
+ *
1097
+ * Effect.runPromise(program).then(console.log)
1098
+ * // { _id: 'Option', _tag: 'Some', value: 3 }
1099
+ * ```
1100
+ *
1101
+ * @since 2.0.0
1102
+ * @category Collecting
1103
+ */
1104
+ <A, E, R>(predicate: (a: NoInfer<A>, i: number) => Effect<boolean, E, R>): (elements: Iterable<A>) => Effect<Option<A>, E, R>
1105
+ /**
1106
+ * Returns the first element that satisfies an effectful predicate.
1107
+ *
1108
+ * The predicate receives the element and its index. Evaluation short-circuits
1109
+ * as soon as an element matches.
1110
+ *
1111
+ * @example
1112
+ * ```ts
1113
+ * import { Effect } from "effect"
1114
+ *
1115
+ * const program = Effect.findFirst([1, 2, 3, 4], (n) => Effect.succeed(n > 2))
1116
+ *
1117
+ * Effect.runPromise(program).then(console.log)
1118
+ * // { _id: 'Option', _tag: 'Some', value: 3 }
1119
+ * ```
1120
+ *
1121
+ * @since 2.0.0
1122
+ * @category Collecting
1123
+ */
1124
+ <A, E, R>(
1125
+ elements: Iterable<A>,
1126
+ predicate: (a: NoInfer<A>, i: number) => Effect<boolean, E, R>
1127
+ ): Effect<Option<A>, E, R>
1128
+ } = internal.findFirst
1129
+
1130
+ /**
1131
+ * Returns the first value that passes an effectful `FilterEffect`.
1132
+ *
1133
+ * The filter receives the element and index. Evaluation short-circuits on the
1134
+ * first `Result.succeed` and returns the transformed value in `Option.some`.
1135
+ *
1136
+ * @since 4.0.0
1137
+ * @category Collecting
1138
+ */
1139
+ export const findFirstFilter: {
1140
+ /**
1141
+ * Returns the first value that passes an effectful `FilterEffect`.
1142
+ *
1143
+ * The filter receives the element and index. Evaluation short-circuits on the
1144
+ * first `Result.succeed` and returns the transformed value in `Option.some`.
1145
+ *
1146
+ * @since 4.0.0
1147
+ * @category Collecting
1148
+ */
1149
+ <A, B, X, E, R>(filter: Filter.FilterEffect<NoInfer<A>, B, X, E, R, [i: number]>): (elements: Iterable<A>) => Effect<Option<B>, E, R>
1150
+ /**
1151
+ * Returns the first value that passes an effectful `FilterEffect`.
1152
+ *
1153
+ * The filter receives the element and index. Evaluation short-circuits on the
1154
+ * first `Result.succeed` and returns the transformed value in `Option.some`.
1155
+ *
1156
+ * @since 4.0.0
1157
+ * @category Collecting
1158
+ */
1159
+ <A, B, X, E, R>(
1160
+ elements: Iterable<A>,
1161
+ filter: Filter.FilterEffect<NoInfer<A>, B, X, E, R, [i: number]>
1162
+ ): Effect<Option<B>, E, R>
1163
+ } = internal.findFirstFilter
1164
+
1066
1165
  /**
1067
1166
  * Executes an effectful operation for each element in an `Iterable`.
1068
1167
  *
package/src/Schedule.ts CHANGED
@@ -4828,7 +4828,10 @@ export const reduce: {
4828
4828
  Pull.matchEffect(step(now, input), {
4829
4829
  onSuccess([output, delay]) {
4830
4830
  const next = combine(state, output)
4831
- if (!isEffect(next)) return effect.succeed([next, delay] as [State, Duration.Duration])
4831
+ if (!isEffect(next)) {
4832
+ state = next
4833
+ return effect.succeed([next, delay] as [State, Duration.Duration])
4834
+ }
4832
4835
  return effect.map(next, (nextState) => {
4833
4836
  state = nextState
4834
4837
  return [nextState, delay]
package/src/SchemaAST.ts CHANGED
@@ -1455,20 +1455,20 @@ export class Arrays extends Base {
1455
1455
  // handle post rest elements
1456
1456
  // ---------------------------------------------
1457
1457
  for (let j = 0; j < tail.length; j++) {
1458
- i += j
1459
- if (len < i) {
1458
+ const index = i + j
1459
+ if (len < index) {
1460
1460
  continue
1461
1461
  } else {
1462
1462
  const tailj = tail[j]
1463
1463
  const keyAnnotations = tailj.ast.context?.annotations
1464
- const eff = tailj.parser(Option.some(input[i]), options)
1464
+ const eff = tailj.parser(Option.some(input[index]), options)
1465
1465
  const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff)
1466
1466
  if (exit._tag === "Failure") {
1467
1467
  const issueRest = Cause.findError(exit.cause)
1468
1468
  if (Result.isFailure(issueRest)) {
1469
1469
  return yield* exit
1470
1470
  }
1471
- const issue = new Issue.Pointer([i], issueRest.success)
1471
+ const issue = new Issue.Pointer([index], issueRest.success)
1472
1472
  if (errorsAllOption) {
1473
1473
  if (issues) issues.push(issue)
1474
1474
  else issues = [issue]
@@ -1476,9 +1476,9 @@ export class Arrays extends Base {
1476
1476
  return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
1477
1477
  }
1478
1478
  } else if (exit.value._tag === "Some") {
1479
- output[i] = exit.value.value
1479
+ output[index] = exit.value.value
1480
1480
  } else {
1481
- const issue = new Issue.Pointer([i], new Issue.MissingKey(keyAnnotations))
1481
+ const issue = new Issue.Pointer([index], new Issue.MissingKey(keyAnnotations))
1482
1482
  if (errorsAllOption) {
1483
1483
  if (issues) issues.push(issue)
1484
1484
  else issues = [issue]
package/src/Stream.ts CHANGED
@@ -16556,7 +16556,7 @@ export const withSpan: {
16556
16556
  } = function() {
16557
16557
  const dataFirst = isStream(arguments[0])
16558
16558
  const name = dataFirst ? arguments[1] : arguments[0]
16559
- const options = addSpanStackTrace(dataFirst ? arguments[1] : arguments[2])
16559
+ const options = addSpanStackTrace(dataFirst ? arguments[2] : arguments[1])
16560
16560
  if (dataFirst) {
16561
16561
  const self = arguments[0] as Stream<any, any, any>
16562
16562
  return fromChannel(Channel.withSpan(self.channel, name, options))
package/src/TxPubSub.ts CHANGED
@@ -430,7 +430,7 @@ export const publish: {
430
430
  * @since 4.0.0
431
431
  * @category mutations
432
432
  */
433
- <A>(value: A): (self: TxPubSub<A>) => Effect.Effect<boolean>
433
+ <A>(value: A): (self: TxPubSub<A>) => Effect.Effect<boolean, never, Effect.Transaction>
434
434
  // =============================================================================
435
435
  // Mutations
436
436
  // =============================================================================
@@ -470,7 +470,7 @@ export const publish: {
470
470
  * @since 4.0.0
471
471
  * @category mutations
472
472
  */
473
- <A>(self: TxPubSub<A>, value: A): Effect.Effect<boolean>
473
+ <A>(self: TxPubSub<A>, value: A): Effect.Effect<boolean, never, Effect.Transaction>
474
474
  } = dual(
475
475
  2,
476
476
  <A>(self: TxPubSub<A>, value: A): Effect.Effect<boolean, never, Effect.Transaction> =>
@@ -546,7 +546,7 @@ export const publishAll: {
546
546
  * @since 4.0.0
547
547
  * @category mutations
548
548
  */
549
- <A>(values: Iterable<A>): (self: TxPubSub<A>) => Effect.Effect<boolean>
549
+ <A>(values: Iterable<A>): (self: TxPubSub<A>) => Effect.Effect<boolean, never, Effect.Transaction>
550
550
  /**
551
551
  * Publishes all messages from an iterable to all current subscribers.
552
552
  *
@@ -575,7 +575,7 @@ export const publishAll: {
575
575
  * @since 4.0.0
576
576
  * @category mutations
577
577
  */
578
- <A>(self: TxPubSub<A>, values: Iterable<A>): Effect.Effect<boolean>
578
+ <A>(self: TxPubSub<A>, values: Iterable<A>): Effect.Effect<boolean, never, Effect.Transaction>
579
579
  } = dual(
580
580
  2,
581
581
  <A>(self: TxPubSub<A>, values: Iterable<A>): Effect.Effect<boolean, never, Effect.Transaction> =>
@@ -4289,6 +4289,90 @@ export const validate: {
4289
4289
  )
4290
4290
  )
4291
4291
 
4292
+ /** @internal */
4293
+ export const findFirst: {
4294
+ <A, E, R>(
4295
+ predicate: (a: NoInfer<A>, i: number) => Effect.Effect<boolean, E, R>
4296
+ ): (elements: Iterable<A>) => Effect.Effect<Option.Option<A>, E, R>
4297
+ <A, E, R>(
4298
+ elements: Iterable<A>,
4299
+ predicate: (a: NoInfer<A>, i: number) => Effect.Effect<boolean, E, R>
4300
+ ): Effect.Effect<Option.Option<A>, E, R>
4301
+ } = dual(
4302
+ (args) => isIterable(args[0]) && !isEffect(args[0]),
4303
+ <A, E, R>(
4304
+ elements: Iterable<A>,
4305
+ predicate: (a: A, i: number) => Effect.Effect<boolean, E, R>
4306
+ ): Effect.Effect<Option.Option<A>, E, R> =>
4307
+ suspend(() => {
4308
+ const iterator = elements[Symbol.iterator]()
4309
+ const next = iterator.next()
4310
+ if (!next.done) {
4311
+ return findFirstLoop(iterator, 0, predicate, next.value)
4312
+ }
4313
+ return succeed(Option.none())
4314
+ })
4315
+ )
4316
+
4317
+ const findFirstLoop = <A, E, R>(
4318
+ iterator: Iterator<A>,
4319
+ index: number,
4320
+ predicate: (a: A, i: number) => Effect.Effect<boolean, E, R>,
4321
+ value: A
4322
+ ): Effect.Effect<Option.Option<A>, E, R> =>
4323
+ flatMap(predicate(value, index), (keep) => {
4324
+ if (keep) {
4325
+ return succeed(Option.some(value))
4326
+ }
4327
+ const next = iterator.next()
4328
+ if (!next.done) {
4329
+ return findFirstLoop(iterator, index + 1, predicate, next.value)
4330
+ }
4331
+ return succeed(Option.none())
4332
+ })
4333
+
4334
+ /** @internal */
4335
+ export const findFirstFilter: {
4336
+ <A, B, X, E, R>(
4337
+ filter: Filter.FilterEffect<NoInfer<A>, B, X, E, R, [i: number]>
4338
+ ): (elements: Iterable<A>) => Effect.Effect<Option.Option<B>, E, R>
4339
+ <A, B, X, E, R>(
4340
+ elements: Iterable<A>,
4341
+ filter: Filter.FilterEffect<NoInfer<A>, B, X, E, R, [i: number]>
4342
+ ): Effect.Effect<Option.Option<B>, E, R>
4343
+ } = dual(
4344
+ (args) => isIterable(args[0]) && !isEffect(args[0]),
4345
+ <A, B, X, E, R>(
4346
+ elements: Iterable<A>,
4347
+ filter: Filter.FilterEffect<A, B, X, E, R, [i: number]>
4348
+ ): Effect.Effect<Option.Option<B>, E, R> =>
4349
+ suspend(() => {
4350
+ const iterator = elements[Symbol.iterator]()
4351
+ const next = iterator.next()
4352
+ if (!next.done) {
4353
+ return findFirstFilterLoop(iterator, 0, filter, next.value)
4354
+ }
4355
+ return succeed(Option.none())
4356
+ })
4357
+ )
4358
+
4359
+ const findFirstFilterLoop = <A, B, X, E, R>(
4360
+ iterator: Iterator<A>,
4361
+ index: number,
4362
+ filter: Filter.FilterEffect<A, B, X, E, R, [i: number]>,
4363
+ value: A
4364
+ ): Effect.Effect<Option.Option<B>, E, R> =>
4365
+ flatMap(filter(value, index), (result) => {
4366
+ if (Result.isSuccess(result)) {
4367
+ return succeed(Option.some(result.success))
4368
+ }
4369
+ const next = iterator.next()
4370
+ if (!next.done) {
4371
+ return findFirstFilterLoop(iterator, index + 1, filter, next.value)
4372
+ }
4373
+ return succeed(Option.none())
4374
+ })
4375
+
4292
4376
  /** @internal */
4293
4377
  export const whileLoop: <A, E, R>(options: {
4294
4378
  readonly while: LazyArg<boolean>
@@ -1057,7 +1057,8 @@ const compileUriTemplate = (segments: TemplateStringsArray, ...schemas: Readonly
1057
1057
  const key = String(i)
1058
1058
  arr.push(toCodecStringTree)
1059
1059
  routerPath += `:${key}${segment.replace(":", "::")}`
1060
- const paramName = isParam(toCodecStringTree) ? toCodecStringTree.name : `param${key}`
1060
+ const schema = schemas[i]
1061
+ const paramName = isParam(schema) ? (schema as Param<string, Schema.Top>).name : `param${key}`
1061
1062
  params[paramName] = toCodecStringTree
1062
1063
  uriPath += `{${paramName}}${segment}`
1063
1064
  }
@@ -37,7 +37,7 @@ export const toHandled = <E, R, EH, RH>(
37
37
  const fiber = Fiber.getCurrent()!
38
38
  reportCauseUnsafe(fiber, cause)
39
39
  const request = ServiceMap.getUnsafe(fiber.services, HttpServerRequest)
40
- const handler = requestPreResponseHandlers.get(request)
40
+ const handler = requestPreResponseHandlers.get(request.source)
41
41
  const cont = cause.reasons.length === 0 ? Effect.succeed(response) : Effect.failCause(cause)
42
42
  if (handler === undefined) {
43
43
  ;(request as any)[handledSymbol] = true
@@ -60,7 +60,7 @@ export const toHandled = <E, R, EH, RH>(
60
60
  onSuccess: (response) => {
61
61
  const fiber = Fiber.getCurrent()!
62
62
  const request = ServiceMap.getUnsafe(fiber.services, HttpServerRequest)
63
- const handler = requestPreResponseHandlers.get(request)
63
+ const handler = requestPreResponseHandlers.get(request.source)
64
64
  if (handler === undefined) {
65
65
  ;(request as any)[handledSymbol] = true
66
66
  return Effect.mapEager(handleResponse(request, response), () => response)
@@ -46,7 +46,7 @@ export declare namespace HttpMiddleware {
46
46
  */
47
47
  export const make = <M extends HttpMiddleware>(middleware: M): M => middleware
48
48
 
49
- const loggerDisabledRequests = new WeakSet<HttpServerRequest>()
49
+ const loggerDisabledRequests = new WeakSet<object>()
50
50
 
51
51
  /**
52
52
  * @since 4.0.0
@@ -55,7 +55,7 @@ const loggerDisabledRequests = new WeakSet<HttpServerRequest>()
55
55
  export const withLoggerDisabled = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<A, E, R | HttpServerRequest> =>
56
56
  Effect.withFiber((fiber) => {
57
57
  const request = ServiceMap.getUnsafe(fiber.services, HttpServerRequest)
58
- loggerDisabledRequests.add(request)
58
+ loggerDisabledRequests.add(request.source)
59
59
  return self
60
60
  })
61
61
 
@@ -97,7 +97,7 @@ export const logger: <E, R>(
97
97
  const request = ServiceMap.getUnsafe(fiber.services, HttpServerRequest)
98
98
  return Effect.withLogSpan(
99
99
  Effect.flatMap(Effect.exit(httpApp), (exit) => {
100
- if (loggerDisabledRequests.has(request)) {
100
+ if (loggerDisabledRequests.has(request.source)) {
101
101
  return exit
102
102
  } else if (exit._tag === "Failure") {
103
103
  const [response, cause] = causeResponseStripped(exit.cause)
@@ -43,7 +43,7 @@ export const TypeId = "~effect/http/HttpServerRequest"
43
43
  */
44
44
  export interface HttpServerRequest extends HttpIncomingMessage.HttpIncomingMessage<HttpServerError> {
45
45
  readonly [TypeId]: typeof TypeId
46
- readonly source: unknown
46
+ readonly source: object
47
47
  readonly url: string
48
48
  readonly originalUrl: string
49
49
  readonly method: HttpMethod
@@ -3,13 +3,13 @@ import type { PreResponseHandler } from "../HttpEffect.ts"
3
3
  import type { HttpServerRequest } from "../HttpServerRequest.ts"
4
4
 
5
5
  /** @internal */
6
- export const requestPreResponseHandlers = new WeakMap<HttpServerRequest, PreResponseHandler>()
6
+ export const requestPreResponseHandlers = new WeakMap<object, PreResponseHandler>()
7
7
 
8
8
  /** @internal */
9
9
  export const appendPreResponseHandlerUnsafe = (request: HttpServerRequest, handler: PreResponseHandler): void => {
10
- const prev = requestPreResponseHandlers.get(request)
10
+ const prev = requestPreResponseHandlers.get(request.source)
11
11
  const next: PreResponseHandler = prev ?
12
12
  (request, response) => Effect.flatMap(prev(request, response), (response) => handler(request, response))
13
13
  : handler
14
- requestPreResponseHandlers.set(request, next)
14
+ requestPreResponseHandlers.set(request.source, next)
15
15
  }
@@ -374,7 +374,11 @@ export const make = <
374
374
  return yield* engine.register(self, execute)
375
375
  })
376
376
  ),
377
- executionId: (payload) => makeExecutionId(self.payloadSchema.make(payload)),
377
+ executionId: (payload) =>
378
+ Effect.flatMap(
379
+ Effect.sync(() => self.payloadSchema.makeUnsafe(payload)),
380
+ makeExecutionId
381
+ ),
378
382
  withCompensation
379
383
  }
380
384
 
@@ -502,10 +502,14 @@ const defaultRetrySchedule = Schedule.exponential(200, 1.5).pipe(
502
502
  )
503
503
 
504
504
  /**
505
+ * A in-memory implementation of the WorkflowEngine. This is useful for testing
506
+ * and local development, but is not suitable for production use as it does not
507
+ * provide durability guarantees.
508
+ *
505
509
  * @since 4.0.0
506
510
  * @category Layers
507
511
  */
508
- export const layer: Layer.Layer<WorkflowEngine> = Layer.effect(WorkflowEngine)(
512
+ export const layerMemory: Layer.Layer<WorkflowEngine> = Layer.effect(WorkflowEngine)(
509
513
  Effect.gen(function*() {
510
514
  const scope = yield* Effect.scope
511
515