effect 4.0.0-beta.85 → 4.0.0-beta.86

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 (258) hide show
  1. package/dist/ChannelSchema.d.ts +8 -8
  2. package/dist/ChannelSchema.d.ts.map +1 -1
  3. package/dist/Config.d.ts +2 -2
  4. package/dist/Config.d.ts.map +1 -1
  5. package/dist/Config.js +10 -3
  6. package/dist/Config.js.map +1 -1
  7. package/dist/Cron.d.ts.map +1 -1
  8. package/dist/Cron.js +4 -0
  9. package/dist/Cron.js.map +1 -1
  10. package/dist/Schema.d.ts +745 -393
  11. package/dist/Schema.d.ts.map +1 -1
  12. package/dist/Schema.js +90 -64
  13. package/dist/Schema.js.map +1 -1
  14. package/dist/SchemaAST.d.ts.map +1 -1
  15. package/dist/SchemaAST.js +20 -29
  16. package/dist/SchemaAST.js.map +1 -1
  17. package/dist/SchemaParser.d.ts +24 -24
  18. package/dist/SchemaParser.d.ts.map +1 -1
  19. package/dist/SchemaParser.js +43 -39
  20. package/dist/SchemaParser.js.map +1 -1
  21. package/dist/SchemaRepresentation.d.ts +300 -300
  22. package/dist/internal/effect.js +6 -7
  23. package/dist/internal/effect.js.map +1 -1
  24. package/dist/internal/matcher.js +0 -2
  25. package/dist/internal/matcher.js.map +1 -1
  26. package/dist/internal/schema/representation.js +1 -5
  27. package/dist/internal/schema/representation.js.map +1 -1
  28. package/dist/internal/schema/schema.js.map +1 -1
  29. package/dist/testing/TestSchema.d.ts +9 -9
  30. package/dist/testing/TestSchema.d.ts.map +1 -1
  31. package/dist/testing/TestSchema.js +3 -2
  32. package/dist/testing/TestSchema.js.map +1 -1
  33. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +2 -2
  34. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  35. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  36. package/dist/unstable/ai/Chat.d.ts +1 -1
  37. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  38. package/dist/unstable/ai/LanguageModel.d.ts +4 -4
  39. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  40. package/dist/unstable/ai/McpSchema.d.ts +13 -6
  41. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  42. package/dist/unstable/ai/McpSchema.js.map +1 -1
  43. package/dist/unstable/ai/McpServer.d.ts +4 -4
  44. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  45. package/dist/unstable/ai/McpServer.js.map +1 -1
  46. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +2 -2
  47. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  48. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  49. package/dist/unstable/ai/Response.d.ts +2 -2
  50. package/dist/unstable/ai/Response.d.ts.map +1 -1
  51. package/dist/unstable/ai/Response.js.map +1 -1
  52. package/dist/unstable/ai/Tool.d.ts +26 -26
  53. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  54. package/dist/unstable/ai/Tool.js.map +1 -1
  55. package/dist/unstable/cli/Argument.d.ts +8 -7
  56. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  57. package/dist/unstable/cli/Argument.js.map +1 -1
  58. package/dist/unstable/cli/Flag.d.ts +8 -7
  59. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  60. package/dist/unstable/cli/Flag.js.map +1 -1
  61. package/dist/unstable/cli/Param.d.ts +1806 -168
  62. package/dist/unstable/cli/Param.d.ts.map +1 -1
  63. package/dist/unstable/cli/Param.js +0 -70
  64. package/dist/unstable/cli/Param.js.map +1 -1
  65. package/dist/unstable/cli/Primitive.d.ts +3 -4
  66. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  67. package/dist/unstable/cli/Primitive.js.map +1 -1
  68. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  69. package/dist/unstable/cli/internal/ansi.js +0 -22
  70. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  71. package/dist/unstable/cli/internal/config.d.ts +48 -0
  72. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  73. package/dist/unstable/cli/internal/config.js +0 -6
  74. package/dist/unstable/cli/internal/config.js.map +1 -1
  75. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +3 -3
  76. package/dist/unstable/cluster/Reply.d.ts +2 -2
  77. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  78. package/dist/unstable/cluster/Reply.js.map +1 -1
  79. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  80. package/dist/unstable/encoding/Msgpack.d.ts +6 -6
  81. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  82. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  83. package/dist/unstable/encoding/Ndjson.d.ts +8 -8
  84. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  85. package/dist/unstable/encoding/Sse.d.ts +1 -1
  86. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  87. package/dist/unstable/encoding/Sse.js.map +1 -1
  88. package/dist/unstable/eventlog/EventLogMessage.d.ts +22 -22
  89. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  90. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  91. package/dist/unstable/http/HttpBody.d.ts +1 -1
  92. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  93. package/dist/unstable/http/HttpClientRequest.d.ts +1 -1
  94. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  95. package/dist/unstable/http/HttpIncomingMessage.d.ts +1 -1
  96. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  97. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  98. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  99. package/dist/unstable/http/HttpMiddleware.js +12 -3
  100. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  101. package/dist/unstable/httpapi/HttpApi.d.ts +1 -1
  102. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  103. package/dist/unstable/httpapi/HttpApiClient.d.ts +2 -2
  104. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  105. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  106. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +32 -32
  107. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  108. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  109. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +1 -1
  110. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  111. package/dist/unstable/httpapi/HttpApiSchema.d.ts +13 -6
  112. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  113. package/dist/unstable/httpapi/HttpApiSchema.js +0 -13
  114. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  115. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  116. package/dist/unstable/observability/internal/otlpProtobuf.js +0 -68
  117. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  118. package/dist/unstable/observability/internal/protobuf.js +0 -28
  119. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  120. package/dist/unstable/persistence/KeyValueStore.d.ts +2 -2
  121. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  122. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  123. package/dist/unstable/persistence/Persistable.d.ts +6 -6
  124. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  125. package/dist/unstable/persistence/PersistedQueue.d.ts +3 -3
  126. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  127. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  128. package/dist/unstable/persistence/Persistence.d.ts +5 -5
  129. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  130. package/dist/unstable/reactivity/AsyncResult.d.ts +2 -2
  131. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  132. package/dist/unstable/reactivity/Atom.d.ts +1 -1
  133. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  134. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  135. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  136. package/dist/unstable/rpc/Rpc.d.ts +3 -4
  137. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  138. package/dist/unstable/rpc/Rpc.js +1 -1
  139. package/dist/unstable/rpc/Rpc.js.map +1 -1
  140. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  141. package/dist/unstable/rpc/RpcClient.js +25 -4
  142. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  143. package/dist/unstable/rpc/RpcMessage.d.ts +7 -0
  144. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  145. package/dist/unstable/rpc/RpcMessage.js +20 -0
  146. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  147. package/dist/unstable/rpc/RpcMiddleware.d.ts +2 -2
  148. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  149. package/dist/unstable/rpc/RpcSchema.d.ts +10 -3
  150. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  151. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  152. package/dist/unstable/rpc/RpcWorker.d.ts +3 -3
  153. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  154. package/dist/unstable/schema/Model.d.ts +2 -2
  155. package/dist/unstable/schema/Model.d.ts.map +1 -1
  156. package/dist/unstable/schema/Model.js.map +1 -1
  157. package/dist/unstable/schema/VariantSchema.d.ts +16 -2
  158. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  159. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  160. package/dist/unstable/sql/SqlConnection.d.ts +1 -0
  161. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  162. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  163. package/dist/unstable/sql/SqlModel.js.map +1 -1
  164. package/dist/unstable/sql/SqlResolver.d.ts +4 -4
  165. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  166. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  167. package/dist/unstable/sql/SqlSchema.d.ts +5 -5
  168. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  169. package/dist/unstable/sql/Statement.d.ts +1 -0
  170. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  171. package/dist/unstable/sql/Statement.js +3 -0
  172. package/dist/unstable/sql/Statement.js.map +1 -1
  173. package/dist/unstable/workflow/Activity.d.ts +2 -2
  174. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  175. package/dist/unstable/workflow/DurableDeferred.d.ts +18 -18
  176. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  177. package/dist/unstable/workflow/Workflow.d.ts +3 -3
  178. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  179. package/dist/unstable/workflow/Workflow.js.map +1 -1
  180. package/dist/unstable/workflow/WorkflowEngine.d.ts +3 -3
  181. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  182. package/package.json +1 -1
  183. package/src/ChannelSchema.ts +9 -9
  184. package/src/Config.ts +12 -5
  185. package/src/Cron.ts +4 -0
  186. package/src/Schema.ts +963 -688
  187. package/src/SchemaAST.ts +25 -35
  188. package/src/SchemaParser.ts +85 -77
  189. package/src/internal/effect.ts +6 -22
  190. package/src/internal/matcher.ts +0 -5
  191. package/src/internal/schema/arbitrary.ts +1 -1
  192. package/src/internal/schema/representation.ts +1 -5
  193. package/src/internal/schema/schema.ts +1 -1
  194. package/src/testing/TestSchema.ts +14 -13
  195. package/src/unstable/ai/AnthropicStructuredOutput.ts +2 -2
  196. package/src/unstable/ai/Chat.ts +1 -1
  197. package/src/unstable/ai/LanguageModel.ts +7 -7
  198. package/src/unstable/ai/McpSchema.ts +16 -14
  199. package/src/unstable/ai/McpServer.ts +7 -7
  200. package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
  201. package/src/unstable/ai/Response.ts +9 -5
  202. package/src/unstable/ai/Tool.ts +49 -47
  203. package/src/unstable/cli/Argument.ts +9 -8
  204. package/src/unstable/cli/Flag.ts +9 -8
  205. package/src/unstable/cli/Param.ts +6 -146
  206. package/src/unstable/cli/Primitive.ts +5 -6
  207. package/src/unstable/cli/internal/ansi.ts +0 -33
  208. package/src/unstable/cli/internal/config.ts +0 -8
  209. package/src/unstable/cli/internal/parser.ts +2 -2
  210. package/src/unstable/cluster/MessageStorage.ts +1 -1
  211. package/src/unstable/cluster/Reply.ts +6 -2
  212. package/src/unstable/devtools/DevToolsSchema.ts +1 -1
  213. package/src/unstable/encoding/Msgpack.ts +9 -7
  214. package/src/unstable/encoding/Ndjson.ts +10 -10
  215. package/src/unstable/encoding/Sse.ts +1 -1
  216. package/src/unstable/eventlog/Event.ts +3 -3
  217. package/src/unstable/http/HttpBody.ts +1 -1
  218. package/src/unstable/http/HttpClientRequest.ts +1 -1
  219. package/src/unstable/http/HttpIncomingMessage.ts +1 -1
  220. package/src/unstable/http/HttpMiddleware.ts +12 -3
  221. package/src/unstable/httpapi/HttpApi.ts +1 -1
  222. package/src/unstable/httpapi/HttpApiBuilder.ts +9 -5
  223. package/src/unstable/httpapi/HttpApiClient.ts +10 -10
  224. package/src/unstable/httpapi/HttpApiEndpoint.ts +45 -33
  225. package/src/unstable/httpapi/HttpApiMiddleware.ts +2 -2
  226. package/src/unstable/httpapi/HttpApiSchema.ts +16 -43
  227. package/src/unstable/httpapi/OpenApi.ts +5 -5
  228. package/src/unstable/observability/internal/otlpProtobuf.ts +0 -75
  229. package/src/unstable/observability/internal/protobuf.ts +0 -42
  230. package/src/unstable/persistence/KeyValueStore.ts +2 -2
  231. package/src/unstable/persistence/Persistable.ts +7 -7
  232. package/src/unstable/persistence/PersistedQueue.ts +3 -3
  233. package/src/unstable/persistence/Persistence.ts +5 -5
  234. package/src/unstable/reactivity/AsyncResult.ts +4 -4
  235. package/src/unstable/reactivity/Atom.ts +1 -1
  236. package/src/unstable/reactivity/AtomHttpApi.ts +1 -1
  237. package/src/unstable/rpc/Rpc.ts +7 -8
  238. package/src/unstable/rpc/RpcClient.ts +26 -4
  239. package/src/unstable/rpc/RpcMessage.ts +19 -0
  240. package/src/unstable/rpc/RpcMiddleware.ts +2 -2
  241. package/src/unstable/rpc/RpcSchema.ts +12 -9
  242. package/src/unstable/rpc/RpcWorker.ts +3 -3
  243. package/src/unstable/schema/Model.ts +2 -2
  244. package/src/unstable/schema/VariantSchema.ts +19 -17
  245. package/src/unstable/sql/SqlConnection.ts +5 -0
  246. package/src/unstable/sql/SqlModel.ts +2 -2
  247. package/src/unstable/sql/SqlResolver.ts +6 -6
  248. package/src/unstable/sql/SqlSchema.ts +5 -5
  249. package/src/unstable/sql/Statement.ts +11 -0
  250. package/src/unstable/workflow/Activity.ts +6 -6
  251. package/src/unstable/workflow/DurableDeferred.ts +33 -33
  252. package/src/unstable/workflow/Workflow.ts +5 -5
  253. package/src/unstable/workflow/WorkflowEngine.ts +10 -10
  254. package/dist/internal/concurrency.d.ts +0 -2
  255. package/dist/internal/concurrency.d.ts.map +0 -1
  256. package/dist/internal/concurrency.js +0 -29
  257. package/dist/internal/concurrency.js.map +0 -1
  258. package/src/internal/concurrency.ts +0 -52
