effect 4.1.0 → 4.1.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/README.md +30 -0
- package/THIRD_PARTY_NOTICES.md +62 -0
- package/ai-docs/package.json +2 -2
- package/dist/BigDecimal.d.ts +139 -7
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +83 -14
- package/dist/BigDecimal.js.map +1 -1
- package/dist/ByteSize.d.ts.map +1 -1
- package/dist/ByteSize.js +27 -14
- package/dist/ByteSize.js.map +1 -1
- package/dist/Equal.d.ts +2 -2
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +3 -3
- package/dist/Equal.js.map +1 -1
- package/dist/Hash.d.ts +3 -2
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +5 -4
- package/dist/Hash.js.map +1 -1
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +38 -32
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +27 -6
- package/dist/JsonSchema.js.map +1 -1
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +0 -7
- package/dist/MutableRef.js.map +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +5 -1
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +2 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +0 -8
- package/dist/Ref.js.map +1 -1
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +8 -3
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +2 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2 -1
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +4 -2
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +4 -2
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +2 -2
- package/dist/SchemaTransformation.js +2 -2
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +6 -5
- package/dist/Stream.js.map +1 -1
- package/dist/ai/McpClient.d.ts +171 -19
- package/dist/ai/McpClient.d.ts.map +1 -1
- package/dist/ai/McpClient.js +277 -66
- package/dist/ai/McpClient.js.map +1 -1
- package/dist/ai/McpSchema.d.ts +108 -0
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpSchema.js +99 -0
- package/dist/ai/McpSchema.js.map +1 -1
- package/dist/ai/McpServer.d.ts +120 -6
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +258 -49
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +20 -11
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Tool.d.ts.map +1 -1
- package/dist/ai/Tool.js +5 -7
- package/dist/ai/Tool.js.map +1 -1
- package/dist/ai/internal/mcpCore.js +72 -3
- package/dist/ai/internal/mcpCore.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +3 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +3 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +3 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +3 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +44 -8
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js +12 -0
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +3 -3
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpSkills.d.ts +2 -0
- package/dist/ai/internal/mcpSkills.d.ts.map +1 -0
- package/dist/ai/internal/mcpSkills.js +428 -0
- package/dist/ai/internal/mcpSkills.js.map +1 -0
- package/dist/ai/internal/structured-output.js +11 -2
- package/dist/ai/internal/structured-output.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +30 -11
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/Entity.d.ts +26 -0
- package/dist/cluster/Entity.d.ts.map +1 -1
- package/dist/cluster/Entity.js.map +1 -1
- package/dist/cluster/MessageStorage.d.ts +6 -6
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js +1 -3
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Reply.d.ts +1 -1
- package/dist/cluster/Reply.d.ts.map +1 -1
- package/dist/cluster/Reply.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +13 -2
- package/dist/cluster/Runners.js.map +1 -1
- package/dist/cluster/Sharding.d.ts +13 -0
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +4 -1
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/internal/clusterAbandon.d.ts.map +1 -1
- package/dist/cluster/internal/clusterAbandon.js +6 -4
- package/dist/cluster/internal/clusterAbandon.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +63 -11
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/cluster/internal/transactionNotifications.d.ts +5 -0
- package/dist/cluster/internal/transactionNotifications.d.ts.map +1 -0
- package/dist/cluster/internal/transactionNotifications.js +5 -0
- package/dist/cluster/internal/transactionNotifications.js.map +1 -0
- package/dist/crypto/Aead.d.ts +2 -1
- package/dist/crypto/Aead.d.ts.map +1 -1
- package/dist/crypto/Aead.js +2 -2
- package/dist/crypto/Aead.js.map +1 -1
- package/dist/crypto/Cipher.d.ts +2 -1
- package/dist/crypto/Cipher.d.ts.map +1 -1
- package/dist/crypto/Cipher.js +2 -2
- package/dist/crypto/Cipher.js.map +1 -1
- package/dist/crypto/KeyAgreement.d.ts +3 -2
- package/dist/crypto/KeyAgreement.d.ts.map +1 -1
- package/dist/crypto/KeyAgreement.js +2 -2
- package/dist/crypto/KeyAgreement.js.map +1 -1
- package/dist/crypto/KeyFormat.d.ts +33 -1
- package/dist/crypto/KeyFormat.d.ts.map +1 -1
- package/dist/crypto/KeyFormat.js.map +1 -1
- package/dist/crypto/KeyWrap.d.ts +4 -3
- package/dist/crypto/KeyWrap.d.ts.map +1 -1
- package/dist/crypto/KeyWrap.js +2 -2
- package/dist/crypto/KeyWrap.js.map +1 -1
- package/dist/crypto/Mac.d.ts +2 -1
- package/dist/crypto/Mac.d.ts.map +1 -1
- package/dist/crypto/Mac.js +2 -2
- package/dist/crypto/Mac.js.map +1 -1
- package/dist/crypto/Signature.d.ts +3 -2
- package/dist/crypto/Signature.d.ts.map +1 -1
- package/dist/crypto/Signature.js +2 -2
- package/dist/crypto/Signature.js.map +1 -1
- package/dist/crypto/WebCrypto.d.ts +19 -0
- package/dist/crypto/WebCrypto.d.ts.map +1 -1
- package/dist/crypto/WebCrypto.js.map +1 -1
- package/dist/crypto/internal/asymmetric.js.map +1 -1
- package/dist/crypto/internal/key.js +3 -2
- package/dist/crypto/internal/key.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +26 -3
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/Json5.d.ts +44 -0
- package/dist/encoding/Json5.d.ts.map +1 -0
- package/dist/encoding/Json5.js +56 -0
- package/dist/encoding/Json5.js.map +1 -0
- package/dist/encoding/Jsonc.d.ts +47 -0
- package/dist/encoding/Jsonc.d.ts.map +1 -0
- package/dist/encoding/Jsonc.js +120 -0
- package/dist/encoding/Jsonc.js.map +1 -0
- package/dist/encoding/Ndjson.d.ts +5 -4
- package/dist/encoding/Ndjson.d.ts.map +1 -1
- package/dist/encoding/Ndjson.js +6 -5
- package/dist/encoding/Ndjson.js.map +1 -1
- package/dist/encoding/SchemaBinary.d.ts +94 -0
- package/dist/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/encoding/SchemaBinary.js +219 -6
- package/dist/encoding/SchemaBinary.js.map +1 -1
- package/dist/encoding/Sse.d.ts +3 -1
- package/dist/encoding/Sse.d.ts.map +1 -1
- package/dist/encoding/Sse.js +5 -3
- package/dist/encoding/Sse.js.map +1 -1
- package/dist/encoding/index.d.ts +10 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +10 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/EventLog.d.ts +7 -0
- package/dist/eventlog/EventLog.d.ts.map +1 -1
- package/dist/eventlog/EventLog.js +7 -0
- package/dist/eventlog/EventLog.js.map +1 -1
- package/dist/eventlog/EventLogServer.d.ts +7 -1
- package/dist/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/eventlog/EventLogServer.js +55 -24
- package/dist/eventlog/EventLogServer.js.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.d.ts +10 -0
- package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.d.ts +17 -0
- package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.js +14 -2
- package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.d.ts +21 -0
- package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.js +22 -0
- package/dist/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/graphql/GraphQLClient.d.ts +3 -1
- package/dist/graphql/GraphQLClient.d.ts.map +1 -1
- package/dist/graphql/GraphQLClient.js.map +1 -1
- package/dist/graphql/GraphQLClientError.d.ts +14 -9
- package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
- package/dist/graphql/GraphQLClientError.js +14 -21
- package/dist/graphql/GraphQLClientError.js.map +1 -1
- package/dist/graphql/GraphQLProtocol.d.ts +12 -3
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +4 -1
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/http/HttpClient.d.ts +204 -16
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +93 -13
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +38 -22
- package/dist/http/HttpServerRequest.js.map +1 -1
- package/dist/http/internal/mimeTypes.d.ts +4 -1
- package/dist/http/internal/mimeTypes.d.ts.map +1 -1
- package/dist/http/internal/mimeTypes.js +4 -1
- package/dist/http/internal/mimeTypes.js.map +1 -1
- package/dist/http-api/HttpApiSchema.js +1 -1
- package/dist/http-api/HttpApiSchema.js.map +1 -1
- package/dist/internal/dateTime.js +66 -27
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +10 -0
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/glob.js +234 -56
- package/dist/internal/glob.js.map +1 -1
- package/dist/internal/graphql.js +21 -7
- package/dist/internal/graphql.js.map +1 -1
- package/dist/internal/graphqlHeaders.d.ts +7 -0
- package/dist/internal/graphqlHeaders.d.ts.map +1 -1
- package/dist/internal/graphqlHeaders.js +11 -0
- package/dist/internal/graphqlHeaders.js.map +1 -1
- package/dist/internal/jsonParser.d.ts +5 -0
- package/dist/internal/jsonParser.d.ts.map +1 -0
- package/dist/internal/jsonParser.js +280 -0
- package/dist/internal/jsonParser.js.map +1 -0
- package/dist/internal/persistence.js +8 -1
- package/dist/internal/persistence.js.map +1 -1
- package/dist/internal/request.js +29 -42
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +7 -8
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/sql.js +16 -0
- package/dist/internal/sql.js.map +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/jose/JoseError.d.ts +285 -0
- package/dist/jose/JoseError.d.ts.map +1 -0
- package/dist/jose/JoseError.js +269 -0
- package/dist/jose/JoseError.js.map +1 -0
- package/dist/jose/Jwe.d.ts +128 -0
- package/dist/jose/Jwe.d.ts.map +1 -0
- package/dist/jose/Jwe.js +134 -0
- package/dist/jose/Jwe.js.map +1 -0
- package/dist/jose/Jwk.d.ts +597 -0
- package/dist/jose/Jwk.d.ts.map +1 -0
- package/dist/jose/Jwk.js +503 -0
- package/dist/jose/Jwk.js.map +1 -0
- package/dist/jose/Jwks.d.ts +236 -0
- package/dist/jose/Jwks.d.ts.map +1 -0
- package/dist/jose/Jwks.js +306 -0
- package/dist/jose/Jwks.js.map +1 -0
- package/dist/jose/Jws.d.ts +177 -0
- package/dist/jose/Jws.d.ts.map +1 -0
- package/dist/jose/Jws.js +183 -0
- package/dist/jose/Jws.js.map +1 -0
- package/dist/jose/Jwt.d.ts +270 -0
- package/dist/jose/Jwt.d.ts.map +1 -0
- package/dist/jose/Jwt.js +293 -0
- package/dist/jose/Jwt.js.map +1 -0
- package/dist/jose/index.d.ts +51 -0
- package/dist/jose/index.d.ts.map +1 -0
- package/dist/jose/index.js +52 -0
- package/dist/jose/index.js.map +1 -0
- package/dist/jose/internal/compact.d.ts +2 -0
- package/dist/jose/internal/compact.d.ts.map +1 -0
- package/dist/jose/internal/compact.js +179 -0
- package/dist/jose/internal/compact.js.map +1 -0
- package/dist/net/Host.d.ts.map +1 -1
- package/dist/net/Host.js +5 -10
- package/dist/net/Host.js.map +1 -1
- package/dist/observability/OtlpExporter.d.ts +4 -0
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +40 -12
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpSerialization.d.ts +1 -1
- package/dist/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/observability/OtlpSerialization.js +10 -4
- package/dist/observability/OtlpSerialization.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +3 -3
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/observability/internal/protobuf.js +6 -0
- package/dist/observability/internal/protobuf.js.map +1 -1
- package/dist/persistence/CircuitBreaker.d.ts +98 -38
- package/dist/persistence/CircuitBreaker.d.ts.map +1 -1
- package/dist/persistence/CircuitBreaker.js +67 -29
- package/dist/persistence/CircuitBreaker.js.map +1 -1
- package/dist/persistence/RateLimiter.d.ts +15 -0
- package/dist/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/persistence/RateLimiter.js +76 -16
- package/dist/persistence/RateLimiter.js.map +1 -1
- package/dist/persistence/index.d.ts +1 -1
- package/dist/persistence/index.js +1 -1
- package/dist/reactivity/AtomRegistry.js +17 -7
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/Rpc.d.ts +1 -1
- package/dist/rpc/Rpc.d.ts.map +1 -1
- package/dist/rpc/Rpc.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +14 -2
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +38 -21
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcMessage.d.ts +3 -2
- package/dist/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/rpc/RpcMessage.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +10 -1
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/sql/Migrator.d.ts +9 -1
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +18 -6
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +46 -3
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +40 -15
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +46 -3
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +32 -26
- package/dist/sql/Statement.js.map +1 -1
- package/dist/workflow/Workflow.d.ts +4 -0
- package/dist/workflow/Workflow.d.ts.map +1 -1
- package/dist/workflow/Workflow.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +5 -0
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +7 -3
- package/src/BigDecimal.ts +170 -16
- package/src/ByteSize.ts +29 -14
- package/src/Equal.ts +3 -3
- package/src/Hash.ts +5 -4
- package/src/Iterable.ts +28 -19
- package/src/JsonSchema.ts +45 -7
- package/src/MutableRef.ts +1 -8
- package/src/Path.ts +6 -1
- package/src/Pool.ts +2 -1
- package/src/Ref.ts +0 -8
- package/src/Schedule.ts +8 -6
- package/src/Schema.ts +3 -2
- package/src/SchemaRepresentation.ts +4 -2
- package/src/SchemaTransformation.ts +2 -2
- package/src/Stream.ts +6 -5
- package/src/ai/McpClient.ts +488 -91
- package/src/ai/McpSchema.ts +119 -0
- package/src/ai/McpServer.ts +302 -56
- package/src/ai/Prompt.ts +16 -11
- package/src/ai/Tool.ts +5 -10
- package/src/ai/internal/mcpCore.ts +165 -12
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +3 -1
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +3 -1
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +3 -1
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +3 -1
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +42 -9
- package/src/ai/internal/mcpProtocol.ts +15 -0
- package/src/ai/internal/mcpRuntime.ts +6 -3
- package/src/ai/internal/mcpSkills.ts +480 -0
- package/src/ai/internal/structured-output.ts +10 -4
- package/src/cluster/ClusterWorkflowEngine.ts +48 -33
- package/src/cluster/Entity.ts +52 -0
- package/src/cluster/MessageStorage.ts +3 -6
- package/src/cluster/Reply.ts +1 -1
- package/src/cluster/Runners.ts +16 -2
- package/src/cluster/Sharding.ts +17 -1
- package/src/cluster/internal/clusterAbandon.ts +7 -7
- package/src/cluster/internal/entityManager.ts +89 -15
- package/src/cluster/internal/transactionNotifications.ts +7 -0
- package/src/crypto/Aead.ts +3 -3
- package/src/crypto/Cipher.ts +3 -3
- package/src/crypto/KeyAgreement.ts +4 -4
- package/src/crypto/KeyFormat.ts +30 -1
- package/src/crypto/KeyWrap.ts +6 -6
- package/src/crypto/Mac.ts +3 -3
- package/src/crypto/Signature.ts +4 -4
- package/src/crypto/WebCrypto.ts +20 -0
- package/src/crypto/internal/asymmetric.ts +2 -1
- package/src/crypto/internal/key.ts +12 -5
- package/src/encoding/Base64Url.ts +27 -3
- package/src/encoding/Json5.ts +59 -0
- package/src/encoding/Jsonc.ts +126 -0
- package/src/encoding/Ndjson.ts +6 -5
- package/src/encoding/SchemaBinary.ts +228 -7
- package/src/encoding/Sse.ts +5 -3
- package/src/encoding/index.ts +12 -0
- package/src/eventlog/EventLog.ts +7 -0
- package/src/eventlog/EventLogServer.ts +67 -24
- package/src/eventlog/EventLogServerEncrypted.ts +5 -0
- package/src/eventlog/EventLogServerUnencrypted.ts +19 -2
- package/src/eventlog/EventLogSessionAuth.ts +26 -0
- package/src/graphql/GraphQLClient.ts +3 -1
- package/src/graphql/GraphQLClientError.ts +15 -22
- package/src/graphql/GraphQLProtocol.ts +12 -3
- package/src/http/HttpClient.ts +244 -33
- package/src/http/HttpServerRequest.ts +61 -23
- package/src/http/internal/mimeTypes.ts +4 -1
- package/src/http-api/HttpApiSchema.ts +1 -1
- package/src/internal/dateTime.ts +80 -27
- package/src/internal/effect.ts +6 -0
- package/src/internal/glob.ts +279 -63
- package/src/internal/graphql.ts +27 -9
- package/src/internal/graphqlHeaders.ts +13 -0
- package/src/internal/jsonParser.ts +307 -0
- package/src/internal/persistence.ts +9 -1
- package/src/internal/request.ts +51 -58
- package/src/internal/schema/fromJsonSchemaDocument.ts +11 -10
- package/src/internal/sql.ts +25 -0
- package/src/internal/version.ts +1 -1
- package/src/jose/JoseError.ts +329 -0
- package/src/jose/Jwe.ts +196 -0
- package/src/jose/Jwk.ts +777 -0
- package/src/jose/Jwks.ts +418 -0
- package/src/jose/Jws.ts +312 -0
- package/src/jose/Jwt.ts +493 -0
- package/src/jose/index.ts +58 -0
- package/src/jose/internal/compact.ts +195 -0
- package/src/net/Host.ts +5 -10
- package/src/observability/OtlpExporter.ts +42 -18
- package/src/observability/OtlpSerialization.ts +13 -5
- package/src/observability/internal/otlpProtobuf.ts +6 -6
- package/src/observability/internal/protobuf.ts +10 -0
- package/src/persistence/CircuitBreaker.ts +113 -48
- package/src/persistence/RateLimiter.ts +97 -19
- package/src/persistence/index.ts +1 -1
- package/src/reactivity/AtomRegistry.ts +19 -8
- package/src/rpc/Rpc.ts +3 -1
- package/src/rpc/RpcClient.ts +44 -24
- package/src/rpc/RpcMessage.ts +3 -2
- package/src/rpc/RpcServer.ts +12 -1
- package/src/sql/Migrator.ts +35 -18
- package/src/sql/SqlClient.ts +91 -22
- package/src/sql/Statement.ts +60 -35
- package/src/workflow/Workflow.ts +4 -0
- package/src/workflow/WorkflowEngine.ts +5 -0
package/src/JsonSchema.ts
CHANGED
|
@@ -506,9 +506,23 @@ export function fromSchemaOpenApi3_0(schema: JsonSchema): Document<"draft-2020-1
|
|
|
506
506
|
* @since 4.0.0
|
|
507
507
|
*/
|
|
508
508
|
export function toDocumentDraft07(document: Document<"draft-2020-12">): Document<"draft-07"> {
|
|
509
|
+
return toDocumentDraft07WithDefinitionsPath(document)
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* Converts to Draft-07 with definitions located at `definitionsPath`, such as
|
|
514
|
+
* `["components", "schemas"]` after {@link toMultiDocumentComponents}, so
|
|
515
|
+
* references into them stay in place. Defaults to `$defs` → `definitions`.
|
|
516
|
+
*
|
|
517
|
+
* @internal
|
|
518
|
+
*/
|
|
519
|
+
export function toDocumentDraft07WithDefinitionsPath(
|
|
520
|
+
document: Document<"draft-2020-12">,
|
|
521
|
+
definitionsPath?: ReadonlyArray<string>
|
|
522
|
+
): Document<"draft-07"> {
|
|
509
523
|
return {
|
|
510
524
|
dialect: "draft-07",
|
|
511
|
-
...convertDocument(document, draft07Adapter)
|
|
525
|
+
...convertDocument(document, draft07Adapter, undefined, definitionsPath)
|
|
512
526
|
}
|
|
513
527
|
}
|
|
514
528
|
|
|
@@ -620,6 +634,25 @@ export function toDocumentDraft04(document: Document<"draft-2020-12">): Document
|
|
|
620
634
|
* @since 4.0.0
|
|
621
635
|
*/
|
|
622
636
|
export function toMultiDocumentOpenApi3_1(multiDocument: MultiDocument<"draft-2020-12">): MultiDocument<"openapi-3.1"> {
|
|
637
|
+
return {
|
|
638
|
+
dialect: "openapi-3.1",
|
|
639
|
+
...toMultiDocumentComponents(multiDocument, {
|
|
640
|
+
target: "OpenAPI 3.1",
|
|
641
|
+
checkSchema(schema) {
|
|
642
|
+
rejectKeywordCollisions(schema, OPEN_API_31_TARGET_COLLISIONS, "OpenAPI 3.1", "Draft 2020-12")
|
|
643
|
+
}
|
|
644
|
+
})
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
/** @internal */
|
|
649
|
+
export function toMultiDocumentComponents(
|
|
650
|
+
multiDocument: Pick<MultiDocument<"draft-2020-12">, "schemas" | "definitions">,
|
|
651
|
+
options: {
|
|
652
|
+
readonly target: string
|
|
653
|
+
readonly checkSchema?: ((schema: JsonSchema) => void) | undefined
|
|
654
|
+
}
|
|
655
|
+
): Pick<MultiDocument<"draft-2020-12">, "schemas" | "definitions"> {
|
|
623
656
|
const definitionKeys = Object.keys(multiDocument.definitions)
|
|
624
657
|
const keyMap = new Map<string, string>()
|
|
625
658
|
const usedKeys = new Set(definitionKeys.filter((key) => VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP.test(key)))
|
|
@@ -649,7 +682,7 @@ export function toMultiDocumentOpenApi3_1(multiDocument: MultiDocument<"draft-20
|
|
|
649
682
|
const isRootResource = createsResource(schema.$id)
|
|
650
683
|
const localDefinitions = Predicate.isObject(schema.$defs) ? schema.$defs : undefined
|
|
651
684
|
return transformSchema(schema, (schema, inEmbeddedResource) => {
|
|
652
|
-
|
|
685
|
+
options.checkSchema?.(schema)
|
|
653
686
|
rewriteSchemaRef(schema, (reference, keyword) => {
|
|
654
687
|
const path = reference.startsWith("#") ? parseUriFragment(reference) : undefined
|
|
655
688
|
if (path === undefined || path[0] !== "$defs" || path.length < 2) return reference
|
|
@@ -661,7 +694,7 @@ export function toMultiDocumentOpenApi3_1(multiDocument: MultiDocument<"draft-20
|
|
|
661
694
|
Object.hasOwn(multiDocument.definitions, key) &&
|
|
662
695
|
(localDefinitions === undefined || !Object.hasOwn(localDefinitions, key))
|
|
663
696
|
) {
|
|
664
|
-
unsupported(keyword,
|
|
697
|
+
unsupported(keyword, options.target, "a schema resource cannot reference the shared definitions pool")
|
|
665
698
|
}
|
|
666
699
|
return reference
|
|
667
700
|
}
|
|
@@ -673,7 +706,7 @@ export function toMultiDocumentOpenApi3_1(multiDocument: MultiDocument<"draft-20
|
|
|
673
706
|
}
|
|
674
707
|
|
|
675
708
|
const schemas = multiDocument.schemas.map((schema) => rewrite(schema, true)) as unknown as MultiDocument<
|
|
676
|
-
"
|
|
709
|
+
"draft-2020-12"
|
|
677
710
|
>["schemas"]
|
|
678
711
|
const definitions: Definitions = {}
|
|
679
712
|
for (const key of definitionKeys) {
|
|
@@ -685,7 +718,6 @@ export function toMultiDocumentOpenApi3_1(multiDocument: MultiDocument<"draft-20
|
|
|
685
718
|
}
|
|
686
719
|
|
|
687
720
|
return {
|
|
688
|
-
dialect: "openapi-3.1",
|
|
689
721
|
schemas,
|
|
690
722
|
definitions
|
|
691
723
|
}
|
|
@@ -957,13 +989,19 @@ function convertSchema(root: JsonSchema, adapter: Adapter, options?: ConverterOp
|
|
|
957
989
|
function convertDocument(
|
|
958
990
|
document: Document<"draft-2020-12">,
|
|
959
991
|
adapter: Adapter,
|
|
960
|
-
options?: ConverterOptions
|
|
992
|
+
options?: ConverterOptions,
|
|
993
|
+
definitionsPath?: Path
|
|
961
994
|
): { readonly schema: JsonSchema; readonly definitions: Definitions } {
|
|
962
995
|
return runConverter(adapter, { ...options, trackIds: true }, (convert) => ({
|
|
963
996
|
schema: convert(document.schema) as JsonSchema,
|
|
964
997
|
definitions: mapObject(
|
|
965
998
|
document.definitions,
|
|
966
|
-
(definition, key) =>
|
|
999
|
+
(definition, key) =>
|
|
1000
|
+
convert(
|
|
1001
|
+
definition,
|
|
1002
|
+
[...(definitionsPath ?? ["$defs"]), key],
|
|
1003
|
+
[...(definitionsPath ?? ["definitions"]), key]
|
|
1004
|
+
) as JsonSchema
|
|
967
1005
|
) as Definitions
|
|
968
1006
|
}))
|
|
969
1007
|
}
|
package/src/MutableRef.ts
CHANGED
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import * as Equal from "./Equal.ts"
|
|
14
14
|
import * as Dual from "./Function.ts"
|
|
15
|
-
import * as Hash from "./Hash.ts"
|
|
16
15
|
import { type Inspectable, toJson } from "./Inspectable.ts"
|
|
17
16
|
import { PipeInspectableProto } from "./internal/core.ts"
|
|
18
17
|
import type { Pipeable } from "./Pipeable.ts"
|
|
@@ -75,15 +74,9 @@ export interface MutableRef<out T> extends Pipeable, Inspectable {
|
|
|
75
74
|
current: T
|
|
76
75
|
}
|
|
77
76
|
|
|
78
|
-
const MutableRefProto: Omit<MutableRef<unknown>, "current">
|
|
77
|
+
const MutableRefProto: Omit<MutableRef<unknown>, "current"> = {
|
|
79
78
|
[TypeId]: TypeId,
|
|
80
79
|
...PipeInspectableProto,
|
|
81
|
-
[Equal.symbol](that: unknown): boolean {
|
|
82
|
-
return this === that
|
|
83
|
-
},
|
|
84
|
-
[Hash.symbol](): number {
|
|
85
|
-
return Hash.random(this)
|
|
86
|
-
},
|
|
87
80
|
toJSON<A>(this: MutableRef<A>) {
|
|
88
81
|
return {
|
|
89
82
|
_id: "MutableRef",
|
package/src/Path.ts
CHANGED
|
@@ -385,9 +385,14 @@ function normalizeStringPosix(path: string, allowAboveRoot: boolean) {
|
|
|
385
385
|
return res
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
+
function formatExt(ext: string | undefined) {
|
|
389
|
+
if (!ext) return ""
|
|
390
|
+
return ext.startsWith(".") ? ext : `.${ext}`
|
|
391
|
+
}
|
|
392
|
+
|
|
388
393
|
function _format(sep: string, pathObject: Partial<Path.Parsed>) {
|
|
389
394
|
const dir = pathObject.dir || pathObject.root
|
|
390
|
-
const base = pathObject.base || (pathObject.name || "") + (pathObject.ext
|
|
395
|
+
const base = pathObject.base || (pathObject.name || "") + formatExt(pathObject.ext)
|
|
391
396
|
if (!dir) {
|
|
392
397
|
return base
|
|
393
398
|
}
|
package/src/Pool.ts
CHANGED
|
@@ -378,7 +378,8 @@ export const makeWithStrategy = <A, E, R>(options: {
|
|
|
378
378
|
}): Effect.Effect<Pool<A, E>, never, Scope.Scope | R> =>
|
|
379
379
|
Effect.uninterruptibleMask(Effect.fnUntraced(function*(restore) {
|
|
380
380
|
const services = yield* Effect.context<R | Scope.Scope>()
|
|
381
|
-
|
|
381
|
+
// A child scope keeps the pool usable in later finalizers of the outer scope
|
|
382
|
+
const scope = Scope.forkUnsafe(Context.get(services, Scope.Scope))
|
|
382
383
|
const acquire = Effect.updateContext(
|
|
383
384
|
options.acquire,
|
|
384
385
|
(input) => Context.merge(services, input)
|
package/src/Ref.ts
CHANGED
|
@@ -12,9 +12,7 @@
|
|
|
12
12
|
* @since 2.0.0
|
|
13
13
|
*/
|
|
14
14
|
import * as Effect from "./Effect.ts"
|
|
15
|
-
import * as Equal from "./Equal.ts"
|
|
16
15
|
import { dual, identity } from "./Function.ts"
|
|
17
|
-
import * as Hash from "./Hash.ts"
|
|
18
16
|
import { PipeInspectableProto } from "./internal/core.ts"
|
|
19
17
|
import * as MutableRef from "./MutableRef.ts"
|
|
20
18
|
import type * as Option from "./Option.ts"
|
|
@@ -112,12 +110,6 @@ const RefProto = {
|
|
|
112
110
|
_A: identity
|
|
113
111
|
},
|
|
114
112
|
...PipeInspectableProto,
|
|
115
|
-
[Equal.symbol](that: unknown): boolean {
|
|
116
|
-
return this === that
|
|
117
|
-
},
|
|
118
|
-
[Hash.symbol](): number {
|
|
119
|
-
return Hash.random(this)
|
|
120
|
-
},
|
|
121
113
|
toJSON(this: Ref<any>) {
|
|
122
114
|
return {
|
|
123
115
|
_id: "Ref",
|
package/src/Schedule.ts
CHANGED
|
@@ -889,7 +889,8 @@ export const cron: {
|
|
|
889
889
|
return Cause.done(Duration.zero)
|
|
890
890
|
}
|
|
891
891
|
return effect.sync(() => {
|
|
892
|
-
|
|
892
|
+
let next = Cron.next(cron, now).getTime()
|
|
893
|
+
if (Duration.isZero(Duration.millis(next - now))) next = Cron.next(cron, next).getTime()
|
|
893
894
|
const duration = Duration.millis(next - now)
|
|
894
895
|
return [duration, duration]
|
|
895
896
|
})
|
|
@@ -1157,7 +1158,7 @@ export const fixed = (interval: Duration.Input): Schedule<number> => {
|
|
|
1157
1158
|
}
|
|
1158
1159
|
const runningBehind = meta.now > (lastRun + window)
|
|
1159
1160
|
const boundary = window - ((meta.now - start) % window)
|
|
1160
|
-
const delay = runningBehind ? 0 : boundary
|
|
1161
|
+
const delay = runningBehind ? 0 : Duration.isZero(Duration.millis(boundary)) ? window : boundary
|
|
1161
1162
|
lastRun = runningBehind ? meta.now : meta.now + delay
|
|
1162
1163
|
return [meta.attempt - 1, Duration.millis(delay)] as const
|
|
1163
1164
|
})
|
|
@@ -1901,10 +1902,11 @@ export {
|
|
|
1901
1902
|
export const windowed = (interval: Duration.Input): Schedule<number> => {
|
|
1902
1903
|
const window = Duration.toMillis(Duration.fromInputUnsafe(interval))
|
|
1903
1904
|
return fromStepWithMetadata(effect.succeed((meta) =>
|
|
1904
|
-
effect.sync(() =>
|
|
1905
|
-
meta.attempt - 1,
|
|
1906
|
-
|
|
1907
|
-
|
|
1905
|
+
effect.sync(() => {
|
|
1906
|
+
if (window === 0) return [meta.attempt - 1, Duration.zero] as const
|
|
1907
|
+
const delay = Duration.millis(window - (meta.elapsed % window))
|
|
1908
|
+
return [meta.attempt - 1, Duration.isZero(delay) ? Duration.millis(window) : delay] as const
|
|
1909
|
+
})
|
|
1908
1910
|
))
|
|
1909
1911
|
}
|
|
1910
1912
|
|
package/src/Schema.ts
CHANGED
|
@@ -10949,7 +10949,8 @@ export interface BigDecimalFromString extends decodeTo<BigDecimal, String> {
|
|
|
10949
10949
|
*
|
|
10950
10950
|
* **Gotchas**
|
|
10951
10951
|
*
|
|
10952
|
-
* An empty string decodes as zero.
|
|
10952
|
+
* An empty string decodes as zero. Strings with a scale outside ±10,000, such
|
|
10953
|
+
* as `"1e300000000"`, are rejected.
|
|
10953
10954
|
*
|
|
10954
10955
|
* @see {@link BigDecimal} for validating values that are already BigDecimal values
|
|
10955
10956
|
* @see {@link BigIntFromString} for parsing base-10 integer strings into bigint values
|
|
@@ -14531,7 +14532,7 @@ const CryptoJsonWebKey = Struct({
|
|
|
14531
14532
|
d: CryptoJsonWebKeyMember,
|
|
14532
14533
|
t: CryptoJsonWebKeyMember
|
|
14533
14534
|
})))
|
|
14534
|
-
}) as unknown as Codec<JsonWebKey>
|
|
14535
|
+
}) as unknown as Codec<KeyFormat_.JsonWebKey>
|
|
14535
14536
|
|
|
14536
14537
|
const cryptoFormatData = <R extends KeyFormat_.Role, Data>(format: KeyFormat_.Format<R, "decode", Data>): Codec<Data> =>
|
|
14537
14538
|
(format._tag === "jwk" ? CryptoJsonWebKey : format.pem ? String : Uint8Array) as Codec<any>
|
|
@@ -3202,7 +3202,8 @@ export function fromRepresentations(
|
|
|
3202
3202
|
* - Objects and arrays used as `const` values or `enum` members are rejected. Only strings, numbers, booleans, and null
|
|
3203
3203
|
* are supported.
|
|
3204
3204
|
* - Intersections of overlapping unions are limited to disjoint root-type partitions and finite primitive `anyOf`
|
|
3205
|
-
* literal sets. Other union intersections, including cases that would
|
|
3205
|
+
* literal sets, which may also be duplicated across branches. Other union intersections, including cases that would
|
|
3206
|
+
* duplicate any other nested choice, are rejected.
|
|
3206
3207
|
* - Unknown extension keywords are ignored and their semantics are not enforced.
|
|
3207
3208
|
* - Only local references to top-level definitions in the form `#/$defs/<escaped-token>` are supported, optionally
|
|
3208
3209
|
* followed by a pointer below the definition. A pointer target becomes a definition keyed by its escaped tokens, such
|
|
@@ -3251,7 +3252,8 @@ export function fromJsonSchemaDocument(
|
|
|
3251
3252
|
* - Objects and arrays used as `const` values or `enum` members are rejected. Only strings, numbers, booleans, and null
|
|
3252
3253
|
* are supported.
|
|
3253
3254
|
* - Intersections of overlapping unions are limited to disjoint root-type partitions and finite primitive `anyOf`
|
|
3254
|
-
* literal sets. Other union intersections, including cases that would
|
|
3255
|
+
* literal sets, which may also be duplicated across branches. Other union intersections, including cases that would
|
|
3256
|
+
* duplicate any other nested choice, are rejected.
|
|
3255
3257
|
* - Only local references to top-level definitions in the form `#/$defs/<escaped-token>` are supported, optionally
|
|
3256
3258
|
* followed by a pointer below the definition. A pointer target becomes a definition keyed by its escaped tokens, such
|
|
3257
3259
|
* as `Name/properties/field`, and is rejected if a top-level definition already uses that key. Root references and
|
|
@@ -1707,8 +1707,8 @@ export const urlFromString: Transformation<URL, string> = transformEffect<URL, s
|
|
|
1707
1707
|
* **Details**
|
|
1708
1708
|
*
|
|
1709
1709
|
* Decoding calls `BigDecimal.fromString(s)` and fails with `InvalidValue` if
|
|
1710
|
-
* the string is not a valid `BigDecimal` representation
|
|
1711
|
-
* `BigDecimal.format(bd)`.
|
|
1710
|
+
* the string is not a valid `BigDecimal` representation or its scale is
|
|
1711
|
+
* outside ±10,000. Encoding returns `BigDecimal.format(bd)`.
|
|
1712
1712
|
*
|
|
1713
1713
|
* @stability stable
|
|
1714
1714
|
* @category transforming
|
package/src/Stream.ts
CHANGED
|
@@ -15245,12 +15245,13 @@ export const groupAdjacentBy: {
|
|
|
15245
15245
|
return loop
|
|
15246
15246
|
})
|
|
15247
15247
|
)
|
|
15248
|
-
let
|
|
15249
|
-
return
|
|
15250
|
-
|
|
15251
|
-
|
|
15248
|
+
let cause: Cause.Cause<E | Cause.Done> | undefined
|
|
15249
|
+
return Effect.catchCause(Effect.suspend(() => cause ? Effect.failCause(cause) : loop), (cause_) => {
|
|
15250
|
+
cause = cause_
|
|
15251
|
+
if (group === undefined) return Effect.failCause(cause_)
|
|
15252
|
+
const out = Arr.of([currentKey, group] as const)
|
|
15252
15253
|
group = undefined
|
|
15253
|
-
return
|
|
15254
|
+
return Effect.succeed(out)
|
|
15254
15255
|
})
|
|
15255
15256
|
})))
|
|
15256
15257
|
|