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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tool.js","names":["Context","constFalse","constTrue","identity","StackTraceLimit","pipeArguments","Predicate","Schema","SchemaAST","TypeId","ProviderDefinedTypeId","DynamicTypeId","isUserDefined","u","hasProperty","isProviderDefined","isDynamic","clone","self","overrides","Object","assign","create","getPrototypeOf","Proto","_Requirements","pipe","arguments","addDependency","setParameters","parametersSchema","setSuccess","successSchema","setFailure","failureSchema","annotate","tag","value","annotations","add","annotateMerge","context","merge","ProviderDefinedProto","DynamicProto","userDefinedProto","options","id","name","providerDefinedProto","empty","dynamicProto","make","success","Void","failure","Never","description","parameters","EmptyParams","failureMode","needsApproval","dynamic","Unknown","rawParameters","isEffectSchema","isSchema","jsonSchema","undefined","providerDefined","args","isNotUndefined","customName","providerName","argsSchema","requiresHandler","NameMapper","customToProvider","Map","providerToCustom","constructor","tools","tool","set","customNames","Array","from","keys","providerNames","getCustomName","get","getProviderName","getDescription","resolveDescription","ast","getJsonSchema","getJsonSchemaFromSchema","schema","transformer","document","toJsonSchemaDocument","definitions","length","$defs","Title","Service","Meta","Readonly","Reference","defaultValue","Destructive","Idempotent","OpenWorld","Strict","getStrictMode","suspectProtoRx","suspectConstructorRx","_parse","text","obj","JSON","parse","test","filter","next","nodes","node","prototype","hasOwnProperty","call","SyntaxError","key","push","unsafeSecureJsonParse","prevLimit","getStackTraceLimit","setStackTraceLimit","Record","String","isEmptyParamsRecord","indexSignature","parameter","string","isNever","type"],"sources":["../../../src/unstable/ai/Tool.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Tool.js","names":["Context","constFalse","constTrue","identity","StackTraceLimit","pipeArguments","Predicate","Schema","SchemaAST","TypeId","ProviderDefinedTypeId","DynamicTypeId","isUserDefined","u","hasProperty","isProviderDefined","isDynamic","clone","self","overrides","Object","assign","create","getPrototypeOf","Proto","_Requirements","pipe","arguments","addDependency","setParameters","parametersSchema","setSuccess","successSchema","setFailure","failureSchema","setNeedsApproval","needsApproval","annotate","tag","value","annotations","add","annotateMerge","context","merge","ProviderDefinedProto","DynamicProto","userDefinedProto","options","id","name","providerDefinedProto","empty","dynamicProto","make","success","Void","failure","Never","description","parameters","EmptyParams","failureMode","dynamic","Unknown","rawParameters","isEffectSchema","isSchema","jsonSchema","undefined","providerDefined","args","isNotUndefined","customName","providerName","argsSchema","requiresHandler","NameMapper","customToProvider","Map","providerToCustom","constructor","tools","tool","set","customNames","Array","from","keys","providerNames","getCustomName","get","getProviderName","getDescription","resolveDescription","ast","getJsonSchema","getJsonSchemaFromSchema","schema","getJsonSchemaFromSchemaWith","toJsonSchemaDocument","transformer","document","definitions","length","$defs","Title","Service","Meta","Readonly","Reference","defaultValue","Destructive","Idempotent","OpenWorld","Strict","getStrictMode","suspectProtoRx","suspectConstructorRx","_parse","text","obj","JSON","parse","test","filter","next","nodes","node","hasOwn","SyntaxError","key","push","unsafeSecureJsonParse","prevLimit","getStackTraceLimit","setStackTraceLimit","Record","String","isEmptyParamsRecord","indexSignature","parameter","string","isNever","type"],"sources":["../../../src/unstable/ai/Tool.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -70,6 +70,10 @@ export interface Toolkit<in out Tools extends Record<string, Tool.Any>> extends
|
|
|
70
70
|
* @since 4.0.0
|
|
71
71
|
*/
|
|
72
72
|
export interface HandlerContext<Tool extends Tool.Any> {
|
|
73
|
+
/**
|
|
74
|
+
* The unique identifier of the tool call, when available.
|
|
75
|
+
*/
|
|
76
|
+
readonly toolCallId?: string | undefined;
|
|
73
77
|
/**
|
|
74
78
|
* Emit a preliminary result during long-running tool calls.
|
|
75
79
|
*
|
|
@@ -152,7 +156,11 @@ export interface WithHandler<in out Tools extends Record<string, Tool.Any>> {
|
|
|
152
156
|
/**
|
|
153
157
|
* Parameters to pass to the tool handler.
|
|
154
158
|
*/
|
|
155
|
-
params: Tool.Parameters<Tools[Name]
|
|
159
|
+
params: Tool.Parameters<Tools[Name]>,
|
|
160
|
+
/**
|
|
161
|
+
* The unique identifier of the tool call.
|
|
162
|
+
*/
|
|
163
|
+
toolCallId?: string) => Effect.Effect<Stream.Stream<Tool.HandlerResult<Tools[Name]>, Tool.HandlerError<Tools[Name]>, Tool.HandlerServices<Tools[Name]>>, AiError.AiError>;
|
|
156
164
|
}
|
|
157
165
|
/**
|
|
158
166
|
* A utility type which can be used to extract the tools from a toolkit with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolkit.d.ts","sourceRoot":"","sources":["../../../src/unstable/ai/Toolkit.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Toolkit.d.ts","sourceRoot":"","sources":["../../../src/unstable/ai/Toolkit.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import * as Effect from "../../Effect.js";
|
|
|
3
3
|
import * as Effectable from "../../Effectable.js";
|
|
4
4
|
import * as Fiber from "../../Fiber.js";
|
|
5
5
|
import { identity } from "../../Function.js";
|
|
6
|
+
import * as InternalRecord from "../../internal/record.js";
|
|
6
7
|
import * as Layer from "../../Layer.js";
|
|
7
8
|
import * as Predicate from "../../Predicate.js";
|
|
8
9
|
import * as Queue from "../../Queue.js";
|
|
@@ -36,8 +37,8 @@ const Proto = {
|
|
|
36
37
|
}
|
|
37
38
|
return schemas;
|
|
38
39
|
};
|
|
39
|
-
const handle = Effect.fnUntraced(function* (name, params) {
|
|
40
|
-
const tool = tools[name];
|
|
40
|
+
const handle = Effect.fnUntraced(function* (name, params, toolCallId) {
|
|
41
|
+
const tool = Object.hasOwn(tools, name) ? tools[name] : undefined;
|
|
41
42
|
yield* Effect.annotateCurrentSpan({
|
|
42
43
|
tool: name,
|
|
43
44
|
parameters: params
|
|
@@ -68,6 +69,7 @@ const Proto = {
|
|
|
68
69
|
// Setup the handler context
|
|
69
70
|
const queue = yield* Queue.make();
|
|
70
71
|
const context = {
|
|
72
|
+
toolCallId,
|
|
71
73
|
preliminary: result => Effect.asVoid(Queue.offer(queue, {
|
|
72
74
|
result,
|
|
73
75
|
isFailure: false,
|
|
@@ -141,12 +143,14 @@ const Proto = {
|
|
|
141
143
|
const handlers = Effect.isEffect(build) ? yield* build : build;
|
|
142
144
|
const context = new Map();
|
|
143
145
|
for (const [name, handler] of Object.entries(handlers)) {
|
|
144
|
-
const tool = this.tools[name];
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
146
|
+
const tool = Object.hasOwn(this.tools, name) ? this.tools[name] : undefined;
|
|
147
|
+
if (tool !== undefined) {
|
|
148
|
+
context.set(tool.id, {
|
|
149
|
+
name,
|
|
150
|
+
handler,
|
|
151
|
+
context: services
|
|
152
|
+
});
|
|
153
|
+
}
|
|
150
154
|
}
|
|
151
155
|
return Context.makeUnsafe(context);
|
|
152
156
|
});
|
|
@@ -167,7 +171,7 @@ const makeProto = tools => Object.assign(function () {}, Proto, {
|
|
|
167
171
|
const resolveInput = (...tools) => {
|
|
168
172
|
const output = {};
|
|
169
173
|
for (const tool of tools) {
|
|
170
|
-
output
|
|
174
|
+
InternalRecord.assignProperty(output, tool.name, tool);
|
|
171
175
|
}
|
|
172
176
|
return output;
|
|
173
177
|
};
|
|
@@ -258,7 +262,7 @@ export const merge = (
|
|
|
258
262
|
const tools = {};
|
|
259
263
|
for (const toolkit of toolkits) {
|
|
260
264
|
for (const [name, tool] of Object.entries(toolkit.tools)) {
|
|
261
|
-
tools
|
|
265
|
+
InternalRecord.assignProperty(tools, name, tool);
|
|
262
266
|
}
|
|
263
267
|
}
|
|
264
268
|
return makeProto(tools);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolkit.js","names":["Context","Effect","Effectable","Fiber","identity","Layer","Predicate","Queue","Schema","Stream","AiError","TypeId","Proto","Prototype","label","evaluate","fnUntraced","parent","tools","services","context","schemasCache","WeakMap","getSchemas","tool","schemas","get","isUndefined","handler","mapUnsafe","id","resultSchema","failureMode","Union","successSchema","failureSchema","decodeParameters","isSchema","parametersSchema","decodeUnknownEffect","u","succeed","decodeResult","encodeResult","encodeUnknownEffect","set","handle","name","params","annotateCurrentSpan","parameters","make","module","method","reason","ToolNotFoundError","toolName","availableTools","
|
|
1
|
+
{"version":3,"file":"Toolkit.js","names":["Context","Effect","Effectable","Fiber","identity","InternalRecord","Layer","Predicate","Queue","Schema","Stream","AiError","TypeId","Proto","Prototype","label","evaluate","fnUntraced","parent","tools","services","context","schemasCache","WeakMap","getSchemas","tool","schemas","get","isUndefined","handler","mapUnsafe","id","resultSchema","failureMode","Union","successSchema","failureSchema","decodeParameters","isSchema","parametersSchema","decodeUnknownEffect","u","succeed","decodeResult","encodeResult","encodeUnknownEffect","set","handle","name","params","toolCallId","Object","hasOwn","undefined","annotateCurrentSpan","parameters","make","module","method","reason","ToolNotFoundError","toolName","availableTools","keys","decodedParams","pipe","mapError","cause","ToolParameterValidationError","toolParams","description","message","queue","preliminary","result","asVoid","offer","isFailure","fiber","flatMap","updateContext","input","merge","matchCauseEffect","onFailure","failCause","onSuccess","end","forkChild","ToolResultEncodingError","toolResult","normalizeError","error","normalizedError","isSchemaError","InvalidToolResultError","isAiErrorReason","fromQueue","catch","fail","mapEffect","output","encodedResult","onEnd","interrupt","of","toHandlers","build","gen","self","handlers","isEffect","Map","entries","makeUnsafe","toLayer","effectContext","toJSON","_id","Array","from","values","map","makeProto","assign","resolveInput","assignProperty","empty","toolkits","toolkit"],"sources":["../../../src/unstable/ai/Toolkit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import * as JsonSchema from "../../../JsonSchema.js";
|
|
2
2
|
import * as Schema from "../../../Schema.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
const makeDefaultCodecTransformer = toJsonSchemaDocument => {
|
|
4
|
+
return codec => {
|
|
5
|
+
const document = JsonSchema.resolveTopLevel$ref(toJsonSchemaDocument(codec));
|
|
6
|
+
const jsonSchema = {
|
|
7
|
+
...document.schema
|
|
8
|
+
};
|
|
9
|
+
if (Object.keys(document.definitions).length > 0) {
|
|
10
|
+
jsonSchema.$defs = document.definitions;
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
codec,
|
|
14
|
+
jsonSchema
|
|
15
|
+
};
|
|
15
16
|
};
|
|
16
17
|
};
|
|
18
|
+
/** @internal */
|
|
19
|
+
export const defaultCodecTransformer = /*#__PURE__*/makeDefaultCodecTransformer(Schema.toJsonSchemaDocument);
|
|
17
20
|
//# sourceMappingURL=codec-transformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec-transformer.js","names":["JsonSchema","Schema","
|
|
1
|
+
{"version":3,"file":"codec-transformer.js","names":["JsonSchema","Schema","makeDefaultCodecTransformer","toJsonSchemaDocument","codec","document","resolveTopLevel$ref","jsonSchema","schema","Object","keys","definitions","length","$defs","defaultCodecTransformer"],"sources":["../../../../src/unstable/ai/internal/codec-transformer.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,wBAAwB;AACpD,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAG5C,MAAMC,2BAA2B,GAC/BC,oBAAyF,IACrE;EACpB,OAAQC,KAAK,IAAI;IACf,MAAMC,QAAQ,GAAGL,UAAU,CAACM,mBAAmB,CAACH,oBAAoB,CAACC,KAAK,CAAC,CAAC;IAC5E,MAAMG,UAAU,GAAG;MAAE,GAAGF,QAAQ,CAACG;IAAM,CAAE;IACzC,IAAIC,MAAM,CAACC,IAAI,CAACL,QAAQ,CAACM,WAAW,CAAC,CAACC,MAAM,GAAG,CAAC,EAAE;MAChDL,UAAU,CAACM,KAAK,GAAGR,QAAQ,CAACM,WAAW;IACzC;IACA,OAAO;MAAEP,KAAK;MAAEG;IAAU,CAAE;EAC9B,CAAC;AACH,CAAC;AAED;AACA,OAAO,MAAMO,uBAAuB,gBAAGZ,2BAA2B,CAACD,MAAM,CAACE,oBAAoB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structured-output.d.ts","sourceRoot":"","sources":["../../../../src/unstable/ai/internal/structured-output.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import * as Arr from "../../../Array.js";
|
|
2
|
+
import * as InternalRecord from "../../../internal/record.js";
|
|
3
|
+
import * as Option from "../../../Option.js";
|
|
4
|
+
import * as Predicate from "../../../Predicate.js";
|
|
5
|
+
import * as Schema from "../../../Schema.js";
|
|
6
|
+
import * as SchemaAST from "../../../SchemaAST.js";
|
|
7
|
+
import * as SchemaTransformation from "../../../SchemaTransformation.js";
|
|
8
|
+
import * as Tool from "../Tool.js";
|
|
9
|
+
const REST_PROPERTY_NAME = "__rest__";
|
|
10
|
+
const TAIL_PROPERTY_PREFIX = "__tail_";
|
|
11
|
+
const RECORD_DESCRIPTION = "Object encoded as array of [key, value] pairs. Apply object constraints to the decoded object";
|
|
12
|
+
const TUPLE_DESCRIPTION = "Tuple encoded as an object with numeric string keys ('0', '1', ...). If present, '__rest__' contains remaining elements";
|
|
13
|
+
const TUPLE_TAIL_DESCRIPTION = `${TUPLE_DESCRIPTION}. Post-rest elements use '__tail_0__', '__tail_1__', and so on`;
|
|
14
|
+
/** @internal */
|
|
15
|
+
export function toCodec(schema) {
|
|
16
|
+
const jsonCodec = Schema.toCodecJson(schema);
|
|
17
|
+
const encoded = SchemaAST.toEncoded(jsonCodec.ast);
|
|
18
|
+
const from = transform(encoded);
|
|
19
|
+
if (from === encoded) {
|
|
20
|
+
return jsonCodec.ast === schema.ast ? schema : jsonCodec;
|
|
21
|
+
}
|
|
22
|
+
return Schema.make(SchemaAST.decodeTo(from, jsonCodec.ast, SchemaTransformation.passthrough()));
|
|
23
|
+
}
|
|
24
|
+
function transform(root) {
|
|
25
|
+
const cache = new Map();
|
|
26
|
+
function recur(ast) {
|
|
27
|
+
const cached = cache.get(ast);
|
|
28
|
+
if (cached !== undefined) return cached;
|
|
29
|
+
switch (ast._tag) {
|
|
30
|
+
case "Union":
|
|
31
|
+
{
|
|
32
|
+
const types = SchemaAST.mapOrSame(ast.types, recur);
|
|
33
|
+
const checks = prepareChecks(ast.checks);
|
|
34
|
+
const mode = ast.mode === "oneOf" ? "anyOf" : ast.mode;
|
|
35
|
+
if (types === ast.types && checks === ast.checks && mode === ast.mode) return ast;
|
|
36
|
+
return new SchemaAST.Union(types, mode, ast.annotations, checks, ast.encoding, ast.context, ast.encodingChecks);
|
|
37
|
+
}
|
|
38
|
+
case "Arrays":
|
|
39
|
+
{
|
|
40
|
+
if (ast.elements.length > 0 || ast.rest.length > 1) {
|
|
41
|
+
return tupleToObject(ast, recur);
|
|
42
|
+
}
|
|
43
|
+
const elements = SchemaAST.mapOrSame(ast.elements, recur);
|
|
44
|
+
const rest = SchemaAST.mapOrSame(ast.rest, recur);
|
|
45
|
+
const checks = prepareChecks(ast.checks);
|
|
46
|
+
if (elements === ast.elements && rest === ast.rest && checks === ast.checks) return ast;
|
|
47
|
+
return new SchemaAST.Arrays(ast.isMutable, elements, rest, ast.annotations, checks, ast.encoding, ast.context, ast.encodingChecks);
|
|
48
|
+
}
|
|
49
|
+
case "Objects":
|
|
50
|
+
{
|
|
51
|
+
if (ast.indexSignatures.length === 1 && ast.propertySignatures.length === 0) {
|
|
52
|
+
const indexSignature = ast.indexSignatures[0];
|
|
53
|
+
if (Tool.isEmptyParamsRecord(indexSignature)) return ast;
|
|
54
|
+
}
|
|
55
|
+
if (ast.indexSignatures.length > 0) {
|
|
56
|
+
return objectToEntries(ast, recur);
|
|
57
|
+
}
|
|
58
|
+
const propertySignatures = SchemaAST.mapOrSame(ast.propertySignatures, propertySignature => {
|
|
59
|
+
let type = recur(propertySignature.type);
|
|
60
|
+
if (SchemaAST.isOptional(propertySignature.type)) {
|
|
61
|
+
type = optionalToNullable(type);
|
|
62
|
+
}
|
|
63
|
+
return type === propertySignature.type ? propertySignature : new SchemaAST.PropertySignature(propertySignature.name, type);
|
|
64
|
+
});
|
|
65
|
+
const indexSignatures = SchemaAST.mapOrSame(ast.indexSignatures, indexSignature => {
|
|
66
|
+
const parameter = recur(indexSignature.parameter);
|
|
67
|
+
const type = recur(indexSignature.type);
|
|
68
|
+
return parameter === indexSignature.parameter && type === indexSignature.type ? indexSignature : new SchemaAST.IndexSignature(parameter, type, indexSignature.merge);
|
|
69
|
+
});
|
|
70
|
+
const checks = prepareChecks(ast.checks);
|
|
71
|
+
if (propertySignatures === ast.propertySignatures && indexSignatures === ast.indexSignatures && checks === ast.checks) {
|
|
72
|
+
return ast;
|
|
73
|
+
}
|
|
74
|
+
return new SchemaAST.Objects(propertySignatures, indexSignatures, ast.annotations, checks, ast.encoding, ast.context, ast.encodingChecks);
|
|
75
|
+
}
|
|
76
|
+
case "Suspend":
|
|
77
|
+
{
|
|
78
|
+
const out = new SchemaAST.Suspend(() => recur(ast.thunk()), ast.annotations, undefined, ast.encoding, ast.context);
|
|
79
|
+
cache.set(ast, out);
|
|
80
|
+
return out;
|
|
81
|
+
}
|
|
82
|
+
default:
|
|
83
|
+
{
|
|
84
|
+
const checks = prepareChecks(ast.checks);
|
|
85
|
+
return checks === ast.checks ? ast : SchemaAST.replaceChecks(ast, checks);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return recur(root);
|
|
90
|
+
}
|
|
91
|
+
function tupleToObject(ast, recur) {
|
|
92
|
+
const propertySignatures = ast.elements.map((element, index) => new SchemaAST.PropertySignature(String(index), element));
|
|
93
|
+
if (ast.rest.length === 1) {
|
|
94
|
+
propertySignatures.push(new SchemaAST.PropertySignature(REST_PROPERTY_NAME, new SchemaAST.Arrays(false, [], ast.rest)));
|
|
95
|
+
} else if (ast.rest.length > 1) {
|
|
96
|
+
propertySignatures.push(new SchemaAST.PropertySignature(REST_PROPERTY_NAME, new SchemaAST.Arrays(false, [], [ast.rest[0]])));
|
|
97
|
+
for (let index = 1; index < ast.rest.length; index++) {
|
|
98
|
+
propertySignatures.push(new SchemaAST.PropertySignature(`${TAIL_PROPERTY_PREFIX}${index - 1}__`, ast.rest[index]));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const from = recur(new SchemaAST.Objects(propertySignatures, [], structuralAnnotations(ast, ast.rest.length > 1 ? TUPLE_TAIL_DESCRIPTION : TUPLE_DESCRIPTION), compilerChecks(ast.checks)));
|
|
102
|
+
return SchemaAST.decodeTo(from, ast, SchemaTransformation.transform({
|
|
103
|
+
decode: object => {
|
|
104
|
+
let tuple = [];
|
|
105
|
+
for (let index = 0; index < ast.elements.length; index++) {
|
|
106
|
+
const key = String(index);
|
|
107
|
+
if (object[key] !== undefined) tuple.push(object[key]);
|
|
108
|
+
}
|
|
109
|
+
if (REST_PROPERTY_NAME in object) {
|
|
110
|
+
tuple = [...tuple, ...object[REST_PROPERTY_NAME]];
|
|
111
|
+
}
|
|
112
|
+
for (let index = 1; index < ast.rest.length; index++) {
|
|
113
|
+
tuple.push(object[`${TAIL_PROPERTY_PREFIX}${index - 1}__`]);
|
|
114
|
+
}
|
|
115
|
+
return tuple;
|
|
116
|
+
},
|
|
117
|
+
encode: tuple => {
|
|
118
|
+
const object = {};
|
|
119
|
+
for (let index = 0; index < ast.elements.length; index++) {
|
|
120
|
+
if (index < tuple.length) object[String(index)] = tuple[index];
|
|
121
|
+
}
|
|
122
|
+
if (ast.rest.length >= 1) {
|
|
123
|
+
const tailLength = ast.rest.length - 1;
|
|
124
|
+
const restEnd = Math.max(ast.elements.length, tuple.length - tailLength);
|
|
125
|
+
object[REST_PROPERTY_NAME] = tuple.slice(ast.elements.length, restEnd);
|
|
126
|
+
for (let index = 0; index < tailLength; index++) {
|
|
127
|
+
object[`${TAIL_PROPERTY_PREFIX}${index}__`] = tuple[restEnd + index];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return object;
|
|
131
|
+
}
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
function objectToEntries(ast, recur) {
|
|
135
|
+
const checks = combineChecks(recordChecks(ast.checks), compilerChecks(ast.checks));
|
|
136
|
+
const key = unionOrSingle([...ast.propertySignatures.map(propertySignature => new SchemaAST.Literal(propertySignature.name)), ...ast.indexSignatures.map(indexSignature => indexSignature.parameter)]);
|
|
137
|
+
const value = unionOrSingle([...ast.propertySignatures.map(propertySignature => propertySignature.type), ...ast.indexSignatures.map(indexSignature => indexSignature.type)]);
|
|
138
|
+
const from = recur(new SchemaAST.Arrays(false, [], [new SchemaAST.Arrays(false, [key, value], [])], structuralAnnotations(ast, RECORD_DESCRIPTION), checks));
|
|
139
|
+
return SchemaAST.decodeTo(from, ast, SchemaTransformation.transform({
|
|
140
|
+
decode: Object.fromEntries,
|
|
141
|
+
encode: Object.entries
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
function unionOrSingle(types) {
|
|
145
|
+
const unique = Array.from(new Set(types));
|
|
146
|
+
return unique.length === 1 ? unique[0] : new SchemaAST.Union(unique, "anyOf");
|
|
147
|
+
}
|
|
148
|
+
function combineChecks(left, right) {
|
|
149
|
+
if (left === undefined) return right;
|
|
150
|
+
if (right === undefined) return left;
|
|
151
|
+
return [...left, ...right];
|
|
152
|
+
}
|
|
153
|
+
function compilerChecks(checks) {
|
|
154
|
+
if (checks === undefined) return undefined;
|
|
155
|
+
const out = checks.flatMap(compilerCheck);
|
|
156
|
+
return Arr.isArrayNonEmpty(out) ? out : undefined;
|
|
157
|
+
}
|
|
158
|
+
function compilerCheck(check) {
|
|
159
|
+
// Structural rewrites change the value seen by provider-side checks. A
|
|
160
|
+
// no-op proxy lets the generic compiler call `toJsonSchema` with the real
|
|
161
|
+
// provider type and dependency schemas without running the original filter
|
|
162
|
+
// against the wrong runtime shape.
|
|
163
|
+
const annotations = compilerAnnotations(check.annotations);
|
|
164
|
+
if (check._tag === "Filter") {
|
|
165
|
+
return annotations === undefined ? [] : [new SchemaAST.Filter(() => undefined, annotations)];
|
|
166
|
+
}
|
|
167
|
+
const checks = check.checks.flatMap(compilerCheck);
|
|
168
|
+
if (Arr.isArrayNonEmpty(checks)) {
|
|
169
|
+
return [new SchemaAST.FilterGroup(checks, annotations)];
|
|
170
|
+
}
|
|
171
|
+
return annotations === undefined ? [] : [new SchemaAST.Filter(() => undefined, annotations)];
|
|
172
|
+
}
|
|
173
|
+
function compilerAnnotations(annotations) {
|
|
174
|
+
if (annotations?.toJsonSchema === undefined) return undefined;
|
|
175
|
+
return {
|
|
176
|
+
representation: annotations.representation,
|
|
177
|
+
toJsonSchema: annotations.toJsonSchema
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function optionalToNullable(type) {
|
|
181
|
+
return SchemaAST.decodeTo(new SchemaAST.Union([type, SchemaAST.null], "anyOf"), SchemaAST.optionalKey(type), SchemaTransformation.transformOptional({
|
|
182
|
+
decode: Option.filter(Predicate.isNotNull),
|
|
183
|
+
encode: Option.orElseSome(() => null)
|
|
184
|
+
}));
|
|
185
|
+
}
|
|
186
|
+
function prepareChecks(checks) {
|
|
187
|
+
if (checks === undefined) return undefined;
|
|
188
|
+
const out = SchemaAST.mapOrSame(checks, prepareCheck);
|
|
189
|
+
return out;
|
|
190
|
+
}
|
|
191
|
+
function prepareCheck(check) {
|
|
192
|
+
switch (check._tag) {
|
|
193
|
+
case "Filter":
|
|
194
|
+
{
|
|
195
|
+
const id = check.annotations?.representation?.id;
|
|
196
|
+
return id === "effect/schema/isFinite" || id === "effect/schema/isInt" ? check.annotate({
|
|
197
|
+
expected: undefined
|
|
198
|
+
}) : check;
|
|
199
|
+
}
|
|
200
|
+
case "FilterGroup":
|
|
201
|
+
{
|
|
202
|
+
const checks = SchemaAST.mapOrSame(check.checks, prepareCheck);
|
|
203
|
+
return checks === check.checks ? check : new SchemaAST.FilterGroup(checks, check.annotations);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function recordChecks(checks) {
|
|
208
|
+
if (checks === undefined) return undefined;
|
|
209
|
+
const out = checks.flatMap(recordCheck);
|
|
210
|
+
return Arr.isArrayNonEmpty(out) ? out : undefined;
|
|
211
|
+
}
|
|
212
|
+
function recordCheck(check) {
|
|
213
|
+
if (check._tag === "FilterGroup") return check.checks.flatMap(recordCheck);
|
|
214
|
+
const representation = check.annotations?.representation;
|
|
215
|
+
const payload = representation?.payload;
|
|
216
|
+
if (!isJsonObject(payload)) return [];
|
|
217
|
+
// A decoded record with at least N properties necessarily came from at least
|
|
218
|
+
// N entries. Upper bounds are not transported because duplicate provider
|
|
219
|
+
// keys can collapse during `Object.fromEntries`, so `maxItems` could reject
|
|
220
|
+
// an input that the returned codec accepts.
|
|
221
|
+
switch (representation?.id) {
|
|
222
|
+
case "effect/schema/isMinProperties":
|
|
223
|
+
return typeof payload.minProperties === "number" ? [withoutDescription(Schema.isMinLength(payload.minProperties))] : [];
|
|
224
|
+
case "effect/schema/isPropertiesLengthBetween":
|
|
225
|
+
return typeof payload.minimum === "number" ? [withoutDescription(Schema.isMinLength(payload.minimum))] : [];
|
|
226
|
+
default:
|
|
227
|
+
return [];
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
function isJsonObject(input) {
|
|
231
|
+
return typeof input === "object" && input !== null && !Array.isArray(input);
|
|
232
|
+
}
|
|
233
|
+
function withoutDescription(check) {
|
|
234
|
+
return check.annotate({
|
|
235
|
+
description: undefined,
|
|
236
|
+
expected: undefined,
|
|
237
|
+
title: undefined
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
function structuralAnnotations(ast, structuralDescription) {
|
|
241
|
+
const descriptions = [];
|
|
242
|
+
appendAnnotationDescription(descriptions, ast.annotations);
|
|
243
|
+
if (ast.checks !== undefined) {
|
|
244
|
+
for (const check of ast.checks) appendCheckDescriptions(descriptions, check);
|
|
245
|
+
}
|
|
246
|
+
return {
|
|
247
|
+
description: descriptions.length === 0 ? structuralDescription : `${structuralDescription}; ${descriptions.join(" and ")}`
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
function appendCheckDescriptions(descriptions, check) {
|
|
251
|
+
appendAnnotationDescription(descriptions, check.annotations);
|
|
252
|
+
if (check._tag === "FilterGroup") {
|
|
253
|
+
for (const child of check.checks) appendCheckDescriptions(descriptions, child);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
function appendAnnotationDescription(descriptions, annotations) {
|
|
257
|
+
const description = annotations?.description ?? annotations?.expected;
|
|
258
|
+
if (typeof description === "string" && !descriptions.includes(description)) {
|
|
259
|
+
descriptions.push(description);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
/** @internal */
|
|
263
|
+
export function walkJsonSchema(schema, visitor) {
|
|
264
|
+
const out = {};
|
|
265
|
+
for (const [key, value] of Object.entries(schema)) {
|
|
266
|
+
switch (key) {
|
|
267
|
+
case "properties":
|
|
268
|
+
case "patternProperties":
|
|
269
|
+
{
|
|
270
|
+
if (isJsonSchema(value)) {
|
|
271
|
+
const properties = {};
|
|
272
|
+
for (const [name, property] of Object.entries(value)) {
|
|
273
|
+
InternalRecord.assignProperty(properties, name, isJsonSchema(property) ? walkJsonSchema(property, visitor) : property);
|
|
274
|
+
}
|
|
275
|
+
InternalRecord.assignProperty(out, key, properties);
|
|
276
|
+
} else {
|
|
277
|
+
InternalRecord.assignProperty(out, key, value);
|
|
278
|
+
}
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
case "additionalProperties":
|
|
282
|
+
case "items":
|
|
283
|
+
case "propertyNames":
|
|
284
|
+
{
|
|
285
|
+
InternalRecord.assignProperty(out, key, isJsonSchema(value) ? walkJsonSchema(value, visitor) : value);
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
case "prefixItems":
|
|
289
|
+
case "allOf":
|
|
290
|
+
case "anyOf":
|
|
291
|
+
case "oneOf":
|
|
292
|
+
{
|
|
293
|
+
InternalRecord.assignProperty(out, key, Array.isArray(value) ? value.map(member => isJsonSchema(member) ? walkJsonSchema(member, visitor) : member) : value);
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
default:
|
|
297
|
+
InternalRecord.assignProperty(out, key, value);
|
|
298
|
+
break;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return visitor(out);
|
|
302
|
+
}
|
|
303
|
+
/** @internal */
|
|
304
|
+
export function appendDescription(schema, description) {
|
|
305
|
+
if (typeof schema.description === "string") {
|
|
306
|
+
const descriptions = schema.description.split(" and ");
|
|
307
|
+
if (!descriptions.includes(description)) schema.description += ` and ${description}`;
|
|
308
|
+
} else {
|
|
309
|
+
schema.description = description;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/** @internal */
|
|
313
|
+
export function isJsonSchema(input) {
|
|
314
|
+
return typeof input === "object" && input !== null && !Array.isArray(input);
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=structured-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structured-output.js","names":["Arr","InternalRecord","Option","Predicate","Schema","SchemaAST","SchemaTransformation","Tool","REST_PROPERTY_NAME","TAIL_PROPERTY_PREFIX","RECORD_DESCRIPTION","TUPLE_DESCRIPTION","TUPLE_TAIL_DESCRIPTION","toCodec","schema","jsonCodec","toCodecJson","encoded","toEncoded","ast","from","transform","make","decodeTo","passthrough","root","cache","Map","recur","cached","get","undefined","_tag","types","mapOrSame","checks","prepareChecks","mode","Union","annotations","encoding","context","encodingChecks","elements","length","rest","tupleToObject","Arrays","isMutable","indexSignatures","propertySignatures","indexSignature","isEmptyParamsRecord","objectToEntries","propertySignature","type","isOptional","optionalToNullable","PropertySignature","name","parameter","IndexSignature","merge","Objects","out","Suspend","thunk","set","replaceChecks","map","element","index","String","push","structuralAnnotations","compilerChecks","decode","object","tuple","key","encode","tailLength","restEnd","Math","max","slice","combineChecks","recordChecks","unionOrSingle","Literal","value","Object","fromEntries","entries","unique","Array","Set","left","right","flatMap","compilerCheck","isArrayNonEmpty","check","compilerAnnotations","Filter","FilterGroup","toJsonSchema","representation","null","optionalKey","transformOptional","filter","isNotNull","orElseSome","prepareCheck","id","annotate","expected","recordCheck","payload","isJsonObject","minProperties","withoutDescription","isMinLength","minimum","input","isArray","description","title","structuralDescription","descriptions","appendAnnotationDescription","appendCheckDescriptions","join","child","includes","walkJsonSchema","visitor","isJsonSchema","properties","property","assignProperty","member","appendDescription","split"],"sources":["../../../../src/unstable/ai/internal/structured-output.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,mBAAmB;AACxC,OAAO,KAAKC,cAAc,MAAM,6BAA6B;AAE7D,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAC5C,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAC5C,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,oBAAoB,MAAM,kCAAkC;AACxE,OAAO,KAAKC,IAAI,MAAM,YAAY;AAElC,MAAMC,kBAAkB,GAAG,UAAU;AACrC,MAAMC,oBAAoB,GAAG,SAAS;AAEtC,MAAMC,kBAAkB,GACtB,+FAA+F;AAEjG,MAAMC,iBAAiB,GACrB,yHAAyH;AAC3H,MAAMC,sBAAsB,GAAG,GAAGD,iBAAiB,gEAAgE;AAEnH;AACA,OAAM,SAAUE,OAAOA,CACrBC,MAA4C;EAE5C,MAAMC,SAAS,GAAGX,MAAM,CAACY,WAAW,CAACF,MAAM,CAAC;EAC5C,MAAMG,OAAO,GAAGZ,SAAS,CAACa,SAAS,CAACH,SAAS,CAACI,GAAG,CAAC;EAClD,MAAMC,IAAI,GAAGC,SAAS,CAACJ,OAAO,CAAC;EAC/B,IAAIG,IAAI,KAAKH,OAAO,EAAE;IACpB,OAAOF,SAAS,CAACI,GAAG,KAAKL,MAAM,CAACK,GAAG,GAAGL,MAAM,GAAGC,SAAS;EAC1D;EACA,OAAOX,MAAM,CAACkB,IAAI,CAChBjB,SAAS,CAACkB,QAAQ,CAACH,IAAI,EAAEL,SAAS,CAACI,GAAG,EAAEb,oBAAoB,CAACkB,WAAW,EAAE,CAAC,CAC5E;AACH;AAEA,SAASH,SAASA,CAACI,IAAmB;EACpC,MAAMC,KAAK,GAAG,IAAIC,GAAG,EAAgC;EAErD,SAASC,KAAKA,CAACT,GAAkB;IAC/B,MAAMU,MAAM,GAAGH,KAAK,CAACI,GAAG,CAACX,GAAG,CAAC;IAC7B,IAAIU,MAAM,KAAKE,SAAS,EAAE,OAAOF,MAAM;IAEvC,QAAQV,GAAG,CAACa,IAAI;MACd,KAAK,OAAO;QAAE;UACZ,MAAMC,KAAK,GAAG5B,SAAS,CAAC6B,SAAS,CAACf,GAAG,CAACc,KAAK,EAAEL,KAAK,CAAC;UACnD,MAAMO,MAAM,GAAGC,aAAa,CAACjB,GAAG,CAACgB,MAAM,CAAC;UACxC,MAAME,IAAI,GAAGlB,GAAG,CAACkB,IAAI,KAAK,OAAO,GAAG,OAAO,GAAGlB,GAAG,CAACkB,IAAI;UACtD,IAAIJ,KAAK,KAAKd,GAAG,CAACc,KAAK,IAAIE,MAAM,KAAKhB,GAAG,CAACgB,MAAM,IAAIE,IAAI,KAAKlB,GAAG,CAACkB,IAAI,EAAE,OAAOlB,GAAG;UACjF,OAAO,IAAId,SAAS,CAACiC,KAAK,CACxBL,KAAK,EACLI,IAAI,EACJlB,GAAG,CAACoB,WAAW,EACfJ,MAAM,EACNhB,GAAG,CAACqB,QAAQ,EACZrB,GAAG,CAACsB,OAAO,EACXtB,GAAG,CAACuB,cAAc,CACnB;QACH;MACA,KAAK,QAAQ;QAAE;UACb,IAAIvB,GAAG,CAACwB,QAAQ,CAACC,MAAM,GAAG,CAAC,IAAIzB,GAAG,CAAC0B,IAAI,CAACD,MAAM,GAAG,CAAC,EAAE;YAClD,OAAOE,aAAa,CAAC3B,GAAG,EAAES,KAAK,CAAC;UAClC;UACA,MAAMe,QAAQ,GAAGtC,SAAS,CAAC6B,SAAS,CAACf,GAAG,CAACwB,QAAQ,EAAEf,KAAK,CAAC;UACzD,MAAMiB,IAAI,GAAGxC,SAAS,CAAC6B,SAAS,CAACf,GAAG,CAAC0B,IAAI,EAAEjB,KAAK,CAAC;UACjD,MAAMO,MAAM,GAAGC,aAAa,CAACjB,GAAG,CAACgB,MAAM,CAAC;UACxC,IAAIQ,QAAQ,KAAKxB,GAAG,CAACwB,QAAQ,IAAIE,IAAI,KAAK1B,GAAG,CAAC0B,IAAI,IAAIV,MAAM,KAAKhB,GAAG,CAACgB,MAAM,EAAE,OAAOhB,GAAG;UACvF,OAAO,IAAId,SAAS,CAAC0C,MAAM,CACzB5B,GAAG,CAAC6B,SAAS,EACbL,QAAQ,EACRE,IAAI,EACJ1B,GAAG,CAACoB,WAAW,EACfJ,MAAM,EACNhB,GAAG,CAACqB,QAAQ,EACZrB,GAAG,CAACsB,OAAO,EACXtB,GAAG,CAACuB,cAAc,CACnB;QACH;MACA,KAAK,SAAS;QAAE;UACd,IAAIvB,GAAG,CAAC8B,eAAe,CAACL,MAAM,KAAK,CAAC,IAAIzB,GAAG,CAAC+B,kBAAkB,CAACN,MAAM,KAAK,CAAC,EAAE;YAC3E,MAAMO,cAAc,GAAGhC,GAAG,CAAC8B,eAAe,CAAC,CAAC,CAAC;YAC7C,IAAI1C,IAAI,CAAC6C,mBAAmB,CAACD,cAAc,CAAC,EAAE,OAAOhC,GAAG;UAC1D;UACA,IAAIA,GAAG,CAAC8B,eAAe,CAACL,MAAM,GAAG,CAAC,EAAE;YAClC,OAAOS,eAAe,CAAClC,GAAG,EAAES,KAAK,CAAC;UACpC;UAEA,MAAMsB,kBAAkB,GAAG7C,SAAS,CAAC6B,SAAS,CAACf,GAAG,CAAC+B,kBAAkB,EAAGI,iBAAiB,IAAI;YAC3F,IAAIC,IAAI,GAAG3B,KAAK,CAAC0B,iBAAiB,CAACC,IAAI,CAAC;YACxC,IAAIlD,SAAS,CAACmD,UAAU,CAACF,iBAAiB,CAACC,IAAI,CAAC,EAAE;cAChDA,IAAI,GAAGE,kBAAkB,CAACF,IAAI,CAAC;YACjC;YACA,OAAOA,IAAI,KAAKD,iBAAiB,CAACC,IAAI,GAClCD,iBAAiB,GACjB,IAAIjD,SAAS,CAACqD,iBAAiB,CAACJ,iBAAiB,CAACK,IAAI,EAAEJ,IAAI,CAAC;UACnE,CAAC,CAAC;UACF,MAAMN,eAAe,GAAG5C,SAAS,CAAC6B,SAAS,CAACf,GAAG,CAAC8B,eAAe,EAAGE,cAAc,IAAI;YAClF,MAAMS,SAAS,GAAGhC,KAAK,CAACuB,cAAc,CAACS,SAAS,CAAC;YACjD,MAAML,IAAI,GAAG3B,KAAK,CAACuB,cAAc,CAACI,IAAI,CAAC;YACvC,OAAOK,SAAS,KAAKT,cAAc,CAACS,SAAS,IAAIL,IAAI,KAAKJ,cAAc,CAACI,IAAI,GACzEJ,cAAc,GACd,IAAI9C,SAAS,CAACwD,cAAc,CAACD,SAAS,EAAEL,IAAI,EAAEJ,cAAc,CAACW,KAAK,CAAC;UACzE,CAAC,CAAC;UACF,MAAM3B,MAAM,GAAGC,aAAa,CAACjB,GAAG,CAACgB,MAAM,CAAC;UACxC,IACEe,kBAAkB,KAAK/B,GAAG,CAAC+B,kBAAkB,IAC7CD,eAAe,KAAK9B,GAAG,CAAC8B,eAAe,IACvCd,MAAM,KAAKhB,GAAG,CAACgB,MAAM,EACrB;YACA,OAAOhB,GAAG;UACZ;UACA,OAAO,IAAId,SAAS,CAAC0D,OAAO,CAC1Bb,kBAAkB,EAClBD,eAAe,EACf9B,GAAG,CAACoB,WAAW,EACfJ,MAAM,EACNhB,GAAG,CAACqB,QAAQ,EACZrB,GAAG,CAACsB,OAAO,EACXtB,GAAG,CAACuB,cAAc,CACnB;QACH;MACA,KAAK,SAAS;QAAE;UACd,MAAMsB,GAAG,GAAG,IAAI3D,SAAS,CAAC4D,OAAO,CAC/B,MAAMrC,KAAK,CAACT,GAAG,CAAC+C,KAAK,EAAE,CAAC,EACxB/C,GAAG,CAACoB,WAAW,EACfR,SAAS,EACTZ,GAAG,CAACqB,QAAQ,EACZrB,GAAG,CAACsB,OAAO,CACZ;UACDf,KAAK,CAACyC,GAAG,CAAChD,GAAG,EAAE6C,GAAG,CAAC;UACnB,OAAOA,GAAG;QACZ;MACA;QAAS;UACP,MAAM7B,MAAM,GAAGC,aAAa,CAACjB,GAAG,CAACgB,MAAM,CAAC;UACxC,OAAOA,MAAM,KAAKhB,GAAG,CAACgB,MAAM,GAAGhB,GAAG,GAAGd,SAAS,CAAC+D,aAAa,CAACjD,GAAG,EAAEgB,MAAM,CAAC;QAC3E;IACF;EACF;EAEA,OAAOP,KAAK,CAACH,IAAI,CAAC;AACpB;AAEA,SAASqB,aAAaA,CAAC3B,GAAqB,EAAES,KAA4C;EACxF,MAAMsB,kBAAkB,GAAG/B,GAAG,CAACwB,QAAQ,CAAC0B,GAAG,CAAC,CAACC,OAAO,EAAEC,KAAK,KACzD,IAAIlE,SAAS,CAACqD,iBAAiB,CAACc,MAAM,CAACD,KAAK,CAAC,EAAED,OAAO,CAAC,CACxD;EACD,IAAInD,GAAG,CAAC0B,IAAI,CAACD,MAAM,KAAK,CAAC,EAAE;IACzBM,kBAAkB,CAACuB,IAAI,CACrB,IAAIpE,SAAS,CAACqD,iBAAiB,CAAClD,kBAAkB,EAAE,IAAIH,SAAS,CAAC0C,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE5B,GAAG,CAAC0B,IAAI,CAAC,CAAC,CAC/F;EACH,CAAC,MAAM,IAAI1B,GAAG,CAAC0B,IAAI,CAACD,MAAM,GAAG,CAAC,EAAE;IAC9BM,kBAAkB,CAACuB,IAAI,CACrB,IAAIpE,SAAS,CAACqD,iBAAiB,CAAClD,kBAAkB,EAAE,IAAIH,SAAS,CAAC0C,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC5B,GAAG,CAAC0B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpG;IACD,KAAK,IAAI0B,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGpD,GAAG,CAAC0B,IAAI,CAACD,MAAM,EAAE2B,KAAK,EAAE,EAAE;MACpDrB,kBAAkB,CAACuB,IAAI,CACrB,IAAIpE,SAAS,CAACqD,iBAAiB,CAAC,GAAGjD,oBAAoB,GAAG8D,KAAK,GAAG,CAAC,IAAI,EAAEpD,GAAG,CAAC0B,IAAI,CAAC0B,KAAK,CAAC,CAAC,CAC1F;IACH;EACF;EACA,MAAMnD,IAAI,GAAGQ,KAAK,CAChB,IAAIvB,SAAS,CAAC0D,OAAO,CACnBb,kBAAkB,EAClB,EAAE,EACFwB,qBAAqB,CAACvD,GAAG,EAAEA,GAAG,CAAC0B,IAAI,CAACD,MAAM,GAAG,CAAC,GAAGhC,sBAAsB,GAAGD,iBAAiB,CAAC,EAC5FgE,cAAc,CAACxD,GAAG,CAACgB,MAAM,CAAC,CAC3B,CACF;EACD,OAAO9B,SAAS,CAACkB,QAAQ,CACvBH,IAAI,EACJD,GAAG,EACHb,oBAAoB,CAACe,SAAS,CAAC;IAC7BuD,MAAM,EAAGC,MAAM,IAAI;MACjB,IAAIC,KAAK,GAAmB,EAAE;MAC9B,KAAK,IAAIP,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGpD,GAAG,CAACwB,QAAQ,CAACC,MAAM,EAAE2B,KAAK,EAAE,EAAE;QACxD,MAAMQ,GAAG,GAAGP,MAAM,CAACD,KAAK,CAAC;QACzB,IAAIM,MAAM,CAACE,GAAG,CAAC,KAAKhD,SAAS,EAAE+C,KAAK,CAACL,IAAI,CAACI,MAAM,CAACE,GAAG,CAAC,CAAC;MACxD;MACA,IAAIvE,kBAAkB,IAAIqE,MAAM,EAAE;QAChCC,KAAK,GAAG,CAAC,GAAGA,KAAK,EAAE,GAAGD,MAAM,CAACrE,kBAAkB,CAAC,CAAC;MACnD;MACA,KAAK,IAAI+D,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGpD,GAAG,CAAC0B,IAAI,CAACD,MAAM,EAAE2B,KAAK,EAAE,EAAE;QACpDO,KAAK,CAACL,IAAI,CAACI,MAAM,CAAC,GAAGpE,oBAAoB,GAAG8D,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;MAC7D;MACA,OAAOO,KAAK;IACd,CAAC;IACDE,MAAM,EAAGF,KAAK,IAAI;MAChB,MAAMD,MAAM,GAA4B,EAAE;MAC1C,KAAK,IAAIN,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGpD,GAAG,CAACwB,QAAQ,CAACC,MAAM,EAAE2B,KAAK,EAAE,EAAE;QACxD,IAAIA,KAAK,GAAGO,KAAK,CAAClC,MAAM,EAAEiC,MAAM,CAACL,MAAM,CAACD,KAAK,CAAC,CAAC,GAAGO,KAAK,CAACP,KAAK,CAAC;MAChE;MACA,IAAIpD,GAAG,CAAC0B,IAAI,CAACD,MAAM,IAAI,CAAC,EAAE;QACxB,MAAMqC,UAAU,GAAG9D,GAAG,CAAC0B,IAAI,CAACD,MAAM,GAAG,CAAC;QACtC,MAAMsC,OAAO,GAAGC,IAAI,CAACC,GAAG,CAACjE,GAAG,CAACwB,QAAQ,CAACC,MAAM,EAAEkC,KAAK,CAAClC,MAAM,GAAGqC,UAAU,CAAC;QACxEJ,MAAM,CAACrE,kBAAkB,CAAC,GAAGsE,KAAK,CAACO,KAAK,CAAClE,GAAG,CAACwB,QAAQ,CAACC,MAAM,EAAEsC,OAAO,CAAC;QACtE,KAAK,IAAIX,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGU,UAAU,EAAEV,KAAK,EAAE,EAAE;UAC/CM,MAAM,CAAC,GAAGpE,oBAAoB,GAAG8D,KAAK,IAAI,CAAC,GAAGO,KAAK,CAACI,OAAO,GAAGX,KAAK,CAAC;QACtE;MACF;MACA,OAAOM,MAAM;IACf;GACD,CAAC,CACH;AACH;AAEA,SAASxB,eAAeA,CACtBlC,GAAsB,EACtBS,KAA4C;EAE5C,MAAMO,MAAM,GAAGmD,aAAa,CAACC,YAAY,CAACpE,GAAG,CAACgB,MAAM,CAAC,EAAEwC,cAAc,CAACxD,GAAG,CAACgB,MAAM,CAAC,CAAC;EAClF,MAAM4C,GAAG,GAAGS,aAAa,CAAC,CACxB,GAAGrE,GAAG,CAAC+B,kBAAkB,CAACmB,GAAG,CAAEf,iBAAiB,IAAK,IAAIjD,SAAS,CAACoF,OAAO,CAACnC,iBAAiB,CAACK,IAAc,CAAC,CAAC,EAC7G,GAAGxC,GAAG,CAAC8B,eAAe,CAACoB,GAAG,CAAElB,cAAc,IAAKA,cAAc,CAACS,SAAS,CAAC,CACzE,CAAC;EACF,MAAM8B,KAAK,GAAGF,aAAa,CAAC,CAC1B,GAAGrE,GAAG,CAAC+B,kBAAkB,CAACmB,GAAG,CAAEf,iBAAiB,IAAKA,iBAAiB,CAACC,IAAI,CAAC,EAC5E,GAAGpC,GAAG,CAAC8B,eAAe,CAACoB,GAAG,CAAElB,cAAc,IAAKA,cAAc,CAACI,IAAI,CAAC,CACpE,CAAC;EACF,MAAMnC,IAAI,GAAGQ,KAAK,CAChB,IAAIvB,SAAS,CAAC0C,MAAM,CAClB,KAAK,EACL,EAAE,EACF,CAAC,IAAI1C,SAAS,CAAC0C,MAAM,CAAC,KAAK,EAAE,CAACgC,GAAG,EAAEW,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAC/ChB,qBAAqB,CAACvD,GAAG,EAAET,kBAAkB,CAAC,EAC9CyB,MAAM,CACP,CACF;EACD,OAAO9B,SAAS,CAACkB,QAAQ,CACvBH,IAAI,EACJD,GAAG,EACHb,oBAAoB,CAACe,SAAS,CAAC;IAC7BuD,MAAM,EAAEe,MAAM,CAACC,WAAW;IAC1BZ,MAAM,EAAEW,MAAM,CAACE;GAChB,CAAC,CACH;AACH;AAEA,SAASL,aAAaA,CAACvD,KAAmC;EACxD,MAAM6D,MAAM,GAAGC,KAAK,CAAC3E,IAAI,CAAC,IAAI4E,GAAG,CAAC/D,KAAK,CAAC,CAAC;EACzC,OAAO6D,MAAM,CAAClD,MAAM,KAAK,CAAC,GAAGkD,MAAM,CAAC,CAAC,CAAC,GAAG,IAAIzF,SAAS,CAACiC,KAAK,CAACwD,MAAM,EAAE,OAAO,CAAC;AAC/E;AAEA,SAASR,aAAaA,CACpBW,IAAkC,EAClCC,KAAmC;EAEnC,IAAID,IAAI,KAAKlE,SAAS,EAAE,OAAOmE,KAAK;EACpC,IAAIA,KAAK,KAAKnE,SAAS,EAAE,OAAOkE,IAAI;EACpC,OAAO,CAAC,GAAGA,IAAI,EAAE,GAAGC,KAAK,CAAC;AAC5B;AAEA,SAASvB,cAAcA,CAACxC,MAAoC;EAC1D,IAAIA,MAAM,KAAKJ,SAAS,EAAE,OAAOA,SAAS;EAC1C,MAAMiC,GAAG,GAAG7B,MAAM,CAACgE,OAAO,CAACC,aAAa,CAAC;EACzC,OAAOpG,GAAG,CAACqG,eAAe,CAACrC,GAAG,CAAC,GAAGA,GAAG,GAAGjC,SAAS;AACnD;AAEA,SAASqE,aAAaA,CAACE,KAA2B;EAChD;EACA;EACA;EACA;EACA,MAAM/D,WAAW,GAAGgE,mBAAmB,CAACD,KAAK,CAAC/D,WAAW,CAAC;EAC1D,IAAI+D,KAAK,CAACtE,IAAI,KAAK,QAAQ,EAAE;IAC3B,OAAOO,WAAW,KAAKR,SAAS,GAAG,EAAE,GAAG,CAAC,IAAI1B,SAAS,CAACmG,MAAM,CAAC,MAAMzE,SAAS,EAAEQ,WAAW,CAAC,CAAC;EAC9F;EACA,MAAMJ,MAAM,GAAGmE,KAAK,CAACnE,MAAM,CAACgE,OAAO,CAACC,aAAa,CAAC;EAClD,IAAIpG,GAAG,CAACqG,eAAe,CAAClE,MAAM,CAAC,EAAE;IAC/B,OAAO,CAAC,IAAI9B,SAAS,CAACoG,WAAW,CAACtE,MAAM,EAAEI,WAAW,CAAC,CAAC;EACzD;EACA,OAAOA,WAAW,KAAKR,SAAS,GAAG,EAAE,GAAG,CAAC,IAAI1B,SAAS,CAACmG,MAAM,CAAC,MAAMzE,SAAS,EAAEQ,WAAW,CAAC,CAAC;AAC9F;AAEA,SAASgE,mBAAmBA,CAC1BhE,WAAkD;EAElD,IAAIA,WAAW,EAAEmE,YAAY,KAAK3E,SAAS,EAAE,OAAOA,SAAS;EAC7D,OAAO;IACL4E,cAAc,EAAEpE,WAAW,CAACoE,cAAc;IAC1CD,YAAY,EAAEnE,WAAW,CAACmE;GAC3B;AACH;AAEA,SAASjD,kBAAkBA,CAACF,IAAmB;EAC7C,OAAOlD,SAAS,CAACkB,QAAQ,CACvB,IAAIlB,SAAS,CAACiC,KAAK,CAAC,CAACiB,IAAI,EAAElD,SAAS,CAACuG,IAAI,CAAC,EAAE,OAAO,CAAC,EACpDvG,SAAS,CAACwG,WAAW,CAACtD,IAAI,CAAC,EAC3BjD,oBAAoB,CAACwG,iBAAiB,CAAC;IACrClC,MAAM,EAAE1E,MAAM,CAAC6G,MAAM,CAAC5G,SAAS,CAAC6G,SAAS,CAAC;IAC1ChC,MAAM,EAAE9E,MAAM,CAAC+G,UAAU,CAAC,MAAM,IAAI;GACrC,CAAC,CACH;AACH;AAEA,SAAS7E,aAAaA,CAACD,MAAoC;EACzD,IAAIA,MAAM,KAAKJ,SAAS,EAAE,OAAOA,SAAS;EAC1C,MAAMiC,GAAG,GAAG3D,SAAS,CAAC6B,SAAS,CAACC,MAAM,EAAE+E,YAAY,CAAC;EACrD,OAAOlD,GAAuB;AAChC;AAEA,SAASkD,YAAYA,CAACZ,KAA2B;EAC/C,QAAQA,KAAK,CAACtE,IAAI;IAChB,KAAK,QAAQ;MAAE;QACb,MAAMmF,EAAE,GAAGb,KAAK,CAAC/D,WAAW,EAAEoE,cAAc,EAAEQ,EAAE;QAChD,OAAOA,EAAE,KAAK,wBAAwB,IAAIA,EAAE,KAAK,qBAAqB,GAClEb,KAAK,CAACc,QAAQ,CAAC;UAAEC,QAAQ,EAAEtF;QAAS,CAAE,CAAC,GACvCuE,KAAK;MACX;IACA,KAAK,aAAa;MAAE;QAClB,MAAMnE,MAAM,GAAG9B,SAAS,CAAC6B,SAAS,CAACoE,KAAK,CAACnE,MAAM,EAAE+E,YAAY,CAAC;QAC9D,OAAO/E,MAAM,KAAKmE,KAAK,CAACnE,MAAM,GAC1BmE,KAAK,GACL,IAAIjG,SAAS,CAACoG,WAAW,CAACtE,MAAM,EAAEmE,KAAK,CAAC/D,WAAW,CAAC;MAC1D;EACF;AACF;AAEA,SAASgD,YAAYA,CAACpD,MAAoC;EACxD,IAAIA,MAAM,KAAKJ,SAAS,EAAE,OAAOA,SAAS;EAC1C,MAAMiC,GAAG,GAAG7B,MAAM,CAACgE,OAAO,CAACmB,WAAW,CAAC;EACvC,OAAOtH,GAAG,CAACqG,eAAe,CAACrC,GAAG,CAAC,GAAGA,GAAG,GAAGjC,SAAS;AACnD;AAEA,SAASuF,WAAWA,CAAChB,KAA2B;EAC9C,IAAIA,KAAK,CAACtE,IAAI,KAAK,aAAa,EAAE,OAAOsE,KAAK,CAACnE,MAAM,CAACgE,OAAO,CAACmB,WAAW,CAAC;EAC1E,MAAMX,cAAc,GAAGL,KAAK,CAAC/D,WAAW,EAAEoE,cAAc;EACxD,MAAMY,OAAO,GAAGZ,cAAc,EAAEY,OAAO;EACvC,IAAI,CAACC,YAAY,CAACD,OAAO,CAAC,EAAE,OAAO,EAAE;EACrC;EACA;EACA;EACA;EACA,QAAQZ,cAAc,EAAEQ,EAAE;IACxB,KAAK,+BAA+B;MAClC,OAAO,OAAOI,OAAO,CAACE,aAAa,KAAK,QAAQ,GAC5C,CAACC,kBAAkB,CAACtH,MAAM,CAACuH,WAAW,CAACJ,OAAO,CAACE,aAAa,CAAC,CAAC,CAAC,GAC/D,EAAE;IACR,KAAK,yCAAyC;MAC5C,OAAO,OAAOF,OAAO,CAACK,OAAO,KAAK,QAAQ,GACtC,CAACF,kBAAkB,CAACtH,MAAM,CAACuH,WAAW,CAACJ,OAAO,CAACK,OAAO,CAAC,CAAC,CAAC,GACzD,EAAE;IACR;MACE,OAAO,EAAE;EACb;AACF;AAEA,SAASJ,YAAYA,CAACK,KAA8B;EAClD,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,CAAC9B,KAAK,CAAC+B,OAAO,CAACD,KAAK,CAAC;AAC7E;AAEA,SAASH,kBAAkBA,CAACpB,KAA4B;EACtD,OAAOA,KAAK,CAACc,QAAQ,CAAC;IACpBW,WAAW,EAAEhG,SAAS;IACtBsF,QAAQ,EAAEtF,SAAS;IACnBiG,KAAK,EAAEjG;GACR,CAAC;AACJ;AAEA,SAAS2C,qBAAqBA,CAC5BvD,GAAkB,EAClB8G,qBAA6B;EAE7B,MAAMC,YAAY,GAAkB,EAAE;EACtCC,2BAA2B,CAACD,YAAY,EAAE/G,GAAG,CAACoB,WAAW,CAAC;EAC1D,IAAIpB,GAAG,CAACgB,MAAM,KAAKJ,SAAS,EAAE;IAC5B,KAAK,MAAMuE,KAAK,IAAInF,GAAG,CAACgB,MAAM,EAAEiG,uBAAuB,CAACF,YAAY,EAAE5B,KAAK,CAAC;EAC9E;EACA,OAAO;IACLyB,WAAW,EAAEG,YAAY,CAACtF,MAAM,KAAK,CAAC,GAClCqF,qBAAqB,GACrB,GAAGA,qBAAqB,KAAKC,YAAY,CAACG,IAAI,CAAC,OAAO,CAAC;GAC5D;AACH;AAEA,SAASD,uBAAuBA,CAACF,YAA2B,EAAE5B,KAA2B;EACvF6B,2BAA2B,CAACD,YAAY,EAAE5B,KAAK,CAAC/D,WAAW,CAAC;EAC5D,IAAI+D,KAAK,CAACtE,IAAI,KAAK,aAAa,EAAE;IAChC,KAAK,MAAMsG,KAAK,IAAIhC,KAAK,CAACnE,MAAM,EAAEiG,uBAAuB,CAACF,YAAY,EAAEI,KAAK,CAAC;EAChF;AACF;AAEA,SAASH,2BAA2BA,CAClCD,YAA2B,EAC3B3F,WAAuD;EAEvD,MAAMwF,WAAW,GAAGxF,WAAW,EAAEwF,WAAW,IAAIxF,WAAW,EAAE8E,QAAQ;EACrE,IAAI,OAAOU,WAAW,KAAK,QAAQ,IAAI,CAACG,YAAY,CAACK,QAAQ,CAACR,WAAW,CAAC,EAAE;IAC1EG,YAAY,CAACzD,IAAI,CAACsD,WAAW,CAAC;EAChC;AACF;AAIA;AACA,OAAM,SAAUS,cAAcA,CAC5B1H,MAA6B,EAC7B2H,OAA0B;EAE1B,MAAMzE,GAAG,GAA0B,EAAE;EACrC,KAAK,MAAM,CAACe,GAAG,EAAEW,KAAK,CAAC,IAAIC,MAAM,CAACE,OAAO,CAAC/E,MAAM,CAAC,EAAE;IACjD,QAAQiE,GAAG;MACT,KAAK,YAAY;MACjB,KAAK,mBAAmB;QAAE;UACxB,IAAI2D,YAAY,CAAChD,KAAK,CAAC,EAAE;YACvB,MAAMiD,UAAU,GAA4B,EAAE;YAC9C,KAAK,MAAM,CAAChF,IAAI,EAAEiF,QAAQ,CAAC,IAAIjD,MAAM,CAACE,OAAO,CAACH,KAAK,CAAC,EAAE;cACpDzF,cAAc,CAAC4I,cAAc,CAC3BF,UAAU,EACVhF,IAAI,EACJ+E,YAAY,CAACE,QAAQ,CAAC,GAAGJ,cAAc,CAACI,QAAQ,EAAEH,OAAO,CAAC,GAAGG,QAAQ,CACtE;YACH;YACA3I,cAAc,CAAC4I,cAAc,CAAC7E,GAAG,EAAEe,GAAG,EAAE4D,UAAU,CAAC;UACrD,CAAC,MAAM;YACL1I,cAAc,CAAC4I,cAAc,CAAC7E,GAAG,EAAEe,GAAG,EAAEW,KAAK,CAAC;UAChD;UACA;QACF;MACA,KAAK,sBAAsB;MAC3B,KAAK,OAAO;MACZ,KAAK,eAAe;QAAE;UACpBzF,cAAc,CAAC4I,cAAc,CAAC7E,GAAG,EAAEe,GAAG,EAAE2D,YAAY,CAAChD,KAAK,CAAC,GAAG8C,cAAc,CAAC9C,KAAK,EAAE+C,OAAO,CAAC,GAAG/C,KAAK,CAAC;UACrG;QACF;MACA,KAAK,aAAa;MAClB,KAAK,OAAO;MACZ,KAAK,OAAO;MACZ,KAAK,OAAO;QAAE;UACZzF,cAAc,CAAC4I,cAAc,CAC3B7E,GAAG,EACHe,GAAG,EACHgB,KAAK,CAAC+B,OAAO,CAACpC,KAAK,CAAC,GAChBA,KAAK,CAACrB,GAAG,CAAEyE,MAAM,IAAKJ,YAAY,CAACI,MAAM,CAAC,GAAGN,cAAc,CAACM,MAAM,EAAEL,OAAO,CAAC,GAAGK,MAAM,CAAC,GACtFpD,KAAK,CACV;UACD;QACF;MACA;QACEzF,cAAc,CAAC4I,cAAc,CAAC7E,GAAG,EAAEe,GAAG,EAAEW,KAAK,CAAC;QAC9C;IACJ;EACF;EACA,OAAO+C,OAAO,CAACzE,GAAG,CAAC;AACrB;AAEA;AACA,OAAM,SAAU+E,iBAAiBA,CAACjI,MAA6B,EAAEiH,WAAmB;EAClF,IAAI,OAAOjH,MAAM,CAACiH,WAAW,KAAK,QAAQ,EAAE;IAC1C,MAAMG,YAAY,GAAGpH,MAAM,CAACiH,WAAW,CAACiB,KAAK,CAAC,OAAO,CAAC;IACtD,IAAI,CAACd,YAAY,CAACK,QAAQ,CAACR,WAAW,CAAC,EAAEjH,MAAM,CAACiH,WAAW,IAAI,QAAQA,WAAW,EAAE;EACtF,CAAC,MAAM;IACLjH,MAAM,CAACiH,WAAW,GAAGA,WAAW;EAClC;AACF;AAEA;AACA,OAAM,SAAUW,YAAYA,CAACb,KAAc;EACzC,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,CAAC9B,KAAK,CAAC+B,OAAO,CAACD,KAAK,CAAC;AAC7E","ignoreList":[]}
|