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
|
@@ -12,11 +12,14 @@
|
|
|
12
12
|
import * as Arr from "../../Array.js";
|
|
13
13
|
import * as Duration from "../../Duration.js";
|
|
14
14
|
import * as Effect from "../../Effect.js";
|
|
15
|
+
import * as Exit from "../../Exit.js";
|
|
16
|
+
import * as Fiber from "../../Fiber.js";
|
|
15
17
|
import * as Layer from "../../Layer.js";
|
|
16
18
|
import * as Scope from "../../Scope.js";
|
|
17
19
|
import * as SqlClient from "../sql/SqlClient.js";
|
|
18
20
|
import { PersistenceError } from "./ClusterError.js";
|
|
19
21
|
import { ResourceRef } from "./internal/resourceRef.js";
|
|
22
|
+
import { effectiveInterval } from "./internal/shardLock.js";
|
|
20
23
|
import * as RunnerStorage from "./RunnerStorage.js";
|
|
21
24
|
import * as ShardId from "./ShardId.js";
|
|
22
25
|
import * as ShardingConfig from "./ShardingConfig.js";
|
|
@@ -54,18 +57,25 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
54
57
|
const shardGroups = ShardingConfig.shardGroupConfig(config);
|
|
55
58
|
const availableShardGroups = Array.from(shardGroups.available);
|
|
56
59
|
const disableAdvisoryLocks = config.shardLockDisableAdvisory;
|
|
60
|
+
const lockOperationInterval = effectiveInterval(config);
|
|
57
61
|
const sql = (yield* SqlClient.SqlClient).withoutTransforms();
|
|
62
|
+
const layerScope = yield* Effect.scope;
|
|
58
63
|
const prefix = options?.prefix ?? "cluster";
|
|
59
64
|
const table = name => `${prefix}_${name}`;
|
|
65
|
+
// Keep all PostgreSQL and MySQL shard-lock operations on a rebuildable
|
|
66
|
+
// reserved connection, including when advisory locks are disabled.
|
|
60
67
|
const acquireLockConn = sql.onDialectOrElse({
|
|
61
68
|
pg: () => Effect.fnUntraced(function* (scope) {
|
|
62
69
|
const conn = yield* Effect.orDie(sql.reserve).pipe(Scope.provide(scope));
|
|
63
|
-
const pid = (yield* conn.executeValues("SELECT pg_backend_pid()", []))[0][0];
|
|
64
|
-
|
|
70
|
+
const pid = disableAdvisoryLocks ? 0 : (yield* conn.executeValues("SELECT pg_backend_pid()", []))[0][0];
|
|
71
|
+
if (!disableAdvisoryLocks) {
|
|
72
|
+
yield* Scope.addFinalizerExit(scope, () => conn.executeRaw("SELECT pg_advisory_unlock_all()", []).pipe(Effect.timeout(lockOperationInterval), Effect.interruptible, Effect.ignoreCause));
|
|
73
|
+
}
|
|
65
74
|
return [conn, pid];
|
|
66
75
|
}, Effect.orDie),
|
|
67
76
|
mysql: () => Effect.fnUntraced(function* (scope) {
|
|
68
77
|
const conn = yield* Effect.orDie(sql.reserve).pipe(Scope.provide(scope));
|
|
78
|
+
if (disableAdvisoryLocks) return [conn, 0];
|
|
69
79
|
// we need to get the connection id using IS_USED_LOCK to properly
|
|
70
80
|
// support vitess
|
|
71
81
|
let pid = undefined;
|
|
@@ -75,12 +85,56 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
75
85
|
if (taken[0] === null) continue;
|
|
76
86
|
pid = taken[1];
|
|
77
87
|
}
|
|
78
|
-
|
|
88
|
+
if (!disableAdvisoryLocks) {
|
|
89
|
+
yield* Scope.addFinalizerExit(scope, () => conn.executeRaw("SELECT RELEASE_ALL_LOCKS()", []).pipe(Effect.timeout(lockOperationInterval), Effect.interruptible, Effect.ignoreCause));
|
|
90
|
+
}
|
|
79
91
|
return [conn, pid];
|
|
80
92
|
}, Effect.orDie),
|
|
81
93
|
orElse: () => undefined
|
|
82
94
|
});
|
|
83
|
-
const lockConn = acquireLockConn && (yield* ResourceRef.from(
|
|
95
|
+
const lockConn = acquireLockConn && (yield* ResourceRef.from(layerScope, acquireLockConn));
|
|
96
|
+
// `Effect.timeout` waits for the timed-out effect to finish interrupting, so
|
|
97
|
+
// an operation stuck in an uninterruptible region (such as a scope finalizer
|
|
98
|
+
// releasing an unresponsive connection) can outlive its deadline. Fork the
|
|
99
|
+
// operation and timeout the join instead, leaving stalled cleanup to finish
|
|
100
|
+
// detached in the layer scope.
|
|
101
|
+
const withDeadline = Effect.fnUntraced(function* (operation) {
|
|
102
|
+
const fiber = yield* Effect.forkIn(operation, layerScope, {
|
|
103
|
+
startImmediately: true
|
|
104
|
+
});
|
|
105
|
+
return yield* Fiber.join(fiber).pipe(Effect.timeout(lockOperationInterval), Effect.ensuring(Effect.suspend(() => fiber.pollUnsafe() !== undefined ? Effect.void : Fiber.interrupt(fiber).pipe(Effect.forkIn(layerScope, {
|
|
106
|
+
startImmediately: true
|
|
107
|
+
}), Effect.asVoid))));
|
|
108
|
+
});
|
|
109
|
+
let lockConnRebuilding = false;
|
|
110
|
+
// Incremented every time the reserved connection is replaced, so failures
|
|
111
|
+
// from operations that ran on an already replaced connection do not trigger
|
|
112
|
+
// another rebuild.
|
|
113
|
+
let lockConnGeneration = 0;
|
|
114
|
+
const rebuildLockConn = generation => {
|
|
115
|
+
if (!lockConn || lockConnRebuilding || generation !== lockConnGeneration || lockConn.state.current._tag === "Closed") return Effect.void;
|
|
116
|
+
lockConnRebuilding = true;
|
|
117
|
+
// The rebuild starts by closing the previous scope, releasing the
|
|
118
|
+
// unresponsive connection back to the pool. Bound it with `withDeadline`
|
|
119
|
+
// so a release that never completes cannot leave `lockConnRebuilding` set
|
|
120
|
+
// forever, which would disable every subsequent rebuild.
|
|
121
|
+
return withDeadline(lockConn.rebuildUnsafe()).pipe(Effect.exit, Effect.tap(exit => Effect.sync(() => {
|
|
122
|
+
if (Exit.isSuccess(exit) && lockConn.state.current._tag === "Acquired") {
|
|
123
|
+
lockConnGeneration++;
|
|
124
|
+
}
|
|
125
|
+
})), Effect.ensuring(Effect.sync(() => {
|
|
126
|
+
lockConnRebuilding = false;
|
|
127
|
+
})), Effect.forkIn(layerScope, {
|
|
128
|
+
startImmediately: true
|
|
129
|
+
}), Effect.asVoid);
|
|
130
|
+
};
|
|
131
|
+
// Rebuild the reserved connection when `effect` fails on it. Failures keep
|
|
132
|
+
// scheduling rebuilds, so a rebuilt connection that is also unresponsive is
|
|
133
|
+
// replaced again.
|
|
134
|
+
const onErrorRebuildLockConn = effect => Effect.suspend(() => {
|
|
135
|
+
const generation = lockConnGeneration;
|
|
136
|
+
return Effect.onError(effect, () => rebuildLockConn(generation));
|
|
137
|
+
});
|
|
84
138
|
const runnersTable = table("runners");
|
|
85
139
|
const runnersTableSql = sql(runnersTable);
|
|
86
140
|
yield* sql.onDialectOrElse({
|
|
@@ -228,17 +282,17 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
228
282
|
const execWithLockConn = effect => {
|
|
229
283
|
if (!lockConn) return effect;
|
|
230
284
|
const [query, params] = effect.compile();
|
|
231
|
-
return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeRaw(query, params)),
|
|
285
|
+
return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeRaw(query, params)), onErrorRebuildLockConn);
|
|
232
286
|
};
|
|
233
287
|
const execWithLockConnUnprepared = effect => {
|
|
234
288
|
if (!lockConn) return effect.values;
|
|
235
289
|
const [query, params] = effect.compile();
|
|
236
|
-
return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeUnprepared(query, params, undefined)),
|
|
290
|
+
return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeUnprepared(query, params, undefined)), onErrorRebuildLockConn);
|
|
237
291
|
};
|
|
238
292
|
const execWithLockConnValues = effect => {
|
|
239
293
|
if (!lockConn) return effect.values;
|
|
240
294
|
const [query, params] = effect.compile();
|
|
241
|
-
return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeValues(query, params)),
|
|
295
|
+
return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeValues(query, params)), onErrorRebuildLockConn);
|
|
242
296
|
};
|
|
243
297
|
const acquireLock = sql.onDialectOrElse({
|
|
244
298
|
pg: () => {
|
|
@@ -251,7 +305,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
251
305
|
SET address = ${address}, acquired_at = ${sqlNow}
|
|
252
306
|
WHERE ${locksTableSql}.address = ${address}
|
|
253
307
|
OR ${locksTableSql}.acquired_at < ${lockExpiresAt}
|
|
254
|
-
`.pipe(Effect.andThen(acquiredLocks(address, shardIds)));
|
|
308
|
+
`.pipe(execWithLockConn, Effect.andThen(acquiredLocks(address, shardIds)));
|
|
255
309
|
};
|
|
256
310
|
}
|
|
257
311
|
return Effect.fnUntraced(function* (_address, shardIds) {
|
|
@@ -275,7 +329,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
275
329
|
}
|
|
276
330
|
}
|
|
277
331
|
return acquiredShardIds;
|
|
278
|
-
},
|
|
332
|
+
}, onErrorRebuildLockConn);
|
|
279
333
|
},
|
|
280
334
|
mysql: () => {
|
|
281
335
|
if (disableAdvisoryLocks) {
|
|
@@ -286,7 +340,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
286
340
|
ON DUPLICATE KEY UPDATE
|
|
287
341
|
address = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(address), address),
|
|
288
342
|
acquired_at = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(acquired_at), acquired_at)
|
|
289
|
-
`.
|
|
343
|
+
`.pipe(execWithLockConnUnprepared, Effect.andThen(acquiredLocks(address, shardIds)));
|
|
290
344
|
};
|
|
291
345
|
}
|
|
292
346
|
return Effect.fnUntraced(function* (_address, shardIds) {
|
|
@@ -313,7 +367,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
313
367
|
}
|
|
314
368
|
}
|
|
315
369
|
return acquiredShardIds;
|
|
316
|
-
},
|
|
370
|
+
}, onErrorRebuildLockConn);
|
|
317
371
|
},
|
|
318
372
|
mssql: () => (address, shardIds) => {
|
|
319
373
|
const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
|
|
@@ -382,7 +436,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
382
436
|
WHERE address = ${address}
|
|
383
437
|
AND acquired_at >= ${lockExpiresAt}
|
|
384
438
|
AND shard_id IN ${stringLiteralArr(shardIds)}
|
|
385
|
-
`.
|
|
439
|
+
`.pipe(execWithLockConnValues, Effect.map(rows => rows.map(row => row[0])));
|
|
386
440
|
const wrapString = sql.onDialectOrElse({
|
|
387
441
|
mssql: () => s => `N'${s}'`,
|
|
388
442
|
orElse: () => s => `'${s}'`
|
|
@@ -424,61 +478,54 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
424
478
|
RETURNING shard_id
|
|
425
479
|
`.pipe(execWithLockConnValues, Effect.map(rows => rows.map(row => row[0])))
|
|
426
480
|
});
|
|
481
|
+
const withLockOperationDeadline = operation => onErrorRebuildLockConn(withDeadline(operation));
|
|
482
|
+
const releaseShard = sql.onDialectOrElse({
|
|
483
|
+
pg: () => {
|
|
484
|
+
if (disableAdvisoryLocks) {
|
|
485
|
+
return (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(execWithLockConn);
|
|
486
|
+
}
|
|
487
|
+
return Effect.fnUntraced(function* (_address, shardId) {
|
|
488
|
+
const lockNum = lockNumbers.get(shardId);
|
|
489
|
+
for (let i = 0; i < 5; i++) {
|
|
490
|
+
const [conn] = yield* lockConn.await;
|
|
491
|
+
yield* conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
|
|
492
|
+
const takenLocks = yield* conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
|
|
493
|
+
if (takenLocks.length === 0) return;
|
|
494
|
+
}
|
|
495
|
+
const [conn] = yield* lockConn.await;
|
|
496
|
+
yield* conn.executeRaw(`SELECT pg_advisory_unlock_all()`, []);
|
|
497
|
+
}, onErrorRebuildLockConn, Effect.asVoid);
|
|
498
|
+
},
|
|
499
|
+
mysql: () => {
|
|
500
|
+
if (disableAdvisoryLocks) {
|
|
501
|
+
return (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(execWithLockConn);
|
|
502
|
+
}
|
|
503
|
+
return Effect.fnUntraced(function* (_address, shardId) {
|
|
504
|
+
const lockName = lockNames.get(shardId);
|
|
505
|
+
while (true) {
|
|
506
|
+
const [conn, pid] = yield* lockConn.await;
|
|
507
|
+
yield* conn.executeRaw(`SELECT RELEASE_LOCK('${lockName}')`, []);
|
|
508
|
+
const takenLocks = yield* conn.executeValues(`SELECT IS_USED_LOCK('${lockName}')`, []);
|
|
509
|
+
if (takenLocks.length === 0 || takenLocks[0][0] !== pid) return;
|
|
510
|
+
}
|
|
511
|
+
}, onErrorRebuildLockConn, Effect.asVoid);
|
|
512
|
+
},
|
|
513
|
+
orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`
|
|
514
|
+
});
|
|
515
|
+
const releaseAllShards = sql.onDialectOrElse({
|
|
516
|
+
pg: () => address => disableAdvisoryLocks ? sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(execWithLockConn) : sql`SELECT pg_advisory_unlock_all()`.pipe(execWithLockConn, Effect.asVoid),
|
|
517
|
+
mysql: () => address => disableAdvisoryLocks ? sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(execWithLockConn) : sql`SELECT RELEASE_ALL_LOCKS()`.pipe(execWithLockConn, Effect.asVoid),
|
|
518
|
+
orElse: () => address => sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`
|
|
519
|
+
});
|
|
427
520
|
return RunnerStorage.makeEncoded({
|
|
428
521
|
getRunners: sql`SELECT runner, healthy FROM ${runnersTableSql} WHERE last_heartbeat > ${lockExpiresAt}`.values.pipe(PersistenceError.refail, Effect.map(Arr.map(([runner, healthy]) => [String(runner), Boolean(healthy)])), withTracerDisabled),
|
|
429
522
|
register: (address, runner, healthy) => insertRunner(address, runner, healthy).pipe(Effect.map(rows => Number(rows[0][0])), PersistenceError.refail, withTracerDisabled),
|
|
430
523
|
unregister: address => sql`DELETE FROM ${runnersTableSql} WHERE address = ${address} OR last_heartbeat < ${lockExpiresAt}`.pipe(Effect.asVoid, PersistenceError.refail, withTracerDisabled),
|
|
431
524
|
setRunnerHealth: (address, healthy) => sql`UPDATE ${runnersTableSql} SET healthy = ${encodeBoolean(healthy)} WHERE address = ${address}`.pipe(Effect.asVoid, PersistenceError.refail, withTracerDisabled),
|
|
432
|
-
acquire: (address, shardIds) => acquireLock(address, shardIds).pipe(PersistenceError.refail, withTracerDisabled),
|
|
433
|
-
refresh: (address, shardIds) => sql`UPDATE ${runnersTableSql} SET last_heartbeat = ${sqlNow} WHERE address = ${address}`.pipe(execWithLockConn, shardIds.length > 0 ? Effect.andThen(refreshShards(address, shardIds)) : Effect.as([])
|
|
434
|
-
release:
|
|
435
|
-
|
|
436
|
-
if (disableAdvisoryLocks) {
|
|
437
|
-
return (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail, withTracerDisabled);
|
|
438
|
-
}
|
|
439
|
-
return Effect.fnUntraced(function* (_address, shardId) {
|
|
440
|
-
const lockNum = lockNumbers.get(shardId);
|
|
441
|
-
for (let i = 0; i < 5; i++) {
|
|
442
|
-
const [conn] = yield* lockConn.await;
|
|
443
|
-
yield* conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
|
|
444
|
-
const takenLocks = yield* conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
|
|
445
|
-
if (takenLocks.length === 0) return;
|
|
446
|
-
}
|
|
447
|
-
const [conn] = yield* lockConn.await;
|
|
448
|
-
yield* conn.executeRaw(`SELECT pg_advisory_unlock_all()`, []);
|
|
449
|
-
}, Effect.onError(() => lockConn.rebuildUnsafe()), Effect.asVoid, PersistenceError.refail, withTracerDisabled);
|
|
450
|
-
},
|
|
451
|
-
mysql: () => {
|
|
452
|
-
if (disableAdvisoryLocks) {
|
|
453
|
-
return (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail, withTracerDisabled);
|
|
454
|
-
}
|
|
455
|
-
return Effect.fnUntraced(function* (_address, shardId) {
|
|
456
|
-
const lockName = lockNames.get(shardId);
|
|
457
|
-
while (true) {
|
|
458
|
-
const [conn, pid] = yield* lockConn.await;
|
|
459
|
-
yield* conn.executeRaw(`SELECT RELEASE_LOCK('${lockName}')`, []);
|
|
460
|
-
const takenLocks = yield* conn.executeValues(`SELECT IS_USED_LOCK('${lockName}')`, []);
|
|
461
|
-
if (takenLocks.length === 0 || takenLocks[0][0] !== pid) return;
|
|
462
|
-
}
|
|
463
|
-
}, Effect.onError(() => lockConn.rebuildUnsafe()), Effect.asVoid, PersistenceError.refail, withTracerDisabled);
|
|
464
|
-
},
|
|
465
|
-
orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail, withTracerDisabled)
|
|
466
|
-
}),
|
|
467
|
-
releaseAll: sql.onDialectOrElse({
|
|
468
|
-
pg: () => address => {
|
|
469
|
-
if (disableAdvisoryLocks) {
|
|
470
|
-
return sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(PersistenceError.refail, withTracerDisabled);
|
|
471
|
-
}
|
|
472
|
-
return sql`SELECT pg_advisory_unlock_all()`.pipe(execWithLockConn, Effect.asVoid, PersistenceError.refail, withTracerDisabled);
|
|
473
|
-
},
|
|
474
|
-
mysql: () => address => {
|
|
475
|
-
if (disableAdvisoryLocks) {
|
|
476
|
-
return sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(PersistenceError.refail, withTracerDisabled);
|
|
477
|
-
}
|
|
478
|
-
return sql`SELECT RELEASE_ALL_LOCKS()`.pipe(execWithLockConn, Effect.asVoid, PersistenceError.refail, withTracerDisabled);
|
|
479
|
-
},
|
|
480
|
-
orElse: () => address => sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(PersistenceError.refail, withTracerDisabled)
|
|
481
|
-
})
|
|
525
|
+
acquire: (address, shardIds) => withLockOperationDeadline(acquireLock(address, shardIds)).pipe(PersistenceError.refail, withTracerDisabled),
|
|
526
|
+
refresh: (address, shardIds) => withLockOperationDeadline(sql`UPDATE ${runnersTableSql} SET last_heartbeat = ${sqlNow} WHERE address = ${address}`.pipe(execWithLockConn, shardIds.length > 0 ? Effect.andThen(refreshShards(address, shardIds)) : Effect.as([]))).pipe(PersistenceError.refail, withTracerDisabled),
|
|
527
|
+
release: (address, shardId) => withLockOperationDeadline(releaseShard(address, shardId)).pipe(Effect.asVoid, PersistenceError.refail, withTracerDisabled),
|
|
528
|
+
releaseAll: address => withLockOperationDeadline(releaseAllShards(address)).pipe(Effect.asVoid, PersistenceError.refail, withTracerDisabled)
|
|
482
529
|
});
|
|
483
530
|
}, withTracerDisabled);
|
|
484
531
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlRunnerStorage.js","names":["Arr","Duration","Effect","Layer","Scope","SqlClient","PersistenceError","ResourceRef","RunnerStorage","ShardId","ShardingConfig","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","config","shardGroups","shardGroupConfig","availableShardGroups","Array","from","available","disableAdvisoryLocks","shardLockDisableAdvisory","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","scope","conn","orDie","reserve","pipe","provide","pid","executeValues","addFinalizerExit","executeRaw","mysql","undefined","address","Math","random","Number","MAX_SAFE_INTEGER","taken","orElse","lockConn","runnersTable","runnersTableSql","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","ceil","toSeconds","fromInputUnsafe","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","await","flatMap","onError","rebuildUnsafe","execWithLockConnUnprepared","executeUnprepared","execWithLockConnValues","acquireLock","shardIds","shardId","stringLiteral","csv","andThen","acquiredLocks","_address","acquiredShardIds","toAcquire","Map","lockNumbers","get","takenLocks","i","length","lockNum","push","lockNumbersReverse","delete","size","rows","pgLocks","allMySqlTakenLocks","lockTakenBy","shardIdsIndex","includes","mysqlLocks","withTransaction","group","base","shard","shardsPerGroup","set","lockNames","lockNamesReverse","index","lockName","shardIdsMap","entries","join","stringLiteralArr","row","wrapString","s","arr","refreshShards","shardIdsStr","shard_id","makeEncoded","getRunners","refail","String","Boolean","register","unregister","asVoid","setRunnerHealth","acquire","refresh","as","release","releaseAll","layer","layerWith"],"sources":["../../../src/unstable/cluster/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SqlRunnerStorage.js","names":["Arr","Duration","Effect","Exit","Fiber","Layer","Scope","SqlClient","PersistenceError","ResourceRef","effectiveInterval","RunnerStorage","ShardId","ShardingConfig","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","config","shardGroups","shardGroupConfig","availableShardGroups","Array","from","available","disableAdvisoryLocks","shardLockDisableAdvisory","lockOperationInterval","sql","withoutTransforms","layerScope","scope","prefix","table","name","acquireLockConn","onDialectOrElse","pg","conn","orDie","reserve","pipe","provide","pid","executeValues","addFinalizerExit","executeRaw","timeout","interruptible","ignoreCause","mysql","undefined","address","Math","random","Number","MAX_SAFE_INTEGER","taken","orElse","lockConn","withDeadline","operation","fiber","forkIn","startImmediately","join","ensuring","suspend","pollUnsafe","void","interrupt","asVoid","lockConnRebuilding","lockConnGeneration","rebuildLockConn","generation","state","current","_tag","rebuildUnsafe","exit","tap","sync","isSuccess","onErrorRebuildLockConn","effect","onError","runnersTable","runnersTableSql","mssql","locksTable","locksTableSql","sqlNowString","sqlNow","literal","expiresSeconds","ceil","toSeconds","fromInputUnsafe","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","query","params","compile","await","flatMap","execWithLockConnUnprepared","executeUnprepared","execWithLockConnValues","acquireLock","shardIds","shardId","stringLiteral","csv","andThen","acquiredLocks","_address","acquiredShardIds","toAcquire","Map","lockNumbers","get","takenLocks","i","length","lockNum","push","lockNumbersReverse","delete","size","rows","pgLocks","allMySqlTakenLocks","lockTakenBy","shardIdsIndex","includes","mysqlLocks","withTransaction","group","base","shard","shardsPerGroup","set","lockNames","lockNamesReverse","index","lockName","shardIdsMap","entries","stringLiteralArr","row","wrapString","s","arr","refreshShards","shardIdsStr","shard_id","withLockOperationDeadline","releaseShard","releaseAllShards","makeEncoded","getRunners","refail","String","Boolean","register","unregister","setRunnerHealth","acquire","refresh","as","release","releaseAll","layer","layerWith"],"sources":["../../../src/unstable/cluster/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -57,9 +57,13 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
|
|
|
57
57
|
const scope = yield* Effect.scope;
|
|
58
58
|
const endLatch = Latch.makeUnsafe();
|
|
59
59
|
const keepAliveLatch = Latch.makeUnsafe();
|
|
60
|
+
const closeLatches = {
|
|
61
|
+
closed: Latch.makeUnsafe(),
|
|
62
|
+
force: Latch.makeUnsafe()
|
|
63
|
+
};
|
|
60
64
|
// on shutdown, reset the storage for the entity
|
|
61
65
|
yield* Scope.addFinalizerExit(scope, () => {
|
|
62
|
-
serverCloseLatches.get(address)?.openUnsafe();
|
|
66
|
+
serverCloseLatches.get(address)?.closed.openUnsafe();
|
|
63
67
|
serverCloseLatches.delete(address);
|
|
64
68
|
return Effect.void;
|
|
65
69
|
});
|
|
@@ -225,12 +229,13 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
|
|
|
225
229
|
// If the termination timeout is reached, let the server clean itself up
|
|
226
230
|
yield* Scope.addFinalizer(scope, Effect.withFiber(fiber => {
|
|
227
231
|
activeServers.delete(address.entityId);
|
|
228
|
-
serverCloseLatches.set(address, Latch.makeUnsafe());
|
|
229
232
|
internalInterruptors.add(fiber.id);
|
|
230
|
-
return state.write(0, {
|
|
233
|
+
return Effect.raceFirst(state.write(0, {
|
|
231
234
|
_tag: "Eof"
|
|
232
|
-
}).pipe(Effect.andThen(
|
|
235
|
+
}).pipe(Effect.andThen(endLatch.await), Effect.timeoutOption(config.entityTerminationTimeout), Effect.interruptible), Effect.interruptible(closeLatches.force.await));
|
|
233
236
|
}));
|
|
237
|
+
// Do not make shard interruption wait for an entity that is still building.
|
|
238
|
+
serverCloseLatches.set(address, closeLatches);
|
|
234
239
|
activeServers.set(address.entityId, state);
|
|
235
240
|
return state;
|
|
236
241
|
}, Effect.provideService(CurrentLogAnnotations, {})));
|
|
@@ -337,16 +342,23 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
|
|
|
337
342
|
const decodeMessage = makeMessageDecode(entity, entityRpcs);
|
|
338
343
|
const runFork = Effect.runForkWith(context);
|
|
339
344
|
return identity({
|
|
340
|
-
interruptShard: shardId => Effect.suspend(function loop() {
|
|
345
|
+
interruptShard: (shardId, options) => Effect.suspend(function loop() {
|
|
341
346
|
const fibers = Arr.empty();
|
|
347
|
+
if (options?.force === true) {
|
|
348
|
+
serverCloseLatches.forEach((latches, address) => {
|
|
349
|
+
if (shardId[Equal.symbol](address.shardId)) {
|
|
350
|
+
latches.force.openUnsafe();
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
}
|
|
342
354
|
activeServers.forEach(state => {
|
|
343
355
|
if (shardId[Equal.symbol](state.address.shardId)) {
|
|
344
356
|
fibers.push(runFork(entities.removeIgnore(state.address)));
|
|
345
357
|
}
|
|
346
358
|
});
|
|
347
|
-
serverCloseLatches.forEach((
|
|
359
|
+
serverCloseLatches.forEach((latches, address) => {
|
|
348
360
|
if (shardId[Equal.symbol](address.shardId)) {
|
|
349
|
-
fibers.push(runFork(
|
|
361
|
+
fibers.push(runFork(latches.closed.await));
|
|
350
362
|
}
|
|
351
363
|
});
|
|
352
364
|
if (fibers.length === 0) return Effect.void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityManager.js","names":["Arr","Cause","Clock","Context","Duration","Effect","Equal","Exit","Fiber","identity","Latch","Metric","Option","CurrentLogAnnotations","Schedule","Schema","SchemaIssue","Scope","RpcServer","AlreadyProcessingMessage","EntityNotAssignedToRunner","MailboxFull","MalformedMessage","ClusterMetrics","isUninterruptibleForServer","Persisted","WithTransaction","ClusterSchema","CurrentAddress","CurrentRunnerAddress","KeepAliveLatch","KeepAliveRpc","Request","Message","MessageStorage","Reply","ShardingConfig","Snowflake","EntityReaper","internalInterruptors","ResourceMap","ResourceRef","make","fnUntraced","entity","buildHandlers","options","config","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","defectRetryPolicy","andThen","defaultRetryPolicy","retryDriver","toStepWithSleep","entityRpcs","Map","protocol","requests","set","_tag","activeServers","serverCloseLatches","processedRequestIds","Set","entities","address","sharding","hasShardId","shardId","endLatch","makeUnsafe","keepAliveLatch","addFinalizerExit","get","openUnsafe","delete","void","activeRequests","defectRequestIds","isRestartingDueToDefect","writeRef","from","isShuttingDown","handlerContext","mutate","pipe","add","runnerAddress","handlers","toHandlers","setContext","sandbox","tapError","cause","logError","retry","server","makeNoSerialization","spanPrefix","type","entityId","spanAttributes","concurrency","disableFatalDefects","onFromServer","response","request","requestId","sentReply","hasInterrupts","exit","has","message","annotations","write","envelope","id","tag","payload","lastSentChunk","rpc","onRequest","withTransaction","undefined","forkIn","unregisterReplyHandler","retryRespond","suspend","respond","WithExit","nextUnsafe","flatMap","size","state","lastActiveCheck","currentTimeMillisUnsafe","orDie","sequence","reply","Chunk","values","some","onDefect","die","defect","open","provide","merge","addFinalizer","sync","clear","keys","effect","rebuildUnsafe","ignore","ensuring","annotateLogs","module","runner","catchCause","clientId","writeOptions","current","await","value","keepAliveEnabled","withFiber","fiber","interruptible","timeoutOption","entityTerminationTimeout","provideService","reaper","maxIdleTime","toMillis","fromInputUnsafe","entityMaxIdleTime","Number","isFinite","register","servers","typeAttributes","CurrentMetricAttributes","updateUnsafe","BigInt","sleep","forever","sendLocal","entry","fail","envelopeId","msg","whenOpen","startImmediately","asVoid","filter","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","decodeMessage","makeMessageDecode","runFork","runForkWith","interruptShard","loop","fibers","empty","forEach","symbol","push","removeIgnore","latch","length","joinAll","isProcessingFor","excludeReplies","clearProcessed","send","matchEffect","onFailure","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","Dynamic","provideContext","activeEntityCount","min","exponential","spaced","decodeRequest","fnUntracedEager","decodeEffect","toCodecJson","payloadSchema","isNone","succeed","SchemaError","InvalidValue","times","catch","delay"],"sources":["../../../../src/unstable/cluster/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"entityManager.js","names":["Arr","Cause","Clock","Context","Duration","Effect","Equal","Exit","Fiber","identity","Latch","Metric","Option","CurrentLogAnnotations","Schedule","Schema","SchemaIssue","Scope","RpcServer","AlreadyProcessingMessage","EntityNotAssignedToRunner","MailboxFull","MalformedMessage","ClusterMetrics","isUninterruptibleForServer","Persisted","WithTransaction","ClusterSchema","CurrentAddress","CurrentRunnerAddress","KeepAliveLatch","KeepAliveRpc","Request","Message","MessageStorage","Reply","ShardingConfig","Snowflake","EntityReaper","internalInterruptors","ResourceMap","ResourceRef","make","fnUntraced","entity","buildHandlers","options","config","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","defectRetryPolicy","andThen","defaultRetryPolicy","retryDriver","toStepWithSleep","entityRpcs","Map","protocol","requests","set","_tag","activeServers","serverCloseLatches","processedRequestIds","Set","entities","address","sharding","hasShardId","shardId","endLatch","makeUnsafe","keepAliveLatch","closeLatches","closed","force","addFinalizerExit","get","openUnsafe","delete","void","activeRequests","defectRequestIds","isRestartingDueToDefect","writeRef","from","isShuttingDown","handlerContext","mutate","pipe","add","runnerAddress","handlers","toHandlers","setContext","sandbox","tapError","cause","logError","retry","server","makeNoSerialization","spanPrefix","type","entityId","spanAttributes","concurrency","disableFatalDefects","onFromServer","response","request","requestId","sentReply","hasInterrupts","exit","has","message","annotations","write","envelope","id","tag","payload","lastSentChunk","rpc","onRequest","withTransaction","undefined","forkIn","unregisterReplyHandler","retryRespond","suspend","respond","WithExit","nextUnsafe","flatMap","size","state","lastActiveCheck","currentTimeMillisUnsafe","orDie","sequence","reply","Chunk","values","some","onDefect","die","defect","open","provide","merge","addFinalizer","sync","clear","keys","effect","rebuildUnsafe","ignore","ensuring","annotateLogs","module","runner","catchCause","clientId","writeOptions","current","await","value","keepAliveEnabled","withFiber","fiber","raceFirst","timeoutOption","entityTerminationTimeout","interruptible","provideService","reaper","maxIdleTime","toMillis","fromInputUnsafe","entityMaxIdleTime","Number","isFinite","register","servers","typeAttributes","CurrentMetricAttributes","updateUnsafe","BigInt","sleep","forever","sendLocal","entry","fail","envelopeId","msg","whenOpen","startImmediately","asVoid","filter","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","decodeMessage","makeMessageDecode","runFork","runForkWith","interruptShard","loop","fibers","empty","forEach","latches","symbol","push","removeIgnore","length","joinAll","isProcessingFor","excludeReplies","clearProcessed","send","matchEffect","onFailure","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","Dynamic","provideContext","activeEntityCount","min","exponential","spaced","decodeRequest","fnUntracedEager","decodeEffect","toCodecJson","payloadSchema","isNone","succeed","SchemaError","InvalidValue","times","catch","delay"],"sources":["../../../../src/unstable/cluster/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,mBAAmB;AACxC,OAAO,KAAKC,KAAK,MAAM,mBAAmB;AAC1C,SAASC,KAAK,QAAQ,mBAAmB;AACzC,OAAO,KAAKC,OAAO,MAAM,qBAAqB;AAC9C,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAEhD,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAC5C,OAAO,KAAKC,KAAK,MAAM,mBAAmB;AAC1C,OAAO,KAAKC,IAAI,MAAM,kBAAkB;AACxC,OAAO,KAAKC,KAAK,MAAM,mBAAmB;AAC1C,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,OAAO,KAAKC,KAAK,MAAM,mBAAmB;AAC1C,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAC5C,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAC5C,SAASC,qBAAqB,QAAQ,wBAAwB;AAC9D,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAChD,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAC5C,OAAO,KAAKC,WAAW,MAAM,yBAAyB;AACtD,OAAO,KAAKC,KAAK,MAAM,mBAAmB;AAE1C,OAAO,KAAKC,SAAS,MAAM,wBAAwB;AACnD,SAASC,wBAAwB,EAAEC,yBAAyB,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,oBAAoB;AACvH,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AACtD,SAASC,0BAA0B,EAAEC,SAAS,EAAEC,eAAe,QAAQ,qBAAqB;AAC5F,OAAO,KAAKC,aAAa,MAAM,qBAAqB;AAEpD,SAASC,cAAc,EAAEC,oBAAoB,EAAEC,cAAc,EAAEC,YAAY,EAAEC,OAAO,QAAQ,cAAc;AAI1G,OAAO,KAAKC,OAAO,MAAM,eAAe;AACxC,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AACtD,OAAO,KAAKC,KAAK,MAAM,aAAa;AAIpC,SAASC,cAAc,QAAQ,sBAAsB;AACrD,OAAO,KAAKC,SAAS,MAAM,iBAAiB;AAC5C,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,oBAAoB,QAAQ,mBAAmB;AACxD,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,SAASC,WAAW,QAAQ,kBAAkB;AA0C9C;AACA,OAAO,MAAMC,IAAI,gBAAGrC,MAAM,CAACsC,UAAU,CAAC,WAMpCC,MAA0B,EAC1BC,aAAiD,EACjDC,OAUC;EAED,MAAMC,MAAM,GAAG,OAAOX,cAAc;EACpC,MAAMY,YAAY,GAAG,OAAOX,SAAS,CAACY,SAAS;EAC/C,MAAMC,YAAY,GAAG,OAAO7C,MAAM,CAAC8C,KAAK;EACxC,MAAMC,cAAc,GAAGN,OAAO,CAACO,OAAO,KAAKnB,cAAc,CAACoB,IAAI;EAC9D,MAAMC,eAAe,GAAGT,OAAO,CAACS,eAAe,IAAIR,MAAM,CAACS,qBAAqB;EAC/E,MAAMC,KAAK,GAAG,OAAOvD,KAAK;EAC1B,MAAMwD,OAAO,GAAG,OAAOrD,MAAM,CAACqD,OAAO,EAAkD;EACvF,MAAMC,iBAAiB,GAAGb,OAAO,CAACa,iBAAiB,GAC/C7C,QAAQ,CAAC8C,OAAO,CAACd,OAAO,CAACa,iBAAiB,EAAEE,kBAAkB,CAAC,GAC/DA,kBAAkB;EACtB,MAAMC,WAAW,GAAG,OAAOhD,QAAQ,CAACiD,eAAe,CAACJ,iBAAiB,CAAC;EACtE,MAAMK,UAAU,GAAG,IAAIC,GAAG,CAACrB,MAAM,CAACsB,QAAQ,CAACC,QAAQ,CAAC;EAEpD;EACAH,UAAU,CAACI,GAAG,CAACrC,YAAY,CAACsC,IAAI,EAAEtC,YAAmB,CAAC;EAEtD,MAAMuC,aAAa,GAAG,IAAIL,GAAG,EAAyB;EACtD,MAAMM,kBAAkB,GAAG,IAAIN,GAAG,EAG9B;EACJ,MAAMO,mBAAmB,GAAG,IAAIC,GAAG,EAAuB;EAE1D,MAAMC,QAAQ,GAIV,OAAOlC,WAAW,CAACE,IAAI,CAACrC,MAAM,CAACsC,UAAU,CAAC,WAAUgC,OAAsB;IAC5E,IAAI,CAAC7B,OAAO,CAAC8B,QAAQ,CAACC,UAAU,CAACF,OAAO,CAACG,OAAO,CAAC,EAAE;MACjD,OAAO,OAAO,IAAI1D,yBAAyB,CAAC;QAAEuD;MAAO,CAAE,CAAC;IAC1D;IAEA,MAAMxB,KAAK,GAAG,OAAO9C,MAAM,CAAC8C,KAAK;IACjC,MAAM4B,QAAQ,GAAGrE,KAAK,CAACsE,UAAU,EAAE;IACnC,MAAMC,cAAc,GAAGvE,KAAK,CAACsE,UAAU,EAAE;IACzC,MAAME,YAAY,GAAG;MACnBC,MAAM,EAAEzE,KAAK,CAACsE,UAAU,EAAE;MAC1BI,KAAK,EAAE1E,KAAK,CAACsE,UAAU;KACxB;IAED;IACA,OAAO/D,KAAK,CAACoE,gBAAgB,CAC3BlC,KAAK,EACL,MAAK;MACHoB,kBAAkB,CAACe,GAAG,CAACX,OAAO,CAAC,EAAEQ,MAAM,CAACI,UAAU,EAAE;MACpDhB,kBAAkB,CAACiB,MAAM,CAACb,OAAO,CAAC;MAClC,OAAOtE,MAAM,CAACoF,IAAI;IACpB,CAAC,CACF;IAED,MAAMC,cAAc,GAAkC,IAAIzB,GAAG,EAAE;IAC/D,IAAI0B,gBAAgB,GAAG,IAAIlB,GAAG,EAAuB;IACrD,IAAImB,uBAAuB,GAAG,KAAK;IAEnC;IACA;IACA,MAAMC,QAAQ,GAAG,OAAOpD,WAAW,CAACqD,IAAI,CACtC3C,KAAK,EACL9C,MAAM,CAACsC,UAAU,CAAC,WAAUQ,KAAK;MAC/B,IAAI4C,cAAc,GAAG,KAAK;MAE1B,MAAMC,cAAc,GAAG7F,OAAO,CAAC8F,MAAM,CAACvC,OAAO,EAAGA,OAAO,IACrDA,OAAO,CAACwC,IAAI,CACV/F,OAAO,CAACgG,GAAG,CAACvE,cAAc,EAAE+C,OAAO,CAAC,EACpCxE,OAAO,CAACgG,GAAG,CAACtE,oBAAoB,EAAEiB,OAAO,CAACsD,aAAa,CAAC,EACxDjG,OAAO,CAACgG,GAAG,CAACrE,cAAc,EAAEmD,cAAc,CAAC,EAC3C9E,OAAO,CAACgG,GAAG,CAAClF,KAAK,CAACA,KAAK,EAAEkC,KAAK,CAAC,EAC/BhD,OAAO,CAACgG,GAAG,CAACtF,qBAAqB,EAAE,EAAE,CAAC,CACvC,CAAC;MAEJ;MACA,MAAMwF,QAAQ,GAAG,OAAQzD,MAAM,CAACsB,QAAQ,CAACoC,UAAU,CAACzD,aAAoB,CAAC,CAACqD,IAAI,CAC5E7F,MAAM,CAACkG,UAAU,CAACP,cAAsC,CAAC,EACzD3F,MAAM,CAACmG,OAAO,EACdnG,MAAM,CAACoG,QAAQ,CAAEC,KAAK,IAAKrG,MAAM,CAACsG,QAAQ,CAAC,iCAAiC,EAAED,KAAK,CAAC,CAAC,EACrFrG,MAAM,CAACuG,KAAK,CAACjD,iBAAiB,CAAC,CACwB;MAEzD,MAAMkD,MAAM,GAAG,OAAO3F,SAAS,CAAC4F,mBAAmB,CAAClE,MAAM,CAACsB,QAAQ,EAAE;QACnE6C,UAAU,EAAE,GAAGnE,MAAM,CAACoE,IAAI,IAAIrC,OAAO,CAACsC,QAAQ,GAAG;QACjDC,cAAc,EAAE;UACd,GAAGpE,OAAO,CAACoE,cAAc;UACzB,aAAa,EAAEtE,MAAM,CAACoE,IAAI;UAC1B,WAAW,EAAErC,OAAO,CAACsC;SACtB;QACDE,WAAW,EAAErE,OAAO,CAACqE,WAAW,IAAI,CAAC;QACrCC,mBAAmB,EAAEtE,OAAO,CAACsE,mBAAmB;QAChDC,YAAYA,CAACC,QAAQ;UACnB,QAAQA,QAAQ,CAACjD,IAAI;YACnB,KAAK,MAAM;cAAE;gBACX,MAAMkD,OAAO,GAAG7B,cAAc,CAACJ,GAAG,CAACjD,SAAS,CAACA,SAAS,CAACiF,QAAQ,CAACE,SAAS,CAAC,CAAC;gBAC3E,IAAI,CAACD,OAAO,EAAE,OAAOlH,MAAM,CAACoF,IAAI;gBAEhC8B,OAAO,CAACE,SAAS,GAAG,IAAI;gBAExB,IACE1B,cAAc,IACdxF,IAAI,CAACmH,aAAa,CAACJ,QAAQ,CAACK,IAAI,CAAC,IACjChC,gBAAgB,CAACiC,GAAG,CAACvF,SAAS,CAACA,SAAS,CAACiF,QAAQ,CAACE,SAAS,CAAC,CAAC,EAC7D;kBACA,OAAOnH,MAAM,CAACoF,IAAI;gBACpB;gBAEA;gBACA;gBACA;gBACA;gBACA,IACErC,cAAc,IACdjD,OAAO,CAACmF,GAAG,CAACiC,OAAO,CAACM,OAAO,CAACC,WAAW,EAAErG,SAAS,CAAC,IACnDlB,IAAI,CAACmH,aAAa,CAACJ,QAAQ,CAACK,IAAI,CAAC,KAChC5B,cAAc,IAAIvE,0BAA0B,CAAC+F,OAAO,CAACM,OAAO,CAACC,WAAW,CAAC,CAAC,EAC3E;kBACA,IAAI,CAAC/B,cAAc,EAAE;oBACnB,OAAOc,MAAM,CAACkB,KAAK,CACjB,CAAC,EACD;sBACE,GAAGR,OAAO,CAACM,OAAO,CAACG,QAAQ;sBAC3BC,EAAE,EAAEV,OAAO,CAACM,OAAO,CAACG,QAAQ,CAACR,SAAgB;sBAC7CU,GAAG,EAAEX,OAAO,CAACM,OAAO,CAACG,QAAQ,CAACE,GAAU;sBACxCC,OAAO,EAAE,IAAInG,OAAO,CAAC;wBACnB,GAAGuF,OAAO,CAACM,OAAO,CAACG,QAAQ;wBAC3BI,aAAa,EAAEb,OAAO,CAACa;uBACjB;qBACT,EACDjI,OAAO,CAACmF,GAAG,CAACiC,OAAO,CAACc,GAAG,CAACP,WAAW,EAAEpG,eAAe,CAAC,GACjD;sBAAE4G,SAAS,EAAExF,OAAO,CAACO,OAAO,CAACkF;oBAAe,CAAE,GAC9CC,SAAS,CACd,CAACtC,IAAI,CACJ7F,MAAM,CAACoI,MAAM,CAACtF,KAAK,CAAC,CACrB;kBACH;kBACAuC,cAAc,CAACF,MAAM,CAACnD,SAAS,CAACA,SAAS,CAACiF,QAAQ,CAACE,SAAS,CAAC,CAAC;kBAC9D,OAAO1E,OAAO,CAACO,OAAO,CAACqF,sBAAsB,CAACnB,OAAO,CAACM,OAAO,CAACG,QAAQ,CAACR,SAAS,CAAC;gBACnF;gBACA,OAAOmB,YAAY,CACjB,CAAC,EACDtI,MAAM,CAACuI,OAAO,CAAC,MACbrB,OAAO,CAACM,OAAO,CAACgB,OAAO,CACrB,IAAI1G,KAAK,CAAC2G,QAAQ,CAAC;kBACjBtB,SAAS,EAAEnF,SAAS,CAACA,SAAS,CAACiF,QAAQ,CAACE,SAAS,CAAC;kBAClDS,EAAE,EAAEjF,YAAY,CAAC+F,UAAU,EAAE;kBAC7BpB,IAAI,EAAEL,QAAQ,CAACK;iBAChB,CAAC,CACH,CACF,CACF,CAACzB,IAAI,CACJ7F,MAAM,CAAC2I,OAAO,CAAC,MAAK;kBAClBxE,mBAAmB,CAAC2B,GAAG,CAACoB,OAAO,CAACM,OAAO,CAACG,QAAQ,CAACR,SAAS,CAAC;kBAC3D9B,cAAc,CAACF,MAAM,CAACnD,SAAS,CAACA,SAAS,CAACiF,QAAQ,CAACE,SAAS,CAAC,CAAC;kBAE9D;kBACA;kBACA,IAAI9B,cAAc,CAACuD,IAAI,KAAK,CAAC,EAAE;oBAC7BC,KAAK,CAACC,eAAe,GAAG1F,KAAK,CAAC2F,uBAAuB,EAAE;kBACzD;kBAEA,OAAO/I,MAAM,CAACoF,IAAI;gBACpB,CAAC,CAAC,EACFpF,MAAM,CAACgJ,KAAK,CACb;cACH;YACA,KAAK,OAAO;cAAE;gBACZ,MAAM9B,OAAO,GAAG7B,cAAc,CAACJ,GAAG,CAACjD,SAAS,CAACA,SAAS,CAACiF,QAAQ,CAACE,SAAS,CAAC,CAAC;gBAC3E,IAAI,CAACD,OAAO,EAAE,OAAOlH,MAAM,CAACoF,IAAI;gBAChC,MAAM6D,QAAQ,GAAG/B,OAAO,CAAC+B,QAAQ;gBACjC/B,OAAO,CAAC+B,QAAQ,EAAE;gBAClB,IAAI,CAAC/B,OAAO,CAACE,SAAS,EAAE;kBACtBF,OAAO,CAACE,SAAS,GAAG,IAAI;gBAC1B;gBACA,OAAOpH,MAAM,CAACgJ,KAAK,CAACV,YAAY,CAC9B,CAAC,EACDtI,MAAM,CAACuI,OAAO,CAAC,MAAK;kBAClB,MAAMW,KAAK,GAAG,IAAIpH,KAAK,CAACqH,KAAK,CAAC;oBAC5BhC,SAAS,EAAEnF,SAAS,CAACA,SAAS,CAACiF,QAAQ,CAACE,SAAS,CAAC;oBAClDS,EAAE,EAAEjF,YAAY,CAAC+F,UAAU,EAAE;oBAC7BO,QAAQ;oBACRG,MAAM,EAAEnC,QAAQ,CAACmC;mBAClB,CAAC;kBACFlC,OAAO,CAACa,aAAa,GAAGxH,MAAM,CAAC8I,IAAI,CAACH,KAAK,CAAC;kBAC1C,OAAOhC,OAAO,CAACM,OAAO,CAACgB,OAAO,CAACU,KAAK,CAAC;gBACvC,CAAC,CAAC,CACH,CAAC;cACJ;YACA,KAAK,QAAQ;cAAE;gBACb,OAAOlJ,MAAM,CAACoI,MAAM,CAACkB,QAAQ,CAAC1J,KAAK,CAAC2J,GAAG,CAACtC,QAAQ,CAACuC,MAAM,CAAC,CAAC,EAAE3G,YAAY,CAAC;cAC1E;YACA,KAAK,WAAW;cAAE;gBAChB,OAAO6B,QAAQ,CAAC+E,IAAI;cACtB;UACF;QACF;OACD,CAAC,CAAC5D,IAAI,CACLjF,KAAK,CAAC8I,OAAO,CAAC5G,KAAK,CAAC,EACpB9C,MAAM,CAACkG,UAAU,CAACpG,OAAO,CAAC6J,KAAK,CAAChE,cAAc,EAAEK,QAAQ,CAAC,CAAC,CAC3D;MAED,OAAOpF,KAAK,CAACgJ,YAAY,CACvB9G,KAAK,EACL9C,MAAM,CAAC6J,IAAI,CAAC,MAAK;QACfnE,cAAc,GAAG,IAAI;MACvB,CAAC,CAAC,CACH;MAED,IAAIJ,gBAAgB,CAACsD,IAAI,GAAG,CAAC,EAAE;QAC7B,KAAK,MAAMhB,EAAE,IAAItC,gBAAgB,EAAE;UACjC,MAAM4B,OAAO,GAAG7B,cAAc,CAACJ,GAAG,CAAC2C,EAAE,CAAC;UACtC,IAAI,CAACV,OAAO,EAAE;UACd,MAAM;YAAEa,aAAa;YAAEP,OAAO;YAAEQ;UAAG,CAAE,GAAGd,OAAO;UAC/C,OAAOV,MAAM,CAACkB,KAAK,CACjB,CAAC,EACD;YACE,GAAGF,OAAO,CAACG,QAAQ;YACnBC,EAAE,EAAEJ,OAAO,CAACG,QAAQ,CAACR,SAAgB;YACrCU,GAAG,EAAEL,OAAO,CAACG,QAAQ,CAACE,GAAU;YAChCC,OAAO,EAAE,IAAInG,OAAO,CAAC;cACnB,GAAG6F,OAAO,CAACG,QAAQ;cACnBI;aACM;WACT,EACDjI,OAAO,CAACmF,GAAG,CAAC+C,GAAG,CAACP,WAAW,EAAEpG,eAAe,CAAC,GACzC;YAAE4G,SAAS,EAAExF,OAAO,CAACO,OAAO,CAACkF;UAAe,CAAE,GAC9CC,SAAS,CACd;QACH;QACA7C,gBAAgB,CAACwE,KAAK,EAAE;MAC1B;MAEA,OAAOtD,MAAM,CAACkB,KAAK;IACrB,CAAC,CAAC,CACH;IAED,SAAS4B,QAAQA,CAACjD,KAAyB;MACzC,IAAI,CAACpC,aAAa,CAACsD,GAAG,CAACjD,OAAO,CAACsC,QAAQ,CAAC,EAAE;QACxC,OAAOlC,QAAQ,CAAC+E,IAAI;MACtB;MACA,IAAIlE,uBAAuB,EAAE;QAC3B,OAAOvF,MAAM,CAACoF,IAAI;MACpB;MACAE,gBAAgB,GAAG,IAAIlB,GAAG,CAACiB,cAAc,CAAC0E,IAAI,EAAE,CAAC;MACjDxE,uBAAuB,GAAG,IAAI;MAC9B,MAAMyE,MAAM,GAAGxE,QAAQ,CAACyE,aAAa,EAAE;MACvC,OAAOjK,MAAM,CAACsG,QAAQ,CAAC,8BAA8B,EAAED,KAAK,CAAC,CAACR,IAAI,CAChE7F,MAAM,CAACuD,OAAO,CAACvD,MAAM,CAACkK,MAAM,CAACzG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAClDzD,MAAM,CAAC2I,OAAO,CAAC,MAAM1E,aAAa,CAACsD,GAAG,CAACjD,OAAO,CAACsC,QAAQ,CAAC,GAAGoD,MAAM,GAAGtF,QAAQ,CAAC+E,IAAI,CAAC,EAClFzJ,MAAM,CAACmK,QAAQ,CAACnK,MAAM,CAAC6J,IAAI,CAAC,MAAK;QAC/BtE,uBAAuB,GAAG,KAAK;MACjC,CAAC,CAAC,CAAC,EACHvF,MAAM,CAACoK,YAAY,CAAC;QAClBC,MAAM,EAAE,eAAe;QACvB/F,OAAO;QACPgG,MAAM,EAAE7H,OAAO,CAACsD;OACjB,CAAC,EACF/F,MAAM,CAACuK,UAAU,CAACjB,QAAQ,CAAC,CAC5B;IACH;IAEA,MAAMT,KAAK,GAAgB;MACzB/F,KAAK;MACLwB,OAAO;MACPoD,KAAKA,CAAC8C,QAAQ,EAAEhD,OAAO,EAAEiD,YAAY;QACnC,IAAIjF,QAAQ,CAACqD,KAAK,CAAC6B,OAAO,CAAC1G,IAAI,KAAK,UAAU,EAAE;UAC9C,OAAOhE,MAAM,CAAC2I,OAAO,CAACnD,QAAQ,CAACmF,KAAK,EAAGjD,KAAK,IAAKA,KAAK,CAAC8C,QAAQ,EAAEhD,OAAO,EAAEiD,YAAY,CAAC,CAAC;QAC1F;QACA,OAAOjF,QAAQ,CAACqD,KAAK,CAAC6B,OAAO,CAACE,KAAK,CAACJ,QAAQ,EAAEhD,OAAO,EAAEiD,YAAY,CAAC;MACtE,CAAC;MACDpF,cAAc;MACdyD,eAAe,EAAE1F,KAAK,CAAC2F,uBAAuB,EAAE;MAChDnE,cAAc;MACdiG,gBAAgB,EAAE;KACnB;IAED;IACA;IACA;IACA;IACA,OAAOjK,KAAK,CAACgJ,YAAY,CACvB9G,KAAK,EACL9C,MAAM,CAAC8K,SAAS,CAAEC,KAAK,IAAI;MACzB9G,aAAa,CAACkB,MAAM,CAACb,OAAO,CAACsC,QAAQ,CAAC;MACtC1E,oBAAoB,CAAC4D,GAAG,CAACiF,KAAK,CAACnD,EAAE,CAAC;MAClC,OAAO5H,MAAM,CAACgL,SAAS,CACrBnC,KAAK,CAACnB,KAAK,CAAC,CAAC,EAAE;QAAE1D,IAAI,EAAE;MAAK,CAAE,CAAC,CAAC6B,IAAI,CAClC7F,MAAM,CAACuD,OAAO,CAACmB,QAAQ,CAACiG,KAAK,CAAC,EAC9B3K,MAAM,CAACiL,aAAa,CAACvI,MAAM,CAACwI,wBAAwB,CAAC,EACrDlL,MAAM,CAACmL,aAAa,CACrB,EACDnL,MAAM,CAACmL,aAAa,CAACtG,YAAY,CAACE,KAAK,CAAC4F,KAAK,CAAC,CAC/C;IACH,CAAC,CAAC,CACH;IACD;IACAzG,kBAAkB,CAACH,GAAG,CAACO,OAAO,EAAEO,YAAY,CAAC;IAC7CZ,aAAa,CAACF,GAAG,CAACO,OAAO,CAACsC,QAAQ,EAAEiC,KAAK,CAAC;IAE1C,OAAOA,KAAK;EACd,CAAC,EAAE7I,MAAM,CAACoL,cAAc,CAAC5K,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;EAErD,MAAM6K,MAAM,GAAG,OAAOpJ,YAAY;EAClC,MAAMqJ,WAAW,GAAGvL,QAAQ,CAACwL,QAAQ,CACnCxL,QAAQ,CAACyL,eAAe,CAAC/I,OAAO,CAAC6I,WAAW,IAAI5I,MAAM,CAAC+I,iBAAiB,CAAC,CAC1E;EACD,IAAIC,MAAM,CAACC,QAAQ,CAACL,WAAW,CAAC,EAAE;IAChC,OAAOD,MAAM,CAACO,QAAQ,CAAC;MACrBN,WAAW;MACXO,OAAO,EAAE5H,aAAa;MACtBI;KACD,CAAC;EACJ;EAEA;EACA,MAAMyH,cAAc,GAAGxL,MAAM,CAACyL,uBAAuB,CAAC1I,OAAO,CAAC;IAAEsD,IAAI,EAAEpE,MAAM,CAACoE;EAAI,CAAE,CAAC;EACpF,OAAO3G,MAAM,CAAC6J,IAAI,CAAC,MAAK;IACtB3I,cAAc,CAACmD,QAAQ,CAAC2H,YAAY,CAACC,MAAM,CAAChI,aAAa,CAAC2E,IAAI,CAAC,EAAEkD,cAAc,CAAC;EAClF,CAAC,CAAC,CAACjG,IAAI,CACL7F,MAAM,CAACuD,OAAO,CAACvD,MAAM,CAACkM,KAAK,CAAC,IAAI,CAAC,CAAC,EAClClM,MAAM,CAACmM,OAAO,EACdnM,MAAM,CAACoI,MAAM,CAACvF,YAAY,CAAC,CAC5B;EAED,SAASuJ,SAASA,CAChB5E,OAAiC;IAEjC,OAAOxH,MAAM,CAACoL,cAAc,CAC1BpL,MAAM,CAAC2I,OAAO,CACZtE,QAAQ,CAACY,GAAG,CAACuC,OAAO,CAACG,QAAQ,CAACrD,OAAO,CAAC,EACrCkC,MAAM,IAA6F;MAClG,QAAQgB,OAAO,CAACxD,IAAI;QAClB,KAAK,sBAAsB;UAAE;YAC3B;YACA;YACA;YACA,IAAIqI,KAAK,GAAG7F,MAAM,CAACnB,cAAc,CAACJ,GAAG,CAACuC,OAAO,CAACG,QAAQ,CAACR,SAAS,CAAC;YACjE,IAAIkF,KAAK,IAAIlI,mBAAmB,CAACoD,GAAG,CAACC,OAAO,CAACG,QAAQ,CAACR,SAAS,CAAC,EAAE;cAChE,OAAOnH,MAAM,CAACsM,IAAI,CAChB,IAAIxL,wBAAwB,CAAC;gBAC3ByL,UAAU,EAAE/E,OAAO,CAACG,QAAQ,CAACR,SAAS;gBACtC7C,OAAO,EAAEkD,OAAO,CAACG,QAAQ,CAACrD;eAC3B,CAAC,CACH;YACH;YAEA,MAAM0D,GAAG,GAAGrE,UAAU,CAACsB,GAAG,CAACuC,OAAO,CAACG,QAAQ,CAACE,GAAG,CAA6B;YAC5E,IAAI,CAAC9E,cAAc,IAAIjD,OAAO,CAACmF,GAAG,CAACuC,OAAO,CAACC,WAAW,EAAErG,SAAS,CAAC,EAAE;cAClE,OAAOpB,MAAM,CAACuJ,GAAG,CACf,oFAAoF,CACrF;YACH;YAEA;YAEA;YACA,IAAIvB,GAAG,CAAChE,IAAI,KAAKtC,YAAY,CAACsC,IAAI,EAAE;cAClC,MAAMwI,GAAG,GAAGhF,OAAuE;cACnF,MAAM0B,KAAK,GAAGlJ,MAAM,CAACuI,OAAO,CAAC,MAC3BvI,MAAM,CAACgJ,KAAK,CAACV,YAAY,CACvB,CAAC,EACDkE,GAAG,CAAChE,OAAO,CACT,IAAI1G,KAAK,CAAC2G,QAAQ,CAAsB;gBACtCtB,SAAS,EAAEK,OAAO,CAACG,QAAQ,CAACR,SAAS;gBACrCS,EAAE,EAAEjF,YAAY,CAAC+F,UAAU,EAAE;gBAC7BpB,IAAI,EAAEpH,IAAI,CAACkF;eACZ,CAAC,CACH,CACF,CAAC,CACH;cAED,IAAIoB,MAAM,CAACqE,gBAAgB,EAAE,OAAO3B,KAAK;cACzC1C,MAAM,CAACqE,gBAAgB,GAAG,IAAI;cAC9B,OAAOrE,MAAM,CAAC5B,cAAc,CAAC6H,QAAQ,CAACzM,MAAM,CAACuI,OAAO,CAAC,MAAK;gBACxD/B,MAAM,CAACqE,gBAAgB,GAAG,KAAK;gBAC/B,OAAO3B,KAAK;cACd,CAAC,CAAC,CAAC,CAACrD,IAAI,CACN7F,MAAM,CAACoI,MAAM,CAAC5B,MAAM,CAAC1D,KAAK,EAAE;gBAAE4J,gBAAgB,EAAE;cAAI,CAAE,CAAC,EACvD1M,MAAM,CAAC2M,MAAM,CACd;YACH;YAEA,IAAIzJ,eAAe,KAAK,WAAW,IAAIsD,MAAM,CAACnB,cAAc,CAACuD,IAAI,IAAI1F,eAAe,EAAE;cACpF,OAAOlD,MAAM,CAACsM,IAAI,CAAC,IAAItL,WAAW,CAAC;gBAAEsD,OAAO,EAAEkD,OAAO,CAACG,QAAQ,CAACrD;cAAO,CAAE,CAAC,CAAC;YAC5E;YAEA+H,KAAK,GAAG;cACNrE,GAAG;cACHR,OAAO;cACPJ,SAAS,EAAE,KAAK;cAChBW,aAAa,EAAExH,MAAM,CAACqM,MAAM,CAC1BpF,OAAO,CAACqF,aAAa,EACpB3D,KAAK,IAAoCA,KAAK,CAAClF,IAAI,KAAK,OAAO,CACjE;cACDiF,QAAQ,EAAE1I,MAAM,CAACuM,KAAK,CAACtF,OAAO,CAACqF,aAAa,EAAE;gBAC5CE,MAAM,EAAEA,CAAA,KAAM,CAAC;gBACfC,MAAM,EAAG9D,KAAK,IAAKA,KAAK,CAAClF,IAAI,KAAK,OAAO,GAAGkF,KAAK,CAACD,QAAQ,GAAG,CAAC,GAAG;eAClE;aACF;YACDzC,MAAM,CAACnB,cAAc,CAACtB,GAAG,CAACyD,OAAO,CAACG,QAAQ,CAACR,SAAS,EAAEkF,KAAK,CAAC;YAC5D,OAAO7F,MAAM,CAACkB,KAAK,CACjB,CAAC,EACD;cACE,GAAGF,OAAO,CAACG,QAAQ;cACnBC,EAAE,EAAEJ,OAAO,CAACG,QAAQ,CAACR,SAAgB;cACrCW,OAAO,EAAE,IAAInG,OAAO,CAAC;gBACnB,GAAG6F,OAAO,CAACG,QAAQ;gBACnBI,aAAa,EAAExH,MAAM,CAACqM,MAAM,CAC1BpF,OAAO,CAACqF,aAAa,EACpB3D,KAAK,IAA8BA,KAAK,CAAClF,IAAI,KAAK,OAAO;eAE7D;aACF,EACDlE,OAAO,CAACmF,GAAG,CAACuC,OAAO,CAACC,WAAW,EAAEpG,eAAe,CAAC,GAC7C;cAAE4G,SAAS,EAAExF,OAAO,CAACO,OAAO,CAACkF;YAAe,CAAE,GAC9CC,SAAS,CACd;UACH;QACA,KAAK,kBAAkB;UAAE;YACvB,MAAMkE,KAAK,GAAG7F,MAAM,CAACnB,cAAc,CAACJ,GAAG,CAACuC,OAAO,CAACG,QAAQ,CAACR,SAAS,CAAC;YACnE,IAAI,CAACkF,KAAK,EAAE;cACV,OAAOrM,MAAM,CAACoF,IAAI;YACpB,CAAC,MAAM,IACLoC,OAAO,CAACG,QAAQ,CAAC3D,IAAI,KAAK,UAAU,IACpCzD,MAAM,CAAC0M,MAAM,CAACZ,KAAK,CAACtE,aAAa,CAAC,IAClCP,OAAO,CAACG,QAAQ,CAACuF,OAAO,KAAKb,KAAK,CAACtE,aAAa,CAAC6C,KAAK,CAAChD,EAAE,EACzD;cACA,OAAO5H,MAAM,CAACoF,IAAI;YACpB;YACA,OAAOoB,MAAM,CAACkB,KAAK,CACjB,CAAC,EACDF,OAAO,CAACG,QAAQ,CAAC3D,IAAI,KAAK,UAAU,GAChC;cAAEA,IAAI,EAAE,KAAK;cAAEmD,SAAS,EAAEK,OAAO,CAACG,QAAQ,CAACR;YAAgB,CAAE,GAC7D;cACAnD,IAAI,EAAE,WAAW;cACjBmD,SAAS,EAAEK,OAAO,CAACG,QAAQ,CAACR,SAAgB;cAC5CgG,YAAY,EAAE;aACf,CACJ;UACH;MACF;IACF,CAAC,CACF,EACD3M,qBAAqB,EACrB,EAAE,CACH;EACH;EAEA,MAAM4M,aAAa,GAAGC,iBAAiB,CAAC9K,MAAM,EAAEoB,UAAU,CAAC;EAE3D,MAAM2J,OAAO,GAAGtN,MAAM,CAACuN,WAAW,CAAClK,OAAO,CAAC;EAE3C,OAAOjD,QAAQ,CAAgB;IAC7BoN,cAAc,EAAEA,CAAC/I,OAAgB,EAAEhC,OAAO,KACxCzC,MAAM,CAACuI,OAAO,CAAC,SAASkF,IAAIA,CAAA;MAC1B,MAAMC,MAAM,GAAG/N,GAAG,CAACgO,KAAK,EAAqB;MAC7C,IAAIlL,OAAO,EAAEsC,KAAK,KAAK,IAAI,EAAE;QAC3Bb,kBAAkB,CAAC0J,OAAO,CAAC,CAACC,OAAO,EAAEvJ,OAAO,KAAI;UAC9C,IAAIG,OAAO,CAACxE,KAAK,CAAC6N,MAAM,CAAC,CAACxJ,OAAO,CAACG,OAAO,CAAC,EAAE;YAC1CoJ,OAAO,CAAC9I,KAAK,CAACG,UAAU,EAAE;UAC5B;QACF,CAAC,CAAC;MACJ;MACAjB,aAAa,CAAC2J,OAAO,CAAE/E,KAAK,IAAI;QAC9B,IAAIpE,OAAO,CAACxE,KAAK,CAAC6N,MAAM,CAAC,CAACjF,KAAK,CAACvE,OAAO,CAACG,OAAO,CAAC,EAAE;UAChDiJ,MAAM,CAACK,IAAI,CAACT,OAAO,CAACjJ,QAAQ,CAAC2J,YAAY,CAACnF,KAAK,CAACvE,OAAO,CAAC,CAAC,CAAC;QAC5D;MACF,CAAC,CAAC;MACFJ,kBAAkB,CAAC0J,OAAO,CAAC,CAACC,OAAO,EAAEvJ,OAAO,KAAI;QAC9C,IAAIG,OAAO,CAACxE,KAAK,CAAC6N,MAAM,CAAC,CAACxJ,OAAO,CAACG,OAAO,CAAC,EAAE;UAC1CiJ,MAAM,CAACK,IAAI,CAACT,OAAO,CAACO,OAAO,CAAC/I,MAAM,CAAC6F,KAAK,CAAC,CAAC;QAC5C;MACF,CAAC,CAAC;MACF,IAAI+C,MAAM,CAACO,MAAM,KAAK,CAAC,EAAE,OAAOjO,MAAM,CAACoF,IAAI;MAC3C,OAAOpF,MAAM,CAAC2I,OAAO,CAACxI,KAAK,CAAC+N,OAAO,CAACR,MAAM,CAAC,EAAED,IAAI,CAAC;IACpD,CAAC,CAAC;IACJU,eAAeA,CAAC3G,OAAO,EAAE/E,OAAO;MAC9B,IAAIA,OAAO,EAAE2L,cAAc,KAAK,IAAI,IAAIjK,mBAAmB,CAACoD,GAAG,CAACC,OAAO,CAACG,QAAQ,CAACR,SAAS,CAAC,EAAE;QAC3F,OAAO,IAAI;MACb;MACA,MAAM0B,KAAK,GAAG5E,aAAa,CAACgB,GAAG,CAACuC,OAAO,CAACG,QAAQ,CAACrD,OAAO,CAACsC,QAAQ,CAAC;MAClE,IAAI,CAACiC,KAAK,EAAE,OAAO,KAAK;MACxB,MAAM3B,OAAO,GAAG2B,KAAK,CAACxD,cAAc,CAACJ,GAAG,CAACuC,OAAO,CAACG,QAAQ,CAACR,SAAS,CAAC;MACpE,IAAID,OAAO,KAAKiB,SAAS,EAAE;QACzB,OAAO,KAAK;MACd,CAAC,MAAM,IAAI1F,OAAO,EAAE2L,cAAc,IAAIlH,OAAO,CAACE,SAAS,EAAE;QACvD,OAAO,KAAK;MACd;MACA,OAAO,IAAI;IACb,CAAC;IACDiH,cAAcA,CAAA;MACZlK,mBAAmB,CAAC2F,KAAK,EAAE;IAC7B,CAAC;IACDsC,SAAS;IACTkC,IAAI,EAAG9G,OAAO,IACZ4F,aAAa,CAAC5F,OAAO,CAAC,CAAC3B,IAAI,CACzB7F,MAAM,CAACuO,WAAW,CAAC;MACjBC,SAAS,EAAGnI,KAAK,IAAI;QACnB,IAAImB,OAAO,CAACxD,IAAI,KAAK,kBAAkB,EAAE;UACvC,OAAOhE,MAAM,CAACuJ,GAAG,CAAC,IAAItI,gBAAgB,CAAC;YAAEoF;UAAK,CAAE,CAAC,CAAC;QACpD;QACA,OAAOrG,MAAM,CAACgJ,KAAK,CAACxB,OAAO,CAACgB,OAAO,CACjC,IAAI1G,KAAK,CAAC2M,gBAAgB,CAAC;UACzBvF,KAAK,EAAE,IAAIpH,KAAK,CAAC2G,QAAQ,CAAC;YACxBb,EAAE,EAAEjF,YAAY,CAAC+F,UAAU,EAAE;YAC7BvB,SAAS,EAAEK,OAAO,CAACG,QAAQ,CAACR,SAAS;YACrCG,IAAI,EAAEpH,IAAI,CAACqJ,GAAG,CAAC,IAAItI,gBAAgB,CAAC;cAAEoF;YAAK,CAAE,CAAC;WAC/C,CAAC;UACF2B,GAAG,EAAErE,UAAU,CAACsB,GAAG,CAACuC,OAAO,CAACG,QAAQ,CAACE,GAAG,CAAE;UAC1CxE,OAAO,EAAEA;SACV,CAAC,CACH,CAAC;MACJ,CAAC;MACDqL,SAAS,EAAGC,OAAO,IAAI;QACrB,IAAIA,OAAO,CAAC3K,IAAI,KAAK,kBAAkB,EAAE;UACvC,OAAOoI,SAAS,CACd,IAAIxK,OAAO,CAACgN,gBAAgB,CAACD,OAAO,CAAC,CACtC;QACH;QACA,MAAMzH,OAAO,GAAGM,OAAuC;QACvD,MAAMQ,GAAG,GAAGrE,UAAU,CAACsB,GAAG,CAAC0J,OAAO,CAAChH,QAAQ,CAACE,GAAG,CAAE;QACjD,OAAOuE,SAAS,CACd,IAAIxK,OAAO,CAACiN,oBAAoB,CAAC;UAC/BpH,WAAW,EAAE3H,OAAO,CAACmF,GAAG,CAAC+C,GAAG,CAACP,WAAW,EAAEnG,aAAa,CAACwN,OAAO,CAAC,CAC9D9G,GAAG,CAACP,WAAW,EACfkH,OAAO,CAAChH,QAAe,CACxB;UACDA,QAAQ,EAAEgH,OAAO,CAAChH,QAAQ;UAC1BkF,aAAa,EAAE8B,OAAO,CAAC9B,aAAa;UACpCrE,OAAO,EAAGU,KAAK,IACbhC,OAAO,CAACsB,OAAO,CACb,IAAI1G,KAAK,CAAC2M,gBAAgB,CAAC;YACzBvF,KAAK;YACLlB,GAAG;YACH3E,OAAO,EAAEA;WACV,CAAC;SAEP,CAAC,CACH;MACH;KACD,CAAC,EACFrD,MAAM,CAAC+O,cAAc,CAAC1L,OAAmC,CAAC,CAC3D;IACH2L,iBAAiB,EAAEhP,MAAM,CAAC6J,IAAI,CAAC,MAAM5F,aAAa,CAAC2E,IAAI;GACxD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAMpF,kBAAkB,gBAAG/C,QAAQ,CAACwO,GAAG,CAAC,cACtCxO,QAAQ,CAACyO,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,eAC9BzO,QAAQ,CAAC0O,MAAM,CAAC,YAAY,CAAC,CAC9B,CAAC;AAEF,MAAM9B,iBAAiB,GAAGA,CACxB9K,MAA0B,EAC1BoB,UAA6B,KAC3B;EACF,MAAMyL,aAAa,GAAGpP,MAAM,CAACqP,eAAe,CAAC,WAC3C7H,OAAsC,EACtCQ,GAAqB;IAErB,MAAMF,OAAO,GAAG,OAAOpH,MAAM,CAAC4O,YAAY,CAAC5O,MAAM,CAAC6O,WAAW,CAACvH,GAAG,CAACwH,aAAa,CAAC,CAAC,CAAChI,OAAO,CAACG,QAAQ,CAACG,OAAO,CAAC;IAC3G,MAAM+E,aAAa,GAAGtM,MAAM,CAACkP,MAAM,CAACjI,OAAO,CAACqF,aAAa,CAAC,GACxDrF,OAAO,CAACqF,aAAa,GACrBtM,MAAM,CAAC8I,IAAI,CAAC,OAAO3I,MAAM,CAAC4O,YAAY,CAACxN,KAAK,CAACA,KAAK,CAACkG,GAAG,CAAC,CAAC,CAACR,OAAO,CAACqF,aAAa,CAACjC,KAAK,CAAC,CAAC;IACxF,OAAO;MACL5G,IAAI,EAAE,iBAAiB;MACvB2D,QAAQ,EAAE;QACR,GAAGH,OAAO,CAACG,QAAQ;QACnBG;OACuB;MACzB+E;KACQ;EACZ,CAAC,CAAC;EAEF,OAAQrF,OAA+B,IAWnC;IACF,IAAIA,OAAO,CAACxD,IAAI,KAAK,kBAAkB,EAAE;MACvC,OAAOhE,MAAM,CAAC0P,OAAO,CAAClI,OAAO,CAAC;IAChC;IACA,MAAMQ,GAAG,GAAGrE,UAAU,CAACsB,GAAG,CAACuC,OAAO,CAACG,QAAQ,CAACE,GAAG,CAA4B;IAC3E,IAAI,CAACG,GAAG,EAAE;MACR,OAAOhI,MAAM,CAACsM,IAAI,CAChB,IAAI5L,MAAM,CAACiP,WAAW,CACpB,IAAIhP,WAAW,CAACiP,YAAY,CAACrP,MAAM,CAAC8I,IAAI,CAAC7B,OAAO,CAAC,EAAE;QACjDA,OAAO,EAAE,eAAeA,OAAO,CAACG,QAAQ,CAACE,GAAG,oBAAoBtF,MAAM,CAACoE,IAAI;OAC5E,CAAC,CACH,CACF;IACH;IACA,OAAOyI,aAAa,CAAC5H,OAAO,EAAEQ,GAAG,CAQhC;EACH,CAAC;AACH,CAAC;AAED,MAAMM,YAAY,GAAGA,CAAUuH,KAAa,EAAE7F,MAA8B,KAC1E6F,KAAK,KAAK,CAAC,GACT7F,MAAM,GACNhK,MAAM,CAAC8P,KAAK,CAAC9F,MAAM,EAAE,MAAMhK,MAAM,CAAC+P,KAAK,CAACzH,YAAY,CAACuH,KAAK,GAAG,CAAC,EAAE7F,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shardLock.d.ts","sourceRoot":"","sources":["../../../../src/unstable/cluster/internal/shardLock.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as Duration from "../../../Duration.js";
|
|
2
|
+
/** @internal */
|
|
3
|
+
export const effectiveInterval = config => Duration.min(Duration.fromInputUnsafe(config.shardLockRefreshInterval), Duration.divideUnsafe(Duration.fromInputUnsafe(config.shardLockExpiration), 3));
|
|
4
|
+
//# sourceMappingURL=shardLock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shardLock.js","names":["Duration","effectiveInterval","config","min","fromInputUnsafe","shardLockRefreshInterval","divideUnsafe","shardLockExpiration"],"sources":["../../../../src/unstable/cluster/internal/shardLock.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAGhD;AACA,OAAO,MAAMC,iBAAiB,GAAIC,MAAiC,IACjEF,QAAQ,CAACG,GAAG,CACVH,QAAQ,CAACI,eAAe,CAACF,MAAM,CAACG,wBAAwB,CAAC,EACzDL,QAAQ,CAACM,YAAY,CAACN,QAAQ,CAACI,eAAe,CAACF,MAAM,CAACK,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAC/E","ignoreList":[]}
|