effect 4.0.0-beta.2 → 4.0.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts +127 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +6 -5
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +116 -30
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +82 -37
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +54 -247
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +36 -67
- package/dist/Chunk.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +165 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +62 -7
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Data.d.ts +534 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +829 -692
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +263 -251
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +376 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +246 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Fiber.d.ts +2 -2
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +30 -34
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -13
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +5 -8
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +15 -14
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +4 -4
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +40 -39
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +94 -22
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +9 -9
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +1 -1
- package/dist/ManagedRuntime.js +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +22 -15
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +14 -7
- package/dist/Option.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +35 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Record.d.ts +24 -120
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +21 -41
- package/dist/Record.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +3 -3
- package/dist/References.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +47 -20
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +94 -34
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +266 -50
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +426 -74
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +7 -6
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +5 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +10 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +43 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +107 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +159 -4
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/ServiceMap.d.ts +39 -30
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +3 -3
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +53 -6
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +235 -423
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +124 -77
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Trie.d.ts +18 -17
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -5
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +37 -37
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +3 -3
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +196 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +84 -83
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +24 -24
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +35 -35
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +14 -14
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +415 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +32 -32
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +26 -26
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +523 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +504 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +34 -34
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +21 -14
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +8 -8
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +7 -7
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +84 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +591 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +591 -20
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +263 -99
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +5 -4
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/request.js +2 -2
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/trie.js +5 -4
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/TestClock.d.ts +7 -6
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +8 -8
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +128 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +11 -12
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +4 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +86 -14
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +163 -87
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +49 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +35 -7
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +25 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +22 -6
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +19 -3
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -9
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +276 -19
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +234 -36
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +70 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/index.d.ts +4 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +4 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +17 -8
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +32 -23
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +107 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +29 -36
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +7 -6
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +4 -4
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +9 -7
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +20 -20
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +27 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +37 -13
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +4 -4
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +15 -3
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +3 -8
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +42 -56
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +8 -17
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +20 -33
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +37 -44
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +3 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +23 -12
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +3 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +31 -44
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +29 -9
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +32 -21
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +21 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +10 -10
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +16 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -7
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +4 -4
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +3 -3
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +14 -0
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +34 -9
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +0 -7
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +15 -15
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +3 -3
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -3
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +6 -5
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +14 -14
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +9 -3
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +3 -3
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +137 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +190 -342
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +183 -21
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +991 -800
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/Fiber.ts +9 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -58
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +105 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +11 -15
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +1 -1
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Option.ts +30 -20
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +0 -1
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +43 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +4 -4
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +318 -160
- package/src/Schema.ts +661 -116
- package/src/SchemaAST.ts +7 -6
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +47 -38
- package/src/Sink.ts +78 -26
- package/src/Stream.ts +566 -601
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Trie.ts +18 -17
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +332 -285
- package/src/TxHashSet.ts +111 -116
- package/src/TxPriorityQueue.ts +767 -0
- package/src/TxPubSub.ts +789 -0
- package/src/TxQueue.ts +241 -251
- package/src/TxReentrantLock.ts +753 -0
- package/src/TxRef.ts +50 -38
- package/src/TxSemaphore.ts +29 -32
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +78 -2
- package/src/index.ts +600 -21
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +744 -265
- package/src/internal/hashMap.ts +9 -7
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/trie.ts +16 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +10 -10
- package/src/unstable/ai/AiError.ts +97 -44
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +129 -25
- package/src/unstable/ai/McpSchema.ts +59 -13
- package/src/unstable/ai/McpServer.ts +48 -9
- package/src/unstable/ai/Model.ts +40 -9
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/Tool.ts +19 -13
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +501 -60
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +50 -34
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/help.ts +146 -0
- package/src/unstable/cli/internal/parser.ts +33 -54
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
- package/src/unstable/cluster/Entity.ts +11 -10
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +5 -5
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +12 -10
- package/src/unstable/cluster/ShardingConfig.ts +30 -31
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/Headers.ts +28 -13
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +58 -23
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +46 -68
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +9 -24
- package/src/unstable/http/HttpServerError.ts +42 -45
- package/src/unstable/http/HttpServerRequest.ts +1 -1
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +4 -2
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +5 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
- package/src/unstable/httpapi/HttpApiClient.ts +14 -6
- package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiGroup.ts +6 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +41 -23
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +75 -14
- package/src/unstable/reactivity/Atom.ts +27 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
- package/src/unstable/reactivity/AtomRegistry.ts +31 -7
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +6 -6
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +21 -30
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +6 -6
- package/src/unstable/socket/Socket.ts +16 -17
- package/src/unstable/sql/SqlClient.ts +1 -1
- package/src/unstable/sql/SqlError.ts +11 -9
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/Workflow.ts +6 -2
- package/src/unstable/workflow/WorkflowEngine.ts +185 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
|
@@ -28,13 +28,13 @@ export const layer = (options: {
|
|
|
28
28
|
readonly headers?: Headers.Input | undefined
|
|
29
29
|
readonly maxBatchSize?: number | undefined
|
|
30
30
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
31
|
-
readonly loggerExportInterval?: Duration.
|
|
31
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
32
32
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
33
33
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
34
|
-
readonly metricsExportInterval?: Duration.
|
|
34
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
35
35
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
36
|
-
readonly tracerExportInterval?: Duration.
|
|
37
|
-
readonly shutdownTimeout?: Duration.
|
|
36
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
37
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
38
38
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization.OtlpSerialization> => {
|
|
39
39
|
const base = HttpClientRequest.get(options.baseUrl)
|
|
40
40
|
const url = (path: string) => HttpClientRequest.appendUrl(base, path).url
|
|
@@ -83,13 +83,13 @@ export const layerJson: (options: {
|
|
|
83
83
|
readonly headers?: Headers.Input | undefined
|
|
84
84
|
readonly maxBatchSize?: number | undefined
|
|
85
85
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
86
|
-
readonly loggerExportInterval?: Duration.
|
|
86
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
87
87
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
88
88
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
89
|
-
readonly metricsExportInterval?: Duration.
|
|
89
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
90
90
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
91
|
-
readonly tracerExportInterval?: Duration.
|
|
92
|
-
readonly shutdownTimeout?: Duration.
|
|
91
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
92
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
93
93
|
}) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerJson))
|
|
94
94
|
|
|
95
95
|
/**
|
|
@@ -106,11 +106,11 @@ export const layerProtobuf: (options: {
|
|
|
106
106
|
readonly headers?: Headers.Input | undefined
|
|
107
107
|
readonly maxBatchSize?: number | undefined
|
|
108
108
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
109
|
-
readonly loggerExportInterval?: Duration.
|
|
109
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
110
110
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
111
111
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
112
|
-
readonly metricsExportInterval?: Duration.
|
|
112
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
113
113
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
114
|
-
readonly tracerExportInterval?: Duration.
|
|
115
|
-
readonly shutdownTimeout?: Duration.
|
|
114
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
115
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
116
116
|
}) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerProtobuf))
|
|
@@ -40,10 +40,10 @@ export const make: (
|
|
|
40
40
|
readonly url: string
|
|
41
41
|
readonly headers: Headers.Input | undefined
|
|
42
42
|
readonly label: string
|
|
43
|
-
readonly exportInterval: Duration.
|
|
43
|
+
readonly exportInterval: Duration.Input
|
|
44
44
|
readonly maxBatchSize: number | "disabled"
|
|
45
45
|
readonly body: (data: Array<any>) => HttpBody
|
|
46
|
-
readonly shutdownTimeout: Duration.
|
|
46
|
+
readonly shutdownTimeout: Duration.Input
|
|
47
47
|
}
|
|
48
48
|
) => Effect.Effect<
|
|
49
49
|
{ readonly push: (data: unknown) => void },
|
|
@@ -54,7 +54,7 @@ export const make: (
|
|
|
54
54
|
const clock = ServiceMap.get(services, Clock)
|
|
55
55
|
const scope = ServiceMap.get(services, Scope.Scope)
|
|
56
56
|
const runFork = Effect.runForkWith(services)
|
|
57
|
-
const exportInterval = Duration.max(Duration.
|
|
57
|
+
const exportInterval = Duration.max(Duration.fromInputUnsafe(options.exportInterval), Duration.zero)
|
|
58
58
|
let disabledUntil: number | undefined = undefined
|
|
59
59
|
|
|
60
60
|
const client = HttpClient.filterStatusOk(ServiceMap.get(services, HttpClient.HttpClient)).pipe(
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import * as Cause from "../../Cause.ts"
|
|
6
|
+
import { Clock } from "../../Clock.ts"
|
|
6
7
|
import * as Duration from "../../Duration.ts"
|
|
7
8
|
import * as Effect from "../../Effect.ts"
|
|
8
9
|
import type * as Layer from "../../Layer.ts"
|
|
@@ -30,9 +31,9 @@ export const make: (
|
|
|
30
31
|
readonly attributes?: Record<string, unknown>
|
|
31
32
|
} | undefined
|
|
32
33
|
readonly headers?: Headers.Input | undefined
|
|
33
|
-
readonly exportInterval?: Duration.
|
|
34
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
34
35
|
readonly maxBatchSize?: number | undefined
|
|
35
|
-
readonly shutdownTimeout?: Duration.
|
|
36
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
36
37
|
readonly excludeLogSpans?: boolean | undefined
|
|
37
38
|
}
|
|
38
39
|
) => Effect.Effect<
|
|
@@ -66,7 +67,8 @@ export const make: (
|
|
|
66
67
|
})
|
|
67
68
|
|
|
68
69
|
const opts = {
|
|
69
|
-
excludeLogSpans: options.excludeLogSpans ?? false
|
|
70
|
+
excludeLogSpans: options.excludeLogSpans ?? false,
|
|
71
|
+
clock: yield* Clock
|
|
70
72
|
}
|
|
71
73
|
return Logger.make((options) => {
|
|
72
74
|
exporter.push(makeLogRecord(options, opts))
|
|
@@ -85,9 +87,9 @@ export const layer = (options: {
|
|
|
85
87
|
readonly attributes?: Record<string, unknown>
|
|
86
88
|
} | undefined
|
|
87
89
|
readonly headers?: Headers.Input | undefined
|
|
88
|
-
readonly exportInterval?: Duration.
|
|
90
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
89
91
|
readonly maxBatchSize?: number | undefined
|
|
90
|
-
readonly shutdownTimeout?: Duration.
|
|
92
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
91
93
|
readonly excludeLogSpans?: boolean | undefined
|
|
92
94
|
readonly mergeWithExisting?: boolean | undefined
|
|
93
95
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> =>
|
|
@@ -104,11 +106,13 @@ export interface LogsData {
|
|
|
104
106
|
|
|
105
107
|
// internal
|
|
106
108
|
|
|
107
|
-
const makeLogRecord = (options: Logger.
|
|
109
|
+
const makeLogRecord = (options: Logger.Options<unknown>, opts: {
|
|
108
110
|
readonly excludeLogSpans: boolean
|
|
111
|
+
readonly clock: Clock
|
|
109
112
|
}): ILogRecord => {
|
|
110
|
-
const now =
|
|
111
|
-
const nanosString =
|
|
113
|
+
const now = opts.clock.currentTimeNanosUnsafe()
|
|
114
|
+
const nanosString = now.toString()
|
|
115
|
+
const nowMillis = options.date.getTime()
|
|
112
116
|
|
|
113
117
|
const attributes = OtlpResource.entriesToAttributes(Object.entries(options.fiber.getRef(CurrentLogAnnotations)))
|
|
114
118
|
attributes.push({
|
|
@@ -119,7 +123,7 @@ const makeLogRecord = (options: Logger.Logger.Options<unknown>, opts: {
|
|
|
119
123
|
for (const [label, startTime] of options.fiber.getRef(CurrentLogSpans)) {
|
|
120
124
|
attributes.push({
|
|
121
125
|
key: `logSpan.${label}`,
|
|
122
|
-
value: { stringValue: `${
|
|
126
|
+
value: { stringValue: `${nowMillis - startTime}ms` }
|
|
123
127
|
})
|
|
124
128
|
}
|
|
125
129
|
}
|
|
@@ -60,8 +60,8 @@ export const make: (options: {
|
|
|
60
60
|
readonly attributes?: Record<string, unknown>
|
|
61
61
|
} | undefined
|
|
62
62
|
readonly headers?: Headers.Input | undefined
|
|
63
|
-
readonly exportInterval?: Duration.
|
|
64
|
-
readonly shutdownTimeout?: Duration.
|
|
63
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
64
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
65
65
|
readonly temporality?: AggregationTemporality | undefined
|
|
66
66
|
}) => Effect.Effect<
|
|
67
67
|
void,
|
|
@@ -440,8 +440,8 @@ export const layer = (options: {
|
|
|
440
440
|
readonly attributes?: Record<string, unknown>
|
|
441
441
|
} | undefined
|
|
442
442
|
readonly headers?: Headers.Input | undefined
|
|
443
|
-
readonly exportInterval?: Duration.
|
|
444
|
-
readonly shutdownTimeout?: Duration.
|
|
443
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
444
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
445
445
|
readonly temporality?: AggregationTemporality | undefined
|
|
446
446
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> => Layer.effectDiscard(make(options))
|
|
447
447
|
|
|
@@ -32,10 +32,10 @@ export const make: (
|
|
|
32
32
|
readonly attributes?: Record<string, unknown>
|
|
33
33
|
} | undefined
|
|
34
34
|
readonly headers?: Headers.Input | undefined
|
|
35
|
-
readonly exportInterval?: Duration.
|
|
35
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
36
36
|
readonly maxBatchSize?: number | undefined
|
|
37
37
|
readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
38
|
-
readonly shutdownTimeout?: Duration.
|
|
38
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
39
39
|
}
|
|
40
40
|
) => Effect.Effect<
|
|
41
41
|
Tracer.Tracer,
|
|
@@ -109,10 +109,10 @@ export const layer: (options: {
|
|
|
109
109
|
readonly attributes?: Record<string, unknown>
|
|
110
110
|
} | undefined
|
|
111
111
|
readonly headers?: Headers.Input | undefined
|
|
112
|
-
readonly exportInterval?: Duration.
|
|
112
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
113
113
|
readonly maxBatchSize?: number | undefined
|
|
114
114
|
readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
115
|
-
readonly shutdownTimeout?: Duration.
|
|
115
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
116
116
|
}) => Layer.Layer<never, never, OtlpSerialization | HttpClient.HttpClient> = flow(make, Layer.effect(Tracer.Tracer))
|
|
117
117
|
|
|
118
118
|
// internal
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Data from "../../Data.ts"
|
|
5
5
|
import * as Effect from "../../Effect.ts"
|
|
6
|
-
import * as
|
|
6
|
+
import * as Encoding from "../../Encoding.ts"
|
|
7
7
|
import * as FileSystem from "../../FileSystem.ts"
|
|
8
8
|
import { dual, identity, type LazyArg } from "../../Function.ts"
|
|
9
9
|
import * as Layer from "../../Layer.ts"
|
|
@@ -225,7 +225,7 @@ export const makeStringOnly = (
|
|
|
225
225
|
getUint8Array: (key) =>
|
|
226
226
|
options.get(key).pipe(
|
|
227
227
|
Effect.map(UndefinedOr.map((value) =>
|
|
228
|
-
Result.match(
|
|
228
|
+
Result.match(Encoding.decodeBase64(value), {
|
|
229
229
|
onFailure: () => encoder.encode(value),
|
|
230
230
|
onSuccess: identity
|
|
231
231
|
})
|
|
@@ -234,7 +234,7 @@ export const makeStringOnly = (
|
|
|
234
234
|
set: (key, value) =>
|
|
235
235
|
typeof value === "string"
|
|
236
236
|
? options.set(key, value)
|
|
237
|
-
: Effect.suspend(() => options.set(key,
|
|
237
|
+
: Effect.suspend(() => options.set(key, Encoding.encodeBase64(value)))
|
|
238
238
|
})
|
|
239
239
|
}
|
|
240
240
|
|
|
@@ -276,7 +276,7 @@ export const layerMemory: Layer.Layer<KeyValueStore> = Layer.sync(KeyValueStore)
|
|
|
276
276
|
get: (key: string) =>
|
|
277
277
|
Effect.sync(() => {
|
|
278
278
|
const value = store.get(key)
|
|
279
|
-
return value === undefined ? undefined : typeof value === "string" ? value :
|
|
279
|
+
return value === undefined ? undefined : typeof value === "string" ? value : Encoding.encodeBase64(value)
|
|
280
280
|
}),
|
|
281
281
|
getUint8Array: (key: string) =>
|
|
282
282
|
Effect.sync(() => {
|
|
@@ -312,7 +312,7 @@ export const layerFileSystem = (
|
|
|
312
312
|
fs.readFileString(keyPath(key)),
|
|
313
313
|
"PlatformError",
|
|
314
314
|
(cause) =>
|
|
315
|
-
cause.reason._tag === "
|
|
315
|
+
cause.reason._tag === "NotFound" ? Effect.undefined : Effect.fail(
|
|
316
316
|
new KeyValueStoreError({
|
|
317
317
|
method: "get",
|
|
318
318
|
key,
|
|
@@ -326,7 +326,7 @@ export const layerFileSystem = (
|
|
|
326
326
|
fs.readFile(keyPath(key)),
|
|
327
327
|
"PlatformError",
|
|
328
328
|
(cause) =>
|
|
329
|
-
cause.reason._tag === "
|
|
329
|
+
cause.reason._tag === "NotFound" ? Effect.undefined : Effect.fail(
|
|
330
330
|
new KeyValueStoreError({
|
|
331
331
|
method: "getUint8Array",
|
|
332
332
|
key,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
-
import type
|
|
4
|
+
import type * as Duration from "../../Duration.ts"
|
|
5
5
|
import type * as Effect from "../../Effect.ts"
|
|
6
6
|
import type * as Exit from "../../Exit.ts"
|
|
7
7
|
import * as PrimaryKey from "../../PrimaryKey.ts"
|
|
@@ -87,7 +87,7 @@ export type Services<A extends Any> =
|
|
|
87
87
|
* @since 4.0.0
|
|
88
88
|
* @category Models
|
|
89
89
|
*/
|
|
90
|
-
export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) =>
|
|
90
|
+
export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) => Duration.Input
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
93
|
* @since 4.0.0
|
|
@@ -17,18 +17,18 @@ const TypeId = "~effect/persistence/PersistedCache" as const
|
|
|
17
17
|
* @since 4.0.0
|
|
18
18
|
* @category Models
|
|
19
19
|
*/
|
|
20
|
-
export interface PersistedCache<K extends Persistable.Any> {
|
|
20
|
+
export interface PersistedCache<K extends Persistable.Any, out R = never> {
|
|
21
21
|
readonly [TypeId]: typeof TypeId
|
|
22
22
|
readonly inMemory: Cache.Cache<
|
|
23
23
|
K,
|
|
24
24
|
Persistable.Success<K>,
|
|
25
25
|
Persistable.Error<K> | Persistence.PersistenceError | Schema.SchemaError,
|
|
26
|
-
Persistable.Services<K>
|
|
26
|
+
Persistable.Services<K> | R
|
|
27
27
|
>
|
|
28
28
|
readonly get: (key: K) => Effect.Effect<
|
|
29
29
|
Persistable.Success<K>,
|
|
30
30
|
Persistable.Error<K> | Persistence.PersistenceError | Schema.SchemaError,
|
|
31
|
-
Persistable.Services<K>
|
|
31
|
+
Persistable.Services<K> | R
|
|
32
32
|
>
|
|
33
33
|
readonly invalidate: (key: K) => Effect.Effect<void, Persistence.PersistenceError>
|
|
34
34
|
}
|
|
@@ -37,22 +37,32 @@ export interface PersistedCache<K extends Persistable.Any> {
|
|
|
37
37
|
* @since 4.0.0
|
|
38
38
|
* @category Constructors
|
|
39
39
|
*/
|
|
40
|
-
export const make: <
|
|
40
|
+
export const make: <
|
|
41
|
+
K extends Persistable.Any,
|
|
42
|
+
R = never,
|
|
43
|
+
ServiceMode extends "lookup" | "construction" = never
|
|
44
|
+
>(options: {
|
|
41
45
|
readonly storeId: string
|
|
42
46
|
readonly lookup: (key: K) => Effect.Effect<Persistable.Success<K>, Persistable.Error<K>, R>
|
|
43
47
|
readonly timeToLive: Persistable.TimeToLiveFn<K>
|
|
44
48
|
readonly inMemoryCapacity?: number | undefined
|
|
45
49
|
readonly inMemoryTTL?: Persistable.TimeToLiveFn<K> | undefined
|
|
50
|
+
readonly requireServicesAt?: ServiceMode | undefined
|
|
46
51
|
}) => Effect.Effect<
|
|
47
|
-
PersistedCache<K>,
|
|
52
|
+
PersistedCache<K, "lookup" extends ServiceMode ? R : never>,
|
|
48
53
|
never,
|
|
49
|
-
R | Persistence.Persistence | Scope.Scope
|
|
50
|
-
> = Effect.fnUntraced(function*<
|
|
54
|
+
("lookup" extends ServiceMode ? never : R) | Persistence.Persistence | Scope.Scope
|
|
55
|
+
> = Effect.fnUntraced(function*<
|
|
56
|
+
K extends Persistable.Any,
|
|
57
|
+
R = never,
|
|
58
|
+
ServiceMode extends "lookup" | "construction" = never
|
|
59
|
+
>(options: {
|
|
51
60
|
readonly storeId: string
|
|
52
61
|
readonly lookup: (key: K) => Effect.Effect<Persistable.Success<K>, Persistable.Error<K>, R>
|
|
53
62
|
readonly timeToLive: Persistable.TimeToLiveFn<K>
|
|
54
63
|
readonly inMemoryCapacity?: number | undefined
|
|
55
64
|
readonly inMemoryTTL?: Persistable.TimeToLiveFn<K> | undefined
|
|
65
|
+
readonly requireServicesAt?: ServiceMode | undefined
|
|
56
66
|
}) {
|
|
57
67
|
const store = yield* (yield* Persistence.Persistence).make({
|
|
58
68
|
storeId: options.storeId,
|
|
@@ -69,9 +79,10 @@ export const make: <K extends Persistable.Any, R>(options: {
|
|
|
69
79
|
return yield* result
|
|
70
80
|
}),
|
|
71
81
|
timeToLive: options.inMemoryTTL ?? constant(Duration.seconds(10)),
|
|
72
|
-
capacity: options.inMemoryCapacity ?? 1024
|
|
82
|
+
capacity: options.inMemoryCapacity ?? 1024,
|
|
83
|
+
requireServicesAt: options.requireServicesAt
|
|
73
84
|
})
|
|
74
|
-
return identity<PersistedCache<K>>({
|
|
85
|
+
return identity<PersistedCache<K, "lookup" extends ServiceMode ? R : never>>({
|
|
75
86
|
[TypeId]: TypeId,
|
|
76
87
|
inMemory,
|
|
77
88
|
get: (key) => Cache.get(inMemory, key),
|
|
@@ -9,6 +9,7 @@ import * as Effect from "../../Effect.ts"
|
|
|
9
9
|
import * as Exit from "../../Exit.ts"
|
|
10
10
|
import { flow } from "../../Function.ts"
|
|
11
11
|
import * as Iterable from "../../Iterable.ts"
|
|
12
|
+
import * as Latch from "../../Latch.ts"
|
|
12
13
|
import * as Layer from "../../Layer.ts"
|
|
13
14
|
import * as MutableRef from "../../MutableRef.ts"
|
|
14
15
|
import * as Queue from "../../Queue.ts"
|
|
@@ -235,14 +236,14 @@ export const layerStoreMemory: Layer.Layer<
|
|
|
235
236
|
}
|
|
236
237
|
const ids = new Set<string>()
|
|
237
238
|
const queues = new Map<string, {
|
|
238
|
-
latch:
|
|
239
|
+
latch: Latch.Latch
|
|
239
240
|
items: Set<Entry>
|
|
240
241
|
}>()
|
|
241
242
|
const getOrCreateQueue = (name: string) => {
|
|
242
243
|
let queue = queues.get(name)
|
|
243
244
|
if (!queue) {
|
|
244
245
|
queue = {
|
|
245
|
-
latch:
|
|
246
|
+
latch: Latch.makeUnsafe(false),
|
|
246
247
|
items: new Set()
|
|
247
248
|
}
|
|
248
249
|
queues.set(name, queue)
|
|
@@ -294,26 +295,26 @@ export const layerStoreMemory: Layer.Layer<
|
|
|
294
295
|
export const makeStoreRedis = Effect.fnUntraced(function*(
|
|
295
296
|
options?: {
|
|
296
297
|
readonly prefix?: string | undefined
|
|
297
|
-
readonly pollInterval?: Duration.
|
|
298
|
-
readonly lockRefreshInterval?: Duration.
|
|
299
|
-
readonly lockExpiration?: Duration.
|
|
298
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
299
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
300
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
300
301
|
}
|
|
301
302
|
) {
|
|
302
303
|
const redis = yield* Redis.Redis
|
|
303
304
|
|
|
304
305
|
const pollInterval = Duration.max(
|
|
305
|
-
options?.pollInterval ? Duration.
|
|
306
|
+
options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.seconds(1),
|
|
306
307
|
Duration.millis(1)
|
|
307
308
|
)
|
|
308
309
|
const lockRefreshMillis = Math.max(
|
|
309
310
|
options?.lockRefreshInterval
|
|
310
|
-
? Duration.toMillis(Duration.
|
|
311
|
+
? Duration.toMillis(Duration.fromInputUnsafe(options.lockRefreshInterval))
|
|
311
312
|
: 30_000,
|
|
312
313
|
1
|
|
313
314
|
)
|
|
314
315
|
const lockExpirationMillis = Math.max(
|
|
315
316
|
options?.lockExpiration
|
|
316
|
-
? Duration.toMillis(Duration.
|
|
317
|
+
? Duration.toMillis(Duration.fromInputUnsafe(options.lockExpiration))
|
|
317
318
|
: 90_000,
|
|
318
319
|
1
|
|
319
320
|
)
|
|
@@ -345,8 +346,8 @@ export const makeStoreRedis = Effect.fnUntraced(function*(
|
|
|
345
346
|
const pendingKey = keyPending(name)
|
|
346
347
|
const queue = yield* Queue.make<Element>()
|
|
347
348
|
const takers = MutableRef.make(0)
|
|
348
|
-
const pollLatch =
|
|
349
|
-
const takenLatch =
|
|
349
|
+
const pollLatch = Latch.makeUnsafe()
|
|
350
|
+
const takenLatch = Latch.makeUnsafe()
|
|
350
351
|
|
|
351
352
|
yield* Effect.addFinalizer(() =>
|
|
352
353
|
Effect.orDie(
|
|
@@ -653,9 +654,9 @@ end
|
|
|
653
654
|
export const layerStoreRedis: (
|
|
654
655
|
options?: {
|
|
655
656
|
readonly prefix?: string | undefined
|
|
656
|
-
readonly pollInterval?: Duration.
|
|
657
|
-
readonly lockRefreshInterval?: Duration.
|
|
658
|
-
readonly lockExpiration?: Duration.
|
|
657
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
658
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
659
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
659
660
|
} | undefined
|
|
660
661
|
) => Layer.Layer<
|
|
661
662
|
PersistedQueueStore,
|
|
@@ -670,9 +671,9 @@ export const layerStoreRedis: (
|
|
|
670
671
|
export const makeStoreSql: (
|
|
671
672
|
options?: {
|
|
672
673
|
readonly tableName?: string | undefined
|
|
673
|
-
readonly pollInterval?: Duration.
|
|
674
|
-
readonly lockRefreshInterval?: Duration.
|
|
675
|
-
readonly lockExpiration?: Duration.
|
|
674
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
675
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
676
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
676
677
|
} | undefined
|
|
677
678
|
) => Effect.Effect<
|
|
678
679
|
PersistedQueueStore["Service"],
|
|
@@ -683,15 +684,15 @@ export const makeStoreSql: (
|
|
|
683
684
|
const tableName = options?.tableName ?? "effect_queue"
|
|
684
685
|
const tableNameSql = sql(tableName)
|
|
685
686
|
const pollInterval = Duration.max(
|
|
686
|
-
options?.pollInterval ? Duration.
|
|
687
|
+
options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.millis(1000),
|
|
687
688
|
Duration.millis(1)
|
|
688
689
|
)
|
|
689
690
|
const lockRefreshInterval = Duration.max(
|
|
690
|
-
options?.lockRefreshInterval ? Duration.
|
|
691
|
+
options?.lockRefreshInterval ? Duration.fromInputUnsafe(options.lockRefreshInterval) : Duration.seconds(30),
|
|
691
692
|
Duration.millis(1)
|
|
692
693
|
)
|
|
693
694
|
const lockExpiration = Duration.max(
|
|
694
|
-
options?.lockExpiration ? Duration.
|
|
695
|
+
options?.lockExpiration ? Duration.fromInputUnsafe(options.lockExpiration) : Duration.minutes(2),
|
|
695
696
|
Duration.millis(1)
|
|
696
697
|
)
|
|
697
698
|
const lockExpirationSql = sql.literal(Math.ceil(Duration.toSeconds(lockExpiration)).toString())
|
|
@@ -930,8 +931,8 @@ export const makeStoreSql: (
|
|
|
930
931
|
lookup: Effect.fnUntraced(function*({ maxAttempts, name }: QueueKey) {
|
|
931
932
|
const queue = yield* Queue.make<Element>()
|
|
932
933
|
const takers = MutableRef.make(0)
|
|
933
|
-
const pollLatch =
|
|
934
|
-
const takenLatch =
|
|
934
|
+
const pollLatch = Latch.makeUnsafe()
|
|
935
|
+
const takenLatch = Latch.makeUnsafe()
|
|
935
936
|
|
|
936
937
|
yield* Effect.addFinalizer(() =>
|
|
937
938
|
Effect.flatMap(Queue.clear(queue), (elements) => {
|
|
@@ -1098,9 +1099,9 @@ class QueueKey extends Data.Class<{
|
|
|
1098
1099
|
export const layerStoreSql: (
|
|
1099
1100
|
options?: {
|
|
1100
1101
|
readonly tableName?: string | undefined
|
|
1101
|
-
readonly pollInterval?: Duration.
|
|
1102
|
-
readonly lockRefreshInterval?: Duration.
|
|
1103
|
-
readonly lockExpiration?: Duration.
|
|
1102
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
1103
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
1104
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
1104
1105
|
} | undefined
|
|
1105
1106
|
) => Layer.Layer<
|
|
1106
1107
|
PersistedQueueStore,
|
|
@@ -42,7 +42,7 @@ export class PersistenceError extends Schema.ErrorClass(ErrorTypeId)({
|
|
|
42
42
|
export class Persistence extends ServiceMap.Service<Persistence, {
|
|
43
43
|
readonly make: (options: {
|
|
44
44
|
readonly storeId: string
|
|
45
|
-
readonly timeToLive?: (exit: Exit.Exit<unknown, unknown>, key: Persistable.Any) => Duration.
|
|
45
|
+
readonly timeToLive?: (exit: Exit.Exit<unknown, unknown>, key: Persistable.Any) => Duration.Input
|
|
46
46
|
}) => Effect.Effect<PersistenceStore, never, Scope.Scope>
|
|
47
47
|
}>()("effect/persistence/Persistence") {}
|
|
48
48
|
|
|
@@ -169,7 +169,7 @@ export const layer = Layer.effect(Persistence)(Effect.gen(function*() {
|
|
|
169
169
|
return out
|
|
170
170
|
}),
|
|
171
171
|
set(key, value) {
|
|
172
|
-
const ttl = Duration.
|
|
172
|
+
const ttl = Duration.fromInputUnsafe(timeToLive(value, key))
|
|
173
173
|
if (Duration.isZero(ttl) || Duration.isNegative(ttl)) return Effect.void
|
|
174
174
|
return Persistable.serializeExit(key, value).pipe(
|
|
175
175
|
Effect.flatMap((encoded) =>
|
|
@@ -180,7 +180,7 @@ export const layer = Layer.effect(Persistence)(Effect.gen(function*() {
|
|
|
180
180
|
setMany: Effect.fnUntraced(function*(entries) {
|
|
181
181
|
const encodedEntries = Arr.empty<readonly [string, object, Duration.Duration | undefined]>()
|
|
182
182
|
for (const [key, value] of entries) {
|
|
183
|
-
const ttl = Duration.
|
|
183
|
+
const ttl = Duration.fromInputUnsafe(timeToLive(value, key))
|
|
184
184
|
if (Duration.isZero(ttl) || Duration.isNegative(ttl)) continue
|
|
185
185
|
const encoded = Persistable.serializeExit(key, value)
|
|
186
186
|
const exit = Exit.isExit(encoded)
|
|
@@ -32,7 +32,7 @@ export interface RateLimiter {
|
|
|
32
32
|
readonly consume: (options: {
|
|
33
33
|
readonly algorithm?: "fixed-window" | "token-bucket" | undefined
|
|
34
34
|
readonly onExceeded?: "delay" | "fail" | undefined
|
|
35
|
-
readonly window: Duration.
|
|
35
|
+
readonly window: Duration.Input
|
|
36
36
|
readonly limit: number
|
|
37
37
|
readonly key: string
|
|
38
38
|
readonly tokens?: number | undefined
|
|
@@ -62,7 +62,7 @@ export const make: Effect.Effect<
|
|
|
62
62
|
const tokens = options.tokens ?? 1
|
|
63
63
|
const onExceeded = options.onExceeded ?? "fail"
|
|
64
64
|
const algorithm = options.algorithm ?? "fixed-window"
|
|
65
|
-
const window = Duration.max(Duration.
|
|
65
|
+
const window = Duration.max(Duration.fromInputUnsafe(options.window), Duration.millis(1))
|
|
66
66
|
const windowMillis = Duration.toMillis(window)
|
|
67
67
|
const refillRate = Duration.divideUnsafe(window, options.limit)
|
|
68
68
|
const refillRateMillis = Duration.toMillis(refillRate)
|
|
@@ -222,7 +222,7 @@ export const makeWithRateLimiter: Effect.Effect<
|
|
|
222
222
|
((options: {
|
|
223
223
|
readonly algorithm?: "fixed-window" | "token-bucket" | undefined
|
|
224
224
|
readonly onExceeded?: "delay" | "fail" | undefined
|
|
225
|
-
readonly window: Duration.
|
|
225
|
+
readonly window: Duration.Input
|
|
226
226
|
readonly limit: number
|
|
227
227
|
readonly key: string
|
|
228
228
|
readonly tokens?: number | undefined
|
|
@@ -266,7 +266,7 @@ export const makeWithRateLimiter: Effect.Effect<
|
|
|
266
266
|
export const makeSleep: Effect.Effect<
|
|
267
267
|
((options: {
|
|
268
268
|
readonly algorithm?: "fixed-window" | "token-bucket" | undefined
|
|
269
|
-
readonly window: Duration.
|
|
269
|
+
readonly window: Duration.Input
|
|
270
270
|
readonly limit: number
|
|
271
271
|
readonly key: string
|
|
272
272
|
readonly tokens?: number | undefined
|