effect 4.0.0-beta.1 → 4.0.0-beta.11
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/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +1 -1
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +7 -7
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +6 -4
- package/dist/Channel.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +3 -3
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Data.d.ts +534 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +342 -248
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +119 -119
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +376 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +246 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +30 -1
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +2 -2
- package/dist/Graph.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +18 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +29 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +3 -3
- package/dist/References.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +33 -14
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +65 -24
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +199 -49
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +386 -72
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +2 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +43 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +37 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +80 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/Stream.d.ts +24 -24
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +12 -11
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Types.d.ts +14 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +503 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +503 -19
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +85 -26
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +2 -2
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/testing/TestClock.d.ts +7 -6
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +6 -6
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +48 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +41 -0
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +51 -51
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +37 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +199 -7
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +116 -6
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +60 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +11 -1
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +33 -8
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +10 -2
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +5 -4
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +8 -6
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +27 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +11 -11
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +4 -4
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +15 -3
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +30 -33
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +4 -9
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +14 -32
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +11 -27
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +3 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +6 -6
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +3 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +21 -39
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +29 -9
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +18 -16
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +2 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +6 -0
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +6 -6
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +15 -12
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +6 -6
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +22 -1
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +2 -2
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +9 -3
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +4 -4
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +2 -2
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +13 -2
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +3 -2
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlError.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +24 -1
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +24 -3
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +2 -2
- package/dist/unstable/workflow/WorkflowEngine.d.ts +8 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +133 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Cache.ts +3 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +15 -13
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +3 -3
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +378 -269
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -1
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +8 -5
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Queue.ts +0 -1
- package/src/Random.ts +33 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Reducer.ts +166 -7
- package/src/References.ts +4 -4
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +279 -140
- package/src/Schema.ts +575 -113
- package/src/SchemaAST.ts +2 -1
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +104 -0
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/Stream.ts +50 -49
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Types.ts +12 -2
- package/src/index.ts +507 -20
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +194 -51
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +8 -8
- package/src/unstable/ai/AiError.ts +2 -2
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +74 -3
- package/src/unstable/ai/McpServer.ts +2 -2
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/cli/CliOutput.ts +45 -6
- package/src/unstable/cli/Command.ts +298 -11
- package/src/unstable/cli/HelpDoc.ts +68 -2
- package/src/unstable/cli/internal/command.ts +47 -11
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/parser.ts +11 -3
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -2
- package/src/unstable/cluster/Entity.ts +7 -6
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +1 -1
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +11 -9
- package/src/unstable/cluster/ShardingConfig.ts +10 -11
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +2 -4
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/Headers.ts +28 -13
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +19 -19
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +27 -30
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +5 -10
- package/src/unstable/http/HttpServerError.ts +13 -27
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +4 -2
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +6 -5
- package/src/unstable/httpapi/HttpApiClient.ts +3 -3
- package/src/unstable/httpapi/HttpApiEndpoint.ts +47 -72
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/OpenApi.ts +18 -16
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +2 -2
- package/src/unstable/process/ChildProcessSpawner.ts +6 -0
- package/src/unstable/reactivity/Atom.ts +20 -18
- package/src/unstable/reactivity/AtomHttpApi.ts +19 -18
- package/src/unstable/reactivity/AtomRegistry.ts +29 -1
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +3 -3
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcServer.ts +10 -4
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +36 -7
- package/src/unstable/socket/Socket.ts +7 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlSchema.ts +62 -13
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/WorkflowEngine.ts +181 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
|
@@ -8,6 +8,7 @@ import * as Effect from "../../Effect.ts"
|
|
|
8
8
|
import * as Exit from "../../Exit.ts"
|
|
9
9
|
import * as Fiber from "../../Fiber.ts"
|
|
10
10
|
import { constVoid, dual, flow, identity } from "../../Function.ts"
|
|
11
|
+
import * as Latch from "../../Latch.ts"
|
|
11
12
|
import * as Layer from "../../Layer.ts"
|
|
12
13
|
import * as Option from "../../Option.ts"
|
|
13
14
|
import * as Pool from "../../Pool.ts"
|
|
@@ -20,7 +21,6 @@ import * as ServiceMap from "../../ServiceMap.ts"
|
|
|
20
21
|
import * as Stream from "../../Stream.ts"
|
|
21
22
|
import type * as Struct from "../../Struct.ts"
|
|
22
23
|
import type { Span } from "../../Tracer.ts"
|
|
23
|
-
import type { Mutable } from "../../Types.ts"
|
|
24
24
|
import * as Headers from "../http/Headers.ts"
|
|
25
25
|
import * as HttpBody from "../http/HttpBody.ts"
|
|
26
26
|
import * as HttpClient from "../http/HttpClient.ts"
|
|
@@ -45,16 +45,7 @@ import { withRun } from "./Utils.ts"
|
|
|
45
45
|
* @since 4.0.0
|
|
46
46
|
* @category client
|
|
47
47
|
*/
|
|
48
|
-
export type RpcClient<Rpcs extends Rpc.Any, E = never> = Struct.Simplify<
|
|
49
|
-
& RpcClient.From<RpcClient.NonPrefixed<Rpcs>, E, "">
|
|
50
|
-
& {
|
|
51
|
-
readonly [CurrentPrefix in RpcClient.Prefixes<Rpcs>]: RpcClient.From<
|
|
52
|
-
RpcClient.Prefixed<Rpcs, CurrentPrefix>,
|
|
53
|
-
E,
|
|
54
|
-
CurrentPrefix
|
|
55
|
-
>
|
|
56
|
-
}
|
|
57
|
-
>
|
|
48
|
+
export type RpcClient<Rpcs extends Rpc.Any, E = never> = Struct.Simplify<RpcClient.From<Rpcs, E>>
|
|
58
49
|
|
|
59
50
|
/**
|
|
60
51
|
* @since 4.0.0
|
|
@@ -65,34 +56,8 @@ export declare namespace RpcClient {
|
|
|
65
56
|
* @since 4.0.0
|
|
66
57
|
* @category client
|
|
67
58
|
*/
|
|
68
|
-
export type
|
|
69
|
-
|
|
70
|
-
: never
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* @since 4.0.0
|
|
74
|
-
* @category client
|
|
75
|
-
*/
|
|
76
|
-
export type NonPrefixed<Rpcs extends Rpc.Any> = Exclude<Rpcs, { readonly _tag: `${string}.${string}` }>
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* @since 4.0.0
|
|
80
|
-
* @category client
|
|
81
|
-
*/
|
|
82
|
-
export type Prefixed<Rpcs extends Rpc.Any, Prefix extends string> = Extract<
|
|
83
|
-
Rpcs,
|
|
84
|
-
{ readonly _tag: `${Prefix}.${string}` }
|
|
85
|
-
>
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* @since 4.0.0
|
|
89
|
-
* @category client
|
|
90
|
-
*/
|
|
91
|
-
export type From<Rpcs extends Rpc.Any, E = never, Prefix extends string = ""> = {
|
|
92
|
-
readonly [
|
|
93
|
-
Current in Rpcs as Current["_tag"] extends `${Prefix}.${infer Method}` ? Method
|
|
94
|
-
: Current["_tag"]
|
|
95
|
-
]: <
|
|
59
|
+
export type From<Rpcs extends Rpc.Any, E = never> = {
|
|
60
|
+
readonly [Current in Rpcs as Current["_tag"]]: <
|
|
96
61
|
const AsQueue extends boolean = false,
|
|
97
62
|
const Discard = false
|
|
98
63
|
>(
|
|
@@ -614,16 +579,9 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
614
579
|
}
|
|
615
580
|
} else {
|
|
616
581
|
client = {}
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
if (prefix !== undefined && !(prefix in client)) {
|
|
621
|
-
;(client as any)[prefix] = {} as Mutable<RpcClient.Prefixed<Rpcs, typeof prefix>>
|
|
622
|
-
}
|
|
623
|
-
const target = prefix !== undefined ? (client as any)[prefix] : client
|
|
624
|
-
const tag = prefix !== undefined ? rpc._tag.slice(dot + 1) : rpc._tag
|
|
625
|
-
target[tag] = onRequest(rpc as any)
|
|
626
|
-
}
|
|
582
|
+
group.requests.forEach((rpc) => {
|
|
583
|
+
client[rpc._tag] = onRequest(rpc as any)
|
|
584
|
+
})
|
|
627
585
|
}
|
|
628
586
|
|
|
629
587
|
return { client, write } as const
|
|
@@ -1070,7 +1028,7 @@ const defaultRetryPolicy = Schedule.exponential(500, 1.5).pipe(
|
|
|
1070
1028
|
|
|
1071
1029
|
const makePinger = Effect.fnUntraced(function*<A, E, R>(writePing: Effect.Effect<A, E, R>) {
|
|
1072
1030
|
let recievedPong = true
|
|
1073
|
-
const latch =
|
|
1031
|
+
const latch = Latch.makeUnsafe()
|
|
1074
1032
|
const reset = () => {
|
|
1075
1033
|
recievedPong = true
|
|
1076
1034
|
latch.closeUnsafe()
|
|
@@ -1118,7 +1076,7 @@ export const makeProtocolWorker = (
|
|
|
1118
1076
|
readonly maxSize: number
|
|
1119
1077
|
readonly concurrency?: number | undefined
|
|
1120
1078
|
readonly targetUtilization?: number | undefined
|
|
1121
|
-
readonly timeToLive: Duration.
|
|
1079
|
+
readonly timeToLive: Duration.Input
|
|
1122
1080
|
}
|
|
1123
1081
|
): Effect.Effect<
|
|
1124
1082
|
Protocol["Service"],
|
|
@@ -1133,7 +1091,7 @@ export const makeProtocolWorker = (
|
|
|
1133
1091
|
|
|
1134
1092
|
const entries = new Map<string, {
|
|
1135
1093
|
readonly worker: Worker.Worker<FromServerEncoded, FromClientEncoded | RpcWorker.InitialMessage.Encoded>
|
|
1136
|
-
readonly latch:
|
|
1094
|
+
readonly latch: Latch.Latch
|
|
1137
1095
|
}>()
|
|
1138
1096
|
|
|
1139
1097
|
const acquire = Effect.gen(function*() {
|
|
@@ -1219,7 +1177,7 @@ export const makeProtocolWorker = (
|
|
|
1219
1177
|
case "Request": {
|
|
1220
1178
|
return Pool.get(pool).pipe(
|
|
1221
1179
|
Effect.flatMap((worker) => {
|
|
1222
|
-
const latch =
|
|
1180
|
+
const latch = Latch.makeUnsafe(false)
|
|
1223
1181
|
entries.set(request.id, { worker, latch })
|
|
1224
1182
|
return Effect.flatMap(worker.send(request, transferables), () => latch.await)
|
|
1225
1183
|
}),
|
|
@@ -1266,7 +1224,7 @@ export const layerProtocolWorker: (
|
|
|
1266
1224
|
readonly maxSize: number
|
|
1267
1225
|
readonly concurrency?: number | undefined
|
|
1268
1226
|
readonly targetUtilization?: number | undefined
|
|
1269
|
-
readonly timeToLive: Duration.
|
|
1227
|
+
readonly timeToLive: Duration.Input
|
|
1270
1228
|
}
|
|
1271
1229
|
) => Layer.Layer<
|
|
1272
1230
|
Protocol,
|
|
@@ -8,6 +8,8 @@ import * as Effect from "../../Effect.ts"
|
|
|
8
8
|
import * as Exit from "../../Exit.ts"
|
|
9
9
|
import * as Fiber from "../../Fiber.ts"
|
|
10
10
|
import { constant, constTrue, constVoid, identity } from "../../Function.ts"
|
|
11
|
+
import { reportCauseUnsafe } from "../../internal/effect.ts"
|
|
12
|
+
import * as Latch from "../../Latch.ts"
|
|
11
13
|
import * as Layer from "../../Layer.ts"
|
|
12
14
|
import type * as Option from "../../Option.ts"
|
|
13
15
|
import * as Predicate from "../../Predicate.ts"
|
|
@@ -17,6 +19,7 @@ import * as Result from "../../Result.ts"
|
|
|
17
19
|
import * as Schedule from "../../Schedule.ts"
|
|
18
20
|
import * as Schema from "../../Schema.ts"
|
|
19
21
|
import * as Scope from "../../Scope.ts"
|
|
22
|
+
import * as Semaphore from "../../Semaphore.ts"
|
|
20
23
|
import * as ServiceMap from "../../ServiceMap.ts"
|
|
21
24
|
import { Stdio } from "../../Stdio.ts"
|
|
22
25
|
import * as Stream from "../../Stream.ts"
|
|
@@ -101,18 +104,18 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any>(
|
|
|
101
104
|
const trackFiber = Fiber.runIn(Scope.forkUnsafe(scope, "parallel"))
|
|
102
105
|
const concurrencySemaphore = concurrency === "unbounded"
|
|
103
106
|
? undefined
|
|
104
|
-
: yield*
|
|
107
|
+
: yield* Semaphore.make(concurrency)
|
|
105
108
|
|
|
106
109
|
type Client = {
|
|
107
110
|
readonly id: number
|
|
108
|
-
readonly latches: Map<RequestId,
|
|
111
|
+
readonly latches: Map<RequestId, Latch.Latch>
|
|
109
112
|
readonly fibers: Map<RequestId, Fiber.Fiber<unknown, any>>
|
|
110
113
|
ended: boolean
|
|
111
114
|
}
|
|
112
115
|
|
|
113
116
|
const clients = new Map<number, Client>()
|
|
114
117
|
let isShutdown = false
|
|
115
|
-
const shutdownLatch =
|
|
118
|
+
const shutdownLatch = Latch.makeUnsafe(false)
|
|
116
119
|
yield* Scope.addFinalizer(
|
|
117
120
|
scope,
|
|
118
121
|
Effect.withFiber((parent) => {
|
|
@@ -271,6 +274,9 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any>(
|
|
|
271
274
|
requestId: request.id,
|
|
272
275
|
exit
|
|
273
276
|
})
|
|
277
|
+
if (exit._tag === "Failure") {
|
|
278
|
+
reportCauseUnsafe(Fiber.getCurrent()!, exit.cause)
|
|
279
|
+
}
|
|
274
280
|
return close ? Effect.ensuring(write, close) : write
|
|
275
281
|
})
|
|
276
282
|
if (enableTracing) {
|
|
@@ -342,7 +348,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any>(
|
|
|
342
348
|
) => {
|
|
343
349
|
let latch = client.latches.get(request.id)
|
|
344
350
|
if (supportsAck && !latch) {
|
|
345
|
-
latch =
|
|
351
|
+
latch = Latch.makeUnsafe(false)
|
|
346
352
|
client.latches.set(request.id, latch)
|
|
347
353
|
}
|
|
348
354
|
if (Effect.isEffect(stream)) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as Effect from "../../Effect.ts"
|
|
5
|
+
import * as Semaphore from "../../Semaphore.ts"
|
|
5
6
|
import type * as ServiceMap from "../../ServiceMap.ts"
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -14,7 +15,7 @@ export const withRun = <
|
|
|
14
15
|
>() =>
|
|
15
16
|
<EX, RX>(f: (write: Parameters<A["run"]>[0]) => Effect.Effect<Omit<A, "run">, EX, RX>): Effect.Effect<A, EX, RX> =>
|
|
16
17
|
Effect.suspend(() => {
|
|
17
|
-
const semaphore =
|
|
18
|
+
const semaphore = Semaphore.makeUnsafe(1)
|
|
18
19
|
let buffer: Array<[Array<any>, ServiceMap.ServiceMap<never>]> = []
|
|
19
20
|
let write = (...args: Array<any>): Effect.Effect<void> =>
|
|
20
21
|
Effect.servicesWith((context) => {
|
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Brand } from "../../Brand.ts"
|
|
5
5
|
import * as Effect from "../../Effect.ts"
|
|
6
|
-
import {
|
|
6
|
+
import { dual } from "../../Function.ts"
|
|
7
|
+
import * as Option from "../../Option.ts"
|
|
7
8
|
import { type Pipeable, pipeArguments } from "../../Pipeable.ts"
|
|
8
9
|
import * as Predicate from "../../Predicate.ts"
|
|
9
10
|
import * as Schema from "../../Schema.ts"
|
|
10
11
|
import type * as AST from "../../SchemaAST.ts"
|
|
12
|
+
import * as Getter from "../../SchemaGetter.ts"
|
|
13
|
+
import * as Transformation from "../../SchemaTransformation.ts"
|
|
11
14
|
import * as Struct_ from "../../Struct.ts"
|
|
12
15
|
|
|
13
16
|
/**
|
|
@@ -465,8 +468,24 @@ export const Override = <A>(value: A): A & Brand<"Override"> => value as any
|
|
|
465
468
|
* @since 4.0.0
|
|
466
469
|
* @category overrideable
|
|
467
470
|
*/
|
|
468
|
-
export interface Overrideable<S extends Schema.Top & Schema.WithoutConstructorDefault>
|
|
469
|
-
|
|
471
|
+
export interface Overrideable<S extends Schema.Top & Schema.WithoutConstructorDefault> extends
|
|
472
|
+
Schema.Bottom<
|
|
473
|
+
(S["Type"] & Brand<"Override">) | undefined,
|
|
474
|
+
S["Encoded"],
|
|
475
|
+
S["DecodingServices"],
|
|
476
|
+
S["EncodingServices"],
|
|
477
|
+
S["ast"],
|
|
478
|
+
Overrideable<S>,
|
|
479
|
+
S["~type.make.in"],
|
|
480
|
+
(S["Type"] & Brand<"Override">) | undefined,
|
|
481
|
+
S["~type.parameters"],
|
|
482
|
+
(S["Type"] & Brand<"Override">) | undefined,
|
|
483
|
+
S["~type.mutability"],
|
|
484
|
+
"optional",
|
|
485
|
+
"with-default",
|
|
486
|
+
S["~encoded.mutability"],
|
|
487
|
+
S["~encoded.optionality"]
|
|
488
|
+
>
|
|
470
489
|
{}
|
|
471
490
|
|
|
472
491
|
/**
|
|
@@ -478,11 +497,21 @@ export const Overrideable = <S extends Schema.Top & Schema.WithoutConstructorDef
|
|
|
478
497
|
options: {
|
|
479
498
|
readonly defaultValue: Effect.Effect<S["~type.make.in"]>
|
|
480
499
|
}
|
|
481
|
-
) =>
|
|
500
|
+
): Overrideable<S> =>
|
|
482
501
|
schema.pipe(
|
|
483
|
-
Schema.
|
|
484
|
-
|
|
485
|
-
|
|
502
|
+
Schema.decodeTo(
|
|
503
|
+
Schema.optional(Schema.brand("Override")(Schema.toType(schema))),
|
|
504
|
+
Transformation.make({
|
|
505
|
+
decode: Getter.passthrough(),
|
|
506
|
+
encode: new Getter.Getter((o) => {
|
|
507
|
+
if (Option.isSome(o) && o.value !== undefined) {
|
|
508
|
+
return Effect.succeed(o)
|
|
509
|
+
}
|
|
510
|
+
return Effect.asSome(options.defaultValue)
|
|
511
|
+
})
|
|
512
|
+
})
|
|
513
|
+
)
|
|
514
|
+
) as any
|
|
486
515
|
|
|
487
516
|
const StructProto = {
|
|
488
517
|
pipe() {
|
|
@@ -5,11 +5,12 @@ import type { NonEmptyReadonlyArray } from "../../Array.ts"
|
|
|
5
5
|
import type * as Cause from "../../Cause.ts"
|
|
6
6
|
import * as Channel from "../../Channel.ts"
|
|
7
7
|
import * as Deferred from "../../Deferred.ts"
|
|
8
|
-
import type
|
|
8
|
+
import type * as Duration from "../../Duration.ts"
|
|
9
9
|
import * as Effect from "../../Effect.ts"
|
|
10
10
|
import * as Exit from "../../Exit.ts"
|
|
11
11
|
import * as FiberSet from "../../FiberSet.ts"
|
|
12
12
|
import { constVoid, dual, flow } from "../../Function.ts"
|
|
13
|
+
import * as Latch from "../../Latch.ts"
|
|
13
14
|
import * as Layer from "../../Layer.ts"
|
|
14
15
|
import * as Predicate from "../../Predicate.ts"
|
|
15
16
|
import * as Pull from "../../Pull.ts"
|
|
@@ -422,7 +423,7 @@ export const layerWebSocketConstructorGlobal: Layer.Layer<WebSocketConstructor>
|
|
|
422
423
|
*/
|
|
423
424
|
export const makeWebSocket = (url: string | Effect.Effect<string>, options?: {
|
|
424
425
|
readonly closeCodeIsError?: ((code: number) => boolean) | undefined
|
|
425
|
-
readonly openTimeout?:
|
|
426
|
+
readonly openTimeout?: Duration.Input | undefined
|
|
426
427
|
readonly protocols?: string | Array<string> | undefined
|
|
427
428
|
}): Effect.Effect<Socket, never, WebSocketConstructor> =>
|
|
428
429
|
fromWebSocket(
|
|
@@ -443,12 +444,12 @@ export const fromWebSocket = <RO>(
|
|
|
443
444
|
acquire: Effect.Effect<globalThis.WebSocket, SocketError, RO>,
|
|
444
445
|
options?: {
|
|
445
446
|
readonly closeCodeIsError?: ((code: number) => boolean) | undefined
|
|
446
|
-
readonly openTimeout?:
|
|
447
|
+
readonly openTimeout?: Duration.Input | undefined
|
|
447
448
|
} | undefined
|
|
448
449
|
): Effect.Effect<Socket, never, Exclude<RO, Scope.Scope>> =>
|
|
449
450
|
Effect.withFiber((fiber) => {
|
|
450
451
|
let currentWS: globalThis.WebSocket | undefined
|
|
451
|
-
const latch =
|
|
452
|
+
const latch = Latch.makeUnsafe(false)
|
|
452
453
|
const acquireContext = fiber.services as ServiceMap.ServiceMap<RO>
|
|
453
454
|
const closeCodeIsError = options?.closeCodeIsError ?? defaultCloseCodeIsError
|
|
454
455
|
|
|
@@ -618,7 +619,7 @@ export const layerWebSocket: (
|
|
|
618
619
|
url: string | Effect.Effect<string>,
|
|
619
620
|
options?: {
|
|
620
621
|
readonly closeCodeIsError?: ((code: number) => boolean) | undefined
|
|
621
|
-
readonly openTimeout?:
|
|
622
|
+
readonly openTimeout?: Duration.Input | undefined
|
|
622
623
|
readonly protocols?: string | Array<string> | undefined
|
|
623
624
|
} | undefined
|
|
624
625
|
) => Layer.Layer<Socket, never, WebSocketConstructor> = flow(makeWebSocket, Layer.effect(Socket))
|
|
@@ -648,7 +649,7 @@ export const fromTransformStream = <R>(acquire: Effect.Effect<InputTransformStre
|
|
|
648
649
|
readonly closeCodeIsError?: (code: number) => boolean
|
|
649
650
|
}): Effect.Effect<Socket, never, Exclude<R, Scope.Scope>> =>
|
|
650
651
|
Effect.withFiber((fiber) => {
|
|
651
|
-
const latch =
|
|
652
|
+
const latch = Latch.makeUnsafe(false)
|
|
652
653
|
let currentStream: {
|
|
653
654
|
readonly stream: InputTransformStream
|
|
654
655
|
readonly fiberSet: FiberSet.FiberSet<any, any>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @category models
|
|
4
4
|
*/
|
|
5
5
|
import type * as Cause from "../../Cause.ts"
|
|
6
|
-
import type {
|
|
6
|
+
import type { Input } from "../../Duration.ts"
|
|
7
7
|
import * as Effect from "../../Effect.ts"
|
|
8
8
|
import { identity } from "../../Function.ts"
|
|
9
9
|
import * as RequestResolver from "../../RequestResolver.ts"
|
|
@@ -210,7 +210,7 @@ export const makeDataLoaders = <
|
|
|
210
210
|
readonly tableName: string
|
|
211
211
|
readonly spanPrefix: string
|
|
212
212
|
readonly idColumn: Id
|
|
213
|
-
readonly window:
|
|
213
|
+
readonly window: Input
|
|
214
214
|
readonly maxBatchSize?: number | undefined
|
|
215
215
|
}
|
|
216
216
|
): Effect.Effect<
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import * as Cause from "../../Cause.ts"
|
|
6
6
|
import * as Effect from "../../Effect.ts"
|
|
7
|
+
import type * as Option from "../../Option.ts"
|
|
7
8
|
import * as Schema from "../../Schema.ts"
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -12,7 +13,7 @@ import * as Schema from "../../Schema.ts"
|
|
|
12
13
|
* @since 4.0.0
|
|
13
14
|
* @category constructor
|
|
14
15
|
*/
|
|
15
|
-
export const
|
|
16
|
+
export const findAll = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
|
|
16
17
|
options: {
|
|
17
18
|
readonly Request: Req
|
|
18
19
|
readonly Result: Res
|
|
@@ -20,7 +21,30 @@ export const findMany = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
|
|
|
20
21
|
}
|
|
21
22
|
) => {
|
|
22
23
|
const encodeRequest = Schema.encodeEffect(options.Request)
|
|
23
|
-
const decode = Schema.decodeUnknownEffect(Schema.Array(options.Result))
|
|
24
|
+
const decode = Schema.decodeUnknownEffect(Schema.mutable(Schema.Array(options.Result)))
|
|
25
|
+
return (
|
|
26
|
+
request: Req["Encoded"]
|
|
27
|
+
): Effect.Effect<
|
|
28
|
+
Array<Res["Type"]>,
|
|
29
|
+
E | Schema.SchemaError,
|
|
30
|
+
Req["EncodingServices"] | Res["DecodingServices"] | R
|
|
31
|
+
> => Effect.flatMap(Effect.flatMap(encodeRequest(request), options.execute), decode)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Run a sql query with a request schema and a result schema.
|
|
36
|
+
*
|
|
37
|
+
* @since 4.0.0
|
|
38
|
+
* @category constructor
|
|
39
|
+
*/
|
|
40
|
+
export const findNonEmpty = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
|
|
41
|
+
options: {
|
|
42
|
+
readonly Request: Req
|
|
43
|
+
readonly Result: Res
|
|
44
|
+
readonly execute: (request: Req["Encoded"]) => Effect.Effect<ReadonlyArray<unknown>, E, R>
|
|
45
|
+
}
|
|
46
|
+
) => {
|
|
47
|
+
const find = findAll(options)
|
|
24
48
|
return (
|
|
25
49
|
request: Req["Encoded"]
|
|
26
50
|
): Effect.Effect<
|
|
@@ -28,17 +52,10 @@ export const findMany = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
|
|
|
28
52
|
E | Schema.SchemaError | Cause.NoSuchElementError,
|
|
29
53
|
Req["EncodingServices"] | Res["DecodingServices"] | R
|
|
30
54
|
> =>
|
|
31
|
-
Effect.flatMap(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
Schema.SchemaError | Cause.NoSuchElementError,
|
|
36
|
-
Req["EncodingServices"] | Res["DecodingServices"]
|
|
37
|
-
> =>
|
|
38
|
-
Arr.isReadonlyArrayNonEmpty(results)
|
|
39
|
-
? decode(results) as Effect.Effect<Arr.NonEmptyArray<Res["Type"]>, Schema.SchemaError>
|
|
40
|
-
: Effect.fail(new Cause.NoSuchElementError())
|
|
41
|
-
)
|
|
55
|
+
Effect.flatMap(find(request), (results) =>
|
|
56
|
+
Arr.isArrayNonEmpty(results)
|
|
57
|
+
? Effect.succeed(results)
|
|
58
|
+
: Effect.fail(new Cause.NoSuchElementError()))
|
|
42
59
|
}
|
|
43
60
|
|
|
44
61
|
const void_ = <Req extends Schema.Top, E, R>(
|
|
@@ -94,3 +111,35 @@ export const findOne = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
|
|
|
94
111
|
> => Arr.isReadonlyArrayNonEmpty(arr) ? decode(arr[0]) : Effect.fail(new Cause.NoSuchElementError())
|
|
95
112
|
)
|
|
96
113
|
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Run a sql query with a request schema and a result schema and return the first result.
|
|
117
|
+
*
|
|
118
|
+
* @since 4.0.0
|
|
119
|
+
* @category constructor
|
|
120
|
+
*/
|
|
121
|
+
export const findOneOption = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
|
|
122
|
+
options: {
|
|
123
|
+
readonly Request: Req
|
|
124
|
+
readonly Result: Res
|
|
125
|
+
readonly execute: (request: Req["Encoded"]) => Effect.Effect<ReadonlyArray<unknown>, E, R>
|
|
126
|
+
}
|
|
127
|
+
) => {
|
|
128
|
+
const encodeRequest = Schema.encodeEffect(options.Request)
|
|
129
|
+
const decode = Schema.decodeUnknownEffect(options.Result)
|
|
130
|
+
return (
|
|
131
|
+
request: Req["Type"]
|
|
132
|
+
): Effect.Effect<
|
|
133
|
+
Option.Option<Res["Type"]>,
|
|
134
|
+
E | Schema.SchemaError,
|
|
135
|
+
R | Req["EncodingServices"] | Res["DecodingServices"]
|
|
136
|
+
> =>
|
|
137
|
+
Effect.flatMap(
|
|
138
|
+
Effect.flatMap(encodeRequest(request), options.execute),
|
|
139
|
+
(arr): Effect.Effect<
|
|
140
|
+
Option.Option<Res["Type"]>,
|
|
141
|
+
Schema.SchemaError,
|
|
142
|
+
Req["EncodingServices"] | Res["DecodingServices"]
|
|
143
|
+
> => Arr.isReadonlyArrayNonEmpty(arr) ? Effect.asSome(decode(arr[0])) : Effect.succeedNone
|
|
144
|
+
)
|
|
145
|
+
}
|
|
@@ -1124,7 +1124,6 @@ const makeUnsafe = <A = Row>(
|
|
|
1124
1124
|
}
|
|
1125
1125
|
|
|
1126
1126
|
// TODO: figure out why these diagnostics are emitted
|
|
1127
|
-
// @effect-diagnostics-next-line missingEffectContext:off missingEffectError:off
|
|
1128
1127
|
const StatementProto: Omit<
|
|
1129
1128
|
StatementImpl<any>,
|
|
1130
1129
|
"segments" | "acquirer" | "compiler" | "spanAttributes" | "transformRows"
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import type * as Deferred from "../../Deferred.ts"
|
|
5
5
|
import * as Effect from "../../Effect.ts"
|
|
6
6
|
import * as FiberSet from "../../FiberSet.ts"
|
|
7
|
+
import * as Latch from "../../Latch.ts"
|
|
7
8
|
import * as Layer from "../../Layer.ts"
|
|
8
9
|
import * as Scope from "../../Scope.ts"
|
|
9
10
|
import * as ServiceMap from "../../ServiceMap.ts"
|
|
@@ -149,7 +150,7 @@ export const makePlatform = <W>() =>
|
|
|
149
150
|
WorkerError | E
|
|
150
151
|
>().pipe(Scope.provide(scope))
|
|
151
152
|
const run = yield* FiberSet.runtime(fiberSet)<R>()
|
|
152
|
-
const ready =
|
|
153
|
+
const ready = Latch.makeUnsafe()
|
|
153
154
|
yield* options.listen({
|
|
154
155
|
port,
|
|
155
156
|
scope,
|
|
@@ -28,11 +28,11 @@ export interface DurableClock {
|
|
|
28
28
|
*/
|
|
29
29
|
export const make = (options: {
|
|
30
30
|
readonly name: string
|
|
31
|
-
readonly duration: Duration.
|
|
31
|
+
readonly duration: Duration.Input
|
|
32
32
|
}): DurableClock => ({
|
|
33
33
|
[TypeId]: TypeId,
|
|
34
34
|
name: options.name,
|
|
35
|
-
duration: Duration.
|
|
35
|
+
duration: Duration.fromInputUnsafe(options.duration),
|
|
36
36
|
deferred: DurableDeferred.make(`DurableClock/${options.name}`)
|
|
37
37
|
})
|
|
38
38
|
|
|
@@ -54,14 +54,14 @@ const InstanceTag = ServiceMap.Service<
|
|
|
54
54
|
export const sleep: (
|
|
55
55
|
options: {
|
|
56
56
|
readonly name: string
|
|
57
|
-
readonly duration: Duration.
|
|
57
|
+
readonly duration: Duration.Input
|
|
58
58
|
/**
|
|
59
59
|
* If the duration is less than or equal to this threshold, the clock will
|
|
60
60
|
* be executed in memory.
|
|
61
61
|
*
|
|
62
62
|
* Defaults to 60 seconds.
|
|
63
63
|
*/
|
|
64
|
-
readonly inMemoryThreshold?: Duration.
|
|
64
|
+
readonly inMemoryThreshold?: Duration.Input | undefined
|
|
65
65
|
}
|
|
66
66
|
) => Effect.Effect<
|
|
67
67
|
void,
|
|
@@ -69,16 +69,16 @@ export const sleep: (
|
|
|
69
69
|
WorkflowEngine | WorkflowInstance
|
|
70
70
|
> = Effect.fnUntraced(function*(options: {
|
|
71
71
|
readonly name: string
|
|
72
|
-
readonly duration: Duration.
|
|
73
|
-
readonly inMemoryThreshold?: Duration.
|
|
72
|
+
readonly duration: Duration.Input
|
|
73
|
+
readonly inMemoryThreshold?: Duration.Input | undefined
|
|
74
74
|
}) {
|
|
75
|
-
const duration = Duration.
|
|
75
|
+
const duration = Duration.fromInputUnsafe(options.duration)
|
|
76
76
|
if (Duration.isZero(duration)) {
|
|
77
77
|
return
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
const inMemoryThreshold = options.inMemoryThreshold
|
|
81
|
-
? Duration.
|
|
81
|
+
? Duration.fromInputUnsafe(options.inMemoryThreshold)
|
|
82
82
|
: defaultInMemoryThreshold
|
|
83
83
|
|
|
84
84
|
if (Duration.isLessThanOrEqualTo(duration, inMemoryThreshold)) {
|
|
@@ -5,7 +5,7 @@ import type { NonEmptyReadonlyArray } from "../../Array.ts"
|
|
|
5
5
|
import type * as Brand from "../../Brand.ts"
|
|
6
6
|
import type * as Cause from "../../Cause.ts"
|
|
7
7
|
import * as Effect from "../../Effect.ts"
|
|
8
|
-
import * as
|
|
8
|
+
import * as Encoding from "../../Encoding.ts"
|
|
9
9
|
import * as Exit from "../../Exit.ts"
|
|
10
10
|
import { dual } from "../../Function.ts"
|
|
11
11
|
import * as Predicate from "../../Predicate.ts"
|
|
@@ -285,7 +285,7 @@ export class TokenParsed extends Schema.Class<TokenParsed>(
|
|
|
285
285
|
* @since 4.0.0
|
|
286
286
|
*/
|
|
287
287
|
get asToken(): Token {
|
|
288
|
-
return
|
|
288
|
+
return Encoding.encodeBase64Url(
|
|
289
289
|
JSON.stringify([this.workflowName, this.executionId, this.deferredName])
|
|
290
290
|
) as Token
|
|
291
291
|
}
|