effect 4.0.0-beta.6 → 4.0.0-beta.62
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 +105 -52
- 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 +36 -33
- package/dist/BigInt.js.map +1 -1
- package/dist/Brand.d.ts +3 -5
- 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 +14 -45
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +21 -47
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +53 -22
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +108 -10
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +166 -48
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +176 -87
- 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/Clock.d.ts +2 -2
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.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 +189 -29
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +85 -35
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +6 -6
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -5
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +1150 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/{ServiceMap.js → Context.js} +181 -165
- package/dist/Context.js.map +1 -0
- 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 +533 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +125 -73
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +74 -255
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +17 -62
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +12 -5
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +13 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +74 -40
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +126 -87
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1435 -927
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +516 -328
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +29 -0
- package/dist/Effectable.d.ts.map +1 -0
- package/dist/Effectable.js +31 -0
- package/dist/Effectable.js.map +1 -0
- package/dist/Encoding.d.ts +1 -1
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +140 -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/ExecutionPlan.d.ts +6 -6
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +4 -4
- package/dist/ExecutionPlan.js.map +1 -1
- 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 +10 -8
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +11 -10
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +12 -11
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +22 -21
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +10 -10
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +2 -2
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +4 -4
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +20 -19
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +15 -11
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +4 -37
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +0 -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 +243 -55
- 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 +58 -60
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.js +1 -1
- package/dist/Hash.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/Inspectable.d.ts +0 -4
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +4 -13
- package/dist/Inspectable.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 +69 -3
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +58 -0
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +599 -379
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +249 -180
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +27 -26
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +21 -18
- 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 +31 -97
- 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 +8 -8
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +34 -25
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +23 -25
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +24 -26
- 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/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +3 -0
- package/dist/MutableList.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 +46 -18
- 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 +183 -0
- package/dist/PartitionedSemaphore.d.ts.map +1 -0
- package/dist/PartitionedSemaphore.js +231 -0
- package/dist/PartitionedSemaphore.js.map +1 -0
- package/dist/Path.d.ts +2 -2
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +2 -2
- package/dist/Path.js.map +1 -1
- package/dist/PlatformError.d.ts +2 -2
- package/dist/Pool.d.ts +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +5 -5
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +1 -1
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/PubSub.d.ts +5 -4
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +15 -8
- 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 +36 -2
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -35
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +4 -4
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +13 -13
- 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/Redactable.d.ts +139 -62
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +59 -55
- package/dist/Redactable.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 +257 -229
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +240 -259
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +5 -5
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +25 -25
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +15 -16
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +0 -3
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +5 -4
- 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 +132 -120
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +36 -125
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +37 -126
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +3213 -392
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2058 -252
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +13 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +340 -257
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +55 -13
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +73 -11
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +29 -11
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +44 -54
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +69 -4
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +2 -2
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +63 -39
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +245 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +297 -33
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +2 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +5 -5
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +148 -52
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +135 -117
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +22 -19
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +54 -7
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +18 -6
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +20 -2
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +465 -542
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +329 -145
- 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 +7 -7
- package/dist/Struct.d.ts.map +1 -1
- package/dist/SubscriptionRef.d.ts +1 -2
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +83 -116
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Terminal.d.ts +5 -4
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +21 -20
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +13 -9
- 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 +4 -4
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +4 -4
- 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 +105 -86
- 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 +2 -2
- 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 +1 -1
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +42 -57
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +500 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +481 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +14 -20
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +8 -10
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +162 -2
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +25 -10
- 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 -22
- package/dist/Types.d.ts.map +1 -1
- package/dist/Unify.d.ts +8 -2
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js.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 +886 -71
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +886 -71
- package/dist/index.js.map +1 -1
- 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 +502 -326
- 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/layer.js +3 -3
- package/dist/internal/layer.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 +9 -9
- 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 +6 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +1 -1
- package/dist/internal/schedule.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 +87 -109
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.d.ts +10 -1
- package/dist/internal/schema/schema.d.ts.map +1 -1
- package/dist/internal/schema/schema.js +59 -1
- package/dist/internal/schema/schema.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 +5 -5
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +2 -2
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +267 -33
- 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 +127 -45
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +29 -23
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +9 -2
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +39 -11
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +40 -47
- 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/IdGenerator.d.ts +2 -2
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -2
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +119 -49
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +260 -61
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +207 -112
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +71 -19
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -15
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +225 -73
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +27 -9
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +25 -9
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +9 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +17 -17
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +6 -9
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +24 -24
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +7 -8
- 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/Telemetry.d.ts +35 -2
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +2 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +2 -2
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +2 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +46 -16
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +68 -22
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +4 -4
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +14 -21
- 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 +5 -7
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +4 -7
- 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 +51 -63
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +32 -57
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +5 -4
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +67 -12
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +372 -59
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +328 -66
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +97 -0
- package/dist/unstable/cli/Completions.d.ts.map +1 -0
- package/dist/unstable/cli/Completions.js +25 -0
- package/dist/unstable/cli/Completions.js.map +1 -0
- package/dist/unstable/cli/Flag.d.ts +4 -5
- 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 +34 -6
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +24 -14
- 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 +266 -86
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.d.ts +10 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +10 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +41 -15
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +84 -47
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.d.ts +2 -0
- package/dist/unstable/cli/internal/completions/descriptor.d.ts.map +1 -0
- package/dist/unstable/cli/internal/completions/{CommandDescriptor.js → descriptor.js} +17 -5
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -0
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.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 +155 -58
- 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/ClusterError.d.ts +7 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts +28 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +28 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +4 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +96 -63
- 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 +17 -16
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +31 -25
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
- 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/EntityProxy.js +3 -3
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js +6 -6
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +4 -4
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/HttpRunner.js +2 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +5 -5
- package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +7 -7
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +16 -10
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +16 -8
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +46 -23
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +40 -25
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +7 -6
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +8 -7
- 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 +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/RunnerHealth.d.ts +2 -2
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -2
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +10 -9
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +3 -3
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +5 -4
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +16 -14
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.d.ts +35 -49
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardId.js +65 -67
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +4 -4
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +59 -49
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +28 -27
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +27 -27
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +2 -2
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +24 -20
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +7 -7
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +30 -24
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -2
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +3 -3
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +9 -8
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +4 -4
- 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 +3 -3
- 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/Event.d.ts +0 -6
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.js +0 -5
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
- package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventGroup.js +0 -2
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +27 -10
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +130 -71
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +94 -37
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +225 -151
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +11 -9
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +15 -17
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogMessage.js +214 -0
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
- package/dist/unstable/eventlog/EventLogRemote.d.ts +112 -194
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +168 -322
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +26 -48
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +128 -199
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +28 -21
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +69 -27
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +355 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
- package/dist/unstable/eventlog/index.d.ts +22 -2
- package/dist/unstable/eventlog/index.d.ts.map +1 -1
- package/dist/unstable/eventlog/index.js +22 -2
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
- package/dist/unstable/http/Cookies.d.ts +51 -6
- 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 +2 -2
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +7 -3
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +5 -5
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +24 -4
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +42 -13
- 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 +125 -21
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +197 -19
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +8 -8
- 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 +18 -3
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +13 -11
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +51 -51
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +5 -4
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +6 -10
- 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 +4 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +47 -43
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +2 -2
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +5 -4
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +9 -8
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +36 -36
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +2 -2
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +4 -4
- 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 +19 -7
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +307 -13
- 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 +52 -5
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +240 -5
- 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 +7 -7
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +7 -7
- package/dist/unstable/http/Multipart.js.map +1 -1
- 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 +18 -9
- 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 +11 -11
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +8 -8
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +12 -9
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +73 -48
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +82 -7
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +79 -11
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +210 -105
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +52 -47
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +66 -29
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +138 -32
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +9 -8
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +49 -17
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +38 -8
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +88 -9
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +86 -11
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +17 -25
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +59 -60
- 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 +8 -8
- 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/OtlpMetrics.js +2 -2
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
- package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js +2 -2
- package/dist/unstable/observability/OtlpSerialization.js.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/observability/PrometheusMetrics.d.ts +3 -3
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -33
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +4 -4
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +24 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +144 -2
- 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 +1 -2
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +10 -11
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +16 -16
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +9 -9
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +5 -5
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +5 -5
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +9 -9
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +4 -4
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +3 -3
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.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 +83 -8
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +22 -2
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +37 -17
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +9 -0
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +108 -47
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +105 -25
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +25 -20
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +58 -26
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +8 -2
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +57 -14
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +12 -12
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +59 -31
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +6 -6
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +137 -19
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +99 -7
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +26 -47
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +117 -75
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts +15 -11
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js +30 -20
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +12 -12
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +5 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +14 -1
- 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 +13 -2
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +60 -27
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +8 -12
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +73 -43
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +6 -3
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +46 -5
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +24 -3
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +17 -4
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +7 -7
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +7 -18
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +35 -15
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +34 -27
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +8 -5
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +2 -2
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- 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 +24 -6
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +37 -32
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +2 -2
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js +5 -2
- package/dist/unstable/sql/SqlConnection.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 +8 -9
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +12 -38
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +24 -17
- 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.d.ts +3 -5
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +14 -13
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +4 -4
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +7 -7
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +3 -3
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +6 -3
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +5 -5
- package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
- package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerRunner.js +5 -2
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +8 -3
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +25 -11
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -6
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +6 -6
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +2 -5
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +33 -15
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +12 -14
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +30 -26
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +24 -7
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +165 -16
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +11 -10
- package/src/Array.ts +304 -447
- package/src/BigDecimal.ts +137 -82
- package/src/BigInt.ts +53 -45
- package/src/Brand.ts +3 -5
- package/src/Cache.ts +27 -54
- package/src/Cause.ts +57 -22
- package/src/Channel.ts +687 -220
- package/src/Chunk.ts +149 -331
- package/src/Clock.ts +2 -2
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +214 -52
- package/src/ConfigProvider.ts +5 -5
- package/src/Console.ts +2 -2
- package/src/Context.ts +1454 -0
- package/src/Cron.ts +155 -63
- package/src/Data.ts +530 -368
- package/src/DateTime.ts +77 -258
- package/src/Deferred.ts +15 -6
- package/src/Duration.ts +151 -81
- package/src/Effect.ts +1633 -1055
- package/src/Effectable.ts +47 -0
- package/src/Equal.ts +293 -109
- package/src/Equivalence.ts +114 -52
- package/src/ErrorReporter.ts +458 -0
- package/src/ExecutionPlan.ts +8 -9
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +17 -8
- package/src/FiberHandle.ts +15 -14
- package/src/FiberMap.ts +27 -27
- package/src/FiberSet.ts +5 -5
- package/src/FileSystem.ts +30 -26
- package/src/Filter.ts +4 -62
- package/src/Formatter.ts +268 -60
- package/src/Function.ts +2 -10
- package/src/Graph.ts +123 -112
- package/src/Hash.ts +2 -2
- package/src/HashMap.ts +26 -19
- package/src/Inspectable.ts +2 -22
- package/src/Iterable.ts +117 -63
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +85 -3
- package/src/Layer.ts +728 -441
- package/src/LayerMap.ts +38 -35
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +35 -102
- package/src/ManagedRuntime.ts +61 -48
- package/src/Metric.ts +64 -66
- package/src/MutableHashMap.ts +9 -0
- package/src/MutableHashSet.ts +9 -0
- package/src/MutableList.ts +3 -0
- package/src/Newtype.ts +308 -0
- package/src/Number.ts +98 -29
- package/src/Optic.ts +948 -19
- package/src/Option.ts +34 -24
- package/src/Order.ts +39 -32
- package/src/PartitionedSemaphore.ts +414 -0
- package/src/Path.ts +2 -2
- package/src/Pool.ts +9 -9
- package/src/Predicate.ts +1 -1
- package/src/PubSub.ts +20 -11
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +11 -9
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +19 -19
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +94 -199
- package/src/Redactable.ts +146 -72
- package/src/Reducer.ts +166 -7
- package/src/References.ts +283 -287
- package/src/Request.ts +5 -5
- package/src/RequestResolver.ts +34 -35
- package/src/Resource.ts +6 -5
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +243 -336
- package/src/Scheduler.ts +52 -129
- package/src/Schema.ts +3769 -597
- package/src/SchemaAST.ts +480 -302
- package/src/SchemaGetter.ts +80 -24
- package/src/SchemaIssue.ts +28 -15
- package/src/SchemaParser.ts +100 -29
- package/src/SchemaRepresentation.ts +57 -33
- package/src/SchemaTransformation.ts +321 -32
- package/src/Scope.ts +2 -2
- package/src/ScopedCache.ts +8 -8
- package/src/Semaphore.ts +268 -182
- package/src/Sink.ts +89 -34
- package/src/Stdio.ts +29 -6
- package/src/Stream.ts +908 -752
- package/src/String.ts +122 -69
- package/src/Struct.ts +7 -7
- package/src/SubscriptionRef.ts +98 -118
- package/src/Terminal.ts +5 -4
- package/src/Tracer.ts +23 -22
- package/src/Trie.ts +44 -31
- package/src/TxChunk.ts +26 -16
- package/src/TxDeferred.ts +391 -0
- package/src/TxHashMap.ts +347 -291
- package/src/TxHashSet.ts +54 -61
- package/src/TxPriorityQueue.ts +762 -0
- package/src/TxPubSub.ts +787 -0
- package/src/TxQueue.ts +221 -245
- package/src/TxReentrantLock.ts +729 -0
- package/src/TxRef.ts +31 -31
- package/src/TxSemaphore.ts +203 -31
- package/src/TxSubscriptionRef.ts +637 -0
- package/src/Types.ts +75 -23
- package/src/Unify.ts +26 -2
- package/src/Utils.ts +137 -111
- package/src/index.ts +896 -73
- package/src/internal/core.ts +9 -10
- package/src/internal/dateTime.ts +91 -96
- package/src/internal/effect.ts +1179 -614
- package/src/internal/hashMap.ts +12 -10
- package/src/internal/layer.ts +7 -7
- package/src/internal/option.ts +7 -0
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +12 -12
- package/src/internal/references.ts +72 -0
- package/src/internal/request.ts +8 -8
- package/src/internal/schedule.ts +3 -1
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/representation.ts +82 -97
- package/src/internal/schema/schema.ts +68 -1
- package/src/internal/trie.ts +21 -15
- package/src/testing/TestClock.ts +6 -6
- package/src/testing/TestSchema.ts +333 -36
- package/src/testing/index.ts +64 -1
- package/src/unstable/ai/AiError.ts +111 -53
- package/src/unstable/ai/AnthropicStructuredOutput.ts +7 -3
- package/src/unstable/ai/Chat.ts +136 -88
- package/src/unstable/ai/EmbeddingModel.ts +209 -0
- package/src/unstable/ai/IdGenerator.ts +2 -2
- package/src/unstable/ai/LanguageModel.ts +685 -255
- package/src/unstable/ai/McpSchema.ts +84 -22
- package/src/unstable/ai/McpServer.ts +307 -87
- package/src/unstable/ai/Model.ts +44 -13
- package/src/unstable/ai/OpenAiStructuredOutput.ts +9 -2
- package/src/unstable/ai/Prompt.ts +23 -29
- package/src/unstable/ai/Response.ts +29 -31
- package/src/unstable/ai/ResponseIdTracker.ts +95 -0
- package/src/unstable/ai/Telemetry.ts +2 -2
- package/src/unstable/ai/Tokenizer.ts +2 -2
- package/src/unstable/ai/Tool.ts +62 -36
- package/src/unstable/ai/Toolkit.ts +17 -26
- package/src/unstable/ai/index.ts +24 -1
- package/src/unstable/ai/internal/codec-transformer.ts +3 -9
- package/src/unstable/cli/Argument.ts +5 -8
- package/src/unstable/cli/CliError.ts +67 -66
- package/src/unstable/cli/CliOutput.ts +87 -15
- package/src/unstable/cli/Command.ts +808 -193
- package/src/unstable/cli/Completions.ts +107 -0
- package/src/unstable/cli/Flag.ts +5 -6
- package/src/unstable/cli/GlobalFlag.ts +242 -0
- package/src/unstable/cli/HelpDoc.ts +91 -11
- package/src/unstable/cli/Param.ts +54 -27
- package/src/unstable/cli/Primitive.ts +2 -2
- package/src/unstable/cli/Prompt.ts +275 -104
- package/src/unstable/cli/index.ts +12 -0
- package/src/unstable/cli/internal/command.ts +125 -64
- package/src/unstable/cli/internal/completions/bash.ts +7 -7
- package/src/unstable/cli/internal/completions/{CommandDescriptor.ts → descriptor.ts} +16 -58
- package/src/unstable/cli/internal/completions/fish.ts +7 -7
- package/src/unstable/cli/internal/completions/zsh.ts +8 -14
- 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 +201 -84
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +38 -10
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +142 -80
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- package/src/unstable/cluster/Entity.ts +58 -45
- package/src/unstable/cluster/EntityAddress.ts +1 -1
- package/src/unstable/cluster/EntityProxy.ts +3 -3
- package/src/unstable/cluster/EntityProxyServer.ts +6 -6
- package/src/unstable/cluster/EntityResource.ts +6 -6
- package/src/unstable/cluster/HttpRunner.ts +2 -2
- package/src/unstable/cluster/K8sHttpClient.ts +10 -10
- package/src/unstable/cluster/Message.ts +30 -17
- package/src/unstable/cluster/MessageStorage.ts +74 -45
- package/src/unstable/cluster/Reply.ts +13 -10
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- package/src/unstable/cluster/RunnerHealth.ts +2 -2
- package/src/unstable/cluster/RunnerServer.ts +11 -14
- package/src/unstable/cluster/RunnerStorage.ts +9 -9
- package/src/unstable/cluster/Runners.ts +22 -18
- package/src/unstable/cluster/ShardId.ts +84 -74
- package/src/unstable/cluster/Sharding.ts +75 -60
- package/src/unstable/cluster/ShardingConfig.ts +39 -40
- package/src/unstable/cluster/Snowflake.ts +2 -2
- package/src/unstable/cluster/SqlMessageStorage.ts +29 -20
- package/src/unstable/cluster/SqlRunnerStorage.ts +13 -7
- package/src/unstable/cluster/internal/entityManager.ts +60 -41
- package/src/unstable/cluster/internal/entityReaper.ts +2 -2
- package/src/unstable/cluster/internal/resourceMap.ts +3 -3
- package/src/unstable/devtools/DevToolsClient.ts +26 -21
- 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/Event.ts +0 -8
- package/src/unstable/eventlog/EventGroup.ts +0 -4
- package/src/unstable/eventlog/EventJournal.ts +148 -80
- package/src/unstable/eventlog/EventLog.ts +360 -234
- package/src/unstable/eventlog/EventLogEncryption.ts +18 -32
- package/src/unstable/eventlog/EventLogMessage.ts +277 -0
- package/src/unstable/eventlog/EventLogRemote.ts +264 -410
- package/src/unstable/eventlog/EventLogServer.ts +183 -275
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
- package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
- package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +38 -22
- package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +110 -43
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +506 -0
- package/src/unstable/eventlog/index.ts +27 -2
- package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
- package/src/unstable/http/Cookies.ts +94 -11
- package/src/unstable/http/Etag.ts +7 -5
- package/src/unstable/http/FetchHttpClient.ts +5 -5
- package/src/unstable/http/Headers.ts +70 -20
- package/src/unstable/http/HttpClient.ts +385 -42
- package/src/unstable/http/HttpClientRequest.ts +151 -39
- package/src/unstable/http/HttpClientResponse.ts +24 -8
- package/src/unstable/http/HttpEffect.ts +71 -77
- package/src/unstable/http/HttpIncomingMessage.ts +9 -8
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +50 -50
- package/src/unstable/http/HttpPlatform.ts +5 -4
- package/src/unstable/http/HttpRouter.ts +46 -46
- package/src/unstable/http/HttpServer.ts +5 -11
- package/src/unstable/http/HttpServerError.ts +45 -47
- package/src/unstable/http/HttpServerRequest.ts +414 -23
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +351 -13
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/HttpTraceContext.ts +31 -17
- package/src/unstable/http/Multipart.ts +8 -8
- package/src/unstable/http/Url.ts +650 -0
- package/src/unstable/http/UrlParams.ts +30 -18
- package/src/unstable/http/index.ts +10 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +22 -22
- package/src/unstable/httpapi/HttpApiBuilder.ts +156 -66
- package/src/unstable/httpapi/HttpApiClient.ts +185 -34
- package/src/unstable/httpapi/HttpApiEndpoint.ts +225 -114
- package/src/unstable/httpapi/HttpApiError.ts +129 -30
- package/src/unstable/httpapi/HttpApiGroup.ts +18 -17
- package/src/unstable/httpapi/HttpApiMiddleware.ts +95 -32
- package/src/unstable/httpapi/HttpApiSchema.ts +106 -11
- package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
- package/src/unstable/httpapi/OpenApi.ts +74 -73
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +14 -10
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +6 -6
- package/src/unstable/observability/OtlpSerialization.ts +2 -2
- package/src/unstable/observability/OtlpTracer.ts +14 -10
- package/src/unstable/observability/PrometheusMetrics.ts +5 -5
- package/src/unstable/observability/internal/protobuf.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +226 -3
- package/src/unstable/persistence/Persistable.ts +3 -3
- package/src/unstable/persistence/PersistedCache.ts +20 -17
- package/src/unstable/persistence/PersistedQueue.ts +21 -21
- package/src/unstable/persistence/Persistence.ts +7 -7
- package/src/unstable/persistence/RateLimiter.ts +7 -7
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +114 -15
- package/src/unstable/reactivity/AsyncResult.ts +59 -17
- package/src/unstable/reactivity/Atom.ts +280 -124
- package/src/unstable/reactivity/AtomHttpApi.ts +127 -61
- package/src/unstable/reactivity/AtomRegistry.ts +70 -16
- package/src/unstable/reactivity/AtomRpc.ts +82 -37
- package/src/unstable/reactivity/Reactivity.ts +6 -6
- package/src/unstable/rpc/Rpc.ts +212 -32
- package/src/unstable/rpc/RpcClient.ts +161 -142
- package/src/unstable/rpc/RpcGroup.ts +51 -34
- package/src/unstable/rpc/RpcMiddleware.ts +28 -22
- package/src/unstable/rpc/RpcSchema.ts +24 -6
- package/src/unstable/rpc/RpcSerialization.ts +97 -54
- package/src/unstable/rpc/RpcServer.ts +91 -65
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/rpc/Utils.ts +63 -4
- package/src/unstable/schema/Model.ts +35 -6
- package/src/unstable/schema/VariantSchema.ts +14 -27
- package/src/unstable/socket/Socket.ts +102 -62
- package/src/unstable/socket/SocketServer.ts +2 -2
- package/src/unstable/sql/Migrator.ts +7 -5
- package/src/unstable/sql/SqlClient.ts +48 -19
- package/src/unstable/sql/SqlConnection.ts +2 -2
- package/src/unstable/sql/SqlError.ts +365 -11
- package/src/unstable/sql/SqlModel.ts +57 -85
- package/src/unstable/sql/SqlResolver.ts +28 -20
- package/src/unstable/sql/SqlSchema.ts +42 -26
- package/src/unstable/sql/Statement.ts +21 -25
- package/src/unstable/workers/Transferable.ts +17 -19
- package/src/unstable/workers/Worker.ts +4 -4
- package/src/unstable/workers/WorkerRunner.ts +2 -2
- package/src/unstable/workflow/Activity.ts +36 -13
- package/src/unstable/workflow/DurableClock.ts +11 -11
- package/src/unstable/workflow/DurableDeferred.ts +36 -18
- package/src/unstable/workflow/Workflow.ts +46 -35
- package/src/unstable/workflow/WorkflowEngine.ts +236 -23
- package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
- 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/ServiceMap.d.ts +0 -1126
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js.map +0 -1
- package/dist/internal/schema/to-codec.d.ts +0 -2
- package/dist/internal/schema/to-codec.d.ts.map +0 -1
- package/dist/internal/schema/to-codec.js +0 -129
- package/dist/internal/schema/to-codec.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/CommandDescriptor.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.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/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
- package/src/NullOr.ts +0 -204
- package/src/ServiceMap.ts +0 -1410
- package/src/internal/schema/to-codec.ts +0 -148
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
- package/src/unstable/cli/internal/completions/Completions.ts +0 -31
|
@@ -1,29 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import type { NonEmptyArray, NonEmptyReadonlyArray } from "../../Array.ts"
|
|
4
5
|
import * as Console from "../../Console.ts"
|
|
6
|
+
import * as Context from "../../Context.ts"
|
|
5
7
|
import * as Effect from "../../Effect.ts"
|
|
6
8
|
import type * as FileSystem from "../../FileSystem.ts"
|
|
7
9
|
import { dual } from "../../Function.ts"
|
|
8
10
|
import type * as Layer from "../../Layer.ts"
|
|
11
|
+
import * as Option from "../../Option.ts"
|
|
9
12
|
import type * as Path from "../../Path.ts"
|
|
10
13
|
import type { Pipeable } from "../../Pipeable.ts"
|
|
11
14
|
import * as Predicate from "../../Predicate.ts"
|
|
12
15
|
import * as References from "../../References.ts"
|
|
13
16
|
import * as Result from "../../Result.ts"
|
|
14
|
-
import
|
|
17
|
+
import * as Stdio from "../../Stdio.ts"
|
|
15
18
|
import * as Terminal from "../../Terminal.ts"
|
|
16
|
-
import type { Simplify } from "../../Types.ts"
|
|
19
|
+
import type { NoInfer, Simplify } from "../../Types.ts"
|
|
17
20
|
import type { ChildProcessSpawner } from "../process/ChildProcessSpawner.ts"
|
|
18
21
|
import * as CliError from "./CliError.ts"
|
|
19
22
|
import * as CliOutput from "./CliOutput.ts"
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import {
|
|
23
|
+
import * as GlobalFlag from "./GlobalFlag.ts"
|
|
24
|
+
import { checkForDuplicateFlags, makeCommand, makeParser, toImpl, TypeId } from "./internal/command.ts"
|
|
25
|
+
import { mergeConfig, parseConfig } from "./internal/config.ts"
|
|
26
|
+
import { getGlobalFlagsForCommandPath, getGlobalFlagsForCommandTree, getHelpForCommandPath } from "./internal/help.ts"
|
|
24
27
|
import * as Lexer from "./internal/lexer.ts"
|
|
25
28
|
import * as Parser from "./internal/parser.ts"
|
|
26
|
-
import
|
|
29
|
+
import * as Param from "./Param.ts"
|
|
27
30
|
|
|
28
31
|
/* ========================================================================== */
|
|
29
32
|
/* Public Types */
|
|
@@ -44,7 +47,7 @@ import type * as Param from "./Param.ts"
|
|
|
44
47
|
* import { Argument, Command, Flag } from "effect/unstable/cli"
|
|
45
48
|
*
|
|
46
49
|
* // Simple command with no configuration
|
|
47
|
-
* const version: Command.Command<"version", {}, never, never> = Command.make(
|
|
50
|
+
* const version: Command.Command<"version", {}, {}, never, never> = Command.make(
|
|
48
51
|
* "version"
|
|
49
52
|
* )
|
|
50
53
|
*
|
|
@@ -56,6 +59,7 @@ import type * as Param from "./Param.ts"
|
|
|
56
59
|
* readonly force: boolean
|
|
57
60
|
* readonly files: ReadonlyArray<string>
|
|
58
61
|
* },
|
|
62
|
+
* {},
|
|
59
63
|
* never,
|
|
60
64
|
* never
|
|
61
65
|
* > = Command.make("deploy", {
|
|
@@ -73,14 +77,15 @@ import type * as Param from "./Param.ts"
|
|
|
73
77
|
* @since 4.0.0
|
|
74
78
|
* @category models
|
|
75
79
|
*/
|
|
76
|
-
export interface Command<Name extends string, Input, E = never, R = never>
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
export interface Command<Name extends string, Input, ContextInput = {}, E = never, R = never>
|
|
81
|
+
extends
|
|
82
|
+
Pipeable,
|
|
83
|
+
Effect.Yieldable<
|
|
84
|
+
Command<Name, Input, ContextInput, E, R>,
|
|
85
|
+
ContextInput,
|
|
86
|
+
never,
|
|
87
|
+
CommandContext<Name>
|
|
88
|
+
>
|
|
84
89
|
{
|
|
85
90
|
readonly [TypeId]: typeof TypeId
|
|
86
91
|
|
|
@@ -94,16 +99,50 @@ export interface Command<Name extends string, Input, E = never, R = never> exten
|
|
|
94
99
|
*/
|
|
95
100
|
readonly description: string | undefined
|
|
96
101
|
|
|
102
|
+
/**
|
|
103
|
+
* An optional short description used when listing subcommands.
|
|
104
|
+
*/
|
|
105
|
+
readonly shortDescription: string | undefined
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* An optional alias that can be used as a shorter command name.
|
|
109
|
+
*/
|
|
110
|
+
readonly alias: string | undefined
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Optional usage examples for the command.
|
|
114
|
+
*/
|
|
115
|
+
readonly examples: ReadonlyArray<Command.Example>
|
|
116
|
+
|
|
97
117
|
/**
|
|
98
118
|
* The subcommands available under this command.
|
|
99
119
|
*/
|
|
100
|
-
readonly subcommands: ReadonlyArray<
|
|
120
|
+
readonly subcommands: ReadonlyArray<{
|
|
121
|
+
readonly group: string | undefined
|
|
122
|
+
readonly commands: NonEmptyReadonlyArray<Command.Any>
|
|
123
|
+
}>
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Custom annotations associated with this command.
|
|
127
|
+
*/
|
|
128
|
+
readonly annotations: Context.Context<never>
|
|
101
129
|
}
|
|
102
130
|
|
|
103
131
|
/**
|
|
104
132
|
* @since 4.0.0
|
|
105
133
|
*/
|
|
106
134
|
export declare namespace Command {
|
|
135
|
+
/**
|
|
136
|
+
* Represents a concrete usage example for a command.
|
|
137
|
+
*
|
|
138
|
+
* @since 4.0.0
|
|
139
|
+
* @category models
|
|
140
|
+
*/
|
|
141
|
+
export interface Example {
|
|
142
|
+
readonly command: string
|
|
143
|
+
readonly description?: string | undefined
|
|
144
|
+
}
|
|
145
|
+
|
|
107
146
|
/**
|
|
108
147
|
* Configuration object for defining command flags, arguments, and nested structures.
|
|
109
148
|
*
|
|
@@ -147,6 +186,21 @@ export declare namespace Command {
|
|
|
147
186
|
| Config
|
|
148
187
|
}
|
|
149
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Configuration shape accepted by `Command.withSharedFlags`.
|
|
191
|
+
*
|
|
192
|
+
* Only flags are allowed here; arguments are intentionally excluded.
|
|
193
|
+
*
|
|
194
|
+
* @since 4.0.0
|
|
195
|
+
* @category models
|
|
196
|
+
*/
|
|
197
|
+
export interface FlagConfig {
|
|
198
|
+
readonly [key: string]:
|
|
199
|
+
| Param.Param<typeof Param.flagKind, any>
|
|
200
|
+
| ReadonlyArray<Param.Param<typeof Param.flagKind, any> | FlagConfig>
|
|
201
|
+
| FlagConfig
|
|
202
|
+
}
|
|
203
|
+
|
|
150
204
|
/**
|
|
151
205
|
* Utilities for working with command configurations.
|
|
152
206
|
*
|
|
@@ -208,7 +262,26 @@ export declare namespace Command {
|
|
|
208
262
|
* @since 4.0.0
|
|
209
263
|
* @category models
|
|
210
264
|
*/
|
|
211
|
-
export type Any = Command<string, unknown, unknown, unknown>
|
|
265
|
+
export type Any = Command<string, unknown, unknown, unknown, unknown>
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* A grouped set of subcommands used by `Command.withSubcommands`.
|
|
269
|
+
*
|
|
270
|
+
* @since 4.0.0
|
|
271
|
+
* @category models
|
|
272
|
+
*/
|
|
273
|
+
export interface SubcommandGroup<Commands extends ReadonlyArray<Any> = ReadonlyArray<Any>> {
|
|
274
|
+
readonly group: string
|
|
275
|
+
readonly commands: Commands
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Entry type accepted by `Command.withSubcommands`.
|
|
280
|
+
*
|
|
281
|
+
* @since 4.0.0
|
|
282
|
+
* @category models
|
|
283
|
+
*/
|
|
284
|
+
export type SubcommandEntry = Any | SubcommandGroup<ReadonlyArray<Any>>
|
|
212
285
|
}
|
|
213
286
|
|
|
214
287
|
/**
|
|
@@ -217,7 +290,7 @@ export declare namespace Command {
|
|
|
217
290
|
* @since 4.0.0
|
|
218
291
|
* @category utility types
|
|
219
292
|
*/
|
|
220
|
-
export type Environment = FileSystem.FileSystem | Path.Path | Terminal.Terminal | ChildProcessSpawner
|
|
293
|
+
export type Environment = FileSystem.FileSystem | Path.Path | Terminal.Terminal | ChildProcessSpawner | Stdio.Stdio
|
|
221
294
|
|
|
222
295
|
/**
|
|
223
296
|
* A utility type to extract the error type from a `Command`.
|
|
@@ -228,6 +301,7 @@ export type Environment = FileSystem.FileSystem | Path.Path | Terminal.Terminal
|
|
|
228
301
|
export type Error<C> = C extends Command<
|
|
229
302
|
infer _Name,
|
|
230
303
|
infer _Input,
|
|
304
|
+
infer _ContextInput,
|
|
231
305
|
infer _Error,
|
|
232
306
|
infer _Requirements
|
|
233
307
|
> ? _Error :
|
|
@@ -246,10 +320,12 @@ export type Error<C> = C extends Command<
|
|
|
246
320
|
* import { Console, Effect } from "effect"
|
|
247
321
|
* import { Command, Flag } from "effect/unstable/cli"
|
|
248
322
|
*
|
|
249
|
-
* const parent = Command.make("app"
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
323
|
+
* const parent = Command.make("app").pipe(
|
|
324
|
+
* Command.withSharedFlags({
|
|
325
|
+
* verbose: Flag.boolean("verbose"),
|
|
326
|
+
* config: Flag.string("config")
|
|
327
|
+
* })
|
|
328
|
+
* )
|
|
253
329
|
*
|
|
254
330
|
* const child = Command.make("deploy", {
|
|
255
331
|
* target: Flag.string("target")
|
|
@@ -283,11 +359,11 @@ export interface CommandContext<Name extends string> {
|
|
|
283
359
|
export interface ParsedTokens {
|
|
284
360
|
readonly flags: Record<string, ReadonlyArray<string>>
|
|
285
361
|
readonly arguments: ReadonlyArray<string>
|
|
286
|
-
readonly errors?: ReadonlyArray<CliError.
|
|
287
|
-
readonly subcommand
|
|
362
|
+
readonly errors?: ReadonlyArray<CliError.NonShowHelpErrors>
|
|
363
|
+
readonly subcommand: Option.Option<{
|
|
288
364
|
readonly name: string
|
|
289
365
|
readonly parsedInput: ParsedTokens
|
|
290
|
-
}
|
|
366
|
+
}>
|
|
291
367
|
}
|
|
292
368
|
|
|
293
369
|
/**
|
|
@@ -411,7 +487,7 @@ export const make: {
|
|
|
411
487
|
* @since 4.0.0
|
|
412
488
|
* @category constructors
|
|
413
489
|
*/
|
|
414
|
-
<Name extends string>(name: Name): Command<Name, {}, never, never>
|
|
490
|
+
<Name extends string>(name: Name): Command<Name, {}, {}, never, never>
|
|
415
491
|
|
|
416
492
|
/* ========================================================================== */
|
|
417
493
|
/* Constructors */
|
|
@@ -470,7 +546,7 @@ export const make: {
|
|
|
470
546
|
* @since 4.0.0
|
|
471
547
|
* @category constructors
|
|
472
548
|
*/
|
|
473
|
-
<Name extends string, const Config extends Command.Config>(name: Name, config: Config): Command<Name, Command.Config.Infer<Config>, never, never>
|
|
549
|
+
<Name extends string, const Config extends Command.Config>(name: Name, config: Config): Command<Name, Command.Config.Infer<Config>, {}, never, never>
|
|
474
550
|
|
|
475
551
|
/* ========================================================================== */
|
|
476
552
|
/* Constructors */
|
|
@@ -533,7 +609,7 @@ export const make: {
|
|
|
533
609
|
name: Name,
|
|
534
610
|
config: Config,
|
|
535
611
|
handler: (config: Command.Config.Infer<Config>) => Effect.Effect<void, E, R>
|
|
536
|
-
): Command<Name, Command.Config.Infer<Config>, E, R
|
|
612
|
+
): Command<Name, Command.Config.Infer<Config>, {}, E, Exclude<R, GlobalFlag.BuiltInSettingContext>>
|
|
537
613
|
} = ((
|
|
538
614
|
name: string,
|
|
539
615
|
config?: Command.Config,
|
|
@@ -604,9 +680,9 @@ export const withHandler: {
|
|
|
604
680
|
* @since 4.0.0
|
|
605
681
|
* @category combinators
|
|
606
682
|
*/
|
|
607
|
-
<A, R, E>(handler: (value: A) => Effect.Effect<void, E, R>): <Name extends string, XR, XE>(
|
|
608
|
-
self: Command<Name, A, XE, XR>
|
|
609
|
-
) => Command<Name, A, E, R
|
|
683
|
+
<A, R, E>(handler: (value: A) => Effect.Effect<void, E, R>): <Name extends string, XR, XE, ContextInput>(
|
|
684
|
+
self: Command<Name, A, ContextInput, XE, XR>
|
|
685
|
+
) => Command<Name, A, ContextInput, E, Exclude<R, GlobalFlag.BuiltInSettingContext>>
|
|
610
686
|
/* ========================================================================== */
|
|
611
687
|
/* Combinators */
|
|
612
688
|
/* ========================================================================== */
|
|
@@ -635,20 +711,72 @@ export const withHandler: {
|
|
|
635
711
|
* @since 4.0.0
|
|
636
712
|
* @category combinators
|
|
637
713
|
*/
|
|
638
|
-
<Name extends string, A, XR, XE, R, E>(
|
|
639
|
-
self: Command<Name, A, XE, XR>,
|
|
714
|
+
<Name extends string, A, XR, XE, R, E, ContextInput>(
|
|
715
|
+
self: Command<Name, A, ContextInput, XE, XR>,
|
|
640
716
|
handler: (value: A) => Effect.Effect<void, E, R>
|
|
641
|
-
): Command<Name, A, E, R
|
|
642
|
-
} = dual(2, <Name extends string, A, XR, XE, R, E>(
|
|
643
|
-
self: Command<Name, A, XE, XR>,
|
|
717
|
+
): Command<Name, A, ContextInput, E, Exclude<R, GlobalFlag.BuiltInSettingContext>>
|
|
718
|
+
} = dual(2, <Name extends string, A, XR, XE, R, E, ContextInput>(
|
|
719
|
+
self: Command<Name, A, ContextInput, XE, XR>,
|
|
644
720
|
handler: (value: A) => Effect.Effect<void, E, R>
|
|
645
|
-
): Command<Name, A, E, R
|
|
721
|
+
): Command<Name, A, ContextInput, E, Exclude<R, GlobalFlag.BuiltInSettingContext>> =>
|
|
722
|
+
makeCommand({ ...toImpl(self), handle: handler }))
|
|
723
|
+
|
|
724
|
+
interface SubcommandGroupInternal {
|
|
725
|
+
readonly group: string | undefined
|
|
726
|
+
readonly commands: NonEmptyReadonlyArray<Command.Any>
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
const normalizeSubcommandEntries = (
|
|
730
|
+
entries: ReadonlyArray<Command.SubcommandEntry>
|
|
731
|
+
): {
|
|
732
|
+
readonly flat: ReadonlyArray<Command.Any>
|
|
733
|
+
readonly groups: ReadonlyArray<SubcommandGroupInternal>
|
|
734
|
+
} => {
|
|
735
|
+
const flat: Array<Command.Any> = []
|
|
736
|
+
const grouped = new Map<string | undefined, NonEmptyArray<Command.Any>>()
|
|
737
|
+
|
|
738
|
+
const addToGroup = (group: string | undefined, command: Command.Any): void => {
|
|
739
|
+
flat.push(command)
|
|
740
|
+
const existing = grouped.get(group)
|
|
741
|
+
if (existing) {
|
|
742
|
+
existing.push(command)
|
|
743
|
+
} else {
|
|
744
|
+
grouped.set(group, [command])
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
for (const entry of entries) {
|
|
749
|
+
if (isCommand(entry)) {
|
|
750
|
+
addToGroup(undefined, entry)
|
|
751
|
+
continue
|
|
752
|
+
}
|
|
753
|
+
for (const command of entry.commands) {
|
|
754
|
+
addToGroup(entry.group, command)
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
const groups: Array<SubcommandGroupInternal> = []
|
|
759
|
+
const ungroupedCommands = grouped.get(undefined)
|
|
760
|
+
|
|
761
|
+
if (ungroupedCommands && ungroupedCommands.length > 0) {
|
|
762
|
+
groups.push({ group: undefined, commands: ungroupedCommands })
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
for (const [group, commands] of grouped) {
|
|
766
|
+
if (group === undefined) {
|
|
767
|
+
continue
|
|
768
|
+
}
|
|
769
|
+
groups.push({ group, commands })
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
return { flat, groups }
|
|
773
|
+
}
|
|
646
774
|
|
|
647
775
|
/**
|
|
648
776
|
* Adds subcommands to a command, creating a hierarchical command structure.
|
|
649
777
|
*
|
|
650
778
|
* Subcommands can access their parent's parsed configuration by yielding the parent
|
|
651
|
-
* command within their handler. This enables
|
|
779
|
+
* command within their handler. This enables shared parent flags that affect
|
|
652
780
|
* all subcommands.
|
|
653
781
|
*
|
|
654
782
|
* @example
|
|
@@ -656,10 +784,12 @@ export const withHandler: {
|
|
|
656
784
|
* import { Console, Effect } from "effect"
|
|
657
785
|
* import { Command, Flag } from "effect/unstable/cli"
|
|
658
786
|
*
|
|
659
|
-
* // Parent command with
|
|
660
|
-
* const git = Command.make("git"
|
|
661
|
-
*
|
|
662
|
-
*
|
|
787
|
+
* // Parent command with shared flags
|
|
788
|
+
* const git = Command.make("git").pipe(
|
|
789
|
+
* Command.withSharedFlags({
|
|
790
|
+
* verbose: Flag.boolean("verbose")
|
|
791
|
+
* })
|
|
792
|
+
* )
|
|
663
793
|
*
|
|
664
794
|
* // Subcommand that accesses parent config
|
|
665
795
|
* const clone = Command.make("clone", {
|
|
@@ -685,7 +815,7 @@ export const withSubcommands: {
|
|
|
685
815
|
* Adds subcommands to a command, creating a hierarchical command structure.
|
|
686
816
|
*
|
|
687
817
|
* Subcommands can access their parent's parsed configuration by yielding the parent
|
|
688
|
-
* command within their handler. This enables
|
|
818
|
+
* command within their handler. This enables shared parent flags that affect
|
|
689
819
|
* all subcommands.
|
|
690
820
|
*
|
|
691
821
|
* @example
|
|
@@ -693,10 +823,12 @@ export const withSubcommands: {
|
|
|
693
823
|
* import { Console, Effect } from "effect"
|
|
694
824
|
* import { Command, Flag } from "effect/unstable/cli"
|
|
695
825
|
*
|
|
696
|
-
* // Parent command with
|
|
697
|
-
* const git = Command.make("git"
|
|
698
|
-
*
|
|
699
|
-
*
|
|
826
|
+
* // Parent command with shared flags
|
|
827
|
+
* const git = Command.make("git").pipe(
|
|
828
|
+
* Command.withSharedFlags({
|
|
829
|
+
* verbose: Flag.boolean("verbose")
|
|
830
|
+
* })
|
|
831
|
+
* )
|
|
700
832
|
*
|
|
701
833
|
* // Subcommand that accesses parent config
|
|
702
834
|
* const clone = Command.make("clone", {
|
|
@@ -717,11 +849,12 @@ export const withSubcommands: {
|
|
|
717
849
|
* @since 4.0.0
|
|
718
850
|
* @category combinators
|
|
719
851
|
*/
|
|
720
|
-
<const Subcommands extends ReadonlyArray<Command
|
|
721
|
-
self: Command<Name, Input, E, R>
|
|
852
|
+
<const Subcommands extends ReadonlyArray<Command.SubcommandEntry>>(subcommands: Subcommands): <Name extends string, Input, E, R, ContextInput>(
|
|
853
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
722
854
|
) => Command<
|
|
723
855
|
Name,
|
|
724
|
-
Input
|
|
856
|
+
Simplify<Input | ContextInput>,
|
|
857
|
+
ContextInput,
|
|
725
858
|
E | ExtractSubcommandErrors<Subcommands>,
|
|
726
859
|
R | Exclude<ExtractSubcommandContext<Subcommands>, CommandContext<Name>>
|
|
727
860
|
>
|
|
@@ -729,7 +862,7 @@ export const withSubcommands: {
|
|
|
729
862
|
* Adds subcommands to a command, creating a hierarchical command structure.
|
|
730
863
|
*
|
|
731
864
|
* Subcommands can access their parent's parsed configuration by yielding the parent
|
|
732
|
-
* command within their handler. This enables
|
|
865
|
+
* command within their handler. This enables shared parent flags that affect
|
|
733
866
|
* all subcommands.
|
|
734
867
|
*
|
|
735
868
|
* @example
|
|
@@ -737,10 +870,12 @@ export const withSubcommands: {
|
|
|
737
870
|
* import { Console, Effect } from "effect"
|
|
738
871
|
* import { Command, Flag } from "effect/unstable/cli"
|
|
739
872
|
*
|
|
740
|
-
* // Parent command with
|
|
741
|
-
* const git = Command.make("git"
|
|
742
|
-
*
|
|
743
|
-
*
|
|
873
|
+
* // Parent command with shared flags
|
|
874
|
+
* const git = Command.make("git").pipe(
|
|
875
|
+
* Command.withSharedFlags({
|
|
876
|
+
* verbose: Flag.boolean("verbose")
|
|
877
|
+
* })
|
|
878
|
+
* )
|
|
744
879
|
*
|
|
745
880
|
* // Subcommand that accesses parent config
|
|
746
881
|
* const clone = Command.make("clone", {
|
|
@@ -766,10 +901,12 @@ export const withSubcommands: {
|
|
|
766
901
|
Input,
|
|
767
902
|
E,
|
|
768
903
|
R,
|
|
769
|
-
|
|
770
|
-
|
|
904
|
+
ContextInput,
|
|
905
|
+
const Subcommands extends ReadonlyArray<Command.SubcommandEntry>
|
|
906
|
+
>(self: Command<Name, Input, ContextInput, E, R>, subcommands: Subcommands): Command<
|
|
771
907
|
Name,
|
|
772
|
-
Input
|
|
908
|
+
Simplify<Input | ContextInput>,
|
|
909
|
+
ContextInput,
|
|
773
910
|
E | ExtractSubcommandErrors<Subcommands>,
|
|
774
911
|
R | Exclude<ExtractSubcommandContext<Subcommands>, CommandContext<Name>>
|
|
775
912
|
>
|
|
@@ -778,71 +915,257 @@ export const withSubcommands: {
|
|
|
778
915
|
Input,
|
|
779
916
|
E,
|
|
780
917
|
R,
|
|
781
|
-
|
|
918
|
+
ContextInput,
|
|
919
|
+
const Subcommands extends ReadonlyArray<Command.SubcommandEntry>
|
|
782
920
|
>(
|
|
783
|
-
self: Command<Name, Input, E, R>,
|
|
921
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
784
922
|
subcommands: Subcommands
|
|
785
923
|
): Command<
|
|
786
924
|
Name,
|
|
787
|
-
Input
|
|
925
|
+
Simplify<Input | ContextInput>,
|
|
926
|
+
ContextInput,
|
|
788
927
|
E | ExtractSubcommandErrors<Subcommands>,
|
|
789
928
|
R | Exclude<ExtractSubcommandContext<Subcommands>, CommandContext<Name>>
|
|
790
929
|
> => {
|
|
791
|
-
|
|
930
|
+
const normalized = normalizeSubcommandEntries(subcommands)
|
|
931
|
+
checkForDuplicateFlags(self, normalized.flat)
|
|
792
932
|
|
|
793
933
|
const impl = toImpl(self)
|
|
794
|
-
const byName = new Map(
|
|
934
|
+
const byName = new Map(normalized.flat.map((s) => [s.name, toImpl(s)] as const))
|
|
795
935
|
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
type
|
|
936
|
+
type NextInput = Simplify<Input | ContextInput>
|
|
937
|
+
const SubcommandStateSymbol = Symbol("effect/cli/SubcommandState")
|
|
938
|
+
type SubcommandState = { readonly name: string; readonly result: unknown }
|
|
939
|
+
type InternalInput = NextInput & { readonly [SubcommandStateSymbol]?: SubcommandState }
|
|
799
940
|
|
|
800
941
|
const parse = Effect.fnUntraced(function*(raw: ParsedTokens) {
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
if (!raw.subcommand) {
|
|
804
|
-
return parent
|
|
942
|
+
if (Option.isNone(raw.subcommand)) {
|
|
943
|
+
return (yield* impl.parse(raw)) as NextInput
|
|
805
944
|
}
|
|
806
945
|
|
|
807
|
-
const sub = byName.get(raw.subcommand.name)
|
|
946
|
+
const sub = byName.get(raw.subcommand.value.name)
|
|
808
947
|
if (!sub) {
|
|
809
|
-
return
|
|
948
|
+
return (yield* impl.parse(raw)) as NextInput
|
|
810
949
|
}
|
|
811
950
|
|
|
812
|
-
const
|
|
813
|
-
|
|
814
|
-
return Object.assign({},
|
|
951
|
+
const context = yield* impl.parseContext(raw)
|
|
952
|
+
const result = yield* sub.parse(raw.subcommand.value.parsedInput)
|
|
953
|
+
return Object.assign({}, context, { [SubcommandStateSymbol]: { name: sub.name, result } }) as NextInput
|
|
815
954
|
})
|
|
816
955
|
|
|
817
|
-
const handle = Effect.fnUntraced(function*(input:
|
|
956
|
+
const handle = Effect.fnUntraced(function*(input: NextInput, path: ReadonlyArray<string>) {
|
|
818
957
|
const internal = input as InternalInput
|
|
819
|
-
|
|
820
|
-
|
|
958
|
+
const selectedSubcommand = internal[SubcommandStateSymbol]
|
|
959
|
+
|
|
960
|
+
if (selectedSubcommand) {
|
|
961
|
+
const child = byName.get(selectedSubcommand.name)
|
|
821
962
|
if (!child) {
|
|
822
|
-
return yield* new CliError.ShowHelp({ commandPath: path })
|
|
963
|
+
return yield* new CliError.ShowHelp({ commandPath: path, errors: [] })
|
|
823
964
|
}
|
|
824
965
|
return yield* child
|
|
825
|
-
.handle(
|
|
826
|
-
.pipe(Effect.provideService(impl.service, input))
|
|
966
|
+
.handle(selectedSubcommand.result, [...path, child.name])
|
|
967
|
+
.pipe(Effect.provideService(impl.service, input as unknown as ContextInput))
|
|
827
968
|
}
|
|
828
|
-
return yield* impl.handle(input, path)
|
|
969
|
+
return yield* impl.handle(input as Input, path)
|
|
829
970
|
})
|
|
830
971
|
|
|
831
972
|
return makeCommand({
|
|
832
973
|
name: impl.name,
|
|
833
974
|
config: impl.config,
|
|
975
|
+
contextConfig: impl.contextConfig,
|
|
834
976
|
description: impl.description,
|
|
977
|
+
shortDescription: impl.shortDescription,
|
|
978
|
+
alias: impl.alias,
|
|
979
|
+
annotations: impl.annotations,
|
|
980
|
+
globalFlags: impl.globalFlags,
|
|
981
|
+
examples: impl.examples,
|
|
835
982
|
service: impl.service,
|
|
836
|
-
subcommands,
|
|
983
|
+
subcommands: normalized.groups,
|
|
837
984
|
parse,
|
|
985
|
+
parseContext: impl.parseContext,
|
|
838
986
|
handle
|
|
839
987
|
})
|
|
840
988
|
})
|
|
841
989
|
|
|
990
|
+
/**
|
|
991
|
+
* Adds flags that are inherited by subcommands.
|
|
992
|
+
*
|
|
993
|
+
* Shared flags are available to this command's handler and to descendant
|
|
994
|
+
* handlers via `yield* parentCommand`. Shared flags are accepted both before
|
|
995
|
+
* and after a selected subcommand name (npm-style).
|
|
996
|
+
*
|
|
997
|
+
* @since 4.0.0
|
|
998
|
+
* @category combinators
|
|
999
|
+
*/
|
|
1000
|
+
export const withSharedFlags: {
|
|
1001
|
+
/**
|
|
1002
|
+
* Adds flags that are inherited by subcommands.
|
|
1003
|
+
*
|
|
1004
|
+
* Shared flags are available to this command's handler and to descendant
|
|
1005
|
+
* handlers via `yield* parentCommand`. Shared flags are accepted both before
|
|
1006
|
+
* and after a selected subcommand name (npm-style).
|
|
1007
|
+
*
|
|
1008
|
+
* @since 4.0.0
|
|
1009
|
+
* @category combinators
|
|
1010
|
+
*/
|
|
1011
|
+
<const SharedFlags extends Command.FlagConfig>(sharedFlags: SharedFlags): <Name extends string, Input, E, R, ContextInput>(
|
|
1012
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1013
|
+
) => Command<
|
|
1014
|
+
Name,
|
|
1015
|
+
Simplify<Input & Command.Config.Infer<SharedFlags>>,
|
|
1016
|
+
Simplify<ContextInput & Command.Config.Infer<SharedFlags>>,
|
|
1017
|
+
E,
|
|
1018
|
+
R
|
|
1019
|
+
>
|
|
1020
|
+
/**
|
|
1021
|
+
* Adds flags that are inherited by subcommands.
|
|
1022
|
+
*
|
|
1023
|
+
* Shared flags are available to this command's handler and to descendant
|
|
1024
|
+
* handlers via `yield* parentCommand`. Shared flags are accepted both before
|
|
1025
|
+
* and after a selected subcommand name (npm-style).
|
|
1026
|
+
*
|
|
1027
|
+
* @since 4.0.0
|
|
1028
|
+
* @category combinators
|
|
1029
|
+
*/
|
|
1030
|
+
<Name extends string, Input, E, R, ContextInput, const SharedFlags extends Command.FlagConfig>(self: Command<Name, Input, ContextInput, E, R>, sharedFlags: SharedFlags): Command<
|
|
1031
|
+
Name,
|
|
1032
|
+
Simplify<Input & Command.Config.Infer<SharedFlags>>,
|
|
1033
|
+
Simplify<ContextInput & Command.Config.Infer<SharedFlags>>,
|
|
1034
|
+
E,
|
|
1035
|
+
R
|
|
1036
|
+
>
|
|
1037
|
+
} = dual(
|
|
1038
|
+
2,
|
|
1039
|
+
<Name extends string, Input, E, R, ContextInput, const SharedFlags extends Command.FlagConfig>(
|
|
1040
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1041
|
+
sharedFlags: SharedFlags
|
|
1042
|
+
): Command<
|
|
1043
|
+
Name,
|
|
1044
|
+
Simplify<Input & Command.Config.Infer<SharedFlags>>,
|
|
1045
|
+
Simplify<ContextInput & Command.Config.Infer<SharedFlags>>,
|
|
1046
|
+
E,
|
|
1047
|
+
R
|
|
1048
|
+
> => {
|
|
1049
|
+
const impl = toImpl(self)
|
|
1050
|
+
const sharedConfig = parseConfig(sharedFlags)
|
|
1051
|
+
const mergedConfig = mergeConfig(impl.config, sharedConfig)
|
|
1052
|
+
const mergedContextConfig = mergeConfig(impl.contextConfig, sharedConfig)
|
|
1053
|
+
|
|
1054
|
+
if (impl.subcommands.length > 0) {
|
|
1055
|
+
const flatSubcommands = impl.subcommands.flatMap((group) => group.commands)
|
|
1056
|
+
checkForDuplicateFlags(self, flatSubcommands, { contextConfig: mergedContextConfig })
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
type SharedInput = Command.Config.Infer<SharedFlags>
|
|
1060
|
+
type NextInput = Simplify<Input & SharedInput>
|
|
1061
|
+
type NextContextInput = Simplify<ContextInput & SharedInput>
|
|
1062
|
+
|
|
1063
|
+
const parseShared = makeParser(sharedConfig) as (
|
|
1064
|
+
input: ParsedTokens
|
|
1065
|
+
) => Effect.Effect<SharedInput, CliError.CliError, Environment>
|
|
1066
|
+
|
|
1067
|
+
const parse = Effect.fnUntraced(function*(raw: ParsedTokens) {
|
|
1068
|
+
const base = yield* impl.parse(raw)
|
|
1069
|
+
const shared = yield* parseShared(raw)
|
|
1070
|
+
return Object.assign({}, base, shared) as NextInput
|
|
1071
|
+
})
|
|
1072
|
+
|
|
1073
|
+
const parseContext = Effect.fnUntraced(function*(raw: ParsedTokens) {
|
|
1074
|
+
const base = yield* impl.parseContext(raw)
|
|
1075
|
+
const shared = yield* parseShared(raw)
|
|
1076
|
+
return Object.assign({}, base, shared) as NextContextInput
|
|
1077
|
+
})
|
|
1078
|
+
|
|
1079
|
+
const handle = (
|
|
1080
|
+
input: NextInput,
|
|
1081
|
+
commandPath: ReadonlyArray<string>
|
|
1082
|
+
) => impl.handle(input as Input, commandPath)
|
|
1083
|
+
|
|
1084
|
+
return makeCommand({
|
|
1085
|
+
name: impl.name,
|
|
1086
|
+
config: mergedConfig,
|
|
1087
|
+
contextConfig: mergedContextConfig,
|
|
1088
|
+
description: impl.description,
|
|
1089
|
+
shortDescription: impl.shortDescription,
|
|
1090
|
+
alias: impl.alias,
|
|
1091
|
+
annotations: impl.annotations,
|
|
1092
|
+
globalFlags: impl.globalFlags,
|
|
1093
|
+
examples: impl.examples,
|
|
1094
|
+
service: impl.service as Context.Key<CommandContext<Name>, NextContextInput>,
|
|
1095
|
+
subcommands: impl.subcommands,
|
|
1096
|
+
parse,
|
|
1097
|
+
parseContext,
|
|
1098
|
+
handle
|
|
1099
|
+
})
|
|
1100
|
+
}
|
|
1101
|
+
)
|
|
1102
|
+
|
|
1103
|
+
/**
|
|
1104
|
+
* Declares global flags for a command scope.
|
|
1105
|
+
*
|
|
1106
|
+
* Declared global flags apply to the command and all of its descendants.
|
|
1107
|
+
*
|
|
1108
|
+
* @since 4.0.0
|
|
1109
|
+
* @category combinators
|
|
1110
|
+
*/
|
|
1111
|
+
export const withGlobalFlags: {
|
|
1112
|
+
/**
|
|
1113
|
+
* Declares global flags for a command scope.
|
|
1114
|
+
*
|
|
1115
|
+
* Declared global flags apply to the command and all of its descendants.
|
|
1116
|
+
*
|
|
1117
|
+
* @since 4.0.0
|
|
1118
|
+
* @category combinators
|
|
1119
|
+
*/
|
|
1120
|
+
<const GlobalFlags extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>>(globalFlags: GlobalFlags): <Name extends string, Input, E, R, ContextInput>(
|
|
1121
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1122
|
+
) => Command<Name, Input, ContextInput, E, Exclude<R, ExtractGlobalFlagContext<GlobalFlags>>>
|
|
1123
|
+
/**
|
|
1124
|
+
* Declares global flags for a command scope.
|
|
1125
|
+
*
|
|
1126
|
+
* Declared global flags apply to the command and all of its descendants.
|
|
1127
|
+
*
|
|
1128
|
+
* @since 4.0.0
|
|
1129
|
+
* @category combinators
|
|
1130
|
+
*/
|
|
1131
|
+
<
|
|
1132
|
+
Name extends string,
|
|
1133
|
+
Input,
|
|
1134
|
+
E,
|
|
1135
|
+
R,
|
|
1136
|
+
ContextInput,
|
|
1137
|
+
const GlobalFlags extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>
|
|
1138
|
+
>(self: Command<Name, Input, ContextInput, E, R>, globalFlags: GlobalFlags): Command<Name, Input, ContextInput, E, Exclude<R, ExtractGlobalFlagContext<GlobalFlags>>>
|
|
1139
|
+
} = dual(
|
|
1140
|
+
2,
|
|
1141
|
+
<
|
|
1142
|
+
Name extends string,
|
|
1143
|
+
Input,
|
|
1144
|
+
E,
|
|
1145
|
+
R,
|
|
1146
|
+
ContextInput,
|
|
1147
|
+
const GlobalFlags extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>
|
|
1148
|
+
>(
|
|
1149
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1150
|
+
globalFlags: GlobalFlags
|
|
1151
|
+
): Command<Name, Input, ContextInput, E, Exclude<R, ExtractGlobalFlagContext<GlobalFlags>>> => {
|
|
1152
|
+
const impl = toImpl(self)
|
|
1153
|
+
const next = Array.from(new Set([...impl.globalFlags, ...globalFlags]))
|
|
1154
|
+
return makeCommand({ ...impl, globalFlags: next })
|
|
1155
|
+
}
|
|
1156
|
+
)
|
|
1157
|
+
|
|
842
1158
|
// Type extractors for subcommand arrays - T[number] gives union of all elements
|
|
843
|
-
type
|
|
844
|
-
|
|
845
|
-
|
|
1159
|
+
type ExtractGlobalFlagContext<T extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>> = T[number] extends infer F
|
|
1160
|
+
? F extends GlobalFlag.Setting<infer Id, infer _A> ? GlobalFlag.Setting.Identifier<Id>
|
|
1161
|
+
: never
|
|
1162
|
+
: never
|
|
1163
|
+
type ExtractSubcommand<T> = T extends Command<infer _Name, infer _Input, infer _CI, infer _E, infer _R> ? T
|
|
1164
|
+
: T extends Command.SubcommandGroup<infer Commands> ? Commands[number]
|
|
1165
|
+
: never
|
|
1166
|
+
type ExtractSubcommandErrors<T extends ReadonlyArray<Command.SubcommandEntry>> = Error<ExtractSubcommand<T[number]>>
|
|
1167
|
+
type ExtractSubcommandContext<T extends ReadonlyArray<Command.SubcommandEntry>> = ExtractSubcommand<T[number]> extends
|
|
1168
|
+
Command<infer _Name, infer _Input, infer _CI, infer _E, infer _R> ? _R : never
|
|
846
1169
|
|
|
847
1170
|
/**
|
|
848
1171
|
* Sets the description for a command.
|
|
@@ -893,9 +1216,9 @@ export const withDescription: {
|
|
|
893
1216
|
* @since 4.0.0
|
|
894
1217
|
* @category combinators
|
|
895
1218
|
*/
|
|
896
|
-
(description: string): <const Name extends string, Input, E, R>(
|
|
897
|
-
self: Command<Name, Input, E, R>
|
|
898
|
-
) => Command<Name, Input, E, R>
|
|
1219
|
+
(description: string): <const Name extends string, Input, E, R, ContextInput>(
|
|
1220
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1221
|
+
) => Command<Name, Input, ContextInput, E, R>
|
|
899
1222
|
/**
|
|
900
1223
|
* Sets the description for a command.
|
|
901
1224
|
*
|
|
@@ -920,21 +1243,244 @@ export const withDescription: {
|
|
|
920
1243
|
* @since 4.0.0
|
|
921
1244
|
* @category combinators
|
|
922
1245
|
*/
|
|
923
|
-
<const Name extends string, Input, E, R>(self: Command<Name, Input, E, R>, description: string): Command<Name, Input, E, R>
|
|
924
|
-
} = dual(2, <const Name extends string, Input, E, R>(
|
|
925
|
-
self: Command<Name, Input, E, R>,
|
|
1246
|
+
<const Name extends string, Input, E, R, ContextInput>(self: Command<Name, Input, ContextInput, E, R>, description: string): Command<Name, Input, ContextInput, E, R>
|
|
1247
|
+
} = dual(2, <const Name extends string, Input, E, R, ContextInput>(
|
|
1248
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
926
1249
|
description: string
|
|
927
1250
|
) => makeCommand({ ...toImpl(self), description }))
|
|
928
1251
|
|
|
1252
|
+
/**
|
|
1253
|
+
* Sets a short description for a command.
|
|
1254
|
+
*
|
|
1255
|
+
* Short descriptions are used when listing subcommands in help output and
|
|
1256
|
+
* shell completions. If no short description is provided, the full
|
|
1257
|
+
* `description` is used as a fallback.
|
|
1258
|
+
*
|
|
1259
|
+
* @since 4.0.0
|
|
1260
|
+
* @category combinators
|
|
1261
|
+
*/
|
|
1262
|
+
export const withShortDescription: {
|
|
1263
|
+
/**
|
|
1264
|
+
* Sets a short description for a command.
|
|
1265
|
+
*
|
|
1266
|
+
* Short descriptions are used when listing subcommands in help output and
|
|
1267
|
+
* shell completions. If no short description is provided, the full
|
|
1268
|
+
* `description` is used as a fallback.
|
|
1269
|
+
*
|
|
1270
|
+
* @since 4.0.0
|
|
1271
|
+
* @category combinators
|
|
1272
|
+
*/
|
|
1273
|
+
(shortDescription: string): <const Name extends string, Input, E, R, ContextInput>(
|
|
1274
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1275
|
+
) => Command<Name, Input, ContextInput, E, R>
|
|
1276
|
+
/**
|
|
1277
|
+
* Sets a short description for a command.
|
|
1278
|
+
*
|
|
1279
|
+
* Short descriptions are used when listing subcommands in help output and
|
|
1280
|
+
* shell completions. If no short description is provided, the full
|
|
1281
|
+
* `description` is used as a fallback.
|
|
1282
|
+
*
|
|
1283
|
+
* @since 4.0.0
|
|
1284
|
+
* @category combinators
|
|
1285
|
+
*/
|
|
1286
|
+
<const Name extends string, Input, E, R, ContextInput>(self: Command<Name, Input, ContextInput, E, R>, shortDescription: string): Command<Name, Input, ContextInput, E, R>
|
|
1287
|
+
} = dual(2, <const Name extends string, Input, E, R, ContextInput>(
|
|
1288
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1289
|
+
shortDescription: string
|
|
1290
|
+
) => makeCommand({ ...toImpl(self), shortDescription }))
|
|
1291
|
+
|
|
1292
|
+
/**
|
|
1293
|
+
* Sets an alias for a command.
|
|
1294
|
+
*
|
|
1295
|
+
* Aliases are accepted as alternate subcommand names during parsing and are
|
|
1296
|
+
* shown in help output as `name, alias`.
|
|
1297
|
+
*
|
|
1298
|
+
* @since 4.0.0
|
|
1299
|
+
* @category combinators
|
|
1300
|
+
*/
|
|
1301
|
+
export const withAlias: {
|
|
1302
|
+
/**
|
|
1303
|
+
* Sets an alias for a command.
|
|
1304
|
+
*
|
|
1305
|
+
* Aliases are accepted as alternate subcommand names during parsing and are
|
|
1306
|
+
* shown in help output as `name, alias`.
|
|
1307
|
+
*
|
|
1308
|
+
* @since 4.0.0
|
|
1309
|
+
* @category combinators
|
|
1310
|
+
*/
|
|
1311
|
+
(alias: string): <const Name extends string, Input, E, R, ContextInput>(
|
|
1312
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1313
|
+
) => Command<Name, Input, ContextInput, E, R>
|
|
1314
|
+
/**
|
|
1315
|
+
* Sets an alias for a command.
|
|
1316
|
+
*
|
|
1317
|
+
* Aliases are accepted as alternate subcommand names during parsing and are
|
|
1318
|
+
* shown in help output as `name, alias`.
|
|
1319
|
+
*
|
|
1320
|
+
* @since 4.0.0
|
|
1321
|
+
* @category combinators
|
|
1322
|
+
*/
|
|
1323
|
+
<const Name extends string, Input, E, R, ContextInput>(self: Command<Name, Input, ContextInput, E, R>, alias: string): Command<Name, Input, ContextInput, E, R>
|
|
1324
|
+
} = dual(2, <const Name extends string, Input, E, R, ContextInput>(
|
|
1325
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1326
|
+
alias: string
|
|
1327
|
+
) => makeCommand({ ...toImpl(self), alias }))
|
|
1328
|
+
|
|
1329
|
+
/**
|
|
1330
|
+
* Adds a custom annotation to a command.
|
|
1331
|
+
*
|
|
1332
|
+
* @since 4.0.0
|
|
1333
|
+
* @category combinators
|
|
1334
|
+
*/
|
|
1335
|
+
export const annotate: {
|
|
1336
|
+
/**
|
|
1337
|
+
* Adds a custom annotation to a command.
|
|
1338
|
+
*
|
|
1339
|
+
* @since 4.0.0
|
|
1340
|
+
* @category combinators
|
|
1341
|
+
*/
|
|
1342
|
+
<I, S>(service: Context.Key<I, S>, value: NoInfer<S>): <Name extends string, Input, E, R, ContextInput>(
|
|
1343
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1344
|
+
) => Command<Name, Input, ContextInput, E, R>
|
|
1345
|
+
/**
|
|
1346
|
+
* Adds a custom annotation to a command.
|
|
1347
|
+
*
|
|
1348
|
+
* @since 4.0.0
|
|
1349
|
+
* @category combinators
|
|
1350
|
+
*/
|
|
1351
|
+
<Name extends string, Input, E, R, ContextInput, I, S>(
|
|
1352
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1353
|
+
service: Context.Key<I, S>,
|
|
1354
|
+
value: NoInfer<S>
|
|
1355
|
+
): Command<Name, Input, ContextInput, E, R>
|
|
1356
|
+
} = dual(3, <Name extends string, Input, E, R, ContextInput, I, S>(
|
|
1357
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1358
|
+
service: Context.Key<I, S>,
|
|
1359
|
+
value: NoInfer<S>
|
|
1360
|
+
) => {
|
|
1361
|
+
const impl = toImpl(self)
|
|
1362
|
+
return makeCommand({ ...impl, annotations: Context.add(impl.annotations, service, value) })
|
|
1363
|
+
})
|
|
1364
|
+
|
|
1365
|
+
/**
|
|
1366
|
+
* Merges a Context of annotations into a command.
|
|
1367
|
+
*
|
|
1368
|
+
* @since 4.0.0
|
|
1369
|
+
* @category combinators
|
|
1370
|
+
*/
|
|
1371
|
+
export const annotateMerge: {
|
|
1372
|
+
/**
|
|
1373
|
+
* Merges a Context of annotations into a command.
|
|
1374
|
+
*
|
|
1375
|
+
* @since 4.0.0
|
|
1376
|
+
* @category combinators
|
|
1377
|
+
*/
|
|
1378
|
+
<I>(annotations: Context.Context<I>): <Name extends string, Input, E, R, ContextInput>(
|
|
1379
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1380
|
+
) => Command<Name, Input, ContextInput, E, R>
|
|
1381
|
+
/**
|
|
1382
|
+
* Merges a Context of annotations into a command.
|
|
1383
|
+
*
|
|
1384
|
+
* @since 4.0.0
|
|
1385
|
+
* @category combinators
|
|
1386
|
+
*/
|
|
1387
|
+
<Name extends string, Input, E, R, ContextInput, I>(
|
|
1388
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1389
|
+
annotations: Context.Context<I>
|
|
1390
|
+
): Command<Name, Input, ContextInput, E, R>
|
|
1391
|
+
} = dual(2, <Name extends string, Input, E, R, ContextInput, I>(
|
|
1392
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1393
|
+
annotations: Context.Context<I>
|
|
1394
|
+
) => {
|
|
1395
|
+
const impl = toImpl(self)
|
|
1396
|
+
return makeCommand({ ...impl, annotations: Context.merge(impl.annotations, annotations) })
|
|
1397
|
+
})
|
|
1398
|
+
|
|
1399
|
+
/**
|
|
1400
|
+
* Sets usage examples for a command.
|
|
1401
|
+
*
|
|
1402
|
+
* Examples are exposed in structured `HelpDoc` data and rendered by the
|
|
1403
|
+
* default formatter in an `EXAMPLES` section.
|
|
1404
|
+
*
|
|
1405
|
+
* @example
|
|
1406
|
+
* ```ts
|
|
1407
|
+
* import { Command } from "effect/unstable/cli"
|
|
1408
|
+
*
|
|
1409
|
+
* const login = Command.make("login").pipe(
|
|
1410
|
+
* Command.withExamples([
|
|
1411
|
+
* { command: "myapp login", description: "Log in with browser OAuth" },
|
|
1412
|
+
* { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
|
|
1413
|
+
* ])
|
|
1414
|
+
* )
|
|
1415
|
+
* ```
|
|
1416
|
+
*
|
|
1417
|
+
* @since 4.0.0
|
|
1418
|
+
* @category combinators
|
|
1419
|
+
*/
|
|
1420
|
+
export const withExamples: {
|
|
1421
|
+
/**
|
|
1422
|
+
* Sets usage examples for a command.
|
|
1423
|
+
*
|
|
1424
|
+
* Examples are exposed in structured `HelpDoc` data and rendered by the
|
|
1425
|
+
* default formatter in an `EXAMPLES` section.
|
|
1426
|
+
*
|
|
1427
|
+
* @example
|
|
1428
|
+
* ```ts
|
|
1429
|
+
* import { Command } from "effect/unstable/cli"
|
|
1430
|
+
*
|
|
1431
|
+
* const login = Command.make("login").pipe(
|
|
1432
|
+
* Command.withExamples([
|
|
1433
|
+
* { command: "myapp login", description: "Log in with browser OAuth" },
|
|
1434
|
+
* { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
|
|
1435
|
+
* ])
|
|
1436
|
+
* )
|
|
1437
|
+
* ```
|
|
1438
|
+
*
|
|
1439
|
+
* @since 4.0.0
|
|
1440
|
+
* @category combinators
|
|
1441
|
+
*/
|
|
1442
|
+
(examples: ReadonlyArray<Command.Example>): <const Name extends string, Input, E, R, ContextInput>(
|
|
1443
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1444
|
+
) => Command<Name, Input, ContextInput, E, R>
|
|
1445
|
+
/**
|
|
1446
|
+
* Sets usage examples for a command.
|
|
1447
|
+
*
|
|
1448
|
+
* Examples are exposed in structured `HelpDoc` data and rendered by the
|
|
1449
|
+
* default formatter in an `EXAMPLES` section.
|
|
1450
|
+
*
|
|
1451
|
+
* @example
|
|
1452
|
+
* ```ts
|
|
1453
|
+
* import { Command } from "effect/unstable/cli"
|
|
1454
|
+
*
|
|
1455
|
+
* const login = Command.make("login").pipe(
|
|
1456
|
+
* Command.withExamples([
|
|
1457
|
+
* { command: "myapp login", description: "Log in with browser OAuth" },
|
|
1458
|
+
* { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
|
|
1459
|
+
* ])
|
|
1460
|
+
* )
|
|
1461
|
+
* ```
|
|
1462
|
+
*
|
|
1463
|
+
* @since 4.0.0
|
|
1464
|
+
* @category combinators
|
|
1465
|
+
*/
|
|
1466
|
+
<const Name extends string, Input, E, R, ContextInput>(
|
|
1467
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1468
|
+
examples: ReadonlyArray<Command.Example>
|
|
1469
|
+
): Command<Name, Input, ContextInput, E, R>
|
|
1470
|
+
} = dual(2, <const Name extends string, Input, E, R, ContextInput>(
|
|
1471
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1472
|
+
examples: ReadonlyArray<Command.Example>
|
|
1473
|
+
) => makeCommand({ ...toImpl(self), examples }))
|
|
1474
|
+
|
|
929
1475
|
/* ========================================================================== */
|
|
930
1476
|
/* Providing Services */
|
|
931
1477
|
/* ========================================================================== */
|
|
932
1478
|
|
|
933
1479
|
// Internal helper: transforms a command's handler while preserving other properties
|
|
934
|
-
const mapHandler = <Name extends string, Input, E, R, E2, R2>(
|
|
935
|
-
self: Command<Name, Input, E, R>,
|
|
1480
|
+
const mapHandler = <Name extends string, Input, E, R, ContextInput, E2, R2>(
|
|
1481
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
936
1482
|
f: (handler: Effect.Effect<void, E | CliError.CliError, R | Environment>, input: Input) => Effect.Effect<void, E2, R2>
|
|
937
|
-
) => {
|
|
1483
|
+
): Command<Name, Input, ContextInput, E2, R2> => {
|
|
938
1484
|
const impl = toImpl(self)
|
|
939
1485
|
return makeCommand({ ...impl, handle: (input, path) => f(impl.handle(input, path), input) })
|
|
940
1486
|
}
|
|
@@ -1017,9 +1563,9 @@ export const provide: {
|
|
|
1017
1563
|
options?: {
|
|
1018
1564
|
readonly local?: boolean | undefined
|
|
1019
1565
|
} | undefined
|
|
1020
|
-
): <const Name extends string, E, R>(
|
|
1021
|
-
self: Command<Name, Input, E, R>
|
|
1022
|
-
) => Command<Name, Input, E | LE, Exclude<R, LA> | LR>
|
|
1566
|
+
): <const Name extends string, E, R, ContextInput>(
|
|
1567
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1568
|
+
) => Command<Name, Input, ContextInput, E | LE, Exclude<R, LA> | LR>
|
|
1023
1569
|
/**
|
|
1024
1570
|
* Provides the handler of a command with the services produced by a layer
|
|
1025
1571
|
* that optionally depends on the command-line input to be created.
|
|
@@ -1056,15 +1602,15 @@ export const provide: {
|
|
|
1056
1602
|
* @since 4.0.0
|
|
1057
1603
|
* @category providing services
|
|
1058
1604
|
*/
|
|
1059
|
-
<const Name extends string, Input, E, R, LA, LE, LR>(
|
|
1060
|
-
self: Command<Name, Input, E, R>,
|
|
1605
|
+
<const Name extends string, Input, E, R, ContextInput, LA, LE, LR>(
|
|
1606
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1061
1607
|
layer: Layer.Layer<LA, LE, LR> | ((input: Input) => Layer.Layer<LA, LE, LR>),
|
|
1062
1608
|
options?: {
|
|
1063
1609
|
readonly local?: boolean | undefined
|
|
1064
1610
|
} | undefined
|
|
1065
|
-
): Command<Name, Input, E | LE, Exclude<R, LA> | LR>
|
|
1066
|
-
} = dual((args) => isCommand(args[0]), <const Name extends string, Input, E, R, LA, LE, LR>(
|
|
1067
|
-
self: Command<Name, Input, E, R>,
|
|
1611
|
+
): Command<Name, Input, ContextInput, E | LE, Exclude<R, LA> | LR>
|
|
1612
|
+
} = dual((args) => isCommand(args[0]), <const Name extends string, Input, E, R, ContextInput, LA, LE, LR>(
|
|
1613
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1068
1614
|
layer: Layer.Layer<LA, LE, LR> | ((input: Input) => Layer.Layer<LA, LE, LR>),
|
|
1069
1615
|
options?: { readonly local?: boolean | undefined } | undefined
|
|
1070
1616
|
) =>
|
|
@@ -1088,12 +1634,9 @@ export const provideSync: {
|
|
|
1088
1634
|
* @since 4.0.0
|
|
1089
1635
|
* @category providing services
|
|
1090
1636
|
*/
|
|
1091
|
-
<I, S, Input>(
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
): <const Name extends string, E, R>(
|
|
1095
|
-
self: Command<Name, Input, E, R>
|
|
1096
|
-
) => Command<Name, Input, E, Exclude<R, I>>
|
|
1637
|
+
<I, S, Input>(service: Context.Key<I, S>, implementation: S | ((input: Input) => S)): <const Name extends string, E, R, ContextInput>(
|
|
1638
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1639
|
+
) => Command<Name, Input, ContextInput, E, Exclude<R, I>>
|
|
1097
1640
|
/**
|
|
1098
1641
|
* Provides the handler of a command with the implementation of a service that
|
|
1099
1642
|
* optionally depends on the command-line input to be constructed.
|
|
@@ -1101,14 +1644,14 @@ export const provideSync: {
|
|
|
1101
1644
|
* @since 4.0.0
|
|
1102
1645
|
* @category providing services
|
|
1103
1646
|
*/
|
|
1104
|
-
<const Name extends string, Input, E, R, I, S>(
|
|
1105
|
-
self: Command<Name, Input, E, R>,
|
|
1106
|
-
service:
|
|
1647
|
+
<const Name extends string, Input, E, R, ContextInput, I, S>(
|
|
1648
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1649
|
+
service: Context.Key<I, S>,
|
|
1107
1650
|
implementation: S | ((input: Input) => S)
|
|
1108
|
-
): Command<Name, Input, E, Exclude<R, I>>
|
|
1109
|
-
} = dual(3, <const Name extends string, Input, E, R, I, S>(
|
|
1110
|
-
self: Command<Name, Input, E, R>,
|
|
1111
|
-
service:
|
|
1651
|
+
): Command<Name, Input, ContextInput, E, Exclude<R, I>>
|
|
1652
|
+
} = dual(3, <const Name extends string, Input, E, R, ContextInput, I, S>(
|
|
1653
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1654
|
+
service: Context.Key<I, S>,
|
|
1112
1655
|
implementation: S | ((input: Input) => S)
|
|
1113
1656
|
) =>
|
|
1114
1657
|
mapHandler(self, (handler, input) =>
|
|
@@ -1134,11 +1677,11 @@ export const provideEffect: {
|
|
|
1134
1677
|
* @category providing services
|
|
1135
1678
|
*/
|
|
1136
1679
|
<I, S, Input, R2, E2>(
|
|
1137
|
-
service:
|
|
1680
|
+
service: Context.Key<I, S>,
|
|
1138
1681
|
effect: Effect.Effect<S, E2, R2> | ((input: Input) => Effect.Effect<S, E2, R2>)
|
|
1139
|
-
): <const Name extends string, E, R>(
|
|
1140
|
-
self: Command<Name, Input, E, R>
|
|
1141
|
-
) => Command<Name, Input, E | E2, Exclude<R, I> | R2>
|
|
1682
|
+
): <const Name extends string, E, R, ContextInput>(
|
|
1683
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1684
|
+
) => Command<Name, Input, ContextInput, E | E2, Exclude<R, I> | R2>
|
|
1142
1685
|
/**
|
|
1143
1686
|
* Provides the handler of a command with the service produced by an effect
|
|
1144
1687
|
* that optionally depends on the command-line input to be created.
|
|
@@ -1146,14 +1689,14 @@ export const provideEffect: {
|
|
|
1146
1689
|
* @since 4.0.0
|
|
1147
1690
|
* @category providing services
|
|
1148
1691
|
*/
|
|
1149
|
-
<const Name extends string, Input, E, R, I, S, R2, E2>(
|
|
1150
|
-
self: Command<Name, Input, E, R>,
|
|
1151
|
-
service:
|
|
1692
|
+
<const Name extends string, Input, E, R, ContextInput, I, S, R2, E2>(
|
|
1693
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1694
|
+
service: Context.Key<I, S>,
|
|
1152
1695
|
effect: Effect.Effect<S, E2, R2> | ((input: Input) => Effect.Effect<S, E2, R2>)
|
|
1153
|
-
): Command<Name, Input, E | E2, Exclude<R, I> | R2>
|
|
1154
|
-
} = dual(3, <const Name extends string, Input, E, R, I, S, R2, E2>(
|
|
1155
|
-
self: Command<Name, Input, E, R>,
|
|
1156
|
-
service:
|
|
1696
|
+
): Command<Name, Input, ContextInput, E | E2, Exclude<R, I> | R2>
|
|
1697
|
+
} = dual(3, <const Name extends string, Input, E, R, ContextInput, I, S, R2, E2>(
|
|
1698
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1699
|
+
service: Context.Key<I, S>,
|
|
1157
1700
|
effect: Effect.Effect<S, E2, R2> | ((input: Input) => Effect.Effect<S, E2, R2>)
|
|
1158
1701
|
) =>
|
|
1159
1702
|
mapHandler(
|
|
@@ -1179,9 +1722,9 @@ export const provideEffectDiscard: {
|
|
|
1179
1722
|
*/
|
|
1180
1723
|
<_, Input, E2, R2>(
|
|
1181
1724
|
effect: Effect.Effect<_, E2, R2> | ((input: Input) => Effect.Effect<_, E2, R2>)
|
|
1182
|
-
): <const Name extends string, E, R>(
|
|
1183
|
-
self: Command<Name, Input, E, R>
|
|
1184
|
-
) => Command<Name, Input, E | E2, R | R2>
|
|
1725
|
+
): <const Name extends string, E, R, ContextInput>(
|
|
1726
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1727
|
+
) => Command<Name, Input, ContextInput, E | E2, R | R2>
|
|
1185
1728
|
/**
|
|
1186
1729
|
* Allows for execution of an effect, which optionally depends on command-line
|
|
1187
1730
|
* input to be created, prior to executing the handler of a command.
|
|
@@ -1189,12 +1732,12 @@ export const provideEffectDiscard: {
|
|
|
1189
1732
|
* @since 4.0.0
|
|
1190
1733
|
* @category providing services
|
|
1191
1734
|
*/
|
|
1192
|
-
<const Name extends string, Input, E, R, _, E2, R2>(
|
|
1193
|
-
self: Command<Name, Input, E, R>,
|
|
1735
|
+
<const Name extends string, Input, E, R, ContextInput, _, E2, R2>(
|
|
1736
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1194
1737
|
effect: Effect.Effect<_, E2, R2> | ((input: Input) => Effect.Effect<_, E2, R2>)
|
|
1195
|
-
): Command<Name, Input, E | E2, R | R2>
|
|
1196
|
-
} = dual(2, <const Name extends string, Input, E, R, _, E2, R2>(
|
|
1197
|
-
self: Command<Name, Input, E, R>,
|
|
1738
|
+
): Command<Name, Input, ContextInput, E | E2, R | R2>
|
|
1739
|
+
} = dual(2, <const Name extends string, Input, E, R, ContextInput, _, E2, R2>(
|
|
1740
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1198
1741
|
effect: Effect.Effect<_, E2, R2> | ((input: Input) => Effect.Effect<_, E2, R2>)
|
|
1199
1742
|
) =>
|
|
1200
1743
|
mapHandler(self, (handler, input) => Effect.andThen(typeof effect === "function" ? effect(input) : effect, handler)))
|
|
@@ -1203,17 +1746,55 @@ export const provideEffectDiscard: {
|
|
|
1203
1746
|
/* Execution */
|
|
1204
1747
|
/* ========================================================================== */
|
|
1205
1748
|
|
|
1206
|
-
const
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1749
|
+
const getOutOfScopeGlobalFlagErrors = (
|
|
1750
|
+
allFlags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>,
|
|
1751
|
+
activeFlags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>,
|
|
1752
|
+
flagMap: Record<string, ReadonlyArray<string>>,
|
|
1753
|
+
commandPath: ReadonlyArray<string>
|
|
1754
|
+
): ReadonlyArray<CliError.UnrecognizedOption> => {
|
|
1755
|
+
const activeSet = new Set(activeFlags)
|
|
1756
|
+
const errors: Array<CliError.UnrecognizedOption> = []
|
|
1757
|
+
const seen = new Set<string>()
|
|
1758
|
+
|
|
1759
|
+
for (const flag of allFlags) {
|
|
1760
|
+
if (activeSet.has(flag)) {
|
|
1761
|
+
continue
|
|
1762
|
+
}
|
|
1763
|
+
|
|
1764
|
+
const singles = Param.extractSingleParams(flag.flag)
|
|
1765
|
+
for (const single of singles) {
|
|
1766
|
+
const entries = flagMap[single.name]
|
|
1767
|
+
if (!entries || entries.length === 0) {
|
|
1768
|
+
continue
|
|
1769
|
+
}
|
|
1770
|
+
const option = `--${single.name}`
|
|
1771
|
+
if (seen.has(option)) {
|
|
1772
|
+
continue
|
|
1773
|
+
}
|
|
1774
|
+
seen.add(option)
|
|
1775
|
+
errors.push(
|
|
1776
|
+
new CliError.UnrecognizedOption({
|
|
1777
|
+
option,
|
|
1778
|
+
suggestions: [],
|
|
1779
|
+
command: commandPath
|
|
1780
|
+
})
|
|
1781
|
+
)
|
|
1782
|
+
}
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
return errors
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
const showHelp = <Name extends string, Input, E, R, ContextInput>(
|
|
1789
|
+
command: Command<Name, Input, ContextInput, E, R>,
|
|
1790
|
+
error: CliError.ShowHelp
|
|
1791
|
+
): Effect.Effect<void, CliError.CliError, Environment> =>
|
|
1211
1792
|
Effect.gen(function*() {
|
|
1212
1793
|
const formatter = yield* CliOutput.Formatter
|
|
1213
|
-
const helpDoc = getHelpForCommandPath(command, commandPath)
|
|
1794
|
+
const helpDoc = yield* getHelpForCommandPath(command, error.commandPath, GlobalFlag.BuiltIns)
|
|
1214
1795
|
yield* Console.log(formatter.formatHelpDoc(helpDoc))
|
|
1215
|
-
if (errors
|
|
1216
|
-
yield* Console.error(formatter.formatErrors(errors))
|
|
1796
|
+
if (error.errors.length > 0) {
|
|
1797
|
+
yield* Console.error(formatter.formatErrors(error.errors as any))
|
|
1217
1798
|
}
|
|
1218
1799
|
})
|
|
1219
1800
|
|
|
@@ -1232,7 +1813,7 @@ const showHelp = <Name extends string, Input, E, R>(
|
|
|
1232
1813
|
* yield* Console.log(`Hello, ${config.name}!`)
|
|
1233
1814
|
* }))
|
|
1234
1815
|
*
|
|
1235
|
-
* // Automatically gets args from
|
|
1816
|
+
* // Automatically gets args from the Stdio service
|
|
1236
1817
|
* const program = Command.run(greetCommand, {
|
|
1237
1818
|
* version: "1.0.0"
|
|
1238
1819
|
* })
|
|
@@ -1257,7 +1838,7 @@ export const run: {
|
|
|
1257
1838
|
* yield* Console.log(`Hello, ${config.name}!`)
|
|
1258
1839
|
* }))
|
|
1259
1840
|
*
|
|
1260
|
-
* // Automatically gets args from
|
|
1841
|
+
* // Automatically gets args from the Stdio service
|
|
1261
1842
|
* const program = Command.run(greetCommand, {
|
|
1262
1843
|
* version: "1.0.0"
|
|
1263
1844
|
* })
|
|
@@ -1266,12 +1847,13 @@ export const run: {
|
|
|
1266
1847
|
* @since 4.0.0
|
|
1267
1848
|
* @category command execution
|
|
1268
1849
|
*/
|
|
1269
|
-
|
|
1270
|
-
command: Command<Name, Input, E, R>,
|
|
1850
|
+
(
|
|
1271
1851
|
config: {
|
|
1272
1852
|
readonly version: string
|
|
1273
1853
|
}
|
|
1274
|
-
):
|
|
1854
|
+
): <Name extends string, Input, E, R, ContextInput>(
|
|
1855
|
+
command: Command<Name, Input, ContextInput, E, R>
|
|
1856
|
+
) => Effect.Effect<void, E | CliError.CliError, R | Environment>
|
|
1275
1857
|
/**
|
|
1276
1858
|
* Runs a command with the provided input arguments.
|
|
1277
1859
|
*
|
|
@@ -1287,7 +1869,7 @@ export const run: {
|
|
|
1287
1869
|
* yield* Console.log(`Hello, ${config.name}!`)
|
|
1288
1870
|
* }))
|
|
1289
1871
|
*
|
|
1290
|
-
* // Automatically gets args from
|
|
1872
|
+
* // Automatically gets args from the Stdio service
|
|
1291
1873
|
* const program = Command.run(greetCommand, {
|
|
1292
1874
|
* version: "1.0.0"
|
|
1293
1875
|
* })
|
|
@@ -1296,24 +1878,24 @@ export const run: {
|
|
|
1296
1878
|
* @since 4.0.0
|
|
1297
1879
|
* @category command execution
|
|
1298
1880
|
*/
|
|
1299
|
-
(
|
|
1881
|
+
<Name extends string, Input, E, R, ContextInput>(
|
|
1882
|
+
command: Command<Name, Input, ContextInput, E, R>,
|
|
1300
1883
|
config: {
|
|
1301
1884
|
readonly version: string
|
|
1302
1885
|
}
|
|
1303
|
-
): <
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
} = dual(2, <Name extends string, Input, E, R>(
|
|
1307
|
-
command: Command<Name, Input, E, R>,
|
|
1886
|
+
): Effect.Effect<void, E | CliError.CliError, R | Environment>
|
|
1887
|
+
} = dual(2, <Name extends string, Input, E, R, ContextInput>(
|
|
1888
|
+
command: Command<Name, Input, ContextInput, E, R>,
|
|
1308
1889
|
config: {
|
|
1309
1890
|
readonly version: string
|
|
1310
1891
|
}
|
|
1311
|
-
) =>
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1892
|
+
) =>
|
|
1893
|
+
Stdio.Stdio.use(({ args }) =>
|
|
1894
|
+
Effect.flatMap(
|
|
1895
|
+
args,
|
|
1896
|
+
(args) => runWith(command, config)(args)
|
|
1897
|
+
)
|
|
1898
|
+
))
|
|
1317
1899
|
|
|
1318
1900
|
/**
|
|
1319
1901
|
* Runs a command with explicitly provided arguments instead of using process.argv.
|
|
@@ -1354,8 +1936,8 @@ export const run: {
|
|
|
1354
1936
|
* @since 4.0.0
|
|
1355
1937
|
* @category command execution
|
|
1356
1938
|
*/
|
|
1357
|
-
export const runWith = <const Name extends string, Input, E, R>(
|
|
1358
|
-
command: Command<Name, Input, E, R>,
|
|
1939
|
+
export const runWith = <const Name extends string, Input, E, R, ContextInput>(
|
|
1940
|
+
command: Command<Name, Input, ContextInput, E, R>,
|
|
1359
1941
|
config: {
|
|
1360
1942
|
readonly version: string
|
|
1361
1943
|
}
|
|
@@ -1365,54 +1947,87 @@ export const runWith = <const Name extends string, Input, E, R>(
|
|
|
1365
1947
|
const commandImpl = toImpl(command)
|
|
1366
1948
|
return Effect.fnUntraced(
|
|
1367
1949
|
function*(args: ReadonlyArray<string>) {
|
|
1368
|
-
// Lex and extract built-in flags
|
|
1369
1950
|
const { tokens, trailingOperands } = Lexer.lex(args)
|
|
1370
|
-
|
|
1951
|
+
|
|
1952
|
+
// 1. Collect known global flags from the command tree
|
|
1953
|
+
const allFlags = getGlobalFlagsForCommandTree(command, GlobalFlag.BuiltIns)
|
|
1954
|
+
|
|
1955
|
+
// 2. Extract global flag tokens
|
|
1956
|
+
const allFlagParams = allFlags.flatMap((f) => Param.extractSingleParams(f.flag))
|
|
1957
|
+
const globalRegistry = Parser.createFlagRegistry(allFlagParams.filter(Param.isFlagParam))
|
|
1958
|
+
const { flagMap, remainder, errors: globalFlagErrors } = Parser.consumeKnownFlags(tokens, globalRegistry)
|
|
1959
|
+
const emptyArgs: Param.ParsedArgs = { flags: flagMap, arguments: [] }
|
|
1960
|
+
|
|
1961
|
+
// 3. Parse command arguments from remaining tokens
|
|
1371
1962
|
const parsedArgs = yield* Parser.parseArgs({ tokens: remainder, trailingOperands }, command)
|
|
1372
1963
|
const commandPath = [command.name, ...Parser.getCommandPath(parsedArgs)] as const
|
|
1373
|
-
const
|
|
1964
|
+
const handlerCtx: GlobalFlag.HandlerContext = { command, commandPath, version: config.version }
|
|
1965
|
+
const activeFlags = getGlobalFlagsForCommandPath(command, commandPath, GlobalFlag.BuiltIns)
|
|
1374
1966
|
|
|
1375
|
-
//
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
return
|
|
1967
|
+
// 4. Reject globals that were passed outside the active command scope
|
|
1968
|
+
const outOfScopeErrors = getOutOfScopeGlobalFlagErrors(allFlags, activeFlags, flagMap, commandPath)
|
|
1969
|
+
if (outOfScopeErrors.length > 0 || globalFlagErrors.length > 0) {
|
|
1970
|
+
const parseErrors = parsedArgs.errors ?? []
|
|
1971
|
+
return yield* new CliError.ShowHelp({
|
|
1972
|
+
commandPath,
|
|
1973
|
+
errors: [...globalFlagErrors, ...outOfScopeErrors, ...parseErrors]
|
|
1974
|
+
})
|
|
1384
1975
|
}
|
|
1385
|
-
|
|
1386
|
-
|
|
1976
|
+
|
|
1977
|
+
// 5. Process action flags — first present action wins, then exit
|
|
1978
|
+
for (const flag of activeFlags) {
|
|
1979
|
+
if (flag._tag !== "Action") continue
|
|
1980
|
+
const singles = Param.extractSingleParams(flag.flag)
|
|
1981
|
+
const hasEntry = singles.some((s) => {
|
|
1982
|
+
const entries = flagMap[s.name]
|
|
1983
|
+
return entries !== undefined && entries.length > 0
|
|
1984
|
+
})
|
|
1985
|
+
if (!hasEntry) continue
|
|
1986
|
+
const [, value] = yield* flag.flag.parse(emptyArgs)
|
|
1987
|
+
yield* flag.run(value, handlerCtx)
|
|
1387
1988
|
return
|
|
1388
1989
|
}
|
|
1389
1990
|
|
|
1390
|
-
// Handle parsing errors
|
|
1991
|
+
// 6. Handle parsing errors
|
|
1391
1992
|
if (parsedArgs.errors && parsedArgs.errors.length > 0) {
|
|
1392
|
-
return yield*
|
|
1993
|
+
return yield* new CliError.ShowHelp({ commandPath, errors: parsedArgs.errors })
|
|
1393
1994
|
}
|
|
1394
1995
|
const parseResult = yield* Effect.result(commandImpl.parse(parsedArgs))
|
|
1395
1996
|
if (parseResult._tag === "Failure") {
|
|
1396
|
-
return yield*
|
|
1997
|
+
return yield* new CliError.ShowHelp({
|
|
1998
|
+
commandPath,
|
|
1999
|
+
errors: [parseResult.failure as CliError.NonShowHelpErrors]
|
|
2000
|
+
})
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
// 7. Provide setting values
|
|
2004
|
+
let program = commandImpl.handle(parseResult.success, [command.name])
|
|
2005
|
+
for (const flag of activeFlags) {
|
|
2006
|
+
if (flag._tag !== "Setting") continue
|
|
2007
|
+
const [, value] = yield* flag.flag.parse(emptyArgs)
|
|
2008
|
+
program = Effect.provideService(program, flag, value)
|
|
1397
2009
|
}
|
|
1398
|
-
const parsed = parseResult.success
|
|
1399
2010
|
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
2011
|
+
const [, logLevel] = yield* GlobalFlag.LogLevel.flag.parse(emptyArgs)
|
|
2012
|
+
program = Effect.provideService(program, GlobalFlag.LogLevel, logLevel)
|
|
2013
|
+
|
|
2014
|
+
// 8. Apply built-in setting behavior
|
|
2015
|
+
const services = Option.match(logLevel, {
|
|
2016
|
+
onNone: () => Context.empty(),
|
|
2017
|
+
onSome: (level) => Context.make(References.MinimumLogLevel, level)
|
|
2018
|
+
})
|
|
1405
2019
|
|
|
1406
|
-
|
|
2020
|
+
// 9. Run command handler with composed context
|
|
2021
|
+
yield* Effect.provideContext(program, services)
|
|
1407
2022
|
},
|
|
1408
|
-
Effect.
|
|
1409
|
-
(
|
|
2023
|
+
Effect.catchFilter(
|
|
2024
|
+
(error) =>
|
|
1410
2025
|
CliError.isCliError(error) && error._tag === "ShowHelp"
|
|
1411
2026
|
? Result.succeed(error)
|
|
1412
|
-
: Result.fail(error)
|
|
1413
|
-
(error
|
|
2027
|
+
: Result.fail(error),
|
|
2028
|
+
(error) => Effect.andThen(showHelp(command, error), Effect.fail(error))
|
|
1414
2029
|
),
|
|
1415
|
-
Effect.
|
|
2030
|
+
Effect.catchFilter(
|
|
1416
2031
|
(e) =>
|
|
1417
2032
|
Terminal.isQuitError(e)
|
|
1418
2033
|
? Result.succeed(e)
|