effect 4.0.0-beta.101 → 4.0.0-beta.102
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.
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +81 -5
- package/dist/Array.js.map +1 -1
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +27 -9
- package/dist/Channel.js.map +1 -1
- package/dist/Config.d.ts +1 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +6 -5
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.js +7 -7
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +2 -1
- package/dist/Data.js.map +1 -1
- package/dist/Effect.d.ts +61 -100
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +66 -39
- package/dist/Effect.js.map +1 -1
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +3 -2
- package/dist/FiberHandle.js.map +1 -1
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +2 -1
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +4 -3
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +9 -11
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +3 -2
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +9 -0
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +3 -0
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +4 -3
- package/dist/Metric.js.map +1 -1
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +5 -4
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +2 -1
- package/dist/Option.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +1 -4
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Record.d.ts +93 -1
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +57 -19
- package/dist/Record.js.map +1 -1
- package/dist/References.d.ts +0 -45
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +0 -45
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +9 -6
- package/dist/Request.js.map +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +2 -1
- package/dist/Result.js.map +1 -1
- package/dist/Schema.d.ts +1268 -495
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2308 -614
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +2 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +189 -130
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaError.js +1 -1
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +13 -11
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +34 -24
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.js +1 -1
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +1 -12
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +403 -1504
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +294 -2852
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +2 -2
- package/dist/SchemaTransformation.js +3 -3
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Semaphore.d.ts +5 -3
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js.map +1 -1
- package/dist/Stream.d.ts +15 -9
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +46 -16
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +5 -4
- package/dist/Struct.js.map +1 -1
- package/dist/Types.d.ts +1 -3
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +2 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/effect.js +64 -21
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/record.d.ts +0 -3
- package/dist/internal/record.d.ts.map +1 -1
- package/dist/internal/record.js +10 -5
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/references.js +0 -4
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/schema/annotations.js +12 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
- package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js +743 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
- package/dist/internal/schema/fromRepresentation.d.ts +2 -0
- package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
- package/dist/internal/schema/fromRepresentation.js +252 -0
- package/dist/internal/schema/fromRepresentation.js.map +1 -0
- package/dist/internal/schema/schema.js +28 -40
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/{arbitrary.d.ts → toArbitrary.d.ts} +1 -1
- package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
- package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -9
- package/dist/internal/schema/toArbitrary.js.map +1 -0
- package/dist/internal/schema/toCodeDocument.d.ts +2 -0
- package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
- package/dist/internal/schema/toCodeDocument.js +438 -0
- package/dist/internal/schema/toCodeDocument.js.map +1 -0
- package/dist/internal/schema/toEquivalence.d.ts +2 -0
- package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
- package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
- package/dist/internal/schema/toEquivalence.js.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
- package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.js +466 -0
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
- package/dist/internal/schema/toRepresentation.d.ts +2 -0
- package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
- package/dist/internal/schema/toRepresentation.js +369 -0
- package/dist/internal/schema/toRepresentation.js.map +1 -0
- package/dist/internal/stackTraceLimit.js +3 -6
- package/dist/internal/stackTraceLimit.js.map +1 -1
- package/dist/testing/TestClock.js +4 -1
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +26 -26
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +5 -4
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +21 -6
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +86 -316
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +1 -1
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +4 -1
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +19 -17
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +197 -197
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +13 -13
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +4 -4
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +116 -49
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +32 -10
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +193 -377
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +19 -19
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +14 -14
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +4 -0
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +11 -3
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +9 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +14 -10
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +15 -12
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
- package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +316 -0
- package/dist/unstable/ai/internal/structured-output.js.map +1 -0
- package/dist/unstable/cli/CliError.d.ts +40 -2
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +45 -6
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/Command.js +14 -5
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Param.js +3 -3
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +3 -1
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +11 -4
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/config.d.ts +0 -48
- package/dist/unstable/cli/internal/config.d.ts.map +1 -1
- package/dist/unstable/cli/internal/config.js +8 -10
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.js +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +2 -1
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/Reply.js +1 -1
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runner.js +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js +1 -1
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +125 -24
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +10 -2
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
- package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js +2 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +55 -24
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +109 -62
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +19 -7
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
- package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
- package/dist/unstable/cluster/internal/shardLock.js +4 -0
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
- package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +8 -5
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +1 -1
- package/dist/unstable/eventlog/EventJournal.js +1 -1
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +15 -11
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +8 -3
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +2 -2
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +24 -22
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.js +8 -8
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +14 -0
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +5 -4
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +17 -15
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Template.js +1 -1
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +17 -14
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +3 -3
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +5 -5
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +37 -24
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +72 -1
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +69 -4
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +2 -2
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +7 -3
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +5 -2
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +2 -2
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.js +2 -1
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +2 -2
- package/dist/unstable/persistence/RateLimiter.js +2 -2
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +3 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +4 -3
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +83 -0
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +31 -0
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +2 -1
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +1 -2
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +13 -10
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +1 -1
- package/dist/unstable/socket/Socket.js +1 -1
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +2 -2
- package/dist/unstable/sql/SqlError.js +2 -2
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +7 -6
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/package.json +1 -1
- package/src/Array.ts +86 -25
- package/src/Channel.ts +32 -14
- package/src/Config.ts +6 -5
- package/src/ConfigProvider.ts +7 -7
- package/src/Data.ts +3 -2
- package/src/Effect.ts +70 -116
- package/src/FiberHandle.ts +3 -2
- package/src/Iterable.ts +2 -1
- package/src/JsonPatch.ts +4 -3
- package/src/JsonSchema.ts +9 -11
- package/src/Logger.ts +3 -2
- package/src/ManagedRuntime.ts +13 -0
- package/src/Metric.ts +4 -3
- package/src/Optic.ts +5 -4
- package/src/Option.ts +2 -1
- package/src/PartitionedSemaphore.ts +1 -4
- package/src/Record.ts +119 -22
- package/src/References.ts +0 -46
- package/src/Request.ts +5 -7
- package/src/Result.ts +2 -1
- package/src/Schema.ts +2537 -986
- package/src/SchemaAST.ts +228 -149
- package/src/SchemaError.ts +1 -1
- package/src/SchemaGetter.ts +36 -29
- package/src/SchemaIssue.ts +1 -1
- package/src/SchemaParser.ts +1 -25
- package/src/SchemaRepresentation.ts +697 -3398
- package/src/SchemaTransformation.ts +3 -3
- package/src/Semaphore.ts +5 -3
- package/src/Stream.ts +63 -19
- package/src/Struct.ts +5 -4
- package/src/Types.ts +1 -3
- package/src/index.ts +0 -5
- package/src/internal/core.ts +3 -2
- package/src/internal/effect.ts +67 -31
- package/src/internal/matcher.ts +1 -1
- package/src/internal/record.ts +11 -7
- package/src/internal/references.ts +0 -5
- package/src/internal/schema/annotations.ts +44 -0
- package/src/internal/schema/fromJsonSchemaDocument.ts +957 -0
- package/src/internal/schema/fromRepresentation.ts +345 -0
- package/src/internal/schema/schema.ts +45 -46
- package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +8 -10
- package/src/internal/schema/toCodeDocument.ts +572 -0
- package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
- package/src/internal/schema/toJsonSchemaDocument.ts +475 -0
- package/src/internal/schema/toRepresentation.ts +401 -0
- package/src/internal/stackTraceLimit.ts +3 -7
- package/src/testing/TestClock.ts +1 -1
- package/src/unstable/ai/AiError.ts +5 -4
- package/src/unstable/ai/AnthropicStructuredOutput.ts +102 -333
- package/src/unstable/ai/EmbeddingModel.ts +1 -1
- package/src/unstable/ai/LanguageModel.ts +30 -28
- package/src/unstable/ai/McpSchema.ts +15 -15
- package/src/unstable/ai/McpServer.ts +172 -56
- package/src/unstable/ai/OpenAiStructuredOutput.ts +230 -395
- package/src/unstable/ai/Response.ts +24 -24
- package/src/unstable/ai/Tool.ts +22 -4
- package/src/unstable/ai/Toolkit.ts +19 -7
- package/src/unstable/ai/internal/codec-transformer.ts +13 -7
- package/src/unstable/ai/internal/structured-output.ts +458 -0
- package/src/unstable/cli/CliError.ts +51 -5
- package/src/unstable/cli/Command.ts +4 -4
- package/src/unstable/cli/Param.ts +3 -3
- package/src/unstable/cli/Primitive.ts +1 -1
- package/src/unstable/cli/internal/command.ts +13 -5
- package/src/unstable/cli/internal/config.ts +8 -10
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -3
- package/src/unstable/cluster/Entity.ts +1 -1
- package/src/unstable/cluster/Envelope.ts +2 -1
- package/src/unstable/cluster/Reply.ts +1 -1
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- package/src/unstable/cluster/ShardId.ts +1 -1
- package/src/unstable/cluster/Sharding.ts +161 -34
- package/src/unstable/cluster/ShardingConfig.ts +5 -1
- package/src/unstable/cluster/SingleRunner.ts +4 -2
- package/src/unstable/cluster/SqlMessageStorage.ts +83 -35
- package/src/unstable/cluster/SqlRunnerStorage.ts +186 -116
- package/src/unstable/cluster/internal/entityManager.ts +31 -10
- package/src/unstable/cluster/internal/shardLock.ts +9 -0
- package/src/unstable/devtools/DevToolsSchema.ts +10 -5
- package/src/unstable/eventlog/EventJournal.ts +1 -1
- package/src/unstable/eventlog/EventLog.ts +21 -11
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogMessage.ts +10 -3
- package/src/unstable/eventlog/SqlEventJournal.ts +2 -2
- package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
- package/src/unstable/http/Cookies.ts +29 -24
- package/src/unstable/http/Headers.ts +8 -8
- package/src/unstable/http/HttpClientRequest.ts +57 -0
- package/src/unstable/http/HttpServerRequest.ts +5 -4
- package/src/unstable/http/Multipart.ts +16 -13
- package/src/unstable/http/Template.ts +1 -1
- package/src/unstable/http/UrlParams.ts +17 -14
- package/src/unstable/httpapi/HttpApi.ts +3 -3
- package/src/unstable/httpapi/HttpApiClient.ts +5 -5
- package/src/unstable/httpapi/HttpApiGroup.ts +1 -1
- package/src/unstable/httpapi/OpenApi.ts +52 -28
- package/src/unstable/observability/OtlpExporter.ts +109 -5
- package/src/unstable/observability/OtlpLogger.ts +5 -5
- package/src/unstable/observability/OtlpMetrics.ts +8 -4
- package/src/unstable/observability/OtlpTracer.ts +8 -4
- package/src/unstable/persistence/Persistable.ts +3 -2
- package/src/unstable/persistence/RateLimiter.ts +2 -2
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcessSpawner.ts +1 -1
- package/src/unstable/reactivity/AsyncResult.ts +4 -3
- package/src/unstable/reactivity/Atom.ts +92 -0
- package/src/unstable/reactivity/AtomRegistry.ts +1 -1
- package/src/unstable/rpc/RpcClient.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +14 -24
- package/src/unstable/socket/Socket.ts +1 -1
- package/src/unstable/sql/SqlError.ts +2 -2
- package/src/unstable/sql/Statement.ts +7 -6
- package/dist/SchemaUtils.d.ts +0 -28
- package/dist/SchemaUtils.d.ts.map +0 -1
- package/dist/SchemaUtils.js +0 -45
- package/dist/SchemaUtils.js.map +0 -1
- package/dist/internal/schema/arbitrary.d.ts.map +0 -1
- package/dist/internal/schema/arbitrary.js.map +0 -1
- package/dist/internal/schema/equivalence.d.ts +0 -2
- package/dist/internal/schema/equivalence.d.ts.map +0 -1
- package/dist/internal/schema/equivalence.js.map +0 -1
- package/dist/internal/schema/representation.d.ts +0 -2
- package/dist/internal/schema/representation.d.ts.map +0 -1
- package/dist/internal/schema/representation.js +0 -865
- package/dist/internal/schema/representation.js.map +0 -1
- package/src/SchemaUtils.ts +0 -51
- package/src/internal/schema/representation.ts +0 -795
package/src/SchemaGetter.ts
CHANGED
|
@@ -1015,13 +1015,10 @@ type StringifyJsonOptions = {
|
|
|
1015
1015
|
* **Details**
|
|
1016
1016
|
*
|
|
1017
1017
|
* - Skips `None` inputs.
|
|
1018
|
-
* -
|
|
1018
|
+
* - If `JSON.stringify` throws or returns `undefined`, fails with
|
|
1019
1019
|
* `SchemaIssue.InvalidValue`.
|
|
1020
1020
|
* - Supports optional `replacer` and `space` options, matching
|
|
1021
1021
|
* `JSON.stringify`.
|
|
1022
|
-
* - If `JSON.stringify` returns `undefined`, such as for `undefined`,
|
|
1023
|
-
* functions, symbols, or a replacer that removes the root value, that
|
|
1024
|
-
* `undefined` result is returned rather than converted into an `Issue`.
|
|
1025
1022
|
*
|
|
1026
1023
|
* **Example** (Stringifying JSON)
|
|
1027
1024
|
*
|
|
@@ -1040,7 +1037,13 @@ type StringifyJsonOptions = {
|
|
|
1040
1037
|
export function stringifyJson(options?: StringifyJsonOptions): Getter<string, unknown> {
|
|
1041
1038
|
return onSome((input) =>
|
|
1042
1039
|
Effect.try({
|
|
1043
|
-
try: () =>
|
|
1040
|
+
try: () => {
|
|
1041
|
+
const output = JSON.stringify(input, options?.replacer, options?.space)
|
|
1042
|
+
if (output === undefined) {
|
|
1043
|
+
throw new TypeError("Value cannot be represented as JSON")
|
|
1044
|
+
}
|
|
1045
|
+
return Option.some(output)
|
|
1046
|
+
},
|
|
1044
1047
|
catch: (e) => new SchemaIssue.InvalidValue(Option.some(input), { message: globalThis.String(e) })
|
|
1045
1048
|
})
|
|
1046
1049
|
)
|
|
@@ -1085,7 +1088,7 @@ export function splitKeyValue<E extends string>(options?: {
|
|
|
1085
1088
|
input.split(separator).reduce((acc, pair) => {
|
|
1086
1089
|
const [key, value] = pair.split(keyValueSeparator)
|
|
1087
1090
|
if (key && value) {
|
|
1088
|
-
acc
|
|
1091
|
+
InternalRecord.assignProperty(acc, key, value)
|
|
1089
1092
|
}
|
|
1090
1093
|
return acc
|
|
1091
1094
|
}, {} as Record<string, string>)
|
|
@@ -1554,7 +1557,7 @@ export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Gette
|
|
|
1554
1557
|
* // Getter<TreeObject<string | Blob>, FormData>
|
|
1555
1558
|
* ```
|
|
1556
1559
|
*
|
|
1557
|
-
* @see {@link encodeFormData} for the
|
|
1560
|
+
* @see {@link encodeFormData} for the corresponding encoder
|
|
1558
1561
|
* @see {@link makeTreeRecord} for the underlying bracket-path parser
|
|
1559
1562
|
* @see {@link decodeURLSearchParams} for the URLSearchParams variant
|
|
1560
1563
|
*
|
|
@@ -1592,7 +1595,7 @@ const collectFormDataEntries = collectBracketPathEntries((value): value is strin
|
|
|
1592
1595
|
* // Getter<FormData, unknown>
|
|
1593
1596
|
* ```
|
|
1594
1597
|
*
|
|
1595
|
-
* @see {@link decodeFormData} for the
|
|
1598
|
+
* @see {@link decodeFormData} for the corresponding decoder
|
|
1596
1599
|
* @see {@link collectBracketPathEntries} for the underlying flattener
|
|
1597
1600
|
* @see {@link encodeURLSearchParams} for the URLSearchParams variant
|
|
1598
1601
|
*
|
|
@@ -1635,7 +1638,7 @@ export function encodeFormData(): Getter<FormData, unknown> {
|
|
|
1635
1638
|
* // Getter<TreeObject<string>, URLSearchParams>
|
|
1636
1639
|
* ```
|
|
1637
1640
|
*
|
|
1638
|
-
* @see {@link encodeURLSearchParams} for the
|
|
1641
|
+
* @see {@link encodeURLSearchParams} for the corresponding encoder
|
|
1639
1642
|
* @see {@link makeTreeRecord} for the underlying bracket-path parser
|
|
1640
1643
|
* @see {@link decodeFormData} for the FormData variant
|
|
1641
1644
|
*
|
|
@@ -1670,7 +1673,7 @@ const collectURLSearchParamsEntries = collectBracketPathEntries(Predicate.isStri
|
|
|
1670
1673
|
* // Getter<URLSearchParams, unknown>
|
|
1671
1674
|
* ```
|
|
1672
1675
|
*
|
|
1673
|
-
* @see {@link decodeURLSearchParams} for the
|
|
1676
|
+
* @see {@link decodeURLSearchParams} for the corresponding decoder
|
|
1674
1677
|
* @see {@link collectBracketPathEntries} for the underlying flattener
|
|
1675
1678
|
* @see {@link encodeFormData} for the FormData variant
|
|
1676
1679
|
*
|
|
@@ -1704,20 +1707,6 @@ function bracketPathToTokens(bracketPath: string): Array<string | number> {
|
|
|
1704
1707
|
.map((part) => (INDEX_REGEXP.test(part) ? globalThis.Number(part) : part))
|
|
1705
1708
|
}
|
|
1706
1709
|
|
|
1707
|
-
function getOrCreateContainer(
|
|
1708
|
-
self: any,
|
|
1709
|
-
key: PropertyKey,
|
|
1710
|
-
shouldBeArray: boolean
|
|
1711
|
-
): any {
|
|
1712
|
-
const current = Object.hasOwn(self, key) ? self[key] : undefined
|
|
1713
|
-
if (current !== undefined) {
|
|
1714
|
-
return current
|
|
1715
|
-
}
|
|
1716
|
-
const container = shouldBeArray ? [] : {}
|
|
1717
|
-
InternalRecord.set(self, key, container)
|
|
1718
|
-
return container
|
|
1719
|
-
}
|
|
1720
|
-
|
|
1721
1710
|
/**
|
|
1722
1711
|
* Builds a nested tree object from a list of bracket-path entries.
|
|
1723
1712
|
*
|
|
@@ -1740,6 +1729,10 @@ function getOrCreateContainer(
|
|
|
1740
1729
|
* - `"foo[]"` → append to array `foo`
|
|
1741
1730
|
* - `""` → real empty key
|
|
1742
1731
|
* - Duplicate keys for the same path are merged into arrays.
|
|
1732
|
+
* - If a structural path conflicts with a previous leaf or a different container
|
|
1733
|
+
* type, the later structural path replaces the conflicting value.
|
|
1734
|
+
* - The notation has no escaping for `.`, `[` or `]`, so keys containing these
|
|
1735
|
+
* delimiters cannot be round-tripped without changing their structure.
|
|
1743
1736
|
*
|
|
1744
1737
|
* **Example** (Building a tree from bracket paths)
|
|
1745
1738
|
*
|
|
@@ -1754,7 +1747,7 @@ function getOrCreateContainer(
|
|
|
1754
1747
|
* // { user: { name: "Alice", tags: ["admin", "editor"] } }
|
|
1755
1748
|
* ```
|
|
1756
1749
|
*
|
|
1757
|
-
* @see {@link collectBracketPathEntries} for
|
|
1750
|
+
* @see {@link collectBracketPathEntries} for flattening trees into bracket-path entries
|
|
1758
1751
|
* @see {@link decodeFormData} for a higher-level FormData decoder
|
|
1759
1752
|
* @see {@link decodeURLSearchParams} for a higher-level URLSearchParams decoder
|
|
1760
1753
|
*
|
|
@@ -1765,6 +1758,19 @@ export function makeTreeRecord<A>(
|
|
|
1765
1758
|
bracketPathEntries: ReadonlyArray<readonly [bracketPath: string, value: A]>
|
|
1766
1759
|
): Schema.TreeRecord<A> {
|
|
1767
1760
|
const out: any = {}
|
|
1761
|
+
const containers = new WeakSet<object>()
|
|
1762
|
+
|
|
1763
|
+
function getOrCreateContainer(self: any, key: PropertyKey, shouldBeArray: boolean): any {
|
|
1764
|
+
const current = Object.hasOwn(self, key) ? self[key] : undefined
|
|
1765
|
+
if (containers.has(current) && Array.isArray(current) === shouldBeArray) {
|
|
1766
|
+
return current
|
|
1767
|
+
}
|
|
1768
|
+
const container = shouldBeArray ? [] : {}
|
|
1769
|
+
containers.add(container)
|
|
1770
|
+
InternalRecord.assignProperty(self, key, container)
|
|
1771
|
+
return container
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1768
1774
|
bracketPathEntries.forEach(([key, value]) => {
|
|
1769
1775
|
const tokens = bracketPathToTokens(key)
|
|
1770
1776
|
let cur: any = out
|
|
@@ -1789,9 +1795,9 @@ export function makeTreeRecord<A>(
|
|
|
1789
1795
|
if (hasOwn && Array.isArray(cur[token])) {
|
|
1790
1796
|
cur[token].push(value)
|
|
1791
1797
|
} else if (hasOwn) {
|
|
1792
|
-
InternalRecord.
|
|
1798
|
+
InternalRecord.assignProperty(cur, token, [cur[token], value])
|
|
1793
1799
|
} else {
|
|
1794
|
-
InternalRecord.
|
|
1800
|
+
InternalRecord.assignProperty(cur, token, value)
|
|
1795
1801
|
}
|
|
1796
1802
|
} else {
|
|
1797
1803
|
const next = tokens[i + 1]
|
|
@@ -1815,7 +1821,6 @@ export function makeTreeRecord<A>(
|
|
|
1815
1821
|
*
|
|
1816
1822
|
* **Details**
|
|
1817
1823
|
*
|
|
1818
|
-
* - This is the inverse of {@link makeTreeRecord}.
|
|
1819
1824
|
* - Takes a nested object and produces flat `[bracketPath, value]` pairs suitable for
|
|
1820
1825
|
* `FormData` or `URLSearchParams`.
|
|
1821
1826
|
* - Returns a curried function: first call provides the leaf type guard, second call provides the object.
|
|
@@ -1823,6 +1828,8 @@ export function makeTreeRecord<A>(
|
|
|
1823
1828
|
* - If all elements of an array are leaves, encodes them as multiple entries with the same key
|
|
1824
1829
|
* (e.g. `tags=a&tags=b`). Otherwise uses indexed bracket paths (e.g. `items[0]`, `items[1]`).
|
|
1825
1830
|
* - Non-leaf values that aren't objects or arrays are silently skipped.
|
|
1831
|
+
* - Empty arrays and objects produce no entries, and path delimiters in property
|
|
1832
|
+
* names are not escaped. The resulting format is therefore lossy.
|
|
1826
1833
|
*
|
|
1827
1834
|
* **Example** (Flattening an object to bracket paths)
|
|
1828
1835
|
*
|
|
@@ -1834,7 +1841,7 @@ export function makeTreeRecord<A>(
|
|
|
1834
1841
|
* // [["user[name]", "Alice"], ["user[tags]", "admin"], ["user[tags]", "editor"]]
|
|
1835
1842
|
* ```
|
|
1836
1843
|
*
|
|
1837
|
-
* @see {@link makeTreeRecord} for
|
|
1844
|
+
* @see {@link makeTreeRecord} for building trees from bracket-path entries
|
|
1838
1845
|
* @see {@link encodeFormData} for a higher-level FormData encoder
|
|
1839
1846
|
* @see {@link encodeURLSearchParams} for a higher-level URLSearchParams encoder
|
|
1840
1847
|
*
|
package/src/SchemaIssue.ts
CHANGED
package/src/SchemaParser.ts
CHANGED
|
@@ -31,8 +31,7 @@ const toConstructorAST = memoize((ast: SchemaAST.AST): SchemaAST.AST => {
|
|
|
31
31
|
const getLink = ast.annotations?.[SchemaAST.ClassTypeId]
|
|
32
32
|
if (Predicate.isFunction(getLink)) {
|
|
33
33
|
const link = getLink(ast.typeParameters)
|
|
34
|
-
|
|
35
|
-
return SchemaAST.replaceEncoding(ast, to === link.to ? [link] : [new SchemaAST.Link(to, link.transformation)])
|
|
34
|
+
return SchemaAST.replaceEncoding(ast, [SchemaAST.mapLink(link, toConstructorAST)])
|
|
36
35
|
}
|
|
37
36
|
return ast
|
|
38
37
|
}
|
|
@@ -1026,11 +1025,6 @@ const recur = memoize(
|
|
|
1026
1025
|
return parser(ou, options)
|
|
1027
1026
|
}
|
|
1028
1027
|
}
|
|
1029
|
-
const isStructural = SchemaAST.isArrays(ast) || SchemaAST.isObjects(ast) ||
|
|
1030
|
-
(SchemaAST.isDeclaration(ast) && ast.typeParameters.length > 0)
|
|
1031
|
-
const structuralChecks = checks && isStructural ?
|
|
1032
|
-
checks.filter((check) => check.annotations?.[SchemaAST.STRUCTURAL_ANNOTATION_KEY]) :
|
|
1033
|
-
undefined
|
|
1034
1028
|
return (ou, options) => {
|
|
1035
1029
|
if (astOptions) {
|
|
1036
1030
|
options = { ...options, ...astOptions }
|
|
@@ -1072,24 +1066,6 @@ const recur = memoize(
|
|
|
1072
1066
|
}
|
|
1073
1067
|
|
|
1074
1068
|
if (checks && !options?.disableChecks) {
|
|
1075
|
-
if (options?.errors === "all" && structuralChecks && structuralChecks.length > 0 && Option.isSome(localOu)) {
|
|
1076
|
-
sroa = mapSchemaIssueEffect(sroa, (issue) => {
|
|
1077
|
-
const issues: Array<SchemaIssue.Issue> = []
|
|
1078
|
-
SchemaAST.collectIssues(
|
|
1079
|
-
structuralChecks,
|
|
1080
|
-
localOu.value,
|
|
1081
|
-
issues,
|
|
1082
|
-
ast,
|
|
1083
|
-
options
|
|
1084
|
-
)
|
|
1085
|
-
const out: SchemaIssue.Issue = Arr.isArrayNonEmpty(issues)
|
|
1086
|
-
? issue._tag === "Composite" && issue.ast === ast
|
|
1087
|
-
? new SchemaIssue.Composite(ast, issue.actual, [...issue.issues, ...issues])
|
|
1088
|
-
: new SchemaIssue.Composite(ast, localOu, [issue, ...issues])
|
|
1089
|
-
: issue
|
|
1090
|
-
return out
|
|
1091
|
-
})
|
|
1092
|
-
}
|
|
1093
1069
|
sroa = Effect.flatMapEager(sroa, (oa) => {
|
|
1094
1070
|
if (Option.isSome(oa)) {
|
|
1095
1071
|
const value = oa.value
|