effect 4.0.0-beta.6 → 4.0.0-beta.7
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/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +1 -1
- package/dist/Cache.js.map +1 -1
- package/dist/Config.d.ts +2 -2
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +13 -13
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +228 -50
- package/dist/Formatter.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/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +27 -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 +4 -4
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Pool.d.ts +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +1 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Random.d.ts +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +3 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RequestResolver.d.ts +6 -6
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Schedule.d.ts +20 -11
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +23 -9
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +4 -4
- package/dist/Schema.d.ts.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Stream.d.ts +19 -19
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +3 -3
- package/dist/Stream.js.map +1 -1
- package/dist/index.d.ts +134 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +134 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +2 -2
- package/dist/internal/effect.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 +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/testing/TestClock.d.ts +4 -4
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +1 -1
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +6 -6
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +10 -10
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +2 -2
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js.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/Response.d.ts +23 -23
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/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/Entity.d.ts +3 -3
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +1 -1
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +1 -1
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +2 -2
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +1 -1
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +4 -4
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +11 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -1
- package/dist/unstable/http/HttpClientRequest.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/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +6 -6
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +1 -1
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +6 -6
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +3 -3
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +2 -2
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +3 -11
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/package.json +1 -1
- package/src/Cache.ts +3 -3
- package/src/Config.ts +3 -3
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +15 -15
- package/src/Formatter.ts +252 -50
- package/src/JsonSchema.ts +383 -10
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +31 -0
- package/src/Logger.ts +5 -5
- package/src/Metric.ts +4 -4
- package/src/Pool.ts +4 -4
- package/src/Random.ts +5 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/RequestResolver.ts +9 -9
- package/src/Schedule.ts +44 -25
- package/src/Schema.ts +4 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Stream.ts +34 -34
- package/src/index.ts +134 -0
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +21 -21
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +2 -2
- package/src/testing/TestClock.ts +5 -5
- package/src/testing/TestSchema.ts +8 -8
- package/src/unstable/ai/AiError.ts +1 -1
- package/src/unstable/ai/Chat.ts +10 -10
- package/src/unstable/ai/LanguageModel.ts +3 -3
- package/src/unstable/ai/McpServer.ts +2 -2
- package/src/unstable/ai/Prompt.ts +17 -17
- package/src/unstable/ai/Response.ts +23 -23
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/Entity.ts +5 -5
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/K8sHttpClient.ts +1 -1
- package/src/unstable/cluster/MessageStorage.ts +1 -4
- package/src/unstable/cluster/Sharding.ts +3 -3
- package/src/unstable/cluster/ShardingConfig.ts +10 -11
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +3 -3
- package/src/unstable/encoding/Sse.ts +2 -4
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/HttpClient.ts +4 -4
- package/src/unstable/http/HttpClientRequest.ts +15 -11
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +4 -4
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedQueue.ts +18 -18
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +1 -1
- package/src/unstable/reactivity/Atom.ts +13 -13
- package/src/unstable/reactivity/AtomHttpApi.ts +3 -3
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/rpc/Rpc.ts +3 -3
- package/src/unstable/rpc/RpcClient.ts +8 -51
- package/src/unstable/socket/Socket.ts +4 -4
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- package/src/unstable/workflow/DurableClock.ts +8 -8
|
@@ -62,14 +62,14 @@ export class CloseScope extends ServiceMap.Service<
|
|
|
62
62
|
*/
|
|
63
63
|
export const make: <A, E, R>(options: {
|
|
64
64
|
readonly acquire: Effect.Effect<A, E, R>
|
|
65
|
-
readonly idleTimeToLive?: Duration.
|
|
65
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
66
66
|
}) => Effect.Effect<
|
|
67
67
|
EntityResource<A, E>,
|
|
68
68
|
E,
|
|
69
69
|
Scope.Scope | Exclude<R, CloseScope> | Sharding | Entity.CurrentAddress
|
|
70
70
|
> = Effect.fnUntraced(function*<A, E, R>(options: {
|
|
71
71
|
readonly acquire: Effect.Effect<A, E, R>
|
|
72
|
-
readonly idleTimeToLive?: Duration.
|
|
72
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
73
73
|
}) {
|
|
74
74
|
let shuttingDown = false
|
|
75
75
|
|
|
@@ -116,14 +116,14 @@ export const make: <A, E, R>(options: {
|
|
|
116
116
|
export const makeK8sPod: (
|
|
117
117
|
spec: v1.Pod,
|
|
118
118
|
options?: {
|
|
119
|
-
readonly idleTimeToLive?: Duration.
|
|
119
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
120
120
|
} | undefined
|
|
121
121
|
) => Effect.Effect<
|
|
122
122
|
EntityResource<K8sHttpClient.PodStatus>,
|
|
123
123
|
never,
|
|
124
124
|
Scope.Scope | Sharding | Entity.CurrentAddress | K8sHttpClient.K8sHttpClient
|
|
125
125
|
> = Effect.fnUntraced(function*(spec: v1.Pod, options?: {
|
|
126
|
-
readonly idleTimeToLive?: Duration.
|
|
126
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
127
127
|
}) {
|
|
128
128
|
const createPod = yield* K8sHttpClient.makeCreatePod
|
|
129
129
|
return yield* make({
|
|
@@ -156,7 +156,7 @@ export const makeCreatePod = Effect.gen(function*() {
|
|
|
156
156
|
Effect.tapCause(Effect.logInfo),
|
|
157
157
|
Effect.orDie
|
|
158
158
|
)
|
|
159
|
-
const deletePod = HttpClientRequest.
|
|
159
|
+
const deletePod = HttpClientRequest.delete(`/v1/namespaces/${namespace}/pods/${name}`).pipe(
|
|
160
160
|
client.execute,
|
|
161
161
|
Effect.flatMap((res) => res.json),
|
|
162
162
|
Effect.catchIf(
|
|
@@ -905,10 +905,7 @@ export const layerMemory: Layer.Layer<
|
|
|
905
905
|
|
|
906
906
|
const EnvelopeWithReply: Schema.Struct<
|
|
907
907
|
{
|
|
908
|
-
readonly envelope: Schema.
|
|
909
|
-
Envelope.PartialRequest | Envelope.AckChunk | Envelope.Interrupt,
|
|
910
|
-
unknown
|
|
911
|
-
>
|
|
908
|
+
readonly envelope: Schema.Decoder<Envelope.PartialRequest | Envelope.AckChunk | Envelope.Interrupt>
|
|
912
909
|
readonly lastSentReply: Schema.UndefinedOr<Schema.Codec<Reply.Encoded>>
|
|
913
910
|
}
|
|
914
911
|
> = Schema.Struct({
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import * as Cause from "../../Cause.ts"
|
|
6
6
|
import { Clock } from "../../Clock.ts"
|
|
7
|
-
import type {
|
|
7
|
+
import type { Input } from "../../Duration.ts"
|
|
8
8
|
import * as Duration from "../../Duration.ts"
|
|
9
9
|
import * as Effect from "../../Effect.ts"
|
|
10
10
|
import * as Equal from "../../Equal.ts"
|
|
@@ -115,7 +115,7 @@ export class Sharding extends ServiceMap.Service<Sharding, {
|
|
|
115
115
|
entity: Entity<Type, Rpcs>,
|
|
116
116
|
handlers: Effect.Effect<Handlers, never, RX>,
|
|
117
117
|
options?: {
|
|
118
|
-
readonly maxIdleTime?:
|
|
118
|
+
readonly maxIdleTime?: Input | undefined
|
|
119
119
|
readonly concurrency?: number | "unbounded" | undefined
|
|
120
120
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
121
121
|
readonly disableFatalDefects?: boolean | undefined
|
|
@@ -440,7 +440,7 @@ const make = Effect.gen(function*() {
|
|
|
440
440
|
if (storageEnabled && config.runnerAddress) {
|
|
441
441
|
const selfAddress = config.runnerAddress
|
|
442
442
|
const entityRegistrationTimeoutMillis = Duration.toMillis(
|
|
443
|
-
Duration.
|
|
443
|
+
Duration.fromInputUnsafe(config.entityRegistrationTimeout)
|
|
444
444
|
)
|
|
445
445
|
const storageStartMillis = clock.currentTimeMillisUnsafe()
|
|
446
446
|
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Config from "../../Config.ts"
|
|
5
5
|
import * as ConfigProvider from "../../ConfigProvider.ts"
|
|
6
|
-
import type { DurationInput } from "../../Duration.ts"
|
|
7
6
|
import * as Duration from "../../Duration.ts"
|
|
8
7
|
import * as Effect from "../../Effect.ts"
|
|
9
8
|
import * as Layer from "../../Layer.ts"
|
|
@@ -58,11 +57,11 @@ export class ShardingConfig extends ServiceMap.Service<ShardingConfig, {
|
|
|
58
57
|
/**
|
|
59
58
|
* Shard lock refresh interval.
|
|
60
59
|
*/
|
|
61
|
-
readonly shardLockRefreshInterval:
|
|
60
|
+
readonly shardLockRefreshInterval: Duration.Input
|
|
62
61
|
/**
|
|
63
62
|
* Shard lock expiration duration.
|
|
64
63
|
*/
|
|
65
|
-
readonly shardLockExpiration:
|
|
64
|
+
readonly shardLockExpiration: Duration.Input
|
|
66
65
|
/**
|
|
67
66
|
* Disable the use of advisory locks for shard locking.
|
|
68
67
|
*/
|
|
@@ -81,41 +80,41 @@ export class ShardingConfig extends ServiceMap.Service<ShardingConfig, {
|
|
|
81
80
|
* The maximum duration of inactivity (i.e. without receiving a message)
|
|
82
81
|
* after which an entity will be interrupted.
|
|
83
82
|
*/
|
|
84
|
-
readonly entityMaxIdleTime:
|
|
83
|
+
readonly entityMaxIdleTime: Duration.Input
|
|
85
84
|
/**
|
|
86
85
|
* If an entity does not register itself within this time after a message is
|
|
87
86
|
* sent to it, the message will be marked as failed.
|
|
88
87
|
*
|
|
89
88
|
* Defaults to 1 minute.
|
|
90
89
|
*/
|
|
91
|
-
readonly entityRegistrationTimeout:
|
|
90
|
+
readonly entityRegistrationTimeout: Duration.Input
|
|
92
91
|
/**
|
|
93
92
|
* The maximum duration of time to wait for an entity to terminate.
|
|
94
93
|
*
|
|
95
94
|
* By default this is set to 15 seconds to stay within kubernetes defaults.
|
|
96
95
|
*/
|
|
97
|
-
readonly entityTerminationTimeout:
|
|
96
|
+
readonly entityTerminationTimeout: Duration.Input
|
|
98
97
|
/**
|
|
99
98
|
* The interval at which to poll for unprocessed messages from storage.
|
|
100
99
|
*/
|
|
101
|
-
readonly entityMessagePollInterval:
|
|
100
|
+
readonly entityMessagePollInterval: Duration.Input
|
|
102
101
|
/**
|
|
103
102
|
* The interval at which to poll for client replies from storage.
|
|
104
103
|
*/
|
|
105
|
-
readonly entityReplyPollInterval:
|
|
104
|
+
readonly entityReplyPollInterval: Duration.Input
|
|
106
105
|
/**
|
|
107
106
|
* The interval at which to poll for new runners and refresh shard
|
|
108
107
|
* assignments.
|
|
109
108
|
*/
|
|
110
|
-
readonly refreshAssignmentsInterval:
|
|
109
|
+
readonly refreshAssignmentsInterval: Duration.Input
|
|
111
110
|
/**
|
|
112
111
|
* The interval to retry a send if EntityNotAssignedToRunner is returned.
|
|
113
112
|
*/
|
|
114
|
-
readonly sendRetryInterval:
|
|
113
|
+
readonly sendRetryInterval: Duration.Input
|
|
115
114
|
/**
|
|
116
115
|
* The interval at which to check for unhealthy runners and report them
|
|
117
116
|
*/
|
|
118
|
-
readonly runnerHealthCheckInterval:
|
|
117
|
+
readonly runnerHealthCheckInterval: Duration.Input
|
|
119
118
|
/**
|
|
120
119
|
* Simulate serialization and deserialization to remote runners for local
|
|
121
120
|
* entities.
|
|
@@ -166,7 +166,7 @@ export const make = Effect.fnUntraced(function*(options: {
|
|
|
166
166
|
|
|
167
167
|
const expiresSeconds = sql.literal(
|
|
168
168
|
Math.ceil(Duration.toSeconds(
|
|
169
|
-
Duration.
|
|
169
|
+
Duration.fromInputUnsafe(config.shardLockExpiration)
|
|
170
170
|
)).toString()
|
|
171
171
|
)
|
|
172
172
|
const lockExpiresAt = sql.onDialectOrElse({
|
|
@@ -2,7 +2,7 @@ import * as Arr from "../../../Array.ts"
|
|
|
2
2
|
import * as Cause from "../../../Cause.ts"
|
|
3
3
|
import { Clock } from "../../../Clock.ts"
|
|
4
4
|
import * as Duration from "../../../Duration.ts"
|
|
5
|
-
import type {
|
|
5
|
+
import type { Input } from "../../../Duration.ts"
|
|
6
6
|
import * as Effect from "../../../Effect.ts"
|
|
7
7
|
import * as Equal from "../../../Equal.ts"
|
|
8
8
|
import * as Exit from "../../../Exit.ts"
|
|
@@ -93,7 +93,7 @@ export const make = Effect.fnUntraced(function*<
|
|
|
93
93
|
readonly sharding: Sharding["Service"]
|
|
94
94
|
readonly storage: MessageStorage.MessageStorage["Service"]
|
|
95
95
|
readonly runnerAddress: RunnerAddress
|
|
96
|
-
readonly maxIdleTime?:
|
|
96
|
+
readonly maxIdleTime?: Input | undefined
|
|
97
97
|
readonly concurrency?: number | "unbounded" | undefined
|
|
98
98
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
|
99
99
|
readonly disableFatalDefects?: boolean | undefined
|
|
@@ -352,7 +352,7 @@ export const make = Effect.fnUntraced(function*<
|
|
|
352
352
|
|
|
353
353
|
const reaper = yield* EntityReaper
|
|
354
354
|
const maxIdleTime = Duration.toMillis(
|
|
355
|
-
Duration.
|
|
355
|
+
Duration.fromInputUnsafe(options.maxIdleTime ?? config.entityMaxIdleTime)
|
|
356
356
|
)
|
|
357
357
|
if (Number.isFinite(maxIdleTime)) {
|
|
358
358
|
yield* reaper.register({
|
|
@@ -326,11 +326,9 @@ export const encode = <IE, Done>(): Channel.Channel<
|
|
|
326
326
|
* @category Encoding
|
|
327
327
|
*/
|
|
328
328
|
export const encodeSchema = <
|
|
329
|
-
S extends Schema.
|
|
330
|
-
any,
|
|
329
|
+
S extends Schema.Encoder<
|
|
331
330
|
{ readonly id?: string | undefined; readonly event: string; readonly data: string },
|
|
332
|
-
|
|
333
|
-
any
|
|
331
|
+
unknown
|
|
334
332
|
>,
|
|
335
333
|
IE,
|
|
336
334
|
Done
|
|
@@ -86,7 +86,7 @@ export interface Cookie extends Inspectable.Inspectable {
|
|
|
86
86
|
readonly options?: {
|
|
87
87
|
readonly domain?: string | undefined
|
|
88
88
|
readonly expires?: Date | undefined
|
|
89
|
-
readonly maxAge?: Duration.
|
|
89
|
+
readonly maxAge?: Duration.Input | undefined
|
|
90
90
|
readonly path?: string | undefined
|
|
91
91
|
readonly priority?: "low" | "medium" | "high" | undefined
|
|
92
92
|
readonly httpOnly?: boolean | undefined
|
|
@@ -418,7 +418,7 @@ export function makeCookie(
|
|
|
418
418
|
return Result.fail(CookiesError.fromReason("InvalidCookiePath"))
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
-
if (options.maxAge !== undefined && !Duration.isFinite(Duration.
|
|
421
|
+
if (options.maxAge !== undefined && !Duration.isFinite(Duration.fromInputUnsafe(options.maxAge))) {
|
|
422
422
|
return Result.fail(CookiesError.fromReason("CookieInfinityMaxAge"))
|
|
423
423
|
}
|
|
424
424
|
}
|
|
@@ -763,7 +763,7 @@ export function serializeCookie(self: Cookie): string {
|
|
|
763
763
|
const options = self.options
|
|
764
764
|
|
|
765
765
|
if (options.maxAge !== undefined) {
|
|
766
|
-
const maxAge = Duration.toSeconds(Duration.
|
|
766
|
+
const maxAge = Duration.toSeconds(Duration.fromInputUnsafe(options.maxAge))
|
|
767
767
|
str += "; Max-Age=" + Math.trunc(maxAge)
|
|
768
768
|
}
|
|
769
769
|
|
|
@@ -61,11 +61,11 @@ export declare namespace HttpClient {
|
|
|
61
61
|
|
|
62
62
|
readonly get: (
|
|
63
63
|
url: string | URL,
|
|
64
|
-
options?: HttpClientRequest.Options.
|
|
64
|
+
options?: HttpClientRequest.Options.NoUrl
|
|
65
65
|
) => Effect.Effect<HttpClientResponse.HttpClientResponse, E, R>
|
|
66
66
|
readonly head: (
|
|
67
67
|
url: string | URL,
|
|
68
|
-
options?: HttpClientRequest.Options.
|
|
68
|
+
options?: HttpClientRequest.Options.NoUrl
|
|
69
69
|
) => Effect.Effect<HttpClientResponse.HttpClientResponse, E, R>
|
|
70
70
|
readonly post: (
|
|
71
71
|
url: string | URL,
|
|
@@ -132,7 +132,7 @@ export const execute: (
|
|
|
132
132
|
* @since 4.0.0
|
|
133
133
|
* @category accessors
|
|
134
134
|
*/
|
|
135
|
-
export const get: (url: string | URL, options?: HttpClientRequest.Options.
|
|
135
|
+
export const get: (url: string | URL, options?: HttpClientRequest.Options.NoUrl | undefined) => Effect.Effect<
|
|
136
136
|
HttpClientResponse.HttpClientResponse,
|
|
137
137
|
Error.HttpClientError,
|
|
138
138
|
HttpClient
|
|
@@ -142,7 +142,7 @@ export const get: (url: string | URL, options?: HttpClientRequest.Options.NoBody
|
|
|
142
142
|
* @since 4.0.0
|
|
143
143
|
* @category accessors
|
|
144
144
|
*/
|
|
145
|
-
export const head: (url: string | URL, options?: HttpClientRequest.Options.
|
|
145
|
+
export const head: (url: string | URL, options?: HttpClientRequest.Options.NoUrl | undefined) => Effect.Effect<
|
|
146
146
|
HttpClientResponse.HttpClientResponse,
|
|
147
147
|
Error.HttpClientError,
|
|
148
148
|
HttpClient
|
|
@@ -61,12 +61,6 @@ export interface Options {
|
|
|
61
61
|
* @since 4.0.0
|
|
62
62
|
*/
|
|
63
63
|
export declare namespace Options {
|
|
64
|
-
/**
|
|
65
|
-
* @since 4.0.0
|
|
66
|
-
* @category models
|
|
67
|
-
*/
|
|
68
|
-
export interface NoBody extends Omit<Options, "method" | "url" | "body"> {}
|
|
69
|
-
|
|
70
64
|
/**
|
|
71
65
|
* @since 4.0.0
|
|
72
66
|
* @category models
|
|
@@ -133,7 +127,7 @@ export const make = <M extends HttpMethod>(
|
|
|
133
127
|
) =>
|
|
134
128
|
(
|
|
135
129
|
url: string | URL,
|
|
136
|
-
options?:
|
|
130
|
+
options?: Options.NoUrl | undefined
|
|
137
131
|
): HttpClientRequest =>
|
|
138
132
|
modify(empty, {
|
|
139
133
|
method,
|
|
@@ -145,7 +139,7 @@ export const make = <M extends HttpMethod>(
|
|
|
145
139
|
* @since 4.0.0
|
|
146
140
|
* @category constructors
|
|
147
141
|
*/
|
|
148
|
-
export const get: (url: string | URL, options?: Options.
|
|
142
|
+
export const get: (url: string | URL, options?: Options.NoUrl) => HttpClientRequest = make("GET")
|
|
149
143
|
|
|
150
144
|
/**
|
|
151
145
|
* @since 4.0.0
|
|
@@ -165,23 +159,33 @@ export const patch: (url: string | URL, options?: Options.NoUrl) => HttpClientRe
|
|
|
165
159
|
*/
|
|
166
160
|
export const put: (url: string | URL, options?: Options.NoUrl) => HttpClientRequest = make("PUT")
|
|
167
161
|
|
|
162
|
+
const del: (url: string | URL, options?: Options.NoUrl) => HttpClientRequest = make("DELETE")
|
|
163
|
+
|
|
164
|
+
export {
|
|
165
|
+
/**
|
|
166
|
+
* @since 4.0.0
|
|
167
|
+
* @category constructors
|
|
168
|
+
*/
|
|
169
|
+
del as delete
|
|
170
|
+
}
|
|
171
|
+
|
|
168
172
|
/**
|
|
169
173
|
* @since 4.0.0
|
|
170
174
|
* @category constructors
|
|
171
175
|
*/
|
|
172
|
-
export const
|
|
176
|
+
export const head: (url: string | URL, options?: Options.NoUrl) => HttpClientRequest = make("HEAD")
|
|
173
177
|
|
|
174
178
|
/**
|
|
175
179
|
* @since 4.0.0
|
|
176
180
|
* @category constructors
|
|
177
181
|
*/
|
|
178
|
-
export const
|
|
182
|
+
export const options: (url: string | URL, options?: Options.NoUrl) => HttpClientRequest = make("OPTIONS")
|
|
179
183
|
|
|
180
184
|
/**
|
|
181
185
|
* @since 4.0.0
|
|
182
186
|
* @category constructors
|
|
183
187
|
*/
|
|
184
|
-
export const
|
|
188
|
+
export const trace: (url: string | URL, options?: Options.NoUrl) => HttpClientRequest = make("TRACE")
|
|
185
189
|
|
|
186
190
|
/**
|
|
187
191
|
* @since 4.0.0
|
|
@@ -14,6 +14,7 @@ export type HttpMethod =
|
|
|
14
14
|
| "PATCH"
|
|
15
15
|
| "HEAD"
|
|
16
16
|
| "OPTIONS"
|
|
17
|
+
| "TRACE"
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* @since 4.0.0
|
|
@@ -24,7 +25,7 @@ export declare namespace HttpMethod {
|
|
|
24
25
|
* @since 4.0.0
|
|
25
26
|
* @category models
|
|
26
27
|
*/
|
|
27
|
-
export type NoBody = "GET" | "HEAD" | "OPTIONS"
|
|
28
|
+
export type NoBody = "GET" | "HEAD" | "OPTIONS" | "TRACE"
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* @since 4.0.0
|
|
@@ -36,12 +37,22 @@ export declare namespace HttpMethod {
|
|
|
36
37
|
/**
|
|
37
38
|
* @since 4.0.0
|
|
38
39
|
*/
|
|
39
|
-
export const hasBody = (method: HttpMethod):
|
|
40
|
+
export const hasBody = (method: HttpMethod): method is HttpMethod.WithBody =>
|
|
41
|
+
method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE"
|
|
40
42
|
|
|
41
43
|
/**
|
|
42
44
|
* @since 4.0.0
|
|
43
45
|
*/
|
|
44
|
-
export const all: ReadonlySet<HttpMethod> = new Set([
|
|
46
|
+
export const all: ReadonlySet<HttpMethod> = new Set([
|
|
47
|
+
"GET",
|
|
48
|
+
"POST",
|
|
49
|
+
"PUT",
|
|
50
|
+
"DELETE",
|
|
51
|
+
"PATCH",
|
|
52
|
+
"HEAD",
|
|
53
|
+
"OPTIONS",
|
|
54
|
+
"TRACE"
|
|
55
|
+
])
|
|
45
56
|
|
|
46
57
|
/**
|
|
47
58
|
* @since 4.0.0
|
|
@@ -53,7 +64,8 @@ export const allShort = [
|
|
|
53
64
|
["DELETE", "del"],
|
|
54
65
|
["PATCH", "patch"],
|
|
55
66
|
["HEAD", "head"],
|
|
56
|
-
["OPTIONS", "options"]
|
|
67
|
+
["OPTIONS", "options"],
|
|
68
|
+
["TRACE", "trace"]
|
|
57
69
|
] as const
|
|
58
70
|
|
|
59
71
|
/**
|
|
@@ -28,13 +28,13 @@ export const layer = (options: {
|
|
|
28
28
|
readonly headers?: Headers.Input | undefined
|
|
29
29
|
readonly maxBatchSize?: number | undefined
|
|
30
30
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
31
|
-
readonly loggerExportInterval?: Duration.
|
|
31
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
32
32
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
33
33
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
34
|
-
readonly metricsExportInterval?: Duration.
|
|
34
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
35
35
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
36
|
-
readonly tracerExportInterval?: Duration.
|
|
37
|
-
readonly shutdownTimeout?: Duration.
|
|
36
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
37
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
38
38
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization.OtlpSerialization> => {
|
|
39
39
|
const base = HttpClientRequest.get(options.baseUrl)
|
|
40
40
|
const url = (path: string) => HttpClientRequest.appendUrl(base, path).url
|
|
@@ -83,13 +83,13 @@ export const layerJson: (options: {
|
|
|
83
83
|
readonly headers?: Headers.Input | undefined
|
|
84
84
|
readonly maxBatchSize?: number | undefined
|
|
85
85
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
86
|
-
readonly loggerExportInterval?: Duration.
|
|
86
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
87
87
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
88
88
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
89
|
-
readonly metricsExportInterval?: Duration.
|
|
89
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
90
90
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
91
|
-
readonly tracerExportInterval?: Duration.
|
|
92
|
-
readonly shutdownTimeout?: Duration.
|
|
91
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
92
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
93
93
|
}) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerJson))
|
|
94
94
|
|
|
95
95
|
/**
|
|
@@ -106,11 +106,11 @@ export const layerProtobuf: (options: {
|
|
|
106
106
|
readonly headers?: Headers.Input | undefined
|
|
107
107
|
readonly maxBatchSize?: number | undefined
|
|
108
108
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
109
|
-
readonly loggerExportInterval?: Duration.
|
|
109
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
110
110
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
111
111
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
112
|
-
readonly metricsExportInterval?: Duration.
|
|
112
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
113
113
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
114
|
-
readonly tracerExportInterval?: Duration.
|
|
115
|
-
readonly shutdownTimeout?: Duration.
|
|
114
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
115
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
116
116
|
}) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerProtobuf))
|
|
@@ -40,10 +40,10 @@ export const make: (
|
|
|
40
40
|
readonly url: string
|
|
41
41
|
readonly headers: Headers.Input | undefined
|
|
42
42
|
readonly label: string
|
|
43
|
-
readonly exportInterval: Duration.
|
|
43
|
+
readonly exportInterval: Duration.Input
|
|
44
44
|
readonly maxBatchSize: number | "disabled"
|
|
45
45
|
readonly body: (data: Array<any>) => HttpBody
|
|
46
|
-
readonly shutdownTimeout: Duration.
|
|
46
|
+
readonly shutdownTimeout: Duration.Input
|
|
47
47
|
}
|
|
48
48
|
) => Effect.Effect<
|
|
49
49
|
{ readonly push: (data: unknown) => void },
|
|
@@ -54,7 +54,7 @@ export const make: (
|
|
|
54
54
|
const clock = ServiceMap.get(services, Clock)
|
|
55
55
|
const scope = ServiceMap.get(services, Scope.Scope)
|
|
56
56
|
const runFork = Effect.runForkWith(services)
|
|
57
|
-
const exportInterval = Duration.max(Duration.
|
|
57
|
+
const exportInterval = Duration.max(Duration.fromInputUnsafe(options.exportInterval), Duration.zero)
|
|
58
58
|
let disabledUntil: number | undefined = undefined
|
|
59
59
|
|
|
60
60
|
const client = HttpClient.filterStatusOk(ServiceMap.get(services, HttpClient.HttpClient)).pipe(
|
|
@@ -30,9 +30,9 @@ export const make: (
|
|
|
30
30
|
readonly attributes?: Record<string, unknown>
|
|
31
31
|
} | undefined
|
|
32
32
|
readonly headers?: Headers.Input | undefined
|
|
33
|
-
readonly exportInterval?: Duration.
|
|
33
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
34
34
|
readonly maxBatchSize?: number | undefined
|
|
35
|
-
readonly shutdownTimeout?: Duration.
|
|
35
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
36
36
|
readonly excludeLogSpans?: boolean | undefined
|
|
37
37
|
}
|
|
38
38
|
) => Effect.Effect<
|
|
@@ -85,9 +85,9 @@ export const layer = (options: {
|
|
|
85
85
|
readonly attributes?: Record<string, unknown>
|
|
86
86
|
} | undefined
|
|
87
87
|
readonly headers?: Headers.Input | undefined
|
|
88
|
-
readonly exportInterval?: Duration.
|
|
88
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
89
89
|
readonly maxBatchSize?: number | undefined
|
|
90
|
-
readonly shutdownTimeout?: Duration.
|
|
90
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
91
91
|
readonly excludeLogSpans?: boolean | undefined
|
|
92
92
|
readonly mergeWithExisting?: boolean | undefined
|
|
93
93
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> =>
|
|
@@ -60,8 +60,8 @@ export const make: (options: {
|
|
|
60
60
|
readonly attributes?: Record<string, unknown>
|
|
61
61
|
} | undefined
|
|
62
62
|
readonly headers?: Headers.Input | undefined
|
|
63
|
-
readonly exportInterval?: Duration.
|
|
64
|
-
readonly shutdownTimeout?: Duration.
|
|
63
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
64
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
65
65
|
readonly temporality?: AggregationTemporality | undefined
|
|
66
66
|
}) => Effect.Effect<
|
|
67
67
|
void,
|
|
@@ -440,8 +440,8 @@ export const layer = (options: {
|
|
|
440
440
|
readonly attributes?: Record<string, unknown>
|
|
441
441
|
} | undefined
|
|
442
442
|
readonly headers?: Headers.Input | undefined
|
|
443
|
-
readonly exportInterval?: Duration.
|
|
444
|
-
readonly shutdownTimeout?: Duration.
|
|
443
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
444
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
445
445
|
readonly temporality?: AggregationTemporality | undefined
|
|
446
446
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> => Layer.effectDiscard(make(options))
|
|
447
447
|
|
|
@@ -32,10 +32,10 @@ export const make: (
|
|
|
32
32
|
readonly attributes?: Record<string, unknown>
|
|
33
33
|
} | undefined
|
|
34
34
|
readonly headers?: Headers.Input | undefined
|
|
35
|
-
readonly exportInterval?: Duration.
|
|
35
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
36
36
|
readonly maxBatchSize?: number | undefined
|
|
37
37
|
readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
38
|
-
readonly shutdownTimeout?: Duration.
|
|
38
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
39
39
|
}
|
|
40
40
|
) => Effect.Effect<
|
|
41
41
|
Tracer.Tracer,
|
|
@@ -109,10 +109,10 @@ export const layer: (options: {
|
|
|
109
109
|
readonly attributes?: Record<string, unknown>
|
|
110
110
|
} | undefined
|
|
111
111
|
readonly headers?: Headers.Input | undefined
|
|
112
|
-
readonly exportInterval?: Duration.
|
|
112
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
113
113
|
readonly maxBatchSize?: number | undefined
|
|
114
114
|
readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
115
|
-
readonly shutdownTimeout?: Duration.
|
|
115
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
116
116
|
}) => Layer.Layer<never, never, OtlpSerialization | HttpClient.HttpClient> = flow(make, Layer.effect(Tracer.Tracer))
|
|
117
117
|
|
|
118
118
|
// internal
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
-
import type
|
|
4
|
+
import type * as Duration from "../../Duration.ts"
|
|
5
5
|
import type * as Effect from "../../Effect.ts"
|
|
6
6
|
import type * as Exit from "../../Exit.ts"
|
|
7
7
|
import * as PrimaryKey from "../../PrimaryKey.ts"
|
|
@@ -87,7 +87,7 @@ export type Services<A extends Any> =
|
|
|
87
87
|
* @since 4.0.0
|
|
88
88
|
* @category Models
|
|
89
89
|
*/
|
|
90
|
-
export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) =>
|
|
90
|
+
export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) => Duration.Input
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
93
|
* @since 4.0.0
|
|
@@ -295,26 +295,26 @@ export const layerStoreMemory: Layer.Layer<
|
|
|
295
295
|
export const makeStoreRedis = Effect.fnUntraced(function*(
|
|
296
296
|
options?: {
|
|
297
297
|
readonly prefix?: string | undefined
|
|
298
|
-
readonly pollInterval?: Duration.
|
|
299
|
-
readonly lockRefreshInterval?: Duration.
|
|
300
|
-
readonly lockExpiration?: Duration.
|
|
298
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
299
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
300
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
301
301
|
}
|
|
302
302
|
) {
|
|
303
303
|
const redis = yield* Redis.Redis
|
|
304
304
|
|
|
305
305
|
const pollInterval = Duration.max(
|
|
306
|
-
options?.pollInterval ? Duration.
|
|
306
|
+
options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.seconds(1),
|
|
307
307
|
Duration.millis(1)
|
|
308
308
|
)
|
|
309
309
|
const lockRefreshMillis = Math.max(
|
|
310
310
|
options?.lockRefreshInterval
|
|
311
|
-
? Duration.toMillis(Duration.
|
|
311
|
+
? Duration.toMillis(Duration.fromInputUnsafe(options.lockRefreshInterval))
|
|
312
312
|
: 30_000,
|
|
313
313
|
1
|
|
314
314
|
)
|
|
315
315
|
const lockExpirationMillis = Math.max(
|
|
316
316
|
options?.lockExpiration
|
|
317
|
-
? Duration.toMillis(Duration.
|
|
317
|
+
? Duration.toMillis(Duration.fromInputUnsafe(options.lockExpiration))
|
|
318
318
|
: 90_000,
|
|
319
319
|
1
|
|
320
320
|
)
|
|
@@ -654,9 +654,9 @@ end
|
|
|
654
654
|
export const layerStoreRedis: (
|
|
655
655
|
options?: {
|
|
656
656
|
readonly prefix?: string | undefined
|
|
657
|
-
readonly pollInterval?: Duration.
|
|
658
|
-
readonly lockRefreshInterval?: Duration.
|
|
659
|
-
readonly lockExpiration?: Duration.
|
|
657
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
658
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
659
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
660
660
|
} | undefined
|
|
661
661
|
) => Layer.Layer<
|
|
662
662
|
PersistedQueueStore,
|
|
@@ -671,9 +671,9 @@ export const layerStoreRedis: (
|
|
|
671
671
|
export const makeStoreSql: (
|
|
672
672
|
options?: {
|
|
673
673
|
readonly tableName?: string | undefined
|
|
674
|
-
readonly pollInterval?: Duration.
|
|
675
|
-
readonly lockRefreshInterval?: Duration.
|
|
676
|
-
readonly lockExpiration?: Duration.
|
|
674
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
675
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
676
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
677
677
|
} | undefined
|
|
678
678
|
) => Effect.Effect<
|
|
679
679
|
PersistedQueueStore["Service"],
|
|
@@ -684,15 +684,15 @@ export const makeStoreSql: (
|
|
|
684
684
|
const tableName = options?.tableName ?? "effect_queue"
|
|
685
685
|
const tableNameSql = sql(tableName)
|
|
686
686
|
const pollInterval = Duration.max(
|
|
687
|
-
options?.pollInterval ? Duration.
|
|
687
|
+
options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.millis(1000),
|
|
688
688
|
Duration.millis(1)
|
|
689
689
|
)
|
|
690
690
|
const lockRefreshInterval = Duration.max(
|
|
691
|
-
options?.lockRefreshInterval ? Duration.
|
|
691
|
+
options?.lockRefreshInterval ? Duration.fromInputUnsafe(options.lockRefreshInterval) : Duration.seconds(30),
|
|
692
692
|
Duration.millis(1)
|
|
693
693
|
)
|
|
694
694
|
const lockExpiration = Duration.max(
|
|
695
|
-
options?.lockExpiration ? Duration.
|
|
695
|
+
options?.lockExpiration ? Duration.fromInputUnsafe(options.lockExpiration) : Duration.minutes(2),
|
|
696
696
|
Duration.millis(1)
|
|
697
697
|
)
|
|
698
698
|
const lockExpirationSql = sql.literal(Math.ceil(Duration.toSeconds(lockExpiration)).toString())
|
|
@@ -1099,9 +1099,9 @@ class QueueKey extends Data.Class<{
|
|
|
1099
1099
|
export const layerStoreSql: (
|
|
1100
1100
|
options?: {
|
|
1101
1101
|
readonly tableName?: string | undefined
|
|
1102
|
-
readonly pollInterval?: Duration.
|
|
1103
|
-
readonly lockRefreshInterval?: Duration.
|
|
1104
|
-
readonly lockExpiration?: Duration.
|
|
1102
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
1103
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
1104
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
1105
1105
|
} | undefined
|
|
1106
1106
|
) => Layer.Layer<
|
|
1107
1107
|
PersistedQueueStore,
|