effect 4.0.1 → 4.0.2
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/ai-docs/package.json +2 -2
- package/ai-docs/tsconfig.json +2 -1
- package/dist/Array.d.ts +339 -0
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +143 -3
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +88 -0
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +44 -0
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +68 -0
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +36 -0
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +34 -0
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +18 -0
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.d.ts +9 -0
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +6 -0
- package/dist/Brand.js.map +1 -1
- package/dist/ByteSize.d.ts +86 -0
- package/dist/ByteSize.d.ts.map +1 -1
- package/dist/ByteSize.js +51 -0
- package/dist/ByteSize.js.map +1 -1
- package/dist/Cache.d.ts +38 -1
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +27 -7
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +82 -0
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +60 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +327 -4
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +168 -8
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +11 -0
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js +6 -0
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +192 -0
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +78 -0
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +7 -0
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +5 -0
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +10 -0
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +8 -0
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +52 -12
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +55 -5
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +28 -0
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +19 -0
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +22 -0
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +20 -0
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +50 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +21 -0
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +16 -0
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +26 -1
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +5 -0
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -0
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +13 -0
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +5 -0
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +171 -0
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +89 -0
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +51 -0
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +22 -0
- package/dist/Deferred.js.map +1 -1
- package/dist/Differ.d.ts +2 -0
- package/dist/Differ.d.ts.map +1 -1
- package/dist/Differ.js +1 -0
- package/dist/Duration.d.ts +90 -0
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +53 -0
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +527 -0
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +240 -5
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +4 -0
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +3 -0
- package/dist/Effectable.js.map +1 -1
- package/dist/Equal.d.ts +8 -0
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +9 -1
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +21 -0
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +16 -0
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +36 -0
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +11 -0
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +49 -8
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +40 -0
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +27 -0
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +20 -0
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +11 -0
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +21 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +21 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +35 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +19 -0
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +20 -0
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +14 -0
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +15 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +8 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +55 -0
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +28 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +3 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +39 -1
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +30 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +20 -0
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +247 -12
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +149 -28
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +5 -0
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +14 -0
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +12 -0
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +91 -0
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +39 -0
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +17 -0
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +49 -0
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +19 -0
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +7 -0
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +6 -0
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +127 -0
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +51 -0
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +4 -0
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +3 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +5 -0
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +5 -0
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +16 -0
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +11 -0
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +14 -0
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +10 -0
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +100 -0
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +45 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +7 -0
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +4 -0
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +5 -0
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +3 -0
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +20 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +9 -0
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +25 -0
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +30 -4
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +5 -0
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +9 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +51 -0
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +39 -0
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +59 -0
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +31 -0
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +32 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +16 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +16 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +10 -0
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +20 -0
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +31 -0
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +17 -0
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +9 -0
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +6 -0
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +4 -0
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +2 -0
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +61 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +31 -0
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +41 -0
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +20 -0
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +134 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +61 -0
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +29 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +24 -0
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +7 -0
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +3 -0
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +24 -0
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +47 -21
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +6 -0
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +4 -0
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +7 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +5 -0
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +8 -0
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +7 -0
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +19 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +8 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +84 -0
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +48 -0
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +5 -0
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +4 -0
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +67 -5
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +60 -8
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +20 -0
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +10 -0
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +60 -0
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +58 -8
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +13 -0
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +9 -0
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +23 -0
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +8 -0
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +6 -0
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +3 -0
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +100 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +43 -0
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -0
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +4 -0
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +8 -0
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +6 -0
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +4 -0
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +3 -0
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +20 -0
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +16 -0
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +21 -0
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +19 -0
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +3 -0
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +4 -0
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +32 -0
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +12 -0
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +42 -0
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +27 -6
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +6 -0
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +6 -0
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +91 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +41 -0
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +9 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +7 -0
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +57 -0
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +32 -0
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +7 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +5 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +496 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +280 -1
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +107 -0
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +81 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +69 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +63 -4
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +33 -0
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +18 -0
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +25 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +26 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +147 -0
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +99 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +53 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +46 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +19 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +12 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +34 -0
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +26 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +9 -0
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +6 -0
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +26 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +10 -0
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +125 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +75 -1
- package/dist/Sink.js.map +1 -1
- package/dist/StandardSchema.d.ts +1 -0
- package/dist/StandardSchema.d.ts.map +1 -1
- package/dist/StandardSchema.js +1 -0
- package/dist/Stdio.d.ts +7 -0
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +5 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +558 -0
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +261 -13
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +87 -0
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +61 -0
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +46 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +19 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +65 -0
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +25 -0
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +2 -0
- package/dist/Symbol.d.ts.map +1 -1
- package/dist/Symbol.js +2 -0
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +63 -0
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +24 -0
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.d.ts +3 -0
- package/dist/Take.d.ts.map +1 -1
- package/dist/Take.js +1 -0
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +8 -0
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +4 -0
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +23 -0
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +12 -0
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +68 -0
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +28 -0
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +38 -0
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +18 -0
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +52 -0
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +23 -0
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +15 -0
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +8 -0
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +83 -0
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +52 -7
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +51 -0
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +29 -4
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +30 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +22 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +25 -0
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +19 -0
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +51 -0
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +30 -0
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +24 -0
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +32 -18
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +14 -0
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +7 -0
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +25 -0
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +29 -13
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +25 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +12 -0
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +36 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js +1 -0
- package/dist/UndefinedOr.d.ts +15 -0
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +9 -0
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +15 -0
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +2 -0
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +4 -0
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +1 -0
- package/dist/Utils.js.map +1 -1
- package/dist/Version.d.ts +26 -0
- package/dist/Version.d.ts.map +1 -0
- package/dist/Version.js +36 -0
- package/dist/Version.js.map +1 -0
- package/dist/ai/Chat.js +1 -1
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +22 -0
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +22 -4
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +14 -13
- package/dist/ai/LanguageModel.js.map +1 -1
- package/dist/ai/McpServer.d.ts +32 -11
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +213 -169
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Telemetry.d.ts +49 -41
- package/dist/ai/Telemetry.d.ts.map +1 -1
- package/dist/ai/Telemetry.js +6 -8
- package/dist/ai/Telemetry.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +79 -46
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/cluster/K8sHttpClient.js +5 -2
- package/dist/cluster/K8sHttpClient.js.map +1 -1
- package/dist/encoding/Base64.d.ts +4 -0
- package/dist/encoding/Base64.d.ts.map +1 -1
- package/dist/encoding/Base64.js +4 -0
- package/dist/encoding/Base64.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts +4 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +4 -0
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/EncodingError.d.ts +4 -0
- package/dist/encoding/EncodingError.d.ts.map +1 -1
- package/dist/encoding/EncodingError.js +4 -0
- package/dist/encoding/EncodingError.js.map +1 -1
- package/dist/encoding/Hex.d.ts +5 -0
- package/dist/encoding/Hex.d.ts.map +1 -1
- package/dist/encoding/Hex.js +5 -0
- package/dist/encoding/Hex.js.map +1 -1
- package/dist/encoding/Toml.js +2 -2
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +6 -4
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/index.d.ts +4 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +4 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +8 -4
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/http/Headers.d.ts +3 -1
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +4 -2
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +9 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +40 -21
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientResponse.js +3 -1
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +3 -0
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +5 -2
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +17 -0
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +56 -39
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpServer.d.ts +1 -1
- package/dist/http/HttpServer.d.ts.map +1 -1
- package/dist/http/internal/tracing.d.ts +2 -0
- package/dist/http/internal/tracing.d.ts.map +1 -0
- package/dist/http/internal/tracing.js +37 -0
- package/dist/http/internal/tracing.js.map +1 -0
- package/dist/http-api/HttpApiBuilder.js +2 -1
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +12 -3
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +4 -3
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +7 -4
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiSecurity.d.ts +8 -8
- package/dist/http-api/HttpApiSecurity.js +8 -8
- package/dist/index.d.ts +155 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/array.js +3 -3
- package/dist/internal/arbitrary/array.js.map +1 -1
- package/dist/internal/arbitrary/model.js +26 -11
- package/dist/internal/arbitrary/model.js.map +1 -1
- package/dist/internal/arbitrary/runner.js +8 -8
- package/dist/internal/arbitrary/runner.js.map +1 -1
- package/dist/internal/arbitrary/schema.js +4 -5
- package/dist/internal/arbitrary/schema.js.map +1 -1
- package/dist/internal/effect.js +41 -39
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/schedule.js +7 -5
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/standardSchema.js +2 -2
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/version.d.ts +2 -0
- package/dist/internal/version.d.ts.map +1 -0
- package/dist/internal/version.js +3 -0
- package/dist/internal/version.js.map +1 -0
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -6
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/observability/OtlpLogger.js +23 -27
- package/dist/observability/OtlpLogger.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts +5 -3
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +21 -94
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpResource.d.ts +4 -3
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +20 -23
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpTracer.d.ts +1 -0
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +32 -36
- package/dist/observability/OtlpTracer.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +32 -1
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/Atom.d.ts +5 -5
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +9 -5
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +2 -2
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +8 -0
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +21 -3
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +38 -20
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +18 -21
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/internal/tracing.d.ts +2 -0
- package/dist/rpc/internal/tracing.d.ts.map +1 -0
- package/dist/rpc/internal/tracing.js +18 -0
- package/dist/rpc/internal/tracing.js.map +1 -0
- package/dist/schema/SchemaCompiler/runtime.js +9 -1
- package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
- package/dist/sql/SqlClient.js +4 -4
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +21 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +55 -7
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -0
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +7 -0
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +7 -0
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +6 -0
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -1
- package/package.json +3 -3
- package/src/Array.ts +351 -3
- package/src/BigDecimal.ts +88 -0
- package/src/BigInt.ts +68 -0
- package/src/Boolean.ts +34 -0
- package/src/Brand.ts +10 -0
- package/src/ByteSize.ts +87 -0
- package/src/Cache.ts +50 -8
- package/src/Cause.ts +82 -0
- package/src/Channel.ts +368 -18
- package/src/ChannelSchema.ts +13 -0
- package/src/Chunk.ts +193 -0
- package/src/Clock.ts +7 -0
- package/src/Combiner.ts +10 -0
- package/src/Config.ts +82 -8
- package/src/ConfigProvider.ts +28 -0
- package/src/Console.ts +26 -0
- package/src/Context.ts +50 -0
- package/src/Cron.ts +32 -1
- package/src/Crypto.ts +5 -0
- package/src/Data.ts +13 -0
- package/src/DateTime.ts +171 -0
- package/src/Deferred.ts +51 -0
- package/src/Differ.ts +2 -0
- package/src/Duration.ts +90 -0
- package/src/Effect.ts +539 -5
- package/src/Effectable.ts +4 -0
- package/src/Equal.ts +12 -1
- package/src/Equivalence.ts +22 -0
- package/src/ErrorReporter.ts +36 -0
- package/src/ExecutionPlan.ts +58 -14
- package/src/Exit.ts +40 -0
- package/src/Fiber.ts +20 -0
- package/src/FiberHandle.ts +29 -4
- package/src/FiberMap.ts +38 -0
- package/src/FiberSet.ts +21 -0
- package/src/FileSystem.ts +16 -0
- package/src/Filter.ts +55 -0
- package/src/Formatter.ts +42 -1
- package/src/Function.ts +30 -0
- package/src/Graph.ts +317 -36
- package/src/HKT.ts +5 -0
- package/src/Hash.ts +15 -0
- package/src/HashMap.ts +91 -0
- package/src/HashRing.ts +18 -0
- package/src/HashSet.ts +53 -0
- package/src/Inspectable.ts +8 -0
- package/src/Iterable.ts +127 -0
- package/src/JsonPatch.ts +5 -0
- package/src/JsonPointer.ts +5 -0
- package/src/JsonSchema.ts +17 -0
- package/src/Latch.ts +14 -0
- package/src/Layer.ts +101 -1
- package/src/LayerMap.ts +7 -0
- package/src/LayerRef.ts +5 -0
- package/src/LogLevel.ts +20 -0
- package/src/Logger.ts +41 -5
- package/src/ManagedRuntime.ts +12 -1
- package/src/Match.ts +52 -0
- package/src/Metric.ts +69 -0
- package/src/MutableHashMap.ts +44 -0
- package/src/MutableHashSet.ts +17 -0
- package/src/MutableList.ts +21 -0
- package/src/MutableRef.ts +32 -0
- package/src/Newtype.ts +9 -0
- package/src/NonEmptyIterable.ts +4 -0
- package/src/Number.ts +61 -0
- package/src/Optic.ts +57 -0
- package/src/Option.ts +134 -0
- package/src/Order.ts +30 -0
- package/src/Ordering.ts +7 -0
- package/src/PartitionedSemaphore.ts +61 -22
- package/src/Path.ts +6 -0
- package/src/Pipeable.ts +7 -0
- package/src/PlatformError.ts +8 -0
- package/src/Pool.ts +20 -1
- package/src/Predicate.ts +85 -0
- package/src/PrimaryKey.ts +5 -0
- package/src/PubSub.ts +90 -9
- package/src/Pull.ts +20 -0
- package/src/Queue.ts +80 -10
- package/src/Random.ts +13 -0
- package/src/RcMap.ts +23 -0
- package/src/RcRef.ts +6 -0
- package/src/Record.ts +100 -0
- package/src/Redactable.ts +6 -0
- package/src/Redacted.ts +8 -0
- package/src/Reducer.ts +4 -0
- package/src/Ref.ts +42 -0
- package/src/References.ts +21 -0
- package/src/RegExp.ts +4 -0
- package/src/Request.ts +32 -0
- package/src/RequestResolver.ts +59 -10
- package/src/Resource.ts +7 -0
- package/src/Result.ts +93 -0
- package/src/Runtime.ts +10 -0
- package/src/Schedule.ts +61 -0
- package/src/Scheduler.ts +7 -0
- package/src/Schema.ts +499 -4
- package/src/SchemaAST.ts +115 -1
- package/src/SchemaGetter.ts +80 -4
- package/src/SchemaIssue.ts +34 -0
- package/src/SchemaParser.ts +26 -0
- package/src/SchemaRepresentation.ts +148 -0
- package/src/SchemaTransformation.ts +53 -0
- package/src/Scope.ts +19 -0
- package/src/ScopedCache.ts +55 -3
- package/src/ScopedRef.ts +9 -0
- package/src/Semaphore.ts +26 -0
- package/src/Sink.ts +126 -2
- package/src/StandardSchema.ts +1 -0
- package/src/Stdio.ts +7 -0
- package/src/Stream.ts +622 -15
- package/src/String.ts +87 -0
- package/src/Struct.ts +46 -0
- package/src/SubscriptionRef.ts +65 -0
- package/src/Symbol.ts +2 -0
- package/src/SynchronizedRef.ts +63 -0
- package/src/Take.ts +3 -0
- package/src/Terminal.ts +8 -0
- package/src/Tracer.ts +23 -0
- package/src/Trie.ts +68 -0
- package/src/Tuple.ts +38 -0
- package/src/TxChunk.ts +52 -0
- package/src/TxDeferred.ts +15 -0
- package/src/TxHashMap.ts +97 -6
- package/src/TxHashSet.ts +83 -3
- package/src/TxPriorityQueue.ts +34 -2
- package/src/TxPubSub.ts +26 -0
- package/src/TxQueue.ts +51 -0
- package/src/TxReentrantLock.ts +53 -36
- package/src/TxRef.ts +14 -0
- package/src/TxSemaphore.ts +47 -31
- package/src/TxSubscriptionRef.ts +25 -0
- package/src/Types.ts +36 -0
- package/src/UndefinedOr.ts +15 -0
- package/src/Unify.ts +15 -0
- package/src/Utils.ts +4 -0
- package/src/Version.ts +38 -0
- package/src/ai/Chat.ts +1 -1
- package/src/ai/DecisionModel.ts +42 -1
- package/src/ai/LanguageModel.ts +16 -19
- package/src/ai/McpServer.ts +107 -36
- package/src/ai/Telemetry.ts +62 -58
- package/src/ai/internal/mcpRuntime.ts +84 -43
- package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
- package/src/cluster/K8sHttpClient.ts +12 -2
- package/src/encoding/Base64.ts +4 -0
- package/src/encoding/Base64Url.ts +4 -0
- package/src/encoding/EncodingError.ts +5 -0
- package/src/encoding/Hex.ts +5 -0
- package/src/encoding/Toml.ts +2 -2
- package/src/encoding/Yaml.ts +8 -4
- package/src/encoding/index.ts +4 -0
- package/src/eventlog/SqlEventJournal.ts +18 -4
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
- package/src/http/Headers.ts +8 -2
- package/src/http/HttpClient.ts +44 -27
- package/src/http/HttpClientResponse.ts +3 -1
- package/src/http/HttpEffect.ts +11 -2
- package/src/http/HttpMiddleware.ts +60 -45
- package/src/http/HttpServer.ts +1 -1
- package/src/http/internal/tracing.ts +52 -0
- package/src/http-api/HttpApiBuilder.ts +5 -1
- package/src/http-api/HttpApiClient.ts +13 -4
- package/src/http-api/HttpApiError.ts +8 -4
- package/src/http-api/HttpApiSecurity.ts +8 -8
- package/src/index.ts +156 -0
- package/src/internal/arbitrary/array.ts +3 -3
- package/src/internal/arbitrary/model.ts +37 -14
- package/src/internal/arbitrary/runner.ts +7 -7
- package/src/internal/arbitrary/schema.ts +4 -3
- package/src/internal/effect.ts +47 -45
- package/src/internal/schedule.ts +23 -17
- package/src/internal/schema/standardSchema.ts +2 -2
- package/src/internal/version.ts +2 -0
- package/src/observability/OtlpExporter.ts +9 -6
- package/src/observability/OtlpLogger.ts +20 -21
- package/src/observability/OtlpMetrics.ts +34 -93
- package/src/observability/OtlpResource.ts +18 -27
- package/src/observability/OtlpTracer.ts +34 -40
- package/src/observability/internal/otlpProtobuf.ts +60 -0
- package/src/reactivity/AsyncResult.ts +1 -1
- package/src/reactivity/Atom.ts +10 -6
- package/src/reactivity/AtomHttpApi.ts +2 -4
- package/src/reactivity/AtomRegistry.ts +7 -0
- package/src/rpc/RpcClient.ts +48 -24
- package/src/rpc/RpcServer.ts +26 -24
- package/src/rpc/internal/tracing.ts +22 -0
- package/src/schema/SchemaCompiler/runtime.ts +4 -1
- package/src/sql/SqlClient.ts +4 -4
- package/src/sql/Statement.ts +59 -7
- package/src/testing/TestClock.ts +9 -0
- package/src/testing/TestConsole.ts +8 -0
- package/src/testing/index.ts +3 -0
|
@@ -17,6 +17,7 @@ import * as Predicate from "../../Predicate.ts"
|
|
|
17
17
|
import * as Result from "../../Result.ts"
|
|
18
18
|
import * as RpcGroup from "../../rpc/RpcGroup.ts"
|
|
19
19
|
import type * as RpcMessage from "../../rpc/RpcMessage.ts"
|
|
20
|
+
import type * as Scope from "../../Scope.ts"
|
|
20
21
|
import type * as PublicMcpProtocol from "../McpProtocol.ts"
|
|
21
22
|
import * as PublicMcpSchema from "../McpSchema.ts"
|
|
22
23
|
import type * as McpCore from "./mcpCore.ts"
|
|
@@ -175,6 +176,10 @@ export interface ServerRuntimeShape {
|
|
|
175
176
|
fallback: LogLevel.LogLevel
|
|
176
177
|
) => LogLevel.LogLevel
|
|
177
178
|
readonly disconnect: (clientId: number) => void
|
|
179
|
+
readonly terminateHttpSession: (headers: Headers.Headers) => Effect.Effect<HttpServerResponse.HttpServerResponse>
|
|
180
|
+
readonly onSessionTerminated: (
|
|
181
|
+
listener: (binding: RequestBinding) => Effect.Effect<void>
|
|
182
|
+
) => Effect.Effect<void, never, Scope.Scope>
|
|
178
183
|
readonly deliveryClientIds: () => Iterable<number>
|
|
179
184
|
readonly canDeliver: (
|
|
180
185
|
clientId: number,
|
|
@@ -228,9 +233,36 @@ export const make = Effect.fnUntraced(function*(
|
|
|
228
233
|
statelessProtocol = protocol
|
|
229
234
|
}
|
|
230
235
|
const registry = yield* McpProtocolRegistry.make(protocols)
|
|
231
|
-
const
|
|
236
|
+
const sessionTerminationListeners = new Set<(binding: RequestBinding) => Effect.Effect<void>>()
|
|
237
|
+
const unsupportedProtocolVersion = (requested: string) => ({
|
|
238
|
+
code: UNSUPPORTED_PROTOCOL_VERSION_ERROR_CODE,
|
|
239
|
+
message: `Unsupported protocol version '${requested}'`,
|
|
240
|
+
data: { supported: protocolVersions, requested }
|
|
241
|
+
})
|
|
242
|
+
const selectHttpSession = (headers: Headers.Headers, isInitialize: boolean): HttpProtocolSelection => {
|
|
232
243
|
const protocolVersion = headers[MCP_PROTOCOL_VERSION_HEADER]
|
|
233
244
|
const sessionId = headers[MCP_SESSION_ID_HEADER]
|
|
245
|
+
const binding = sessionId === undefined ? undefined : stateful?.resolveSessionId(sessionId)
|
|
246
|
+
if (sessionId !== undefined && binding === undefined) {
|
|
247
|
+
return { _tag: "Rejected", status: 404 }
|
|
248
|
+
}
|
|
249
|
+
if (!isInitialize && protocolVersion !== undefined) {
|
|
250
|
+
if (!protocolVersions.includes(protocolVersion)) {
|
|
251
|
+
return { _tag: "Rejected", status: 400, error: unsupportedProtocolVersion(protocolVersion) }
|
|
252
|
+
}
|
|
253
|
+
if (
|
|
254
|
+
binding?.protocol.runtime.transport.http.requiresVersionHeader === true &&
|
|
255
|
+
protocolVersion !== binding.protocol.protocolVersion
|
|
256
|
+
) {
|
|
257
|
+
return headerMismatch(
|
|
258
|
+
`MCP-Protocol-Version header '${protocolVersion}' does not match negotiated protocol version '${binding.protocol.protocolVersion}'`
|
|
259
|
+
)
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return { _tag: "Accepted", binding, protocol: binding?.protocol }
|
|
263
|
+
}
|
|
264
|
+
const selectHttpProtocol = (headers: Headers.Headers, input: unknown): HttpProtocolSelection => {
|
|
265
|
+
const protocolVersion = headers[MCP_PROTOCOL_VERSION_HEADER]
|
|
234
266
|
const inputRecord = asRecord(input)
|
|
235
267
|
const metadata = asRecord(asRecord(inputRecord?.params)?._meta)
|
|
236
268
|
const claim = protocolVersionClaim(metadata)
|
|
@@ -272,18 +304,7 @@ export const make = Effect.fnUntraced(function*(
|
|
|
272
304
|
}
|
|
273
305
|
}
|
|
274
306
|
if (statelessProtocol === undefined || protocolVersion !== statelessProtocol.protocolVersion) {
|
|
275
|
-
return {
|
|
276
|
-
_tag: "Rejected",
|
|
277
|
-
status: 400,
|
|
278
|
-
error: {
|
|
279
|
-
code: UNSUPPORTED_PROTOCOL_VERSION_ERROR_CODE,
|
|
280
|
-
message: `Unsupported protocol version '${protocolVersion}'`,
|
|
281
|
-
data: {
|
|
282
|
-
supported: protocolVersions,
|
|
283
|
-
requested: protocolVersion
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
}
|
|
307
|
+
return { _tag: "Rejected", status: 400, error: unsupportedProtocolVersion(protocolVersion) }
|
|
287
308
|
}
|
|
288
309
|
const method = inputRecord?.method
|
|
289
310
|
if (typeof method !== "string" || headers[MCP_METHOD_HEADER] !== method) {
|
|
@@ -299,25 +320,7 @@ export const make = Effect.fnUntraced(function*(
|
|
|
299
320
|
}
|
|
300
321
|
return { _tag: "Accepted", binding: undefined, protocol: statelessProtocol }
|
|
301
322
|
}
|
|
302
|
-
|
|
303
|
-
if (sessionId !== undefined && binding === undefined) {
|
|
304
|
-
return { _tag: "Rejected", status: 404 }
|
|
305
|
-
}
|
|
306
|
-
if (
|
|
307
|
-
!isInitialize &&
|
|
308
|
-
protocolVersion !== undefined &&
|
|
309
|
-
!registry.protocols.some((protocol) => protocol.protocolVersion === protocolVersion)
|
|
310
|
-
) {
|
|
311
|
-
return { _tag: "Rejected", status: 400 }
|
|
312
|
-
}
|
|
313
|
-
if (
|
|
314
|
-
!isInitialize &&
|
|
315
|
-
binding?.protocol.runtime.transport.http.requiresVersionHeader === true &&
|
|
316
|
-
protocolVersion !== binding.protocol.protocolVersion
|
|
317
|
-
) {
|
|
318
|
-
return { _tag: "Rejected", status: 400 }
|
|
319
|
-
}
|
|
320
|
-
return { _tag: "Accepted", binding, protocol: binding?.protocol }
|
|
323
|
+
return selectHttpSession(headers, isInitialize)
|
|
321
324
|
}
|
|
322
325
|
return ServerRuntime.of({
|
|
323
326
|
protocols: registry.protocols,
|
|
@@ -362,11 +365,7 @@ export const make = Effect.fnUntraced(function*(
|
|
|
362
365
|
return yield* Effect.die("MCP stateless runtime invariant failed")
|
|
363
366
|
}
|
|
364
367
|
if (requestedVersion !== undefined && requestedVersion !== protocol.protocolVersion) {
|
|
365
|
-
return yield* new McpProtocol.ProtocolError(
|
|
366
|
-
code: UNSUPPORTED_PROTOCOL_VERSION_ERROR_CODE,
|
|
367
|
-
message: `Unsupported protocol version '${requestedVersion}'`,
|
|
368
|
-
data: { supported: protocolVersions, requested: requestedVersion }
|
|
369
|
-
})
|
|
368
|
+
return yield* new McpProtocol.ProtocolError(unsupportedProtocolVersion(requestedVersion))
|
|
370
369
|
}
|
|
371
370
|
const decodedProfile = yield* statelessDescriptor.profileFromRequestMetadata(metadata)
|
|
372
371
|
const profile: McpCore.NegotiatedProtocolProfile<string> = {
|
|
@@ -394,12 +393,14 @@ export const make = Effect.fnUntraced(function*(
|
|
|
394
393
|
})
|
|
395
394
|
if (Result.isFailure(parsed)) {
|
|
396
395
|
const version = headers[MCP_PROTOCOL_VERSION_HEADER]
|
|
397
|
-
if (version !== undefined && !
|
|
398
|
-
return reject(400)
|
|
396
|
+
if (version !== undefined && !protocolVersions.includes(version)) {
|
|
397
|
+
return reject(400, unsupportedProtocolVersion(version))
|
|
399
398
|
}
|
|
400
399
|
const admission = selectHttpProtocol(headers, undefined)
|
|
401
|
-
|
|
402
|
-
|
|
400
|
+
// Session and protocol-header errors take precedence over parse errors.
|
|
401
|
+
return admission._tag === "Rejected" &&
|
|
402
|
+
(admission.error === undefined || admission.error.code === PublicMcpSchema.HEADER_MISMATCH_ERROR_CODE)
|
|
403
|
+
? reject(admission.status, admission.error)
|
|
403
404
|
: reject(200, new PublicMcpSchema.ParseError({ message: "Parse error" }))
|
|
404
405
|
}
|
|
405
406
|
const input = parsed.success
|
|
@@ -444,8 +445,21 @@ export const make = Effect.fnUntraced(function*(
|
|
|
444
445
|
}
|
|
445
446
|
const isInitialize = Predicate.hasProperty(input, "method") && input.method === "initialize"
|
|
446
447
|
const hasSession = headers[MCP_SESSION_ID_HEADER] !== undefined
|
|
447
|
-
if (isInitialize
|
|
448
|
-
return reject(
|
|
448
|
+
if (isInitialize && hasSession) {
|
|
449
|
+
return reject(
|
|
450
|
+
400,
|
|
451
|
+
new PublicMcpSchema.InvalidRequest({ message: "initialize must not include an MCP-Session-Id header" }),
|
|
452
|
+
id
|
|
453
|
+
)
|
|
454
|
+
}
|
|
455
|
+
if (!isInitialize && !hasSession && admission.protocol?.runtime._tag !== "Stateless") {
|
|
456
|
+
return reject(
|
|
457
|
+
400,
|
|
458
|
+
stateful === undefined ? undefined : new PublicMcpSchema.InvalidRequest({
|
|
459
|
+
message: "MCP-Session-Id header is required; send initialize to start a session"
|
|
460
|
+
}),
|
|
461
|
+
id
|
|
462
|
+
)
|
|
449
463
|
}
|
|
450
464
|
if (
|
|
451
465
|
isRequest && admission.protocol?.runtime._tag === "Stateless" &&
|
|
@@ -464,6 +478,33 @@ export const make = Effect.fnUntraced(function*(
|
|
|
464
478
|
},
|
|
465
479
|
effectLogLevel: (clientId, headers, fallback) => stateful?.effectLogLevel(clientId, headers, fallback) ?? fallback,
|
|
466
480
|
disconnect: (clientId) => stateful?.disconnect(clientId),
|
|
481
|
+
terminateHttpSession: (headers) =>
|
|
482
|
+
Effect.suspend(() => {
|
|
483
|
+
const sessionId = headers[MCP_SESSION_ID_HEADER]
|
|
484
|
+
if (sessionId === undefined) {
|
|
485
|
+
return Effect.succeed(HttpServerResponse.empty({ status: 400 }))
|
|
486
|
+
}
|
|
487
|
+
const selection = selectHttpSession(headers, false)
|
|
488
|
+
if (selection._tag === "Rejected") {
|
|
489
|
+
return Effect.succeed(HttpServerResponse.empty({ status: selection.status }))
|
|
490
|
+
}
|
|
491
|
+
const binding = selection.binding!
|
|
492
|
+
stateful!.terminateSession(sessionId)
|
|
493
|
+
return Effect.as(
|
|
494
|
+
Effect.forEach(sessionTerminationListeners, (listener) => listener(binding), { discard: true }),
|
|
495
|
+
HttpServerResponse.empty({ status: 204 })
|
|
496
|
+
)
|
|
497
|
+
}),
|
|
498
|
+
onSessionTerminated: (listener) =>
|
|
499
|
+
Effect.acquireRelease(
|
|
500
|
+
Effect.sync(() => {
|
|
501
|
+
sessionTerminationListeners.add(listener)
|
|
502
|
+
}),
|
|
503
|
+
() =>
|
|
504
|
+
Effect.sync(() => {
|
|
505
|
+
sessionTerminationListeners.delete(listener)
|
|
506
|
+
})
|
|
507
|
+
),
|
|
467
508
|
deliveryClientIds: () => stateful?.initializedClientIds() ?? [],
|
|
468
509
|
canDeliver: (clientId, headers, notification, fallback) =>
|
|
469
510
|
stateful?.canDeliver(clientId, headers, notification, fallback) ?? true,
|
|
@@ -47,6 +47,7 @@ export interface StatefulRuntime {
|
|
|
47
47
|
readonly registerConnection: (clientId: number, registration: Registration) => Binding
|
|
48
48
|
readonly resolve: (clientId: number, headers: Headers.Headers) => Binding | undefined
|
|
49
49
|
readonly resolveSessionId: (sessionId: string) => Binding | undefined
|
|
50
|
+
readonly terminateSession: (sessionId: string) => boolean
|
|
50
51
|
readonly setLogLevel: (
|
|
51
52
|
level: PublicMcpSchema.LoggingLevel,
|
|
52
53
|
clientId: number,
|
|
@@ -123,6 +124,7 @@ export const make = (): StatefulRuntime => {
|
|
|
123
124
|
},
|
|
124
125
|
resolve: resolveSession,
|
|
125
126
|
resolveSessionId: (sessionId) => bySessionId.get(sessionId),
|
|
127
|
+
terminateSession: (sessionId) => bySessionId.delete(sessionId),
|
|
126
128
|
setLogLevel: (level, clientId, headers) =>
|
|
127
129
|
Effect.sync(() => {
|
|
128
130
|
const session = resolveSession(clientId, headers)
|
|
@@ -56,11 +56,21 @@ export const layer: Layer.Layer<
|
|
|
56
56
|
Effect.gen(function*() {
|
|
57
57
|
const fs = yield* FileSystem.FileSystem
|
|
58
58
|
const token = yield* fs.readFileString("/var/run/secrets/kubernetes.io/serviceaccount/token").pipe(
|
|
59
|
-
Effect.
|
|
59
|
+
Effect.map((token) => token.trim()),
|
|
60
|
+
Effect.option,
|
|
61
|
+
Effect.cachedWithTTL("1 minute")
|
|
60
62
|
)
|
|
61
63
|
return (yield* HttpClient.HttpClient).pipe(
|
|
62
64
|
HttpClient.mapRequest(HttpClientRequest.prependUrl("https://kubernetes.default.svc/api")),
|
|
63
|
-
|
|
65
|
+
HttpClient.mapRequestEffect((request) =>
|
|
66
|
+
Effect.map(
|
|
67
|
+
token,
|
|
68
|
+
Option.match({
|
|
69
|
+
onNone: () => request,
|
|
70
|
+
onSome: (token) => HttpClientRequest.bearerToken(request, token)
|
|
71
|
+
})
|
|
72
|
+
)
|
|
73
|
+
),
|
|
64
74
|
HttpClient.filterStatusOk,
|
|
65
75
|
HttpClient.retryTransient({
|
|
66
76
|
schedule: Schedule.spaced(5000)
|
package/src/encoding/Base64.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Base64 encoding and decoding helpers.
|
|
3
3
|
*
|
|
4
|
+
* @stability stable
|
|
4
5
|
* @since 4.0.0
|
|
5
6
|
*/
|
|
6
7
|
import * as Result from "../Result.ts"
|
|
@@ -34,6 +35,7 @@ import { EncodingError } from "./EncodingError.ts"
|
|
|
34
35
|
* @see {@link decode} for decoding standard Base64 to bytes
|
|
35
36
|
* @see {@link decodeString} for decoding standard Base64 to UTF-8 text
|
|
36
37
|
*
|
|
38
|
+
* @stability stable
|
|
37
39
|
* @category encoding
|
|
38
40
|
* @since 4.0.0
|
|
39
41
|
*/
|
|
@@ -62,6 +64,7 @@ export const encode: (input: Uint8Array | string) => string = (input) =>
|
|
|
62
64
|
* Base64.decode("SGVsbG8=") // => Result.succeed(new Uint8Array([72, 101, 108, 108, 111]))
|
|
63
65
|
* ```
|
|
64
66
|
*
|
|
67
|
+
* @stability stable
|
|
65
68
|
* @category decoding
|
|
66
69
|
* @since 4.0.0
|
|
67
70
|
*/
|
|
@@ -138,6 +141,7 @@ export const decode = (str: string): Result.Result<Uint8Array, EncodingError> =>
|
|
|
138
141
|
* Base64.decodeString("aGVsbG8=") // => Result.succeed("hello")
|
|
139
142
|
* ```
|
|
140
143
|
*
|
|
144
|
+
* @stability stable
|
|
141
145
|
* @category decoding
|
|
142
146
|
* @since 4.0.0
|
|
143
147
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* URL-safe Base64 encoding and decoding helpers.
|
|
3
3
|
*
|
|
4
|
+
* @stability stable
|
|
4
5
|
* @since 4.0.0
|
|
5
6
|
*/
|
|
6
7
|
import * as Result from "../Result.ts"
|
|
@@ -34,6 +35,7 @@ import { EncodingError } from "./EncodingError.ts"
|
|
|
34
35
|
* @see {@link decode} for decoding URL-safe Base64 to bytes
|
|
35
36
|
* @see {@link decodeString} for decoding URL-safe Base64 to UTF-8 text
|
|
36
37
|
*
|
|
38
|
+
* @stability stable
|
|
37
39
|
* @category encoding
|
|
38
40
|
* @since 4.0.0
|
|
39
41
|
*/
|
|
@@ -62,6 +64,7 @@ export const encode: (input: Uint8Array | string) => string = (input) =>
|
|
|
62
64
|
* Base64Url.decode("SGVsbG8_") // => Result.succeed(new Uint8Array([72, 101, 108, 108, 111, 63]))
|
|
63
65
|
* ```
|
|
64
66
|
*
|
|
67
|
+
* @stability stable
|
|
65
68
|
* @category decoding
|
|
66
69
|
* @since 4.0.0
|
|
67
70
|
*/
|
|
@@ -116,6 +119,7 @@ export const decode = (str: string): Result.Result<Uint8Array, EncodingError> =>
|
|
|
116
119
|
* Base64Url.decodeString("aGVsbG8_") // => Result.succeed("hello?")
|
|
117
120
|
* ```
|
|
118
121
|
*
|
|
122
|
+
* @stability stable
|
|
119
123
|
* @category decoding
|
|
120
124
|
* @since 4.0.0
|
|
121
125
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared error type for encoding and decoding operations.
|
|
3
3
|
*
|
|
4
|
+
* @stability stable
|
|
4
5
|
* @since 4.0.0
|
|
5
6
|
*/
|
|
6
7
|
import * as Data from "../Data.ts"
|
|
@@ -22,6 +23,7 @@ import { hasProperty } from "../Predicate.ts"
|
|
|
22
23
|
*
|
|
23
24
|
* @see {@link isEncodingError} for the public guard that checks this marker
|
|
24
25
|
*
|
|
26
|
+
* @stability stable
|
|
25
27
|
* @category type IDs
|
|
26
28
|
* @since 4.0.0
|
|
27
29
|
*/
|
|
@@ -34,6 +36,7 @@ export const EncodingErrorTypeId = "~effect/encoding/EncodingError" as const
|
|
|
34
36
|
*
|
|
35
37
|
* Use to type the marker carried by `EncodingError` values.
|
|
36
38
|
*
|
|
39
|
+
* @stability stable
|
|
37
40
|
* @category type IDs
|
|
38
41
|
* @since 4.0.0
|
|
39
42
|
*/
|
|
@@ -55,6 +58,7 @@ export type EncodingErrorTypeId = typeof EncodingErrorTypeId
|
|
|
55
58
|
*
|
|
56
59
|
* @see {@link isEncodingError} for checking whether a value is an EncodingError
|
|
57
60
|
*
|
|
61
|
+
* @stability stable
|
|
58
62
|
* @category errors
|
|
59
63
|
* @since 4.0.0
|
|
60
64
|
*/
|
|
@@ -92,6 +96,7 @@ export class EncodingError extends Data.TaggedError("EncodingError")<{
|
|
|
92
96
|
* @see {@link EncodingError} for the structured error produced by failed
|
|
93
97
|
* encoding and decoding operations
|
|
94
98
|
*
|
|
99
|
+
* @stability stable
|
|
95
100
|
* @category guards
|
|
96
101
|
* @since 4.0.0
|
|
97
102
|
*/
|
package/src/encoding/Hex.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Hexadecimal encoding, decoding, and random value helpers.
|
|
3
3
|
*
|
|
4
|
+
* @stability stable
|
|
4
5
|
* @since 4.0.0
|
|
5
6
|
*/
|
|
6
7
|
import * as Result from "../Result.ts"
|
|
@@ -26,6 +27,7 @@ import { EncodingError } from "./EncodingError.ts"
|
|
|
26
27
|
* Hex.encode(bytes) // => "48656c6c6f"
|
|
27
28
|
* ```
|
|
28
29
|
*
|
|
30
|
+
* @stability stable
|
|
29
31
|
* @category encoding
|
|
30
32
|
* @since 4.0.0
|
|
31
33
|
*/
|
|
@@ -47,6 +49,7 @@ export const encode: (input: Uint8Array | string) => string = (input) =>
|
|
|
47
49
|
* security-sensitive values, use the `Crypto.Crypto` service's `randomBytes`
|
|
48
50
|
* method and encode the result with {@link encode}.
|
|
49
51
|
*
|
|
52
|
+
* @stability stable
|
|
50
53
|
* @category encoding
|
|
51
54
|
* @since 4.0.0
|
|
52
55
|
*/
|
|
@@ -173,6 +176,7 @@ const random32 = (): string => {
|
|
|
173
176
|
* Hex.decode("48656c6c6f") // => Result.succeed(new Uint8Array([72, 101, 108, 108, 111]))
|
|
174
177
|
* ```
|
|
175
178
|
*
|
|
179
|
+
* @stability stable
|
|
176
180
|
* @category decoding
|
|
177
181
|
* @since 4.0.0
|
|
178
182
|
*/
|
|
@@ -233,6 +237,7 @@ export const decode = (str: string): Result.Result<Uint8Array, EncodingError> =>
|
|
|
233
237
|
* Hex.decodeString("68656c6c6f") // => Result.succeed("hello")
|
|
234
238
|
* ```
|
|
235
239
|
*
|
|
240
|
+
* @stability stable
|
|
236
241
|
* @category decoding
|
|
237
242
|
* @since 4.0.0
|
|
238
243
|
*/
|
package/src/encoding/Toml.ts
CHANGED
|
@@ -283,7 +283,7 @@ class TomlParser {
|
|
|
283
283
|
if (multiline) {
|
|
284
284
|
this.expect("\"")
|
|
285
285
|
this.expect("\"")
|
|
286
|
-
|
|
286
|
+
this.advance(this.input.startsWith("\r\n", this.index) ? 2 : this.peek() === "\n" ? 1 : 0)
|
|
287
287
|
}
|
|
288
288
|
let output = ""
|
|
289
289
|
while (!this.done) {
|
|
@@ -347,7 +347,7 @@ class TomlParser {
|
|
|
347
347
|
if (multiline) {
|
|
348
348
|
this.expect("'")
|
|
349
349
|
this.expect("'")
|
|
350
|
-
|
|
350
|
+
this.advance(this.input.startsWith("\r\n", this.index) ? 2 : this.peek() === "\n" ? 1 : 0)
|
|
351
351
|
}
|
|
352
352
|
const start = this.index
|
|
353
353
|
while (!this.done) {
|
package/src/encoding/Yaml.ts
CHANGED
|
@@ -523,6 +523,12 @@ class YamlParser {
|
|
|
523
523
|
}
|
|
524
524
|
this.index = end
|
|
525
525
|
|
|
526
|
+
let contentEnd = content.length
|
|
527
|
+
while (contentEnd > 0 && content[contentEnd - 1].length === 0) contentEnd--
|
|
528
|
+
const trailingBreaks = Math.max(0, content.length - contentEnd - (end === this.lines.length ? 1 : 0)) +
|
|
529
|
+
(contentEnd > 0 && start + contentEnd < this.lines.length ? 1 : 0)
|
|
530
|
+
content.length = contentEnd
|
|
531
|
+
|
|
526
532
|
let output = ""
|
|
527
533
|
if (style === "|") {
|
|
528
534
|
output = content.join("\n")
|
|
@@ -543,11 +549,9 @@ class YamlParser {
|
|
|
543
549
|
previousMoreIndented = moreIndented
|
|
544
550
|
}
|
|
545
551
|
}
|
|
546
|
-
output += "\n".repeat(blankLines)
|
|
547
552
|
}
|
|
548
|
-
if (chomp === "keep") return output
|
|
549
|
-
|
|
550
|
-
return chomp === "strip" ? output : `${output}\n`
|
|
553
|
+
if (chomp === "keep") return output + "\n".repeat(trailingBreaks)
|
|
554
|
+
return chomp === "clip" && contentEnd > 0 && trailingBreaks > 0 ? `${output}\n` : output
|
|
551
555
|
}
|
|
552
556
|
|
|
553
557
|
private skipBlankLines(): number {
|
package/src/encoding/index.ts
CHANGED
|
@@ -6,21 +6,25 @@
|
|
|
6
6
|
// @barrel: Auto-generated exports. Do not edit manually.
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
+
* @stability stable
|
|
9
10
|
* @since 4.0.0
|
|
10
11
|
*/
|
|
11
12
|
export * as Base64 from "./Base64.ts"
|
|
12
13
|
|
|
13
14
|
/**
|
|
15
|
+
* @stability stable
|
|
14
16
|
* @since 4.0.0
|
|
15
17
|
*/
|
|
16
18
|
export * as Base64Url from "./Base64Url.ts"
|
|
17
19
|
|
|
18
20
|
/**
|
|
21
|
+
* @stability stable
|
|
19
22
|
* @since 4.0.0
|
|
20
23
|
*/
|
|
21
24
|
export * as EncodingError from "./EncodingError.ts"
|
|
22
25
|
|
|
23
26
|
/**
|
|
27
|
+
* @stability stable
|
|
24
28
|
* @since 4.0.0
|
|
25
29
|
*/
|
|
26
30
|
export * as Hex from "./Hex.ts"
|
|
@@ -56,7 +56,7 @@ export const make = (options?: {
|
|
|
56
56
|
pg: () =>
|
|
57
57
|
sql`
|
|
58
58
|
CREATE TABLE IF NOT EXISTS ${entryTableSql} (
|
|
59
|
-
id
|
|
59
|
+
id BYTEA PRIMARY KEY,
|
|
60
60
|
event TEXT NOT NULL,
|
|
61
61
|
primary_key TEXT NOT NULL,
|
|
62
62
|
payload BYTEA NOT NULL,
|
|
@@ -95,8 +95,8 @@ export const make = (options?: {
|
|
|
95
95
|
pg: () =>
|
|
96
96
|
sql`
|
|
97
97
|
CREATE TABLE IF NOT EXISTS ${remotesTableSql} (
|
|
98
|
-
remote_id
|
|
99
|
-
entry_id
|
|
98
|
+
remote_id BYTEA NOT NULL,
|
|
99
|
+
entry_id BYTEA NOT NULL,
|
|
100
100
|
sequence INT NOT NULL,
|
|
101
101
|
PRIMARY KEY (remote_id, entry_id)
|
|
102
102
|
)`,
|
|
@@ -343,12 +343,26 @@ const SqlUint8Array = Schema.Union([Schema.Uint8Array, ArrayBuffer]).pipe(
|
|
|
343
343
|
|
|
344
344
|
const SqlEntryId = SqlUint8Array.pipe(Schema.decodeTo(EventJournal.EntryId))
|
|
345
345
|
|
|
346
|
+
const SqlNatural = Schema.Union([
|
|
347
|
+
Schema.Natural,
|
|
348
|
+
Schema.FiniteFromString.check(Schema.isInt(), Schema.isGreaterThanOrEqualTo(0)),
|
|
349
|
+
Schema.BigInt.pipe(
|
|
350
|
+
Schema.decodeTo(
|
|
351
|
+
Schema.Natural,
|
|
352
|
+
SchemaTransformation.transform({
|
|
353
|
+
decode: Number,
|
|
354
|
+
encode: BigInt
|
|
355
|
+
})
|
|
356
|
+
)
|
|
357
|
+
)
|
|
358
|
+
])
|
|
359
|
+
|
|
346
360
|
const EntryRow = Schema.Struct({
|
|
347
361
|
id: SqlEntryId,
|
|
348
362
|
event: Schema.String,
|
|
349
363
|
primary_key: Schema.String,
|
|
350
364
|
payload: SqlUint8Array,
|
|
351
|
-
timestamp:
|
|
365
|
+
timestamp: SqlNatural
|
|
352
366
|
})
|
|
353
367
|
|
|
354
368
|
const EntryRowArray = Schema.Array(EntryRow)
|