effect 4.0.0-beta.104 → 4.0.0-beta.105

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 (191) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/ai-docs/README.md +44 -0
  4. package/ai-docs/package.json +36 -0
  5. package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  6. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  7. package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  8. package/ai-docs/src/01_effect/01_basics/index.md +5 -0
  9. package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
  10. package/ai-docs/src/01_effect/02_schema/index.md +7 -0
  11. package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
  12. package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
  13. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
  14. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
  15. package/ai-docs/src/01_effect/03_services/index.md +5 -0
  16. package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
  17. package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
  18. package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
  19. package/ai-docs/src/01_effect/04_errors/index.md +1 -0
  20. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
  21. package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
  22. package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
  23. package/ai-docs/src/01_effect/05_resources/index.md +3 -0
  24. package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
  25. package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
  26. package/ai-docs/src/01_effect/06_running/index.md +1 -0
  27. package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
  28. package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
  29. package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
  30. package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
  31. package/ai-docs/src/03_stream/30_encoding.ts +165 -0
  32. package/ai-docs/src/03_stream/index.md +4 -0
  33. package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
  34. package/ai-docs/src/04_integration/index.md +5 -0
  35. package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  36. package/ai-docs/src/05_batching/index.md +3 -0
  37. package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
  38. package/ai-docs/src/06_schedule/index.md +3 -0
  39. package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  40. package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  41. package/ai-docs/src/07_datetime/index.md +5 -0
  42. package/ai-docs/src/08_observability/10_logging.ts +66 -0
  43. package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  44. package/ai-docs/src/08_observability/index.md +7 -0
  45. package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  46. package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  47. package/ai-docs/src/09_testing/index.md +1 -0
  48. package/ai-docs/src/10_predicate/01_basics.ts +14 -0
  49. package/ai-docs/src/10_predicate/index.md +9 -0
  50. package/ai-docs/src/50_http-client/10_basics.ts +102 -0
  51. package/ai-docs/src/50_http-client/index.md +3 -0
  52. package/ai-docs/src/51_http-server/10_basics.ts +116 -0
  53. package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  54. package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  55. package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  56. package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
  57. package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
  58. package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  59. package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
  60. package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
  61. package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
  62. package/ai-docs/src/51_http-server/index.md +3 -0
  63. package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  64. package/ai-docs/src/60_child-process/index.md +3 -0
  65. package/ai-docs/src/70_cli/10_basics.ts +136 -0
  66. package/ai-docs/src/70_cli/index.md +5 -0
  67. package/ai-docs/src/71_ai/10_language-model.ts +156 -0
  68. package/ai-docs/src/71_ai/20_tools.ts +226 -0
  69. package/ai-docs/src/71_ai/30_chat.ts +158 -0
  70. package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  71. package/ai-docs/src/71_ai/index.md +5 -0
  72. package/ai-docs/src/80_cluster/10_entities.ts +97 -0
  73. package/ai-docs/src/80_cluster/index.md +4 -0
  74. package/ai-docs/src/index.md +10 -0
  75. package/ai-docs/tsconfig.json +24 -0
  76. package/dist/Brand.d.ts +3 -3
  77. package/dist/Brand.d.ts.map +1 -1
  78. package/dist/Brand.js +4 -3
  79. package/dist/Brand.js.map +1 -1
  80. package/dist/Config.d.ts.map +1 -1
  81. package/dist/Config.js +2 -1
  82. package/dist/Config.js.map +1 -1
  83. package/dist/Context.d.ts +0 -1
  84. package/dist/Context.d.ts.map +1 -1
  85. package/dist/Context.js +1 -22
  86. package/dist/Context.js.map +1 -1
  87. package/dist/Cron.d.ts +31 -0
  88. package/dist/Cron.d.ts.map +1 -1
  89. package/dist/Cron.js +58 -2
  90. package/dist/Cron.js.map +1 -1
  91. package/dist/Optic.d.ts +35 -21
  92. package/dist/Optic.d.ts.map +1 -1
  93. package/dist/Optic.js +33 -34
  94. package/dist/Optic.js.map +1 -1
  95. package/dist/Schema.d.ts +73 -25
  96. package/dist/Schema.d.ts.map +1 -1
  97. package/dist/Schema.js +83 -50
  98. package/dist/Schema.js.map +1 -1
  99. package/dist/SchemaAST.d.ts +30 -0
  100. package/dist/SchemaAST.d.ts.map +1 -1
  101. package/dist/SchemaAST.js +40 -32
  102. package/dist/SchemaAST.js.map +1 -1
  103. package/dist/SchemaError.d.ts +8 -8
  104. package/dist/SchemaError.d.ts.map +1 -1
  105. package/dist/SchemaError.js +7 -6
  106. package/dist/SchemaError.js.map +1 -1
  107. package/dist/SchemaGetter.d.ts +8 -5
  108. package/dist/SchemaGetter.d.ts.map +1 -1
  109. package/dist/SchemaGetter.js +41 -37
  110. package/dist/SchemaGetter.js.map +1 -1
  111. package/dist/SchemaIssue.d.ts +195 -38
  112. package/dist/SchemaIssue.d.ts.map +1 -1
  113. package/dist/SchemaIssue.js +243 -68
  114. package/dist/SchemaIssue.js.map +1 -1
  115. package/dist/SchemaParser.d.ts +30 -0
  116. package/dist/SchemaParser.d.ts.map +1 -1
  117. package/dist/SchemaParser.js +39 -9
  118. package/dist/SchemaParser.js.map +1 -1
  119. package/dist/SchemaTransformation.d.ts +2 -2
  120. package/dist/SchemaTransformation.d.ts.map +1 -1
  121. package/dist/SchemaTransformation.js +26 -26
  122. package/dist/SchemaTransformation.js.map +1 -1
  123. package/dist/Stdio.d.ts +17 -4
  124. package/dist/Stdio.d.ts.map +1 -1
  125. package/dist/Stdio.js +6 -3
  126. package/dist/Stdio.js.map +1 -1
  127. package/dist/internal/schema/schema.js +1 -9
  128. package/dist/internal/schema/schema.js.map +1 -1
  129. package/dist/testing/TestSchema.d.ts +1 -1
  130. package/dist/testing/TestSchema.d.ts.map +1 -1
  131. package/dist/testing/TestSchema.js +8 -7
  132. package/dist/testing/TestSchema.js.map +1 -1
  133. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  134. package/dist/unstable/ai/Prompt.js +4 -4
  135. package/dist/unstable/ai/Prompt.js.map +1 -1
  136. package/dist/unstable/cluster/Reply.js +4 -4
  137. package/dist/unstable/cluster/Reply.js.map +1 -1
  138. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  139. package/dist/unstable/encoding/Msgpack.js +6 -6
  140. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  141. package/dist/unstable/http/HttpClient.d.ts +59 -3
  142. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  143. package/dist/unstable/http/HttpClient.js +33 -19
  144. package/dist/unstable/http/HttpClient.js.map +1 -1
  145. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -10
  146. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  147. package/dist/unstable/httpapi/HttpApiClient.js +9 -9
  148. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  149. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  150. package/dist/unstable/reactivity/AsyncResult.js +4 -4
  151. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  152. package/dist/unstable/reactivity/Atom.d.ts +26 -11
  153. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  154. package/dist/unstable/reactivity/Atom.js +9 -22
  155. package/dist/unstable/reactivity/Atom.js.map +1 -1
  156. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  157. package/dist/unstable/rpc/RpcClient.js +3 -1
  158. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  159. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  160. package/dist/unstable/rpc/RpcServer.js +3 -2
  161. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  162. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  163. package/dist/unstable/workflow/Workflow.js +2 -2
  164. package/dist/unstable/workflow/Workflow.js.map +1 -1
  165. package/package.json +5 -2
  166. package/src/Brand.ts +4 -4
  167. package/src/Config.ts +3 -1
  168. package/src/Context.ts +1 -23
  169. package/src/Cron.ts +65 -2
  170. package/src/Optic.ts +59 -58
  171. package/src/Schema.ts +145 -71
  172. package/src/SchemaAST.ts +85 -48
  173. package/src/SchemaError.ts +9 -9
  174. package/src/SchemaGetter.ts +89 -30
  175. package/src/SchemaIssue.ts +285 -80
  176. package/src/SchemaParser.ts +51 -17
  177. package/src/SchemaTransformation.ts +66 -18
  178. package/src/Stdio.ts +23 -4
  179. package/src/internal/schema/schema.ts +1 -17
  180. package/src/testing/TestSchema.ts +8 -8
  181. package/src/unstable/ai/Prompt.ts +14 -4
  182. package/src/unstable/cluster/Reply.ts +4 -4
  183. package/src/unstable/encoding/Msgpack.ts +12 -8
  184. package/src/unstable/http/HttpClient.ts +132 -23
  185. package/src/unstable/httpapi/HttpApiBuilder.ts +32 -13
  186. package/src/unstable/httpapi/HttpApiClient.ts +26 -8
  187. package/src/unstable/reactivity/AsyncResult.ts +11 -6
  188. package/src/unstable/reactivity/Atom.ts +44 -25
  189. package/src/unstable/rpc/RpcClient.ts +4 -1
  190. package/src/unstable/rpc/RpcServer.ts +4 -2
  191. package/src/unstable/workflow/Workflow.ts +2 -5
