effect 4.0.0-beta.4 → 4.0.0-beta.41
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 +213 -385
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +149 -102
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +82 -45
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +87 -38
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +39 -32
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +32 -29
- package/dist/BigInt.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 +33 -2
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +19 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +130 -35
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +96 -45
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +112 -304
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +56 -88
- 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 +169 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +69 -11
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +11 -7
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +120 -63
- package/dist/Cron.js.map +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 +72 -253
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +15 -60
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +7 -5
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +7 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +62 -32
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +108 -78
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1225 -951
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +398 -338
- 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/Equivalence.d.ts +60 -3
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +70 -13
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +374 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +245 -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 +5 -3
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +9 -8
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +8 -7
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +20 -19
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +6 -6
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +18 -17
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +17 -13
- 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 +65 -65
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +60 -62
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +26 -19
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +7 -5
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +50 -50
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +106 -34
- 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 +175 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +130 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +306 -129
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +93 -48
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +9 -8
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +3 -3
- package/dist/LayerMap.js.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 +2 -2
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +21 -9
- package/dist/ManagedRuntime.js.map +1 -1
- 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/MutableHashMap.d.ts +7 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +8 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +7 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +8 -0
- package/dist/MutableHashSet.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/Number.d.ts +74 -18
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +34 -15
- package/dist/Number.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 +25 -16
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +15 -9
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +6 -1
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +19 -14
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +146 -15
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +174 -61
- package/dist/PartitionedSemaphore.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 +8 -6
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +18 -10
- 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 +9 -6
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +7 -5
- 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 +63 -160
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +37 -56
- 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 +242 -226
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +240 -247
- 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/Resource.d.ts.map +1 -1
- package/dist/Resource.js +2 -1
- package/dist/Resource.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 +174 -291
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +160 -134
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +34 -123
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +31 -123
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2722 -247
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +1947 -224
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +7 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +131 -25
- 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 +18 -18
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +44 -54
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +55 -2
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +46 -45
- 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 +173 -13
- 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 +307 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/Semaphore.js +222 -0
- package/dist/Semaphore.js.map +1 -0
- package/dist/ServiceMap.d.ts +76 -52
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +45 -29
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +18 -15
- 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 +284 -431
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +189 -88
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +114 -47
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +29 -47
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +23 -7
- 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 +3 -3
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +85 -117
- 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/Terminal.d.ts +2 -1
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +5 -4
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +2 -1
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +44 -31
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +13 -9
- 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 +197 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +159 -140
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +51 -44
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +36 -36
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +16 -15
- 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 +416 -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 +170 -10
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +23 -8
- 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 +806 -55
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +806 -55
- 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 +77 -71
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +284 -201
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +7 -5
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/option.js +6 -0
- package/dist/internal/option.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/references.d.ts +2 -0
- package/dist/internal/references.d.ts.map +1 -0
- package/dist/internal/references.js +51 -0
- package/dist/internal/references.js.map +1 -0
- 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 +75 -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 +8 -7
- 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 +136 -54
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +28 -23
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -0
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +35 -7
- 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/EmbeddingModel.d.ts +130 -0
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
- package/dist/unstable/ai/EmbeddingModel.js +127 -0
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
- package/dist/unstable/ai/LanguageModel.d.ts +117 -47
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +258 -59
- 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/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +4 -0
- package/dist/unstable/ai/OpenAiStructuredOutput.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/ResponseIdTracker.d.ts +38 -0
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
- package/dist/unstable/ai/ResponseIdTracker.js +68 -0
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
- package/dist/unstable/ai/Tool.d.ts +34 -4
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +28 -10
- 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 +22 -1
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +22 -1
- package/dist/unstable/ai/index.js.map +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/Argument.d.ts +2 -4
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +1 -3
- package/dist/unstable/cli/Argument.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.d.ts +3 -2
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +65 -10
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +371 -58
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +328 -67
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +16 -0
- package/dist/unstable/cli/Completions.d.ts.map +1 -0
- package/dist/unstable/cli/Completions.js +23 -0
- package/dist/unstable/cli/Completions.js.map +1 -0
- package/dist/unstable/cli/Flag.d.ts +2 -2
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +1 -1
- package/dist/unstable/cli/Flag.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 +81 -11
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +4 -4
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +7 -7
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +2 -2
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +259 -85
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.d.ts +8 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +8 -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 +16 -4
- 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 +61 -43
- 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/ClusterSchema.d.ts +18 -0
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +21 -1
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +3 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +35 -29
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -8
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +8 -7
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js +1 -1
- package/dist/unstable/cluster/EntityAddress.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 +18 -15
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +15 -7
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +33 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +36 -20
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +8 -7
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +4 -3
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runner.d.ts.map +1 -1
- package/dist/unstable/cluster/Runner.js +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +9 -8
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +2 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +11 -9
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js +3 -3
- package/dist/unstable/cluster/ShardId.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 +51 -39
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +26 -25
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +24 -24
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +25 -19
- package/dist/unstable/cluster/SqlMessageStorage.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 +24 -18
- 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/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +4 -3
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +40 -40
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +9 -2
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +9 -9
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +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/EventJournal.js +2 -2
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +3 -2
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/eventlog/SqlEventLogJournal.js +2 -2
- package/dist/unstable/eventlog/SqlEventLogJournal.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +52 -7
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +27 -6
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +5 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +19 -2
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +40 -11
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +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 +191 -13
- 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 +43 -15
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +131 -21
- 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 +6 -1
- 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/HttpIncomingMessage.d.ts +3 -2
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.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 +24 -32
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +3 -2
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +2 -1
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +7 -7
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +2 -2
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +22 -34
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +39 -45
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +15 -3
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +301 -7
- 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 +236 -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/HttpTraceContext.d.ts +3 -2
- package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js +27 -15
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/Url.d.ts +604 -0
- package/dist/unstable/http/Url.d.ts.map +1 -0
- package/dist/unstable/http/Url.js +256 -0
- package/dist/unstable/http/Url.js.map +1 -0
- package/dist/unstable/http/UrlParams.d.ts +19 -10
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +6 -7
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +8 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +8 -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 +40 -27
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +83 -7
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +78 -10
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +207 -101
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +49 -43
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +31 -14
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +125 -32
- 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 +46 -15
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +32 -3
- 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/HttpApiSchema.d.ts +6 -3
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +20 -2
- package/dist/unstable/httpapi/HttpApiSchema.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 +1 -0
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +34 -26
- 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 +3 -3
- 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/observability/OtlpTracer.js +7 -3
- package/dist/unstable/observability/OtlpTracer.js.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/Persistable.js +1 -1
- package/dist/unstable/persistence/Persistable.js.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 +108 -25
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +17 -15
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +45 -15
- 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 +54 -11
- 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 +6 -5
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -3
- 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 +53 -43
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +3 -5
- 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 +17 -2
- 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 +39 -11
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +6 -10
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +20 -19
- 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 +6 -6
- 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 +6 -5
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +12 -9
- 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/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.js +2 -2
- package/dist/unstable/sql/Migrator.js.map +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/SqlClient.js +1 -1
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +237 -17
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +260 -4
- 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/Activity.d.ts +5 -0
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +13 -0
- package/dist/unstable/workflow/Activity.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 +8 -8
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +5 -4
- 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 +17 -5
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +153 -12
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +304 -447
- package/src/BigDecimal.ts +117 -66
- package/src/BigInt.ts +49 -41
- package/src/Brand.ts +1 -1
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +37 -2
- package/src/Channel.ts +582 -154
- package/src/Chunk.ts +149 -331
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +195 -25
- package/src/Cron.ts +155 -63
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +75 -256
- package/src/Deferred.ts +8 -6
- package/src/Duration.ts +122 -66
- package/src/Effect.ts +1484 -1157
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/Equivalence.ts +114 -52
- package/src/ErrorReporter.ts +458 -0
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +12 -3
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +22 -22
- package/src/FileSystem.ts +34 -31
- package/src/Filter.ts +52 -63
- package/src/Formatter.ts +253 -51
- package/src/Function.ts +2 -10
- package/src/Graph.ts +131 -117
- package/src/HashMap.ts +26 -19
- package/src/Iterable.ts +117 -63
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +194 -0
- package/src/Layer.ts +394 -160
- package/src/LayerMap.ts +11 -9
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +35 -22
- package/src/Metric.ts +6 -8
- package/src/MutableHashMap.ts +9 -0
- package/src/MutableHashSet.ts +9 -0
- package/src/Newtype.ts +308 -0
- package/src/Number.ts +85 -26
- package/src/Optic.ts +948 -19
- package/src/Option.ts +34 -24
- package/src/Order.ts +39 -32
- package/src/PartitionedSemaphore.ts +288 -56
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +30 -20
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +11 -9
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +94 -199
- package/src/Reducer.ts +166 -7
- package/src/References.ts +283 -287
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +29 -49
- package/src/Resource.ts +2 -1
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +458 -449
- package/src/Scheduler.ts +49 -126
- package/src/Schema.ts +3298 -392
- package/src/SchemaAST.ts +172 -33
- package/src/SchemaGetter.ts +19 -21
- package/src/SchemaParser.ts +92 -27
- package/src/SchemaRepresentation.ts +51 -26
- package/src/SchemaTransformation.ts +198 -13
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +444 -0
- package/src/ServiceMap.ts +144 -97
- package/src/Sink.ts +83 -28
- package/src/Stdio.ts +27 -4
- package/src/Stream.ts +687 -617
- package/src/String.ts +122 -69
- package/src/Struct.ts +33 -7
- package/src/SubscriptionRef.ts +101 -120
- package/src/SynchronizedRef.ts +3 -2
- package/src/Terminal.ts +2 -1
- package/src/Tracer.ts +6 -5
- package/src/Trie.ts +44 -31
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +409 -343
- package/src/TxHashSet.ts +113 -118
- package/src/TxPriorityQueue.ts +766 -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 +217 -44
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +73 -19
- package/src/Utils.ts +137 -111
- package/src/index.ts +816 -56
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +91 -96
- package/src/internal/effect.ts +844 -432
- package/src/internal/hashMap.ts +12 -10
- package/src/internal/option.ts +7 -0
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/references.ts +72 -0
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/representation.ts +73 -94
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/schema/to-codec.ts +7 -17
- package/src/internal/trie.ts +21 -15
- 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 +111 -54
- package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -0
- package/src/unstable/ai/Chat.ts +134 -85
- package/src/unstable/ai/EmbeddingModel.ts +209 -0
- package/src/unstable/ai/LanguageModel.ts +683 -253
- 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/OpenAiStructuredOutput.ts +4 -0
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/ResponseIdTracker.ts +97 -0
- package/src/unstable/ai/Tool.ts +42 -16
- package/src/unstable/ai/Toolkit.ts +5 -14
- package/src/unstable/ai/index.ts +24 -1
- package/src/unstable/ai/internal/codec-transformer.ts +0 -7
- package/src/unstable/cli/Argument.ts +2 -4
- package/src/unstable/cli/CliError.ts +47 -59
- package/src/unstable/cli/CliOutput.ts +85 -13
- package/src/unstable/cli/Command.ts +801 -192
- package/src/unstable/cli/Completions.ts +36 -0
- package/src/unstable/cli/Flag.ts +2 -2
- package/src/unstable/cli/GlobalFlag.ts +242 -0
- package/src/unstable/cli/HelpDoc.ts +91 -11
- package/src/unstable/cli/Param.ts +15 -11
- package/src/unstable/cli/Primitive.ts +2 -2
- package/src/unstable/cli/Prompt.ts +265 -101
- package/src/unstable/cli/index.ts +10 -0
- package/src/unstable/cli/internal/command.ts +109 -63
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +10 -4
- 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 +71 -63
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +29 -1
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +62 -37
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- package/src/unstable/cluster/Entity.ts +25 -22
- package/src/unstable/cluster/EntityAddress.ts +1 -1
- 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/Message.ts +28 -15
- package/src/unstable/cluster/MessageStorage.ts +66 -36
- package/src/unstable/cluster/Reply.ts +7 -4
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +10 -13
- package/src/unstable/cluster/Runners.ts +14 -12
- package/src/unstable/cluster/ShardId.ts +2 -2
- package/src/unstable/cluster/Sharding.ts +66 -49
- package/src/unstable/cluster/ShardingConfig.ts +36 -37
- package/src/unstable/cluster/SqlMessageStorage.ts +31 -19
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +50 -34
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/devtools/DevToolsClient.ts +23 -18
- package/src/unstable/devtools/DevToolsSchema.ts +16 -3
- package/src/unstable/encoding/Ndjson.ts +17 -17
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/EventJournal.ts +2 -2
- package/src/unstable/eventlog/EventLog.ts +3 -2
- package/src/unstable/eventlog/SqlEventLogJournal.ts +2 -2
- package/src/unstable/http/Cookies.ts +94 -11
- package/src/unstable/http/Etag.ts +5 -3
- package/src/unstable/http/Headers.ts +68 -18
- package/src/unstable/http/HttpClient.ts +376 -34
- package/src/unstable/http/HttpClientRequest.ts +151 -39
- package/src/unstable/http/HttpClientResponse.ts +12 -6
- package/src/unstable/http/HttpEffect.ts +54 -68
- package/src/unstable/http/HttpIncomingMessage.ts +3 -2
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +25 -39
- package/src/unstable/http/HttpPlatform.ts +3 -2
- package/src/unstable/http/HttpRouter.ts +9 -9
- package/src/unstable/http/HttpServer.ts +3 -9
- package/src/unstable/http/HttpServerError.ts +45 -47
- package/src/unstable/http/HttpServerRequest.ts +407 -16
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +345 -7
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/HttpTraceContext.ts +31 -17
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/Url.ts +650 -0
- package/src/unstable/http/UrlParams.ts +31 -19
- package/src/unstable/http/index.ts +10 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +6 -6
- package/src/unstable/httpapi/HttpApiBuilder.ts +106 -41
- package/src/unstable/httpapi/HttpApiClient.ts +180 -28
- package/src/unstable/httpapi/HttpApiEndpoint.ts +216 -104
- package/src/unstable/httpapi/HttpApiError.ts +108 -30
- package/src/unstable/httpapi/HttpApiGroup.ts +7 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +83 -22
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSchema.ts +21 -3
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +44 -29
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +8 -5
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +12 -8
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +3 -3
- 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 +212 -54
- package/src/unstable/reactivity/AtomHttpApi.ts +81 -41
- package/src/unstable/reactivity/AtomRegistry.ts +66 -12
- 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 +12 -12
- package/src/unstable/rpc/RpcClient.ts +67 -96
- package/src/unstable/rpc/RpcGroup.ts +7 -7
- package/src/unstable/rpc/RpcMiddleware.ts +15 -9
- package/src/unstable/rpc/RpcSchema.ts +23 -5
- package/src/unstable/rpc/RpcSerialization.ts +49 -11
- package/src/unstable/rpc/RpcServer.ts +31 -35
- package/src/unstable/rpc/Utils.ts +3 -2
- package/src/unstable/schema/Model.ts +31 -0
- package/src/unstable/schema/VariantSchema.ts +10 -10
- package/src/unstable/socket/Socket.ts +31 -27
- package/src/unstable/sql/Migrator.ts +7 -5
- package/src/unstable/sql/SqlClient.ts +6 -4
- package/src/unstable/sql/SqlError.ts +365 -11
- 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/Activity.ts +23 -0
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +8 -8
- package/src/unstable/workflow/Workflow.ts +7 -3
- package/src/unstable/workflow/WorkflowEngine.ts +211 -19
- package/dist/NullOr.d.ts +0 -149
- package/dist/NullOr.d.ts.map +0 -1
- package/dist/NullOr.js +0 -152
- package/dist/NullOr.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/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.js +0 -23
- package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
- package/src/NullOr.ts +0 -204
- 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
- package/src/unstable/cli/internal/completions/Completions.ts +0 -31
|
@@ -710,7 +710,7 @@ export const date = (options: DateOptions): Prompt<Date> => {
|
|
|
710
710
|
typed: "",
|
|
711
711
|
cursor: initialCursorPosition,
|
|
712
712
|
value: opts.initial,
|
|
713
|
-
error:
|
|
713
|
+
error: Option.none()
|
|
714
714
|
}
|
|
715
715
|
return custom(initialState, {
|
|
716
716
|
render: handleDateRender(opts),
|
|
@@ -727,7 +727,7 @@ export const file = (options: FileOptions = {}): Prompt<string> => {
|
|
|
727
727
|
const opts: FileOptionsReq = {
|
|
728
728
|
type: options.type ?? "file",
|
|
729
729
|
message: options.message ?? `Choose a file`,
|
|
730
|
-
startingPath: options.startingPath,
|
|
730
|
+
startingPath: Option.fromUndefinedOr(options.startingPath),
|
|
731
731
|
maxPerPage: options.maxPerPage ?? 10,
|
|
732
732
|
filter: options.filter ?? (() => Effect.succeed(true))
|
|
733
733
|
}
|
|
@@ -736,10 +736,10 @@ export const file = (options: FileOptions = {}): Prompt<string> => {
|
|
|
736
736
|
never,
|
|
737
737
|
Environment
|
|
738
738
|
> = Effect.gen(function*() {
|
|
739
|
-
const currentPath = yield* resolveCurrentPath(
|
|
739
|
+
const currentPath = yield* resolveCurrentPath(Option.none(), opts)
|
|
740
740
|
const files = yield* getFileList(currentPath, opts)
|
|
741
741
|
const confirm = Confirm.Hide()
|
|
742
|
-
return { cursor: 0, files, path:
|
|
742
|
+
return { cursor: 0, files, allFiles: files, query: "", path: Option.none(), confirm }
|
|
743
743
|
})
|
|
744
744
|
return custom(initialState, {
|
|
745
745
|
render: handleFileRender(opts),
|
|
@@ -799,7 +799,7 @@ export const float = (options: FloatOptions): Prompt<number> => {
|
|
|
799
799
|
const initialState: NumberState = {
|
|
800
800
|
cursor: 0,
|
|
801
801
|
value: "",
|
|
802
|
-
error:
|
|
802
|
+
error: Option.none()
|
|
803
803
|
}
|
|
804
804
|
return custom(initialState, {
|
|
805
805
|
render: handleRenderFloat(opts),
|
|
@@ -839,7 +839,7 @@ export const integer = (options: IntegerOptions): Prompt<number> => {
|
|
|
839
839
|
const initialState: NumberState = {
|
|
840
840
|
cursor: 0,
|
|
841
841
|
value: "",
|
|
842
|
-
error:
|
|
842
|
+
error: Option.none()
|
|
843
843
|
}
|
|
844
844
|
return custom(initialState, {
|
|
845
845
|
render: handleRenderInteger(opts),
|
|
@@ -1009,7 +1009,7 @@ export const multiSelect = <const A>(
|
|
|
1009
1009
|
initialSelected.add(i)
|
|
1010
1010
|
}
|
|
1011
1011
|
}
|
|
1012
|
-
const initialState: MultiSelectState = { index: 0, selectedIndices: initialSelected, error:
|
|
1012
|
+
const initialState: MultiSelectState = { index: 0, selectedIndices: initialSelected, error: Option.none() }
|
|
1013
1013
|
return custom(initialState, {
|
|
1014
1014
|
render: handleMultiSelectRender(opts),
|
|
1015
1015
|
process: handleMultiSelectProcess(opts),
|
|
@@ -1289,7 +1289,7 @@ const TRUE_VALUE_REGEXP = /^y|t$/
|
|
|
1289
1289
|
const FALSE_VALUE_REGEXP = /^n|f$/
|
|
1290
1290
|
|
|
1291
1291
|
const handleConfirmProcess = (input: Terminal.UserInput, defaultValue: boolean) => {
|
|
1292
|
-
const value = input.input
|
|
1292
|
+
const value = Option.getOrElse(input.input, () => "")
|
|
1293
1293
|
if (input.key.name === "enter" || input.key.name === "return") {
|
|
1294
1294
|
return Effect.succeed(Action.Submit({ value: defaultValue }))
|
|
1295
1295
|
}
|
|
@@ -1309,7 +1309,7 @@ interface DateState {
|
|
|
1309
1309
|
readonly cursor: number
|
|
1310
1310
|
readonly value: globalThis.Date
|
|
1311
1311
|
readonly dateParts: ReadonlyArray<DatePart>
|
|
1312
|
-
readonly error: string
|
|
1312
|
+
readonly error: Option.Option<string>
|
|
1313
1313
|
}
|
|
1314
1314
|
|
|
1315
1315
|
const handleDateClear = (options: DateOptionsReq) => {
|
|
@@ -1320,8 +1320,8 @@ const handleDateClear = (options: DateOptionsReq) => {
|
|
|
1320
1320
|
const resetCurrentLine = Ansi.eraseLine + Ansi.cursorLeft
|
|
1321
1321
|
const parts = Arr.reduce(state.dateParts, "", (doc, part) => doc + part.toString())
|
|
1322
1322
|
const promptText = renderDateOutput("?", figures.pointerSmall, parts, options, { plain: true })
|
|
1323
|
-
const errorText = state.error
|
|
1324
|
-
? Arr.match(state.error.split(NEWLINE_REGEXP), {
|
|
1323
|
+
const errorText = Option.isSome(state.error)
|
|
1324
|
+
? Arr.match(state.error.value.split(NEWLINE_REGEXP), {
|
|
1325
1325
|
onEmpty: () => "",
|
|
1326
1326
|
onNonEmpty: (errorLines) => `${figures.pointerSmall} ${errorLines.join("\n")}`
|
|
1327
1327
|
})
|
|
@@ -1332,8 +1332,8 @@ const handleDateClear = (options: DateOptionsReq) => {
|
|
|
1332
1332
|
}
|
|
1333
1333
|
|
|
1334
1334
|
const renderDateError = (state: DateState, pointer: string): string => {
|
|
1335
|
-
if (state.error
|
|
1336
|
-
const errorLines = state.error.split(NEWLINE_REGEXP)
|
|
1335
|
+
if (Option.isSome(state.error)) {
|
|
1336
|
+
const errorLines = state.error.value.split(NEWLINE_REGEXP)
|
|
1337
1337
|
if (Arr.isReadonlyArrayNonEmpty(errorLines)) {
|
|
1338
1338
|
const prefix = Ansi.annotate(pointer, Ansi.red) + " "
|
|
1339
1339
|
const lines = Arr.map(errorLines, (str) => annotateErrorLine(str))
|
|
@@ -1401,12 +1401,12 @@ const processDown = (state: DateState) => {
|
|
|
1401
1401
|
|
|
1402
1402
|
const processDateCursorLeft = (state: DateState) => {
|
|
1403
1403
|
const previous = state.dateParts[state.cursor].previousPart()
|
|
1404
|
-
if (previous
|
|
1404
|
+
if (Option.isSome(previous)) {
|
|
1405
1405
|
return Action.NextFrame({
|
|
1406
1406
|
state: {
|
|
1407
1407
|
...state,
|
|
1408
1408
|
typed: "",
|
|
1409
|
-
cursor: state.dateParts.indexOf(previous)
|
|
1409
|
+
cursor: state.dateParts.indexOf(previous.value)
|
|
1410
1410
|
}
|
|
1411
1411
|
})
|
|
1412
1412
|
}
|
|
@@ -1415,12 +1415,12 @@ const processDateCursorLeft = (state: DateState) => {
|
|
|
1415
1415
|
|
|
1416
1416
|
const processDateCursorRight = (state: DateState) => {
|
|
1417
1417
|
const next = state.dateParts[state.cursor].nextPart()
|
|
1418
|
-
if (next
|
|
1418
|
+
if (Option.isSome(next)) {
|
|
1419
1419
|
return Action.NextFrame({
|
|
1420
1420
|
state: {
|
|
1421
1421
|
...state,
|
|
1422
1422
|
typed: "",
|
|
1423
|
-
cursor: state.dateParts.indexOf(next)
|
|
1423
|
+
cursor: state.dateParts.indexOf(next.value)
|
|
1424
1424
|
}
|
|
1425
1425
|
})
|
|
1426
1426
|
}
|
|
@@ -1429,9 +1429,10 @@ const processDateCursorRight = (state: DateState) => {
|
|
|
1429
1429
|
|
|
1430
1430
|
const processDateNext = (state: DateState) => {
|
|
1431
1431
|
const next = state.dateParts[state.cursor].nextPart()
|
|
1432
|
-
const cursor = next
|
|
1433
|
-
|
|
1434
|
-
:
|
|
1432
|
+
const cursor = Option.match(next, {
|
|
1433
|
+
onNone: () => state.dateParts.findIndex((part) => !part.isToken()),
|
|
1434
|
+
onSome: (next) => state.dateParts.indexOf(next)
|
|
1435
|
+
})
|
|
1435
1436
|
return Action.NextFrame({
|
|
1436
1437
|
state: { ...state, cursor }
|
|
1437
1438
|
})
|
|
@@ -1505,14 +1506,14 @@ const handleDateProcess = (options: DateOptionsReq) => {
|
|
|
1505
1506
|
Action.NextFrame({
|
|
1506
1507
|
state: {
|
|
1507
1508
|
...state,
|
|
1508
|
-
error
|
|
1509
|
+
error: Option.some(error)
|
|
1509
1510
|
}
|
|
1510
1511
|
}),
|
|
1511
1512
|
onSuccess: (value) => Action.Submit({ value })
|
|
1512
1513
|
})
|
|
1513
1514
|
}
|
|
1514
1515
|
default: {
|
|
1515
|
-
return Effect.succeed(defaultDateProcessor(input.input
|
|
1516
|
+
return Effect.succeed(defaultDateProcessor(Option.getOrElse(input.input, () => ""), state))
|
|
1516
1517
|
}
|
|
1517
1518
|
}
|
|
1518
1519
|
}
|
|
@@ -1609,23 +1610,20 @@ abstract class DatePart {
|
|
|
1609
1610
|
/**
|
|
1610
1611
|
* Retrieves the next date part in the list of parts.
|
|
1611
1612
|
*/
|
|
1612
|
-
nextPart(): DatePart
|
|
1613
|
-
const currentPartIndex = Arr.findFirstIndex(this.parts, (part) => part === this)
|
|
1614
|
-
return
|
|
1615
|
-
Arr.findFirst(this.parts.slice(currentPartIndex + 1), (part) => !part.isToken())
|
|
1616
|
-
)
|
|
1613
|
+
nextPart(): Option.Option<DatePart> {
|
|
1614
|
+
const currentPartIndex = Option.getOrElse(Arr.findFirstIndex(this.parts, (part) => part === this), () => 0)
|
|
1615
|
+
return Arr.findFirst(this.parts.slice(currentPartIndex + 1), (part) => !part.isToken())
|
|
1617
1616
|
}
|
|
1618
1617
|
|
|
1619
1618
|
/**
|
|
1620
1619
|
* Retrieves the previous date part in the list of parts.
|
|
1621
1620
|
*/
|
|
1622
|
-
previousPart(): DatePart
|
|
1621
|
+
previousPart(): Option.Option<DatePart> {
|
|
1623
1622
|
const currentPartIndex = Arr.findFirstIndex(this.parts, (part) => part === this)
|
|
1624
|
-
if (currentPartIndex
|
|
1625
|
-
return
|
|
1626
|
-
Arr.findLast(this.parts.slice(0, currentPartIndex), (part) => !part.isToken())
|
|
1627
|
-
)
|
|
1623
|
+
if (Option.isSome(currentPartIndex)) {
|
|
1624
|
+
return Arr.findLast(this.parts.slice(0, currentPartIndex.value), (part) => !part.isToken())
|
|
1628
1625
|
}
|
|
1626
|
+
return Option.none()
|
|
1629
1627
|
}
|
|
1630
1628
|
|
|
1631
1629
|
toString() {
|
|
@@ -1851,17 +1849,22 @@ class Meridiem extends DatePart {
|
|
|
1851
1849
|
}
|
|
1852
1850
|
|
|
1853
1851
|
interface FileOptionsReq extends Required<Omit<FileOptions, "startingPath">> {
|
|
1854
|
-
readonly startingPath: string
|
|
1852
|
+
readonly startingPath: Option.Option<string>
|
|
1855
1853
|
}
|
|
1856
1854
|
|
|
1857
1855
|
interface FileState {
|
|
1858
1856
|
readonly cursor: number
|
|
1859
1857
|
readonly files: ReadonlyArray<string>
|
|
1860
|
-
readonly
|
|
1858
|
+
readonly allFiles: ReadonlyArray<string>
|
|
1859
|
+
readonly query: string
|
|
1860
|
+
readonly path: Option.Option<string>
|
|
1861
1861
|
readonly confirm: Confirm
|
|
1862
1862
|
}
|
|
1863
1863
|
|
|
1864
1864
|
const CONFIRM_MESSAGE = "The selected directory contains files. Would you like to traverse the selected directory?"
|
|
1865
|
+
const FILE_FILTER_LABEL = "filter"
|
|
1866
|
+
const FILE_FILTER_PLACEHOLDER = "type to filter"
|
|
1867
|
+
const FILE_EMPTY_MESSAGE = "No matches"
|
|
1865
1868
|
type Confirm = Data.TaggedEnum<{
|
|
1866
1869
|
readonly Show: {}
|
|
1867
1870
|
readonly Hide: {}
|
|
@@ -1871,14 +1874,14 @@ const Confirm = Data.taggedEnum<Confirm>()
|
|
|
1871
1874
|
const showConfirmation = Confirm.$is("Show")
|
|
1872
1875
|
|
|
1873
1876
|
const resolveCurrentPath = (
|
|
1874
|
-
path: string
|
|
1877
|
+
path: Option.Option<string>,
|
|
1875
1878
|
options: FileOptionsReq
|
|
1876
1879
|
): Effect.Effect<string, never, FileSystem.FileSystem> => {
|
|
1877
|
-
if (path
|
|
1878
|
-
return Effect.succeed(path)
|
|
1880
|
+
if (Option.isSome(path)) {
|
|
1881
|
+
return Effect.succeed(path.value)
|
|
1879
1882
|
}
|
|
1880
|
-
|
|
1881
|
-
|
|
1883
|
+
if (Option.isSome(options.startingPath)) {
|
|
1884
|
+
const startingPath = options.startingPath.value
|
|
1882
1885
|
return Effect.flatMap(FileSystem.FileSystem.asEffect(), (fs) =>
|
|
1883
1886
|
// Ensure the user provided starting path exists
|
|
1884
1887
|
Effect.orDie(fs.exists(startingPath)).pipe(
|
|
@@ -1916,6 +1919,40 @@ const getFileList = Effect.fnUntraced(function*(directory: string, options: File
|
|
|
1916
1919
|
}, { concurrency: files.length })
|
|
1917
1920
|
})
|
|
1918
1921
|
|
|
1922
|
+
const filterFiles = (files: ReadonlyArray<string>, query: string) => {
|
|
1923
|
+
if (query.length === 0) {
|
|
1924
|
+
return files
|
|
1925
|
+
}
|
|
1926
|
+
const normalizedQuery = query.toLowerCase()
|
|
1927
|
+
const filtered: Array<string> = []
|
|
1928
|
+
for (let index = 0; index < files.length; index++) {
|
|
1929
|
+
if (files[index].toLowerCase().includes(normalizedQuery)) {
|
|
1930
|
+
filtered.push(files[index])
|
|
1931
|
+
}
|
|
1932
|
+
}
|
|
1933
|
+
return filtered
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1936
|
+
const updateFileState = (
|
|
1937
|
+
state: FileState,
|
|
1938
|
+
query: string,
|
|
1939
|
+
allFiles: ReadonlyArray<string> = state.allFiles
|
|
1940
|
+
): FileState => {
|
|
1941
|
+
const files = filterFiles(allFiles, query)
|
|
1942
|
+
if (files.length === 0) {
|
|
1943
|
+
return { ...state, query, allFiles, files, cursor: 0 }
|
|
1944
|
+
}
|
|
1945
|
+
const selected = state.files[state.cursor]
|
|
1946
|
+
const cursor = selected === undefined ? 0 : files.indexOf(selected)
|
|
1947
|
+
return {
|
|
1948
|
+
...state,
|
|
1949
|
+
query,
|
|
1950
|
+
allFiles,
|
|
1951
|
+
files,
|
|
1952
|
+
cursor: cursor === -1 ? 0 : cursor
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
|
|
1919
1956
|
const handleFileClear = (options: FileOptionsReq) => {
|
|
1920
1957
|
return Effect.fnUntraced(function*(state: FileState, _: Action<FileState, string>) {
|
|
1921
1958
|
const terminal = yield* Terminal.Terminal
|
|
@@ -1924,12 +1961,14 @@ const handleFileClear = (options: FileOptionsReq) => {
|
|
|
1924
1961
|
const figures = yield* platformFigures
|
|
1925
1962
|
const currentPath = yield* resolveCurrentPath(state.path, options)
|
|
1926
1963
|
const selectedPath = state.files[state.cursor]
|
|
1927
|
-
const resolvedPath = path.resolve(currentPath, selectedPath)
|
|
1964
|
+
const resolvedPath = selectedPath === undefined ? currentPath : path.resolve(currentPath, selectedPath)
|
|
1928
1965
|
const resolvedPathText = `${figures.pointerSmall} ${resolvedPath}`
|
|
1929
1966
|
const isConfirming = showConfirmation(state.confirm)
|
|
1930
1967
|
const promptText = isConfirming
|
|
1931
1968
|
? renderPrompt("(Y/n)", CONFIRM_MESSAGE, "?", figures.pointerSmall, { plain: true })
|
|
1932
|
-
: renderPrompt(
|
|
1969
|
+
: renderPrompt(renderFileFilter(state, { plain: true }), options.message, figures.tick, figures.ellipsis, {
|
|
1970
|
+
plain: true
|
|
1971
|
+
})
|
|
1933
1972
|
const filesText = isConfirming
|
|
1934
1973
|
? ""
|
|
1935
1974
|
: renderFiles(state, state.files, figures, options, { plain: true })
|
|
@@ -1997,6 +2036,17 @@ const renderFileName = (file: string, isSelected: boolean, renderOptions?: Rende
|
|
|
1997
2036
|
: file
|
|
1998
2037
|
}
|
|
1999
2038
|
|
|
2039
|
+
const renderFileFilter = (state: FileState, renderOptions?: RenderOptions | undefined) => {
|
|
2040
|
+
const filterValue = state.query.length === 0
|
|
2041
|
+
? renderOptions?.plain === true
|
|
2042
|
+
? FILE_FILTER_PLACEHOLDER
|
|
2043
|
+
: Ansi.annotate(FILE_FILTER_PLACEHOLDER, Ansi.blackBright)
|
|
2044
|
+
: renderOptions?.plain === true
|
|
2045
|
+
? state.query
|
|
2046
|
+
: Ansi.annotate(state.query, Ansi.combine(Ansi.underlined, Ansi.cyanBright))
|
|
2047
|
+
return `[${FILE_FILTER_LABEL}: ${filterValue}]`
|
|
2048
|
+
}
|
|
2049
|
+
|
|
2000
2050
|
const renderFiles = (
|
|
2001
2051
|
state: FileState,
|
|
2002
2052
|
files: ReadonlyArray<string>,
|
|
@@ -2005,6 +2055,11 @@ const renderFiles = (
|
|
|
2005
2055
|
renderOptions?: RenderOptions | undefined
|
|
2006
2056
|
) => {
|
|
2007
2057
|
const length = files.length
|
|
2058
|
+
if (length === 0) {
|
|
2059
|
+
return renderOptions?.plain === true
|
|
2060
|
+
? FILE_EMPTY_MESSAGE
|
|
2061
|
+
: Ansi.annotate(FILE_EMPTY_MESSAGE, Ansi.blackBright)
|
|
2062
|
+
}
|
|
2008
2063
|
const toDisplay = entriesToDisplay(state.cursor, length, options.maxPerPage)
|
|
2009
2064
|
const documents: Array<string> = []
|
|
2010
2065
|
for (let index = toDisplay.startIndex; index < toDisplay.endIndex; index++) {
|
|
@@ -2021,7 +2076,7 @@ const renderFileNextFrame = Effect.fnUntraced(function*(state: FileState, option
|
|
|
2021
2076
|
const figures = yield* platformFigures
|
|
2022
2077
|
const currentPath = yield* resolveCurrentPath(state.path, options)
|
|
2023
2078
|
const selectedPath = state.files[state.cursor]
|
|
2024
|
-
const resolvedPath = path.resolve(currentPath, selectedPath)
|
|
2079
|
+
const resolvedPath = selectedPath === undefined ? currentPath : path.resolve(currentPath, selectedPath)
|
|
2025
2080
|
const resolvedPathMsg = Ansi.annotate(figures.pointerSmall + " " + resolvedPath, Ansi.blackBright)
|
|
2026
2081
|
|
|
2027
2082
|
if (showConfirmation(state.confirm)) {
|
|
@@ -2033,33 +2088,36 @@ const renderFileNextFrame = Effect.fnUntraced(function*(state: FileState, option
|
|
|
2033
2088
|
}
|
|
2034
2089
|
const leadingSymbol = Ansi.annotate(figures.tick, Ansi.green)
|
|
2035
2090
|
const trailingSymbol = Ansi.annotate(figures.ellipsis, Ansi.blackBright)
|
|
2036
|
-
const promptMsg = renderPrompt(
|
|
2091
|
+
const promptMsg = renderPrompt(renderFileFilter(state), options.message, leadingSymbol, trailingSymbol)
|
|
2037
2092
|
const files = renderFiles(state, state.files, figures, options)
|
|
2038
2093
|
return Ansi.cursorHide + promptMsg + "\n" + resolvedPathMsg + "\n" + files
|
|
2039
2094
|
})
|
|
2040
2095
|
|
|
2041
|
-
const renderFileSubmission = Effect.fnUntraced(function*(value: string, options: FileOptionsReq) {
|
|
2096
|
+
const renderFileSubmission = Effect.fnUntraced(function*(state: FileState, value: string, options: FileOptionsReq) {
|
|
2042
2097
|
const figures = yield* platformFigures
|
|
2043
2098
|
const leadingSymbol = Ansi.annotate(figures.tick, Ansi.green)
|
|
2044
2099
|
const trailingSymbol = Ansi.annotate(figures.ellipsis, Ansi.blackBright)
|
|
2045
|
-
const promptMsg = renderPrompt(
|
|
2100
|
+
const promptMsg = renderPrompt(renderFileFilter(state), options.message, leadingSymbol, trailingSymbol)
|
|
2046
2101
|
return promptMsg + " " + Ansi.annotate(value, Ansi.white) + "\n"
|
|
2047
2102
|
})
|
|
2048
2103
|
|
|
2049
2104
|
const handleFileRender = (options: FileOptionsReq) => {
|
|
2050
2105
|
return (
|
|
2051
|
-
|
|
2106
|
+
state: FileState,
|
|
2052
2107
|
action: Action<FileState, string>
|
|
2053
2108
|
): Effect.Effect<string, never, Path.Path | FileSystem.FileSystem> => {
|
|
2054
2109
|
return Action.$match(action, {
|
|
2055
2110
|
Beep: () => Effect.succeed(renderBeep),
|
|
2056
2111
|
NextFrame: ({ state }) => renderFileNextFrame(state, options),
|
|
2057
|
-
Submit: ({ value }) => renderFileSubmission(value, options)
|
|
2112
|
+
Submit: ({ value }) => renderFileSubmission(state, value, options)
|
|
2058
2113
|
})
|
|
2059
2114
|
}
|
|
2060
2115
|
}
|
|
2061
2116
|
|
|
2062
2117
|
const processFileCursorUp = (state: FileState) => {
|
|
2118
|
+
if (state.files.length === 0) {
|
|
2119
|
+
return Effect.succeed(Action.Beep())
|
|
2120
|
+
}
|
|
2063
2121
|
const cursor = state.cursor - 1
|
|
2064
2122
|
return Effect.succeed(Action.NextFrame({
|
|
2065
2123
|
state: { ...state, cursor: cursor < 0 ? state.files.length - 1 : cursor }
|
|
@@ -2067,12 +2125,36 @@ const processFileCursorUp = (state: FileState) => {
|
|
|
2067
2125
|
}
|
|
2068
2126
|
|
|
2069
2127
|
const processFileCursorDown = (state: FileState) => {
|
|
2128
|
+
if (state.files.length === 0) {
|
|
2129
|
+
return Effect.succeed(Action.Beep())
|
|
2130
|
+
}
|
|
2070
2131
|
return Effect.succeed(Action.NextFrame({
|
|
2071
2132
|
state: { ...state, cursor: (state.cursor + 1) % state.files.length }
|
|
2072
2133
|
}))
|
|
2073
2134
|
}
|
|
2074
2135
|
|
|
2136
|
+
const processFileBackspace = (state: FileState) => {
|
|
2137
|
+
if (state.query.length === 0) {
|
|
2138
|
+
return Effect.succeed(Action.Beep())
|
|
2139
|
+
}
|
|
2140
|
+
const query = state.query.slice(0, state.query.length - 1)
|
|
2141
|
+
return Effect.succeed(Action.NextFrame({ state: updateFileState(state, query) }))
|
|
2142
|
+
}
|
|
2143
|
+
|
|
2144
|
+
const processFileClear = (state: FileState) => Effect.succeed(Action.NextFrame({ state: updateFileState(state, "") }))
|
|
2145
|
+
|
|
2146
|
+
const processFileInput = (input: string, state: FileState) => {
|
|
2147
|
+
if (input.length === 0) {
|
|
2148
|
+
return Effect.succeed(Action.Beep())
|
|
2149
|
+
}
|
|
2150
|
+
const query = state.query + input
|
|
2151
|
+
return Effect.succeed(Action.NextFrame({ state: updateFileState(state, query) }))
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2075
2154
|
const processSelection = Effect.fnUntraced(function*(state: FileState, options: FileOptionsReq) {
|
|
2155
|
+
if (state.files.length === 0) {
|
|
2156
|
+
return Action.Beep()
|
|
2157
|
+
}
|
|
2076
2158
|
const fs = yield* FileSystem.FileSystem
|
|
2077
2159
|
const path = yield* Path.Path
|
|
2078
2160
|
const currentPath = yield* resolveCurrentPath(state.path, options)
|
|
@@ -2099,7 +2181,9 @@ const processSelection = Effect.fnUntraced(function*(state: FileState, options:
|
|
|
2099
2181
|
state: {
|
|
2100
2182
|
cursor: 0,
|
|
2101
2183
|
files,
|
|
2102
|
-
|
|
2184
|
+
allFiles: files,
|
|
2185
|
+
query: "",
|
|
2186
|
+
path: Option.some(resolvedPath),
|
|
2103
2187
|
confirm: Confirm.Hide()
|
|
2104
2188
|
}
|
|
2105
2189
|
})
|
|
@@ -2109,6 +2193,15 @@ const processSelection = Effect.fnUntraced(function*(state: FileState, options:
|
|
|
2109
2193
|
|
|
2110
2194
|
const handleFileProcess = (options: FileOptionsReq) => {
|
|
2111
2195
|
return Effect.fnUntraced(function*(input: Terminal.UserInput, state: FileState) {
|
|
2196
|
+
if (input.key.ctrl) {
|
|
2197
|
+
if (input.key.name === "u") {
|
|
2198
|
+
if (showConfirmation(state.confirm)) {
|
|
2199
|
+
return Action.Beep()
|
|
2200
|
+
}
|
|
2201
|
+
return yield* processFileClear(state)
|
|
2202
|
+
}
|
|
2203
|
+
return Action.Beep()
|
|
2204
|
+
}
|
|
2112
2205
|
switch (input.key.name) {
|
|
2113
2206
|
case "k":
|
|
2114
2207
|
case "up": {
|
|
@@ -2119,6 +2212,12 @@ const handleFileProcess = (options: FileOptionsReq) => {
|
|
|
2119
2212
|
case "tab": {
|
|
2120
2213
|
return yield* processFileCursorDown(state)
|
|
2121
2214
|
}
|
|
2215
|
+
case "backspace": {
|
|
2216
|
+
if (showConfirmation(state.confirm)) {
|
|
2217
|
+
return Action.Beep()
|
|
2218
|
+
}
|
|
2219
|
+
return yield* processFileBackspace(state)
|
|
2220
|
+
}
|
|
2122
2221
|
case "enter":
|
|
2123
2222
|
case "return": {
|
|
2124
2223
|
return yield* processSelection(state, options)
|
|
@@ -2135,12 +2234,14 @@ const handleFileProcess = (options: FileOptionsReq) => {
|
|
|
2135
2234
|
state: {
|
|
2136
2235
|
cursor: 0,
|
|
2137
2236
|
files,
|
|
2138
|
-
|
|
2237
|
+
allFiles: files,
|
|
2238
|
+
query: "",
|
|
2239
|
+
path: Option.some(resolvedPath),
|
|
2139
2240
|
confirm: Confirm.Hide()
|
|
2140
2241
|
}
|
|
2141
2242
|
})
|
|
2142
2243
|
}
|
|
2143
|
-
return
|
|
2244
|
+
return yield* processFileInput(Option.getOrElse(input.input, () => ""), state)
|
|
2144
2245
|
}
|
|
2145
2246
|
case "n":
|
|
2146
2247
|
case "f": {
|
|
@@ -2151,10 +2252,13 @@ const handleFileProcess = (options: FileOptionsReq) => {
|
|
|
2151
2252
|
const resolvedPath = path.resolve(currentPath, selectedPath)
|
|
2152
2253
|
return Action.Submit({ value: resolvedPath })
|
|
2153
2254
|
}
|
|
2154
|
-
return
|
|
2255
|
+
return yield* processFileInput(Option.getOrElse(input.input, () => ""), state)
|
|
2155
2256
|
}
|
|
2156
2257
|
default: {
|
|
2157
|
-
|
|
2258
|
+
if (showConfirmation(state.confirm)) {
|
|
2259
|
+
return Action.Beep()
|
|
2260
|
+
}
|
|
2261
|
+
return yield* processFileInput(Option.getOrElse(input.input, () => ""), state)
|
|
2158
2262
|
}
|
|
2159
2263
|
}
|
|
2160
2264
|
})
|
|
@@ -2166,7 +2270,7 @@ interface MultiSelectOptionsReq extends MultiSelectOptions {}
|
|
|
2166
2270
|
type MultiSelectState = {
|
|
2167
2271
|
index: number
|
|
2168
2272
|
selectedIndices: Set<number>
|
|
2169
|
-
error: string
|
|
2273
|
+
error: Option.Option<string>
|
|
2170
2274
|
}
|
|
2171
2275
|
|
|
2172
2276
|
const renderMultiSelectError = (
|
|
@@ -2174,8 +2278,8 @@ const renderMultiSelectError = (
|
|
|
2174
2278
|
pointer: string,
|
|
2175
2279
|
renderOptions?: RenderOptions | undefined
|
|
2176
2280
|
): string => {
|
|
2177
|
-
if (state.error
|
|
2178
|
-
return Arr.match(state.error.split(NEWLINE_REGEXP), {
|
|
2281
|
+
if (Option.isSome(state.error)) {
|
|
2282
|
+
return Arr.match(state.error.value.split(NEWLINE_REGEXP), {
|
|
2179
2283
|
onEmpty: () => "",
|
|
2180
2284
|
onNonEmpty: (errorLines) => {
|
|
2181
2285
|
if (renderOptions?.plain === true) {
|
|
@@ -2252,7 +2356,9 @@ const renderMultiSelectChoices = <A>(
|
|
|
2252
2356
|
const annotatedCheckbox = isHighlighted && renderOptions?.plain !== true
|
|
2253
2357
|
? Ansi.annotate(checkbox, Ansi.cyanBright)
|
|
2254
2358
|
: checkbox
|
|
2255
|
-
const title =
|
|
2359
|
+
const title = isHighlighted && renderOptions?.plain !== true
|
|
2360
|
+
? Ansi.annotate(choice.title, Ansi.cyanBright)
|
|
2361
|
+
: choice.title
|
|
2256
2362
|
const description = renderChoiceDescription(choice as SelectChoice<A>, isHighlighted, renderOptions)
|
|
2257
2363
|
documents.push(prefix + " " + annotatedCheckbox + " " + title + " " + description)
|
|
2258
2364
|
}
|
|
@@ -2347,12 +2453,12 @@ const handleMultiSelectProcess = <A>(options: SelectOptionsReq<A> & MultiSelectO
|
|
|
2347
2453
|
switch (input.key.name) {
|
|
2348
2454
|
case "k":
|
|
2349
2455
|
case "up": {
|
|
2350
|
-
return processMultiSelectCursorUp({ ...state, error:
|
|
2456
|
+
return processMultiSelectCursorUp({ ...state, error: Option.none() }, totalChoices)
|
|
2351
2457
|
}
|
|
2352
2458
|
case "j":
|
|
2353
2459
|
case "down":
|
|
2354
2460
|
case "tab": {
|
|
2355
|
-
return processMultiSelectCursorDown({ ...state, error:
|
|
2461
|
+
return processMultiSelectCursorDown({ ...state, error: Option.none() }, totalChoices)
|
|
2356
2462
|
}
|
|
2357
2463
|
case "space": {
|
|
2358
2464
|
return processSpace(state, options)
|
|
@@ -2362,12 +2468,12 @@ const handleMultiSelectProcess = <A>(options: SelectOptionsReq<A> & MultiSelectO
|
|
|
2362
2468
|
const selectedCount = state.selectedIndices.size
|
|
2363
2469
|
if (options.min !== undefined && selectedCount < options.min) {
|
|
2364
2470
|
return Effect.succeed(
|
|
2365
|
-
Action.NextFrame({ state: { ...state, error: `At least ${options.min} are required` } })
|
|
2471
|
+
Action.NextFrame({ state: { ...state, error: Option.some(`At least ${options.min} are required`) } })
|
|
2366
2472
|
)
|
|
2367
2473
|
}
|
|
2368
2474
|
if (options.max !== undefined && selectedCount > options.max) {
|
|
2369
2475
|
return Effect.succeed(
|
|
2370
|
-
Action.NextFrame({ state: { ...state, error: `At most ${options.max} choices are allowed` } })
|
|
2476
|
+
Action.NextFrame({ state: { ...state, error: Option.some(`At most ${options.max} choices are allowed`) } })
|
|
2371
2477
|
)
|
|
2372
2478
|
}
|
|
2373
2479
|
const selectedValues = Array.from(state.selectedIndices).sort(EffectNumber.Order).map((index) =>
|
|
@@ -2398,7 +2504,7 @@ interface FloatOptionsReq extends Required<FloatOptions> {}
|
|
|
2398
2504
|
interface NumberState {
|
|
2399
2505
|
readonly cursor: number
|
|
2400
2506
|
readonly value: string
|
|
2401
|
-
readonly error: string
|
|
2507
|
+
readonly error: Option.Option<string>
|
|
2402
2508
|
}
|
|
2403
2509
|
|
|
2404
2510
|
const handleNumberClear = (options: IntegerOptionsReq) => {
|
|
@@ -2423,7 +2529,7 @@ const renderNumberInput = (
|
|
|
2423
2529
|
if (submitted || renderOptions?.plain === true) {
|
|
2424
2530
|
return value
|
|
2425
2531
|
}
|
|
2426
|
-
const annotation = state.error
|
|
2532
|
+
const annotation = Option.isSome(state.error) ?
|
|
2427
2533
|
Ansi.red :
|
|
2428
2534
|
Ansi.combine(Ansi.underlined, Ansi.cyanBright)
|
|
2429
2535
|
return Ansi.annotate(value, annotation)
|
|
@@ -2434,8 +2540,8 @@ const renderNumberError = (
|
|
|
2434
2540
|
pointer: string,
|
|
2435
2541
|
renderOptions?: RenderOptions | undefined
|
|
2436
2542
|
) => {
|
|
2437
|
-
if (state.error
|
|
2438
|
-
return Arr.match(state.error.split(NEWLINE_REGEXP), {
|
|
2543
|
+
if (Option.isSome(state.error)) {
|
|
2544
|
+
return Arr.match(state.error.value.split(NEWLINE_REGEXP), {
|
|
2439
2545
|
onEmpty: () => "",
|
|
2440
2546
|
onNonEmpty: (errorLines) => {
|
|
2441
2547
|
if (renderOptions?.plain === true) {
|
|
@@ -2485,14 +2591,19 @@ const processNumberBackspace = (state: NumberState) => {
|
|
|
2485
2591
|
}
|
|
2486
2592
|
const value = state.value.slice(0, state.value.length - 1)
|
|
2487
2593
|
return Effect.succeed(Action.NextFrame({
|
|
2488
|
-
state: { ...state, value, error:
|
|
2594
|
+
state: { ...state, value, error: Option.none() }
|
|
2489
2595
|
}))
|
|
2490
2596
|
}
|
|
2491
2597
|
|
|
2598
|
+
const processNumberClear = (state: NumberState) =>
|
|
2599
|
+
Effect.succeed(Action.NextFrame({
|
|
2600
|
+
state: { ...state, cursor: 0, value: "", error: Option.none() }
|
|
2601
|
+
}))
|
|
2602
|
+
|
|
2492
2603
|
const defaultIntProcessor = (input: string, state: NumberState) => {
|
|
2493
2604
|
if (state.value.length === 0 && input === "-") {
|
|
2494
2605
|
return Effect.succeed(Action.NextFrame({
|
|
2495
|
-
state: { ...state, value: "-", error:
|
|
2606
|
+
state: { ...state, value: "-", error: Option.none() }
|
|
2496
2607
|
}))
|
|
2497
2608
|
}
|
|
2498
2609
|
|
|
@@ -2501,7 +2612,7 @@ const defaultIntProcessor = (input: string, state: NumberState) => {
|
|
|
2501
2612
|
return Effect.succeed(Action.Beep())
|
|
2502
2613
|
} else {
|
|
2503
2614
|
return Effect.succeed(Action.NextFrame({
|
|
2504
|
-
state: { ...state, value: `${parsed}`, error:
|
|
2615
|
+
state: { ...state, value: `${parsed}`, error: Option.none() }
|
|
2505
2616
|
}))
|
|
2506
2617
|
}
|
|
2507
2618
|
}
|
|
@@ -2512,7 +2623,7 @@ const defaultFloatProcessor = (input: string, state: NumberState) => {
|
|
|
2512
2623
|
}
|
|
2513
2624
|
if (state.value.length === 0 && input === "-") {
|
|
2514
2625
|
return Effect.succeed(Action.NextFrame({
|
|
2515
|
-
state: { ...state, value: "-", error:
|
|
2626
|
+
state: { ...state, value: "-", error: Option.none() }
|
|
2516
2627
|
}))
|
|
2517
2628
|
}
|
|
2518
2629
|
|
|
@@ -2524,7 +2635,7 @@ const defaultFloatProcessor = (input: string, state: NumberState) => {
|
|
|
2524
2635
|
state: {
|
|
2525
2636
|
...state,
|
|
2526
2637
|
value: input === "." ? `${parsed}.` : `${parsed}`,
|
|
2527
|
-
error:
|
|
2638
|
+
error: Option.none()
|
|
2528
2639
|
}
|
|
2529
2640
|
}))
|
|
2530
2641
|
}
|
|
@@ -2542,6 +2653,9 @@ const handleRenderInteger = (options: IntegerOptionsReq) => {
|
|
|
2542
2653
|
|
|
2543
2654
|
const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
2544
2655
|
return (input: Terminal.UserInput, state: NumberState) => {
|
|
2656
|
+
if (input.key.ctrl && input.key.name === "u") {
|
|
2657
|
+
return processNumberClear(state)
|
|
2658
|
+
}
|
|
2545
2659
|
switch (input.key.name) {
|
|
2546
2660
|
case "backspace": {
|
|
2547
2661
|
return processNumberBackspace(state)
|
|
@@ -2554,7 +2668,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2554
2668
|
value: state.value === "" || state.value === "-"
|
|
2555
2669
|
? `${options.incrementBy}`
|
|
2556
2670
|
: `${Number.parseInt(state.value) + options.incrementBy}`,
|
|
2557
|
-
error:
|
|
2671
|
+
error: Option.none()
|
|
2558
2672
|
}
|
|
2559
2673
|
}))
|
|
2560
2674
|
}
|
|
@@ -2566,7 +2680,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2566
2680
|
value: state.value === "" || state.value === "-"
|
|
2567
2681
|
? `-${options.decrementBy}`
|
|
2568
2682
|
: `${Number.parseInt(state.value) - options.decrementBy}`,
|
|
2569
|
-
error:
|
|
2683
|
+
error: Option.none()
|
|
2570
2684
|
}
|
|
2571
2685
|
}))
|
|
2572
2686
|
}
|
|
@@ -2577,7 +2691,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2577
2691
|
return Effect.succeed(Action.NextFrame({
|
|
2578
2692
|
state: {
|
|
2579
2693
|
...state,
|
|
2580
|
-
error: "Must provide an integer value"
|
|
2694
|
+
error: Option.some("Must provide an integer value")
|
|
2581
2695
|
}
|
|
2582
2696
|
}))
|
|
2583
2697
|
} else {
|
|
@@ -2586,7 +2700,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2586
2700
|
Action.NextFrame({
|
|
2587
2701
|
state: {
|
|
2588
2702
|
...state,
|
|
2589
|
-
error
|
|
2703
|
+
error: Option.some(error)
|
|
2590
2704
|
}
|
|
2591
2705
|
}),
|
|
2592
2706
|
onSuccess: (value) => Action.Submit({ value })
|
|
@@ -2594,7 +2708,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2594
2708
|
}
|
|
2595
2709
|
}
|
|
2596
2710
|
default: {
|
|
2597
|
-
return defaultIntProcessor(input.input
|
|
2711
|
+
return defaultIntProcessor(Option.getOrElse(input.input, () => ""), state)
|
|
2598
2712
|
}
|
|
2599
2713
|
}
|
|
2600
2714
|
}
|
|
@@ -2612,6 +2726,9 @@ const handleRenderFloat = (options: FloatOptionsReq) => {
|
|
|
2612
2726
|
|
|
2613
2727
|
const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
2614
2728
|
return (input: Terminal.UserInput, state: NumberState) => {
|
|
2729
|
+
if (input.key.ctrl && input.key.name === "u") {
|
|
2730
|
+
return processNumberClear(state)
|
|
2731
|
+
}
|
|
2615
2732
|
switch (input.key.name) {
|
|
2616
2733
|
case "backspace": {
|
|
2617
2734
|
return processNumberBackspace(state)
|
|
@@ -2624,7 +2741,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2624
2741
|
value: state.value === "" || state.value === "-"
|
|
2625
2742
|
? `${options.incrementBy}`
|
|
2626
2743
|
: `${Number.parseFloat(state.value) + options.incrementBy}`,
|
|
2627
|
-
error:
|
|
2744
|
+
error: Option.none()
|
|
2628
2745
|
}
|
|
2629
2746
|
}))
|
|
2630
2747
|
}
|
|
@@ -2636,7 +2753,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2636
2753
|
value: state.value === "" || state.value === "-"
|
|
2637
2754
|
? `-${options.decrementBy}`
|
|
2638
2755
|
: `${Number.parseFloat(state.value) - options.decrementBy}`,
|
|
2639
|
-
error:
|
|
2756
|
+
error: Option.none()
|
|
2640
2757
|
}
|
|
2641
2758
|
}))
|
|
2642
2759
|
}
|
|
@@ -2647,7 +2764,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2647
2764
|
return Effect.succeed(Action.NextFrame({
|
|
2648
2765
|
state: {
|
|
2649
2766
|
...state,
|
|
2650
|
-
error: "Must provide a floating point value"
|
|
2767
|
+
error: Option.some("Must provide a floating point value")
|
|
2651
2768
|
}
|
|
2652
2769
|
}))
|
|
2653
2770
|
} else {
|
|
@@ -2659,7 +2776,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2659
2776
|
Action.NextFrame({
|
|
2660
2777
|
state: {
|
|
2661
2778
|
...state,
|
|
2662
|
-
error
|
|
2779
|
+
error: Option.some(error)
|
|
2663
2780
|
}
|
|
2664
2781
|
}),
|
|
2665
2782
|
onSuccess: (value) => Action.Submit({ value })
|
|
@@ -2668,7 +2785,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2668
2785
|
}
|
|
2669
2786
|
}
|
|
2670
2787
|
default: {
|
|
2671
|
-
return defaultFloatProcessor(input.input
|
|
2788
|
+
return defaultFloatProcessor(Option.getOrElse(input.input, () => ""), state)
|
|
2672
2789
|
}
|
|
2673
2790
|
}
|
|
2674
2791
|
}
|
|
@@ -2712,7 +2829,7 @@ const updateAutoCompleteState = <A>(
|
|
|
2712
2829
|
}
|
|
2713
2830
|
|
|
2714
2831
|
const autoCompleteCursor = (state: AutoCompleteState) =>
|
|
2715
|
-
Arr.findFirstIndex(state.filtered, (index) => index === state.index)
|
|
2832
|
+
Option.getOrElse(Arr.findFirstIndex(state.filtered, (index) => index === state.index), () => 0)
|
|
2716
2833
|
|
|
2717
2834
|
const renderSelectOutput = <A>(
|
|
2718
2835
|
leadingSymbol: string,
|
|
@@ -2962,6 +3079,9 @@ const processAutoCompleteBackspace = <A>(state: AutoCompleteState, options: Auto
|
|
|
2962
3079
|
return Effect.succeed(Action.NextFrame({ state: updateAutoCompleteState(state, options, query) }))
|
|
2963
3080
|
}
|
|
2964
3081
|
|
|
3082
|
+
const processAutoCompleteClear = <A>(state: AutoCompleteState, options: AutoCompleteOptionsReq<A>) =>
|
|
3083
|
+
Effect.succeed(Action.NextFrame({ state: updateAutoCompleteState(state, options, "") }))
|
|
3084
|
+
|
|
2965
3085
|
const processAutoCompleteInput = <A>(input: string, state: AutoCompleteState, options: AutoCompleteOptionsReq<A>) => {
|
|
2966
3086
|
if (input.length === 0) {
|
|
2967
3087
|
return Effect.succeed(Action.Beep())
|
|
@@ -3045,6 +3165,12 @@ const handleSelectProcess = <A>(options: SelectOptionsReq<A>) => {
|
|
|
3045
3165
|
|
|
3046
3166
|
const handleAutoCompleteProcess = <A>(options: AutoCompleteOptionsReq<A>) => {
|
|
3047
3167
|
return (input: Terminal.UserInput, state: AutoCompleteState) => {
|
|
3168
|
+
if (input.key.ctrl) {
|
|
3169
|
+
if (input.key.name === "u") {
|
|
3170
|
+
return processAutoCompleteClear(state, options)
|
|
3171
|
+
}
|
|
3172
|
+
return Effect.succeed(Action.Beep())
|
|
3173
|
+
}
|
|
3048
3174
|
switch (input.key.name) {
|
|
3049
3175
|
case "k":
|
|
3050
3176
|
case "up": {
|
|
@@ -3072,7 +3198,7 @@ const handleAutoCompleteProcess = <A>(options: AutoCompleteOptionsReq<A>) => {
|
|
|
3072
3198
|
return Effect.succeed(Action.Submit({ value: selected.value }))
|
|
3073
3199
|
}
|
|
3074
3200
|
default: {
|
|
3075
|
-
return processAutoCompleteInput(input.input
|
|
3201
|
+
return processAutoCompleteInput(Option.getOrElse(input.input, () => ""), state, options)
|
|
3076
3202
|
}
|
|
3077
3203
|
}
|
|
3078
3204
|
}
|
|
@@ -3088,11 +3214,7 @@ interface TextOptionsReq extends Required<TextOptions> {
|
|
|
3088
3214
|
interface TextState {
|
|
3089
3215
|
readonly cursor: number
|
|
3090
3216
|
readonly value: string
|
|
3091
|
-
readonly error: string
|
|
3092
|
-
}
|
|
3093
|
-
|
|
3094
|
-
const getValue = (state: TextState, options: TextOptionsReq): string => {
|
|
3095
|
-
return state.value.length > 0 ? state.value : options.default
|
|
3217
|
+
readonly error: Option.Option<string>
|
|
3096
3218
|
}
|
|
3097
3219
|
|
|
3098
3220
|
const renderClearScreen = Effect.fnUntraced(function*(state: TextState, options: TextOptionsReq) {
|
|
@@ -3115,7 +3237,7 @@ const renderTextInput = (
|
|
|
3115
3237
|
submitted: boolean,
|
|
3116
3238
|
renderOptions?: RenderOptions | undefined
|
|
3117
3239
|
) => {
|
|
3118
|
-
const text =
|
|
3240
|
+
const text = nextState.value
|
|
3119
3241
|
if (renderOptions?.plain === true) {
|
|
3120
3242
|
switch (options.type) {
|
|
3121
3243
|
case "hidden": {
|
|
@@ -3130,7 +3252,7 @@ const renderTextInput = (
|
|
|
3130
3252
|
}
|
|
3131
3253
|
}
|
|
3132
3254
|
|
|
3133
|
-
const annotation = nextState.error
|
|
3255
|
+
const annotation = Option.isSome(nextState.error) ?
|
|
3134
3256
|
Ansi.red
|
|
3135
3257
|
: submitted ?
|
|
3136
3258
|
Ansi.white
|
|
@@ -3156,8 +3278,8 @@ const renderTextError = (
|
|
|
3156
3278
|
pointer: string,
|
|
3157
3279
|
renderOptions?: RenderOptions | undefined
|
|
3158
3280
|
): string => {
|
|
3159
|
-
if (nextState.error
|
|
3160
|
-
return Arr.match(nextState.error.split(NEWLINE_REGEXP), {
|
|
3281
|
+
if (Option.isSome(nextState.error)) {
|
|
3282
|
+
return Arr.match(nextState.error.value.split(NEWLINE_REGEXP), {
|
|
3161
3283
|
onEmpty: () => "",
|
|
3162
3284
|
onNonEmpty: (errorLines) => {
|
|
3163
3285
|
if (renderOptions?.plain === true) {
|
|
@@ -3212,11 +3334,18 @@ const processTextBackspace = (state: TextState) => {
|
|
|
3212
3334
|
const value = `${beforeCursor}${afterCursor}`
|
|
3213
3335
|
return Effect.succeed(
|
|
3214
3336
|
Action.NextFrame({
|
|
3215
|
-
state: { ...state, cursor, value, error:
|
|
3337
|
+
state: { ...state, cursor, value, error: Option.none() }
|
|
3216
3338
|
})
|
|
3217
3339
|
)
|
|
3218
3340
|
}
|
|
3219
3341
|
|
|
3342
|
+
const processTextClear = (state: TextState) =>
|
|
3343
|
+
Effect.succeed(
|
|
3344
|
+
Action.NextFrame({
|
|
3345
|
+
state: { ...state, cursor: 0, value: "", error: Option.none() }
|
|
3346
|
+
})
|
|
3347
|
+
)
|
|
3348
|
+
|
|
3220
3349
|
const processTextCursorLeft = (state: TextState) => {
|
|
3221
3350
|
if (state.cursor <= 0) {
|
|
3222
3351
|
return Effect.succeed(Action.Beep())
|
|
@@ -3224,7 +3353,7 @@ const processTextCursorLeft = (state: TextState) => {
|
|
|
3224
3353
|
const cursor = state.cursor - 1
|
|
3225
3354
|
return Effect.succeed(
|
|
3226
3355
|
Action.NextFrame({
|
|
3227
|
-
state: { ...state, cursor, error:
|
|
3356
|
+
state: { ...state, cursor, error: Option.none() }
|
|
3228
3357
|
})
|
|
3229
3358
|
)
|
|
3230
3359
|
}
|
|
@@ -3236,20 +3365,33 @@ const processTextCursorRight = (state: TextState) => {
|
|
|
3236
3365
|
const cursor = Math.min(state.cursor + 1, state.value.length)
|
|
3237
3366
|
return Effect.succeed(
|
|
3238
3367
|
Action.NextFrame({
|
|
3239
|
-
state: { ...state, cursor, error:
|
|
3368
|
+
state: { ...state, cursor, error: Option.none() }
|
|
3240
3369
|
})
|
|
3241
3370
|
)
|
|
3242
3371
|
}
|
|
3243
3372
|
|
|
3373
|
+
const processTextCursorStart = (state: TextState) =>
|
|
3374
|
+
Effect.succeed(
|
|
3375
|
+
Action.NextFrame({
|
|
3376
|
+
state: { ...state, cursor: 0, error: Option.none() }
|
|
3377
|
+
})
|
|
3378
|
+
)
|
|
3379
|
+
|
|
3380
|
+
const processTextCursorEnd = (state: TextState) =>
|
|
3381
|
+
Effect.succeed(
|
|
3382
|
+
Action.NextFrame({
|
|
3383
|
+
state: { ...state, cursor: state.value.length, error: Option.none() }
|
|
3384
|
+
})
|
|
3385
|
+
)
|
|
3386
|
+
|
|
3244
3387
|
const processTab = (state: TextState, options: TextOptionsReq) => {
|
|
3245
3388
|
if (state.value === options.default) {
|
|
3246
3389
|
return Effect.succeed(Action.Beep())
|
|
3247
3390
|
}
|
|
3248
|
-
const value =
|
|
3249
|
-
const cursor = value.length
|
|
3391
|
+
const value = state.value.length === 0 ? options.default : state.value
|
|
3250
3392
|
return Effect.succeed(
|
|
3251
3393
|
Action.NextFrame({
|
|
3252
|
-
state: { ...state, value, cursor, error:
|
|
3394
|
+
state: { ...state, value, cursor: value.length, error: Option.none() }
|
|
3253
3395
|
})
|
|
3254
3396
|
)
|
|
3255
3397
|
}
|
|
@@ -3261,7 +3403,7 @@ const defaultTextProcessor = (input: string, state: TextState) => {
|
|
|
3261
3403
|
const cursor = state.cursor + input.length
|
|
3262
3404
|
return Effect.succeed(
|
|
3263
3405
|
Action.NextFrame({
|
|
3264
|
-
state: { ...state, cursor, value, error:
|
|
3406
|
+
state: { ...state, cursor, value, error: Option.none() }
|
|
3265
3407
|
})
|
|
3266
3408
|
)
|
|
3267
3409
|
}
|
|
@@ -3278,6 +3420,22 @@ const handleTextRender = (options: TextOptionsReq) => {
|
|
|
3278
3420
|
|
|
3279
3421
|
const handleTextProcess = (options: TextOptionsReq) => {
|
|
3280
3422
|
return (input: Terminal.UserInput, state: TextState) => {
|
|
3423
|
+
if (input.key.ctrl) {
|
|
3424
|
+
switch (input.key.name) {
|
|
3425
|
+
case "u": {
|
|
3426
|
+
return processTextClear(state)
|
|
3427
|
+
}
|
|
3428
|
+
case "a": {
|
|
3429
|
+
return processTextCursorStart(state)
|
|
3430
|
+
}
|
|
3431
|
+
case "e": {
|
|
3432
|
+
return processTextCursorEnd(state)
|
|
3433
|
+
}
|
|
3434
|
+
default: {
|
|
3435
|
+
return Effect.succeed(Action.Beep())
|
|
3436
|
+
}
|
|
3437
|
+
}
|
|
3438
|
+
}
|
|
3281
3439
|
switch (input.key.name) {
|
|
3282
3440
|
case "backspace": {
|
|
3283
3441
|
return processTextBackspace(state)
|
|
@@ -3288,13 +3446,19 @@ const handleTextProcess = (options: TextOptionsReq) => {
|
|
|
3288
3446
|
case "right": {
|
|
3289
3447
|
return processTextCursorRight(state)
|
|
3290
3448
|
}
|
|
3449
|
+
case "home": {
|
|
3450
|
+
return processTextCursorStart(state)
|
|
3451
|
+
}
|
|
3452
|
+
case "end": {
|
|
3453
|
+
return processTextCursorEnd(state)
|
|
3454
|
+
}
|
|
3291
3455
|
case "enter":
|
|
3292
3456
|
case "return": {
|
|
3293
|
-
const value =
|
|
3457
|
+
const value = state.value
|
|
3294
3458
|
return Effect.match(options.validate(value), {
|
|
3295
3459
|
onFailure: (error) =>
|
|
3296
3460
|
Action.NextFrame({
|
|
3297
|
-
state: { ...state, value, error }
|
|
3461
|
+
state: { ...state, value, error: Option.some(error) }
|
|
3298
3462
|
}),
|
|
3299
3463
|
onSuccess: (value) => Action.Submit({ value })
|
|
3300
3464
|
})
|
|
@@ -3303,7 +3467,7 @@ const handleTextProcess = (options: TextOptionsReq) => {
|
|
|
3303
3467
|
return processTab(state, options)
|
|
3304
3468
|
}
|
|
3305
3469
|
default: {
|
|
3306
|
-
return defaultTextProcessor(input.input
|
|
3470
|
+
return defaultTextProcessor(Option.getOrElse(input.input, () => ""), state)
|
|
3307
3471
|
}
|
|
3308
3472
|
}
|
|
3309
3473
|
}
|
|
@@ -3329,7 +3493,7 @@ const basePrompt = (
|
|
|
3329
3493
|
const initialState: TextState = {
|
|
3330
3494
|
cursor: opts.default.length,
|
|
3331
3495
|
value: opts.default,
|
|
3332
|
-
error:
|
|
3496
|
+
error: Option.none()
|
|
3333
3497
|
}
|
|
3334
3498
|
return custom(initialState, {
|
|
3335
3499
|
render: handleTextRender(opts),
|