effect 4.0.0-beta.3 → 4.0.0-beta.30
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 +126 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Brand.d.ts +1 -1
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +1 -1
- package/dist/Brand.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 +2 -2
- 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 +65 -10
- 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 +535 -366
- 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 +11 -11
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +11 -11
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1206 -924
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +390 -329
- 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 +374 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +244 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Exit.d.ts +24 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -4
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +3 -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 +34 -38
- 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/Function.d.ts +1 -9
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +2 -10
- package/dist/Function.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 +39 -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 +121 -126
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +43 -44
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +8 -8
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +3 -3
- 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 +2 -2
- package/dist/ManagedRuntime.js +2 -2
- package/dist/Metric.d.ts +4 -6
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +3 -5
- package/dist/Metric.js.map +1 -1
- package/dist/Newtype.d.ts +291 -0
- package/dist/Newtype.d.ts.map +1 -0
- package/dist/Newtype.js +161 -0
- package/dist/Newtype.js.map +1 -0
- 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 +23 -16
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +15 -9
- 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 +23 -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 +9 -4
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +6 -1
- package/dist/References.js.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 +25 -45
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +10 -30
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -2
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +66 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +79 -6
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +191 -102
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +152 -66
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +9 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +11 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +309 -88
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +499 -109
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +129 -23
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +5 -5
- 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 +49 -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 +41 -31
- 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/Stdio.d.ts +16 -4
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +18 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +250 -428
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +137 -82
- 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 +80 -23
- package/dist/Types.d.ts.map +1 -1
- package/dist/Utils.d.ts +137 -65
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +38 -66
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +718 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +718 -23
- 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 +264 -126
- 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/representation.js +47 -106
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/to-codec.js +7 -10
- package/dist/internal/schema/to-codec.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 +8 -7
- 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 +266 -32
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +296 -23
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +64 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +64 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +134 -51
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +19 -16
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +5 -5
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +38 -44
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +16 -30
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +97 -37
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +183 -88
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +57 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +66 -13
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +193 -51
- 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 +20 -4
- 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/Toolkit.d.ts +1 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +4 -11
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +0 -5
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +27 -60
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +25 -57
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +368 -56
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +325 -64
- 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/Primitive.d.ts +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Prompt.js +35 -8
- package/dist/unstable/cli/Prompt.js.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 +40 -14
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +72 -46
- 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/config.js +42 -0
- package/dist/unstable/cli/internal/config.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 +125 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +55 -42
- 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 +47 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +24 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +16 -0
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +38 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +3 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +6 -6
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +117 -15
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +189 -12
- 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 +16 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +31 -20
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +4 -0
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +7 -5
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +46 -54
- 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 +12 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +291 -1
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +50 -3
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +234 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
- package/dist/unstable/http/HttpStaticServer.js +353 -0
- package/dist/unstable/http/HttpStaticServer.js.map +1 -0
- 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/index.d.ts +4 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +4 -0
- package/dist/unstable/http/index.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 +4 -4
- 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 +28 -18
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +66 -6
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +40 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +41 -54
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +17 -26
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +16 -14
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +44 -29
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +4 -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 +73 -12
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +107 -20
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +10 -12
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +42 -12
- 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 +50 -9
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +9 -9
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +47 -21
- 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 +5 -5
- 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 +8 -8
- 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 +5 -9
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +17 -17
- 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 +3 -2
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +22 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +15 -0
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +5 -5
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +6 -6
- 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/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +17 -8
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +17 -6
- 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 +192 -342
- package/src/Brand.ts +1 -1
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +2 -2
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +186 -24
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +13 -13
- package/src/Effect.ts +1477 -1126
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +457 -0
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +10 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +52 -63
- package/src/Formatter.ts +253 -51
- package/src/Function.ts +2 -10
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +104 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +123 -132
- package/src/LayerMap.ts +9 -9
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +2 -2
- package/src/Metric.ts +6 -8
- package/src/Newtype.ts +308 -0
- package/src/Optic.ts +948 -19
- package/src/Option.ts +32 -24
- 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 +42 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +10 -5
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +29 -49
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +462 -242
- package/src/Scheduler.ts +12 -0
- package/src/Schema.ts +796 -194
- package/src/SchemaAST.ts +164 -31
- package/src/SchemaGetter.ts +15 -17
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +49 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +50 -40
- package/src/Sink.ts +78 -26
- package/src/Stdio.ts +27 -4
- package/src/Stream.ts +586 -608
- 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 +73 -19
- package/src/Utils.ts +137 -111
- package/src/index.ts +728 -24
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +774 -301
- package/src/internal/hashMap.ts +8 -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/representation.ts +45 -94
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/schema/to-codec.ts +7 -17
- package/src/internal/trie.ts +15 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +332 -35
- package/src/testing/index.ts +64 -1
- package/src/unstable/ai/AiError.ts +105 -48
- package/src/unstable/ai/Chat.ts +47 -61
- package/src/unstable/ai/LanguageModel.ts +153 -68
- package/src/unstable/ai/McpSchema.ts +73 -13
- package/src/unstable/ai/McpServer.ts +271 -61
- 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 +20 -14
- package/src/unstable/ai/Toolkit.ts +5 -14
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/ai/internal/codec-transformer.ts +0 -7
- package/src/unstable/cli/CliError.ts +47 -59
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +796 -187
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/Primitive.ts +1 -1
- package/src/unstable/cli/Prompt.ts +31 -9
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +109 -63
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/config.ts +49 -0
- package/src/unstable/cli/internal/help.ts +171 -0
- package/src/unstable/cli/internal/parser.ts +66 -61
- 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 +87 -3
- package/src/unstable/http/Headers.ts +62 -13
- package/src/unstable/http/HttpBody.ts +6 -6
- package/src/unstable/http/HttpClient.ts +374 -33
- package/src/unstable/http/HttpClientRequest.ts +38 -30
- package/src/unstable/http/HttpClientResponse.ts +7 -2
- package/src/unstable/http/HttpEffect.ts +54 -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 +389 -2
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +337 -4
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/index.ts +5 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +6 -6
- package/src/unstable/httpapi/HttpApiBuilder.ts +81 -28
- package/src/unstable/httpapi/HttpApiClient.ts +100 -11
- package/src/unstable/httpapi/HttpApiEndpoint.ts +71 -87
- package/src/unstable/httpapi/HttpApiError.ts +51 -28
- package/src/unstable/httpapi/HttpApiGroup.ts +7 -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 +211 -50
- package/src/unstable/reactivity/AtomHttpApi.ts +66 -31
- package/src/unstable/reactivity/AtomRegistry.ts +61 -9
- package/src/unstable/reactivity/AtomRpc.ts +51 -20
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +7 -9
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +15 -9
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +28 -32
- package/src/unstable/rpc/Utils.ts +3 -2
- package/src/unstable/schema/Model.ts +31 -0
- package/src/unstable/schema/VariantSchema.ts +9 -9
- 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/SqlResolver.ts +17 -7
- package/src/unstable/sql/SqlSchema.ts +42 -26
- 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
|
@@ -56,6 +56,8 @@ export interface AtomRegistry {
|
|
|
56
56
|
}) => () => void
|
|
57
57
|
readonly reset: () => void
|
|
58
58
|
readonly dispose: () => void
|
|
59
|
+
onNodeAdded?: ((node: Node<any>) => void) | undefined
|
|
60
|
+
onNodeRemoved?: ((node: Node<any>) => void) | undefined
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
/**
|
|
@@ -65,6 +67,10 @@ export interface AtomRegistry {
|
|
|
65
67
|
export interface Node<A> {
|
|
66
68
|
readonly atom: Atom.Atom<A>
|
|
67
69
|
readonly value: () => A
|
|
70
|
+
parents: Array<Node<any>>
|
|
71
|
+
children: Array<Node<any>>
|
|
72
|
+
listeners: Set<() => void>
|
|
73
|
+
currentState(): "uninitialized" | "stale" | "valid" | "removed"
|
|
68
74
|
}
|
|
69
75
|
|
|
70
76
|
/**
|
|
@@ -290,6 +296,8 @@ class RegistryImpl implements AtomRegistry {
|
|
|
290
296
|
readonly defaultIdleTTL: number | undefined
|
|
291
297
|
readonly scheduler: Scheduler
|
|
292
298
|
readonly schedulerAsync: Scheduler
|
|
299
|
+
onNodeAdded?: ((node: Node<any>) => void) | undefined
|
|
300
|
+
onNodeRemoved?: ((node: Node<any>) => void) | undefined
|
|
293
301
|
|
|
294
302
|
constructor(
|
|
295
303
|
initialValues?: Iterable<readonly [Atom.Atom<any>, any]>,
|
|
@@ -309,7 +317,11 @@ class RegistryImpl implements AtomRegistry {
|
|
|
309
317
|
}
|
|
310
318
|
if (initialValues !== undefined) {
|
|
311
319
|
for (const [atom, value] of initialValues) {
|
|
312
|
-
|
|
320
|
+
let target = atom
|
|
321
|
+
while (target.initialValueTarget) {
|
|
322
|
+
target = target.initialValueTarget
|
|
323
|
+
}
|
|
324
|
+
this.ensureNode(target).setInitialValue(value)
|
|
313
325
|
}
|
|
314
326
|
}
|
|
315
327
|
}
|
|
@@ -386,6 +398,7 @@ class RegistryImpl implements AtomRegistry {
|
|
|
386
398
|
if (node === undefined) {
|
|
387
399
|
node = this.createNode(atom)
|
|
388
400
|
this.nodes.set(key, node)
|
|
401
|
+
this.onNodeAdded?.(node)
|
|
389
402
|
} else if (this.atomHasTtl(atom)) {
|
|
390
403
|
this.removeNodeTimeout(node)
|
|
391
404
|
}
|
|
@@ -436,6 +449,7 @@ class RegistryImpl implements AtomRegistry {
|
|
|
436
449
|
} else {
|
|
437
450
|
this.nodes.delete(atomKey(node.atom))
|
|
438
451
|
node.remove()
|
|
452
|
+
this.onNodeRemoved?.(node)
|
|
439
453
|
}
|
|
440
454
|
}
|
|
441
455
|
|
|
@@ -450,6 +464,7 @@ class RegistryImpl implements AtomRegistry {
|
|
|
450
464
|
if (idleTTL <= 0) {
|
|
451
465
|
this.nodes.delete(atomKey(node.atom))
|
|
452
466
|
node.remove()
|
|
467
|
+
this.onNodeRemoved?.(node)
|
|
453
468
|
return
|
|
454
469
|
}
|
|
455
470
|
}
|
|
@@ -471,9 +486,7 @@ class RegistryImpl implements AtomRegistry {
|
|
|
471
486
|
|
|
472
487
|
removeNodeTimeout(node: NodeImpl<any>): void {
|
|
473
488
|
const bucket = this.nodeTimeoutBucket.get(node)
|
|
474
|
-
if (bucket === undefined)
|
|
475
|
-
return
|
|
476
|
-
}
|
|
489
|
+
if (bucket === undefined) return
|
|
477
490
|
this.nodeTimeoutBucket.delete(node)
|
|
478
491
|
this.scheduleNodeRemoval(node)
|
|
479
492
|
|
|
@@ -491,11 +504,10 @@ class RegistryImpl implements AtomRegistry {
|
|
|
491
504
|
this.timeoutBuckets.delete(bucket)
|
|
492
505
|
|
|
493
506
|
nodes.forEach((node) => {
|
|
494
|
-
if (!node.canBeRemoved) {
|
|
495
|
-
return
|
|
496
|
-
}
|
|
497
507
|
this.nodeTimeoutBucket.delete(node)
|
|
508
|
+
if (!node.canBeRemoved) return
|
|
498
509
|
this.nodes.delete(atomKey(node.atom))
|
|
510
|
+
this.onNodeRemoved?.(node)
|
|
499
511
|
this.#currentSweepTTL = node.atom.idleTTL ?? this.defaultIdleTTL!
|
|
500
512
|
node.remove()
|
|
501
513
|
this.#currentSweepTTL = null
|
|
@@ -507,7 +519,10 @@ class RegistryImpl implements AtomRegistry {
|
|
|
507
519
|
this.timeoutBuckets.clear()
|
|
508
520
|
this.nodeTimeoutBucket.clear()
|
|
509
521
|
|
|
510
|
-
this.nodes.forEach((node) =>
|
|
522
|
+
this.nodes.forEach((node) => {
|
|
523
|
+
node.remove()
|
|
524
|
+
this.onNodeRemoved?.(node)
|
|
525
|
+
})
|
|
511
526
|
this.nodes.clear()
|
|
512
527
|
}
|
|
513
528
|
|
|
@@ -547,6 +562,7 @@ class NodeImpl<A> {
|
|
|
547
562
|
state: NodeState = NodeState.uninitialized
|
|
548
563
|
lifetime: Lifetime<A> | undefined
|
|
549
564
|
writeContext: WriteContextImpl<A>
|
|
565
|
+
preserveInitialValueOnBuild = false
|
|
550
566
|
|
|
551
567
|
parents: Array<NodeImpl<any>> = []
|
|
552
568
|
previousParents: Array<NodeImpl<any>> | undefined
|
|
@@ -554,6 +570,19 @@ class NodeImpl<A> {
|
|
|
554
570
|
listeners: Set<() => void> = new Set()
|
|
555
571
|
skipInvalidation = false
|
|
556
572
|
|
|
573
|
+
currentState() {
|
|
574
|
+
switch (this.state) {
|
|
575
|
+
case NodeState.uninitialized:
|
|
576
|
+
return "uninitialized"
|
|
577
|
+
case NodeState.stale:
|
|
578
|
+
return "stale"
|
|
579
|
+
case NodeState.valid:
|
|
580
|
+
return "valid"
|
|
581
|
+
default:
|
|
582
|
+
return "removed"
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
|
|
557
586
|
get canBeRemoved(): boolean {
|
|
558
587
|
return !this.atom.keepAlive && this.listeners.size === 0 && this.children.length === 0 && this.state !== 0
|
|
559
588
|
}
|
|
@@ -564,7 +593,12 @@ class NodeImpl<A> {
|
|
|
564
593
|
this.lifetime = makeLifetime(this)
|
|
565
594
|
const value = this.atom.read(this.lifetime)
|
|
566
595
|
if ((this.state & NodeFlags.waitingForValue) !== 0) {
|
|
567
|
-
this.
|
|
596
|
+
if (this.preserveInitialValueOnBuild) {
|
|
597
|
+
this.preserveInitialValueOnBuild = false
|
|
598
|
+
this.state = NodeState.valid
|
|
599
|
+
} else {
|
|
600
|
+
this.setValue(value)
|
|
601
|
+
}
|
|
568
602
|
}
|
|
569
603
|
|
|
570
604
|
if (this.previousParents) {
|
|
@@ -589,6 +623,24 @@ class NodeImpl<A> {
|
|
|
589
623
|
return Option.some(this._value)
|
|
590
624
|
}
|
|
591
625
|
|
|
626
|
+
setInitialValue(value: A): void {
|
|
627
|
+
if ((this.state & NodeFlags.initialized) === 0) {
|
|
628
|
+
this.preserveInitialValueOnBuild = true
|
|
629
|
+
this.state = NodeState.stale
|
|
630
|
+
this._value = value
|
|
631
|
+
|
|
632
|
+
if (batchState.phase === BatchPhase.collect) {
|
|
633
|
+
batchState.notify.add(this)
|
|
634
|
+
} else {
|
|
635
|
+
this.notify()
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
return
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
this.setValue(value)
|
|
642
|
+
}
|
|
643
|
+
|
|
592
644
|
setValue(value: A): void {
|
|
593
645
|
if ((this.state & NodeFlags.initialized) === 0) {
|
|
594
646
|
this.state = NodeState.valid
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Duration from "../../Duration.ts"
|
|
5
5
|
import * as Effect from "../../Effect.ts"
|
|
6
|
+
import * as Hash from "../../Hash.ts"
|
|
6
7
|
import * as Layer from "../../Layer.ts"
|
|
7
8
|
import type { ReadonlyRecord } from "../../Record.ts"
|
|
9
|
+
import * as Schema from "../../Schema.ts"
|
|
8
10
|
import type { Scope } from "../../Scope.ts"
|
|
9
11
|
import * as ServiceMap from "../../ServiceMap.ts"
|
|
10
12
|
import * as Stream from "../../Stream.ts"
|
|
@@ -12,11 +14,11 @@ import type { Mutable, NoInfer } from "../../Types.ts"
|
|
|
12
14
|
import * as Headers from "../http/Headers.ts"
|
|
13
15
|
import type * as Rpc from "../rpc/Rpc.ts"
|
|
14
16
|
import * as RpcClient from "../rpc/RpcClient.ts"
|
|
15
|
-
import
|
|
17
|
+
import { RpcClientError } from "../rpc/RpcClientError.ts"
|
|
16
18
|
import type * as RpcGroup from "../rpc/RpcGroup.ts"
|
|
17
19
|
import type { RequestId } from "../rpc/RpcMessage.ts"
|
|
18
20
|
import * as RpcSchema from "../rpc/RpcSchema.ts"
|
|
19
|
-
import
|
|
21
|
+
import * as AsyncResult from "./AsyncResult.ts"
|
|
20
22
|
import * as Atom from "./Atom.ts"
|
|
21
23
|
import * as Reactivity from "./Reactivity.ts"
|
|
22
24
|
|
|
@@ -24,7 +26,7 @@ import * as Reactivity from "./Reactivity.ts"
|
|
|
24
26
|
* @since 4.0.0
|
|
25
27
|
* @category Models
|
|
26
28
|
*/
|
|
27
|
-
export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any
|
|
29
|
+
export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any> extends
|
|
28
30
|
ServiceMap.Service<
|
|
29
31
|
Self,
|
|
30
32
|
RpcClient.RpcClient.Flat<Rpcs, RpcClientError>
|
|
@@ -35,8 +37,8 @@ export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any, E>
|
|
|
35
37
|
RpcClient.RpcClient.Flat<Rpcs, RpcClientError>
|
|
36
38
|
>
|
|
37
39
|
|
|
38
|
-
readonly layer: Layer.Layer<Self
|
|
39
|
-
readonly runtime: Atom.AtomRuntime<Self
|
|
40
|
+
readonly layer: Layer.Layer<Self>
|
|
41
|
+
readonly runtime: Atom.AtomRuntime<Self>
|
|
40
42
|
|
|
41
43
|
readonly mutation: <Tag extends Rpc.Tag<Rpcs>>(
|
|
42
44
|
arg: Tag
|
|
@@ -58,7 +60,7 @@ export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any, E>
|
|
|
58
60
|
readonly headers?: Headers.Input | undefined
|
|
59
61
|
},
|
|
60
62
|
_Success["Type"],
|
|
61
|
-
_Error["Type"] |
|
|
63
|
+
_Error["Type"] | RpcClientError | _Middleware["error"]["Type"]
|
|
62
64
|
>
|
|
63
65
|
: never
|
|
64
66
|
|
|
@@ -71,7 +73,7 @@ export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any, E>
|
|
|
71
73
|
| ReadonlyArray<unknown>
|
|
72
74
|
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
73
75
|
| undefined
|
|
74
|
-
readonly timeToLive?: Duration.
|
|
76
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
75
77
|
}
|
|
76
78
|
) => Rpc.ExtractTag<Rpcs, Tag> extends Rpc.Rpc<
|
|
77
79
|
infer _Tag,
|
|
@@ -82,14 +84,14 @@ export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any, E>
|
|
|
82
84
|
> ? [_Success] extends [RpcSchema.Stream<infer _A, infer _E>] ? Atom.Writable<
|
|
83
85
|
Atom.PullResult<
|
|
84
86
|
_A["Type"],
|
|
85
|
-
_E["Type"] | _Error["Type"] |
|
|
87
|
+
_E["Type"] | _Error["Type"] | RpcClientError | _Middleware["error"]["Type"]
|
|
86
88
|
>,
|
|
87
89
|
void
|
|
88
90
|
>
|
|
89
91
|
: Atom.Atom<
|
|
90
92
|
AsyncResult.AsyncResult<
|
|
91
93
|
_Success["Type"],
|
|
92
|
-
_Error["Type"] |
|
|
94
|
+
_Error["Type"] | RpcClientError | _Middleware["error"]["Type"]
|
|
93
95
|
>
|
|
94
96
|
>
|
|
95
97
|
: never
|
|
@@ -132,8 +134,8 @@ export const Service = <Self>() =>
|
|
|
132
134
|
| undefined
|
|
133
135
|
readonly runtime?: Atom.RuntimeFactory | undefined
|
|
134
136
|
}
|
|
135
|
-
): AtomRpcClient<Self, Id, Rpcs
|
|
136
|
-
const self: Mutable<AtomRpcClient<Self, Id, Rpcs
|
|
137
|
+
): AtomRpcClient<Self, Id, Rpcs> => {
|
|
138
|
+
const self: Mutable<AtomRpcClient<Self, Id, Rpcs>> = ServiceMap.Service<
|
|
137
139
|
Self,
|
|
138
140
|
RpcClient.RpcClient.Flat<Rpcs, RpcClientError>
|
|
139
141
|
>()(id) as any
|
|
@@ -149,12 +151,13 @@ export const Service = <Self>() =>
|
|
|
149
151
|
never,
|
|
150
152
|
RM
|
|
151
153
|
>)
|
|
152
|
-
).pipe(Layer.provide(options.protocol))
|
|
154
|
+
).pipe(Layer.provide(Layer.orDie(options.protocol)))
|
|
153
155
|
const runtimeFactory = options.runtime ?? Atom.runtime
|
|
154
156
|
self.runtime = runtimeFactory(self.layer)
|
|
155
157
|
|
|
156
|
-
self.mutation = Atom.family(<Tag extends Rpc.Tag<Rpcs>>(tag: Tag) =>
|
|
157
|
-
|
|
158
|
+
self.mutation = Atom.family(<Tag extends Rpc.Tag<Rpcs>>(tag: Tag) => {
|
|
159
|
+
const rpc = options.group.requests.get(tag)! as any as Rpc.AnyWithProps
|
|
160
|
+
return self.runtime.fn<{
|
|
158
161
|
readonly payload: Rpc.PayloadConstructor<Rpc.ExtractTag<Rpcs, Tag>>
|
|
159
162
|
readonly reactivityKeys?:
|
|
160
163
|
| ReadonlyArray<unknown>
|
|
@@ -169,13 +172,23 @@ export const Service = <Self>() =>
|
|
|
169
172
|
? Reactivity.mutation(effect, reactivityKeys)
|
|
170
173
|
: effect
|
|
171
174
|
}) as any
|
|
175
|
+
).pipe(
|
|
176
|
+
Atom.serializable({
|
|
177
|
+
key: `AtomRpc:mutation:${tag}`,
|
|
178
|
+
schema: AsyncResult.Schema({
|
|
179
|
+
success: rpc.successSchema,
|
|
180
|
+
error: makeErrorSchema(rpc)
|
|
181
|
+
}) as any
|
|
182
|
+
})
|
|
172
183
|
)
|
|
173
|
-
) as any
|
|
184
|
+
}) as any
|
|
174
185
|
|
|
175
186
|
const queryFamily = Atom.family(
|
|
176
|
-
(
|
|
187
|
+
(key: QueryKey) => {
|
|
188
|
+
const { headers, payload, reactivityKeys, tag, timeToLive } = key
|
|
177
189
|
const rpc = options.group.requests.get(tag)! as any as Rpc.AnyWithProps
|
|
178
|
-
|
|
190
|
+
const isStream = RpcSchema.isStreamSchema(rpc.successSchema)
|
|
191
|
+
let atom = isStream
|
|
179
192
|
? self.runtime.pull(
|
|
180
193
|
Stream.unwrap(
|
|
181
194
|
self.use((client) =>
|
|
@@ -188,6 +201,15 @@ export const Service = <Self>() =>
|
|
|
188
201
|
: self.runtime.atom(
|
|
189
202
|
self.use((client) => client(tag, payload, { headers } as any)) as any
|
|
190
203
|
)
|
|
204
|
+
if (!isStream) {
|
|
205
|
+
atom = Atom.serializable(atom, {
|
|
206
|
+
key: makeSerializableKey(key),
|
|
207
|
+
schema: AsyncResult.Schema({
|
|
208
|
+
success: rpc.successSchema,
|
|
209
|
+
error: makeErrorSchema(rpc)
|
|
210
|
+
}) as any
|
|
211
|
+
})
|
|
212
|
+
}
|
|
191
213
|
if (timeToLive) {
|
|
192
214
|
atom = Duration.isFinite(timeToLive)
|
|
193
215
|
? Atom.setIdleTTL(atom, timeToLive)
|
|
@@ -208,7 +230,7 @@ export const Service = <Self>() =>
|
|
|
208
230
|
| ReadonlyArray<unknown>
|
|
209
231
|
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
210
232
|
| undefined
|
|
211
|
-
readonly timeToLive?: Duration.
|
|
233
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
212
234
|
}
|
|
213
235
|
) =>
|
|
214
236
|
queryFamily({
|
|
@@ -219,11 +241,11 @@ export const Service = <Self>() =>
|
|
|
219
241
|
: undefined,
|
|
220
242
|
reactivityKeys: options?.reactivityKeys,
|
|
221
243
|
timeToLive: options?.timeToLive
|
|
222
|
-
? Duration.
|
|
244
|
+
? Duration.fromInputUnsafe(options.timeToLive)
|
|
223
245
|
: undefined
|
|
224
246
|
}) as any
|
|
225
247
|
|
|
226
|
-
return self as AtomRpcClient<Self, Id, Rpcs
|
|
248
|
+
return self as AtomRpcClient<Self, Id, Rpcs>
|
|
227
249
|
}
|
|
228
250
|
|
|
229
251
|
interface QueryKey {
|
|
@@ -236,3 +258,12 @@ interface QueryKey {
|
|
|
236
258
|
| undefined
|
|
237
259
|
timeToLive?: Duration.Duration | undefined
|
|
238
260
|
}
|
|
261
|
+
|
|
262
|
+
const makeErrorSchema = (rpc: Rpc.AnyWithProps): Schema.Top =>
|
|
263
|
+
Schema.Union([
|
|
264
|
+
rpc.errorSchema,
|
|
265
|
+
...Array.from(rpc.middlewares, (middleware) => middleware.error),
|
|
266
|
+
RpcClientError
|
|
267
|
+
])
|
|
268
|
+
|
|
269
|
+
const makeSerializableKey = (key: QueryKey): string => `AtomRpc:${key.tag}:${Hash.hash(key)}`
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 4.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as AsyncResult from "./AsyncResult.ts"
|
|
5
|
+
import * as Atom from "./Atom.ts"
|
|
6
|
+
import type * as AtomRegistry from "./AtomRegistry.ts"
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @since 4.0.0
|
|
10
|
+
* @category models
|
|
11
|
+
*/
|
|
12
|
+
export interface DehydratedAtom {
|
|
13
|
+
readonly "~effect/reactivity/DehydratedAtom": true
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @since 4.0.0
|
|
18
|
+
* @category models
|
|
19
|
+
*/
|
|
20
|
+
export interface DehydratedAtomValue extends DehydratedAtom {
|
|
21
|
+
readonly key: string
|
|
22
|
+
readonly value: unknown
|
|
23
|
+
readonly dehydratedAt: number
|
|
24
|
+
readonly resultPromise?: Promise<unknown> | undefined
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @since 4.0.0
|
|
29
|
+
* @category dehydration
|
|
30
|
+
*/
|
|
31
|
+
export const dehydrate = (
|
|
32
|
+
registry: AtomRegistry.AtomRegistry,
|
|
33
|
+
options?: {
|
|
34
|
+
/**
|
|
35
|
+
* How to encode `AsyncResult.Initial` values. Default is "ignore".
|
|
36
|
+
*/
|
|
37
|
+
readonly encodeInitialAs?: "ignore" | "promise" | "value-only" | undefined
|
|
38
|
+
}
|
|
39
|
+
): Array<DehydratedAtom> => {
|
|
40
|
+
const encodeInitialResultMode = options?.encodeInitialAs ?? "ignore"
|
|
41
|
+
const arr: Array<DehydratedAtomValue> = []
|
|
42
|
+
const now = Date.now()
|
|
43
|
+
registry.getNodes().forEach((node, key) => {
|
|
44
|
+
if (!Atom.isSerializable(node.atom)) return
|
|
45
|
+
const atom = node.atom
|
|
46
|
+
const value = node.value()
|
|
47
|
+
const isInitial = AsyncResult.isAsyncResult(value) && AsyncResult.isInitial(value)
|
|
48
|
+
if (encodeInitialResultMode === "ignore" && isInitial) return
|
|
49
|
+
const encodedValue = atom[Atom.SerializableTypeId].encode(value)
|
|
50
|
+
|
|
51
|
+
// Create a promise that resolves when the atom moves out of Initial state
|
|
52
|
+
let resultPromise: Promise<unknown> | undefined
|
|
53
|
+
if (encodeInitialResultMode === "promise" && isInitial) {
|
|
54
|
+
resultPromise = new Promise((resolve) => {
|
|
55
|
+
const unsubscribe = registry.subscribe(atom, (newValue) => {
|
|
56
|
+
if (AsyncResult.isAsyncResult(newValue) && !AsyncResult.isInitial(newValue)) {
|
|
57
|
+
resolve(atom[Atom.SerializableTypeId].encode(newValue))
|
|
58
|
+
unsubscribe()
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
})
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
arr.push({
|
|
65
|
+
"~effect/reactivity/DehydratedAtom": true,
|
|
66
|
+
key: key as string,
|
|
67
|
+
value: encodedValue,
|
|
68
|
+
dehydratedAt: now,
|
|
69
|
+
resultPromise
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
return arr as any
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @since 4.0.0
|
|
77
|
+
* @category dehydration
|
|
78
|
+
*/
|
|
79
|
+
export const toValues = (state: ReadonlyArray<DehydratedAtom>): Array<DehydratedAtomValue> => state as any
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* @since 4.0.0
|
|
83
|
+
* @category hydration
|
|
84
|
+
*/
|
|
85
|
+
export const hydrate = (
|
|
86
|
+
registry: AtomRegistry.AtomRegistry,
|
|
87
|
+
dehydratedState: Iterable<DehydratedAtom>
|
|
88
|
+
): void => {
|
|
89
|
+
for (const datom of (dehydratedState as Iterable<DehydratedAtomValue>)) {
|
|
90
|
+
registry.setSerializable(datom.key, datom.value)
|
|
91
|
+
|
|
92
|
+
// If there's a resultPromise, it means this was in Initial state when dehydrated
|
|
93
|
+
// and we should wait for it to resolve to a non-Initial state, then update the registry
|
|
94
|
+
if (!datom.resultPromise) continue
|
|
95
|
+
datom.resultPromise.then((resolvedValue) => {
|
|
96
|
+
// Try to update the existing node directly instead of using setSerializable
|
|
97
|
+
const nodes = registry.getNodes()
|
|
98
|
+
const node = nodes.get(datom.key)
|
|
99
|
+
if (node) {
|
|
100
|
+
// Decode the resolved value using the node's atom serializable decoder
|
|
101
|
+
const atom = node.atom as any
|
|
102
|
+
if (atom[Atom.SerializableTypeId]) {
|
|
103
|
+
const decoded = atom[Atom.SerializableTypeId].decode(resolvedValue)
|
|
104
|
+
;(node as any).setValue(decoded)
|
|
105
|
+
}
|
|
106
|
+
} else {
|
|
107
|
+
// Fallback to setSerializable if node doesn't exist yet
|
|
108
|
+
registry.setSerializable(datom.key, resolvedValue)
|
|
109
|
+
}
|
|
110
|
+
})
|
|
111
|
+
}
|
|
112
|
+
}
|
package/src/unstable/rpc/Rpc.ts
CHANGED
|
@@ -61,7 +61,7 @@ export interface Rpc<
|
|
|
61
61
|
readonly payloadSchema: Payload
|
|
62
62
|
readonly successSchema: Success
|
|
63
63
|
readonly errorSchema: Error
|
|
64
|
-
readonly defectSchema:
|
|
64
|
+
readonly defectSchema: Schema.Top
|
|
65
65
|
readonly annotations: ServiceMap.ServiceMap<never>
|
|
66
66
|
readonly middlewares: ReadonlySet<Middleware>
|
|
67
67
|
readonly "~requires": Requires
|
|
@@ -132,7 +132,7 @@ export interface Rpc<
|
|
|
132
132
|
* Add an annotation on the rpc.
|
|
133
133
|
*/
|
|
134
134
|
annotate<I, S>(
|
|
135
|
-
tag: ServiceMap.
|
|
135
|
+
tag: ServiceMap.Key<I, S>,
|
|
136
136
|
value: S
|
|
137
137
|
): Rpc<Tag, Payload, Success, Error, Middleware, Requires>
|
|
138
138
|
|
|
@@ -183,7 +183,7 @@ export interface AnyWithProps extends Pipeable {
|
|
|
183
183
|
readonly payloadSchema: Schema.Top
|
|
184
184
|
readonly successSchema: Schema.Top
|
|
185
185
|
readonly errorSchema: Schema.Top
|
|
186
|
-
readonly defectSchema:
|
|
186
|
+
readonly defectSchema: Schema.Top
|
|
187
187
|
readonly annotations: ServiceMap.ServiceMap<never>
|
|
188
188
|
readonly middlewares: ReadonlySet<RpcMiddleware.AnyServiceWithProps>
|
|
189
189
|
readonly "~requires": any
|
|
@@ -406,9 +406,7 @@ export type MiddlewareClient<R> = R extends Rpc<
|
|
|
406
406
|
infer _Error,
|
|
407
407
|
infer _Middleware,
|
|
408
408
|
infer _Requires
|
|
409
|
-
> ?
|
|
410
|
-
_Middleware extends { readonly requiredForClient: true }
|
|
411
|
-
? RpcMiddleware.ForClient<ServiceMap.Service.Identifier<_Middleware>>
|
|
409
|
+
> ? _Middleware extends { readonly requiredForClient: true } ? RpcMiddleware.ForClient<_Middleware["Identifier"]>
|
|
412
410
|
: never
|
|
413
411
|
: never
|
|
414
412
|
|
|
@@ -521,7 +519,7 @@ export type ExtractProvides<R extends Any, Tag extends string> = R extends Rpc<
|
|
|
521
519
|
infer _Error,
|
|
522
520
|
infer _Middleware,
|
|
523
521
|
infer _Requires
|
|
524
|
-
> ? RpcMiddleware.Provides<_Middleware> :
|
|
522
|
+
> ? RpcMiddleware.Provides<_Middleware["Identifier"]> :
|
|
525
523
|
never
|
|
526
524
|
|
|
527
525
|
/**
|
|
@@ -660,7 +658,7 @@ const Proto = {
|
|
|
660
658
|
middlewares: this.middlewares
|
|
661
659
|
})
|
|
662
660
|
},
|
|
663
|
-
annotate(this: AnyWithProps, tag: ServiceMap.
|
|
661
|
+
annotate(this: AnyWithProps, tag: ServiceMap.Key<any, any>, value: any) {
|
|
664
662
|
return makeProto({
|
|
665
663
|
_tag: this._tag,
|
|
666
664
|
payloadSchema: this.payloadSchema,
|
|
@@ -696,7 +694,7 @@ const makeProto = <
|
|
|
696
694
|
readonly payloadSchema: Payload
|
|
697
695
|
readonly successSchema: Success
|
|
698
696
|
readonly errorSchema: Error
|
|
699
|
-
readonly defectSchema:
|
|
697
|
+
readonly defectSchema: Schema.Top
|
|
700
698
|
readonly annotations: ServiceMap.ServiceMap<never>
|
|
701
699
|
readonly middlewares: ReadonlySet<Middleware>
|
|
702
700
|
}): Rpc<Tag, Payload, Success, Error, Middleware, Requires> => {
|
|
@@ -8,6 +8,7 @@ import * as Effect from "../../Effect.ts"
|
|
|
8
8
|
import * as Exit from "../../Exit.ts"
|
|
9
9
|
import * as Fiber from "../../Fiber.ts"
|
|
10
10
|
import { constVoid, dual, flow, identity } from "../../Function.ts"
|
|
11
|
+
import * as Latch from "../../Latch.ts"
|
|
11
12
|
import * as Layer from "../../Layer.ts"
|
|
12
13
|
import * as Option from "../../Option.ts"
|
|
13
14
|
import * as Pool from "../../Pool.ts"
|
|
@@ -20,7 +21,6 @@ import * as ServiceMap from "../../ServiceMap.ts"
|
|
|
20
21
|
import * as Stream from "../../Stream.ts"
|
|
21
22
|
import type * as Struct from "../../Struct.ts"
|
|
22
23
|
import type { Span } from "../../Tracer.ts"
|
|
23
|
-
import type { Mutable } from "../../Types.ts"
|
|
24
24
|
import * as Headers from "../http/Headers.ts"
|
|
25
25
|
import * as HttpBody from "../http/HttpBody.ts"
|
|
26
26
|
import * as HttpClient from "../http/HttpClient.ts"
|
|
@@ -45,16 +45,7 @@ import { withRun } from "./Utils.ts"
|
|
|
45
45
|
* @since 4.0.0
|
|
46
46
|
* @category client
|
|
47
47
|
*/
|
|
48
|
-
export type RpcClient<Rpcs extends Rpc.Any, E = never> = Struct.Simplify<
|
|
49
|
-
& RpcClient.From<RpcClient.NonPrefixed<Rpcs>, E, "">
|
|
50
|
-
& {
|
|
51
|
-
readonly [CurrentPrefix in RpcClient.Prefixes<Rpcs>]: RpcClient.From<
|
|
52
|
-
RpcClient.Prefixed<Rpcs, CurrentPrefix>,
|
|
53
|
-
E,
|
|
54
|
-
CurrentPrefix
|
|
55
|
-
>
|
|
56
|
-
}
|
|
57
|
-
>
|
|
48
|
+
export type RpcClient<Rpcs extends Rpc.Any, E = never> = Struct.Simplify<RpcClient.From<Rpcs, E>>
|
|
58
49
|
|
|
59
50
|
/**
|
|
60
51
|
* @since 4.0.0
|
|
@@ -65,34 +56,8 @@ export declare namespace RpcClient {
|
|
|
65
56
|
* @since 4.0.0
|
|
66
57
|
* @category client
|
|
67
58
|
*/
|
|
68
|
-
export type
|
|
69
|
-
|
|
70
|
-
: never
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* @since 4.0.0
|
|
74
|
-
* @category client
|
|
75
|
-
*/
|
|
76
|
-
export type NonPrefixed<Rpcs extends Rpc.Any> = Exclude<Rpcs, { readonly _tag: `${string}.${string}` }>
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* @since 4.0.0
|
|
80
|
-
* @category client
|
|
81
|
-
*/
|
|
82
|
-
export type Prefixed<Rpcs extends Rpc.Any, Prefix extends string> = Extract<
|
|
83
|
-
Rpcs,
|
|
84
|
-
{ readonly _tag: `${Prefix}.${string}` }
|
|
85
|
-
>
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* @since 4.0.0
|
|
89
|
-
* @category client
|
|
90
|
-
*/
|
|
91
|
-
export type From<Rpcs extends Rpc.Any, E = never, Prefix extends string = ""> = {
|
|
92
|
-
readonly [
|
|
93
|
-
Current in Rpcs as Current["_tag"] extends `${Prefix}.${infer Method}` ? Method
|
|
94
|
-
: Current["_tag"]
|
|
95
|
-
]: <
|
|
59
|
+
export type From<Rpcs extends Rpc.Any, E = never> = {
|
|
60
|
+
readonly [Current in Rpcs as Current["_tag"]]: <
|
|
96
61
|
const AsQueue extends boolean = false,
|
|
97
62
|
const Discard = false
|
|
98
63
|
>(
|
|
@@ -614,16 +579,9 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
614
579
|
}
|
|
615
580
|
} else {
|
|
616
581
|
client = {}
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
if (prefix !== undefined && !(prefix in client)) {
|
|
621
|
-
;(client as any)[prefix] = {} as Mutable<RpcClient.Prefixed<Rpcs, typeof prefix>>
|
|
622
|
-
}
|
|
623
|
-
const target = prefix !== undefined ? (client as any)[prefix] : client
|
|
624
|
-
const tag = prefix !== undefined ? rpc._tag.slice(dot + 1) : rpc._tag
|
|
625
|
-
target[tag] = onRequest(rpc as any)
|
|
626
|
-
}
|
|
582
|
+
group.requests.forEach((rpc) => {
|
|
583
|
+
client[rpc._tag] = onRequest(rpc as any)
|
|
584
|
+
})
|
|
627
585
|
}
|
|
628
586
|
|
|
629
587
|
return { client, write } as const
|
|
@@ -1070,7 +1028,7 @@ const defaultRetryPolicy = Schedule.exponential(500, 1.5).pipe(
|
|
|
1070
1028
|
|
|
1071
1029
|
const makePinger = Effect.fnUntraced(function*<A, E, R>(writePing: Effect.Effect<A, E, R>) {
|
|
1072
1030
|
let recievedPong = true
|
|
1073
|
-
const latch =
|
|
1031
|
+
const latch = Latch.makeUnsafe()
|
|
1074
1032
|
const reset = () => {
|
|
1075
1033
|
recievedPong = true
|
|
1076
1034
|
latch.closeUnsafe()
|
|
@@ -1118,7 +1076,7 @@ export const makeProtocolWorker = (
|
|
|
1118
1076
|
readonly maxSize: number
|
|
1119
1077
|
readonly concurrency?: number | undefined
|
|
1120
1078
|
readonly targetUtilization?: number | undefined
|
|
1121
|
-
readonly timeToLive: Duration.
|
|
1079
|
+
readonly timeToLive: Duration.Input
|
|
1122
1080
|
}
|
|
1123
1081
|
): Effect.Effect<
|
|
1124
1082
|
Protocol["Service"],
|
|
@@ -1133,7 +1091,7 @@ export const makeProtocolWorker = (
|
|
|
1133
1091
|
|
|
1134
1092
|
const entries = new Map<string, {
|
|
1135
1093
|
readonly worker: Worker.Worker<FromServerEncoded, FromClientEncoded | RpcWorker.InitialMessage.Encoded>
|
|
1136
|
-
readonly latch:
|
|
1094
|
+
readonly latch: Latch.Latch
|
|
1137
1095
|
}>()
|
|
1138
1096
|
|
|
1139
1097
|
const acquire = Effect.gen(function*() {
|
|
@@ -1219,7 +1177,7 @@ export const makeProtocolWorker = (
|
|
|
1219
1177
|
case "Request": {
|
|
1220
1178
|
return Pool.get(pool).pipe(
|
|
1221
1179
|
Effect.flatMap((worker) => {
|
|
1222
|
-
const latch =
|
|
1180
|
+
const latch = Latch.makeUnsafe(false)
|
|
1223
1181
|
entries.set(request.id, { worker, latch })
|
|
1224
1182
|
return Effect.flatMap(worker.send(request, transferables), () => latch.await)
|
|
1225
1183
|
}),
|
|
@@ -1266,7 +1224,7 @@ export const layerProtocolWorker: (
|
|
|
1266
1224
|
readonly maxSize: number
|
|
1267
1225
|
readonly concurrency?: number | undefined
|
|
1268
1226
|
readonly targetUtilization?: number | undefined
|
|
1269
|
-
readonly timeToLive: Duration.
|
|
1227
|
+
readonly timeToLive: Duration.Input
|
|
1270
1228
|
}
|
|
1271
1229
|
) => Layer.Layer<
|
|
1272
1230
|
Protocol,
|