package/dist/Optic.js CHANGED
@@ -11,13 +11,13 @@
11
11
  *
12
12
  * @since 4.0.0
13
13
  */
14
- import { format } from "./Formatter.js";
15
14
  import { identity } from "./Function.js";
16
15
  import * as InternalRecord from "./internal/record.js";
17
16
  import * as Option from "./Option.js";
18
17
  import * as Predicate from "./Predicate.js";
19
18
  import * as Result from "./Result.js";
20
19
  import * as SchemaAST from "./SchemaAST.js";
20
+ import * as SchemaIssue from "./SchemaIssue.js";
21
21
  import * as Struct from "./Struct.js";
22
22
  /**
23
23
  * Creates an {@link Iso} from a pair of conversion functions.
@@ -103,17 +103,20 @@ export function makeLens(get, replace) {
103
103
  *
104
104
  * **Details**
105
105
  *
106
- * - `getResult` should return `Result.fail(message)` on mismatch.
106
+ * - `getResult` should return `Result.fail(issue)` on mismatch.
107
+ * - Issues are not formatted automatically; callers choose how to render them.
107
108
  *
108
109
  * **Example** (Parsing a string to a number)
109
110
  *
110
111
  * ```ts import.meta.vitest
111
- * import { Optic, Result } from "effect"
112
+ * import { Optic, Result, SchemaIssue } from "effect"
112
113
  *
113
114
  * const numeric = Optic.makePrism<string, number>(
114
115
  * (s) => {
115
116
  * const n = Number(s)
116
- * return Number.isNaN(n) ? Result.fail("not a number") : Result.succeed(n)
117
+ * return Number.isNaN(n)
118
+ * ? Result.fail(new SchemaIssue.InvalidValue({ message: "not a number" }))
119
+ * : Result.succeed(n)
117
120
  * },
118
121
  * String
119
122
  * )
@@ -143,7 +146,7 @@ export function makePrism(getResult, set) {
143
146
  *
144
147
  * **Details**
145
148
  *
146
- * - `getResult` runs all checks; fails with a combined error message when
149
+ * - `getResult` runs all checks and preserves their structured issues when
147
150
  * any check fails.
148
151
  * - `set` is identity — the value passes through unchanged.
149
152
  *
@@ -221,7 +224,7 @@ class CheckNode {
221
224
  set = identity;
222
225
  constructor(checks) {
223
226
  this.checks = checks;
224
- this.get = s => Result.mapError(SchemaAST.runChecks(checks, s), String);
227
+ this.get = s => SchemaAST.runChecks(checks, s);
225
228
  }
226
229
  }
227
230
  function compose(a, b) {
@@ -251,26 +254,29 @@ function compose(a, b) {
251
254
  *
252
255
  * **Details**
253
256
  *
254
- * - `getResult` should return `Result.fail(message)` on mismatch.
255
- * - `set` should return `Result.fail(message)` when the update cannot be
257
+ * - `getResult` should return `Result.fail(issue)` on mismatch.
258
+ * - `set` should return `Result.fail(issue)` when the update cannot be
256
259
  * applied.
260
+ * - Issues are not formatted automatically; callers choose how to render them.
257
261
  *
258
262
  * **Example** (Accessing record keys safely)
259
263
  *
260
264
  * ```ts import.meta.vitest
261
- * import { Optic, Result } from "effect"
265
+ * import { Optic, Result, SchemaIssue } from "effect"
262
266
  *
263
- * const atKey = (key: string) =>
264
- * Optic.makeOptional<Record<string, number>, number>(
267
+ * const atKey = (key: string) => {
268
+ * const issue = new SchemaIssue.Pointer([key], new SchemaIssue.MissingKey(undefined))
269
+ * return Optic.makeOptional<Record<string, number>, number>(
265
270
  * (s) =>
266
271
  * Object.hasOwn(s, key)
267
272
  * ? Result.succeed(s[key])
268
- * : Result.fail(`Key "${key}" not found`),
273
+ * : Result.fail(issue),
269
274
  * (a, s) =>
270
275
  * Object.hasOwn(s, key)
271
276
  * ? Result.succeed({ ...s, [key]: a })
272
- * : Result.fail(`Key "${key}" not found`)
277
+ * : Result.fail(issue)
273
278
  * )
279
+ * }
274
280
  *
275
281
  * atKey("x").getResult({ x: 1 }) // => Result.succeed(1)
276
282
  * ```
@@ -329,10 +335,13 @@ class OptionalImpl {
329
335
  return make(compose(this.node, [new CheckNode([SchemaAST.makeFilterByGuard(refinement, annotations)])]));
330
336
  }
331
337
  tag(tag) {
332
- return make(compose(this.node, primitiveNode("Prism", s => s._tag === tag ? Result.succeed(s) : Result.fail(`Expected ${format(tag)} tag, got ${format(s._tag)}`), identity)));
338
+ const err = Result.fail(new SchemaIssue.InvalidValue({
339
+ expected: `${JSON.stringify(tag)} tag`
340
+ }));
341
+ return make(compose(this.node, primitiveNode("Prism", s => s._tag === tag ? Result.succeed(s) : err, identity)));
333
342
  }
334
343
  at(key, ..._rest) {
335
- const err = Result.fail(`Key ${format(key)} not found`);
344
+ const err = Result.fail(new SchemaIssue.Pointer([key], new SchemaIssue.MissingKey(undefined)));
336
345
  return make(compose(this.node, primitiveNode("Optional", s => Object.hasOwn(s, key) ? Result.succeed(s[key]) : err, (a, s) => {
337
346
  if (Object.hasOwn(s, key)) {
338
347
  const copy = cloneShallow(s);
@@ -381,7 +390,9 @@ class OptionalImpl {
381
390
  }
382
391
  // 2) arity check
383
392
  if (bs.length !== idxs.length) {
384
- return Result.fail(`each: replacement length mismatch: ${bs.length} !== ${idxs.length}`);
393
+ return Result.fail(new SchemaIssue.InvalidValue({
394
+ message: `each: replacement length mismatch: ${bs.length} !== ${idxs.length}`
395
+ }));
385
396
  }
386
397
  // 3) update those indices
387
398
  const out = as.slice();
@@ -389,7 +400,7 @@ class OptionalImpl {
389
400
  const i = idxs[k];
390
401
  const r = inner.replaceResult(bs[k], as[i]);
391
402
  if (Result.isFailure(r)) {
392
- return Result.fail(`each: could not set element ${i}`);
403
+ return Result.fail(new SchemaIssue.Pointer([i], r.failure));
393
404
  }
394
405
  out[i] = r.success;
395
406
  }
@@ -673,7 +684,7 @@ export function entries() {
673
684
  *
674
685
  * **Details**
675
686
  *
676
- * - `getResult` fails with an error message when the option is `None`.
687
+ * - `getResult` fails with a structured issue when the option is `None`.
677
688
  * - `set(a)` wraps `a` in `Option.some(a)`.
678
689
  *
679
690
  * **Example** (Accessing Some value)
@@ -700,10 +711,7 @@ export function some() {
700
711
  const run = runRefinement(Option.isSome, {
701
712
  expected: "a Some value"
702
713
  });
703
- return makePrism(s => Result.mapBoth(run(s), {
704
- onFailure: String,
705
- onSuccess: s => s.value
706
- }), Option.some);
714
+ return makePrism(s => Result.map(run(s), s => s.value), Option.some);
707
715
  }
708
716
  /**
709
717
  * Prism that focuses on `Option.None`, exposing `undefined`.
@@ -740,10 +748,7 @@ export function none() {
740
748
  const run = runRefinement(Option.isNone, {
741
749
  expected: "a None value"
742
750
  });
743
- return makePrism(s => Result.mapBoth(run(s), {
744
- onFailure: String,
745
- onSuccess: () => undefined
746
- }), () => Option.none());
751
+ return makePrism(s => Result.map(run(s), () => undefined), () => Option.none());
747
752
  }
748
753
  /**
749
754
  * Prism that focuses on the success value of a `Result`.
@@ -780,10 +785,7 @@ export function success() {
780
785
  const run = runRefinement(Result.isSuccess, {
781
786
  expected: "a Result.Success value"
782
787
  });
783
- return makePrism(s => Result.mapBoth(run(s), {
784
- onFailure: String,
785
- onSuccess: s => s.success
786
- }), Result.succeed);
788
+ return makePrism(s => Result.map(run(s), s => s.success), Result.succeed);
787
789
  }
788
790
  /**
789
791
  * Prism that focuses on the failure value of a `Result`.
@@ -820,10 +822,7 @@ export function failure() {
820
822
  const run = runRefinement(Result.isFailure, {
821
823
  expected: "a Result.Failure value"
822
824
  });
823
- return makePrism(s => Result.mapBoth(run(s), {
824
- onFailure: String,
825
- onSuccess: s => s.failure
826
- }), Result.fail);
825
+ return makePrism(s => Result.map(run(s), s => s.failure), Result.fail);
827
826
  }
828
827
  function runRefinement(refinement, annotations) {
829
828
  return e => SchemaAST.runChecks([SchemaAST.makeFilterByGuard(refinement, annotations)], e);
package/dist/Optic.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Optic.js","names":[],"sources":["../src/Optic.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Optic.js","names":[],"sources":["../src/Optic.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/Schema.d.ts CHANGED
@@ -149,7 +149,9 @@ export interface BottomWithoutNew<out T, out E, out RD, out RE, out Ast extends
149
149
  * **Gotchas**
150
150
  *
151
151
  * Throws an `Error` with the schema issue in its `cause` when validation
152
- * fails.
152
+ * fails. Schema validation failures use the generic message
153
+ * `"Schema validation failed"`; format the `cause` explicitly with
154
+ * `SchemaIssue.makeFormatterDefault()` when human-readable details are needed.
153
155
  * Causes that contain defects, interruptions, or other non-schema reasons
154
156
  * throw with the underlying `Cause` attached instead.
155
157
  *
@@ -190,10 +192,15 @@ export interface BottomWithoutNew<out T, out E, out RD, out RE, out Ast extends
190
192
  * Use when constructor input may fail validation and you want to
191
193
  * compose that failure with other `Effect` operations instead of throwing.
192
194
  *
195
+ * **Details**
196
+ *
197
+ * Validation failures are returned directly as `SchemaIssue.Issue` values
198
+ * and are not wrapped in `SchemaError`.
199
+ *
193
200
  * @see {@link BottomWithoutNew.make} — construct synchronously when validation failure should throw
194
201
  * @see {@link BottomWithoutNew.makeOption} — construct synchronously and discard validation details
195
202
  */
