effect 4.0.0-beta.2 → 4.0.0-beta.21
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 +127 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +6 -5
- 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 +116 -30
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +82 -37
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +54 -247
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +36 -67
- package/dist/Chunk.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 +165 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +62 -7
- 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 +829 -692
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +263 -251
- 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/Fiber.d.ts +2 -2
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- 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 -34
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -13
- 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 +5 -8
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +15 -14
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +4 -4
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +40 -39
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +94 -22
- package/dist/Iterable.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/Layer.d.ts +9 -9
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js.map +1 -1
- 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/ManagedRuntime.d.ts +1 -1
- package/dist/ManagedRuntime.js +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/Option.d.ts +22 -15
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +14 -7
- package/dist/Option.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/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.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 +35 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -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/Record.d.ts +24 -120
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +21 -41
- package/dist/Record.js.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 +47 -20
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +94 -34
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +266 -50
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +426 -74
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +7 -6
- 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/SchemaParser.d.ts +5 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +10 -0
- package/dist/SchemaParser.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 +107 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +159 -4
- 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/ServiceMap.d.ts +39 -30
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +3 -3
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +53 -6
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +235 -423
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +124 -77
- 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/Trie.d.ts +18 -17
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -5
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +37 -37
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +3 -3
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +196 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +84 -83
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +24 -24
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +35 -35
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +14 -14
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +415 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +32 -32
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +26 -26
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +523 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +504 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +34 -34
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +21 -14
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +8 -8
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +7 -7
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +84 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +591 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +591 -20
- 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 +263 -99
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +5 -4
- 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/internal/request.js +2 -2
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/trie.js +5 -4
- package/dist/internal/trie.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 +8 -8
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +128 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +11 -12
- package/dist/unstable/ai/AiError.js.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 +4 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +86 -14
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +163 -87
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +49 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- 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 +35 -7
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +25 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +22 -6
- package/dist/unstable/ai/Model.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/ai/Tool.d.ts +19 -3
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -9
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +276 -19
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +234 -36
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +70 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/index.d.ts +4 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +4 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +17 -8
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +32 -23
- 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/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +107 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +29 -36
- 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 +4 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +7 -6
- 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 +4 -4
- 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 +9 -7
- 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 +20 -20
- 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 +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 +37 -13
- 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 +3 -8
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +42 -56
- 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 +8 -17
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +20 -33
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +37 -44
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.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/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +23 -12
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
- package/dist/unstable/httpapi/HttpApiClient.d.ts.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 +31 -44
- 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/HttpApiGroup.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.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/HttpApiSecurity.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +32 -21
- 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 +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +21 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +10 -10
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +16 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
- 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 +24 -7
- 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 +4 -4
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js.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/RpcGroup.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +3 -3
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +14 -0
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +34 -9
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +0 -7
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +15 -15
- 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 +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +3 -3
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -3
- 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 +6 -5
- 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/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +14 -14
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +9 -3
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- 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 +3 -3
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +137 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +190 -342
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +183 -21
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +991 -800
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/Fiber.ts +9 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -58
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +105 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +11 -15
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +1 -1
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Option.ts +30 -20
- 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/Pull.ts +1 -1
- package/src/Queue.ts +0 -1
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +43 -152
- 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 +318 -160
- package/src/Schema.ts +661 -116
- package/src/SchemaAST.ts +7 -6
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +47 -38
- package/src/Sink.ts +78 -26
- package/src/Stream.ts +566 -601
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Trie.ts +18 -17
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +332 -285
- package/src/TxHashSet.ts +111 -116
- package/src/TxPriorityQueue.ts +767 -0
- package/src/TxPubSub.ts +789 -0
- package/src/TxQueue.ts +241 -251
- package/src/TxReentrantLock.ts +753 -0
- package/src/TxRef.ts +50 -38
- package/src/TxSemaphore.ts +29 -32
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +78 -2
- package/src/index.ts +600 -21
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +744 -265
- package/src/internal/hashMap.ts +9 -7
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/trie.ts +16 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +10 -10
- package/src/unstable/ai/AiError.ts +97 -44
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +129 -25
- package/src/unstable/ai/McpSchema.ts +59 -13
- package/src/unstable/ai/McpServer.ts +48 -9
- package/src/unstable/ai/Model.ts +40 -9
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/Tool.ts +19 -13
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +501 -60
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +50 -34
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/help.ts +146 -0
- package/src/unstable/cli/internal/parser.ts +33 -54
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
- package/src/unstable/cluster/Entity.ts +11 -10
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +5 -5
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +12 -10
- package/src/unstable/cluster/ShardingConfig.ts +30 -31
- 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 +3 -5
- 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 +58 -23
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +46 -68
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +9 -24
- package/src/unstable/http/HttpServerError.ts +42 -45
- package/src/unstable/http/HttpServerRequest.ts +1 -1
- 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/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +5 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
- package/src/unstable/httpapi/HttpApiClient.ts +14 -6
- package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiGroup.ts +6 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +41 -23
- 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 +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +75 -14
- package/src/unstable/reactivity/Atom.ts +27 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
- package/src/unstable/reactivity/AtomRegistry.ts +31 -7
- 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 +6 -6
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +21 -30
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +6 -6
- package/src/unstable/socket/Socket.ts +16 -17
- package/src/unstable/sql/SqlClient.ts +1 -1
- package/src/unstable/sql/SqlError.ts +11 -9
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- 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/Workflow.ts +6 -2
- package/src/unstable/workflow/WorkflowEngine.ts +185 -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/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.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
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
package/dist/Effect.js
CHANGED
|
@@ -181,7 +181,6 @@ export const isEffect = u => typeof u === "object" && u !== null && TypeId in u;
|
|
|
181
181
|
* ```
|
|
182
182
|
*
|
|
183
183
|
* @see {@link forEach} for iterating over elements and applying an effect.
|
|
184
|
-
* @see {@link allWith} for a data-last version of this function.
|
|
185
184
|
*
|
|
186
185
|
* @since 2.0.0
|
|
187
186
|
* @category Collecting
|
|
@@ -215,6 +214,72 @@ export const all = internal.all;
|
|
|
215
214
|
* @category Collecting
|
|
216
215
|
*/
|
|
217
216
|
export const partition = internal.partition;
|
|
217
|
+
/**
|
|
218
|
+
* Applies an effectful function to each element and accumulates all failures.
|
|
219
|
+
*
|
|
220
|
+
* This function always evaluates every element. If at least one effect fails,
|
|
221
|
+
* all failures are returned as a non-empty array and successes are discarded.
|
|
222
|
+
* If all effects succeed, it returns all collected successes.
|
|
223
|
+
*
|
|
224
|
+
* Use `discard: true` to ignore successful values while still validating all
|
|
225
|
+
* elements.
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```ts
|
|
229
|
+
* import { Effect } from "effect"
|
|
230
|
+
*
|
|
231
|
+
* const program = Effect.validate([0, 1, 2, 3], (n) =>
|
|
232
|
+
* n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
|
|
233
|
+
* )
|
|
234
|
+
*
|
|
235
|
+
* Effect.runPromiseExit(program).then(console.log)
|
|
236
|
+
* // {
|
|
237
|
+
* // _id: 'Exit',
|
|
238
|
+
* // _tag: 'Failure',
|
|
239
|
+
* // cause: {
|
|
240
|
+
* // _id: 'Cause',
|
|
241
|
+
* // reasons: [
|
|
242
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
|
|
243
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
|
|
244
|
+
* // ]
|
|
245
|
+
* // }
|
|
246
|
+
* // }
|
|
247
|
+
* ```
|
|
248
|
+
*
|
|
249
|
+
* @since 4.0.0
|
|
250
|
+
* @category Error Accumulation
|
|
251
|
+
*/
|
|
252
|
+
export const validate = internal.validate;
|
|
253
|
+
/**
|
|
254
|
+
* Returns the first element that satisfies an effectful predicate.
|
|
255
|
+
*
|
|
256
|
+
* The predicate receives the element and its index. Evaluation short-circuits
|
|
257
|
+
* as soon as an element matches.
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* ```ts
|
|
261
|
+
* import { Effect } from "effect"
|
|
262
|
+
*
|
|
263
|
+
* const program = Effect.findFirst([1, 2, 3, 4], (n) => Effect.succeed(n > 2))
|
|
264
|
+
*
|
|
265
|
+
* Effect.runPromise(program).then(console.log)
|
|
266
|
+
* // { _id: 'Option', _tag: 'Some', value: 3 }
|
|
267
|
+
* ```
|
|
268
|
+
*
|
|
269
|
+
* @since 2.0.0
|
|
270
|
+
* @category Collecting
|
|
271
|
+
*/
|
|
272
|
+
export const findFirst = internal.findFirst;
|
|
273
|
+
/**
|
|
274
|
+
* Returns the first value that passes an effectful `FilterEffect`.
|
|
275
|
+
*
|
|
276
|
+
* The filter receives the element and index. Evaluation short-circuits on the
|
|
277
|
+
* first `Result.succeed` and returns the transformed value in `Option.some`.
|
|
278
|
+
*
|
|
279
|
+
* @since 4.0.0
|
|
280
|
+
* @category Collecting
|
|
281
|
+
*/
|
|
282
|
+
export const findFirstFilter = internal.findFirstFilter;
|
|
218
283
|
/**
|
|
219
284
|
* Executes an effectful operation for each element in an `Iterable`.
|
|
220
285
|
*
|
|
@@ -690,6 +755,51 @@ export const callback = internal.callback;
|
|
|
690
755
|
* @category Creating Effects
|
|
691
756
|
*/
|
|
692
757
|
export const never = internal.never;
|
|
758
|
+
/**
|
|
759
|
+
* An `Effect` containing an empty record `{}`, used as the starting point for
|
|
760
|
+
* do notation chains.
|
|
761
|
+
*
|
|
762
|
+
* @example
|
|
763
|
+
* ```ts
|
|
764
|
+
* import { Effect } from "effect"
|
|
765
|
+
* import { pipe } from "effect/Function"
|
|
766
|
+
*
|
|
767
|
+
* const program = pipe(
|
|
768
|
+
* Effect.Do,
|
|
769
|
+
* Effect.bind("x", () => Effect.succeed(2)),
|
|
770
|
+
* Effect.bind("y", ({ x }) => Effect.succeed(x + 1)),
|
|
771
|
+
* Effect.let("sum", ({ x, y }) => x + y)
|
|
772
|
+
* )
|
|
773
|
+
* ```
|
|
774
|
+
*
|
|
775
|
+
* @since 4.0.0
|
|
776
|
+
* @category Do notation
|
|
777
|
+
*/
|
|
778
|
+
export const Do = internal.Do;
|
|
779
|
+
/**
|
|
780
|
+
* Gives a name to the success value of an `Effect`, creating a single-key
|
|
781
|
+
* record used in do notation pipelines.
|
|
782
|
+
*
|
|
783
|
+
* @since 4.0.0
|
|
784
|
+
* @category Do notation
|
|
785
|
+
*/
|
|
786
|
+
export const bindTo = internal.bindTo;
|
|
787
|
+
const let_ = internal.let;
|
|
788
|
+
export {
|
|
789
|
+
/**
|
|
790
|
+
* Adds a computed plain value to the do notation record.
|
|
791
|
+
*
|
|
792
|
+
* @since 4.0.0
|
|
793
|
+
* @category Do notation
|
|
794
|
+
*/
|
|
795
|
+
let_ as let };
|
|
796
|
+
/**
|
|
797
|
+
* Adds an `Effect` value to the do notation record under a given name.
|
|
798
|
+
*
|
|
799
|
+
* @since 4.0.0
|
|
800
|
+
* @category Do notation
|
|
801
|
+
*/
|
|
802
|
+
export const bind = internal.bind;
|
|
693
803
|
/**
|
|
694
804
|
* Provides a way to write effectful code using generator functions, simplifying
|
|
695
805
|
* control flow and error handling.
|
|
@@ -1998,15 +2108,14 @@ export const catchCause = internal.catchCause;
|
|
|
1998
2108
|
*/
|
|
1999
2109
|
export const catchDefect = internal.catchDefect;
|
|
2000
2110
|
/**
|
|
2001
|
-
* Recovers from specific errors using a `
|
|
2002
|
-
* `Refinement`.
|
|
2111
|
+
* Recovers from specific errors using a `Predicate` or `Refinement`.
|
|
2003
2112
|
*
|
|
2004
2113
|
* **When to Use**
|
|
2005
2114
|
*
|
|
2006
|
-
* `catchIf` lets you recover from errors that match a condition.
|
|
2007
|
-
* `
|
|
2008
|
-
*
|
|
2009
|
-
*
|
|
2115
|
+
* `catchIf` lets you recover from errors that match a condition. Use a
|
|
2116
|
+
* `Refinement` for type narrowing or a `Predicate` for simple boolean
|
|
2117
|
+
* matching. Non-matching errors re-fail with the original cause. Defects and
|
|
2118
|
+
* interrupts are not caught.
|
|
2010
2119
|
*
|
|
2011
2120
|
* **Previously Known As**
|
|
2012
2121
|
*
|
|
@@ -2033,7 +2142,7 @@ export const catchDefect = internal.catchDefect;
|
|
|
2033
2142
|
*
|
|
2034
2143
|
* // With a Filter
|
|
2035
2144
|
* const recovered2 = program.pipe(
|
|
2036
|
-
* Effect.
|
|
2145
|
+
* Effect.catchFilter(
|
|
2037
2146
|
* Filter.tagged("NotFound"),
|
|
2038
2147
|
* (error) => Effect.succeed(`missing:${error.id}`)
|
|
2039
2148
|
* )
|
|
@@ -2044,6 +2153,13 @@ export const catchDefect = internal.catchDefect;
|
|
|
2044
2153
|
* @category Error Handling
|
|
2045
2154
|
*/
|
|
2046
2155
|
export const catchIf = internal.catchIf;
|
|
2156
|
+
/**
|
|
2157
|
+
* Recovers from specific errors using a `Filter`.
|
|
2158
|
+
*
|
|
2159
|
+
* @since 4.0.0
|
|
2160
|
+
* @category Error Handling
|
|
2161
|
+
*/
|
|
2162
|
+
export const catchFilter = internal.catchFilter;
|
|
2047
2163
|
/**
|
|
2048
2164
|
* Catches `NoSuchElementError` failures and converts them to `Option.none`.
|
|
2049
2165
|
*
|
|
@@ -2110,6 +2226,13 @@ export const catchNoSuchElement = internal.catchNoSuchElement;
|
|
|
2110
2226
|
* @category Error Handling
|
|
2111
2227
|
*/
|
|
2112
2228
|
export const catchCauseIf = internal.catchCauseIf;
|
|
2229
|
+
/**
|
|
2230
|
+
* Recovers from specific failures based on a `Filter`.
|
|
2231
|
+
*
|
|
2232
|
+
* @since 4.0.0
|
|
2233
|
+
* @category Error Handling
|
|
2234
|
+
*/
|
|
2235
|
+
export const catchCauseFilter = internal.catchCauseFilter;
|
|
2113
2236
|
/**
|
|
2114
2237
|
* The `mapError` function is used to transform or modify the error
|
|
2115
2238
|
* produced by an effect, without affecting its success value.
|
|
@@ -2344,6 +2467,13 @@ export const tapCause = internal.tapCause;
|
|
|
2344
2467
|
* @category Sequencing
|
|
2345
2468
|
*/
|
|
2346
2469
|
export const tapCauseIf = internal.tapCauseIf;
|
|
2470
|
+
/**
|
|
2471
|
+
* Conditionally executes a side effect based on the cause of a failed effect.
|
|
2472
|
+
*
|
|
2473
|
+
* @since 4.0.0
|
|
2474
|
+
* @category Sequencing
|
|
2475
|
+
*/
|
|
2476
|
+
export const tapCauseFilter = internal.tapCauseFilter;
|
|
2347
2477
|
/**
|
|
2348
2478
|
* Inspect severe errors or defects (non-recoverable failures) in an effect.
|
|
2349
2479
|
*
|
|
@@ -2666,6 +2796,16 @@ export const ignoreCause = internal.ignoreCause;
|
|
|
2666
2796
|
* @category Fallback
|
|
2667
2797
|
*/
|
|
2668
2798
|
export const withExecutionPlan = internalExecutionPlan.withExecutionPlan;
|
|
2799
|
+
/**
|
|
2800
|
+
* Runs an effect and reports any errors to the configured `ErrorReporter`s.
|
|
2801
|
+
*
|
|
2802
|
+
* If the `defectsOnly` option is set to `true`, only defects (unrecoverable
|
|
2803
|
+
* errors) will be reported, while regular failures will be ignored.
|
|
2804
|
+
*
|
|
2805
|
+
* @since 4.0.0
|
|
2806
|
+
* @category Error Handling
|
|
2807
|
+
*/
|
|
2808
|
+
export const withErrorReporting = internal.withErrorReporting;
|
|
2669
2809
|
// -----------------------------------------------------------------------------
|
|
2670
2810
|
// Fallback
|
|
2671
2811
|
// -----------------------------------------------------------------------------
|
|
@@ -3042,12 +3182,12 @@ export const raceFirst = internal.raceFirst;
|
|
|
3042
3182
|
// Filtering
|
|
3043
3183
|
// -----------------------------------------------------------------------------
|
|
3044
3184
|
/**
|
|
3045
|
-
* Filters elements of an iterable using a predicate, refinement, effectful
|
|
3046
|
-
* predicate
|
|
3185
|
+
* Filters elements of an iterable using a predicate, refinement, or effectful
|
|
3186
|
+
* predicate.
|
|
3047
3187
|
*
|
|
3048
3188
|
* @example
|
|
3049
3189
|
* ```ts
|
|
3050
|
-
* import { Effect
|
|
3190
|
+
* import { Effect } from "effect"
|
|
3051
3191
|
*
|
|
3052
3192
|
* // Sync predicate
|
|
3053
3193
|
* const evens = Effect.filter([1, 2, 3, 4], (n) => n % 2 === 0)
|
|
@@ -3055,16 +3195,27 @@ export const raceFirst = internal.raceFirst;
|
|
|
3055
3195
|
* // Effectful predicate
|
|
3056
3196
|
* const checked = Effect.filter([1, 2, 3], (n) => Effect.succeed(n > 1))
|
|
3057
3197
|
*
|
|
3058
|
-
* //
|
|
3059
|
-
* const mapped = Effect.filter([1, 2, 3, 4], (n) =>
|
|
3060
|
-
* Effect.succeed(n % 2 === 0 ? Result.succeed(n * 2) : Result.fail(n))
|
|
3061
|
-
* )
|
|
3198
|
+
* // Use Effect.filterMapEffect for effectful Filter.Filter callbacks
|
|
3062
3199
|
* ```
|
|
3063
3200
|
*
|
|
3064
3201
|
* @since 2.0.0
|
|
3065
3202
|
* @category Filtering
|
|
3066
3203
|
*/
|
|
3067
3204
|
export const filter = internal.filter;
|
|
3205
|
+
/**
|
|
3206
|
+
* Filters and maps elements of an iterable with a `Filter`.
|
|
3207
|
+
*
|
|
3208
|
+
* @since 4.0.0
|
|
3209
|
+
* @category Filtering
|
|
3210
|
+
*/
|
|
3211
|
+
export const filterMap = internal.filterMap;
|
|
3212
|
+
/**
|
|
3213
|
+
* Effectfully filters and maps elements of an iterable with a `FilterEffect`.
|
|
3214
|
+
*
|
|
3215
|
+
* @since 4.0.0
|
|
3216
|
+
* @category Filtering
|
|
3217
|
+
*/
|
|
3218
|
+
export const filterMapEffect = internal.filterMapEffect;
|
|
3068
3219
|
/**
|
|
3069
3220
|
* Filters an effect, providing an alternative effect if the predicate fails.
|
|
3070
3221
|
*
|
|
@@ -3096,6 +3247,13 @@ export const filter = internal.filter;
|
|
|
3096
3247
|
* @category Filtering
|
|
3097
3248
|
*/
|
|
3098
3249
|
export const filterOrElse = internal.filterOrElse;
|
|
3250
|
+
/**
|
|
3251
|
+
* Filters an effect with a `Filter`, providing an alternative effect on failure.
|
|
3252
|
+
*
|
|
3253
|
+
* @since 4.0.0
|
|
3254
|
+
* @category Filtering
|
|
3255
|
+
*/
|
|
3256
|
+
export const filterMapOrElse = internal.filterMapOrElse;
|
|
3099
3257
|
/**
|
|
3100
3258
|
* Filters an effect, failing with a custom error if the predicate fails.
|
|
3101
3259
|
*
|
|
@@ -3126,6 +3284,13 @@ export const filterOrElse = internal.filterOrElse;
|
|
|
3126
3284
|
* @category Filtering
|
|
3127
3285
|
*/
|
|
3128
3286
|
export const filterOrFail = internal.filterOrFail;
|
|
3287
|
+
/**
|
|
3288
|
+
* Filters an effect with a `Filter`, failing when the filter fails.
|
|
3289
|
+
*
|
|
3290
|
+
* @since 4.0.0
|
|
3291
|
+
* @category Filtering
|
|
3292
|
+
*/
|
|
3293
|
+
export const filterMapOrFail = internal.filterMapOrFail;
|
|
3129
3294
|
// -----------------------------------------------------------------------------
|
|
3130
3295
|
// Conditional Operators
|
|
3131
3296
|
// -----------------------------------------------------------------------------
|
|
@@ -4266,7 +4431,7 @@ export const ensuring = internal.ensuring;
|
|
|
4266
4431
|
export const onError = internal.onError;
|
|
4267
4432
|
/**
|
|
4268
4433
|
* Runs the finalizer only when this effect fails and the `Cause` matches the
|
|
4269
|
-
*
|
|
4434
|
+
* provided predicate.
|
|
4270
4435
|
*
|
|
4271
4436
|
* @example
|
|
4272
4437
|
* ```ts
|
|
@@ -4288,6 +4453,13 @@ export const onError = internal.onError;
|
|
|
4288
4453
|
* @category Resource Management & Finalization
|
|
4289
4454
|
*/
|
|
4290
4455
|
export const onErrorIf = internal.onErrorIf;
|
|
4456
|
+
/**
|
|
4457
|
+
* Runs the finalizer only when this effect fails and the cause matches the provided `Filter`.
|
|
4458
|
+
*
|
|
4459
|
+
* @since 4.0.0
|
|
4460
|
+
* @category Resource Management & Finalization
|
|
4461
|
+
*/
|
|
4462
|
+
export const onErrorFilter = internal.onErrorFilter;
|
|
4291
4463
|
/**
|
|
4292
4464
|
* The low level primitive that powers `onExit`.
|
|
4293
4465
|
* function is used to run a finalizer when the effect exits, regardless of the
|
|
@@ -4325,20 +4497,20 @@ export const onExitPrimitive = internal.onExitPrimitive;
|
|
|
4325
4497
|
*/
|
|
4326
4498
|
export const onExit = internal.onExit;
|
|
4327
4499
|
/**
|
|
4328
|
-
* Runs the cleanup effect only when the `Exit`
|
|
4329
|
-
*
|
|
4330
|
-
* The cleanup is skipped when the filter returns `Filter.fail`.
|
|
4500
|
+
* Runs the cleanup effect only when the `Exit` satisfies the provided
|
|
4501
|
+
* predicate.
|
|
4331
4502
|
*
|
|
4332
4503
|
* @example
|
|
4333
4504
|
* ```ts
|
|
4334
|
-
* import { Console, Effect, Exit
|
|
4335
|
-
*
|
|
4336
|
-
* const exitFilter = Filter.fromPredicate(Exit.isSuccess<number, never>)
|
|
4505
|
+
* import { Console, Effect, Exit } from "effect"
|
|
4337
4506
|
*
|
|
4338
4507
|
* const program = Effect.onExitIf(
|
|
4339
4508
|
* Effect.succeed(42),
|
|
4340
|
-
*
|
|
4341
|
-
* (
|
|
4509
|
+
* Exit.isSuccess,
|
|
4510
|
+
* (exit) =>
|
|
4511
|
+
* Exit.isSuccess(exit)
|
|
4512
|
+
* ? Console.log(`Succeeded with: ${exit.value}`)
|
|
4513
|
+
* : Effect.void
|
|
4342
4514
|
* )
|
|
4343
4515
|
* ```
|
|
4344
4516
|
*
|
|
@@ -4346,6 +4518,13 @@ export const onExit = internal.onExit;
|
|
|
4346
4518
|
* @category Resource Management & Finalization
|
|
4347
4519
|
*/
|
|
4348
4520
|
export const onExitIf = internal.onExitIf;
|
|
4521
|
+
/**
|
|
4522
|
+
* Runs the cleanup effect only when the `Exit` matches the provided `Filter`.
|
|
4523
|
+
*
|
|
4524
|
+
* @since 4.0.0
|
|
4525
|
+
* @category Resource Management & Finalization
|
|
4526
|
+
*/
|
|
4527
|
+
export const onExitFilter = internal.onExitFilter;
|
|
4349
4528
|
// -----------------------------------------------------------------------------
|
|
4350
4529
|
// Caching
|
|
4351
4530
|
// -----------------------------------------------------------------------------
|
|
@@ -4702,124 +4881,6 @@ export const uninterruptibleMask = internal.uninterruptibleMask;
|
|
|
4702
4881
|
* @category Interruption
|
|
4703
4882
|
*/
|
|
4704
4883
|
export const interruptibleMask = internal.interruptibleMask;
|
|
4705
|
-
/**
|
|
4706
|
-
* Unsafely creates a new Semaphore.
|
|
4707
|
-
*
|
|
4708
|
-
* @example
|
|
4709
|
-
* ```ts
|
|
4710
|
-
* import { Effect } from "effect"
|
|
4711
|
-
*
|
|
4712
|
-
* const semaphore = Effect.makeSemaphoreUnsafe(3)
|
|
4713
|
-
*
|
|
4714
|
-
* const task = (id: number) =>
|
|
4715
|
-
* semaphore.withPermits(1)(
|
|
4716
|
-
* Effect.gen(function*() {
|
|
4717
|
-
* yield* Effect.log(`Task ${id} started`)
|
|
4718
|
-
* yield* Effect.sleep("1 second")
|
|
4719
|
-
* yield* Effect.log(`Task ${id} completed`)
|
|
4720
|
-
* })
|
|
4721
|
-
* )
|
|
4722
|
-
*
|
|
4723
|
-
* // Only 3 tasks can run concurrently
|
|
4724
|
-
* const program = Effect.all([
|
|
4725
|
-
* task(1),
|
|
4726
|
-
* task(2),
|
|
4727
|
-
* task(3),
|
|
4728
|
-
* task(4),
|
|
4729
|
-
* task(5)
|
|
4730
|
-
* ], { concurrency: "unbounded" })
|
|
4731
|
-
* ```
|
|
4732
|
-
*
|
|
4733
|
-
* @since 2.0.0
|
|
4734
|
-
* @category Semaphore
|
|
4735
|
-
*/
|
|
4736
|
-
export const makeSemaphoreUnsafe = internal.makeSemaphoreUnsafe;
|
|
4737
|
-
/**
|
|
4738
|
-
* Creates a new Semaphore.
|
|
4739
|
-
*
|
|
4740
|
-
* @example
|
|
4741
|
-
* ```ts
|
|
4742
|
-
* import { Effect } from "effect"
|
|
4743
|
-
*
|
|
4744
|
-
* const program = Effect.gen(function*() {
|
|
4745
|
-
* const semaphore = yield* Effect.makeSemaphore(2)
|
|
4746
|
-
*
|
|
4747
|
-
* const task = (id: number) =>
|
|
4748
|
-
* semaphore.withPermits(1)(
|
|
4749
|
-
* Effect.gen(function*() {
|
|
4750
|
-
* yield* Effect.log(`Task ${id} acquired permit`)
|
|
4751
|
-
* yield* Effect.sleep("1 second")
|
|
4752
|
-
* yield* Effect.log(`Task ${id} releasing permit`)
|
|
4753
|
-
* })
|
|
4754
|
-
* )
|
|
4755
|
-
*
|
|
4756
|
-
* // Run 4 tasks, but only 2 can run concurrently
|
|
4757
|
-
* yield* Effect.all([task(1), task(2), task(3), task(4)])
|
|
4758
|
-
* })
|
|
4759
|
-
* ```
|
|
4760
|
-
*
|
|
4761
|
-
* @since 2.0.0
|
|
4762
|
-
* @category Semaphore
|
|
4763
|
-
*/
|
|
4764
|
-
export const makeSemaphore = internal.makeSemaphore;
|
|
4765
|
-
/**
|
|
4766
|
-
* Creates a new Latch.
|
|
4767
|
-
*
|
|
4768
|
-
* @example
|
|
4769
|
-
* ```ts
|
|
4770
|
-
* import { Effect } from "effect"
|
|
4771
|
-
*
|
|
4772
|
-
* const latch = Effect.makeLatchUnsafe(false)
|
|
4773
|
-
*
|
|
4774
|
-
* const waiter = Effect.gen(function*() {
|
|
4775
|
-
* yield* Effect.log("Waiting for latch to open...")
|
|
4776
|
-
* yield* latch.await
|
|
4777
|
-
* yield* Effect.log("Latch opened! Continuing...")
|
|
4778
|
-
* })
|
|
4779
|
-
*
|
|
4780
|
-
* const opener = Effect.gen(function*() {
|
|
4781
|
-
* yield* Effect.sleep("2 seconds")
|
|
4782
|
-
* yield* Effect.log("Opening latch...")
|
|
4783
|
-
* yield* latch.open
|
|
4784
|
-
* })
|
|
4785
|
-
*
|
|
4786
|
-
* const program = Effect.all([waiter, opener])
|
|
4787
|
-
* ```
|
|
4788
|
-
*
|
|
4789
|
-
* @category Latch
|
|
4790
|
-
* @since 3.8.0
|
|
4791
|
-
*/
|
|
4792
|
-
export const makeLatchUnsafe = internal.makeLatchUnsafe;
|
|
4793
|
-
/**
|
|
4794
|
-
* Creates a new Latch.
|
|
4795
|
-
*
|
|
4796
|
-
* @example
|
|
4797
|
-
* ```ts
|
|
4798
|
-
* import { Effect } from "effect"
|
|
4799
|
-
*
|
|
4800
|
-
* const program = Effect.gen(function*() {
|
|
4801
|
-
* const latch = yield* Effect.makeLatch(false)
|
|
4802
|
-
*
|
|
4803
|
-
* const waiter = Effect.gen(function*() {
|
|
4804
|
-
* yield* Effect.log("Waiting for latch to open...")
|
|
4805
|
-
* yield* latch.await
|
|
4806
|
-
* yield* Effect.log("Latch opened! Continuing...")
|
|
4807
|
-
* })
|
|
4808
|
-
*
|
|
4809
|
-
* const opener = Effect.gen(function*() {
|
|
4810
|
-
* yield* Effect.sleep("2 seconds")
|
|
4811
|
-
* yield* Effect.log("Opening latch...")
|
|
4812
|
-
* yield* latch.open
|
|
4813
|
-
* })
|
|
4814
|
-
*
|
|
4815
|
-
* yield* Effect.all([waiter, opener])
|
|
4816
|
-
* })
|
|
4817
|
-
* ```
|
|
4818
|
-
*
|
|
4819
|
-
* @category Latch
|
|
4820
|
-
* @since 3.8.0
|
|
4821
|
-
*/
|
|
4822
|
-
export const makeLatch = internal.makeLatch;
|
|
4823
4884
|
/**
|
|
4824
4885
|
* Repeats this effect forever (until the first error).
|
|
4825
4886
|
*
|
|
@@ -6579,6 +6640,32 @@ export const annotateLogs = /*#__PURE__*/dual(args => core.isEffect(args[0]), (e
|
|
|
6579
6640
|
}
|
|
6580
6641
|
return newAnnotations;
|
|
6581
6642
|
}));
|
|
6643
|
+
/**
|
|
6644
|
+
* Adds log annotations to the current scope.
|
|
6645
|
+
*
|
|
6646
|
+
* This differs from `annotateLogs`, which only annotates a specific effect.
|
|
6647
|
+
* `annotateLogsScoped` updates annotations for the entire current `Scope` and
|
|
6648
|
+
* restores the previous annotations when the scope closes.
|
|
6649
|
+
*
|
|
6650
|
+
* @example
|
|
6651
|
+
* ```ts
|
|
6652
|
+
* import { Effect } from "effect"
|
|
6653
|
+
*
|
|
6654
|
+
* const program = Effect.scoped(
|
|
6655
|
+
* Effect.gen(function*() {
|
|
6656
|
+
* yield* Effect.log("before")
|
|
6657
|
+
* yield* Effect.annotateLogsScoped({ requestId: "req-123" })
|
|
6658
|
+
* yield* Effect.log("inside scope")
|
|
6659
|
+
* })
|
|
6660
|
+
* )
|
|
6661
|
+
*
|
|
6662
|
+
* Effect.runPromise(program)
|
|
6663
|
+
* ```
|
|
6664
|
+
*
|
|
6665
|
+
* @since 4.0.0
|
|
6666
|
+
* @category Logging
|
|
6667
|
+
*/
|
|
6668
|
+
export const annotateLogsScoped = internal.annotateLogsScoped;
|
|
6582
6669
|
/**
|
|
6583
6670
|
* Adds a span to each log line in this effect.
|
|
6584
6671
|
*
|
|
@@ -6866,7 +6953,7 @@ export const trackDuration = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
|
|
|
6866
6953
|
const startTime = clock.currentTimeNanosUnsafe();
|
|
6867
6954
|
return onExit(self, () => {
|
|
6868
6955
|
const endTime = clock.currentTimeNanosUnsafe();
|
|
6869
|
-
const duration = Duration.subtract(Duration.
|
|
6956
|
+
const duration = Duration.subtract(Duration.fromInputUnsafe(endTime), Duration.fromInputUnsafe(startTime));
|
|
6870
6957
|
const input = f === undefined ? duration : internalCall(() => f(duration));
|
|
6871
6958
|
return Metric.update(metric, input);
|
|
6872
6959
|
});
|
|
@@ -6897,125 +6984,63 @@ export const trackDuration = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
|
|
|
6897
6984
|
*/
|
|
6898
6985
|
export class Transaction extends /*#__PURE__*/ServiceMap.Service()("effect/Effect/Transaction") {}
|
|
6899
6986
|
/**
|
|
6900
|
-
*
|
|
6901
|
-
* transactional values (i.e. TxRef) that occur within the transaction body.
|
|
6987
|
+
* Accesses the current transaction state within an active transaction.
|
|
6902
6988
|
*
|
|
6903
|
-
*
|
|
6904
|
-
*
|
|
6905
|
-
*
|
|
6906
|
-
* accessed transactional values changes.
|
|
6907
|
-
*
|
|
6908
|
-
* - any of the accessed transactional values change during the execution of the transaction
|
|
6909
|
-
* due to a different transaction committing before the current.
|
|
6910
|
-
*
|
|
6911
|
-
* - parent transaction retry, if you have a transaction within another transaction and
|
|
6912
|
-
* the parent retries the child will also retry together with the parent.
|
|
6989
|
+
* This function requires `Transaction` in the context and does NOT create or strip
|
|
6990
|
+
* transaction boundaries. Use it to interact with the transaction journal (e.g. in
|
|
6991
|
+
* `TxRef` internals). To define a transaction boundary, use {@link transaction}.
|
|
6913
6992
|
*
|
|
6914
6993
|
* @example
|
|
6915
6994
|
* ```ts
|
|
6916
6995
|
* import { Effect, TxRef } from "effect"
|
|
6917
6996
|
*
|
|
6918
6997
|
* const program = Effect.gen(function*() {
|
|
6919
|
-
* const
|
|
6920
|
-
* const ref2 = yield* TxRef.make(0)
|
|
6921
|
-
*
|
|
6922
|
-
* // All operations within atomic block succeed or fail together
|
|
6923
|
-
* yield* Effect.atomic(Effect.gen(function*() {
|
|
6924
|
-
* yield* TxRef.set(ref1, 10)
|
|
6925
|
-
* yield* TxRef.set(ref2, 20)
|
|
6926
|
-
* const sum = (yield* TxRef.get(ref1)) + (yield* TxRef.get(ref2))
|
|
6927
|
-
* console.log(`Transaction sum: ${sum}`)
|
|
6928
|
-
* }))
|
|
6929
|
-
*
|
|
6930
|
-
* console.log(`Final ref1: ${yield* TxRef.get(ref1)}`) // 10
|
|
6931
|
-
* console.log(`Final ref2: ${yield* TxRef.get(ref2)}`) // 20
|
|
6932
|
-
* })
|
|
6933
|
-
* ```
|
|
6934
|
-
*
|
|
6935
|
-
* @since 4.0.0
|
|
6936
|
-
* @category Transactions
|
|
6937
|
-
*/
|
|
6938
|
-
export const atomic = effect => atomicWith(() => effect);
|
|
6939
|
-
/**
|
|
6940
|
-
* Executes a function within a transaction context, providing access to the transaction state.
|
|
6941
|
-
*
|
|
6942
|
-
* @example
|
|
6943
|
-
* ```ts
|
|
6944
|
-
* import { Effect, TxRef } from "effect"
|
|
6945
|
-
*
|
|
6946
|
-
* const program = Effect.atomicWith((txState) =>
|
|
6947
|
-
* Effect.gen(function*() {
|
|
6948
|
-
* const ref = yield* TxRef.make(0)
|
|
6949
|
-
*
|
|
6950
|
-
* // Access transaction state for debugging
|
|
6951
|
-
* console.log(`Journal size: ${txState.journal.size}`)
|
|
6952
|
-
* console.log(`Retry flag: ${txState.retry}`)
|
|
6998
|
+
* const ref = yield* Effect.transaction(TxRef.make(0))
|
|
6953
6999
|
*
|
|
7000
|
+
* yield* Effect.transaction(Effect.gen(function*() {
|
|
6954
7001
|
* yield* TxRef.set(ref, 42)
|
|
6955
7002
|
* return yield* TxRef.get(ref)
|
|
6956
|
-
* })
|
|
6957
|
-
* )
|
|
6958
|
-
*
|
|
6959
|
-
* Effect.runPromise(program).then(console.log) // 42
|
|
7003
|
+
* }))
|
|
7004
|
+
* })
|
|
6960
7005
|
* ```
|
|
6961
7006
|
*
|
|
6962
7007
|
* @since 4.0.0
|
|
6963
7008
|
* @category Transactions
|
|
6964
7009
|
*/
|
|
6965
|
-
export const
|
|
6966
|
-
// Check if transaction already exists and reuse it (composing behavior)
|
|
6967
|
-
if (fiber.services.mapUnsafe.has(Transaction.key)) {
|
|
6968
|
-
return internalCall(() => f(ServiceMap.getUnsafe(fiber.services, Transaction)));
|
|
6969
|
-
}
|
|
6970
|
-
// No existing transaction, create isolated one using transactionWith
|
|
6971
|
-
return transactionWith(f);
|
|
6972
|
-
});
|
|
7010
|
+
export const withTxState = f => flatMap(Transaction.asEffect(), state => internalCall(() => f(state)));
|
|
6973
7011
|
/**
|
|
6974
|
-
*
|
|
7012
|
+
* Defines a transaction boundary. Transactions are "all or nothing" with respect to changes
|
|
7013
|
+
* made to transactional values (i.e. TxRef) that occur within the transaction body.
|
|
6975
7014
|
*
|
|
6976
|
-
*
|
|
7015
|
+
* In Effect transactions are optimistic with retry, that means transactions are retried when:
|
|
6977
7016
|
*
|
|
6978
|
-
*
|
|
6979
|
-
*
|
|
6980
|
-
* This ensures complete isolation between different transaction scopes.
|
|
7017
|
+
* - the body of the transaction explicitely calls to `Effect.retryTransaction` and any of the
|
|
7018
|
+
* accessed transactional values changes.
|
|
6981
7019
|
*
|
|
6982
|
-
*
|
|
6983
|
-
*
|
|
6984
|
-
* - Parent transaction failures don't affect isolated transactions
|
|
6985
|
-
* - Isolated transaction failures don't affect parent transactions
|
|
6986
|
-
* - Each transaction has its own journal and retry logic
|
|
7020
|
+
* - any of the accessed transactional values change during the execution of the transaction
|
|
7021
|
+
* due to a different transaction committing before the current.
|
|
6987
7022
|
*
|
|
6988
|
-
*
|
|
6989
|
-
*
|
|
6990
|
-
* - For implementing independent operations that shouldn't be affected by outer transactions
|
|
6991
|
-
* - When building transaction-based systems where isolation is critical
|
|
7023
|
+
* Each call to `transaction` always creates a new isolated transaction boundary with its own
|
|
7024
|
+
* journal and retry logic.
|
|
6992
7025
|
*
|
|
6993
7026
|
* @example
|
|
6994
7027
|
* ```ts
|
|
6995
7028
|
* import { Effect, TxRef } from "effect"
|
|
6996
7029
|
*
|
|
6997
7030
|
* const program = Effect.gen(function*() {
|
|
6998
|
-
* const ref1 = yield* TxRef.make(0)
|
|
6999
|
-
* const ref2 = yield* TxRef.make(
|
|
7000
|
-
*
|
|
7001
|
-
* // Nested atomic transaction - ref1 will be part of outer transaction
|
|
7002
|
-
* yield* Effect.atomic(Effect.gen(function*() {
|
|
7003
|
-
* yield* TxRef.set(ref1, 10)
|
|
7004
|
-
*
|
|
7005
|
-
* // This atomic operation composes with the parent
|
|
7006
|
-
* yield* Effect.atomic(Effect.gen(function*() {
|
|
7007
|
-
* yield* TxRef.set(ref1, 20) // Part of same transaction
|
|
7008
|
-
* }))
|
|
7009
|
-
* }))
|
|
7031
|
+
* const ref1 = yield* Effect.transaction(TxRef.make(0))
|
|
7032
|
+
* const ref2 = yield* Effect.transaction(TxRef.make(0))
|
|
7010
7033
|
*
|
|
7011
|
-
* //
|
|
7034
|
+
* // All operations within transaction block succeed or fail together
|
|
7012
7035
|
* yield* Effect.transaction(Effect.gen(function*() {
|
|
7013
|
-
* yield* TxRef.set(
|
|
7036
|
+
* yield* TxRef.set(ref1, 10)
|
|
7037
|
+
* yield* TxRef.set(ref2, 20)
|
|
7038
|
+
* const sum = (yield* TxRef.get(ref1)) + (yield* TxRef.get(ref2))
|
|
7039
|
+
* console.log(`Transaction sum: ${sum}`)
|
|
7014
7040
|
* }))
|
|
7015
7041
|
*
|
|
7016
|
-
*
|
|
7017
|
-
*
|
|
7018
|
-
* return { ref1: val1, ref2: val2 }
|
|
7042
|
+
* console.log(`Final ref1: ${yield* Effect.transaction(TxRef.get(ref1))}`) // 10
|
|
7043
|
+
* console.log(`Final ref2: ${yield* Effect.transaction(TxRef.get(ref2))}`) // 20
|
|
7019
7044
|
* })
|
|
7020
7045
|
* ```
|
|
7021
7046
|
*
|
|
@@ -7024,34 +7049,21 @@ export const atomicWith = f => withFiber(fiber => {
|
|
|
7024
7049
|
*/
|
|
7025
7050
|
export const transaction = effect => transactionWith(() => effect);
|
|
7026
7051
|
/**
|
|
7027
|
-
*
|
|
7052
|
+
* Like {@link transaction} but provides access to the transaction state.
|
|
7028
7053
|
*
|
|
7029
|
-
*
|
|
7030
|
-
* within another transaction. This ensures complete isolation between transaction scopes.
|
|
7054
|
+
* Always creates a new isolated transaction boundary with its own journal and retry logic.
|
|
7031
7055
|
*
|
|
7032
7056
|
* @example
|
|
7033
7057
|
* ```ts
|
|
7034
7058
|
* import { Effect, TxRef } from "effect"
|
|
7035
7059
|
*
|
|
7036
|
-
* const program = Effect.transactionWith((
|
|
7060
|
+
* const program = Effect.transactionWith((_txState) =>
|
|
7037
7061
|
* Effect.gen(function*() {
|
|
7038
7062
|
* const ref = yield* TxRef.make(0)
|
|
7039
|
-
*
|
|
7040
|
-
* // This transaction is isolated - it has its own journal
|
|
7041
|
-
* // txState.journal is independent of any parent transaction
|
|
7042
|
-
*
|
|
7043
7063
|
* yield* TxRef.set(ref, 42)
|
|
7044
7064
|
* return yield* TxRef.get(ref)
|
|
7045
7065
|
* })
|
|
7046
7066
|
* )
|
|
7047
|
-
*
|
|
7048
|
-
* // Even when nested in another atomic block, this transaction is isolated
|
|
7049
|
-
* const nestedProgram = Effect.atomic(
|
|
7050
|
-
* Effect.gen(function*() {
|
|
7051
|
-
* const result = yield* program // Runs in its own isolated transaction
|
|
7052
|
-
* return result
|
|
7053
|
-
* })
|
|
7054
|
-
* )
|
|
7055
7067
|
* ```
|
|
7056
7068
|
*
|
|
7057
7069
|
* @since 4.0.0
|
|
@@ -7146,16 +7158,16 @@ function clearTransaction(state) {
|
|
|
7146
7158
|
*
|
|
7147
7159
|
* const program = Effect.gen(function*() {
|
|
7148
7160
|
* // create a transactional reference
|
|
7149
|
-
* const ref = yield* TxRef.make(0)
|
|
7161
|
+
* const ref = yield* Effect.transaction(TxRef.make(0))
|
|
7150
7162
|
*
|
|
7151
7163
|
* // forks a fiber that increases the value of `ref` every 100 millis
|
|
7152
7164
|
* yield* Effect.forkChild(Effect.forever(
|
|
7153
7165
|
* // update to transactional value
|
|
7154
|
-
* TxRef.update(ref, (n) => n + 1).pipe(Effect.delay("100 millis"))
|
|
7166
|
+
* Effect.transaction(TxRef.update(ref, (n) => n + 1)).pipe(Effect.delay("100 millis"))
|
|
7155
7167
|
* ))
|
|
7156
7168
|
*
|
|
7157
7169
|
* // the following will retry 10 times until the `ref` value is 10
|
|
7158
|
-
* yield* Effect.
|
|
7170
|
+
* yield* Effect.transaction(Effect.gen(function*() {
|
|
7159
7171
|
* const value = yield* TxRef.get(ref)
|
|
7160
7172
|
* if (value < 10) {
|
|
7161
7173
|
* yield* Effect.log(`retry due to value: ${value}`)
|