effect 4.0.0-beta.100 → 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/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +4 -0
- package/dist/MutableList.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 +1269 -496
- 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 +3 -2
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/effect.js +119 -53
- 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 +26 -26
- 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/HttpRouter.d.ts +2 -2
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.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/MutableList.ts +4 -0
- 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 +2538 -987
- 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 +4 -3
- package/src/internal/effect.ts +132 -70
- 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/HttpRouter.ts +6 -3
- 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
|
@@ -36,6 +36,7 @@ import * as RpcClient from "../rpc/RpcClient.js";
|
|
|
36
36
|
import * as RpcMessage from "../rpc/RpcMessage.js";
|
|
37
37
|
import * as RpcSerialization from "../rpc/RpcSerialization.js";
|
|
38
38
|
import * as RpcServer from "../rpc/RpcServer.js";
|
|
39
|
+
import * as AiError from "./AiError.js";
|
|
39
40
|
import { CallToolResult, ClientNotificationRpcs, ClientRpcs, CompleteResult, Elicit, ElicitationDeclined, EnabledWhen, GetPromptResult, InternalError, InvalidParams, isParam, ListPromptsResult, ListResourcesResult, ListResourceTemplatesResult, ListToolsResult, McpServerClient, McpServerClientMiddleware, Prompt, Resource, ResourceTemplate, ServerNotificationRpcs, ServerRequestRpcs, TextContent, Tool as McpTool } from "./McpSchema.js";
|
|
40
41
|
import * as Tool from "./Tool.js";
|
|
41
42
|
/**
|
|
@@ -202,8 +203,15 @@ export class McpServer extends /*#__PURE__*/Context.Service()("effect/ai/McpServ
|
|
|
202
203
|
}
|
|
203
204
|
const LATEST_PROTOCOL_VERSION = "2025-06-18";
|
|
204
205
|
const SUPPORTED_PROTOCOL_VERSIONS = [LATEST_PROTOCOL_VERSION, "2025-03-26", "2024-11-05", "2024-10-07"];
|
|
205
|
-
const
|
|
206
|
-
const
|
|
206
|
+
const MCP_SESSION_ID_HEADER = "mcp-session-id";
|
|
207
|
+
const MCP_PROTOCOL_VERSION_HEADER = "mcp-protocol-version";
|
|
208
|
+
class McpProtocolState extends /*#__PURE__*/Context.Service()("effect/ai/McpServer/McpProtocolState") {}
|
|
209
|
+
const makeMcpProtocolState = () => ({
|
|
210
|
+
clientSessions: new Map(),
|
|
211
|
+
latestProtocolVersion: LATEST_PROTOCOL_VERSION,
|
|
212
|
+
supportedProtocolVersions: new Set(SUPPORTED_PROTOCOL_VERSIONS)
|
|
213
|
+
});
|
|
214
|
+
const layerMcpProtocolState = /*#__PURE__*/Layer.sync(McpProtocolState, makeMcpProtocolState);
|
|
207
215
|
/**
|
|
208
216
|
* Runs an MCP server over the current `RpcServer.Protocol`.
|
|
209
217
|
*
|
|
@@ -217,13 +225,12 @@ const mcpProtocolVersionHeader = "mcp-protocol-version";
|
|
|
217
225
|
* @since 4.0.0
|
|
218
226
|
*/
|
|
219
227
|
export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
228
|
+
const protocolState = Option.getOrElse(yield* Effect.serviceOption(McpProtocolState), makeMcpProtocolState);
|
|
220
229
|
const protocol = yield* RpcServer.Protocol;
|
|
221
230
|
const server = yield* McpServer;
|
|
222
231
|
const isHttp = Option.isSome(yield* Effect.serviceOption(HttpRouter.HttpRouter));
|
|
223
|
-
const clientSessions =
|
|
224
|
-
const handlers = yield* Layer.build(layerHandlers(options,
|
|
225
|
-
clientSessions
|
|
226
|
-
}));
|
|
232
|
+
const clientSessions = protocolState.clientSessions;
|
|
233
|
+
const handlers = yield* Layer.build(layerHandlers(options)).pipe(Effect.provideService(McpProtocolState, protocolState));
|
|
227
234
|
const clients = yield* RcMap.make({
|
|
228
235
|
lookup: Effect.fnUntraced(function* (clientId) {
|
|
229
236
|
let write;
|
|
@@ -283,20 +290,35 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
283
290
|
const patchedProtocol = RpcServer.Protocol.of({
|
|
284
291
|
...protocol,
|
|
285
292
|
run: f => protocol.run((clientId, request_) => {
|
|
293
|
+
const fiber = Fiber.getCurrent();
|
|
286
294
|
const request = request_;
|
|
295
|
+
const httpRequest = isHttp ? Context.getOrUndefined(fiber.context, HttpServerRequest.HttpServerRequest) : undefined;
|
|
296
|
+
if (httpRequest !== undefined && request._tag !== "Eof") {
|
|
297
|
+
appendPreResponseHandlerUnsafe(httpRequest, (_, response) => Effect.succeed(response.status === 200 && response.body._tag === "Uint8Array" && response.body.contentLength === 0 ? HttpServerResponse.empty({
|
|
298
|
+
headers: Headers.remove(response.headers, "content-type"),
|
|
299
|
+
status: 202
|
|
300
|
+
}) : response));
|
|
301
|
+
}
|
|
287
302
|
switch (request._tag) {
|
|
288
303
|
case "Request":
|
|
289
304
|
{
|
|
290
|
-
if (
|
|
291
|
-
const fiber = Fiber.getCurrent();
|
|
292
|
-
const httpRequest = Context.getUnsafe(fiber.context, HttpServerRequest.HttpServerRequest);
|
|
305
|
+
if (httpRequest !== undefined) {
|
|
293
306
|
const client = getInitializedClient(clientSessions, clientId, httpRequest.headers);
|
|
294
307
|
if (client) {
|
|
295
|
-
appendPreResponseHandlerUnsafe(httpRequest, (_, res) => Effect.succeed(HttpServerResponse.setHeader(res,
|
|
308
|
+
appendPreResponseHandlerUnsafe(httpRequest, (_, res) => Effect.succeed(HttpServerResponse.setHeader(res, MCP_PROTOCOL_VERSION_HEADER, client.protocolVersion)));
|
|
296
309
|
}
|
|
297
310
|
}
|
|
298
311
|
const rpc = ClientNotificationRpcs.requests.get(request.tag);
|
|
299
312
|
if (rpc) {
|
|
313
|
+
const headers = Headers.fromInput(request.headers);
|
|
314
|
+
if (!getInitializedClient(clientSessions, clientId, headers)) {
|
|
315
|
+
if (httpRequest !== undefined) {
|
|
316
|
+
appendPreResponseHandlerUnsafe(httpRequest, () => Effect.succeed(HttpServerResponse.empty({
|
|
317
|
+
status: 404
|
|
318
|
+
})));
|
|
319
|
+
}
|
|
320
|
+
return Effect.void;
|
|
321
|
+
}
|
|
300
322
|
if (request.tag === "notifications/cancelled") {
|
|
301
323
|
return f(clientId, {
|
|
302
324
|
_tag: "Interrupt",
|
|
@@ -308,7 +330,7 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
308
330
|
rpc,
|
|
309
331
|
requestId: RpcMessage.RequestId(request.id),
|
|
310
332
|
client: new Rpc.ServerClient(clientId),
|
|
311
|
-
headers
|
|
333
|
+
headers
|
|
312
334
|
}) : Effect.void;
|
|
313
335
|
}
|
|
314
336
|
return f(clientId, request);
|
|
@@ -380,7 +402,8 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
380
402
|
* @category layers
|
|
381
403
|
* @since 4.0.0
|
|
382
404
|
*/
|
|
383
|
-
export const layer = options =>
|
|
405
|
+
export const layer = options => layerWithProtocolState(options).pipe(Layer.provide(layerMcpProtocolState));
|
|
406
|
+
const layerWithProtocolState = options => Layer.effectDiscard(Effect.forkScoped(run(options))).pipe(Layer.provideMerge(McpServer.layer));
|
|
384
407
|
/**
|
|
385
408
|
* Runs the McpServer, using stdio for input and output.
|
|
386
409
|
*
|
|
@@ -441,8 +464,7 @@ export const layer = options => Layer.effectDiscard(Effect.forkScoped(run(option
|
|
|
441
464
|
*/
|
|
442
465
|
export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer.layerProtocolStdio), Layer.provide(RpcSerialization.layerNdJsonRpc()));
|
|
443
466
|
/**
|
|
444
|
-
* Registers
|
|
445
|
-
* `HttpRouter`.
|
|
467
|
+
* Registers a Streamable HTTP MCP endpoint at `options.path`.
|
|
446
468
|
*
|
|
447
469
|
* **When to use**
|
|
448
470
|
*
|
|
@@ -450,8 +472,9 @@ export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer
|
|
|
450
472
|
*
|
|
451
473
|
* **Details**
|
|
452
474
|
*
|
|
453
|
-
*
|
|
454
|
-
*
|
|
475
|
+
* POST serves JSON-RPC and accepted notification-only requests return `202`.
|
|
476
|
+
* Unsupported protocol versions return `400`; methods without MCP handlers
|
|
477
|
+
* return `405`.
|
|
455
478
|
*
|
|
456
479
|
* @see {@link layerStdio} for exposing the server over stdio
|
|
457
480
|
* @see {@link layer} for the base MCP server layer without a transport protocol
|
|
@@ -459,7 +482,43 @@ export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer
|
|
|
459
482
|
* @category layers
|
|
460
483
|
* @since 4.0.0
|
|
461
484
|
*/
|
|
462
|
-
export const layerHttp = options =>
|
|
485
|
+
export const layerHttp = options => {
|
|
486
|
+
const protocolState = layerMcpProtocolState;
|
|
487
|
+
const methodNotAllowedResponse = HttpServerResponse.empty({
|
|
488
|
+
status: 405,
|
|
489
|
+
headers: {
|
|
490
|
+
allow: "POST"
|
|
491
|
+
}
|
|
492
|
+
});
|
|
493
|
+
const routes = Layer.mergeAll(HttpRouter.add("GET", options.path, methodNotAllowedResponse), HttpRouter.add("PUT", options.path, methodNotAllowedResponse), HttpRouter.add("PATCH", options.path, methodNotAllowedResponse), HttpRouter.add("DELETE", options.path, methodNotAllowedResponse));
|
|
494
|
+
return Layer.merge(layerWithProtocolState(options), routes).pipe(Layer.provide(layerMcpProtocolHttp(options)), Layer.provide(protocolState), Layer.provide(RpcSerialization.layerJsonRpc()));
|
|
495
|
+
};
|
|
496
|
+
const layerMcpProtocolHttp = options => Layer.effect(RpcServer.Protocol)(Effect.gen(function* () {
|
|
497
|
+
const state = yield* McpProtocolState;
|
|
498
|
+
const {
|
|
499
|
+
httpEffect,
|
|
500
|
+
protocol
|
|
501
|
+
} = yield* RpcServer.makeProtocolWithHttpEffect;
|
|
502
|
+
const router = yield* HttpRouter.HttpRouter;
|
|
503
|
+
yield* router.add("POST", options.path, request => {
|
|
504
|
+
const protocolVersion = request.headers[MCP_PROTOCOL_VERSION_HEADER];
|
|
505
|
+
if (protocolVersion !== undefined && !state.supportedProtocolVersions.has(protocolVersion)) {
|
|
506
|
+
return Effect.succeed(HttpServerResponse.empty({
|
|
507
|
+
status: 400
|
|
508
|
+
}));
|
|
509
|
+
}
|
|
510
|
+
return httpEffect;
|
|
511
|
+
});
|
|
512
|
+
return protocol;
|
|
513
|
+
}));
|
|
514
|
+
const INTERNAL_TOOL_ERROR_MESSAGE = "Tool execution failed due to an internal server error.";
|
|
515
|
+
const toolErrorResult = message => new CallToolResult({
|
|
516
|
+
isError: true,
|
|
517
|
+
content: [{
|
|
518
|
+
type: "text",
|
|
519
|
+
text: message
|
|
520
|
+
}]
|
|
521
|
+
});
|
|
463
522
|
/**
|
|
464
523
|
* Registers a `Toolkit` with the `McpServer`.
|
|
465
524
|
*
|
|
@@ -473,6 +532,7 @@ export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit
|
|
|
473
532
|
for (const tool of Object.values(built.tools)) {
|
|
474
533
|
const annotations = tool.annotations;
|
|
475
534
|
const toolMeta = Context.getOrUndefined(annotations, Tool.Meta);
|
|
535
|
+
const isDeclaredFailure = Schema.is(tool.failureSchema);
|
|
476
536
|
const mcpTool = new McpTool({
|
|
477
537
|
name: tool.name,
|
|
478
538
|
description: Tool.getDescription(tool),
|
|
@@ -492,23 +552,24 @@ export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit
|
|
|
492
552
|
tool: mcpTool,
|
|
493
553
|
annotations,
|
|
494
554
|
handle(payload) {
|
|
495
|
-
return built.handle(tool.name, payload).pipe(Stream.unwrap, Stream.run(Sink.last()), Effect.flatMap(Effect.fromOption), Effect.provideContext(services), Effect.
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
}
|
|
511
|
-
|
|
555
|
+
return built.handle(tool.name, payload).pipe(Stream.unwrap, Stream.run(Sink.last()), Effect.flatMap(Effect.fromOption), Effect.provideContext(services), Effect.map(result => new CallToolResult({
|
|
556
|
+
isError: false,
|
|
557
|
+
structuredContent: typeof result.encodedResult === "object" ? result.encodedResult : undefined,
|
|
558
|
+
content: [{
|
|
559
|
+
type: "text",
|
|
560
|
+
text: JSON.stringify(result.encodedResult)
|
|
561
|
+
}]
|
|
562
|
+
})), Effect.tapCause(Effect.logError), Effect.catch(error => {
|
|
563
|
+
if (AiError.isAiError(error)) {
|
|
564
|
+
const reason = error.reason;
|
|
565
|
+
return reason._tag === "ToolParameterValidationError" ? Effect.succeed(toolErrorResult(reason.message)) : Effect.succeed(toolErrorResult(INTERNAL_TOOL_ERROR_MESSAGE));
|
|
566
|
+
}
|
|
567
|
+
if (isDeclaredFailure(error)) {
|
|
568
|
+
const message = error instanceof Error ? error.message : INTERNAL_TOOL_ERROR_MESSAGE;
|
|
569
|
+
return Effect.succeed(toolErrorResult(message));
|
|
570
|
+
}
|
|
571
|
+
return Effect.succeed(toolErrorResult(INTERNAL_TOOL_ERROR_MESSAGE));
|
|
572
|
+
}), Effect.catchDefect(() => Effect.succeed(toolErrorResult(INTERNAL_TOOL_ERROR_MESSAGE))));
|
|
512
573
|
}
|
|
513
574
|
});
|
|
514
575
|
}
|
|
@@ -570,7 +631,7 @@ export const registerResource = function () {
|
|
|
570
631
|
uriTemplate: uriPath,
|
|
571
632
|
annotations: options
|
|
572
633
|
});
|
|
573
|
-
const completions =
|
|
634
|
+
const completions = Object.create(null);
|
|
574
635
|
for (const [param, handle] of Object.entries(options.completion ?? {})) {
|
|
575
636
|
const encodeArray = Schema.encodeUnknownEffect(Schema.Array(params[param]));
|
|
576
637
|
const handler = input => handle(input).pipe(Effect.flatMap(encodeArray), Effect.map(values => ({
|
|
@@ -661,7 +722,7 @@ export const registerPrompt = options => {
|
|
|
661
722
|
return Effect.gen(function* () {
|
|
662
723
|
const registry = yield* McpServer;
|
|
663
724
|
const services = yield* Effect.context();
|
|
664
|
-
const completions =
|
|
725
|
+
const completions = Object.create(null);
|
|
665
726
|
for (const [param, handle] of Object.entries(completion)) {
|
|
666
727
|
const encodeArray = Schema.encodeEffect(Schema.Array(props[param]));
|
|
667
728
|
const handler = input => handle(input).pipe(Effect.flatMap(encodeArray), Effect.map(values => ({
|
|
@@ -788,7 +849,7 @@ const makeUriMatcher = () => {
|
|
|
788
849
|
const compileUriTemplate = (segments, ...schemas) => {
|
|
789
850
|
let routerPath = segments[0].replace(":", "::");
|
|
790
851
|
let uriPath = segments[0];
|
|
791
|
-
const params =
|
|
852
|
+
const params = Object.create(null);
|
|
792
853
|
let pathSchema = Schema.Tuple([]);
|
|
793
854
|
if (schemas.length > 0) {
|
|
794
855
|
const arr = [];
|
|
@@ -812,8 +873,10 @@ const compileUriTemplate = (segments, ...schemas) => {
|
|
|
812
873
|
params
|
|
813
874
|
};
|
|
814
875
|
};
|
|
815
|
-
const layerHandlers =
|
|
876
|
+
const layerHandlers = serverInfo => ClientRpcs.toLayer(Effect.gen(function* () {
|
|
816
877
|
const server = yield* McpServer;
|
|
878
|
+
const protocolState = yield* McpProtocolState;
|
|
879
|
+
const clientSessions = protocolState.clientSessions;
|
|
817
880
|
let currentLogLevel = yield* CurrentLogLevel;
|
|
818
881
|
return ClientRpcs.of({
|
|
819
882
|
// Requests
|
|
@@ -821,7 +884,7 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
|
|
|
821
884
|
initialize(params, {
|
|
822
885
|
client
|
|
823
886
|
}) {
|
|
824
|
-
const requestedVersion =
|
|
887
|
+
const requestedVersion = protocolState.supportedProtocolVersions.has(params.protocolVersion) ? params.protocolVersion : protocolState.latestProtocolVersion;
|
|
825
888
|
if (requestedVersion !== params.protocolVersion) {
|
|
826
889
|
params = {
|
|
827
890
|
...params,
|
|
@@ -854,13 +917,13 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
|
|
|
854
917
|
const httpRequest = Context.getOrUndefined(fiber.context, HttpServerRequest.HttpServerRequest);
|
|
855
918
|
if (httpRequest) {
|
|
856
919
|
const sessionId = crypto.randomUUID();
|
|
857
|
-
|
|
920
|
+
clientSessions.set(sessionId, params);
|
|
858
921
|
appendPreResponseHandlerUnsafe(httpRequest, (_req, res) => Effect.succeed(HttpServerResponse.setHeaders(res, {
|
|
859
|
-
[
|
|
860
|
-
[
|
|
922
|
+
[MCP_SESSION_ID_HEADER]: sessionId,
|
|
923
|
+
[MCP_PROTOCOL_VERSION_HEADER]: requestedVersion
|
|
861
924
|
})));
|
|
862
925
|
} else {
|
|
863
|
-
|
|
926
|
+
clientSessions.set(String(client.id), params);
|
|
864
927
|
}
|
|
865
928
|
return Effect.succeed({
|
|
866
929
|
capabilities,
|
|
@@ -899,7 +962,7 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
|
|
|
899
962
|
client,
|
|
900
963
|
headers
|
|
901
964
|
}) => Effect.sync(() => {
|
|
902
|
-
const initialized = getInitializedClient(
|
|
965
|
+
const initialized = getInitializedClient(clientSessions, client.id, headers);
|
|
903
966
|
return new ListPromptsResult({
|
|
904
967
|
prompts: filterByClient(initialized, server.prompts, "prompt")
|
|
905
968
|
});
|
|
@@ -908,7 +971,7 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
|
|
|
908
971
|
client,
|
|
909
972
|
headers
|
|
910
973
|
}) => Effect.sync(() => {
|
|
911
|
-
const initialized = getInitializedClient(
|
|
974
|
+
const initialized = getInitializedClient(clientSessions, client.id, headers);
|
|
912
975
|
return new ListResourcesResult({
|
|
913
976
|
resources: filterByClient(initialized, server.resources, "resource")
|
|
914
977
|
});
|
|
@@ -922,7 +985,7 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
|
|
|
922
985
|
client,
|
|
923
986
|
headers
|
|
924
987
|
}) => Effect.sync(() => {
|
|
925
|
-
const initialized = getInitializedClient(
|
|
988
|
+
const initialized = getInitializedClient(clientSessions, client.id, headers);
|
|
926
989
|
return new ListResourceTemplatesResult({
|
|
927
990
|
resourceTemplates: filterByClient(initialized, server.resourceTemplates, "template")
|
|
928
991
|
});
|
|
@@ -932,14 +995,18 @@ const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(fun
|
|
|
932
995
|
client,
|
|
933
996
|
headers
|
|
934
997
|
}) => Effect.sync(() => {
|
|
935
|
-
const initialized = getInitializedClient(
|
|
998
|
+
const initialized = getInitializedClient(clientSessions, client.id, headers);
|
|
936
999
|
return new ListToolsResult({
|
|
937
1000
|
tools: filterByClient(initialized, server.tools, "tool")
|
|
938
1001
|
});
|
|
939
1002
|
}),
|
|
940
1003
|
// Notifications
|
|
941
1004
|
"notifications/cancelled": _ => Effect.void,
|
|
942
|
-
"notifications/initialized": _
|
|
1005
|
+
"notifications/initialized": (_, {
|
|
1006
|
+
client
|
|
1007
|
+
}) => Effect.sync(() => {
|
|
1008
|
+
server.initializedClients.add(client.id);
|
|
1009
|
+
}),
|
|
943
1010
|
"notifications/progress": _ => Effect.void,
|
|
944
1011
|
"notifications/roots/list_changed": _ => Effect.void
|
|
945
1012
|
});
|
|
@@ -977,7 +1044,7 @@ const filterByClient = (client, items, prop) => {
|
|
|
977
1044
|
return out;
|
|
978
1045
|
};
|
|
979
1046
|
const getInitializedClient = (sessions, clientId, headers) => {
|
|
980
|
-
const sessionId = headers[
|
|
1047
|
+
const sessionId = headers[MCP_SESSION_ID_HEADER];
|
|
981
1048
|
if (sessionId === undefined) {
|
|
982
1049
|
return sessions.get(String(clientId));
|
|
983
1050
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpServer.js","names":["Arr","Cause","Context","Effect","Exit","Fiber","Layer","Option","Queue","RcMap","CurrentLogLevel","Schema","SchemaAST","Sink","Stream","FindMyWay","Headers","appendPreResponseHandlerUnsafe","HttpRouter","HttpServerRequest","HttpServerResponse","Rpc","RpcClient","RpcMessage","RpcSerialization","RpcServer","CallToolResult","ClientNotificationRpcs","ClientRpcs","CompleteResult","Elicit","ElicitationDeclined","EnabledWhen","GetPromptResult","InternalError","InvalidParams","isParam","ListPromptsResult","ListResourcesResult","ListResourceTemplatesResult","ListToolsResult","McpServerClient","McpServerClientMiddleware","Prompt","Resource","ResourceTemplate","ServerNotificationRpcs","ServerRequestRpcs","TextContent","Tool","McpTool","McpServer","Service","make","gen","matcher","makeUriMatcher","tools","empty","toolMap","Map","resources","resourceTemplates","prompts","promptMap","completionsMap","notificationsQueue","listChangedHandles","notifications","makeNoSerialization","spanPrefix","onFromClient","options","suspend","message","_tag","void","tag","includes","has","set","setTimeout","offerUnsafe","delete","write","clientId","requestId","id","exit","of","client","initializedClients","Set","addTool","push","tool","name","handle","callTool","request","get","fail","arguments","addResource","add","resource","uri","effect","addResourceTemplate","annotations","completions","routerPath","template","param","Object","entries","uriTemplate","findResource","match","find","succeed","contents","handler","params","key","keys","Number","addPrompt","prompt","getPromptResult","fnUntraced","completion","complete","ref","type","argument","value","layer","LATEST_PROTOCOL_VERSION","SUPPORTED_PROTOCOL_VERSIONS","mcpSessionIdHeader","mcpProtocolVersionHeader","run","protocol","Protocol","server","isHttp","isSome","serviceOption","clientSessions","handlers","build","layerHandlers","clients","lookup","pipe","provideServiceEffect","writeResponse","cid","send","_transferables","headers","undefined","traceId","spanId","sampled","supportsAck","supportsTransferables","supportsStructuredClone","idleTimeToLive","clientMiddleware","rpc","initializePayload","getInitializedClient","isInitialize","fiber","getCurrent","httpRequest","getOrUndefined","context","status","die","Error","provideService","getClient","map","patchedProtocol","f","request_","getUnsafe","_","res","setHeader","protocolVersion","requests","String","payload","mapUnsafe","RequestId","ServerClient","fromInput","flatMap","scoped","encodeNotification","encodeUnknownEffect","Union","Array","from","values","payloadSchema","take","encoded","clientIds","catchCause","forever","forkScoped","disableFatalDefects","provide","effectDiscard","provideMerge","layerStdio","layerProtocolStdio","layerNdJsonRpc","layerHttp","layerProtocolHttp","layerJsonRpc","registerToolkit","toolkit","registry","built","services","toolMeta","Meta","mcpTool","description","getDescription","inputSchema","getJsonSchema","getOption","Title","title","readOnlyHint","Readonly","destructiveHint","Destructive","idempotentHint","Idempotent","openWorldHint","OpenWorld","_meta","unwrap","last","fromOption","provideContext","matchCause","onFailure","cause","isError","content","text","pretty","onSuccess","result","structuredContent","encodedResult","JSON","stringify","tapCause","log","registerResource","length","resolveResourceContent","prettyError","prettyErrors","schema","uriPath","compileUriTemplate","decode","decodeUnknownEffect","encodeArray","input","total","hasMore","mapError","error","register","registerPrompt","args","props","parameters","prop","resolveDescription","ast","required","isOptional","decodeEffect","Struct","encodeEffect","messages","role","elicit","requestedSchema","getJsonSchemaFromSchema","squash","action","orDie","interrupt","clientCapabilities","useSync","capabilities","router","ignoreTrailingSlash","ignoreDuplicateSlashes","caseSensitive","on","segments","schemas","replace","pathSchema","Tuple","arr","i","toCodecStringTree","segment","paramName","serverInfo","toLayer","currentLogLevel","ping","initialize","requestedVersion","listChanged","subscribe","extensions","withFiber","sessionId","crypto","randomUUID","_req","setHeaders","r","logging/setLevel","level","sync","prompts/list","initialized","filterByClient","resources/list","resources/read","resources/subscribe","notImplemented","resources/unsubscribe","resources/templates/list","tools/list","Uint8Array","blob","items","item","out","enabledWhen","sessions"],"sources":["../../../src/unstable/ai/McpServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;AAYA,OAAO,KAAKA,GAAG,MAAM,gBAAgB;AACrC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,OAAO,MAAM,kBAAkB;AAC3C,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,IAAI,MAAM,eAAe;AACrC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,SAAS,MAAM,oBAAoB;AAC/C,OAAO,KAAKC,IAAI,MAAM,eAAe;AAErC,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AAEzC,OAAO,KAAKC,SAAS,MAAM,sBAAsB;AACjD,OAAO,KAAKC,OAAO,MAAM,oBAAoB;AAC7C,SAASC,8BAA8B,QAAQ,uBAAuB;AACtE,OAAO,KAAKC,UAAU,MAAM,uBAAuB;AACnD,OAAO,KAAKC,iBAAiB,MAAM,8BAA8B;AACjE,OAAO,KAAKC,kBAAkB,MAAM,+BAA+B;AACnE,OAAO,KAAKC,GAAG,MAAM,eAAe;AACpC,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAEhD,OAAO,KAAKC,UAAU,MAAM,sBAAsB;AAClD,OAAO,KAAKC,gBAAgB,MAAM,4BAA4B;AAC9D,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAChD,SACEC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,EACVC,cAAc,EACdC,MAAM,EACNC,mBAAmB,EACnBC,WAAW,EACXC,eAAe,EACfC,aAAa,EACbC,aAAa,EACbC,OAAO,EACPC,iBAAiB,EACjBC,mBAAmB,EACnBC,2BAA2B,EAC3BC,eAAe,EACfC,eAAe,EACfC,yBAAyB,EACzBC,MAAM,EACNC,QAAQ,EACRC,gBAAgB,EAChBC,sBAAsB,EACtBC,iBAAiB,EACjBC,WAAW,EACXC,IAAI,IAAIC,OAAO,QACV,gBAAgB;AAavB,OAAO,KAAKD,IAAI,MAAM,WAAW;AAGjC;;;;;;;;;;;;AAYA,OAAM,MAAOE,SAAU,sBAAQjD,OAAO,CAACkD,OAAO,EAuE1C,CAAC,qBAAqB,CAAC;EACzB;;;;;EAKA,OAAgBC,IAAI,gBAAGlD,MAAM,CAACmD,GAAG,CAAC,aAAS;IACzC,MAAMC,OAAO,GAAGC,cAAc,EAW3B;IACH,MAAMC,KAAK,GAAGzD,GAAG,CAAC0D,KAAK,EAGnB;IACJ,MAAMC,OAAO,GAAG,IAAIC,GAAG,EAA2F;IAClH,MAAMC,SAAS,GAGV,EAAE;IACP,MAAMC,iBAAiB,GAGlB,EAAE;IACP,MAAMC,OAAO,GAGR,EAAE;IACP,MAAMC,SAAS,GAAG,IAAIJ,GAAG,EAGtB;IACH,MAAMK,cAAc,GAAG,IAAIL,GAAG,EAG3B;IACH,MAAMM,kBAAkB,GAAG,OAAO1D,KAAK,CAAC6C,IAAI,EAA2B;IACvE,MAAMc,kBAAkB,GAAG,IAAIP,GAAG,EAAe;IACjD,MAAMQ,aAAa,GAAG,OAAO9C,SAAS,CAAC+C,mBAAmB,CAACvB,sBAAsB,EAAE;MACjFwB,UAAU,EAAE,yBAAyB;MACrCC,YAAY,EAAGC,OAAO,IACpBrE,MAAM,CAACsE,OAAO,CAAC,MAA0B;QACvC,MAAMC,OAAO,GAAGF,OAAO,CAACE,OAAO;QAC/B,IAAIA,OAAO,CAACC,IAAI,KAAK,SAAS,EAAE;UAC9B,OAAOxE,MAAM,CAACyE,IAAI;QACpB;QACA,IAAIF,OAAO,CAACG,GAAG,CAACC,QAAQ,CAAC,cAAc,CAAC,EAAE;UACxC,IAAI,CAACX,kBAAkB,CAACY,GAAG,CAACL,OAAO,CAACG,GAAG,CAAC,EAAE;YACxCV,kBAAkB,CAACa,GAAG,CACpBN,OAAO,CAACG,GAAG,EACXI,UAAU,CAAC,MAAK;cACdzE,KAAK,CAAC0E,WAAW,CAAChB,kBAAkB,EAAEQ,OAAO,CAAC;cAC9CP,kBAAkB,CAACgB,MAAM,CAACT,OAAO,CAACG,GAAG,CAAC;YACxC,CAAC,EAAE,CAAC,CAAC,CACN;UACH;QACF,CAAC,MAAM;UACLrE,KAAK,CAAC0E,WAAW,CAAChB,kBAAkB,EAAEQ,OAAO,CAAC;QAChD;QACA,OAAON,aAAa,CAACgB,KAAK,CAAC;UACzBC,QAAQ,EAAE,CAAC;UACXC,SAAS,EAAEZ,OAAO,CAACa,EAAE;UACrBZ,IAAI,EAAE,MAAM;UACZa,IAAI,EAAEpF,IAAI,CAACwE;SACZ,CAAC;MACJ,CAAC;KACJ,CAAC;IAEF,OAAOzB,SAAS,CAACsC,EAAE,CAAC;MAClBrB,aAAa,EAAEA,aAAa,CAACsB,MAAM;MACnCxB,kBAAkB;MAClByB,kBAAkB,EAAE,IAAIC,GAAG,EAAE;MAC7B,IAAInC,KAAKA,CAAA;QACP,OAAOA,KAAK;MACd,CAAC;MACDoC,OAAO,EAAGrB,OAAO,IACfrE,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClBhB,KAAK,CAACqC,IAAI,CAACtB,OAAO,CAAC;QACnBb,OAAO,CAACqB,GAAG,CAACR,OAAO,CAACuB,IAAI,CAACC,IAAI,EAAExB,OAAO,CAACyB,MAAM,CAAC;QAC9C,OAAO7B,aAAa,CAACsB,MAAM,CAAC,kCAAkC,CAAC,CAAC,EAAE,CAAC;MACrE,CAAC,CAAC;MACJQ,QAAQ,EAAGC,OAAO,IAChBhG,MAAM,CAACsE,OAAO,CAAC,MAAoF;QACjG,MAAMwB,MAAM,GAAGtC,OAAO,CAACyC,GAAG,CAACD,OAAO,CAACH,IAAI,CAAC;QACxC,IAAI,CAACC,MAAM,EAAE;UACX,OAAO9F,MAAM,CAACkG,IAAI,CAAC,IAAIlE,aAAa,CAAC;YAAEuC,OAAO,EAAE,SAASyB,OAAO,CAACH,IAAI;UAAa,CAAE,CAAC,CAAC;QACxF;QACA,OAAOC,MAAM,CAACE,OAAO,CAACG,SAAS,CAAC;MAClC,CAAC,CAAC;MACJ,IAAIzC,SAASA,CAAA;QACX,OAAOA,SAAS;MAClB,CAAC;MACD,IAAIC,iBAAiBA,CAAA;QACnB,OAAOA,iBAAiB;MAC1B,CAAC;MACDyC,WAAW,EAAG/B,OAAO,IACnBrE,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClBZ,SAAS,CAACiC,IAAI,CAACtB,OAAO,CAAC;QACvBjB,OAAO,CAACiD,GAAG,CAAChC,OAAO,CAACiC,QAAQ,CAACC,GAAG,EAAE;UAAE/B,IAAI,EAAE,UAAU;UAAEgC,MAAM,EAAEnC,OAAO,CAACyB;QAAM,CAAE,CAAC;QAC/E,OAAO7B,aAAa,CAACsB,MAAM,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC;MACzE,CAAC,CAAC;MACJkB,mBAAmB,EAAEA,CAAC;QAAEC,WAAW;QAAEC,WAAW;QAAEb,MAAM;QAAEc,UAAU;QAAEC;MAAQ,CAAE,KAC9E7G,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClBX,iBAAiB,CAACgC,IAAI,CAAC;UAAEkB,QAAQ;UAAEH;QAAW,CAAE,CAAC;QACjDtD,OAAO,CAACiD,GAAG,CAACO,UAAU,EAAE;UAAEpC,IAAI,EAAE,kBAAkB;UAAEsB;QAAM,CAAE,CAAC;QAC7D,KAAK,MAAM,CAACgB,KAAK,EAAEhB,MAAM,CAAC,IAAIiB,MAAM,CAACC,OAAO,CAACL,WAAW,CAAC,EAAE;UACzD7C,cAAc,CAACe,GAAG,CAAC,gBAAgBgC,QAAQ,CAACI,WAAW,IAAIH,KAAK,EAAE,EAAEhB,MAAM,CAAC;QAC7E;QACA,OAAO7B,aAAa,CAACsB,MAAM,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC;MACzE,CAAC,CAAC;MACJ2B,YAAY,EAAGX,GAAG,IAChBvG,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClB,MAAM6C,KAAK,GAAG/D,OAAO,CAACgE,IAAI,CAACb,GAAG,CAAC;QAC/B,IAAI,CAACY,KAAK,EAAE;UACV,OAAOnH,MAAM,CAACqH,OAAO,CAAC;YAAEC,QAAQ,EAAE;UAAE,CAAE,CAAC;QACzC,CAAC,MAAM,IAAIH,KAAK,CAACI,OAAO,CAAC/C,IAAI,KAAK,UAAU,EAAE;UAC5C,OAAO2C,KAAK,CAACI,OAAO,CAACf,MAAM;QAC7B;QACA,MAAMgB,MAAM,GAAkB,EAAE;QAChC,KAAK,MAAMC,GAAG,IAAIV,MAAM,CAACW,IAAI,CAACP,KAAK,CAACK,MAAM,CAAC,EAAE;UAC3CA,MAAM,CAACG,MAAM,CAACF,GAAG,CAAC,CAAC,GAAGN,KAAK,CAACK,MAAM,CAACC,GAAG,CAAE;QAC1C;QACA,OAAON,KAAK,CAACI,OAAO,CAACzB,MAAM,CAACS,GAAG,EAAEiB,MAAM,CAAC;MAC1C,CAAC,CAAC;MACJ,IAAI5D,OAAOA,CAAA;QACT,OAAOA,OAAO;MAChB,CAAC;MACDgE,SAAS,EAAGvD,OAAO,IACjBrE,MAAM,CAACsE,OAAO,CAAC,MAAK;QAClBV,OAAO,CAAC+B,IAAI,CAACtB,OAAO,CAAC;QACrBR,SAAS,CAACgB,GAAG,CAACR,OAAO,CAACwD,MAAM,CAAChC,IAAI,EAAExB,OAAO,CAACyB,MAAM,CAAC;QAClD,KAAK,MAAM,CAACgB,KAAK,EAAEhB,MAAM,CAAC,IAAIiB,MAAM,CAACC,OAAO,CAAC3C,OAAO,CAACsC,WAAW,CAAC,EAAE;UACjE7C,cAAc,CAACe,GAAG,CAAC,cAAcR,OAAO,CAACwD,MAAM,CAAChC,IAAI,IAAIiB,KAAK,EAAE,EAAEhB,MAAM,CAAC;QAC1E;QACA,OAAO7B,aAAa,CAACsB,MAAM,CAAC,oCAAoC,CAAC,CAAC,EAAE,CAAC;MACvE,CAAC,CAAC;MACJuC,eAAe,EAAE9H,MAAM,CAAC+H,UAAU,CAAC,WAAU;QAAE5B,SAAS,EAAEqB,MAAM;QAAE3B;MAAI,CAAE;QACtE,MAAM0B,OAAO,GAAG1D,SAAS,CAACoC,GAAG,CAACJ,IAAI,CAAC;QACnC,IAAI,CAAC0B,OAAO,EAAE;UACZ,OAAO,OAAO,IAAIvF,aAAa,CAAC;YAAEuC,OAAO,EAAE,WAAWsB,IAAI;UAAa,CAAE,CAAC;QAC5E;QACA,OAAO,OAAO0B,OAAO,CAACC,MAAM,IAAI,EAAE,CAAC;MACrC,CAAC,CAAC;MACFQ,UAAU,EAAEhI,MAAM,CAAC+H,UAAU,CAAC,WAAUE,QAAQ;QAC9C,MAAMC,GAAG,GAAGD,QAAQ,CAACC,GAAG;QACxB,MAAMT,GAAG,GAAGS,GAAG,CAACC,IAAI,KAAK,cAAc,GACnC,gBAAgBD,GAAG,CAAC3B,GAAG,IAAI0B,QAAQ,CAACG,QAAQ,CAACvC,IAAI,EAAE,GACnD,cAAcqC,GAAG,CAACrC,IAAI,IAAIoC,QAAQ,CAACG,QAAQ,CAACvC,IAAI,EAAE;QACtD,MAAM0B,OAAO,GAAGzD,cAAc,CAACmC,GAAG,CAACwB,GAAG,CAAC;QACvC,OAAOF,OAAO,GAAG,OAAOA,OAAO,CAACU,QAAQ,CAACG,QAAQ,CAACC,KAAK,CAAC,GAAG3G,cAAc,CAAC6B,KAAK;MACjF,CAAC;KACF,CAAC;EACJ,CAAC,CAAC;EAEF;;;;;EAKA,OAAgB+E,KAAK,gBAA6CnI,KAAK,CAACqG,MAAM,CAACxD,SAAS,CAAC,CAACA,SAAS,CAACE,IAAI,CAAQ;;AAGlH,MAAMqF,uBAAuB,GAAG,YAAY;AAC5C,MAAMC,2BAA2B,GAAG,CAClCD,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,YAAY,CACb;AACD,MAAME,kBAAkB,GAAG,gBAAgB;AAC3C,MAAMC,wBAAwB,GAAG,sBAAsB;AAEvD;;;;;;;;;;;;AAYA,OAAO,MAAMC,GAAG,gBAQZ3I,MAAM,CAAC+H,UAAU,CAAC,WAAU1D,OAG/B;EACC,MAAMuE,QAAQ,GAAG,OAAOtH,SAAS,CAACuH,QAAQ;EAC1C,MAAMC,MAAM,GAAG,OAAO9F,SAAS;EAC/B,MAAM+F,MAAM,GAAG3I,MAAM,CAAC4I,MAAM,CAAC,OAAOhJ,MAAM,CAACiJ,aAAa,CAAClI,UAAU,CAACA,UAAU,CAAC,CAAC;EAChF,MAAMmI,cAAc,GAAG,IAAIzF,GAAG,EAAgD;EAC9E,MAAM0F,QAAQ,GAAG,OAAOhJ,KAAK,CAACiJ,KAAK,CAACC,aAAa,CAAChF,OAAO,EAAE;IAAE6E;EAAc,CAAE,CAAC,CAAC;EAE/E,MAAMI,OAAO,GAAG,OAAOhJ,KAAK,CAAC4C,IAAI,CAAC;IAChCqG,MAAM,EAAEvJ,MAAM,CAAC+H,UAAU,CAAC,WAAU7C,QAAgB;MAClD,IAAID,KAAsE;MAC1E,MAAMM,MAAM,GAAG,OAAOpE,SAAS,CAAC+B,IAAI,CAACN,iBAAiB,EAAE;QACtDuB,UAAU,EAAE;OACb,CAAC,CAACqF,IAAI,CACLxJ,MAAM,CAACyJ,oBAAoB,CACzBtI,SAAS,CAAC0H,QAAQ,EAClB1H,SAAS,CAAC0H,QAAQ,CAAC3F,IAAI,CAAClD,MAAM,CAAC+H,UAAU,CAAC,WAAU2B,aAAa;QAC/D,IAAIC,GAAG,GAAG,CAAC;QACX1E,KAAK,GAAIV,OAAO,IAAKmF,aAAa,CAACC,GAAG,EAAEpF,OAAO,CAAC;QAChD,OAAO;UACLqF,IAAIA,CAACxE,EAAE,EAAEY,OAAO,EAAE6D,cAAc;YAC9BF,GAAG,GAAGvE,EAAE;YACR,OAAOwD,QAAQ,CAACgB,IAAI,CAAC1E,QAAQ,EAAE;cAC7B,GAAGc,OAAO;cACV8D,OAAO,EAAEC,SAAS;cAClBC,OAAO,EAAED,SAAS;cAClBE,MAAM,EAAEF,SAAS;cACjBG,OAAO,EAAEH;aACH,CAAC;UACX,CAAC;UACDI,WAAW,EAAE,IAAI;UACjBC,qBAAqB,EAAE,KAAK;UAC5BC,uBAAuB,EAAE;SAC1B;MACH,CAAC,CAAC,CAAC,CACJ,CACF;MAED,OAAO;QAAE9E,MAAM;QAAEN;MAAK,CAAW;IACnC,CAAC,CAAC;IACFqF,cAAc,EAAE;GACjB,CAAC;EAEF,MAAMC,gBAAgB,GAAGhI,yBAAyB,CAAC+C,EAAE,CAAC,CAACkB,MAAM,EAAE;IAAEjB,MAAM;IAAEuE,OAAO;IAAEU;EAAG,CAAE,KAAI;IACzF,MAAMC,iBAAiB,GAAGC,oBAAoB,CAACxB,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;IAClF,MAAMa,YAAY,GAAGH,GAAG,CAAChG,IAAI,KAAK,YAAY;IAC9C,IAAI,CAACmG,YAAY,IAAI,CAACF,iBAAiB,EAAE;MACvC,MAAMG,KAAK,GAAG1K,KAAK,CAAC2K,UAAU,EAAG;MACjC,MAAMC,WAAW,GAAG/K,OAAO,CAACgL,cAAc,CAACH,KAAK,CAACI,OAAO,EAAEhK,iBAAiB,CAACA,iBAAiB,CAAC;MAC9F,IAAI8J,WAAW,EAAE;QACfhK,8BAA8B,CAC5BgK,WAAW,EACX,MAAM9K,MAAM,CAACqH,OAAO,CAACpG,kBAAkB,CAACsC,KAAK,CAAC;UAAE0H,MAAM,EAAE;QAAG,CAAE,CAAC,CAAC,CAChE;MACH;MACA,OAAOjL,MAAM,CAACkL,GAAG,CAAC,IAAIC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/D;IACA,OAAOnL,MAAM,CAACoL,cAAc,CAC1B5E,MAAM,EACNlE,eAAe,EACfA,eAAe,CAACgD,EAAE,CAAC;MACjBJ,QAAQ,EAAEK,MAAM,CAACH,EAAE;MACnBqF,iBAAiB,EAAEA,iBAAkB;MACrCY,SAAS,EAAE/K,KAAK,CAAC2F,GAAG,CAACqD,OAAO,EAAE/D,MAAM,CAACH,EAAE,CAAC,CAACoE,IAAI,CAC3CxJ,MAAM,CAACsL,GAAG,CAAC,CAAC;QAAE/F;MAAM,CAAE,KAAKA,MAAM,CAAC;KAErC,CAAC,CACH;EACH,CAAC,CAAC;EAEF,MAAMgG,eAAe,GAAGjK,SAAS,CAACuH,QAAQ,CAACvD,EAAE,CAAC;IAC5C,GAAGsD,QAAQ;IACXD,GAAG,EAAG6C,CAAC,IACL5C,QAAQ,CAACD,GAAG,CAAC,CAACzD,QAAQ,EAAEuG,QAAQ,KAAI;MAClC,MAAMzF,OAAO,GAAGyF,QAEgB;MAChC,QAAQzF,OAAO,CAACxB,IAAI;QAClB,KAAK,SAAS;UAAE;YACd,IAAIuE,MAAM,EAAE;cACV,MAAM6B,KAAK,GAAG1K,KAAK,CAAC2K,UAAU,EAAG;cACjC,MAAMC,WAAW,GAAG/K,OAAO,CAAC2L,SAAS,CAACd,KAAK,CAACI,OAAO,EAAEhK,iBAAiB,CAACA,iBAAiB,CAAC;cACzF,MAAMuE,MAAM,GAAGmF,oBAAoB,CAACxB,cAAc,EAAEhE,QAAQ,EAAE4F,WAAW,CAAChB,OAAO,CAAC;cAClF,IAAIvE,MAAM,EAAE;gBACVzE,8BAA8B,CAACgK,WAAW,EAAE,CAACa,CAAC,EAAEC,GAAG,KACjD5L,MAAM,CAACqH,OAAO,CACZpG,kBAAkB,CAAC4K,SAAS,CAACD,GAAG,EAAElD,wBAAwB,EAAEnD,MAAM,CAACuG,eAAe,CAAC,CACpF,CAAC;cACN;YACF;YACA,MAAMtB,GAAG,GAAGhJ,sBAAsB,CAACuK,QAAQ,CAAC9F,GAAG,CAACD,OAAO,CAACtB,GAAG,CAAC;YAC5D,IAAI8F,GAAG,EAAE;cACP,IAAIxE,OAAO,CAACtB,GAAG,KAAK,yBAAyB,EAAE;gBAC7C,OAAO8G,CAAC,CAACtG,QAAQ,EAAE;kBACjBV,IAAI,EAAE,WAAW;kBACjBW,SAAS,EAAE6G,MAAM,CAAEhG,OAAO,CAACiG,OAAe,CAAC9G,SAAS;iBACrD,CAAC;cACJ;cACA,MAAMoC,OAAO,GAAG4B,QAAQ,CAAC+C,SAAS,CAACjG,GAAG,CAACD,OAAO,CAACtB,GAAG,CAAwB;cAC1E,OAAO6C,OAAO,GACVA,OAAO,CAACA,OAAO,CAACvB,OAAO,CAACiG,OAAO,EAAE;gBACjCzB,GAAG;gBACHrF,SAAS,EAAE/D,UAAU,CAAC+K,SAAS,CAACnG,OAAO,CAACZ,EAAE,CAAC;gBAC3CG,MAAM,EAAE,IAAIrE,GAAG,CAACkL,YAAY,CAAClH,QAAQ,CAAC;gBACtC4E,OAAO,EAAEjJ,OAAO,CAACwL,SAAS,CAACrG,OAAO,CAAC8D,OAAO;eAC3C,CAA+B,GAC9B9J,MAAM,CAACyE,IAAI;YACjB;YACA,OAAO+G,CAAC,CAACtG,QAAQ,EAAEc,OAAO,CAAC;UAC7B;QACA,KAAK,MAAM;QACX,KAAK,KAAK;QACV,KAAK,WAAW;QAChB,KAAK,KAAK;UACR,OAAOwF,CAAC,CAACtG,QAAQ,EAAEc,OAAO,CAAC;QAC7B,KAAK,MAAM;QACX,KAAK,MAAM;QACX,KAAK,OAAO;QACZ,KAAK,qBAAqB;QAC1B,KAAK,QAAQ;UACX,OAAO1F,KAAK,CAAC2F,GAAG,CAACqD,OAAO,EAAEpE,QAAQ,CAAC,CAACsE,IAAI,CACtCxJ,MAAM,CAACsM,OAAO,CAAC,CAAC;YAAErH;UAAK,CAAE,KAAKA,KAAK,CAACe,OAAO,CAAC,CAAC,EAC7ChG,MAAM,CAACuM,MAAM,CACd;MACL;IACF,CAAC;GACJ,CAAC;EAEF,MAAMC,kBAAkB,GAAGhM,MAAM,CAACiM,mBAAmB,CACnDjM,MAAM,CAACkM,KAAK,CAACC,KAAK,CAACC,IAAI,CAACjK,sBAAsB,CAACoJ,QAAQ,CAACc,MAAM,EAAE,EAAGrC,GAAG,IAAKA,GAAG,CAACsC,aAAa,CAAC,CAAC,CAC/F;EACD,OAAOzM,KAAK,CAAC0M,IAAI,CAACjE,MAAM,CAAC/E,kBAAkB,CAAC,CAACyF,IAAI,CAC/CxJ,MAAM,CAACsM,OAAO,CAACtM,MAAM,CAAC+H,UAAU,CAAC,WAAU/B,OAAO;IAChD,MAAMgH,OAAO,GAAG,OAAOR,kBAAkB,CAACxG,OAAO,CAACiG,OAAO,CAAC;IAC1D,MAAM1H,OAAO,GAA8B;MACzCC,IAAI,EAAE,SAAS;MACfE,GAAG,EAAEsB,OAAO,CAACtB,GAAG;MAChBuH,OAAO,EAAEe;KACH;IACR,MAAMC,SAAS,GAAG,OAAO1B,eAAe,CAAC0B,SAAS;IAClD,KAAK,MAAM/H,QAAQ,IAAI4D,MAAM,CAACtD,kBAAkB,CAACkC,IAAI,EAAE,EAAE;MACvD,IAAI,CAACuF,SAAS,CAACrI,GAAG,CAACM,QAAQ,CAAC,EAAE;QAC5B4D,MAAM,CAACtD,kBAAkB,CAACR,MAAM,CAACE,QAAQ,CAAC;QAC1C;MACF;MACA,OAAOqG,eAAe,CAAC3B,IAAI,CAAC1E,QAAQ,EAAEX,OAAc,CAAC;IACvD;EACF,CAAC,CAAC,CAAC,EACHvE,MAAM,CAACkN,UAAU,CAAC,MAAMlN,MAAM,CAACyE,IAAI,CAAC,EACpCzE,MAAM,CAACmN,OAAO,EACdnN,MAAM,CAACoN,UAAU,CAClB;EAED,OAAO,OAAO9L,SAAS,CAAC4B,IAAI,CAACzB,UAAU,EAAE;IACvC0C,UAAU,EAAE,WAAW;IACvBkJ,mBAAmB,EAAE;GACtB,CAAC,CAAC7D,IAAI,CACLxJ,MAAM,CAACoL,cAAc,CAAC9J,SAAS,CAACuH,QAAQ,EAAE0C,eAAe,CAAC,EAC1DvL,MAAM,CAACoL,cAAc,CAAC7I,yBAAyB,EAAEgI,gBAAgB,CAAC,EAClEvK,MAAM,CAACsN,OAAO,CAACnE,QAAQ,CAAC,CACzB;AACH,CAAC,EAAEnJ,MAAM,CAACuM,MAAM,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,OAAO,MAAMjE,KAAK,GAAIjE,OAIrB,IACClE,KAAK,CAACoN,aAAa,CAACvN,MAAM,CAACoN,UAAU,CAACzE,GAAG,CAACtE,OAAO,CAAC,CAAC,CAAC,CAACmF,IAAI,CACvDrJ,KAAK,CAACqN,YAAY,CAACxK,SAAS,CAACsF,KAAK,CAAC,CACpC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,OAAO,MAAMmF,UAAU,GAAIpJ,OAI1B,IACCiE,KAAK,CAACjE,OAAO,CAAC,CAACmF,IAAI,CACjBrJ,KAAK,CAACmN,OAAO,CAAChM,SAAS,CAACoM,kBAAkB,CAAC,EAC3CvN,KAAK,CAACmN,OAAO,CAACjM,gBAAgB,CAACsM,cAAc,EAAE,CAAC,CACjD;AAEH;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,MAAMC,SAAS,GAAIvJ,OAKzB,IACCiE,KAAK,CAACjE,OAAO,CAAC,CAACmF,IAAI,CACjBrJ,KAAK,CAACmN,OAAO,CAAChM,SAAS,CAACuM,iBAAiB,CAACxJ,OAAO,CAAC,CAAC,EACnDlE,KAAK,CAACmN,OAAO,CAACjM,gBAAgB,CAACyM,YAAY,EAAE,CAAC,CAC/C;AAEH;;;;;;AAMA,OAAO,MAAMC,eAAe,gBAMxB/N,MAAM,CAAC+H,UAAU,CAAC,WACpBiG,OAA+B;EAE/B,MAAMC,QAAQ,GAAG,OAAOjL,SAAS;EACjC,MAAMkL,KAAK,GAAG,OAAQF,OAIpB;EACF,MAAMG,QAAQ,GAAG,OAAOnO,MAAM,CAACgL,OAAO,EAAS;EAC/C,KAAK,MAAMpF,IAAI,IAAImB,MAAM,CAAC8F,MAAM,CAACqB,KAAK,CAAC5K,KAAK,CAAC,EAAE;IAC7C,MAAMoD,WAAW,GAAGd,IAAI,CAACc,WAAW;IACpC,MAAM0H,QAAQ,GAAGrO,OAAO,CAACgL,cAAc,CAACrE,WAAW,EAAE5D,IAAI,CAACuL,IAAI,CAAC;IAC/D,MAAMC,OAAO,GAAG,IAAIvL,OAAO,CAAC;MAC1B8C,IAAI,EAAED,IAAI,CAACC,IAAI;MACf0I,WAAW,EAAEzL,IAAI,CAAC0L,cAAc,CAAC5I,IAAI,CAAC;MACtC6I,WAAW,EAAE3L,IAAI,CAAC4L,aAAa,CAAC9I,IAAI,CAAC;MACrCc,WAAW,EAAE;QACX,GAAI3G,OAAO,CAAC4O,SAAS,CAAC/I,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAAC8L,KAAK,CAAC,CAACpF,IAAI,CACtDpJ,MAAM,CAACkL,GAAG,CAAEuD,KAAK,KAAM;UAAEA;QAAK,CAAE,CAAC,CAAC,EAClCzO,MAAM,CAAC2K,cAAc,CACrB;QACF+D,YAAY,EAAE/O,OAAO,CAACkG,GAAG,CAACL,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAACiM,QAAQ,CAAC;QAC1DC,eAAe,EAAEjP,OAAO,CAACkG,GAAG,CAACL,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAACmM,WAAW,CAAC;QAChEC,cAAc,EAAEnP,OAAO,CAACkG,GAAG,CAACL,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAACqM,UAAU,CAAC;QAC9DC,aAAa,EAAErP,OAAO,CAACkG,GAAG,CAACL,IAAI,CAACc,WAAW,EAAE5D,IAAI,CAACuM,SAAS;OAC5D;MACDC,KAAK,EAAElB;KACR,CAAC;IACF,OAAOH,QAAQ,CAACvI,OAAO,CAAC;MACtBE,IAAI,EAAE0I,OAAO;MACb5H,WAAW;MACXZ,MAAMA,CAACmG,OAAO;QACZ,OAAOiC,KAAK,CAACpI,MAAM,CAACF,IAAI,CAACC,IAAW,EAAEoG,OAAO,CAAC,CAACzC,IAAI,CACjD7I,MAAM,CAAC4O,MAAM,EACb5O,MAAM,CAACgI,GAAG,CAACjI,IAAI,CAAC8O,IAAI,EAAE,CAAC,EACvBxP,MAAM,CAACsM,OAAO,CAACtM,MAAM,CAACyP,UAAU,CAAC,EACjCzP,MAAM,CAAC0P,cAAc,CAACvB,QAAgC,CAAC,EACvDnO,MAAM,CAAC2P,UAAU,CAAC;UAChBC,SAAS,EAAGC,KAAK,IACf,IAAItO,cAAc,CAAC;YACjBuO,OAAO,EAAE,IAAI;YACbC,OAAO,EAAE,CAAC;cACR5H,IAAI,EAAE,MAAM;cACZ6H,IAAI,EAAElQ,KAAK,CAACmQ,MAAM,CAACJ,KAAK;aACzB;WACF,CAAC;UACJK,SAAS,EAAGC,MAAW,IACrB,IAAI5O,cAAc,CAAC;YACjBuO,OAAO,EAAE,KAAK;YACdM,iBAAiB,EAAE,OAAOD,MAAM,CAACE,aAAa,KAAK,QAAQ,GAAGF,MAAM,CAACE,aAAa,GAAGtG,SAAS;YAC9FgG,OAAO,EAAE,CAAC;cACR5H,IAAI,EAAE,MAAM;cACZ6H,IAAI,EAAEM,IAAI,CAACC,SAAS,CAACJ,MAAM,CAACE,aAAa;aAC1C;WACF;SACJ,CAAC,EACFrQ,MAAM,CAACwQ,QAAQ,CAACxQ,MAAM,CAACyQ,GAAG,CAAC,CACrB;MACV;KACD,CAAC;EACJ;AACF,CAAC,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMzC,OAAO,GAClBA,OAA+B,IAM/B7N,KAAK,CAACoN,aAAa,CAACQ,eAAe,CAACC,OAAO,CAAC,CAAC,CAACxE,IAAI,CAChDrJ,KAAK,CAACmN,OAAO,CAACtK,SAAS,CAACsF,KAAK,CAAC,CAC/B;AAkCH;;;;;;;;;;;;;;AAcA,OAAO,MAAMoI,gBAAgB,GA4EzB,SAAAA,CAAA;EACF,IAAIvK,SAAS,CAACwK,MAAM,KAAK,CAAC,EAAE;IAC1B,MAAMtM,OAAO,GAAG8B,SAAS,CAAC,CAAC,CAS1B;IACD,OAAOnG,MAAM,CAACmD,GAAG,CAAC,aAAS;MACzB,MAAMgL,QAAQ,GAAG,OAAOnO,MAAM,CAACgL,OAAO,EAAO;MAC7C,MAAMiD,QAAQ,GAAG,OAAOjL,SAAS;MACjC,OAAOiL,QAAQ,CAAC7H,WAAW,CAAC;QAC1BE,QAAQ,EAAE,IAAI7D,QAAQ,CAAC;UACrB,GAAG4B,OAAO;UACVqC,WAAW,EAAErC;SACd,CAAC;QACFyB,MAAM,EAAEzB,OAAO,CAAC0L,OAAO,CAACvG,IAAI,CAC1BxJ,MAAM,CAAC0P,cAAc,CAACvB,QAAQ,CAAC,EAC/BnO,MAAM,CAACsL,GAAG,CAAEyE,OAAO,IAAKa,sBAAsB,CAACvM,OAAO,CAACkC,GAAG,EAAEwJ,OAAO,CAAC,CAAC,EACrE/P,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;UAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;UAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;YAAEwC,OAAO,EAAEsM,WAAW,CAACtM;UAAO,CAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CACH;QACDmC,WAAW,EAAErC,OAAO,CAACqC,WAAW,IAAI3G,OAAO,CAACwD,KAAK;OAClD,CAAC;IACJ,CAAC,CAAC;EACJ;EACA,MAAM;IACJiE,MAAM;IACNZ,UAAU;IACVmK,MAAM;IACNC;EAAO,CACR,GAAGC,kBAAkB,CAAC,GAAI9K,SAA+B,CAAC;EAC3D,OAAOnG,MAAM,CAAC+H,UAAU,CAAC,WAAgB1D,OAaxC;IACC,MAAM8J,QAAQ,GAAG,OAAOnO,MAAM,CAACgL,OAAO,EAAO;IAC7C,MAAMiD,QAAQ,GAAG,OAAOjL,SAAS;IACjC,MAAMkO,MAAM,GAAG1Q,MAAM,CAAC2Q,mBAAmB,CAACJ,MAAM,CAAC;IACjD,MAAMlK,QAAQ,GAAG,IAAInE,gBAAgB,CAAC;MACpC,GAAG2B,OAAO;MACV4C,WAAW,EAAE+J,OAAO;MACpBtK,WAAW,EAAErC;KACd,CAAC;IACF,MAAMsC,WAAW,GAAoF,EAAE;IACvG,KAAK,MAAM,CAACG,KAAK,EAAEhB,MAAM,CAAC,IAAIiB,MAAM,CAACC,OAAO,CAAC3C,OAAO,CAAC2D,UAAU,IAAI,EAAE,CAAC,EAAE;MACtE,MAAMoJ,WAAW,GAAG5Q,MAAM,CAACiM,mBAAmB,CAACjM,MAAM,CAACmM,KAAK,CAACnF,MAAM,CAACV,KAAK,CAAC,CAAC,CAAC;MAC3E,MAAMS,OAAO,GAAI8J,KAAa,IAC5BvL,MAAM,CAACuL,KAAK,CAAC,CAAC7H,IAAI,CAChBxJ,MAAM,CAACsM,OAAO,CAAC8E,WAAW,CAAC,EAC3BpR,MAAM,CAACsL,GAAG,CAAEuB,MAAM,KAAM;QACtB7E,UAAU,EAAE;UACV6E,MAAM,EAAEA,MAAuB;UAC/ByE,KAAK,EAAEzE,MAAM,CAAC8D,MAAM;UACpBY,OAAO,EAAE;;OAEZ,CAAC,CAAC,EACHvR,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;QAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;UAAEwC,OAAO,EAAEsM,WAAW,CAACtM;QAAO,CAAE,CAAC,CAAC;MACzE,CAAC,CAAC,EACFvE,MAAM,CAAC0P,cAAc,CAACvB,QAAQ,CAAC,CAChC;MACHxH,WAAW,CAACG,KAAK,CAAC,GAAGS,OAAO;IAC9B;IACA,OAAO0G,QAAQ,CAACxH,mBAAmB,CAAC;MAClCI,QAAQ;MACRD,UAAU;MACVD,WAAW;MACXD,WAAW,EAAErC,OAAO,CAACqC,WAAW,IAAI3G,OAAO,CAACwD,KAAK,EAAE;MACnDuC,MAAM,EAAEA,CAACS,GAAG,EAAEiB,MAAM,KAClB0J,MAAM,CAAC1J,MAAM,CAAC,CAACgC,IAAI,CACjBxJ,MAAM,CAACwR,QAAQ,CAAEC,KAAK,IAAK,IAAIzP,aAAa,CAAC;QAAEuC,OAAO,EAAEkN,KAAK,CAAClN;MAAO,CAAE,CAAC,CAAC,EACzEvE,MAAM,CAACsM,OAAO,CAAE9E,MAAW,IACzBnD,OAAO,CAAC0L,OAAO,CAACxJ,GAAG,EAAE,GAAGiB,MAAM,CAAC,CAACgC,IAAI,CAClCxJ,MAAM,CAACsL,GAAG,CAAEyE,OAAO,IAAKa,sBAAsB,CAACrK,GAAG,EAAEwJ,OAAO,CAAC,CAAC,EAC7D/P,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;QAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;UAAEwC,OAAO,EAAEsM,WAAW,CAACtM;QAAO,CAAE,CAAC,CAAC;MACzE,CAAC,CAAC,CACH,CACF,EACDvE,MAAM,CAAC0P,cAAc,CAACvB,QAAQ,CAAC;KAEpC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAQ;AAER;;;;;;;;;;;;AAYA,OAAO,MAAM7H,QAAQ,GAmEjB,SAAAA,CAAA;EACF,IAAIH,SAAS,CAACwK,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAOxQ,KAAK,CAACoN,aAAa,CAACmD,gBAAgB,CAACvK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAACqD,IAAI,CAC7DrJ,KAAK,CAACmN,OAAO,CAACtK,SAAS,CAACsF,KAAK,CAAC,CAC/B;EACH;EACA,MAAMoJ,QAAQ,GAAGhB,gBAAgB,CAAC,GAAIvK,SAA+B,CAAC;EACtE,OAAQ9B,OAAY,IAClBlE,KAAK,CAACoN,aAAa,CAACmE,QAAQ,CAACrN,OAAO,CAAC,CAAC,CAACmF,IAAI,CACzCrJ,KAAK,CAACmN,OAAO,CAACtK,SAAS,CAACsF,KAAK,CAAC,CAC/B;AACL,CAAQ;AAER;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,MAAMqJ,cAAc,GAQzBtN,OAOC,IAC+G;EAChH,MAAMuN,IAAI,GAAG/R,GAAG,CAAC0D,KAAK,EAA8B;EACpD,MAAMsO,KAAK,GAAsCxN,OAAO,CAACyN,UAAU,IAAI,EAAE;EACzE,KAAK,MAAM,CAACjM,IAAI,EAAEkM,IAAI,CAAC,IAAIhL,MAAM,CAACC,OAAO,CAAC6K,KAAK,CAAC,EAAE;IAChDD,IAAI,CAACjM,IAAI,CAAC;MACRE,IAAI;MACJ0I,WAAW,EAAE9N,SAAS,CAACuR,kBAAkB,CAACD,IAAI,CAACE,GAAG,CAAC;MACnDC,QAAQ,EAAE,CAACzR,SAAS,CAAC0R,UAAU,CAACJ,IAAI,CAACE,GAAG;KACzC,CAAC;EACJ;EACA,MAAMpK,MAAM,GAAG,IAAIrF,MAAM,CAAC;IACxBqD,IAAI,EAAExB,OAAO,CAACwB,IAAI;IAClB0I,WAAW,EAAElK,OAAO,CAACkK,WAAW;IAChCpI,SAAS,EAAEyL;GACZ,CAAC;EACF,MAAMV,MAAM,GAAG7M,OAAO,CAACyN,UAAU,GAC7BtR,MAAM,CAAC4R,YAAY,CAAC5R,MAAM,CAAC6R,MAAM,CAACR,KAAK,CAAC,CAAC,GACzC,MAAM7R,MAAM,CAACqH,OAAO,CAAC,EAAY,CAAC;EACtC,MAAMW,UAAU,GAA0D3D,OAAO,CAAC2D,UAAU,IAAI,EAAE;EAClG,OAAOhI,MAAM,CAACmD,GAAG,CAAC,aAAS;IACzB,MAAM8K,QAAQ,GAAG,OAAOjL,SAAS;IACjC,MAAMmL,QAAQ,GAAG,OAAOnO,MAAM,CAACgL,OAAO,EAAwE;IAC9G,MAAMrE,WAAW,GAGb,EAAE;IACN,KAAK,MAAM,CAACG,KAAK,EAAEhB,MAAM,CAAC,IAAIiB,MAAM,CAACC,OAAO,CAACgB,UAAU,CAAC,EAAE;MACxD,MAAMoJ,WAAW,GAAG5Q,MAAM,CAAC8R,YAAY,CAAC9R,MAAM,CAACmM,KAAK,CAACkF,KAAK,CAAC/K,KAAK,CAAC,CAAC,CAAC;MACnE,MAAMS,OAAO,GAAI8J,KAAa,IAC5BvL,MAAM,CAACuL,KAAK,CAAC,CAAC7H,IAAI,CAChBxJ,MAAM,CAACsM,OAAO,CAAC8E,WAAW,CAAC,EAC3BpR,MAAM,CAACsL,GAAG,CAAEuB,MAAM,KAAM;QACtB7E,UAAU,EAAE;UACV6E,MAAM,EAAEA,MAAuB;UAC/ByE,KAAK,EAAEzE,MAAM,CAAC8D,MAAM;UACpBY,OAAO,EAAE;;OAEZ,CAAC,CAAC,EACHvR,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;QAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;UAAEwC,OAAO,EAAEsM,WAAW,CAACtM;QAAO,CAAE,CAAC,CAAC;MACzE,CAAC,CAAC,EACFvE,MAAM,CAACsN,OAAO,CAACa,QAAQ,CAAC,CACzB;MACHxH,WAAW,CAACG,KAAK,CAAC,GAAGS,OAAc;IACrC;IACA,OAAO0G,QAAQ,CAACrG,SAAS,CAAC;MACxBC,MAAM;MACNlB,WAAW;MACXD,WAAW,EAAErC,OAAO,CAACqC,WAAW,IAAI3G,OAAO,CAACwD,KAAK,EAAE;MACnDuC,MAAM,EAAG0B,MAAM,IACb0J,MAAM,CAAC1J,MAAM,CAAC,CAACgC,IAAI,CACjBxJ,MAAM,CAACwR,QAAQ,CAAEC,KAAK,IAAK,IAAIzP,aAAa,CAAC;QAAEuC,OAAO,EAAEkN,KAAK,CAAClN;MAAO,CAAE,CAAC,CAAC,EACzEvE,MAAM,CAACsM,OAAO,CAAE9E,MAAM,IAAKnD,OAAO,CAAC0L,OAAO,CAACvI,MAAa,CAAC,CAAC,EAC1DxH,MAAM,CAACsL,GAAG,CAAEiH,QAAQ,IAAI;QACtBA,QAAQ,GAAG,OAAOA,QAAQ,KAAK,QAAQ,GACrC,CAAC;UACCC,IAAI,EAAE,MAAM;UACZzC,OAAO,EAAElN,WAAW,CAACK,IAAI,CAAC;YAAE8M,IAAI,EAAEuC;UAAQ,CAAE;SAC7C,CAAC,GACFA,QAAQ;QACV,OAAO,IAAIzQ,eAAe,CAAC;UAAEyQ,QAAQ;UAAEhE,WAAW,EAAE1G,MAAM,CAAC0G;QAAW,CAAE,CAAC;MAC3E,CAAC,CAAC,EACFvO,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAI;QAC1B,MAAMgB,WAAW,GAAG/Q,KAAK,CAACgR,YAAY,CAACjB,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO7P,MAAM,CAACkG,IAAI,CAAC,IAAInE,aAAa,CAAC;UAAEwC,OAAO,EAAEsM,WAAW,CAACtM;QAAO,CAAE,CAAC,CAAC;MACzE,CAAC,CAAC,EACFvE,MAAM,CAAC0P,cAAc,CAACvB,QAAoC,CAAC;KAEhE,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;AAkBA,OAAO,MAAMtG,MAAM,GAQjBxD,OASC,IAEDlE,KAAK,CAACoN,aAAa,CAACoE,cAAc,CAACtN,OAAO,CAAC,CAAC,CAACmF,IAAI,CAC/CrJ,KAAK,CAACmN,OAAO,CAACtK,SAAS,CAACsF,KAAK,CAAC,CAC/B;AAEH;;;;;;;;;;;;AAYA,OAAO,MAAMmK,MAAM,gBAOfzS,MAAM,CAAC+H,UAAU,CAAC,WAAgF1D,OAGrG;EACC,MAAM;IAAEgH;EAAS,CAAE,GAAG,OAAO/I,eAAe;EAC5C,MAAMiD,MAAM,GAAG,OAAO8F,SAAS;EAC/B,MAAM0F,MAAM,GAAG1M,OAAO,CAAC0M,MAAM;EAC7B,MAAM/K,OAAO,GAAGrE,MAAM,CAACmL,aAAa,CAAC5J,IAAI,CAAC;IACxCqB,OAAO,EAAEF,OAAO,CAACE,OAAO;IACxBmO,eAAe,EAAE5P,IAAI,CAAC6P,uBAAuB,CAAC5B,MAAM;GACrD,CAAC;EACF,MAAMnF,GAAG,GAAG,OAAOrG,MAAM,CAAC,oBAAoB,CAAC,CAACS,OAAO,CAAC,CAACwD,IAAI,CAC3DxJ,MAAM,CAACkN,UAAU,CAAE2C,KAAK,IAAK7P,MAAM,CAACkG,IAAI,CAAC,IAAItE,mBAAmB,CAAC;IAAEiO,KAAK,EAAE/P,KAAK,CAAC8S,MAAM,CAAC/C,KAAK,CAAC;IAAE7J;EAAO,CAAE,CAAC,CAAC,CAAC,CAC5G;EACD,QAAQ4F,GAAG,CAACiH,MAAM;IAChB,KAAK,QAAQ;MACX,OAAO,OAAO7S,MAAM,CAAC8S,KAAK,CAACtS,MAAM,CAAC2Q,mBAAmB,CAACJ,MAAM,CAAC,CAACnF,GAAG,CAACmE,OAAO,CAAC,CAAC;IAC7E,KAAK,QAAQ;MACX,OAAO,OAAO/P,MAAM,CAAC+S,SAAS;IAChC,KAAK,SAAS;MACZ,OAAO,OAAO,IAAInR,mBAAmB,CAAC;QAAEoE;MAAO,CAAE,CAAC;EACtD;AACF,CAAC,EAAEhG,MAAM,CAACuM,MAAM,CAAC;AAEjB;;;;;;AAMA,OAAO,MAAMyG,kBAAkB,gBAI3B1Q,eAAe,CAAC2Q,OAAO,CAAEtH,CAAC,IAAKA,CAAC,CAAClB,iBAAiB,CAACyI,YAAY,CAAC;AAEpE;AACA;AACA;AAEA,MAAM7P,cAAc,GAAGA,CAAA,KAAQ;EAC7B,MAAM8P,MAAM,GAAGvS,SAAS,CAACsC,IAAI,CAAI;IAC/BkQ,mBAAmB,EAAE,IAAI;IACzBC,sBAAsB,EAAE,IAAI;IAC5BC,aAAa,EAAE;GAChB,CAAC;EACF,MAAMjN,GAAG,GAAGA,CAACE,GAAW,EAAE8B,KAAQ,KAAI;IACpC8K,MAAM,CAACI,EAAE,CAAC,KAAK,EAAEhN,GAAU,EAAE8B,KAAK,CAAC;EACrC,CAAC;EACD,MAAMjB,IAAI,GAAIb,GAAW,IAAK4M,MAAM,CAAC/L,IAAI,CAAC,KAAK,EAAEb,GAAG,CAAC;EAErD,OAAO;IAAEF,GAAG;IAAEe;EAAI,CAAW;AAC/B,CAAC;AAED,MAAM6J,kBAAkB,GAAGA,CAACuC,QAA8B,EAAE,GAAGC,OAAyC,KAAI;EAC1G,IAAI7M,UAAU,GAAG4M,QAAQ,CAAC,CAAC,CAAC,CAACE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;EAC/C,IAAI1C,OAAO,GAAGwC,QAAQ,CAAC,CAAC,CAAC;EACzB,MAAMhM,MAAM,GAA+B,EAAE;EAC7C,IAAImM,UAAU,GAAGnT,MAAM,CAACoT,KAAK,CAAC,EAAE,CAAe;EAC/C,IAAIH,OAAO,CAAC9C,MAAM,GAAG,CAAC,EAAE;IACtB,MAAMkD,GAAG,GAAsB,EAAE;IACjC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,OAAO,CAAC9C,MAAM,EAAEmD,CAAC,EAAE,EAAE;MACvC,MAAMC,iBAAiB,GAAGvT,MAAM,CAACuT,iBAAiB,CAACN,OAAO,CAACK,CAAC,CAAC,CAAC;MAC9D,MAAME,OAAO,GAAGR,QAAQ,CAACM,CAAC,GAAG,CAAC,CAAC;MAC/B,MAAMrM,GAAG,GAAGuE,MAAM,CAAC8H,CAAC,CAAC;MACrBD,GAAG,CAAClO,IAAI,CAACoO,iBAAiB,CAAC;MAC3BnN,UAAU,IAAI,IAAIa,GAAG,GAAGuM,OAAO,CAACN,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;MACpD,MAAM3C,MAAM,GAAG0C,OAAO,CAACK,CAAC,CAAC;MACzB,MAAMG,SAAS,GAAGhS,OAAO,CAAC8O,MAAM,CAAC,GAAIA,MAAoC,CAAClL,IAAI,GAAG,QAAQ4B,GAAG,EAAE;MAC9FD,MAAM,CAACyM,SAAS,CAAC,GAAGF,iBAAiB;MACrC/C,OAAO,IAAI,IAAIiD,SAAS,IAAID,OAAO,EAAE;IACvC;IACAL,UAAU,GAAGnT,MAAM,CAACoT,KAAK,CAACC,GAAG,CAAC;EAChC;EACA,OAAO;IACLjN,UAAU;IACVoK,OAAO;IACPD,MAAM,EAAE4C,UAAU;IAClBnM;GACQ;AACZ,CAAC;AAED,MAAM6B,aAAa,GAAGA,CAAC6K,UAItB,EAAE7P,OAEF,KACC5C,UAAU,CAAC0S,OAAO,CAChBnU,MAAM,CAACmD,GAAG,CAAC,aAAS;EAClB,MAAM2F,MAAM,GAAG,OAAO9F,SAAS;EAC/B,IAAIoR,eAAe,GAAG,OAAO7T,eAAe;EAE5C,OAAOkB,UAAU,CAAC6D,EAAE,CAAC;IACnB;IACA+O,IAAI,EAAEA,CAAA,KAAMrU,MAAM,CAACqH,OAAO,CAAC,EAAE,CAAC;IAC9BiN,UAAUA,CAAC9M,MAAM,EAAE;MAAEjC;IAAM,CAAE;MAC3B,MAAMgP,gBAAgB,GAAG/L,2BAA2B,CAAC7D,QAAQ,CAAC6C,MAAM,CAACsE,eAAe,CAAC,GACjFtE,MAAM,CAACsE,eAAe,GACtBvD,uBAAuB;MAC3B,IAAIgM,gBAAgB,KAAK/M,MAAM,CAACsE,eAAe,EAAE;QAC/CtE,MAAM,GAAG;UACP,GAAGA,MAAM;UACTsE,eAAe,EAAEyI;SAClB;MACH;MACA,MAAMrB,YAAY,GAAsD;QACtEvM,WAAW,EAAE;OACd;MACD,IAAImC,MAAM,CAACxF,KAAK,CAACqN,MAAM,GAAG,CAAC,EAAE;QAC3BuC,YAAY,CAAC5P,KAAK,GAAG;UAAEkR,WAAW,EAAE;QAAI,CAAE;MAC5C;MACA,IAAI1L,MAAM,CAACpF,SAAS,CAACiN,MAAM,GAAG,CAAC,IAAI7H,MAAM,CAACnF,iBAAiB,CAACgN,MAAM,GAAG,CAAC,EAAE;QACtEuC,YAAY,CAACxP,SAAS,GAAG;UACvB8Q,WAAW,EAAE,IAAI;UACjBC,SAAS,EAAE;SACZ;MACH;MACA,IAAI3L,MAAM,CAAClF,OAAO,CAAC+M,MAAM,GAAG,CAAC,EAAE;QAC7BuC,YAAY,CAACtP,OAAO,GAAG;UAAE4Q,WAAW,EAAE;QAAI,CAAE;MAC9C;MACA,IAAIN,UAAU,CAACQ,UAAU,EAAE;QACzBxB,YAAY,CAACwB,UAAU,GAAGR,UAAU,CAACQ,UAAiB;MACxD;MACA,OAAO1U,MAAM,CAAC2U,SAAS,CAAE/J,KAAK,IAAI;QAChC,MAAME,WAAW,GAAG/K,OAAO,CAACgL,cAAc,CAACH,KAAK,CAACI,OAAO,EAAEhK,iBAAiB,CAACA,iBAAiB,CAAC;QAC9F,IAAI8J,WAAW,EAAE;UACf,MAAM8J,SAAS,GAAGC,MAAM,CAACC,UAAU,EAAE;UACrCzQ,OAAO,CAAC6E,cAAc,CAACrE,GAAG,CAAC+P,SAAS,EAAEpN,MAAM,CAAC;UAC7C1G,8BAA8B,CAACgK,WAAW,EAAE,CAACiK,IAAI,EAAEnJ,GAAG,KACpD5L,MAAM,CAACqH,OAAO,CAACpG,kBAAkB,CAAC+T,UAAU,CAACpJ,GAAG,EAAE;YAChD,CAACnD,kBAAkB,GAAGmM,SAAS;YAC/B,CAAClM,wBAAwB,GAAG6L;WAC7B,CAAC,CAAC,CAAC;QACR,CAAC,MAAM;UACLlQ,OAAO,CAAC6E,cAAc,CAACrE,GAAG,CAACmH,MAAM,CAACzG,MAAM,CAACH,EAAE,CAAC,EAAEoC,MAAM,CAAC;QACvD;QACA,OAAOxH,MAAM,CAACqH,OAAO,CAAC;UACpB6L,YAAY;UACZgB,UAAU;UACVpI,eAAe,EAAEyI;SAClB,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;IACD,qBAAqB,EAAGU,CAAC,IACvBnM,MAAM,CAACd,UAAU,CAACiN,CAAC,CAAC,CAACzL,IAAI,CACvBxJ,MAAM,CAACoL,cAAc,CAAC7K,eAAe,EAAE6T,eAAe,CAAC,CACxD;IACH,kBAAkB,EAAEc,CAAC;MAAEC;IAAK,CAAE,KAC5BnV,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,QAAQD,KAAK;QACX,KAAK,QAAQ;QACb,KAAK,MAAM;UACTf,eAAe,GAAG,MAAM;UACxB;QACF,KAAK,OAAO;UACVA,eAAe,GAAG,OAAO;UACzB;QACF,KAAK,OAAO;UACVA,eAAe,GAAG,OAAO;UACzB;QACF,KAAK,SAAS;UACZA,eAAe,GAAG,MAAM;UACxB;QACF,KAAK,UAAU;QACf,KAAK,OAAO;QACZ,KAAK,WAAW;UACdA,eAAe,GAAG,OAAO;UACzB;MACJ;IACF,CAAC,CAAC;IACJ,aAAa,EAAGa,CAAC,IACfnM,MAAM,CAAChB,eAAe,CAACmN,CAAC,CAAC,CAACzL,IAAI,CAC5BxJ,MAAM,CAACoL,cAAc,CAAC7K,eAAe,EAAE6T,eAAe,CAAC,CACxD;IACH,cAAc,EAAEiB,CAAC1J,CAAC,EAAE;MAAEpG,MAAM;MAAEuE;IAAO,CAAE,KACrC9J,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,MAAME,WAAW,GAAG5K,oBAAoB,CAACrG,OAAO,CAAC6E,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;MACpF,OAAO,IAAI5H,iBAAiB,CAAC;QAAE0B,OAAO,EAAE2R,cAAc,CAACD,WAAW,EAAExM,MAAM,CAAClF,OAAO,EAAE,QAAQ;MAAC,CAAE,CAAC;IAClG,CAAC,CAAC;IACJ,gBAAgB,EAAE4R,CAAC7J,CAAC,EAAE;MAAEpG,MAAM;MAAEuE;IAAO,CAAE,KACvC9J,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,MAAME,WAAW,GAAG5K,oBAAoB,CAACrG,OAAO,CAAC6E,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;MACpF,OAAO,IAAI3H,mBAAmB,CAAC;QAAEuB,SAAS,EAAE6R,cAAc,CAACD,WAAW,EAAExM,MAAM,CAACpF,SAAS,EAAE,UAAU;MAAC,CAAE,CAAC;IAC1G,CAAC,CAAC;IACJ,gBAAgB,EAAE+R,CAAC;MAAElP;IAAG,CAAE,KACxBuC,MAAM,CAAC5B,YAAY,CAACX,GAAG,CAAC,CAACiD,IAAI,CAC3BxJ,MAAM,CAACoL,cAAc,CAAC7K,eAAe,EAAE6T,eAAe,CAAC,CACxD;IACH,qBAAqB,EAAEsB,CAAA,KACrB3T,aAAa,CAAC4T,cAAc;IAC9B,uBAAuB,EAAEC,CAAA,KACvB7T,aAAa,CAAC4T,cAAc;IAC9B,0BAA0B,EAAEE,CAAClK,CAAC,EAAE;MAAEpG,MAAM;MAAEuE;IAAO,CAAE,KACjD9J,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,MAAME,WAAW,GAAG5K,oBAAoB,CAACrG,OAAO,CAAC6E,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;MACpF,OAAO,IAAI1H,2BAA2B,CAAC;QACrCuB,iBAAiB,EAAE4R,cAAc,CAACD,WAAW,EAAExM,MAAM,CAACnF,iBAAiB,EAAE,UAAU;OACpF,CAAC;IACJ,CAAC,CAAC;IACJ,YAAY,EAAGsR,CAAC,IACdnM,MAAM,CAAC/C,QAAQ,CAACkP,CAAC,CAAC,CAACzL,IAAI,CACrBxJ,MAAM,CAACoL,cAAc,CAAC7K,eAAe,EAAE6T,eAAe,CAAC,CACxD;IACH,YAAY,EAAE0B,CAACnK,CAAC,EAAE;MAAEpG,MAAM;MAAEuE;IAAO,CAAE,KACnC9J,MAAM,CAACoV,IAAI,CAAC,MAAK;MACf,MAAME,WAAW,GAAG5K,oBAAoB,CAACrG,OAAO,CAAC6E,cAAc,EAAE3D,MAAM,CAACH,EAAE,EAAE0E,OAAO,CAAC;MACpF,OAAO,IAAIzH,eAAe,CAAC;QACzBiB,KAAK,EAAEiS,cAAc,CAACD,WAAW,EAAExM,MAAM,CAACxF,KAAK,EAAE,MAAM;OACxD,CAAC;IACJ,CAAC,CAAC;IAEJ;IACA,yBAAyB,EAAGqI,CAAC,IAAK3L,MAAM,CAACyE,IAAI;IAC7C,2BAA2B,EAAGkH,CAAC,IAAK3L,MAAM,CAACyE,IAAI;IAC/C,wBAAwB,EAAGkH,CAAC,IAAK3L,MAAM,CAACyE,IAAI;IAC5C,kCAAkC,EAAGkH,CAAC,IAAK3L,MAAM,CAACyE;GACnD,CAAC;AACJ,CAAC,CAAC,CACH;AAEH,MAAMmM,sBAAsB,GAAGA,CAC7BrK,GAAW,EACXwJ,OAA6D,KAC3B;EAClC,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IAC/B,OAAO;MACLzI,QAAQ,EAAE,CAAC;QACTf,GAAG;QACHyJ,IAAI,EAAED;OACP;KACF;EACH,CAAC,MAAM,IAAIA,OAAO,YAAYgG,UAAU,EAAE;IACxC,OAAO;MACLzO,QAAQ,EAAE,CAAC;QACTf,GAAG;QACHyP,IAAI,EAAEjG;OACP;KACF;EACH;EACA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAMwF,cAAc,GAAGA,CAMrBhQ,MAAwD,EACxD0Q,KAAuB,EACvBlE,IAAO,KACQ;EACf,IAAI,CAACxM,MAAM,EAAE;IACX,OAAO0Q,KAAK,CAAC3K,GAAG,CAAE4K,IAAI,IAAKA,IAAI,CAACnE,IAAI,CAAC,CAAC;EACxC;EACA,MAAMoE,GAAG,GAAGtW,GAAG,CAAC0D,KAAK,EAAQ;EAC7B,KAAK,IAAIuQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmC,KAAK,CAACtF,MAAM,EAAEmD,CAAC,EAAE,EAAE;IACrC,MAAMoC,IAAI,GAAGD,KAAK,CAACnC,CAAC,CAAC;IACrB,MAAMsC,WAAW,GAAGrW,OAAO,CAACgL,cAAc,CAACmL,IAAI,CAACxP,WAAW,EAAE7E,WAAW,CAAC;IACzE,IAAI,CAACuU,WAAW,IAAIA,WAAW,CAAC7Q,MAAM,CAAC,EAAE;MACvC4Q,GAAG,CAACxQ,IAAI,CAACuQ,IAAI,CAACnE,IAAI,CAAC,CAAC;IACtB;EACF;EACA,OAAOoE,GAAG;AACZ,CAAC;AAED,MAAMzL,oBAAoB,GAAGA,CAC3B2L,QAA2D,EAC3DnR,QAAgB,EAChB4E,OAAwB,KACtB;EACF,MAAM8K,SAAS,GAAG9K,OAAO,CAACrB,kBAAkB,CAAC;EAC7C,IAAImM,SAAS,KAAK7K,SAAS,EAAE;IAC3B,OAAOsM,QAAQ,CAACpQ,GAAG,CAAC+F,MAAM,CAAC9G,QAAQ,CAAC,CAAC;EACvC;EACA,OAAOmR,QAAQ,CAACpQ,GAAG,CAAC2O,SAAS,CAAC;AAChC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"McpServer.js","names":["Arr","Cause","Context","Effect","Exit","Fiber","Layer","Option","Queue","RcMap","CurrentLogLevel","Schema","SchemaAST","Sink","Stream","FindMyWay","Headers","appendPreResponseHandlerUnsafe","HttpRouter","HttpServerRequest","HttpServerResponse","Rpc","RpcClient","RpcMessage","RpcSerialization","RpcServer","AiError","CallToolResult","ClientNotificationRpcs","ClientRpcs","CompleteResult","Elicit","ElicitationDeclined","EnabledWhen","GetPromptResult","InternalError","InvalidParams","isParam","ListPromptsResult","ListResourcesResult","ListResourceTemplatesResult","ListToolsResult","McpServerClient","McpServerClientMiddleware","Prompt","Resource","ResourceTemplate","ServerNotificationRpcs","ServerRequestRpcs","TextContent","Tool","McpTool","McpServer","Service","make","gen","matcher","makeUriMatcher","tools","empty","toolMap","Map","resources","resourceTemplates","prompts","promptMap","completionsMap","notificationsQueue","listChangedHandles","notifications","makeNoSerialization","spanPrefix","onFromClient","options","suspend","message","_tag","void","tag","includes","has","set","setTimeout","offerUnsafe","delete","write","clientId","requestId","id","exit","of","client","initializedClients","Set","addTool","push","tool","name","handle","callTool","request","get","fail","arguments","addResource","add","resource","uri","effect","addResourceTemplate","annotations","completions","routerPath","template","param","Object","entries","uriTemplate","findResource","match","find","succeed","contents","handler","params","key","keys","Number","addPrompt","prompt","getPromptResult","fnUntraced","completion","complete","ref","type","argument","value","layer","LATEST_PROTOCOL_VERSION","SUPPORTED_PROTOCOL_VERSIONS","MCP_SESSION_ID_HEADER","MCP_PROTOCOL_VERSION_HEADER","McpProtocolState","makeMcpProtocolState","clientSessions","latestProtocolVersion","supportedProtocolVersions","layerMcpProtocolState","sync","run","protocolState","getOrElse","serviceOption","protocol","Protocol","server","isHttp","isSome","handlers","build","layerHandlers","pipe","provideService","clients","lookup","provideServiceEffect","writeResponse","cid","send","_transferables","headers","undefined","traceId","spanId","sampled","supportsAck","supportsTransferables","supportsStructuredClone","idleTimeToLive","clientMiddleware","rpc","initializePayload","getInitializedClient","isInitialize","fiber","getCurrent","httpRequest","getOrUndefined","context","status","die","Error","getClient","map","patchedProtocol","f","request_","_","response","body","contentLength","remove","res","setHeader","protocolVersion","requests","fromInput","String","payload","mapUnsafe","RequestId","ServerClient","flatMap","scoped","encodeNotification","encodeUnknownEffect","Union","Array","from","values","payloadSchema","take","encoded","clientIds","catchCause","forever","forkScoped","disableFatalDefects","provide","layerWithProtocolState","effectDiscard","provideMerge","layerStdio","layerProtocolStdio","layerNdJsonRpc","layerHttp","methodNotAllowedResponse","allow","routes","mergeAll","path","merge","layerMcpProtocolHttp","layerJsonRpc","state","httpEffect","makeProtocolWithHttpEffect","router","INTERNAL_TOOL_ERROR_MESSAGE","toolErrorResult","isError","content","text","registerToolkit","toolkit","registry","built","services","toolMeta","Meta","isDeclaredFailure","is","failureSchema","mcpTool","description","getDescription","inputSchema","getJsonSchema","getOption","Title","title","readOnlyHint","Readonly","destructiveHint","Destructive","idempotentHint","Idempotent","openWorldHint","OpenWorld","_meta","unwrap","last","fromOption","provideContext","result","structuredContent","encodedResult","JSON","stringify","tapCause","logError","catch","error","isAiError","reason","catchDefect","registerResource","length","resolveResourceContent","cause","prettyError","prettyErrors","schema","uriPath","compileUriTemplate","decode","decodeUnknownEffect","create","encodeArray","input","total","hasMore","mapError","register","registerPrompt","args","props","parameters","prop","resolveDescription","ast","required","isOptional","decodeEffect","Struct","encodeEffect","messages","role","elicit","requestedSchema","getJsonSchemaFromSchema","squash","action","orDie","interrupt","clientCapabilities","useSync","capabilities","ignoreTrailingSlash","ignoreDuplicateSlashes","caseSensitive","on","segments","schemas","replace","pathSchema","Tuple","arr","i","toCodecStringTree","segment","paramName","serverInfo","toLayer","currentLogLevel","ping","initialize","requestedVersion","listChanged","subscribe","extensions","withFiber","sessionId","crypto","randomUUID","_req","setHeaders","r","logging/setLevel","level","prompts/list","initialized","filterByClient","resources/list","resources/read","resources/subscribe","notImplemented","resources/unsubscribe","resources/templates/list","tools/list","notifications/initialized","Uint8Array","blob","items","item","out","enabledWhen","sessions"],"sources":["../../../src/unstable/ai/McpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapts Effect schemas for OpenAI structured output.
|
|
3
|
+
*
|
|
4
|
+
* OpenAI structured output accepts only a subset of JSON Schema. This module
|
|
5
|
+
* converts an Effect `Schema.Codec` into a provider-compatible JSON Schema and
|
|
6
|
+
* a matching codec for decoding the model response back into the original
|
|
7
|
+
* application type. Unsupported constraints can be omitted from the provider
|
|
8
|
+
* schema and remain enforced by the returned codec.
|
|
9
|
+
*
|
|
10
|
+
* @since 4.0.0
|
|
11
|
+
*/
|
|
1
12
|
import * as JsonSchema from "../../JsonSchema.ts";
|
|
2
13
|
import * as Schema from "../../Schema.ts";
|
|
3
14
|
/**
|
|
@@ -7,25 +18,36 @@ import * as Schema from "../../Schema.ts";
|
|
|
7
18
|
* **When to use**
|
|
8
19
|
*
|
|
9
20
|
* Use when you send Effect Schema-backed structured output requests to OpenAI
|
|
10
|
-
* and need provider-compatible JSON Schema without losing the
|
|
11
|
-
* application type.
|
|
21
|
+
* standard models and need provider-compatible JSON Schema without losing the
|
|
22
|
+
* decoded application type.
|
|
12
23
|
*
|
|
13
24
|
* **Details**
|
|
14
25
|
*
|
|
15
26
|
* Returns the JSON Schema to include in the request and the codec to use when
|
|
16
|
-
* decoding the model response.
|
|
17
|
-
*
|
|
27
|
+
* decoding the model response. The codec remains authoritative: the provider
|
|
28
|
+
* JSON Schema can be a lossy, less restrictive representation when OpenAI
|
|
29
|
+
* cannot express an Effect Schema constraint. Conversion throws when the
|
|
30
|
+
* resulting root is not an object or contains `anyOf`.
|
|
18
31
|
*
|
|
19
32
|
* **Gotchas**
|
|
20
33
|
*
|
|
21
34
|
* - Some schemas use a provider-safe encoded shape: tuples become objects with
|
|
22
|
-
* numeric string keys,
|
|
23
|
-
* optional properties become required nullable
|
|
35
|
+
* numeric string keys, objects with index signatures become arrays of
|
|
36
|
+
* `[key, value]` pairs, and optional properties become required nullable
|
|
37
|
+
* properties.
|
|
24
38
|
* - `oneOf` unions are emitted as `anyOf` unions.
|
|
25
|
-
* -
|
|
26
|
-
*
|
|
27
|
-
* -
|
|
28
|
-
*
|
|
39
|
+
* - Compatible regex patterns are merged because OpenAI structured output does
|
|
40
|
+
* not support `allOf`.
|
|
41
|
+
* - The root JSON Schema must be an object and cannot use `anyOf`.
|
|
42
|
+
* - Constraints inside `allOf` are retained only when they have an explicit,
|
|
43
|
+
* semantics-preserving normalization rule.
|
|
44
|
+
* - Structural constraints inside `allOf`, such as `properties`, `required`,
|
|
45
|
+
* `additionalProperties`, and `items`, are omitted instead of being merged
|
|
46
|
+
* with a different meaning.
|
|
47
|
+
* - Unsupported constraints are removed from the provider schema and are still
|
|
48
|
+
* checked while decoding with the returned codec.
|
|
49
|
+
* - Compatibility targets standard OpenAI models. Fine-tuned models support a
|
|
50
|
+
* smaller JSON Schema subset.
|
|
29
51
|
*
|
|
30
52
|
* @category Codec Transformation
|
|
31
53
|
* @since 4.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiStructuredOutput.d.ts","sourceRoot":"","sources":["../../../src/unstable/ai/OpenAiStructuredOutput.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenAiStructuredOutput.d.ts","sourceRoot":"","sources":["../../../src/unstable/ai/OpenAiStructuredOutput.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACxC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAC3C;IACD,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAA;CAClC,CAeA"}
|