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
|
@@ -20,19 +20,16 @@
|
|
|
20
20
|
*
|
|
21
21
|
* Key Behaviors
|
|
22
22
|
* -------------
|
|
23
|
-
* -
|
|
23
|
+
* - Inherited parent flags may appear before OR after the subcommand name (npm-style)
|
|
24
24
|
* - Only the first Value token can open a subcommand
|
|
25
25
|
* - Errors accumulate rather than throwing exceptions
|
|
26
26
|
*/
|
|
27
27
|
import * as Effect from "../../../Effect.ts"
|
|
28
|
-
import type { LogLevel } from "../../../LogLevel.ts"
|
|
29
|
-
import * as Option from "../../../Option.ts"
|
|
30
28
|
import * as CliError from "../CliError.ts"
|
|
31
29
|
import type { Command, ParsedTokens } from "../Command.ts"
|
|
32
30
|
import * as Param from "../Param.ts"
|
|
33
31
|
import * as Primitive from "../Primitive.ts"
|
|
34
32
|
import { suggest } from "./auto-suggest.ts"
|
|
35
|
-
import { completionsFlag, helpFlag, logLevelFlag, versionFlag } from "./builtInFlags.ts"
|
|
36
33
|
import { toImpl } from "./command.ts"
|
|
37
34
|
import type { LexResult, Token } from "./lexer.ts"
|
|
38
35
|
|
|
@@ -46,36 +43,6 @@ export const getCommandPath = (parsedInput: ParsedTokens): ReadonlyArray<string>
|
|
|
46
43
|
? [parsedInput.subcommand.name, ...getCommandPath(parsedInput.subcommand.parsedInput)]
|
|
47
44
|
: []
|
|
48
45
|
|
|
49
|
-
/** @internal */
|
|
50
|
-
export const extractBuiltInOptions = (
|
|
51
|
-
tokens: ReadonlyArray<Token>
|
|
52
|
-
): Effect.Effect<
|
|
53
|
-
{
|
|
54
|
-
help: boolean
|
|
55
|
-
logLevel: LogLevel | undefined
|
|
56
|
-
version: boolean
|
|
57
|
-
completions: "bash" | "zsh" | "fish" | undefined
|
|
58
|
-
remainder: ReadonlyArray<Token>
|
|
59
|
-
},
|
|
60
|
-
CliError.CliError,
|
|
61
|
-
Param.Environment
|
|
62
|
-
> =>
|
|
63
|
-
Effect.gen(function*() {
|
|
64
|
-
const { flagMap, remainder } = consumeKnownFlags(tokens, builtInFlagRegistry)
|
|
65
|
-
const emptyArgs: Param.ParsedArgs = { flags: flagMap, arguments: [] }
|
|
66
|
-
const [, help] = yield* helpFlag.parse(emptyArgs)
|
|
67
|
-
const [, logLevel] = yield* logLevelFlag.parse(emptyArgs)
|
|
68
|
-
const [, version] = yield* versionFlag.parse(emptyArgs)
|
|
69
|
-
const [, completions] = yield* completionsFlag.parse(emptyArgs)
|
|
70
|
-
return {
|
|
71
|
-
help,
|
|
72
|
-
logLevel: Option.getOrUndefined(logLevel),
|
|
73
|
-
version,
|
|
74
|
-
completions: Option.getOrUndefined(completions),
|
|
75
|
-
remainder
|
|
76
|
-
}
|
|
77
|
-
})
|
|
78
|
-
|
|
79
46
|
/** @internal */
|
|
80
47
|
export const parseArgs = (
|
|
81
48
|
lexResult: LexResult,
|
|
@@ -91,10 +58,17 @@ export const parseArgs = (
|
|
|
91
58
|
const flagParams = singles.filter(Param.isFlagParam)
|
|
92
59
|
const flagRegistry = createFlagRegistry(flagParams)
|
|
93
60
|
|
|
61
|
+
const inheritedSingles = commandImpl.contextConfig.flags.flatMap(Param.extractSingleParams)
|
|
62
|
+
const inheritedFlagParams = inheritedSingles.filter(Param.isFlagParam)
|
|
63
|
+
const inheritedFlagRegistry = createFlagRegistry(inheritedFlagParams)
|
|
64
|
+
const inheritedNames = new Set(inheritedFlagParams.map((param) => param.name))
|
|
65
|
+
|
|
94
66
|
const context: CommandContext = {
|
|
95
67
|
command,
|
|
96
68
|
commandPath: newCommandPath,
|
|
97
|
-
flagRegistry
|
|
69
|
+
flagRegistry,
|
|
70
|
+
inheritedFlagRegistry,
|
|
71
|
+
localFlagNames: flagParams.filter((param) => !inheritedNames.has(param.name)).map((param) => param.name)
|
|
98
72
|
}
|
|
99
73
|
|
|
100
74
|
const result = scanCommandLevel(tokens, context)
|
|
@@ -166,6 +140,8 @@ type CommandContext = {
|
|
|
166
140
|
readonly command: Command.Any
|
|
167
141
|
readonly commandPath: ReadonlyArray<string>
|
|
168
142
|
readonly flagRegistry: FlagRegistry
|
|
143
|
+
readonly inheritedFlagRegistry: FlagRegistry
|
|
144
|
+
readonly localFlagNames: ReadonlyArray<string>
|
|
169
145
|
}
|
|
170
146
|
|
|
171
147
|
/**
|
|
@@ -209,7 +185,7 @@ type LeafResult = {
|
|
|
209
185
|
type SubcommandResult = {
|
|
210
186
|
readonly _tag: "Sub"
|
|
211
187
|
readonly flags: Readonly<FlagMap>
|
|
212
|
-
readonly sub: Command<string, unknown, unknown, unknown>
|
|
188
|
+
readonly sub: Command<string, unknown, unknown, unknown, unknown>
|
|
213
189
|
readonly childTokens: ReadonlyArray<Token>
|
|
214
190
|
readonly errors: ReadonlyArray<CliError.CliError>
|
|
215
191
|
}
|
|
@@ -249,8 +225,9 @@ const makeCursor = (tokens: ReadonlyArray<Token>): TokenCursor => {
|
|
|
249
225
|
/**
|
|
250
226
|
* Creates a registry for O(1) flag lookup by name or alias.
|
|
251
227
|
* @throws Error if duplicate names or aliases are detected (developer error)
|
|
228
|
+
* @internal
|
|
252
229
|
*/
|
|
253
|
-
const createFlagRegistry = (params: ReadonlyArray<FlagParam>): FlagRegistry => {
|
|
230
|
+
export const createFlagRegistry = (params: ReadonlyArray<FlagParam>): FlagRegistry => {
|
|
254
231
|
const index = new Map<string, FlagParam>()
|
|
255
232
|
|
|
256
233
|
for (const param of params) {
|
|
@@ -273,15 +250,38 @@ const createFlagRegistry = (params: ReadonlyArray<FlagParam>): FlagRegistry => {
|
|
|
273
250
|
}
|
|
274
251
|
|
|
275
252
|
const buildSubcommandIndex = (
|
|
276
|
-
subcommands:
|
|
277
|
-
): Map<string, Command<string, unknown, unknown, unknown>> =>
|
|
253
|
+
subcommands: Command.Any["subcommands"]
|
|
254
|
+
): Map<string, Command<string, unknown, unknown, unknown, unknown>> => {
|
|
255
|
+
const index = new Map<string, Command<string, unknown, unknown, unknown, unknown>>()
|
|
256
|
+
const setKey = (key: string, command: Command<string, unknown, unknown, unknown, unknown>) => {
|
|
257
|
+
const existing = index.get(key)
|
|
258
|
+
if (existing && existing !== command) {
|
|
259
|
+
throw new Error(
|
|
260
|
+
`Duplicate subcommand name/alias "${key}" in command definition (conflicts with "${existing.name}")`
|
|
261
|
+
)
|
|
262
|
+
}
|
|
263
|
+
index.set(key, command)
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
for (const group of subcommands) {
|
|
267
|
+
for (const subcommand of group.commands) {
|
|
268
|
+
setKey(subcommand.name, subcommand)
|
|
269
|
+
if (subcommand.alias && subcommand.alias !== subcommand.name) {
|
|
270
|
+
setKey(subcommand.alias, subcommand)
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return index
|
|
275
|
+
}
|
|
278
276
|
|
|
279
277
|
/* ========================================================================== */
|
|
280
278
|
/* Flag Accumulator */
|
|
281
279
|
/* ========================================================================== */
|
|
282
280
|
|
|
283
|
-
/** Creates an empty flag map with all known flag names initialized to [].
|
|
284
|
-
|
|
281
|
+
/** Creates an empty flag map with all known flag names initialized to [].
|
|
282
|
+
* @internal
|
|
283
|
+
*/
|
|
284
|
+
export const createEmptyFlagMap = (params: ReadonlyArray<FlagParam>): FlagMap =>
|
|
285
285
|
Object.fromEntries(params.map((p) => [p.name, []]))
|
|
286
286
|
|
|
287
287
|
/**
|
|
@@ -370,9 +370,10 @@ const consumeFlagValue = (
|
|
|
370
370
|
/**
|
|
371
371
|
* Consumes known flags from a token stream.
|
|
372
372
|
* Unrecognized tokens are passed through to remainder.
|
|
373
|
-
* Used for both
|
|
373
|
+
* Used for both global flag extraction and npm-style parent flag collection.
|
|
374
|
+
* @internal
|
|
374
375
|
*/
|
|
375
|
-
const consumeKnownFlags = (
|
|
376
|
+
export const consumeKnownFlags = (
|
|
376
377
|
tokens: ReadonlyArray<Token>,
|
|
377
378
|
registry: FlagRegistry
|
|
378
379
|
): { flagMap: FlagMap; remainder: ReadonlyArray<Token> } => {
|
|
@@ -401,19 +402,6 @@ const consumeKnownFlags = (
|
|
|
401
402
|
return { flagMap, remainder }
|
|
402
403
|
}
|
|
403
404
|
|
|
404
|
-
/* ========================================================================== */
|
|
405
|
-
/* Built-in Flags */
|
|
406
|
-
/* ========================================================================== */
|
|
407
|
-
|
|
408
|
-
const builtInFlagParams: ReadonlyArray<FlagParam> = [
|
|
409
|
-
...Param.extractSingleParams(logLevelFlag),
|
|
410
|
-
...Param.extractSingleParams(helpFlag),
|
|
411
|
-
...Param.extractSingleParams(versionFlag),
|
|
412
|
-
...Param.extractSingleParams(completionsFlag)
|
|
413
|
-
]
|
|
414
|
-
|
|
415
|
-
const builtInFlagRegistry = createFlagRegistry(builtInFlagParams)
|
|
416
|
-
|
|
417
405
|
/* ========================================================================== */
|
|
418
406
|
/* Error Creation */
|
|
419
407
|
/* ========================================================================== */
|
|
@@ -469,7 +457,7 @@ const toLeafResult = (state: ParseState): LeafResult => ({
|
|
|
469
457
|
* Determines how to handle the first value token.
|
|
470
458
|
*
|
|
471
459
|
* If it matches a known subcommand:
|
|
472
|
-
* - Collect
|
|
460
|
+
* - Collect inherited parent flags from remaining tokens (npm-style)
|
|
473
461
|
* - Return SubcommandResult with child tokens
|
|
474
462
|
*
|
|
475
463
|
* Otherwise:
|
|
@@ -482,13 +470,30 @@ const resolveFirstValue = (
|
|
|
482
470
|
context: CommandContext,
|
|
483
471
|
state: ParseState
|
|
484
472
|
): FirstValueResult => {
|
|
485
|
-
const { command, commandPath,
|
|
473
|
+
const { command, commandPath, inheritedFlagRegistry, localFlagNames } = context
|
|
486
474
|
const subIndex = buildSubcommandIndex(command.subcommands)
|
|
487
475
|
const sub = subIndex.get(value)
|
|
488
476
|
|
|
489
477
|
if (sub) {
|
|
490
|
-
|
|
491
|
-
|
|
478
|
+
const selectedPath = [...commandPath, sub.name]
|
|
479
|
+
|
|
480
|
+
// Local flags are not inherited by subcommands.
|
|
481
|
+
const parentFlags = state.flags.snapshot()
|
|
482
|
+
for (const localFlagName of localFlagNames) {
|
|
483
|
+
const values = parentFlags[localFlagName]
|
|
484
|
+
if (values !== undefined && values.length > 0) {
|
|
485
|
+
state.errors.push(
|
|
486
|
+
new CliError.UnrecognizedOption({
|
|
487
|
+
option: `--${localFlagName}`,
|
|
488
|
+
suggestions: [],
|
|
489
|
+
command: selectedPath
|
|
490
|
+
})
|
|
491
|
+
)
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
// npm-style: inherited parent flags can appear after subcommand name
|
|
496
|
+
const tail = consumeKnownFlags(cursor.rest(), inheritedFlagRegistry)
|
|
492
497
|
state.flags.merge(tail.flagMap)
|
|
493
498
|
|
|
494
499
|
return {
|
|
@@ -506,7 +511,7 @@ const resolveFirstValue = (
|
|
|
506
511
|
// Not a subcommand. Check if this looks like a typo.
|
|
507
512
|
const expectsArgs = toImpl(command).config.arguments.length > 0
|
|
508
513
|
if (!expectsArgs && subIndex.size > 0) {
|
|
509
|
-
const suggestions = suggest(value,
|
|
514
|
+
const suggestions = suggest(value, Array.from(subIndex.keys()))
|
|
510
515
|
state.errors.push(
|
|
511
516
|
new CliError.UnknownSubcommand({
|
|
512
517
|
subcommand: value,
|
|
@@ -51,7 +51,7 @@ export const make = <E, R>(options: {
|
|
|
51
51
|
*
|
|
52
52
|
* Defaults to "1 day".
|
|
53
53
|
*/
|
|
54
|
-
readonly skipIfOlderThan?: Duration.
|
|
54
|
+
readonly skipIfOlderThan?: Duration.Input | undefined
|
|
55
55
|
}): Layer.Layer<never, never, Sharding | Exclude<R, Scope>> => {
|
|
56
56
|
const CronEntity = Entity.make(`ClusterCron/${options.name}`, [
|
|
57
57
|
Rpc.make("run", {
|
|
@@ -76,7 +76,7 @@ export const make = <E, R>(options: {
|
|
|
76
76
|
)
|
|
77
77
|
|
|
78
78
|
const skipIfOlderThan = Option.fromUndefinedOr(options.skipIfOlderThan).pipe(
|
|
79
|
-
Option.map(Duration.
|
|
79
|
+
Option.map(Duration.fromInputUnsafe),
|
|
80
80
|
Option.getOrElse(() => Duration.days(1))
|
|
81
81
|
)
|
|
82
82
|
|
|
@@ -6,6 +6,7 @@ import * as Duration from "../../Duration.ts"
|
|
|
6
6
|
import * as Effect from "../../Effect.ts"
|
|
7
7
|
import * as Exit from "../../Exit.ts"
|
|
8
8
|
import * as Fiber from "../../Fiber.ts"
|
|
9
|
+
import * as Latch from "../../Latch.ts"
|
|
9
10
|
import * as Layer from "../../Layer.ts"
|
|
10
11
|
import * as PrimaryKey from "../../PrimaryKey.ts"
|
|
11
12
|
import * as RcMap from "../../RcMap.ts"
|
|
@@ -15,7 +16,7 @@ import * as Schema from "../../Schema.ts"
|
|
|
15
16
|
import type * as Scope from "../../Scope.ts"
|
|
16
17
|
import * as ServiceMap from "../../ServiceMap.ts"
|
|
17
18
|
import * as Rpc from "../rpc/Rpc.ts"
|
|
18
|
-
import
|
|
19
|
+
import { ClientAbort } from "../rpc/RpcSchema.ts"
|
|
19
20
|
import * as Activity from "../workflow/Activity.ts"
|
|
20
21
|
import * as DurableClock from "../workflow/DurableClock.ts"
|
|
21
22
|
import * as DurableDeferred from "../workflow/DurableDeferred.ts"
|
|
@@ -106,7 +107,7 @@ export const make = Effect.gen(function*() {
|
|
|
106
107
|
readonly services: ServiceMap.ServiceMap<any>
|
|
107
108
|
}>()
|
|
108
109
|
const interruptedActivities = new Set<string>()
|
|
109
|
-
const activityLatches = new Map<string,
|
|
110
|
+
const activityLatches = new Map<string, Latch.Latch>()
|
|
110
111
|
const clients = yield* RcMap.make({
|
|
111
112
|
lookup: Effect.fnUntraced(function*(workflowName: string) {
|
|
112
113
|
const entity = entities.get(workflowName)
|
|
@@ -297,7 +298,7 @@ export const make = Effect.gen(function*() {
|
|
|
297
298
|
return Effect.gen(function*() {
|
|
298
299
|
let entry = activities.get(activityId)
|
|
299
300
|
while (!entry) {
|
|
300
|
-
const latch =
|
|
301
|
+
const latch = Latch.makeUnsafe()
|
|
301
302
|
activityLatches.set(activityId, latch)
|
|
302
303
|
yield* latch.await
|
|
303
304
|
entry = activities.get(activityId)
|
|
@@ -314,7 +315,7 @@ export const make = Effect.gen(function*() {
|
|
|
314
315
|
// we only want to store interrupts as suspends when the
|
|
315
316
|
// client requested it
|
|
316
317
|
const suspend = cause.reasons.some((f) =>
|
|
317
|
-
f._tag === "Interrupt" && f.
|
|
318
|
+
f._tag === "Interrupt" && f.annotations.has(ClientAbort.key)
|
|
318
319
|
)
|
|
319
320
|
if (suspend) {
|
|
320
321
|
interruptedActivities.add(activityId)
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import type * as Cause from "../../Cause.ts"
|
|
6
6
|
import * as Data from "../../Data.ts"
|
|
7
|
-
import type
|
|
7
|
+
import type * as Duration from "../../Duration.ts"
|
|
8
8
|
import * as Effect from "../../Effect.ts"
|
|
9
9
|
import * as Equal from "../../Equal.ts"
|
|
10
10
|
import * as Exit from "../../Exit.ts"
|
|
11
11
|
import { identity } from "../../Function.ts"
|
|
12
12
|
import * as Hash from "../../Hash.ts"
|
|
13
|
+
import type * as Latch from "../../Latch.ts"
|
|
13
14
|
import * as Layer from "../../Layer.ts"
|
|
14
15
|
import * as Predicate from "../../Predicate.ts"
|
|
15
16
|
import * as Queue from "../../Queue.ts"
|
|
@@ -74,12 +75,12 @@ export interface Entity<
|
|
|
74
75
|
/**
|
|
75
76
|
* Annotate the entity with a value.
|
|
76
77
|
*/
|
|
77
|
-
annotate<I, S>(key: ServiceMap.
|
|
78
|
+
annotate<I, S>(key: ServiceMap.Key<I, S>, value: S): Entity<Type, Rpcs>
|
|
78
79
|
|
|
79
80
|
/**
|
|
80
81
|
* Annotate the Rpc's above this point with a value.
|
|
81
82
|
*/
|
|
82
|
-
annotateRpcs<I, S>(key: ServiceMap.
|
|
83
|
+
annotateRpcs<I, S>(key: ServiceMap.Key<I, S>, value: S): Entity<Type, Rpcs>
|
|
83
84
|
|
|
84
85
|
/**
|
|
85
86
|
* Annotate the entity with the given annotations.
|
|
@@ -116,7 +117,7 @@ export interface Entity<
|
|
|
116
117
|
>(
|
|
117
118
|
build: Handlers | Effect.Effect<Handlers, never, RX>,
|
|
118
119
|
options?: {
|
|
119
|
-
readonly maxIdleTime?:
|
|
120
|
+
readonly maxIdleTime?: Duration.Input | undefined
|
|
120
121
|
readonly concurrency?: number | "unbounded" | undefined
|
|
121
122
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
122
123
|
readonly disableFatalDefects?: boolean | undefined
|
|
@@ -159,7 +160,7 @@ export interface Entity<
|
|
|
159
160
|
RX
|
|
160
161
|
>,
|
|
161
162
|
options?: {
|
|
162
|
-
readonly maxIdleTime?:
|
|
163
|
+
readonly maxIdleTime?: Duration.Input | undefined
|
|
163
164
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
164
165
|
readonly disableFatalDefects?: boolean | undefined
|
|
165
166
|
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown> | undefined
|
|
@@ -206,10 +207,10 @@ const Proto = {
|
|
|
206
207
|
[Equal.symbol](this: Entity<string, any>, that: Equal.Equal): boolean {
|
|
207
208
|
return isEntity(that) && this.type === that.type
|
|
208
209
|
},
|
|
209
|
-
annotate<I, S>(this: Entity<string, any>, key: ServiceMap.
|
|
210
|
+
annotate<I, S>(this: Entity<string, any>, key: ServiceMap.Key<I, S>, value: S) {
|
|
210
211
|
return fromRpcGroup(this.type, this.protocol.annotate(key, value))
|
|
211
212
|
},
|
|
212
|
-
annotateRpcs<I, S>(this: Entity<string, any>, key: ServiceMap.
|
|
213
|
+
annotateRpcs<I, S>(this: Entity<string, any>, key: ServiceMap.Key<I, S>, value: S) {
|
|
213
214
|
return fromRpcGroup(this.type, this.protocol.annotateRpcs(key, value))
|
|
214
215
|
},
|
|
215
216
|
annotateMerge<S>(this: Entity<string, any>, annotations: ServiceMap.ServiceMap<S>) {
|
|
@@ -234,7 +235,7 @@ const Proto = {
|
|
|
234
235
|
this: Entity<string, Rpcs>,
|
|
235
236
|
build: Handlers | Effect.Effect<Handlers, never, RX>,
|
|
236
237
|
options?: {
|
|
237
|
-
readonly maxIdleTime?:
|
|
238
|
+
readonly maxIdleTime?: Duration.Input | undefined
|
|
238
239
|
readonly concurrency?: number | "unbounded" | undefined
|
|
239
240
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
240
241
|
readonly disableFatalDefects?: boolean | undefined
|
|
@@ -283,7 +284,7 @@ const Proto = {
|
|
|
283
284
|
RX
|
|
284
285
|
>,
|
|
285
286
|
options?: {
|
|
286
|
-
readonly maxIdleTime?:
|
|
287
|
+
readonly maxIdleTime?: Duration.Input | undefined
|
|
287
288
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
288
289
|
readonly disableFatalDefects?: boolean | undefined
|
|
289
290
|
readonly defectRetryPolicy?: Schedule.Schedule<any, unknown> | undefined
|
|
@@ -642,6 +643,6 @@ export const KeepAliveRpc = Rpc.make("Cluster/Entity/keepAlive")
|
|
|
642
643
|
* @since 4.0.0
|
|
643
644
|
* @category Keep alive
|
|
644
645
|
*/
|
|
645
|
-
export class KeepAliveLatch extends ServiceMap.Service<KeepAliveLatch,
|
|
646
|
+
export class KeepAliveLatch extends ServiceMap.Service<KeepAliveLatch, Latch.Latch>()(
|
|
646
647
|
"effect/cluster/Entity/KeepAliveLatch"
|
|
647
648
|
) {}
|
|
@@ -62,14 +62,14 @@ export class CloseScope extends ServiceMap.Service<
|
|
|
62
62
|
*/
|
|
63
63
|
export const make: <A, E, R>(options: {
|
|
64
64
|
readonly acquire: Effect.Effect<A, E, R>
|
|
65
|
-
readonly idleTimeToLive?: Duration.
|
|
65
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
66
66
|
}) => Effect.Effect<
|
|
67
67
|
EntityResource<A, E>,
|
|
68
68
|
E,
|
|
69
69
|
Scope.Scope | Exclude<R, CloseScope> | Sharding | Entity.CurrentAddress
|
|
70
70
|
> = Effect.fnUntraced(function*<A, E, R>(options: {
|
|
71
71
|
readonly acquire: Effect.Effect<A, E, R>
|
|
72
|
-
readonly idleTimeToLive?: Duration.
|
|
72
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
73
73
|
}) {
|
|
74
74
|
let shuttingDown = false
|
|
75
75
|
|
|
@@ -116,14 +116,14 @@ export const make: <A, E, R>(options: {
|
|
|
116
116
|
export const makeK8sPod: (
|
|
117
117
|
spec: v1.Pod,
|
|
118
118
|
options?: {
|
|
119
|
-
readonly idleTimeToLive?: Duration.
|
|
119
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
120
120
|
} | undefined
|
|
121
121
|
) => Effect.Effect<
|
|
122
122
|
EntityResource<K8sHttpClient.PodStatus>,
|
|
123
123
|
never,
|
|
124
124
|
Scope.Scope | Sharding | Entity.CurrentAddress | K8sHttpClient.K8sHttpClient
|
|
125
125
|
> = Effect.fnUntraced(function*(spec: v1.Pod, options?: {
|
|
126
|
-
readonly idleTimeToLive?: Duration.
|
|
126
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
127
127
|
}) {
|
|
128
128
|
const createPod = yield* K8sHttpClient.makeCreatePod
|
|
129
129
|
return yield* make({
|
|
@@ -218,7 +218,7 @@ export const PartialJson: Schema.Codec<
|
|
|
218
218
|
* @category schemas
|
|
219
219
|
*/
|
|
220
220
|
export const PartialArray: Schema.mutable<
|
|
221
|
-
Schema
|
|
221
|
+
Schema.$Array<Schema.Codec<AckChunk | Interrupt | PartialRequest, Encoded>>
|
|
222
222
|
> = Schema.mutable(Schema.Array(PartialJson))
|
|
223
223
|
|
|
224
224
|
/**
|
|
@@ -121,7 +121,7 @@ export const makeCreatePod = Effect.gen(function*() {
|
|
|
121
121
|
while: (e) => e._tag === "SchemaError",
|
|
122
122
|
schedule: Schedule.spaced("1 seconds")
|
|
123
123
|
}),
|
|
124
|
-
Effect.
|
|
124
|
+
Effect.catchFilter(
|
|
125
125
|
(err) =>
|
|
126
126
|
HttpClientError.isHttpClientError(err) && err.reason._tag === "StatusCodeError" &&
|
|
127
127
|
err.reason.response.status === 404
|
|
@@ -133,7 +133,7 @@ export const makeCreatePod = Effect.gen(function*() {
|
|
|
133
133
|
)
|
|
134
134
|
const isPodFound = readPodRaw.pipe(
|
|
135
135
|
Effect.as(true),
|
|
136
|
-
Effect.
|
|
136
|
+
Effect.catchFilter(
|
|
137
137
|
(err) =>
|
|
138
138
|
HttpClientError.isHttpClientError(err) && err.reason._tag === "StatusCodeError" &&
|
|
139
139
|
err.reason.response.status === 404
|
|
@@ -145,7 +145,7 @@ export const makeCreatePod = Effect.gen(function*() {
|
|
|
145
145
|
const createPod = HttpClientRequest.post(`/v1/namespaces/${namespace}/pods`).pipe(
|
|
146
146
|
HttpClientRequest.bodyJsonUnsafe(spec),
|
|
147
147
|
client.execute,
|
|
148
|
-
Effect.
|
|
148
|
+
Effect.catchFilter(
|
|
149
149
|
(err) =>
|
|
150
150
|
HttpClientError.isHttpClientError(err) && err.reason._tag === "StatusCodeError" &&
|
|
151
151
|
err.reason.response.status === 409
|
|
@@ -156,10 +156,10 @@ export const makeCreatePod = Effect.gen(function*() {
|
|
|
156
156
|
Effect.tapCause(Effect.logInfo),
|
|
157
157
|
Effect.orDie
|
|
158
158
|
)
|
|
159
|
-
const deletePod = HttpClientRequest.
|
|
159
|
+
const deletePod = HttpClientRequest.delete(`/v1/namespaces/${namespace}/pods/${name}`).pipe(
|
|
160
160
|
client.execute,
|
|
161
161
|
Effect.flatMap((res) => res.json),
|
|
162
|
-
Effect.
|
|
162
|
+
Effect.catchFilter(
|
|
163
163
|
(err) =>
|
|
164
164
|
HttpClientError.isHttpClientError(err) && err.reason._tag === "StatusCodeError" &&
|
|
165
165
|
err.reason.response.status === 404
|
|
@@ -6,6 +6,7 @@ import { Clock } from "../../Clock.ts"
|
|
|
6
6
|
import * as Data from "../../Data.ts"
|
|
7
7
|
import * as Effect from "../../Effect.ts"
|
|
8
8
|
import * as Exit from "../../Exit.ts"
|
|
9
|
+
import * as Latch from "../../Latch.ts"
|
|
9
10
|
import * as Layer from "../../Layer.ts"
|
|
10
11
|
import type * as Option from "../../Option.ts"
|
|
11
12
|
import type { Predicate } from "../../Predicate.ts"
|
|
@@ -718,7 +719,7 @@ export class MemoryDriver extends ServiceMap.Service<MemoryDriver>()("effect/clu
|
|
|
718
719
|
return messages
|
|
719
720
|
}
|
|
720
721
|
|
|
721
|
-
const replyLatch = yield*
|
|
722
|
+
const replyLatch = yield* Latch.make()
|
|
722
723
|
|
|
723
724
|
function repliesFor(requestIds: Array<string>) {
|
|
724
725
|
const replies = Arr.empty<Reply.Encoded>()
|
|
@@ -904,10 +905,7 @@ export const layerMemory: Layer.Layer<
|
|
|
904
905
|
|
|
905
906
|
const EnvelopeWithReply: Schema.Struct<
|
|
906
907
|
{
|
|
907
|
-
readonly envelope: Schema.
|
|
908
|
-
Envelope.PartialRequest | Envelope.AckChunk | Envelope.Interrupt,
|
|
909
|
-
unknown
|
|
910
|
-
>
|
|
908
|
+
readonly envelope: Schema.Decoder<Envelope.PartialRequest | Envelope.AckChunk | Envelope.Interrupt>
|
|
911
909
|
readonly lastSentReply: Schema.UndefinedOr<Schema.Codec<Reply.Encoded>>
|
|
912
910
|
}
|
|
913
911
|
> = Schema.Struct({
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Effect from "../../Effect.ts"
|
|
5
5
|
import * as Exit from "../../Exit.ts"
|
|
6
|
+
import * as Latch from "../../Latch.ts"
|
|
6
7
|
import * as Layer from "../../Layer.ts"
|
|
7
8
|
import * as Queue from "../../Queue.ts"
|
|
8
9
|
import * as RcMap from "../../RcMap.ts"
|
|
@@ -192,8 +193,8 @@ export const make: (options: Omit<Runners["Service"], "sendLocal" | "notifyLocal
|
|
|
192
193
|
}
|
|
193
194
|
|
|
194
195
|
type StorageRequestEntry = {
|
|
195
|
-
readonly latch:
|
|
196
|
-
doneLatch:
|
|
196
|
+
readonly latch: Latch.Latch
|
|
197
|
+
doneLatch: Latch.Latch | undefined
|
|
197
198
|
readonly messages: Set<Message.OutgoingRequest<any>>
|
|
198
199
|
replies: Array<Reply.Reply<any>>
|
|
199
200
|
}
|
|
@@ -204,11 +205,11 @@ export const make: (options: Omit<Runners["Service"], "sendLocal" | "notifyLocal
|
|
|
204
205
|
let entry = storageRequests.get(message.envelope.requestId)
|
|
205
206
|
if (entry) {
|
|
206
207
|
entry.messages.add(message)
|
|
207
|
-
entry.doneLatch ??=
|
|
208
|
+
entry.doneLatch ??= Latch.makeUnsafe(false)
|
|
208
209
|
return yield* entry.doneLatch.await
|
|
209
210
|
} else {
|
|
210
211
|
entry = {
|
|
211
|
-
latch:
|
|
212
|
+
latch: Latch.makeUnsafe(false),
|
|
212
213
|
doneLatch: undefined,
|
|
213
214
|
replies: [],
|
|
214
215
|
messages: new Set([message])
|
|
@@ -260,7 +261,7 @@ export const make: (options: Omit<Runners["Service"], "sendLocal" | "notifyLocal
|
|
|
260
261
|
)
|
|
261
262
|
)
|
|
262
263
|
|
|
263
|
-
const storageLatch =
|
|
264
|
+
const storageLatch = Latch.makeUnsafe(false)
|
|
264
265
|
if (storage !== MessageStorage.noop) {
|
|
265
266
|
yield* Effect.gen(function*() {
|
|
266
267
|
const foundRequests = new Set<StorageRequestEntry>()
|
|
@@ -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
|