@@ -12,6 +12,7 @@
12
12
  import * as assert from "node:assert"
13
13
  import type * as Context from "../Context.ts"
14
14
  import * as Effect from "../Effect.ts"
15
+ import { pipe } from "../Function.ts"
15
16
  import * as Record from "../Record.ts"
16
17
  import * as Result from "../Result.ts"
17
18
  import * as Schema from "../Schema.ts"
@@ -48,7 +49,7 @@ import * as FastCheck from "../testing/FastCheck.ts"
48
49
  * @category testing
49
50
  * @since 4.0.0
50
51
  */
51
- export class Asserts<S extends Schema.Top> {
52
+ export class Asserts<S extends Schema.Constraint> {
52
53
  /**
53
54
  * Static helpers for comparing schema AST structures.
54
55
  *
@@ -313,7 +314,7 @@ export class Asserts<S extends Schema.Top> {
313
314
  * @category testing
314
315
  * @since 4.0.0
315
316
  */
316
- export class Decoding<S extends Schema.Top> {
317
+ export class Decoding<S extends Schema.Constraint> {
317
318
  readonly schema: S
318
319
  readonly decodeUnknownEffect: (
319
320
  input: unknown,
@@ -350,16 +351,16 @@ export class Decoding<S extends Schema.Top> {
350
351
  *
351
352
  * @see {@link fail} for asserting decoding failures
352
353
  */
353
- async succeed<S extends Schema.Decoder<unknown, never>>(
354
+ async succeed<S extends Schema.ConstraintDecoder<unknown, never>>(
354
355
  this: Decoding<S>,
355
356
  input: unknown
356
357
  ): Promise<void>
357
- async succeed<S extends Schema.Decoder<unknown, never>>(
358
+ async succeed<S extends Schema.ConstraintDecoder<unknown, never>>(
358
359
  this: Decoding<S>,
359
360
  input: unknown,
360
361
  expected: S["Type"]
361
362
  ): Promise<void>
362
- async succeed<S extends Schema.Decoder<unknown, never>>(
363
+ async succeed<S extends Schema.ConstraintDecoder<unknown, never>>(
363
364
  this: Decoding<S>,
364
365
  input: unknown,
365
366
  expected?: S["Type"]
@@ -393,7 +394,7 @@ export class Decoding<S extends Schema.Top> {
393
394
  *
394
395
  * @see {@link succeed} for asserting successful decoding
395
396
  */
396
- async fail<S extends Schema.Decoder<unknown, never>>(
397
+ async fail<S extends Schema.ConstraintDecoder<unknown, never>>(
397
398
  this: Decoding<S>,
398
399
  input: unknown,
399
400
  message: string
@@ -420,7 +421,7 @@ export class Decoding<S extends Schema.Top> {
420
421
  implementation: Service
421
422
  ): Decoding<Schema.middlewareDecoding<S, Exclude<S["DecodingServices"], Id>>> {
422
423
  return new Decoding(
423
- this.schema.pipe(Schema.middlewareDecoding(Effect.provideService(service, implementation))),
424
+ pipe(this.schema, Schema.middlewareDecoding(Effect.provideService(service, implementation))),
424
425
  this.options
425
426
  )
426
427
  }
@@ -453,7 +454,7 @@ export class Decoding<S extends Schema.Top> {
453
454
  * @category testing
454
455
  * @since 4.0.0
455
456
  */
456
- export class Encoding<S extends Schema.Top> {
457
+ export class Encoding<S extends Schema.Constraint> {
457
458
  readonly schema: S
458
459
  readonly encodeUnknownEffect: (
459
460
  input: unknown,
@@ -490,16 +491,16 @@ export class Encoding<S extends Schema.Top> {
490
491
  *
491
492
  * @see {@link fail} for asserting encoding failures
492
493
  */
493
- async succeed<S extends Schema.Encoder<unknown, never>>(
494
+ async succeed<S extends Schema.ConstraintEncoder<unknown, never>>(
494
495
  this: Encoding<S>,
495
496
  input: unknown
496
497
  ): Promise<void>
497
- async succeed<S extends Schema.Encoder<unknown, never>>(
498
+ async succeed<S extends Schema.ConstraintEncoder<unknown, never>>(
498
499
  this: Encoding<S>,
499
500
  input: unknown,
500
501
  expected: S["Encoded"]
501
502
  ): Promise<void>
502
- async succeed<S extends Schema.Encoder<unknown, never>>(
503
+ async succeed<S extends Schema.ConstraintEncoder<unknown, never>>(
503
504
  this: Encoding<S>,
504
505
  input: unknown,
505
506
  expected?: S["Encoded"]
@@ -533,7 +534,7 @@ export class Encoding<S extends Schema.Top> {
533
534
  *
534
535
  * @see {@link succeed} for asserting successful encoding
535
536
  */
536
- async fail<S extends Schema.Encoder<unknown, never>>(
537
+ async fail<S extends Schema.ConstraintEncoder<unknown, never>>(
537
538
  this: Encoding<S>,
538
539
  input: unknown,
539
540
  message: string
@@ -560,7 +561,7 @@ export class Encoding<S extends Schema.Top> {
560
561
  implementation: Service
561
562
  ): Encoding<Schema.middlewareEncoding<S, Exclude<S["EncodingServices"], Id>>> {
562
563
  return new Encoding(
563
- this.schema.pipe(Schema.middlewareEncoding(Effect.provideService(service, implementation))),
564
+ pipe(this.schema, Schema.middlewareEncoding(Effect.provideService(service, implementation))),
564
565
  this.options
565
566
  )
566
567
  }
@@ -54,9 +54,9 @@ import * as Tool from "./Tool.ts"
54
54
  * @since 4.0.0
55
55
  */
56
56
  export function toCodecAnthropic<T, E, RD, RE>(
57
- schema: Schema.Codec<T, E, RD, RE>
57
+ schema: Schema.ConstraintCodec<T, E, RD, RE>
58
58
  ): {
59
- readonly codec: Schema.Codec<T, unknown, RD, RE>
59
+ readonly codec: Schema.ConstraintCodec<T, unknown, RD, RE>
60
60
  readonly jsonSchema: JsonSchema.JsonSchema
61
61
  } {
62
62
  const to = schema.ast
@@ -336,7 +336,7 @@ export interface Service {
336
336
  */
337
337
  readonly generateObject: <
338
338
  ObjectEncoded extends Record<string, any>,
339
- ObjectSchema extends Schema.Encoder<ObjectEncoded, unknown>,
339
+ ObjectSchema extends Schema.Codec<unknown, ObjectEncoded, unknown, unknown>,
340
340
  Options extends NoExcessProperties<LanguageModel.GenerateObjectOptions<any, ObjectSchema>, Options>
341
341
  >(
342
342
  options: Options & LanguageModel.GenerateObjectOptions<LanguageModel.ExtractTools<Options>, ObjectSchema>
@@ -124,7 +124,7 @@ export interface Service {
124
124
  */
125
125
  readonly generateObject: <
126
126
  ObjectEncoded extends Record<string, any>,
127
- StructuredOutputSchema extends Schema.Encoder<ObjectEncoded, unknown>,
127
+ StructuredOutputSchema extends Schema.Codec<unknown, ObjectEncoded, unknown, unknown>,
128
128
  Options extends NoExcessProperties<
129
129
  GenerateObjectOptions<any, StructuredOutputSchema>,
130
130
  Options
@@ -191,8 +191,8 @@ export interface Service {
191
191
  * @category models
192
192
  * @since 4.0.0
193
193
  */
194
- export type CodecTransformer = <T, E, RD, RE>(schema: Schema.Codec<T, E, RD, RE>) => {
195
- readonly codec: Schema.Codec<T, unknown, RD, RE>
194
+ export type CodecTransformer = <T, E, RD, RE>(schema: Schema.ConstraintCodec<T, E, RD, RE>) => {
195
+ readonly codec: Schema.ConstraintCodec<T, unknown, RD, RE>
196
196
  readonly jsonSchema: JsonSchema.JsonSchema
197
197
  }
198
198
 
@@ -835,7 +835,7 @@ export const make: (params: {
835
835
 
836
836
  const generateObject = <
837
837
  ObjectEncoded extends Record<string, any>,
838
- StructuredOutputSchema extends Schema.Encoder<ObjectEncoded, unknown>,
838
+ StructuredOutputSchema extends Schema.Codec<unknown, ObjectEncoded, unknown, unknown>,
839
839
  Options extends NoExcessProperties<
840
840
  GenerateObjectOptions<any, StructuredOutputSchema>,
841
841
  Options
@@ -1691,7 +1691,7 @@ export const generateText: {
1691
1691
  */
1692
1692
  export const generateObject = <
1693
1693
  ObjectEncoded extends Record<string, any>,
1694
- StructuredOutputSchema extends Schema.Encoder<ObjectEncoded, unknown>,
1694
+ StructuredOutputSchema extends Schema.Codec<unknown, ObjectEncoded, unknown, unknown>,
1695
1695
  Options extends NoExcessProperties<
1696
1696
  GenerateObjectOptions<any, StructuredOutputSchema>,
1697
1697
  Options
@@ -2161,7 +2161,7 @@ const resolveToolkit = <Tools extends Record<string, Tool.Any>, E, R>(
2161
2161
  : Effect.succeed(toolkit as unknown as Toolkit.WithHandler<Tools>)) as any
2162
2162
 
2163
2163
  /** @internal */
2164
- export const getObjectName = <StructuredOutputSchema extends Schema.Top>(
2164
+ export const getObjectName = <StructuredOutputSchema extends Schema.Constraint>(
2165
2165
  objectName: string | undefined,
2166
2166
  schema: StructuredOutputSchema
2167
2167
  ): string => {
@@ -2179,7 +2179,7 @@ export const getObjectName = <StructuredOutputSchema extends Schema.Top>(
2179
2179
  }
2180
2180
 
2181
2181
  const resolveStructuredOutput = Effect.fnUntraced(function*<
2182
- StructuredOutputSchema extends Schema.Top
2182
+ StructuredOutputSchema extends Schema.Constraint
2183
2183
  >(response: ReadonlyArray<Response.AllParts<any>>, schema: StructuredOutputSchema) {
2184
2184
  const texts: Array<string> = []
2185
2185
  for (const part of response) {
@@ -35,7 +35,7 @@ import * as RpcMiddleware from "../rpc/RpcMiddleware.ts"
35
35
  * @category models
36
36
  * @since 4.0.0
37
37
  */
38
- export interface optionalWithDefault<S extends Schema.Top & Schema.WithoutConstructorDefault>
38
+ export interface optionalWithDefault<S extends Schema.Constraint & Schema.WithoutConstructorDefault>
39
39
  extends Schema.withConstructorDefault<Schema.decodeTo<Schema.toType<Schema.optionalKey<S>>, Schema.optionalKey<S>>>
40
40
  {}
41
41
 
@@ -51,7 +51,7 @@ export interface optionalWithDefault<S extends Schema.Top & Schema.WithoutConstr
51
51
  * @category schemas
52
52
  * @since 4.0.0
53
53
  */
54
- export const optionalWithDefault = <S extends Schema.Top & Schema.WithoutConstructorDefault>(
54
+ export const optionalWithDefault = <S extends Schema.Constraint & Schema.WithoutConstructorDefault>(
55
55
  schema: S,
56
56
  defaultValue: () => Schema.optionalKey<S>["Type"]
57
57
  ): optionalWithDefault<S> => {
@@ -78,7 +78,9 @@ export const optionalWithDefault = <S extends Schema.Top & Schema.WithoutConstru
78
78
  * @category schemas
79
79
  * @since 4.0.0
80
80
  */
81
- export const optional = <S extends Schema.Top>(schema: S): Schema.decodeTo<Schema.optional<S>, Schema.optionalKey<S>> =>
81
+ export const optional = <S extends Schema.Constraint>(
82
+ schema: S
83
+ ): Schema.decodeTo<Schema.optional<S>, Schema.optionalKey<S>> =>
82
84
  Schema.optionalKey(schema).pipe(
83
85
  Schema.decodeTo(Schema.optional(schema), {
84
86
  decode: SchemaGetter.passthrough() as any,
@@ -2460,7 +2462,7 @@ const ParamSchemaTypeId = "~effect/ai/McpSchema/ParamSchema"
2460
2462
  * @category parameters
2461
2463
  * @since 4.0.0
2462
2464
  */
2463
- export function isParam(schema: Schema.Top): schema is Param<string, Schema.Top> {
2465
+ export function isParam(schema: Schema.Constraint): schema is Param<string, Schema.Top> {
2464
2466
  return Predicate.hasProperty(schema, ParamSchemaTypeId)
2465
2467
  }
2466
2468
 
@@ -2475,18 +2477,11 @@ export function isParam(schema: Schema.Top): schema is Param<string, Schema.Top>
2475
2477
  * @category parameters
2476
2478
  * @since 4.0.0
2477
2479
  */
2478
- export interface Param<Name extends string, S extends Schema.Top> extends
2479
- Schema.Bottom<
2480
- S["Type"],
2481
- S["Encoded"],
2482
- S["DecodingServices"],
2483
- S["EncodingServices"],
2480
+ export interface Param<Name extends string, S extends Schema.Constraint> extends
2481
+ Schema.BottomLazy<
2484
2482
  S["ast"],
2485
2483
  Param<Name, S>,
2486
- S["~type.make.in"],
2487
- S["Iso"],
2488
2484
  S["~type.parameters"],
2489
- S["~type.make"],
2490
2485
  S["~type.mutability"],
2491
2486
  S["~type.optionality"],
2492
2487
  S["~type.constructor.default"],
@@ -2494,7 +2489,14 @@ export interface Param<Name extends string, S extends Schema.Top> extends
2494
2489
  S["~encoded.optionality"]
2495
2490
  >
2496
2491
  {
2492
+ readonly "Type": S["Type"]
2493
+ readonly "Encoded": S["Encoded"]
2494
+ readonly "DecodingServices": S["DecodingServices"]
2495
+ readonly "EncodingServices": S["EncodingServices"]
2497
2496
  readonly "Rebuild": Param<Name, S>
2497
+ readonly "~type.make.in": S["~type.make.in"]
2498
+ readonly "~type.make": S["~type.make"]
2499
+ readonly "Iso": S["Iso"]
2498
2500
  readonly [ParamSchemaTypeId]: typeof ParamSchemaTypeId
2499
2501
  readonly name: Name
2500
2502
  readonly schema: S
@@ -2506,7 +2508,7 @@ export interface Param<Name extends string, S extends Schema.Top> extends
2506
2508
  * @category parameters
2507
2509
  * @since 4.0.0
2508
2510
  */
2509
- export function param<const Name extends string, S extends Schema.Top>(
2511
+ export function param<const Name extends string, S extends Schema.Constraint>(
2510
2512
  name: Name,
2511
2513
  schema: S
2512
2514
  ): Param<Name, S> {
@@ -782,7 +782,7 @@ export type ValidateCompletions<Completions, Keys extends string> =
782
782
  * @category models
783
783
  * @since 4.0.0
784
784
  */
785
- export type ResourceCompletions<Schemas extends ReadonlyArray<Schema.Top>> = {
785
+ export type ResourceCompletions<Schemas extends ReadonlyArray<Schema.Constraint>> = {
786
786
  readonly [
787
787
  K in Extract<keyof Schemas, `${number}`> as Schemas[K] extends Param<infer Id, infer _S> ? Id
788
788
  : `param${K}`
@@ -848,7 +848,7 @@ export const registerResource: {
848
848
  * @category resources
849
849
  * @since 4.0.0
850
850
  */
851
- <const Schemas extends ReadonlyArray<Schema.Top>>(segments: TemplateStringsArray, ...schemas: Schemas): <
851
+ <const Schemas extends ReadonlyArray<Schema.Constraint>>(segments: TemplateStringsArray, ...schemas: Schemas): <
852
852
  E,
853
853
  R,
854
854
  const Completions extends Partial<ResourceCompletions<Schemas>> = {}
@@ -1035,7 +1035,7 @@ export const resource: {
1035
1035
  * @category resources
1036
1036
  * @since 4.0.0
1037
1037
  */
1038
- <const Schemas extends ReadonlyArray<Schema.Top>>(segments: TemplateStringsArray, ...schemas: Schemas): <
1038
+ <const Schemas extends ReadonlyArray<Schema.Constraint>>(segments: TemplateStringsArray, ...schemas: Schemas): <
1039
1039
  E,
1040
1040
  R,
1041
1041
  const Completions extends Partial<ResourceCompletions<Schemas>> = {}
@@ -1112,7 +1112,7 @@ export const registerPrompt = <
1112
1112
  }
1113
1113
  ): Effect.Effect<void, never, Exclude<Schema.Struct.DecodingServices<Params> | R, McpServerClient> | McpServer> => {
1114
1114
  const args = Arr.empty<typeof PromptArgument.Type>()
1115
- const props: Record<string, Schema.Top> = options.parameters ?? {}
1115
+ const props: Record<string, Schema.Constraint> = options.parameters ?? {}
1116
1116
  for (const [name, prop] of Object.entries(props)) {
1117
1117
  args.push({
1118
1118
  name,
@@ -1236,14 +1236,14 @@ export const prompt = <
1236
1236
  * @category elicitation
1237
1237
  * @since 4.0.0
1238
1238
  */
1239
- export const elicit: <S extends Schema.Encoder<Record<string, unknown>, unknown>>(options: {
1239
+ export const elicit: <S extends Schema.ConstraintEncoder<Record<string, unknown>, unknown>>(options: {
1240
1240
  readonly message: string
1241
1241
  readonly schema: S
1242
1242
  }) => Effect.Effect<
1243
1243
  S["Type"],
1244
1244
  ElicitationDeclined,
1245
1245
  McpServerClient | S["DecodingServices"]
1246
- > = Effect.fnUntraced(function*<S extends Schema.Encoder<Record<string, unknown>, unknown>>(options: {
1246
+ > = Effect.fnUntraced(function*<S extends Schema.ConstraintEncoder<Record<string, unknown>, unknown>>(options: {
1247
1247
  readonly message: string
1248
1248
  readonly schema: S
1249
1249
  }) {
@@ -1297,7 +1297,7 @@ const makeUriMatcher = <A>() => {
1297
1297
  return { add, find } as const
1298
1298
  }
1299
1299
 
1300
- const compileUriTemplate = (segments: TemplateStringsArray, ...schemas: ReadonlyArray<Schema.Top>) => {
1300
+ const compileUriTemplate = (segments: TemplateStringsArray, ...schemas: ReadonlyArray<Schema.Constraint>) => {
1301
1301
  let routerPath = segments[0].replace(":", "::")
1302
1302
  let uriPath = segments[0]
1303
1303
  const params: Record<string, Schema.Top> = {}
@@ -51,9 +51,9 @@ import * as Tool from "./Tool.ts"
51
51
  * @since 4.0.0
52
52
  */
53
53
  export function toCodecOpenAI<T, E, RD, RE>(
54
- schema: Schema.Codec<T, E, RD, RE>
54
+ schema: Schema.ConstraintCodec<T, E, RD, RE>
55
55
  ): {
56
- codec: Schema.Codec<T, unknown, RD, RE>
56
+ codec: Schema.ConstraintCodec<T, unknown, RD, RE>
57
57
  jsonSchema: JsonSchema.JsonSchema
58
58
  } {
59
59
  const to = schema.ast
@@ -1382,7 +1382,7 @@ export interface ToolCallPartMetadata extends ProviderMetadata {}
1382
1382
  * @category schemas
1383
1383
  * @since 4.0.0
1384
1384
  */
1385
- export const ToolCallPart: <const Name extends string, Params extends Schema.Top>(
1385
+ export const ToolCallPart: <const Name extends string, Params extends Schema.Constraint>(
1386
1386
  name: Name,
1387
1387
  params: Params
1388
1388
  ) => Schema.Struct<
@@ -1397,7 +1397,7 @@ export const ToolCallPart: <const Name extends string, Params extends Schema.Top
1397
1397
  Schema.$Record<Schema.String, Schema.Codec<Schema.Json>>
1398
1398
  >
1399
1399
  }
1400
- > = <const Name extends string, Params extends Schema.Top>(
1400
+ > = <const Name extends string, Params extends Schema.Constraint>(
1401
1401
  name: Name,
1402
1402
  params: Params
1403
1403
  ) =>
@@ -1595,7 +1595,11 @@ export interface ToolResultPartMetadata extends ProviderMetadata {}
1595
1595
  * @category schemas
1596
1596
  * @since 4.0.0
1597
1597
  */
1598
- export const ToolResultPart: <const Name extends string, Success extends Schema.Top, Failure extends Schema.Top>(
1598
+ export const ToolResultPart: <
1599
+ const Name extends string,
1600
+ Success extends Schema.Constraint,
1601
+ Failure extends Schema.Constraint
1602
+ >(
1599
1603
  name: Name,
1600
1604
  success: Success,
1601
1605
  failure: Failure
@@ -1633,8 +1637,8 @@ export const ToolResultPart: <const Name extends string, Success extends Schema.
1633
1637
  >
1634
1638
  > = <
1635
1639
  const Name extends string,
1636
- Success extends Schema.Top,
1637
- Failure extends Schema.Top
1640
+ Success extends Schema.Constraint,
1641
+ Failure extends Schema.Constraint
1638
1642
  >(
1639
1643
  name: Name,
1640
1644
  success: Success,
@@ -139,7 +139,7 @@ export interface NeedsApprovalContext {
139
139
  * @category models
140
140
  * @since 4.0.0
141
141
  */
142
- export type NeedsApprovalFunction<Params extends Schema.Top> = (
142
+ export type NeedsApprovalFunction<Params extends Schema.Constraint> = (
143
143
  params: Params["Type"],
144
144
  context: NeedsApprovalContext
145
145
  ) => boolean | Effect.Effect<boolean>
@@ -156,7 +156,7 @@ export type NeedsApprovalFunction<Params extends Schema.Top> = (
156
156
  * @category models
157
157
  * @since 4.0.0
158
158
  */
159
- export type NeedsApproval<Params extends Schema.Top> =
159
+ export type NeedsApproval<Params extends Schema.Constraint> =
160
160
  | boolean
161
161
  | NeedsApprovalFunction<Params>
162
162
 
@@ -196,9 +196,9 @@ export type NeedsApproval<Params extends Schema.Top> =
196
196
  export interface Tool<
197
197
  out Name extends string,
198
198
  out Config extends {
199
- readonly parameters: Schema.Top
200
- readonly success: Schema.Top
201
- readonly failure: Schema.Top
199
+ readonly parameters: Schema.Constraint
200
+ readonly success: Schema.Constraint
201
+ readonly failure: Schema.Constraint
202
202
  readonly failureMode: FailureMode
203
203
  },
204
204
  out Requirements = never
@@ -290,7 +290,7 @@ export interface Tool<
290
290
  /**
291
291
  * Set the schema to use to validate the result of a tool call when successful.
292
292
  */
293
- setSuccess<SuccessSchema extends Schema.Top>(
293
+ setSuccess<SuccessSchema extends Schema.Constraint>(
294
294
  schema: SuccessSchema
295
295
  ): Tool<
296
296
  Name,
@@ -306,7 +306,7 @@ export interface Tool<
306
306
  /**
307
307
  * Set the schema to use to validate the result of a tool call when it fails.
308
308
  */
309
- setFailure<FailureSchema extends Schema.Top>(
309
+ setFailure<FailureSchema extends Schema.Constraint>(
310
310
  schema: FailureSchema
311
311
  ): Tool<
312
312
  Name,
@@ -322,7 +322,7 @@ export interface Tool<
322
322
  /**
323
323
  * Set the schema to use to validate the parameters of a tool call.
324
324
  */
325
- setParameters<ParametersSchema extends Schema.Top>(
325
+ setParameters<ParametersSchema extends Schema.Constraint>(
326
326
  schema: ParametersSchema
327
327
  ): Tool<
328
328
  Name,
@@ -387,10 +387,10 @@ export interface ProviderDefined<
387
387
  out Identifier extends `${string}.${string}`,
388
388
  out Name extends string,
389
389
  out Config extends {
390
- readonly args: Schema.Top
391
- readonly parameters: Schema.Top
392
- readonly success: Schema.Top
393
- readonly failure: Schema.Top
390
+ readonly args: Schema.Constraint
391
+ readonly parameters: Schema.Constraint
392
+ readonly success: Schema.Constraint
393
+ readonly failure: Schema.Constraint
394
394
  readonly failureMode: FailureMode
395
395
  },
396
396
  out RequiresHandler extends boolean = false
@@ -481,9 +481,9 @@ export interface ProviderDefined<
481
481
  export interface Dynamic<
482
482
  out Name extends string,
483
483
  out Config extends {
484
- readonly parameters: Schema.Top | JsonSchema.JsonSchema
485
- readonly success: Schema.Top
486
- readonly failure: Schema.Top
484
+ readonly parameters: Schema.Constraint | JsonSchema.JsonSchema
485
+ readonly success: Schema.Constraint
486
+ readonly failure: Schema.Constraint
487
487
  readonly failureMode: FailureMode
488
488
  },
489
489
  out Requirements = never
@@ -491,7 +491,7 @@ export interface Dynamic<
491
491
  Tool<
492
492
  Name,
493
493
  {
494
- readonly parameters: Config["parameters"] extends Schema.Top ? Config["parameters"] : typeof Schema.Unknown
494
+ readonly parameters: Config["parameters"] extends Schema.Constraint ? Config["parameters"] : typeof Schema.Unknown
495
495
  readonly success: Config["success"]
496
496
  readonly failure: Config["failure"]
497
497
  readonly failureMode: Config["failureMode"]
@@ -505,7 +505,7 @@ export interface Dynamic<
505
505
  * The raw JSON Schema for parameters. Present when `parameters` was provided
506
506
  * as a JSON Schema, `undefined` when an Effect Schema was used.
507
507
  */
508
- readonly jsonSchema: Config["parameters"] extends Schema.Top ? undefined : JsonSchema.JsonSchema
508
+ readonly jsonSchema: Config["parameters"] extends Schema.Constraint ? undefined : JsonSchema.JsonSchema
509
509
  }
510
510
 
511
511
  // =============================================================================
@@ -1036,16 +1036,16 @@ const Proto = {
1036
1036
  addDependency(this: Any) {
1037
1037
  return userDefinedProto({ ...this })
1038
1038
  },
1039
- setParameters(this: Any, parametersSchema: Schema.Top) {
1039
+ setParameters(this: Any, parametersSchema: Schema.Constraint) {
1040
1040
  return userDefinedProto({
1041
1041
  ...this,
1042
1042
  parametersSchema
1043
1043
  })
1044
1044
  },
1045
- setSuccess(this: Any, successSchema: Schema.Top) {
1045
+ setSuccess(this: Any, successSchema: Schema.Constraint) {
1046
1046
  return userDefinedProto({ ...this, successSchema })
1047
1047
  },
1048
- setFailure(this: Any, failureSchema: Schema.Top) {
1048
+ setFailure(this: Any, failureSchema: Schema.Constraint) {
1049
1049
  return userDefinedProto({ ...this, failureSchema })
1050
1050
  },
1051
1051
  annotate<I, S>(this: Any, tag: Context.Key<I, S>, value: S) {
@@ -1074,9 +1074,9 @@ const DynamicProto = {
1074
1074
 
1075
1075
  const userDefinedProto = <
1076
1076
  const Name extends string,
1077
- Parameters extends Schema.Top,
1078
- Success extends Schema.Top,
1079
- Failure extends Schema.Top,
1077
+ Parameters extends Schema.Constraint,
1078
+ Success extends Schema.Constraint,
1079
+ Failure extends Schema.Constraint,
1080
1080
  Mode extends FailureMode
1081
1081
  >(options: {
1082
1082
  readonly name: Name
@@ -1104,10 +1104,10 @@ const userDefinedProto = <
1104
1104
  const providerDefinedProto = <
1105
1105
  const Identifier extends `${string}.${string}`,
1106
1106
  const Name extends string,
1107
- Args extends Schema.Top,
1108
- Parameters extends Schema.Top,
1109
- Success extends Schema.Top,
1110
- Failure extends Schema.Top,
1107
+ Args extends Schema.Constraint,
1108
+ Parameters extends Schema.Constraint,
1109
+ Success extends Schema.Constraint,
1110
+ Failure extends Schema.Constraint,
1111
1111
  RequiresHandler extends boolean,
1112
1112
  Mode extends FailureMode
1113
1113
  >(options: {
@@ -1136,9 +1136,9 @@ const providerDefinedProto = <
1136
1136
 
1137
1137
  const dynamicProto = <
1138
1138
  const Name extends string,
1139
- Parameters extends Schema.Top | JsonSchema.JsonSchema,
1140
- Success extends Schema.Top,
1141
- Failure extends Schema.Top,
1139
+ Parameters extends Schema.Constraint | JsonSchema.JsonSchema,
1140
+ Success extends Schema.Constraint,
1141
+ Failure extends Schema.Constraint,
1142
1142
  Mode extends FailureMode
1143
1143
  >(options: {
1144
1144
  readonly name: Name
@@ -1194,9 +1194,9 @@ const dynamicProto = <
1194
1194
  */
1195
1195
  export const make = <
1196
1196
  const Name extends string,
1197
- Parameters extends Schema.Top = typeof EmptyParams,
1198
- Success extends Schema.Top = typeof Schema.Void,
1199
- Failure extends Schema.Top = typeof Schema.Never,
1197
+ Parameters extends Schema.Constraint = typeof EmptyParams,
1198
+ Success extends Schema.Constraint = typeof Schema.Void,
1199
+ Failure extends Schema.Constraint = typeof Schema.Never,
1200
1200
  Mode extends FailureMode | undefined = undefined,
1201
1201
  Dependencies extends Array<Context.Key<any, any> | Context.Key<never, any>> = []
1202
1202
  >(name: Name, options?: {
@@ -1361,21 +1361,23 @@ export const dynamic: {
1361
1361
  const Name extends string,
1362
1362
  const Options extends {
1363
1363
  readonly description?: string | undefined
1364
- readonly parameters?: Schema.Top | JsonSchema.JsonSchema | undefined
1365
- readonly success?: Schema.Top | undefined
1366
- readonly failure?: Schema.Top | undefined
1364
+ readonly parameters?: Schema.Constraint | JsonSchema.JsonSchema | undefined
1365
+ readonly success?: Schema.Constraint | undefined
1366
+ readonly failure?: Schema.Constraint | undefined
1367
1367
  readonly failureMode?: FailureMode | undefined
1368
1368
  readonly needsApproval?: NeedsApproval<any> | undefined
1369
1369
  }
1370
1370
  >(name: Name, options?: Options): Dynamic<
1371
1371
  Name,
1372
1372
  {
1373
- readonly parameters: Options extends { readonly parameters: infer P } ? P extends Schema.Top ? P
1373
+ readonly parameters: Options extends { readonly parameters: infer P } ? P extends Schema.Constraint ? P
1374
1374
  : P extends JsonSchema.JsonSchema ? P
1375
1375
  : typeof Schema.Unknown
1376
1376
  : typeof Schema.Unknown
1377
- readonly success: Options extends { readonly success: infer S extends Schema.Top } ? S : typeof Schema.Unknown
1378
- readonly failure: Options extends { readonly failure: infer F extends Schema.Top } ? F : typeof Schema.Never
1377
+ readonly success: Options extends { readonly success: infer S extends Schema.Constraint } ? S
1378
+ : typeof Schema.Unknown
1379
+ readonly failure: Options extends { readonly failure: infer F extends Schema.Constraint } ? F
1380
+ : typeof Schema.Never
1379
1381
  readonly failureMode: Options extends { readonly failureMode: infer M extends FailureMode } ? M : "error"
1380
1382
  }
1381
1383
  >
@@ -1383,9 +1385,9 @@ export const dynamic: {
1383
1385
  const Name extends string,
1384
1386
  const Options extends {
1385
1387
  readonly description?: string | undefined
1386
- readonly parameters?: Schema.Top | JsonSchema.JsonSchema | undefined
1387
- readonly success?: Schema.Top | undefined
1388
- readonly failure?: Schema.Top | undefined
1388
+ readonly parameters?: Schema.Constraint | JsonSchema.JsonSchema | undefined
1389
+ readonly success?: Schema.Constraint | undefined
1390
+ readonly failure?: Schema.Constraint | undefined
1389
1391
  readonly failureMode?: FailureMode | undefined
1390
1392
  readonly needsApproval?: NeedsApproval<any> | undefined
1391
1393
  }
@@ -1449,10 +1451,10 @@ export const dynamic: {
1449
1451
  export const providerDefined = <
1450
1452
  const Identifier extends `${string}.${string}`,
1451
1453
  const Name extends string,
1452
- Args extends Schema.Top = typeof Schema.Void,
1453
- Parameters extends Schema.Top = typeof Schema.Void,
1454
- Success extends Schema.Top = typeof Schema.Void,
1455
- Failure extends Schema.Top = typeof Schema.Never,
1454
+ Args extends Schema.Constraint = typeof Schema.Void,
1455
+ Parameters extends Schema.Constraint = typeof Schema.Void,
1456
+ Success extends Schema.Constraint = typeof Schema.Void,
1457
+ Failure extends Schema.Constraint = typeof Schema.Never,
1456
1458
  RequiresHandler extends boolean = false
1457
1459
  >(options: {
1458
1460
  /**
@@ -1705,7 +1707,7 @@ export const getJsonSchema = <Tool extends Any>(tool: Tool, options?: {
1705
1707
  * @category converting
1706
1708
  * @since 4.0.0
1707
1709
  */
1708
- export const getJsonSchemaFromSchema = <S extends Schema.Top>(schema: S, options?: {
1710
+ export const getJsonSchemaFromSchema = <S extends Schema.Constraint>(schema: S, options?: {
1709
1711
  readonly transformer?: CodecTransformer
1710
1712
  }): JsonSchema.JsonSchema => {
1711
1713
  if (Predicate.isNotUndefined(options?.transformer)) {