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
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import * as Cause from "../../Cause.ts"
|
|
6
6
|
import { Clock } from "../../Clock.ts"
|
|
7
|
-
import type {
|
|
7
|
+
import type { Input } from "../../Duration.ts"
|
|
8
8
|
import * as Duration from "../../Duration.ts"
|
|
9
9
|
import * as Effect from "../../Effect.ts"
|
|
10
10
|
import * as Equal from "../../Equal.ts"
|
|
@@ -13,6 +13,7 @@ import * as Fiber from "../../Fiber.ts"
|
|
|
13
13
|
import * as FiberMap from "../../FiberMap.ts"
|
|
14
14
|
import { constant, flow } from "../../Function.ts"
|
|
15
15
|
import * as HashRing from "../../HashRing.ts"
|
|
16
|
+
import * as Latch from "../../Latch.ts"
|
|
16
17
|
import * as Layer from "../../Layer.ts"
|
|
17
18
|
import * as MutableHashMap from "../../MutableHashMap.ts"
|
|
18
19
|
import * as MutableHashSet from "../../MutableHashSet.ts"
|
|
@@ -23,6 +24,7 @@ import { CurrentLogAnnotations } from "../../References.ts"
|
|
|
23
24
|
import * as Result from "../../Result.ts"
|
|
24
25
|
import * as Schedule from "../../Schedule.ts"
|
|
25
26
|
import * as Scope from "../../Scope.ts"
|
|
27
|
+
import * as Semaphore from "../../Semaphore.ts"
|
|
26
28
|
import * as ServiceMap from "../../ServiceMap.ts"
|
|
27
29
|
import * as Stream from "../../Stream.ts"
|
|
28
30
|
import type * as Rpc from "../rpc/Rpc.ts"
|
|
@@ -113,7 +115,7 @@ export class Sharding extends ServiceMap.Service<Sharding, {
|
|
|
113
115
|
entity: Entity<Type, Rpcs>,
|
|
114
116
|
handlers: Effect.Effect<Handlers, never, RX>,
|
|
115
117
|
options?: {
|
|
116
|
-
readonly maxIdleTime?:
|
|
118
|
+
readonly maxIdleTime?: Input | undefined
|
|
117
119
|
readonly concurrency?: number | "unbounded" | undefined
|
|
118
120
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
119
121
|
readonly disableFatalDefects?: boolean | undefined
|
|
@@ -221,7 +223,7 @@ const make = Effect.gen(function*() {
|
|
|
221
223
|
|
|
222
224
|
// the active shards are the ones that we have acquired the lock for
|
|
223
225
|
const acquiredShards = MutableHashSet.empty<ShardId>()
|
|
224
|
-
const activeShardsLatch = yield*
|
|
226
|
+
const activeShardsLatch = yield* Latch.make(false)
|
|
225
227
|
|
|
226
228
|
const events = yield* PubSub.unbounded<ShardingRegistrationEvent>()
|
|
227
229
|
const getRegistrationEvents: Stream.Stream<ShardingRegistrationEvent> = Stream.fromPubSub(events)
|
|
@@ -429,16 +431,16 @@ const make = Effect.gen(function*() {
|
|
|
429
431
|
// It should also be shutdown after the entity managers, to ensure interrupt
|
|
430
432
|
// & ack envelopes can still be processed.
|
|
431
433
|
|
|
432
|
-
const storageReadLatch = yield*
|
|
434
|
+
const storageReadLatch = yield* Latch.make(true)
|
|
433
435
|
const openStorageReadLatch = constant(Effect.asVoid(storageReadLatch.open))
|
|
434
436
|
|
|
435
|
-
const storageReadLock =
|
|
437
|
+
const storageReadLock = Semaphore.makeUnsafe(1)
|
|
436
438
|
const withStorageReadLock = storageReadLock.withPermits(1)
|
|
437
439
|
|
|
438
440
|
if (storageEnabled && config.runnerAddress) {
|
|
439
441
|
const selfAddress = config.runnerAddress
|
|
440
442
|
const entityRegistrationTimeoutMillis = Duration.toMillis(
|
|
441
|
-
Duration.
|
|
443
|
+
Duration.fromInputUnsafe(config.entityRegistrationTimeout)
|
|
442
444
|
)
|
|
443
445
|
const storageStartMillis = clock.currentTimeMillisUnsafe()
|
|
444
446
|
|
|
@@ -810,7 +812,7 @@ const make = Effect.gen(function*() {
|
|
|
810
812
|
void,
|
|
811
813
|
MailboxFull | AlreadyProcessingMessage | PersistenceError
|
|
812
814
|
> {
|
|
813
|
-
return Effect.
|
|
815
|
+
return Effect.catchFilter(
|
|
814
816
|
Effect.suspend(() => {
|
|
815
817
|
const address = message.envelope.address
|
|
816
818
|
const isPersisted = ServiceMap.get(message.rpc.annotations, Persisted)
|
|
@@ -1182,7 +1184,7 @@ const make = Effect.gen(function*() {
|
|
|
1182
1184
|
|
|
1183
1185
|
const singletons = new Map<ShardId, MutableHashMap.MutableHashMap<SingletonAddress, Effect.Effect<void>>>()
|
|
1184
1186
|
const singletonFibers = yield* FiberMap.make<SingletonAddress>()
|
|
1185
|
-
const withSingletonLock =
|
|
1187
|
+
const withSingletonLock = Semaphore.makeUnsafe(1).withPermits(1)
|
|
1186
1188
|
|
|
1187
1189
|
const registerSingleton: Sharding["Service"]["registerSingleton"] = Effect.fnUntraced(
|
|
1188
1190
|
function*(name, run, options) {
|
|
@@ -1253,7 +1255,7 @@ const make = Effect.gen(function*() {
|
|
|
1253
1255
|
// --- Entities ---
|
|
1254
1256
|
|
|
1255
1257
|
const reaper = yield* EntityReaper
|
|
1256
|
-
const entityManagerLatches = new Map<string,
|
|
1258
|
+
const entityManagerLatches = new Map<string, Latch.Latch>()
|
|
1257
1259
|
|
|
1258
1260
|
const registerEntity: Sharding["Service"]["registerEntity"] = Effect.fnUntraced(
|
|
1259
1261
|
function*(entity, build, options) {
|
|
@@ -1310,7 +1312,7 @@ const make = Effect.gen(function*() {
|
|
|
1310
1312
|
const waitForEntityManager = (entityType: string) => {
|
|
1311
1313
|
let latch = entityManagerLatches.get(entityType)
|
|
1312
1314
|
if (!latch) {
|
|
1313
|
-
latch =
|
|
1315
|
+
latch = Latch.makeUnsafe()
|
|
1314
1316
|
entityManagerLatches.set(entityType, latch)
|
|
1315
1317
|
}
|
|
1316
1318
|
return latch.await
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Config from "../../Config.ts"
|
|
5
5
|
import * as ConfigProvider from "../../ConfigProvider.ts"
|
|
6
|
-
import type { DurationInput } from "../../Duration.ts"
|
|
7
6
|
import * as Duration from "../../Duration.ts"
|
|
8
7
|
import * as Effect from "../../Effect.ts"
|
|
9
8
|
import * as Layer from "../../Layer.ts"
|
|
@@ -58,11 +57,11 @@ export class ShardingConfig extends ServiceMap.Service<ShardingConfig, {
|
|
|
58
57
|
/**
|
|
59
58
|
* Shard lock refresh interval.
|
|
60
59
|
*/
|
|
61
|
-
readonly shardLockRefreshInterval:
|
|
60
|
+
readonly shardLockRefreshInterval: Duration.Input
|
|
62
61
|
/**
|
|
63
62
|
* Shard lock expiration duration.
|
|
64
63
|
*/
|
|
65
|
-
readonly shardLockExpiration:
|
|
64
|
+
readonly shardLockExpiration: Duration.Input
|
|
66
65
|
/**
|
|
67
66
|
* Disable the use of advisory locks for shard locking.
|
|
68
67
|
*/
|
|
@@ -81,41 +80,41 @@ export class ShardingConfig extends ServiceMap.Service<ShardingConfig, {
|
|
|
81
80
|
* The maximum duration of inactivity (i.e. without receiving a message)
|
|
82
81
|
* after which an entity will be interrupted.
|
|
83
82
|
*/
|
|
84
|
-
readonly entityMaxIdleTime:
|
|
83
|
+
readonly entityMaxIdleTime: Duration.Input
|
|
85
84
|
/**
|
|
86
85
|
* If an entity does not register itself within this time after a message is
|
|
87
86
|
* sent to it, the message will be marked as failed.
|
|
88
87
|
*
|
|
89
88
|
* Defaults to 1 minute.
|
|
90
89
|
*/
|
|
91
|
-
readonly entityRegistrationTimeout:
|
|
90
|
+
readonly entityRegistrationTimeout: Duration.Input
|
|
92
91
|
/**
|
|
93
92
|
* The maximum duration of time to wait for an entity to terminate.
|
|
94
93
|
*
|
|
95
94
|
* By default this is set to 15 seconds to stay within kubernetes defaults.
|
|
96
95
|
*/
|
|
97
|
-
readonly entityTerminationTimeout:
|
|
96
|
+
readonly entityTerminationTimeout: Duration.Input
|
|
98
97
|
/**
|
|
99
98
|
* The interval at which to poll for unprocessed messages from storage.
|
|
100
99
|
*/
|
|
101
|
-
readonly entityMessagePollInterval:
|
|
100
|
+
readonly entityMessagePollInterval: Duration.Input
|
|
102
101
|
/**
|
|
103
102
|
* The interval at which to poll for client replies from storage.
|
|
104
103
|
*/
|
|
105
|
-
readonly entityReplyPollInterval:
|
|
104
|
+
readonly entityReplyPollInterval: Duration.Input
|
|
106
105
|
/**
|
|
107
106
|
* The interval at which to poll for new runners and refresh shard
|
|
108
107
|
* assignments.
|
|
109
108
|
*/
|
|
110
|
-
readonly refreshAssignmentsInterval:
|
|
109
|
+
readonly refreshAssignmentsInterval: Duration.Input
|
|
111
110
|
/**
|
|
112
111
|
* The interval to retry a send if EntityNotAssignedToRunner is returned.
|
|
113
112
|
*/
|
|
114
|
-
readonly sendRetryInterval:
|
|
113
|
+
readonly sendRetryInterval: Duration.Input
|
|
115
114
|
/**
|
|
116
115
|
* The interval at which to check for unhealthy runners and report them
|
|
117
116
|
*/
|
|
118
|
-
readonly runnerHealthCheckInterval:
|
|
117
|
+
readonly runnerHealthCheckInterval: Duration.Input
|
|
119
118
|
/**
|
|
120
119
|
* Simulate serialization and deserialization to remote runners for local
|
|
121
120
|
* entities.
|
|
@@ -171,11 +170,11 @@ export const layerDefaults: Layer.Layer<ShardingConfig> = layer()
|
|
|
171
170
|
export const config: Config.Config<ShardingConfig["Service"]> = Config.all({
|
|
172
171
|
runnerAddress: Config.all({
|
|
173
172
|
host: Config.string("host").pipe(
|
|
174
|
-
Config.withDefault(
|
|
173
|
+
Config.withDefault(defaultRunnerAddress.host)
|
|
175
174
|
// Config.withDescription("The hostname or IP address of the runner.")
|
|
176
175
|
),
|
|
177
176
|
port: Config.int("port").pipe(
|
|
178
|
-
Config.withDefault(
|
|
177
|
+
Config.withDefault(defaultRunnerAddress.port)
|
|
179
178
|
// Config.withDescription("The port used for inter-runner communication.")
|
|
180
179
|
)
|
|
181
180
|
}).pipe(Config.map((options) => RunnerAddress.makeUnsafe(options)), Config.option, Config.map(Option.getOrUndefined)),
|
|
@@ -183,79 +182,79 @@ export const config: Config.Config<ShardingConfig["Service"]> = Config.all({
|
|
|
183
182
|
host: Config.string("listenHost"),
|
|
184
183
|
// Config.withDescription("The host to listen on.")
|
|
185
184
|
port: Config.int("listenPort").pipe(
|
|
186
|
-
Config.withDefault(
|
|
185
|
+
Config.withDefault(defaultRunnerAddress.port)
|
|
187
186
|
// Config.withDescription("The port to listen on.")
|
|
188
187
|
)
|
|
189
188
|
}).pipe(Config.map((options) => RunnerAddress.makeUnsafe(options)), Config.option, Config.map(Option.getOrUndefined)),
|
|
190
189
|
runnerShardWeight: Config.int("runnerShardWeight").pipe(
|
|
191
|
-
Config.withDefault(
|
|
190
|
+
Config.withDefault(defaults.runnerShardWeight)
|
|
192
191
|
// Config.withDescription("A number that determines how many shards this runner will be assigned relative to other runners.")
|
|
193
192
|
),
|
|
194
193
|
shardGroups: Config.schema(Schema.Array(Schema.String), "shardGroups").pipe(
|
|
195
|
-
Config.withDefault(
|
|
194
|
+
Config.withDefault(["default"])
|
|
196
195
|
// Config.withDescription("The shard groups that are assigned to this runner.")
|
|
197
196
|
),
|
|
198
197
|
shardsPerGroup: Config.int("shardsPerGroup").pipe(
|
|
199
|
-
Config.withDefault(
|
|
198
|
+
Config.withDefault(defaults.shardsPerGroup)
|
|
200
199
|
// Config.withDescription("The number of shards to allocate per shard group.")
|
|
201
200
|
),
|
|
202
201
|
shardLockRefreshInterval: Config.duration("shardLockRefreshInterval").pipe(
|
|
203
|
-
Config.withDefault(
|
|
202
|
+
Config.withDefault(defaults.shardLockRefreshInterval)
|
|
204
203
|
// Config.withDescription("Shard lock refresh interval.")
|
|
205
204
|
),
|
|
206
205
|
shardLockExpiration: Config.duration("shardLockExpiration").pipe(
|
|
207
|
-
Config.withDefault(
|
|
206
|
+
Config.withDefault(defaults.shardLockExpiration)
|
|
208
207
|
// Config.withDescription("Shard lock expiration duration.")
|
|
209
208
|
),
|
|
210
209
|
shardLockDisableAdvisory: Config.boolean("shardLockDisableAdvisory").pipe(
|
|
211
|
-
Config.withDefault(
|
|
210
|
+
Config.withDefault(defaults.shardLockDisableAdvisory)
|
|
212
211
|
// Config.withDescription("Disable the use of advisory locks for shard locking.")
|
|
213
212
|
),
|
|
214
213
|
preemptiveShutdown: Config.boolean("preemptiveShutdown").pipe(
|
|
215
|
-
Config.withDefault(
|
|
214
|
+
Config.withDefault(defaults.preemptiveShutdown)
|
|
216
215
|
// Config.withDescription("Start shutting down as soon as an Entity has started shutting down.")
|
|
217
216
|
),
|
|
218
217
|
entityMailboxCapacity: Config.int("entityMailboxCapacity").pipe(
|
|
219
|
-
Config.withDefault(
|
|
218
|
+
Config.withDefault(defaults.entityMailboxCapacity)
|
|
220
219
|
// Config.withDescription("The default capacity of the mailbox for entities.")
|
|
221
220
|
),
|
|
222
221
|
entityMaxIdleTime: Config.duration("entityMaxIdleTime").pipe(
|
|
223
|
-
Config.withDefault(
|
|
222
|
+
Config.withDefault(defaults.entityMaxIdleTime)
|
|
224
223
|
// Config.withDescription(
|
|
225
224
|
// "The maximum duration of inactivity (i.e. without receiving a message) after which an entity will be interrupted."
|
|
226
225
|
// )
|
|
227
226
|
),
|
|
228
227
|
entityRegistrationTimeout: Config.duration("entityRegistrationTimeout").pipe(
|
|
229
|
-
Config.withDefault(
|
|
228
|
+
Config.withDefault(defaults.entityRegistrationTimeout)
|
|
230
229
|
// Config.withDescription("If an entity does not register itself within this time after a message is sent to it, the message will be marked as failed.")
|
|
231
230
|
),
|
|
232
231
|
entityTerminationTimeout: Config.duration("entityTerminationTimeout").pipe(
|
|
233
|
-
Config.withDefault(
|
|
232
|
+
Config.withDefault(defaults.entityTerminationTimeout)
|
|
234
233
|
// Config.withDescription("The maximum duration of time to wait for an entity to terminate.")
|
|
235
234
|
),
|
|
236
235
|
entityMessagePollInterval: Config.duration("entityMessagePollInterval").pipe(
|
|
237
|
-
Config.withDefault(
|
|
236
|
+
Config.withDefault(defaults.entityMessagePollInterval)
|
|
238
237
|
// Config.withDescription("The interval at which to poll for unprocessed messages from storage.")
|
|
239
238
|
),
|
|
240
239
|
entityReplyPollInterval: Config.duration("entityReplyPollInterval").pipe(
|
|
241
|
-
Config.withDefault(
|
|
240
|
+
Config.withDefault(defaults.entityReplyPollInterval)
|
|
242
241
|
// Config.withDescription("The interval at which to poll for client replies from storage.")
|
|
243
242
|
),
|
|
244
243
|
sendRetryInterval: Config.duration("sendRetryInterval").pipe(
|
|
245
|
-
Config.withDefault(
|
|
244
|
+
Config.withDefault(defaults.sendRetryInterval)
|
|
246
245
|
// Config.withDescription("The interval to retry a send if EntityNotManagedByRunner is returned.")
|
|
247
246
|
),
|
|
248
247
|
refreshAssignmentsInterval: Config.duration("refreshAssignmentsInterval").pipe(
|
|
249
|
-
Config.withDefault(
|
|
248
|
+
Config.withDefault(defaults.refreshAssignmentsInterval)
|
|
250
249
|
// Config.withDescription("The interval at which to refresh shard assignments.")
|
|
251
250
|
),
|
|
252
251
|
runnerHealthCheckInterval: Config.duration("runnerHealthCheckInterval").pipe(
|
|
253
|
-
Config.withDefault(
|
|
252
|
+
Config.withDefault(defaults.runnerHealthCheckInterval)
|
|
254
253
|
// Config.withDescription("The interval at which to check for unhealthy runners and report them.")
|
|
255
254
|
),
|
|
256
255
|
// unhealthyRunnerReportInterval: Config.duration("unhealthyRunnerReportInterval").pipe(
|
|
257
256
|
simulateRemoteSerialization: Config.boolean("simulateRemoteSerialization").pipe(
|
|
258
|
-
Config.withDefault(
|
|
257
|
+
Config.withDefault(defaults.simulateRemoteSerialization)
|
|
259
258
|
// Config.withDescription("Simulate serialization and deserialization to remote runners for local entities.")
|
|
260
259
|
)
|
|
261
260
|
})
|
|
@@ -166,7 +166,7 @@ export const make = Effect.fnUntraced(function*(options: {
|
|
|
166
166
|
|
|
167
167
|
const expiresSeconds = sql.literal(
|
|
168
168
|
Math.ceil(Duration.toSeconds(
|
|
169
|
-
Duration.
|
|
169
|
+
Duration.fromInputUnsafe(config.shardLockExpiration)
|
|
170
170
|
)).toString()
|
|
171
171
|
)
|
|
172
172
|
const lockExpiresAt = sql.onDialectOrElse({
|
|
@@ -2,12 +2,13 @@ import * as Arr from "../../../Array.ts"
|
|
|
2
2
|
import * as Cause from "../../../Cause.ts"
|
|
3
3
|
import { Clock } from "../../../Clock.ts"
|
|
4
4
|
import * as Duration from "../../../Duration.ts"
|
|
5
|
-
import type {
|
|
5
|
+
import type { Input } from "../../../Duration.ts"
|
|
6
6
|
import * as Effect from "../../../Effect.ts"
|
|
7
7
|
import * as Equal from "../../../Equal.ts"
|
|
8
8
|
import * as Exit from "../../../Exit.ts"
|
|
9
9
|
import * as Fiber from "../../../Fiber.ts"
|
|
10
10
|
import { identity } from "../../../Function.ts"
|
|
11
|
+
import * as Latch from "../../../Latch.ts"
|
|
11
12
|
import * as Metric from "../../../Metric.ts"
|
|
12
13
|
import * as Option from "../../../Option.ts"
|
|
13
14
|
import { CurrentLogAnnotations } from "../../../References.ts"
|
|
@@ -75,7 +76,7 @@ export type EntityState = {
|
|
|
75
76
|
}>
|
|
76
77
|
lastActiveCheck: number
|
|
77
78
|
write: RpcServer.RpcServer<any>["write"]
|
|
78
|
-
readonly keepAliveLatch:
|
|
79
|
+
readonly keepAliveLatch: Latch.Latch
|
|
79
80
|
keepAliveEnabled: boolean
|
|
80
81
|
}
|
|
81
82
|
|
|
@@ -92,7 +93,7 @@ export const make = Effect.fnUntraced(function*<
|
|
|
92
93
|
readonly sharding: Sharding["Service"]
|
|
93
94
|
readonly storage: MessageStorage.MessageStorage["Service"]
|
|
94
95
|
readonly runnerAddress: RunnerAddress
|
|
95
|
-
readonly maxIdleTime?:
|
|
96
|
+
readonly maxIdleTime?: Input | undefined
|
|
96
97
|
readonly concurrency?: number | "unbounded" | undefined
|
|
97
98
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
98
99
|
readonly disableFatalDefects?: boolean | undefined
|
|
@@ -116,7 +117,7 @@ export const make = Effect.fnUntraced(function*<
|
|
|
116
117
|
entityRpcs.set(KeepAliveRpc._tag, KeepAliveRpc as any)
|
|
117
118
|
|
|
118
119
|
const activeServers = new Map<EntityId, EntityState>()
|
|
119
|
-
const serverCloseLatches = new Map<EntityAddress,
|
|
120
|
+
const serverCloseLatches = new Map<EntityAddress, Latch.Latch>()
|
|
120
121
|
const processedRequestIds = new Set<Snowflake.Snowflake>()
|
|
121
122
|
|
|
122
123
|
const entities: ResourceMap<
|
|
@@ -129,8 +130,8 @@ export const make = Effect.fnUntraced(function*<
|
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
const scope = yield* Effect.scope
|
|
132
|
-
const endLatch =
|
|
133
|
-
const keepAliveLatch =
|
|
133
|
+
const endLatch = Latch.makeUnsafe()
|
|
134
|
+
const keepAliveLatch = Latch.makeUnsafe()
|
|
134
135
|
|
|
135
136
|
// on shutdown, reset the storage for the entity
|
|
136
137
|
yield* Scope.addFinalizerExit(
|
|
@@ -336,7 +337,7 @@ export const make = Effect.fnUntraced(function*<
|
|
|
336
337
|
scope,
|
|
337
338
|
Effect.withFiber((fiber) => {
|
|
338
339
|
activeServers.delete(address.entityId)
|
|
339
|
-
serverCloseLatches.set(address,
|
|
340
|
+
serverCloseLatches.set(address, Latch.makeUnsafe())
|
|
340
341
|
internalInterruptors.add(fiber.id)
|
|
341
342
|
return state.write(0, { _tag: "Eof" }).pipe(
|
|
342
343
|
Effect.andThen(Effect.interruptible(endLatch.await)),
|
|
@@ -351,7 +352,7 @@ export const make = Effect.fnUntraced(function*<
|
|
|
351
352
|
|
|
352
353
|
const reaper = yield* EntityReaper
|
|
353
354
|
const maxIdleTime = Duration.toMillis(
|
|
354
|
-
Duration.
|
|
355
|
+
Duration.fromInputUnsafe(options.maxIdleTime ?? config.entityMaxIdleTime)
|
|
355
356
|
)
|
|
356
357
|
if (Number.isFinite(maxIdleTime)) {
|
|
357
358
|
yield* reaper.register({
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Clock } from "../../../Clock.ts"
|
|
2
2
|
import * as Effect from "../../../Effect.ts"
|
|
3
|
+
import * as Latch from "../../../Latch.ts"
|
|
3
4
|
import * as Layer from "../../../Layer.ts"
|
|
4
5
|
import * as ServiceMap from "../../../ServiceMap.ts"
|
|
5
6
|
import type { EntityNotAssignedToRunner } from "../ClusterError.ts"
|
|
@@ -17,7 +18,7 @@ export class EntityReaper extends ServiceMap.Service<EntityReaper>()("effect/clu
|
|
|
17
18
|
readonly servers: Map<EntityId, EntityState>
|
|
18
19
|
readonly entities: ResourceMap<EntityAddress, EntityState, EntityNotAssignedToRunner>
|
|
19
20
|
}> = []
|
|
20
|
-
const latch = yield*
|
|
21
|
+
const latch = yield* Latch.make()
|
|
21
22
|
|
|
22
23
|
const register = (options: {
|
|
23
24
|
readonly maxIdleTime: number
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Effect from "../../../Effect.ts"
|
|
2
2
|
import * as Exit from "../../../Exit.ts"
|
|
3
|
+
import * as Latch from "../../../Latch.ts"
|
|
3
4
|
import * as MutableRef from "../../../MutableRef.ts"
|
|
4
5
|
import * as Option from "../../../Option.ts"
|
|
5
6
|
import * as Scope from "../../../Scope.ts"
|
|
@@ -53,7 +54,7 @@ export class ResourceRef<A, E = never> {
|
|
|
53
54
|
this.acquire = acquire
|
|
54
55
|
}
|
|
55
56
|
|
|
56
|
-
latch =
|
|
57
|
+
latch = Latch.makeUnsafe(true)
|
|
57
58
|
|
|
58
59
|
getUnsafe(): Option.Option<A> {
|
|
59
60
|
if (this.state.current._tag === "Acquired") {
|
|
@@ -311,7 +311,7 @@ export const encode = <IE, Done>(): Channel.Channel<
|
|
|
311
311
|
let done = false
|
|
312
312
|
const pull = upstream.pipe(
|
|
313
313
|
Effect.map(Arr.map(encoder.write)),
|
|
314
|
-
Effect.
|
|
314
|
+
Effect.catchFilter(Retry.filter as any, (retry: any) => {
|
|
315
315
|
done = true
|
|
316
316
|
return Effect.succeed(Arr.of(encoder.write(retry)))
|
|
317
317
|
}),
|
|
@@ -326,11 +326,9 @@ export const encode = <IE, Done>(): Channel.Channel<
|
|
|
326
326
|
* @category Encoding
|
|
327
327
|
*/
|
|
328
328
|
export const encodeSchema = <
|
|
329
|
-
S extends Schema.
|
|
330
|
-
any,
|
|
329
|
+
S extends Schema.Encoder<
|
|
331
330
|
{ readonly id?: string | undefined; readonly event: string; readonly data: string },
|
|
332
|
-
|
|
333
|
-
any
|
|
331
|
+
unknown
|
|
334
332
|
>,
|
|
335
333
|
IE,
|
|
336
334
|
Done
|
|
@@ -14,6 +14,7 @@ import type * as Record from "../../Record.ts"
|
|
|
14
14
|
import * as Redacted from "../../Redacted.ts"
|
|
15
15
|
import * as Schema from "../../Schema.ts"
|
|
16
16
|
import type * as Scope from "../../Scope.ts"
|
|
17
|
+
import * as Semaphore from "../../Semaphore.ts"
|
|
17
18
|
import * as ServiceMap from "../../ServiceMap.ts"
|
|
18
19
|
import type { Covariant } from "../../Types.ts"
|
|
19
20
|
import { Reactivity } from "../reactivity/Reactivity.ts"
|
|
@@ -481,7 +482,7 @@ const make = Effect.gen(function*() {
|
|
|
481
482
|
readonly write: (entry: Entry) => Effect.Effect<void>
|
|
482
483
|
}) => Effect.Effect<void>
|
|
483
484
|
}>()
|
|
484
|
-
const journalSemaphore = yield*
|
|
485
|
+
const journalSemaphore = yield* Semaphore.make(1)
|
|
485
486
|
|
|
486
487
|
const reactivity = yield* Reactivity
|
|
487
488
|
const reactivityKeys: Record<string, ReadonlyArray<string>> = {}
|
|
@@ -86,7 +86,7 @@ export interface Cookie extends Inspectable.Inspectable {
|
|
|
86
86
|
readonly options?: {
|
|
87
87
|
readonly domain?: string | undefined
|
|
88
88
|
readonly expires?: Date | undefined
|
|
89
|
-
readonly maxAge?: Duration.
|
|
89
|
+
readonly maxAge?: Duration.Input | undefined
|
|
90
90
|
readonly path?: string | undefined
|
|
91
91
|
readonly priority?: "low" | "medium" | "high" | undefined
|
|
92
92
|
readonly httpOnly?: boolean | undefined
|
|
@@ -418,7 +418,7 @@ export function makeCookie(
|
|
|
418
418
|
return Result.fail(CookiesError.fromReason("InvalidCookiePath"))
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
-
if (options.maxAge !== undefined && !Duration.isFinite(Duration.
|
|
421
|
+
if (options.maxAge !== undefined && !Duration.isFinite(Duration.fromInputUnsafe(options.maxAge))) {
|
|
422
422
|
return Result.fail(CookiesError.fromReason("CookieInfinityMaxAge"))
|
|
423
423
|
}
|
|
424
424
|
}
|
|
@@ -763,7 +763,7 @@ export function serializeCookie(self: Cookie): string {
|
|
|
763
763
|
const options = self.options
|
|
764
764
|
|
|
765
765
|
if (options.maxAge !== undefined) {
|
|
766
|
-
const maxAge = Duration.toSeconds(Duration.
|
|
766
|
+
const maxAge = Duration.toSeconds(Duration.fromInputUnsafe(options.maxAge))
|
|
767
767
|
str += "; Max-Age=" + Math.trunc(maxAge)
|
|
768
768
|
}
|
|
769
769
|
|
|
@@ -44,22 +44,37 @@ export interface Headers extends Redactable.Redactable {
|
|
|
44
44
|
readonly [key: string]: string
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
const Proto = Object.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
const Proto = Object.create(null)
|
|
48
|
+
|
|
49
|
+
Object.defineProperties(Proto, {
|
|
50
|
+
[TypeId]: {
|
|
51
|
+
value: TypeId
|
|
52
|
+
},
|
|
53
|
+
[Redactable.symbolRedactable]: {
|
|
54
|
+
value(this: Headers, context: ServiceMap.ServiceMap<never>): Record<string, string | Redacted.Redacted<string>> {
|
|
55
|
+
return redact(this, ServiceMap.get(context, CurrentRedactedNames))
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
toJSON: {
|
|
59
|
+
value(this: Headers) {
|
|
60
|
+
return Redactable.redact(this)
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
[Equal.symbol]: {
|
|
64
|
+
value(this: Headers, that: Headers): boolean {
|
|
65
|
+
return Equivalence(this, that)
|
|
66
|
+
}
|
|
54
67
|
},
|
|
55
|
-
|
|
56
|
-
|
|
68
|
+
[Hash.symbol]: {
|
|
69
|
+
value(this: Headers): number {
|
|
70
|
+
return Hash.structure(this)
|
|
71
|
+
}
|
|
57
72
|
},
|
|
58
|
-
|
|
59
|
-
|
|
73
|
+
toString: {
|
|
74
|
+
value: Inspectable.BaseProto.toString
|
|
60
75
|
},
|
|
61
|
-
[
|
|
62
|
-
|
|
76
|
+
[Inspectable.NodeInspectSymbol]: {
|
|
77
|
+
value: Inspectable.BaseProto[Inspectable.NodeInspectSymbol]
|
|
63
78
|
}
|
|
64
79
|
})
|
|
65
80
|
|
|
@@ -279,7 +279,48 @@ export class FormData extends Proto {
|
|
|
279
279
|
* @since 4.0.0
|
|
280
280
|
* @category constructors
|
|
281
281
|
*/
|
|
282
|
-
export const
|
|
282
|
+
export const formData = (body: globalThis.FormData): FormData => new FormData(body)
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* @since 4.0.0
|
|
286
|
+
* @category models
|
|
287
|
+
*/
|
|
288
|
+
export type FormDataInput = Record<string, FormDataCoercible | ReadonlyArray<FormDataCoercible>>
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* @since 4.0.0
|
|
292
|
+
* @category models
|
|
293
|
+
*/
|
|
294
|
+
export type FormDataCoercible = string | number | boolean | globalThis.File | globalThis.Blob | null | undefined
|
|
295
|
+
|
|
296
|
+
const appendFormDataValue = (formData: globalThis.FormData, key: string, value: FormDataCoercible): void => {
|
|
297
|
+
if (value == null) {
|
|
298
|
+
return
|
|
299
|
+
}
|
|
300
|
+
if (typeof value === "object") {
|
|
301
|
+
formData.append(key, value)
|
|
302
|
+
return
|
|
303
|
+
}
|
|
304
|
+
formData.append(key, String(value))
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* @since 4.0.0
|
|
309
|
+
* @category constructors
|
|
310
|
+
*/
|
|
311
|
+
export const formDataRecord = (entries: FormDataInput): FormData => {
|
|
312
|
+
const data = new globalThis.FormData()
|
|
313
|
+
for (const [key, value] of Object.entries(entries)) {
|
|
314
|
+
if (Array.isArray(value)) {
|
|
315
|
+
for (const item of value) {
|
|
316
|
+
appendFormDataValue(data, key, item)
|
|
317
|
+
}
|
|
318
|
+
} else {
|
|
319
|
+
appendFormDataValue(data, key, value as FormDataCoercible)
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return formData(data)
|
|
323
|
+
}
|
|
283
324
|
|
|
284
325
|
/**
|
|
285
326
|
* @since 4.0.0
|