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
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help Documentation
|
|
3
|
+
* ================
|
|
4
|
+
*
|
|
5
|
+
* Internal helpers for generating help documentation.
|
|
6
|
+
* Extracted from command.ts to avoid circular dependencies.
|
|
7
|
+
*/
|
|
8
|
+
import * as Effect from "../../../Effect.ts"
|
|
9
|
+
import type { Command } from "../Command.ts"
|
|
10
|
+
import type * as GlobalFlag from "../GlobalFlag.ts"
|
|
11
|
+
import type { FlagDoc, HelpDoc } from "../HelpDoc.ts"
|
|
12
|
+
import * as Param from "../Param.ts"
|
|
13
|
+
import * as Primitive from "../Primitive.ts"
|
|
14
|
+
import { toImpl } from "./command.ts"
|
|
15
|
+
|
|
16
|
+
const dedupeGlobalFlags = (
|
|
17
|
+
flags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>
|
|
18
|
+
): ReadonlyArray<GlobalFlag.GlobalFlag<any>> => {
|
|
19
|
+
const seen = new Set<GlobalFlag.GlobalFlag<any>>()
|
|
20
|
+
const deduped: Array<GlobalFlag.GlobalFlag<any>> = []
|
|
21
|
+
for (const flag of flags) {
|
|
22
|
+
if (seen.has(flag)) {
|
|
23
|
+
continue
|
|
24
|
+
}
|
|
25
|
+
seen.add(flag)
|
|
26
|
+
deduped.push(flag)
|
|
27
|
+
}
|
|
28
|
+
return deduped
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Returns the resolved command lineage for the provided path.
|
|
33
|
+
* Includes the root command as the first element.
|
|
34
|
+
*/
|
|
35
|
+
export const getCommandsForCommandPath = <Name extends string, Input, E, R>(
|
|
36
|
+
command: Command<Name, Input, E, R>,
|
|
37
|
+
commandPath: ReadonlyArray<string>
|
|
38
|
+
): ReadonlyArray<Command.Any> => {
|
|
39
|
+
const commands: Array<Command.Any> = [command]
|
|
40
|
+
let currentCommand: Command.Any = command
|
|
41
|
+
|
|
42
|
+
for (let i = 1; i < commandPath.length; i++) {
|
|
43
|
+
const subcommandName = commandPath[i]
|
|
44
|
+
let subcommand: Command.Any | undefined = undefined
|
|
45
|
+
|
|
46
|
+
for (const group of currentCommand.subcommands) {
|
|
47
|
+
subcommand = group.commands.find((sub) => sub.name === subcommandName)
|
|
48
|
+
if (subcommand) {
|
|
49
|
+
break
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (!subcommand) {
|
|
54
|
+
break
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
commands.push(subcommand)
|
|
58
|
+
currentCommand = subcommand
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return commands
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Returns active global flags for a command path.
|
|
66
|
+
* Built-ins are prepended and declarations are collected root -> leaf.
|
|
67
|
+
*/
|
|
68
|
+
export const getGlobalFlagsForCommandPath = <Name extends string, Input, E, R>(
|
|
69
|
+
command: Command<Name, Input, E, R>,
|
|
70
|
+
commandPath: ReadonlyArray<string>,
|
|
71
|
+
builtIns: ReadonlyArray<GlobalFlag.GlobalFlag<any>>
|
|
72
|
+
): ReadonlyArray<GlobalFlag.GlobalFlag<any>> => {
|
|
73
|
+
const commands = getCommandsForCommandPath(command, commandPath)
|
|
74
|
+
const declared = commands.flatMap((current) => toImpl(current).globalFlags)
|
|
75
|
+
return dedupeGlobalFlags([
|
|
76
|
+
...builtIns,
|
|
77
|
+
...declared
|
|
78
|
+
])
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const collectDeclaredGlobalFlags = (command: Command.Any): ReadonlyArray<GlobalFlag.GlobalFlag<any>> => {
|
|
82
|
+
const collected: Array<GlobalFlag.GlobalFlag<any>> = []
|
|
83
|
+
|
|
84
|
+
const visit = (current: Command.Any): void => {
|
|
85
|
+
const impl = toImpl(current)
|
|
86
|
+
for (const flag of impl.globalFlags) {
|
|
87
|
+
collected.push(flag)
|
|
88
|
+
}
|
|
89
|
+
for (const group of current.subcommands) {
|
|
90
|
+
for (const subcommand of group.commands) {
|
|
91
|
+
visit(subcommand)
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
visit(command)
|
|
97
|
+
return dedupeGlobalFlags(collected)
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Returns all global flags declared in a command tree.
|
|
102
|
+
* Built-ins are prepended and command declarations are deduplicated by identity.
|
|
103
|
+
*/
|
|
104
|
+
export const getGlobalFlagsForCommandTree = <Name extends string, Input, E, R>(
|
|
105
|
+
command: Command<Name, Input, E, R>,
|
|
106
|
+
builtIns: ReadonlyArray<GlobalFlag.GlobalFlag<any>>
|
|
107
|
+
): ReadonlyArray<GlobalFlag.GlobalFlag<any>> =>
|
|
108
|
+
dedupeGlobalFlags([
|
|
109
|
+
...builtIns,
|
|
110
|
+
...collectDeclaredGlobalFlags(command)
|
|
111
|
+
])
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Helper function to get help documentation for a specific command path.
|
|
115
|
+
* Navigates through the command hierarchy to find the right command.
|
|
116
|
+
* Reads active global flags for the path and includes them in the help doc.
|
|
117
|
+
*/
|
|
118
|
+
export const getHelpForCommandPath = <Name extends string, Input, E, R>(
|
|
119
|
+
command: Command<Name, Input, E, R>,
|
|
120
|
+
commandPath: ReadonlyArray<string>,
|
|
121
|
+
builtIns: ReadonlyArray<GlobalFlag.GlobalFlag<any>>
|
|
122
|
+
): Effect.Effect<HelpDoc, never, never> =>
|
|
123
|
+
Effect.gen(function*() {
|
|
124
|
+
const commands = getCommandsForCommandPath(command, commandPath)
|
|
125
|
+
const currentCommand = commands.length > 0 ? commands[commands.length - 1] : command
|
|
126
|
+
|
|
127
|
+
const baseDoc = toImpl(currentCommand).buildHelpDoc(commandPath)
|
|
128
|
+
|
|
129
|
+
const flags = getGlobalFlagsForCommandPath(command, commandPath, builtIns)
|
|
130
|
+
const globalFlagDocs: Array<FlagDoc> = []
|
|
131
|
+
for (const flag of flags) {
|
|
132
|
+
const singles = Param.extractSingleParams(flag.flag)
|
|
133
|
+
for (const single of singles) {
|
|
134
|
+
const formattedAliases = single.aliases.map((alias) => alias.length === 1 ? `-${alias}` : `--${alias}`)
|
|
135
|
+
globalFlagDocs.push({
|
|
136
|
+
name: single.name,
|
|
137
|
+
aliases: formattedAliases,
|
|
138
|
+
type: single.typeName ?? Primitive.getTypeName(single.primitiveType),
|
|
139
|
+
description: single.description,
|
|
140
|
+
required: false
|
|
141
|
+
})
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return { ...baseDoc, globalFlags: globalFlagDocs }
|
|
146
|
+
})
|
|
@@ -25,14 +25,11 @@
|
|
|
25
25
|
* - Errors accumulate rather than throwing exceptions
|
|
26
26
|
*/
|
|
27
27
|
import * as Effect from "../../../Effect.ts"
|
|
28
|
-
import type { LogLevel } from "../../../LogLevel.ts"
|
|
29
|
-
import * as Option from "../../../Option.ts"
|
|
30
28
|
import * as CliError from "../CliError.ts"
|
|
31
29
|
import type { Command, ParsedTokens } from "../Command.ts"
|
|
32
30
|
import * as Param from "../Param.ts"
|
|
33
31
|
import * as Primitive from "../Primitive.ts"
|
|
34
32
|
import { suggest } from "./auto-suggest.ts"
|
|
35
|
-
import { completionsFlag, helpFlag, logLevelFlag, versionFlag } from "./builtInFlags.ts"
|
|
36
33
|
import { toImpl } from "./command.ts"
|
|
37
34
|
import type { LexResult, Token } from "./lexer.ts"
|
|
38
35
|
|
|
@@ -46,36 +43,6 @@ export const getCommandPath = (parsedInput: ParsedTokens): ReadonlyArray<string>
|
|
|
46
43
|
? [parsedInput.subcommand.name, ...getCommandPath(parsedInput.subcommand.parsedInput)]
|
|
47
44
|
: []
|
|
48
45
|
|
|
49
|
-
/** @internal */
|
|
50
|
-
export const extractBuiltInOptions = (
|
|
51
|
-
tokens: ReadonlyArray<Token>
|
|
52
|
-
): Effect.Effect<
|
|
53
|
-
{
|
|
54
|
-
help: boolean
|
|
55
|
-
logLevel: LogLevel | undefined
|
|
56
|
-
version: boolean
|
|
57
|
-
completions: "bash" | "zsh" | "fish" | undefined
|
|
58
|
-
remainder: ReadonlyArray<Token>
|
|
59
|
-
},
|
|
60
|
-
CliError.CliError,
|
|
61
|
-
Param.Environment
|
|
62
|
-
> =>
|
|
63
|
-
Effect.gen(function*() {
|
|
64
|
-
const { flagMap, remainder } = consumeKnownFlags(tokens, builtInFlagRegistry)
|
|
65
|
-
const emptyArgs: Param.ParsedArgs = { flags: flagMap, arguments: [] }
|
|
66
|
-
const [, help] = yield* helpFlag.parse(emptyArgs)
|
|
67
|
-
const [, logLevel] = yield* logLevelFlag.parse(emptyArgs)
|
|
68
|
-
const [, version] = yield* versionFlag.parse(emptyArgs)
|
|
69
|
-
const [, completions] = yield* completionsFlag.parse(emptyArgs)
|
|
70
|
-
return {
|
|
71
|
-
help,
|
|
72
|
-
logLevel: Option.getOrUndefined(logLevel),
|
|
73
|
-
version,
|
|
74
|
-
completions: Option.getOrUndefined(completions),
|
|
75
|
-
remainder
|
|
76
|
-
}
|
|
77
|
-
})
|
|
78
|
-
|
|
79
46
|
/** @internal */
|
|
80
47
|
export const parseArgs = (
|
|
81
48
|
lexResult: LexResult,
|
|
@@ -249,8 +216,9 @@ const makeCursor = (tokens: ReadonlyArray<Token>): TokenCursor => {
|
|
|
249
216
|
/**
|
|
250
217
|
* Creates a registry for O(1) flag lookup by name or alias.
|
|
251
218
|
* @throws Error if duplicate names or aliases are detected (developer error)
|
|
219
|
+
* @internal
|
|
252
220
|
*/
|
|
253
|
-
const createFlagRegistry = (params: ReadonlyArray<FlagParam>): FlagRegistry => {
|
|
221
|
+
export const createFlagRegistry = (params: ReadonlyArray<FlagParam>): FlagRegistry => {
|
|
254
222
|
const index = new Map<string, FlagParam>()
|
|
255
223
|
|
|
256
224
|
for (const param of params) {
|
|
@@ -273,15 +241,38 @@ const createFlagRegistry = (params: ReadonlyArray<FlagParam>): FlagRegistry => {
|
|
|
273
241
|
}
|
|
274
242
|
|
|
275
243
|
const buildSubcommandIndex = (
|
|
276
|
-
subcommands:
|
|
277
|
-
): Map<string, Command<string, unknown, unknown, unknown>> =>
|
|
244
|
+
subcommands: Command.Any["subcommands"]
|
|
245
|
+
): Map<string, Command<string, unknown, unknown, unknown>> => {
|
|
246
|
+
const index = new Map<string, Command<string, unknown, unknown, unknown>>()
|
|
247
|
+
const setKey = (key: string, command: Command<string, unknown, unknown, unknown>) => {
|
|
248
|
+
const existing = index.get(key)
|
|
249
|
+
if (existing && existing !== command) {
|
|
250
|
+
throw new Error(
|
|
251
|
+
`Duplicate subcommand name/alias "${key}" in command definition (conflicts with "${existing.name}")`
|
|
252
|
+
)
|
|
253
|
+
}
|
|
254
|
+
index.set(key, command)
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
for (const group of subcommands) {
|
|
258
|
+
for (const subcommand of group.commands) {
|
|
259
|
+
setKey(subcommand.name, subcommand)
|
|
260
|
+
if (subcommand.alias && subcommand.alias !== subcommand.name) {
|
|
261
|
+
setKey(subcommand.alias, subcommand)
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return index
|
|
266
|
+
}
|
|
278
267
|
|
|
279
268
|
/* ========================================================================== */
|
|
280
269
|
/* Flag Accumulator */
|
|
281
270
|
/* ========================================================================== */
|
|
282
271
|
|
|
283
|
-
/** Creates an empty flag map with all known flag names initialized to [].
|
|
284
|
-
|
|
272
|
+
/** Creates an empty flag map with all known flag names initialized to [].
|
|
273
|
+
* @internal
|
|
274
|
+
*/
|
|
275
|
+
export const createEmptyFlagMap = (params: ReadonlyArray<FlagParam>): FlagMap =>
|
|
285
276
|
Object.fromEntries(params.map((p) => [p.name, []]))
|
|
286
277
|
|
|
287
278
|
/**
|
|
@@ -370,9 +361,10 @@ const consumeFlagValue = (
|
|
|
370
361
|
/**
|
|
371
362
|
* Consumes known flags from a token stream.
|
|
372
363
|
* Unrecognized tokens are passed through to remainder.
|
|
373
|
-
* Used for both
|
|
364
|
+
* Used for both global flag extraction and npm-style parent flag collection.
|
|
365
|
+
* @internal
|
|
374
366
|
*/
|
|
375
|
-
const consumeKnownFlags = (
|
|
367
|
+
export const consumeKnownFlags = (
|
|
376
368
|
tokens: ReadonlyArray<Token>,
|
|
377
369
|
registry: FlagRegistry
|
|
378
370
|
): { flagMap: FlagMap; remainder: ReadonlyArray<Token> } => {
|
|
@@ -401,19 +393,6 @@ const consumeKnownFlags = (
|
|
|
401
393
|
return { flagMap, remainder }
|
|
402
394
|
}
|
|
403
395
|
|
|
404
|
-
/* ========================================================================== */
|
|
405
|
-
/* Built-in Flags */
|
|
406
|
-
/* ========================================================================== */
|
|
407
|
-
|
|
408
|
-
const builtInFlagParams: ReadonlyArray<FlagParam> = [
|
|
409
|
-
...Param.extractSingleParams(logLevelFlag),
|
|
410
|
-
...Param.extractSingleParams(helpFlag),
|
|
411
|
-
...Param.extractSingleParams(versionFlag),
|
|
412
|
-
...Param.extractSingleParams(completionsFlag)
|
|
413
|
-
]
|
|
414
|
-
|
|
415
|
-
const builtInFlagRegistry = createFlagRegistry(builtInFlagParams)
|
|
416
|
-
|
|
417
396
|
/* ========================================================================== */
|
|
418
397
|
/* Error Creation */
|
|
419
398
|
/* ========================================================================== */
|
|
@@ -506,7 +485,7 @@ const resolveFirstValue = (
|
|
|
506
485
|
// Not a subcommand. Check if this looks like a typo.
|
|
507
486
|
const expectsArgs = toImpl(command).config.arguments.length > 0
|
|
508
487
|
if (!expectsArgs && subIndex.size > 0) {
|
|
509
|
-
const suggestions = suggest(value,
|
|
488
|
+
const suggestions = suggest(value, Array.from(subIndex.keys()))
|
|
510
489
|
state.errors.push(
|
|
511
490
|
new CliError.UnknownSubcommand({
|
|
512
491
|
subcommand: value,
|
|
@@ -51,7 +51,7 @@ export const make = <E, R>(options: {
|
|
|
51
51
|
*
|
|
52
52
|
* Defaults to "1 day".
|
|
53
53
|
*/
|
|
54
|
-
readonly skipIfOlderThan?: Duration.
|
|
54
|
+
readonly skipIfOlderThan?: Duration.Input | undefined
|
|
55
55
|
}): Layer.Layer<never, never, Sharding | Exclude<R, Scope>> => {
|
|
56
56
|
const CronEntity = Entity.make(`ClusterCron/${options.name}`, [
|
|
57
57
|
Rpc.make("run", {
|
|
@@ -76,7 +76,7 @@ export const make = <E, R>(options: {
|
|
|
76
76
|
)
|
|
77
77
|
|
|
78
78
|
const skipIfOlderThan = Option.fromUndefinedOr(options.skipIfOlderThan).pipe(
|
|
79
|
-
Option.map(Duration.
|
|
79
|
+
Option.map(Duration.fromInputUnsafe),
|
|
80
80
|
Option.getOrElse(() => Duration.days(1))
|
|
81
81
|
)
|
|
82
82
|
|
|
@@ -6,6 +6,7 @@ import * as Duration from "../../Duration.ts"
|
|
|
6
6
|
import * as Effect from "../../Effect.ts"
|
|
7
7
|
import * as Exit from "../../Exit.ts"
|
|
8
8
|
import * as Fiber from "../../Fiber.ts"
|
|
9
|
+
import * as Latch from "../../Latch.ts"
|
|
9
10
|
import * as Layer from "../../Layer.ts"
|
|
10
11
|
import * as PrimaryKey from "../../PrimaryKey.ts"
|
|
11
12
|
import * as RcMap from "../../RcMap.ts"
|
|
@@ -15,7 +16,7 @@ import * as Schema from "../../Schema.ts"
|
|
|
15
16
|
import type * as Scope from "../../Scope.ts"
|
|
16
17
|
import * as ServiceMap from "../../ServiceMap.ts"
|
|
17
18
|
import * as Rpc from "../rpc/Rpc.ts"
|
|
18
|
-
import
|
|
19
|
+
import { ClientAbort } from "../rpc/RpcSchema.ts"
|
|
19
20
|
import * as Activity from "../workflow/Activity.ts"
|
|
20
21
|
import * as DurableClock from "../workflow/DurableClock.ts"
|
|
21
22
|
import * as DurableDeferred from "../workflow/DurableDeferred.ts"
|
|
@@ -106,7 +107,7 @@ export const make = Effect.gen(function*() {
|
|
|
106
107
|
readonly services: ServiceMap.ServiceMap<any>
|
|
107
108
|
}>()
|
|
108
109
|
const interruptedActivities = new Set<string>()
|
|
109
|
-
const activityLatches = new Map<string,
|
|
110
|
+
const activityLatches = new Map<string, Latch.Latch>()
|
|
110
111
|
const clients = yield* RcMap.make({
|
|
111
112
|
lookup: Effect.fnUntraced(function*(workflowName: string) {
|
|
112
113
|
const entity = entities.get(workflowName)
|
|
@@ -297,7 +298,7 @@ export const make = Effect.gen(function*() {
|
|
|
297
298
|
return Effect.gen(function*() {
|
|
298
299
|
let entry = activities.get(activityId)
|
|
299
300
|
while (!entry) {
|
|
300
|
-
const latch =
|
|
301
|
+
const latch = Latch.makeUnsafe()
|
|
301
302
|
activityLatches.set(activityId, latch)
|
|
302
303
|
yield* latch.await
|
|
303
304
|
entry = activities.get(activityId)
|
|
@@ -314,7 +315,7 @@ export const make = Effect.gen(function*() {
|
|
|
314
315
|
// we only want to store interrupts as suspends when the
|
|
315
316
|
// client requested it
|
|
316
317
|
const suspend = cause.reasons.some((f) =>
|
|
317
|
-
f._tag === "Interrupt" && f.
|
|
318
|
+
f._tag === "Interrupt" && f.annotations.has(ClientAbort.key)
|
|
318
319
|
)
|
|
319
320
|
if (suspend) {
|
|
320
321
|
interruptedActivities.add(activityId)
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import type * as Cause from "../../Cause.ts"
|
|
6
6
|
import * as Data from "../../Data.ts"
|
|
7
|
-
import type
|
|
7
|
+
import type * as Duration from "../../Duration.ts"
|
|
8
8
|
import * as Effect from "../../Effect.ts"
|
|
9
9
|
import * as Equal from "../../Equal.ts"
|
|
10
10
|
import * as Exit from "../../Exit.ts"
|
|
11
11
|
import { identity } from "../../Function.ts"
|
|
12
12
|
import * as Hash from "../../Hash.ts"
|
|
13
|
+
import type * 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 Queue from "../../Queue.ts"
|
|
@@ -74,12 +75,12 @@ export interface Entity<
|
|
|
74
75
|
/**
|
|
75
76
|
* Annotate the entity with a value.
|
|
76
77
|
*/
|
|
77
|
-
annotate<I, S>(key: ServiceMap.
|
|
78
|
+
annotate<I, S>(key: ServiceMap.Key<I, S>, value: S): Entity<Type, Rpcs>
|
|
78
79
|
|
|
79
80
|
/**
|
|
80
81
|
* Annotate the Rpc's above this point with a value.
|
|
81
82
|
*/
|
|
82
|
-
annotateRpcs<I, S>(key: ServiceMap.
|
|
83
|
+
annotateRpcs<I, S>(key: ServiceMap.Key<I, S>, value: S): Entity<Type, Rpcs>
|
|
83
84
|
|
|
84
85
|
/**
|
|
85
86
|
* Annotate the entity with the given annotations.
|
|
@@ -116,7 +117,7 @@ export interface Entity<
|
|
|
116
117
|
>(
|
|
117
118
|
build: Handlers | Effect.Effect<Handlers, never, RX>,
|
|
118
119
|
options?: {
|
|
119
|
-
readonly maxIdleTime?:
|
|
120
|
+
readonly maxIdleTime?: Duration.Input | undefined
|
|
120
121
|
readonly concurrency?: number | "unbounded" | undefined
|
|
121
122
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
122
123
|
readonly disableFatalDefects?: boolean | undefined
|
|
@@ -159,7 +160,7 @@ export interface Entity<
|
|
|
159
160
|
RX
|
|
160
161
|
>,
|
|
161
162
|
options?: {
|
|
162
|
-
readonly maxIdleTime?:
|
|
163
|
+
readonly maxIdleTime?: Duration.Input | undefined
|
|
163
164
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
164
165
|
readonly disableFatalDefects?: boolean | undefined
|
|
165
166
|
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown> | undefined
|
|
@@ -206,10 +207,10 @@ const Proto = {
|
|
|
206
207
|
[Equal.symbol](this: Entity<string, any>, that: Equal.Equal): boolean {
|
|
207
208
|
return isEntity(that) && this.type === that.type
|
|
208
209
|
},
|
|
209
|
-
annotate<I, S>(this: Entity<string, any>, key: ServiceMap.
|
|
210
|
+
annotate<I, S>(this: Entity<string, any>, key: ServiceMap.Key<I, S>, value: S) {
|
|
210
211
|
return fromRpcGroup(this.type, this.protocol.annotate(key, value))
|
|
211
212
|
},
|
|
212
|
-
annotateRpcs<I, S>(this: Entity<string, any>, key: ServiceMap.
|
|
213
|
+
annotateRpcs<I, S>(this: Entity<string, any>, key: ServiceMap.Key<I, S>, value: S) {
|
|
213
214
|
return fromRpcGroup(this.type, this.protocol.annotateRpcs(key, value))
|
|
214
215
|
},
|
|
215
216
|
annotateMerge<S>(this: Entity<string, any>, annotations: ServiceMap.ServiceMap<S>) {
|
|
@@ -234,7 +235,7 @@ const Proto = {
|
|
|
234
235
|
this: Entity<string, Rpcs>,
|
|
235
236
|
build: Handlers | Effect.Effect<Handlers, never, RX>,
|
|
236
237
|
options?: {
|
|
237
|
-
readonly maxIdleTime?:
|
|
238
|
+
readonly maxIdleTime?: Duration.Input | undefined
|
|
238
239
|
readonly concurrency?: number | "unbounded" | undefined
|
|
239
240
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
240
241
|
readonly disableFatalDefects?: boolean | undefined
|
|
@@ -283,7 +284,7 @@ const Proto = {
|
|
|
283
284
|
RX
|
|
284
285
|
>,
|
|
285
286
|
options?: {
|
|
286
|
-
readonly maxIdleTime?:
|
|
287
|
+
readonly maxIdleTime?: Duration.Input | undefined
|
|
287
288
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
288
289
|
readonly disableFatalDefects?: boolean | undefined
|
|
289
290
|
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown> | undefined
|
|
@@ -642,6 +643,6 @@ export const KeepAliveRpc = Rpc.make("Cluster/Entity/keepAlive")
|
|
|
642
643
|
* @since 4.0.0
|
|
643
644
|
* @category Keep alive
|
|
644
645
|
*/
|
|
645
|
-
export class KeepAliveLatch extends ServiceMap.Service<KeepAliveLatch,
|
|
646
|
+
export class KeepAliveLatch extends ServiceMap.Service<KeepAliveLatch, Latch.Latch>()(
|
|
646
647
|
"effect/cluster/Entity/KeepAliveLatch"
|
|
647
648
|
) {}
|
|
@@ -62,14 +62,14 @@ export class CloseScope extends ServiceMap.Service<
|
|
|
62
62
|
*/
|
|
63
63
|
export const make: <A, E, R>(options: {
|
|
64
64
|
readonly acquire: Effect.Effect<A, E, R>
|
|
65
|
-
readonly idleTimeToLive?: Duration.
|
|
65
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
66
66
|
}) => Effect.Effect<
|
|
67
67
|
EntityResource<A, E>,
|
|
68
68
|
E,
|
|
69
69
|
Scope.Scope | Exclude<R, CloseScope> | Sharding | Entity.CurrentAddress
|
|
70
70
|
> = Effect.fnUntraced(function*<A, E, R>(options: {
|
|
71
71
|
readonly acquire: Effect.Effect<A, E, R>
|
|
72
|
-
readonly idleTimeToLive?: Duration.
|
|
72
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
73
73
|
}) {
|
|
74
74
|
let shuttingDown = false
|
|
75
75
|
|
|
@@ -116,14 +116,14 @@ export const make: <A, E, R>(options: {
|
|
|
116
116
|
export const makeK8sPod: (
|
|
117
117
|
spec: v1.Pod,
|
|
118
118
|
options?: {
|
|
119
|
-
readonly idleTimeToLive?: Duration.
|
|
119
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
120
120
|
} | undefined
|
|
121
121
|
) => Effect.Effect<
|
|
122
122
|
EntityResource<K8sHttpClient.PodStatus>,
|
|
123
123
|
never,
|
|
124
124
|
Scope.Scope | Sharding | Entity.CurrentAddress | K8sHttpClient.K8sHttpClient
|
|
125
125
|
> = Effect.fnUntraced(function*(spec: v1.Pod, options?: {
|
|
126
|
-
readonly idleTimeToLive?: Duration.
|
|
126
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
127
127
|
}) {
|
|
128
128
|
const createPod = yield* K8sHttpClient.makeCreatePod
|
|
129
129
|
return yield* make({
|
|
@@ -218,7 +218,7 @@ export const PartialJson: Schema.Codec<
|
|
|
218
218
|
* @category schemas
|
|
219
219
|
*/
|
|
220
220
|
export const PartialArray: Schema.mutable<
|
|
221
|
-
Schema
|
|
221
|
+
Schema.$Array<Schema.Codec<AckChunk | Interrupt | PartialRequest, Encoded>>
|
|
222
222
|
> = Schema.mutable(Schema.Array(PartialJson))
|
|
223
223
|
|
|
224
224
|
/**
|
|
@@ -121,7 +121,7 @@ export const makeCreatePod = Effect.gen(function*() {
|
|
|
121
121
|
while: (e) => e._tag === "SchemaError",
|
|
122
122
|
schedule: Schedule.spaced("1 seconds")
|
|
123
123
|
}),
|
|
124
|
-
Effect.
|
|
124
|
+
Effect.catchFilter(
|
|
125
125
|
(err) =>
|
|
126
126
|
HttpClientError.isHttpClientError(err) && err.reason._tag === "StatusCodeError" &&
|
|
127
127
|
err.reason.response.status === 404
|
|
@@ -133,7 +133,7 @@ export const makeCreatePod = Effect.gen(function*() {
|
|
|
133
133
|
)
|
|
134
134
|
const isPodFound = readPodRaw.pipe(
|
|
135
135
|
Effect.as(true),
|
|
136
|
-
Effect.
|
|
136
|
+
Effect.catchFilter(
|
|
137
137
|
(err) =>
|
|
138
138
|
HttpClientError.isHttpClientError(err) && err.reason._tag === "StatusCodeError" &&
|
|
139
139
|
err.reason.response.status === 404
|
|
@@ -145,7 +145,7 @@ export const makeCreatePod = Effect.gen(function*() {
|
|
|
145
145
|
const createPod = HttpClientRequest.post(`/v1/namespaces/${namespace}/pods`).pipe(
|
|
146
146
|
HttpClientRequest.bodyJsonUnsafe(spec),
|
|
147
147
|
client.execute,
|
|
148
|
-
Effect.
|
|
148
|
+
Effect.catchFilter(
|
|
149
149
|
(err) =>
|
|
150
150
|
HttpClientError.isHttpClientError(err) && err.reason._tag === "StatusCodeError" &&
|
|
151
151
|
err.reason.response.status === 409
|
|
@@ -156,10 +156,10 @@ export const makeCreatePod = Effect.gen(function*() {
|
|
|
156
156
|
Effect.tapCause(Effect.logInfo),
|
|
157
157
|
Effect.orDie
|
|
158
158
|
)
|
|
159
|
-
const deletePod = HttpClientRequest.
|
|
159
|
+
const deletePod = HttpClientRequest.delete(`/v1/namespaces/${namespace}/pods/${name}`).pipe(
|
|
160
160
|
client.execute,
|
|
161
161
|
Effect.flatMap((res) => res.json),
|
|
162
|
-
Effect.
|
|
162
|
+
Effect.catchFilter(
|
|
163
163
|
(err) =>
|
|
164
164
|
HttpClientError.isHttpClientError(err) && err.reason._tag === "StatusCodeError" &&
|
|
165
165
|
err.reason.response.status === 404
|
|
@@ -6,6 +6,7 @@ import { Clock } from "../../Clock.ts"
|
|
|
6
6
|
import * as Data from "../../Data.ts"
|
|
7
7
|
import * as Effect from "../../Effect.ts"
|
|
8
8
|
import * as Exit from "../../Exit.ts"
|
|
9
|
+
import * as Latch from "../../Latch.ts"
|
|
9
10
|
import * as Layer from "../../Layer.ts"
|
|
10
11
|
import type * as Option from "../../Option.ts"
|
|
11
12
|
import type { Predicate } from "../../Predicate.ts"
|
|
@@ -718,7 +719,7 @@ export class MemoryDriver extends ServiceMap.Service<MemoryDriver>()("effect/clu
|
|
|
718
719
|
return messages
|
|
719
720
|
}
|
|
720
721
|
|
|
721
|
-
const replyLatch = yield*
|
|
722
|
+
const replyLatch = yield* Latch.make()
|
|
722
723
|
|
|
723
724
|
function repliesFor(requestIds: Array<string>) {
|
|
724
725
|
const replies = Arr.empty<Reply.Encoded>()
|
|
@@ -904,10 +905,7 @@ export const layerMemory: Layer.Layer<
|
|
|
904
905
|
|
|
905
906
|
const EnvelopeWithReply: Schema.Struct<
|
|
906
907
|
{
|
|
907
|
-
readonly envelope: Schema.
|
|
908
|
-
Envelope.PartialRequest | Envelope.AckChunk | Envelope.Interrupt,
|
|
909
|
-
unknown
|
|
910
|
-
>
|
|
908
|
+
readonly envelope: Schema.Decoder<Envelope.PartialRequest | Envelope.AckChunk | Envelope.Interrupt>
|
|
911
909
|
readonly lastSentReply: Schema.UndefinedOr<Schema.Codec<Reply.Encoded>>
|
|
912
910
|
}
|
|
913
911
|
> = Schema.Struct({
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Effect from "../../Effect.ts"
|
|
5
5
|
import * as Exit from "../../Exit.ts"
|
|
6
|
+
import * as Latch from "../../Latch.ts"
|
|
6
7
|
import * as Layer from "../../Layer.ts"
|
|
7
8
|
import * as Queue from "../../Queue.ts"
|
|
8
9
|
import * as RcMap from "../../RcMap.ts"
|
|
@@ -192,8 +193,8 @@ export const make: (options: Omit<Runners["Service"], "sendLocal" | "notifyLocal
|
|
|
192
193
|
}
|
|
193
194
|
|
|
194
195
|
type StorageRequestEntry = {
|
|
195
|
-
readonly latch:
|
|
196
|
-
doneLatch:
|
|
196
|
+
readonly latch: Latch.Latch
|
|
197
|
+
doneLatch: Latch.Latch | undefined
|
|
197
198
|
readonly messages: Set<Message.OutgoingRequest<any>>
|
|
198
199
|
replies: Array<Reply.Reply<any>>
|
|
199
200
|
}
|
|
@@ -204,11 +205,11 @@ export const make: (options: Omit<Runners["Service"], "sendLocal" | "notifyLocal
|
|
|
204
205
|
let entry = storageRequests.get(message.envelope.requestId)
|
|
205
206
|
if (entry) {
|
|
206
207
|
entry.messages.add(message)
|
|
207
|
-
entry.doneLatch ??=
|
|
208
|
+
entry.doneLatch ??= Latch.makeUnsafe(false)
|
|
208
209
|
return yield* entry.doneLatch.await
|
|
209
210
|
} else {
|
|
210
211
|
entry = {
|
|
211
|
-
latch:
|
|
212
|
+
latch: Latch.makeUnsafe(false),
|
|
212
213
|
doneLatch: undefined,
|
|
213
214
|
replies: [],
|
|
214
215
|
messages: new Set([message])
|
|
@@ -260,7 +261,7 @@ export const make: (options: Omit<Runners["Service"], "sendLocal" | "notifyLocal
|
|
|
260
261
|
)
|
|
261
262
|
)
|
|
262
263
|
|
|
263
|
-
const storageLatch =
|
|
264
|
+
const storageLatch = Latch.makeUnsafe(false)
|
|
264
265
|
if (storage !== MessageStorage.noop) {
|
|
265
266
|
yield* Effect.gen(function*() {
|
|
266
267
|
const foundRequests = new Set<StorageRequestEntry>()
|