196
- makeEffect(input: this["~type.make.in"], options?: MakeOptions): Effect.Effect<this["Type"], SchemaError>;
203
+ makeEffect(input: this["~type.make.in"], options?: MakeOptions): Effect.Effect<this["Type"], SchemaIssue.Issue>;
197
204
  }
198
205
  /**
199
206
  * Fully-parameterized base interface for schemas that can be extended directly
@@ -299,7 +306,7 @@ export interface declareConstructor<T, E, TypeParameters extends ReadonlyArray<C
299
306
  * **Example** (Schema for a parametric `Box<A>` type)
300
307
  *
301
308
  * ```ts import.meta.vitest
302
- * import { Effect, Schema, SchemaIssue as Issue, SchemaParser } from "effect"
309
+ * import { Effect, Schema, SchemaIssue, SchemaParser } from "effect"
303
310
  *
304
311
  * interface Box<A> {
305
312
  * readonly value: A
@@ -314,7 +321,7 @@ export interface declareConstructor<T, E, TypeParameters extends ReadonlyArray<C
314
321
  * ([itemCodec]) =>
315
322
  * (u, ast, options) => {
316
323
  * if (!isBox(u)) {
317
- * return Effect.fail(new SchemaIssue.InvalidType(ast))
324
+ * return Effect.fail(new SchemaIssue.InvalidType(ast, u, options))
318
325
  * }
319
326
  * return Effect.map(
320
327
  * SchemaParser.decodeUnknownEffect(itemCodec)(u.value, options),
@@ -915,10 +922,12 @@ isSchemaError,
915
922
  *
916
923
  * The `issue` field contains a structured {@link SchemaIssue.Issue} tree describing
917
924
  * every validation failure, including the path to the problematic value and
918
- * the expected type or constraint. Built-in issues have no `actual` field,
919
- * and built-in messages do not include the rejected value. Other Issue fields
920
- * and custom annotations or messages are not sanitized. `message` renders the
921
- * issue tree as a human-readable string.
925
+ * the expected type or constraint. Parsing with `reportInput: true` adds an
926
+ * enumerable `input` field to value-bearing issues created by the parser.
927
+ * Built-in messages may include reported input. Other issue fields and
928
+ * custom annotations or messages are not sanitized.
929
+ * `message` renders the issue tree as a human-readable string and can disclose
930
+ * retained input.
922
931
  *
923
932
  * Use {@link isSchemaError} to narrow an unknown value to `SchemaError`.
924
933
  *
@@ -1071,6 +1080,9 @@ export declare const is: typeof SchemaParser.is;
1071
1080
  *
1072
1081
  * The input is narrowed if the assertion succeeds. If schema validation fails,
1073
1082
  * the assertion throws an `Error` whose cause is `SchemaIssue.Issue`.
1083
+ * Schema validation failures use the generic message `"Schema validation failed"`.
1084
+ * Format the `cause` explicitly with `SchemaIssue.makeFormatterDefault()` when
1085
+ * human-readable details are needed.
1074
1086
  *
1075
1087
  * **Gotchas**
1076
1088
  *
@@ -4474,7 +4486,7 @@ export interface withConstructorDefault<S extends Constraint & WithoutConstructo
4474
4486
  * **Details**
4475
4487
  *
4476
4488
  * Constructor defaults are applied only during `make*`, not during decoding or
4477
- * encoding.
4489
+ * encoding. Failures are represented directly as `SchemaIssue.Issue` values.
4478
4490
  *
4479
4491
  * **Example** (Defining an optional field with a static default)
4480
4492
  *
@@ -4494,7 +4506,7 @@ export interface withConstructorDefault<S extends Constraint & WithoutConstructo
4494
4506
  * @category constructors
4495
4507
  * @since 3.10.0
4496
4508
  */
