effect 4.0.0-beta.94 → 4.0.0-beta.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts.map +1 -1
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts.map +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +44 -6
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +63 -24
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts.map +1 -1
- package/dist/Context.d.ts.map +1 -1
- package/dist/Cron.d.ts +4 -1
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +98 -53
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Data.d.ts.map +1 -1
- package/dist/DateTime.d.ts +12 -12
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ExecutionPlan.d.ts +2 -2
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/FiberHandle.d.ts +8 -8
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberMap.d.ts +8 -8
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberSet.d.ts +4 -4
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Function.d.ts.map +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Layer.d.ts.map +1 -1
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerRef.d.ts +1 -1
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/Logger.d.ts.map +1 -1
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/Metric.d.ts.map +1 -1
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/Number.d.ts.map +1 -1
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Order.d.ts.map +1 -1
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/Record.d.ts.map +1 -1
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Ref.d.ts.map +1 -1
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Schedule.d.ts +1206 -4013
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +244 -1348
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +49 -0
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +40 -0
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaRepresentation.d.ts +106 -106
- package/dist/SchemaTransformation.d.ts +38 -2
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +38 -2
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stream.d.ts +2 -2
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1 -1
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts.map +1 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/Take.d.ts.map +1 -1
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/Types.d.ts +1 -1
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/Utils.d.ts.map +1 -1
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/schema/schema.d.ts.map +1 -1
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +1 -1
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +1 -1
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +221 -221
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Completions.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts.map +1 -1
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +25 -29
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +8 -8
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +3 -4
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +6 -8
- package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
- package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +1 -1
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +11 -12
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -2
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +21 -21
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +3 -4
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.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/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +1 -1
- package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +1 -1
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +2 -2
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +2 -1
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +22 -22
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.d.ts +1 -1
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +3 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +2 -2
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +28 -37
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +2 -1
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +5 -5
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +7 -7
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +2 -2
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +8 -8
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +2 -2
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +5 -5
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/schema/Model.d.ts +24 -38
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +1 -1
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +2 -2
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +1 -1
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +1 -1
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +1 -1
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/package.json +11 -12
- package/src/ConfigProvider.ts +79 -27
- package/src/Cron.ts +109 -57
- package/src/Schedule.ts +1437 -4445
- package/src/Schema.ts +53 -0
- package/src/SchemaTransformation.ts +42 -2
- package/src/Stream.ts +1 -1
- package/src/unstable/cluster/ClusterCron.ts +4 -3
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +4 -3
- package/src/unstable/cluster/Sharding.ts +4 -4
- package/src/unstable/cluster/Snowflake.ts +2 -2
- package/src/unstable/cluster/internal/entityManager.ts +16 -16
- package/src/unstable/eventlog/EventLog.ts +4 -3
- package/src/unstable/observability/OtlpExporter.ts +1 -1
- package/src/unstable/reactivity/AtomRegistry.ts +35 -44
- package/src/unstable/rpc/RpcClient.ts +10 -9
- package/src/unstable/rpc/RpcMessage.ts +8 -9
- package/src/unstable/rpc/RpcSerialization.ts +16 -16
- package/src/unstable/rpc/RpcServer.ts +5 -5
- package/src/unstable/workflow/Activity.ts +6 -5
- package/src/unstable/workflow/DurableQueue.ts +4 -3
- package/src/unstable/workflow/WorkflowEngine.ts +4 -3
package/src/Cron.ts
CHANGED
|
@@ -110,6 +110,8 @@ export interface Cron extends Pipeable, Equal.Equal, Inspectable {
|
|
|
110
110
|
readonly months: ReadonlySet<number>
|
|
111
111
|
readonly weekdays: ReadonlySet<number>
|
|
112
112
|
/** @internal */
|
|
113
|
+
readonly and: boolean
|
|
114
|
+
/** @internal */
|
|
113
115
|
readonly first: {
|
|
114
116
|
readonly second: number
|
|
115
117
|
readonly minute: number
|
|
@@ -167,6 +169,7 @@ const CronProto = {
|
|
|
167
169
|
[Hash.symbol](this: Cron): number {
|
|
168
170
|
return pipe(
|
|
169
171
|
Hash.hash(this.tz),
|
|
172
|
+
Hash.combine(Hash.hash(this.and)),
|
|
170
173
|
Hash.combine(Hash.array(Arr.fromIterable(this.seconds))),
|
|
171
174
|
Hash.combine(Hash.array(Arr.fromIterable(this.minutes))),
|
|
172
175
|
Hash.combine(Hash.array(Arr.fromIterable(this.hours))),
|
|
@@ -252,7 +255,9 @@ export const isCron = (u: unknown): u is Cron => hasProperty(u, TypeId)
|
|
|
252
255
|
*
|
|
253
256
|
* Constructs a cron schedule by specifying which seconds, minutes, hours,
|
|
254
257
|
* days, months, and weekdays the schedule should match. Empty arrays mean
|
|
255
|
-
* "match all" for that time unit.
|
|
258
|
+
* "match all" for that time unit. When both days and weekdays are restricted,
|
|
259
|
+
* the default matches either field; set `and: true` to require both fields to
|
|
260
|
+
* match.
|
|
256
261
|
*
|
|
257
262
|
* **Example** (Creating schedules from constraints)
|
|
258
263
|
*
|
|
@@ -354,6 +359,7 @@ export const make = (values: {
|
|
|
354
359
|
readonly days: Iterable<number>
|
|
355
360
|
readonly months: Iterable<number>
|
|
356
361
|
readonly weekdays: Iterable<number>
|
|
362
|
+
readonly and?: boolean | undefined
|
|
357
363
|
readonly tz?: DateTime.TimeZone | undefined
|
|
358
364
|
}): Cron => {
|
|
359
365
|
const o: Mutable<Cron> = Object.create(CronProto)
|
|
@@ -363,6 +369,7 @@ export const make = (values: {
|
|
|
363
369
|
o.days = new Set(Arr.sort(values.days, N.Order))
|
|
364
370
|
o.months = new Set(Arr.sort(values.months, N.Order))
|
|
365
371
|
o.weekdays = new Set(Arr.sort(values.weekdays, N.Order))
|
|
372
|
+
o.and = values.and === true
|
|
366
373
|
o.tz = Option.fromUndefinedOr(values.tz)
|
|
367
374
|
|
|
368
375
|
const seconds = Array.from(o.seconds)
|
|
@@ -563,7 +570,7 @@ export const isCronParseError = (u: unknown): u is CronParseError => hasProperty
|
|
|
563
570
|
* @since 2.0.0
|
|
564
571
|
*/
|
|
565
572
|
export const parse = (cron: string, tz?: DateTime.TimeZone | string): Result.Result<Cron, CronParseError> => {
|
|
566
|
-
const segments = cron.split(
|
|
573
|
+
const segments = cron.trim().split(/\s+/).filter(String.isNonEmpty)
|
|
567
574
|
if (segments.length !== 5 && segments.length !== 6) {
|
|
568
575
|
return Result.fail(new CronParseError({ message: `Invalid number of segments in cron expression`, input: cron }))
|
|
569
576
|
}
|
|
@@ -588,7 +595,18 @@ export const parse = (cron: string, tz?: DateTime.TimeZone | string): Result.Res
|
|
|
588
595
|
days: parseSegment(days, dayOptions),
|
|
589
596
|
months: parseSegment(months, monthOptions),
|
|
590
597
|
weekdays: parseSegment(weekdays, weekdayOptions)
|
|
591
|
-
}).pipe(Result.map(
|
|
598
|
+
}).pipe(Result.map(({ tz, seconds, minutes, hours, days, months, weekdays }) =>
|
|
599
|
+
make({
|
|
600
|
+
tz,
|
|
601
|
+
seconds: seconds.values,
|
|
602
|
+
minutes: minutes.values,
|
|
603
|
+
hours: hours.values,
|
|
604
|
+
days: days.values,
|
|
605
|
+
months: months.values,
|
|
606
|
+
weekdays: weekdays.values,
|
|
607
|
+
and: (days.wildcard || weekdays.wildcard) && days.values.size !== 0 && weekdays.values.size !== 0
|
|
608
|
+
})
|
|
609
|
+
))
|
|
592
610
|
}
|
|
593
611
|
|
|
594
612
|
/**
|
|
@@ -682,6 +700,11 @@ export const match = (cron: Cron, date: DateTime.DateTime.Input): boolean => {
|
|
|
682
700
|
return true
|
|
683
701
|
}
|
|
684
702
|
|
|
703
|
+
if (cron.and) {
|
|
704
|
+
return (cron.days.size === 0 || cron.days.has(parts.day)) &&
|
|
705
|
+
(cron.weekdays.size === 0 || cron.weekdays.has(parts.weekDay))
|
|
706
|
+
}
|
|
707
|
+
|
|
685
708
|
if (cron.weekdays.size === 0) {
|
|
686
709
|
return cron.days.has(parts.day)
|
|
687
710
|
}
|
|
@@ -843,46 +866,59 @@ const stepCron = (cron: Cron, now: DateTime.DateTime.Input | undefined, directio
|
|
|
843
866
|
}
|
|
844
867
|
|
|
845
868
|
if (cron.weekdays.size !== 0 || cron.days.size !== 0) {
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
currentWeekday - 7 + boundary.weekday :
|
|
855
|
-
7 - currentWeekday + boundary.weekday
|
|
856
|
-
} else {
|
|
857
|
-
a = nextWeekday - currentWeekday
|
|
869
|
+
if (cron.and) {
|
|
870
|
+
const matchesDay = cron.days.size === 0 || cron.days.has(current.getUTCDate())
|
|
871
|
+
const matchesWeekday = cron.weekdays.size === 0 || cron.weekdays.has(current.getUTCDay())
|
|
872
|
+
if (!matchesDay || !matchesWeekday) {
|
|
873
|
+
current.setUTCDate(current.getUTCDate() + tick)
|
|
874
|
+
current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
|
|
875
|
+
adjustDst(current)
|
|
876
|
+
continue
|
|
858
877
|
}
|
|
859
|
-
}
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
878
|
+
} else {
|
|
879
|
+
let a: number = reverse ? -Infinity : Infinity
|
|
880
|
+
let b: number = reverse ? -Infinity : Infinity
|
|
881
|
+
|
|
882
|
+
if (cron.weekdays.size !== 0) {
|
|
883
|
+
const currentWeekday = current.getUTCDay()
|
|
884
|
+
const nextWeekday = table.weekday[currentWeekday]
|
|
885
|
+
if (nextWeekday === undefined) {
|
|
886
|
+
a = reverse ?
|
|
887
|
+
currentWeekday - 7 + boundary.weekday :
|
|
888
|
+
7 - currentWeekday + boundary.weekday
|
|
868
889
|
} else {
|
|
890
|
+
a = nextWeekday - currentWeekday
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
if (cron.days.size !== 0 && a !== 0) {
|
|
895
|
+
const currentDay = current.getUTCDate()
|
|
896
|
+
const nextDay = table.day[currentDay]
|
|
897
|
+
if (nextDay === undefined) {
|
|
898
|
+
if (reverse) {
|
|
899
|
+
const prevMonthDays = daysInMonth(
|
|
900
|
+
new Date(Date.UTC(current.getUTCFullYear(), current.getUTCMonth(), 0))
|
|
901
|
+
)
|
|
902
|
+
b = -(currentDay + (prevMonthDays - boundary.day))
|
|
903
|
+
} else {
|
|
904
|
+
b = daysInMonth(current) - currentDay + boundary.day
|
|
905
|
+
}
|
|
906
|
+
} else if (!reverse && nextDay > daysInMonth(current)) {
|
|
907
|
+
// The next matching day does not exist in the current month. Setting it
|
|
908
|
+
// directly would overflow and skip earlier matching days next month.
|
|
869
909
|
b = daysInMonth(current) - currentDay + boundary.day
|
|
910
|
+
} else {
|
|
911
|
+
b = nextDay - currentDay
|
|
870
912
|
}
|
|
871
|
-
} else if (!reverse && nextDay > daysInMonth(current)) {
|
|
872
|
-
// The next matching day does not exist in the current month. Setting it
|
|
873
|
-
// directly would overflow and skip earlier matching days next month.
|
|
874
|
-
b = daysInMonth(current) - currentDay + boundary.day
|
|
875
|
-
} else {
|
|
876
|
-
b = nextDay - currentDay
|
|
877
913
|
}
|
|
878
|
-
}
|
|
879
914
|
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
915
|
+
const addDays = reverse ? Math.max(a, b) : Math.min(a, b)
|
|
916
|
+
if (addDays !== 0) {
|
|
917
|
+
current.setUTCDate(current.getUTCDate() + addDays)
|
|
918
|
+
current.setUTCHours(boundary.hour, boundary.minute, boundary.second)
|
|
919
|
+
adjustDst(current)
|
|
920
|
+
continue
|
|
921
|
+
}
|
|
886
922
|
}
|
|
887
923
|
}
|
|
888
924
|
|
|
@@ -890,11 +926,11 @@ const stepCron = (cron: Cron, now: DateTime.DateTime.Input | undefined, directio
|
|
|
890
926
|
const currentMonth = current.getUTCMonth() + 1
|
|
891
927
|
const nextMonth = table.month[currentMonth]
|
|
892
928
|
const clampBoundaryDay = (targetMonthIndex: number): number => {
|
|
893
|
-
if (cron.days.size !== 0) {
|
|
929
|
+
if (cron.days.size !== 0 && cron.weekdays.size === 0) {
|
|
894
930
|
return boundary.day
|
|
895
931
|
}
|
|
896
932
|
const maxDayInMonth = daysInMonth(new Date(Date.UTC(current.getUTCFullYear(), targetMonthIndex + 1, 0)))
|
|
897
|
-
return
|
|
933
|
+
return reverse ? maxDayInMonth : 1
|
|
898
934
|
}
|
|
899
935
|
if (nextMonth === undefined) {
|
|
900
936
|
current.setUTCFullYear(current.getUTCFullYear() + tick)
|
|
@@ -1004,6 +1040,7 @@ export const sequence = function*(cron: Cron, now?: DateTime.DateTime.Input): It
|
|
|
1004
1040
|
* @since 2.0.0
|
|
1005
1041
|
*/
|
|
1006
1042
|
export const Equivalence: Equ.Equivalence<Cron> = Equ.make((self, that) =>
|
|
1043
|
+
self.and === that.and &&
|
|
1007
1044
|
restrictionsEquals(self.seconds, that.seconds) &&
|
|
1008
1045
|
restrictionsEquals(self.minutes, that.minutes) &&
|
|
1009
1046
|
restrictionsEquals(self.hours, that.hours) &&
|
|
@@ -1154,6 +1191,12 @@ interface SegmentOptions {
|
|
|
1154
1191
|
min: number
|
|
1155
1192
|
max: number
|
|
1156
1193
|
aliases?: Record<string, number> | undefined
|
|
1194
|
+
normalize?: ((value: number) => number) | undefined
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
interface ParsedSegment {
|
|
1198
|
+
readonly values: Set<number>
|
|
1199
|
+
readonly wildcard: boolean
|
|
1157
1200
|
}
|
|
1158
1201
|
|
|
1159
1202
|
const secondOptions: SegmentOptions = {
|
|
@@ -1197,7 +1240,8 @@ const monthOptions: SegmentOptions = {
|
|
|
1197
1240
|
|
|
1198
1241
|
const weekdayOptions: SegmentOptions = {
|
|
1199
1242
|
min: 0,
|
|
1200
|
-
max:
|
|
1243
|
+
max: 7,
|
|
1244
|
+
normalize: (value) => value === 7 ? 0 : value,
|
|
1201
1245
|
aliases: {
|
|
1202
1246
|
sun: 0,
|
|
1203
1247
|
mon: 1,
|
|
@@ -1212,17 +1256,21 @@ const weekdayOptions: SegmentOptions = {
|
|
|
1212
1256
|
const parseSegment = (
|
|
1213
1257
|
input: string,
|
|
1214
1258
|
options: SegmentOptions
|
|
1215
|
-
): Result.Result<
|
|
1216
|
-
const capacity = options.max - options.min + 1
|
|
1259
|
+
): Result.Result<ParsedSegment, CronParseError> => {
|
|
1217
1260
|
const values = new Set<number>()
|
|
1218
1261
|
const fields = input.split(",")
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1262
|
+
const first = splitStep(fields[0]!)
|
|
1263
|
+
const wildcard = first[0] === "*"
|
|
1264
|
+
const normalize = options.normalize ?? ((value: number) => value)
|
|
1265
|
+
const add = wildcard && (first[1] === undefined || first[1] === 1) ?
|
|
1266
|
+
constVoid :
|
|
1267
|
+
(value: number) => {
|
|
1268
|
+
values.add(normalize(value))
|
|
1224
1269
|
}
|
|
1225
1270
|
|
|
1271
|
+
for (let index = 0; index < fields.length; index++) {
|
|
1272
|
+
const field = fields[index]!
|
|
1273
|
+
const [raw, step] = index === 0 ? first : splitStep(field)
|
|
1226
1274
|
if (step !== undefined) {
|
|
1227
1275
|
if (!Number.isInteger(step)) {
|
|
1228
1276
|
return Result.fail(new CronParseError({ message: `Expected step value to be a positive integer`, input }))
|
|
@@ -1236,8 +1284,11 @@ const parseSegment = (
|
|
|
1236
1284
|
}
|
|
1237
1285
|
|
|
1238
1286
|
if (raw === "*") {
|
|
1287
|
+
if (index === 0 && (step === undefined || step === 1)) {
|
|
1288
|
+
continue
|
|
1289
|
+
}
|
|
1239
1290
|
for (let i = options.min; i <= options.max; i += step ?? 1) {
|
|
1240
|
-
|
|
1291
|
+
add(i)
|
|
1241
1292
|
}
|
|
1242
1293
|
} else {
|
|
1243
1294
|
const [left, right] = splitRange(raw, options.aliases)
|
|
@@ -1251,7 +1302,9 @@ const parseSegment = (
|
|
|
1251
1302
|
}
|
|
1252
1303
|
|
|
1253
1304
|
if (right === undefined) {
|
|
1254
|
-
|
|
1305
|
+
for (let i = left; i <= (step === undefined ? left : options.max); i += step ?? 1) {
|
|
1306
|
+
add(i)
|
|
1307
|
+
}
|
|
1255
1308
|
} else {
|
|
1256
1309
|
if (!Number.isInteger(right)) {
|
|
1257
1310
|
return Result.fail(new CronParseError({ message: `Expected a positive integer`, input }))
|
|
@@ -1266,23 +1319,20 @@ const parseSegment = (
|
|
|
1266
1319
|
}
|
|
1267
1320
|
|
|
1268
1321
|
for (let i = left; i <= right; i += step ?? 1) {
|
|
1269
|
-
|
|
1322
|
+
add(i)
|
|
1270
1323
|
}
|
|
1271
1324
|
}
|
|
1272
1325
|
}
|
|
1273
|
-
|
|
1274
|
-
if (values.size >= capacity) {
|
|
1275
|
-
return Result.succeed(new Set())
|
|
1276
|
-
}
|
|
1277
1326
|
}
|
|
1278
1327
|
|
|
1279
|
-
return Result.succeed(values)
|
|
1328
|
+
return Result.succeed({ values, wildcard })
|
|
1280
1329
|
}
|
|
1281
1330
|
|
|
1282
1331
|
const splitStep = (input: string): [string, number | undefined] => {
|
|
1283
1332
|
const separator = input.indexOf("/")
|
|
1284
1333
|
if (separator !== -1) {
|
|
1285
|
-
|
|
1334
|
+
const step = input.slice(separator + 1)
|
|
1335
|
+
return [input.slice(0, separator), decimalRegex.test(step) ? Number(step) : NaN]
|
|
1286
1336
|
}
|
|
1287
1337
|
|
|
1288
1338
|
return [input, undefined]
|
|
@@ -1298,5 +1348,7 @@ const splitRange = (input: string, aliases?: Record<string, number>): [number, n
|
|
|
1298
1348
|
}
|
|
1299
1349
|
|
|
1300
1350
|
function aliasOrValue(field: string, aliases?: Record<string, number>): number {
|
|
1301
|
-
return aliases?.[field.toLocaleLowerCase()] ?? Number(field)
|
|
1351
|
+
return aliases?.[field.toLocaleLowerCase()] ?? (decimalRegex.test(field) ? Number(field) : NaN)
|
|
1302
1352
|
}
|
|
1353
|
+
|
|
1354
|
+
const decimalRegex = /^\d+$/
|