4497
- export declare function withConstructorDefault<S extends Constraint & WithoutConstructorDefault>(defaultValue: Effect.Effect<S["~type.make.in"], SchemaError>): (schema: S) => withConstructorDefault<S>;
4509
+ export declare function withConstructorDefault<S extends Constraint & WithoutConstructorDefault>(defaultValue: Effect.Effect<S["~type.make.in"], SchemaIssue.Issue>): (schema: S) => withConstructorDefault<S>;
4498
4510
  /**
4499
4511
  * Type-level representation returned by {@link withDecodingDefaultKey}.
4500
4512
  *
@@ -5092,12 +5104,13 @@ export declare const makeFilter: <T>(filter: (input: T, ast: SchemaAST.AST, opti
5092
5104
  *
5093
5105
  * - `string`: failure with that string as the message. Produces an
5094
5106
  * {@link SchemaIssue.InvalidValue} with the string used as the issue's
5095
- * `message` annotation.
5096
- * - {@link SchemaIssue.Issue}: a fully-formed issue, returned as-is.
5107
+ * `message` annotation and honors `reportInput`.
5108
+ * - {@link SchemaIssue.Issue}: a fully-formed issue, returned as-is. It is not
5109
+ * enriched when `reportInput` is enabled.
5097
5110
  * - `{ path, issue }`: failure attached to a nested path. `issue` is either
5098
- * a `string` (wrapped in an {@link SchemaIssue.InvalidValue}) or a full
5099
- * {@link SchemaIssue.Issue}; the result is wrapped in an {@link SchemaIssue.Pointer}
5100
- * at the given `path`.
5111
+ * a `string` (wrapped in an {@link SchemaIssue.InvalidValue} that honors
5112
+ * `reportInput`) or a full {@link SchemaIssue.Issue} (returned unchanged);
5113
+ * the result is wrapped in an {@link SchemaIssue.Pointer} at the given `path`.
5101
5114
  *
5102
5115
  * @category models
5103
5116
  * @since 3.10.0
@@ -5118,7 +5131,7 @@ export type FilterIssue = string | SchemaIssue.Issue | {
5118
5131
  * - `true`: success. Equivalent to `undefined`, useful when the predicate is
5119
5132
  * a plain boolean expression.
5120
5133
  * - `false`: generic failure. Produces an {@link SchemaIssue.InvalidValue}
5121
- * with no custom message.
5134
+ * with no custom message and honors `reportInput`.
5122
5135
  * - {@link FilterIssue}: a single failure. See {@link FilterIssue} for the
5123
5136
  * shapes (`string`, {@link SchemaIssue.Issue}, or `{ path, issue }`).
5124
5137
  * - `ReadonlyArray<FilterIssue>`: several failures reported together. An
@@ -9201,8 +9214,8 @@ type InheritStaticMembers<C, Static> = C & Pick<Static, Exclude<keyof Static, ke
9201
9214
  type MissingSelfGeneric<Usage extends string> = `Missing \`Self\` generic - use \`class Self extends ${Usage}<Self>(...)\``;
9202
9215
  /**
9203
9216
  * Creates a schema-backed class whose constructor validates input against a
9204
- * {@link Struct} schema. Construction throws a {@link SchemaError} on invalid
9205
- * input.
9217
+ * {@link Struct} schema. Construction throws an `Error` with a
9218
+ * `SchemaIssue.Issue` in its `cause` on invalid input.
9206
9219
  *
9207
9220
  * **When to use**
9208
9221
  *
@@ -9271,8 +9284,8 @@ type MissingSelfGeneric<Usage extends string> = `Missing \`Self\` generic - use
9271
9284
  export declare const Class: {
9272
9285
  /**
9273
9286
  * Creates a schema-backed class whose constructor validates input against a
9274
- * {@link Struct} schema. Construction throws a {@link SchemaError} on invalid
9275
- * input.
9287
+ * {@link Struct} schema. Construction throws an `Error` with a
9288
+ * `SchemaIssue.Issue` in its `cause` on invalid input.
9276
9289
  *
9277
9290
  * **When to use**
9278
9291
  *
@@ -9341,8 +9354,8 @@ export declare const Class: {
9341
9354
  <Self = never, Brand = {}>(identifier: string): {
9342
9355
  /**
9343
9356
  * Creates a schema-backed class whose constructor validates input against a
9344
- * {@link Struct} schema. Construction throws a {@link SchemaError} on invalid
9345
- * input.
9357
+ * {@link Struct} schema. Construction throws an `Error` with a
9358
+ * `SchemaIssue.Issue` in its `cause` on invalid input.
9346
9359
  *
9347
9360
  * **When to use**
9348
9361
  *
@@ -9411,8 +9424,8 @@ export declare const Class: {
9411
9424
  <const Fields extends Struct.Fields>(fields: Fields, annotations?: Annotations.Declaration<Self, readonly [Struct<Fields>]>): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, Struct<Fields>, Brand>;
9412
9425
  /**
9413
9426
  * Creates a schema-backed class whose constructor validates input against a
9414
- * {@link Struct} schema. Construction throws a {@link SchemaError} on invalid
9415
- * input.
9427
+ * {@link Struct} schema. Construction throws an `Error` with a
9428
+ * `SchemaIssue.Issue` in its `cause` on invalid input.
9416
9429
  *
9417
9430
  * **When to use**
9418
9431
  *
@@ -10360,6 +10373,18 @@ export declare const isBetweenBigIntReviver: SchemaRepresentation.FilterReviver<
10360
10373
  * Derives an `Iso` optic from a schema that isomorphically converts between
10361
10374
  * the schema's `Type` and its `Iso` (intermediate / serialized form).
10362
10375
  *
10376
+ * **Details**
10377
+ *
10378
+ * Reading through the `Iso` encodes the schema value, while replacing through
10379
+ * it decodes the new focus.
10380
+ *
10381
+ * **Gotchas**
10382
+ *
10383
+ * Either direction can throw an `Error` with the generic message
10384
+ * `"Schema validation failed"` and a `SchemaIssue.Issue` in its `cause`. Format
10385
+ * the `cause` explicitly with `SchemaIssue.makeFormatterDefault()` when
10386
+ * human-readable details are needed.
10387
+ *
10363
10388
  * @category converting
10364
10389
  * @since 4.0.0
10365
10390
  */
@@ -10420,6 +10445,19 @@ export declare function overrideToCodecIso<S extends Constraint, Iso>(to: Constr
10420
10445
  * {@link toCodecJson}), computes RFC 6902 JSON Patch operations between old
10421
10446
  * and new values, and can apply patches back to the typed value.
10422
10447
  *
10448
+ * **Details**
10449
+ *
10450
+ * `diff` encodes both values before computing the patch. `patch` encodes the old
10451
+ * value, applies the patch to its JSON representation, and decodes the result.
10452
+ *
10453
+ * **Gotchas**
10454
+ *
10455
+ * Schema encoding or decoding failures throw an `Error` with the generic message
10456
+ * `"Schema validation failed"` and a `SchemaIssue.Issue` in its `cause`. Format
10457
+ * the `cause` explicitly with `SchemaIssue.makeFormatterDefault()` when
10458
+ * human-readable details are needed. Errors produced by {@link JsonPatch.apply}
10459
+ * for invalid patch operations are separate from schema validation failures.
10460
+ *
10423
10461
  * @category converting
10424
10462
  * @since 4.0.0
10425
10463
  */
@@ -11134,12 +11172,22 @@ export declare namespace Annotations {
11134
11172
  *
11135
11173
  * **Details**
11136
11174
  *
11137
- * The optional `message` field overrides the default issue message.
11175
+ * For `InvalidValue` issues, `message` overrides the complete formatted
11176
+ * message. When `message` is absent, `expected` uses the default expected
11177
+ * value policy, including reported input when available. Other issue types
11178
+ * ignore `expected`.
11138
11179
  *
11139
11180
  * @category models
11140
11181
  * @since 4.0.0
11141
11182
  */
11142
11183
  interface Issue extends Annotations {
11184
+ /**
11185
+ * The expected value description for an `InvalidValue` issue.
11186
+ */
11187
+ readonly expected?: string | undefined;
11188
+ /**
11189
+ * The complete formatted message for the issue.
11190
+ */
11143
11191
  readonly message?: string | undefined;
11144
11192
  }
11145
11193
  }