Repository navigation
fix(deps): update dependency effect to v4 - #1203
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
d11a284 to
7d7f725
Compare
3ea1216 to
f01d2c5
Compare
acd3c4a to
44bf931
Compare
44bf931 to
c174666
Compare
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
^3.22.2→^4.0.5Release Notes
Effect-TS/effect (effect)
v4.0.5Compare Source
Patch Changes
#9055
f665607Thanks @Tyagiquamar! - Pass aNonEmptyArrayto theonNonEmptycallback ofArray.matchwhen the input is a mutable array.#9110
dbf442bThanks @petar-omni! - FixAsyncResult.allfailures carrying a single input'spreviousSuccessinstead of the combined record or tuple.#9105
74d1930Thanks @tim-smart! - Fix infinite atom rebuilds caused by late reads of uninitialized dependencies.#9145
a03afb6Thanks @jayhemnani9910! - AddFlag.withOptionalValuefor GNU-style flags with an optional value, like--color[=WHEN]. A bare flag uses the given value; an explicit value must be attached with=.#9131
f159284Thanks @tim-smart! - Fix lost deferred callback wakes in cluster workflows when an activity suspends while a parallel activity is still running.#9094
5d301ccThanks @okxint! - Name cluster entity RPC server spans by entity type only (e.g.WorkflowEntity.Run) so span names stay low-cardinality. The entity ID is still recorded in theentity.idspan attribute.#9176
cd74ea2Thanks @effect-bot! - Recover persisted local cluster replies from storage to prevent requests hanging when replies arrive before handler registration. Retain local reply notifications as storage-reader wakeups for low-latency streaming.Defer terminal in-memory reply publication until the successful outer transaction completes, preserving the commit boundary for reply readers.
#9095
925cf64Thanks @jayhemnani9910! - FixConfigProvider.fromDotEnvandfromDotEnvContentsrescanning expanded values whenexpandVariablesis enabled. Self and circular references no longer overflow the stack, escaped\$NAMEstays literal, and defaults apply when a reference expands to an empty value.#9109
54c51d9Thanks @devangpratap! - FixDurationconversions throwing for very large millisecond values, and make those durations equal to their nanosecond equivalents.#9161
995c104Thanks @devangpratap! - FixDurationconversions losing nanosecond precision for large integer millisecond values.#9112
816575eThanks @effect-bot! - Usebigintfor 64-bitFileSystem.File.Infometadata.devis now abigint, andino,rdev,nlink, andblocksareOption<bigint>, so file stats no longer fail or drop values outside the safe integer range. Node and Bun readdev,ino,rdev, andnlinkas unsigned 64-bit integers. Deno reports these fields as numbers, so values aboveNumber.MAX_SAFE_INTEGERare rounded by Deno before conversion.#9150
0df6e06Thanks @tim-smart! - Support per-request URLs inGraphQLProtocol.layerHttpandmakeHttp, as a function of the context and operation or as anEffect<string>.GraphQLResolverbatches lookups by URL.#9137
52a7d3cThanks @tim-smart! - Add HttpClientRequest.compressBody for gzip and deflate request body compression.#9160
ec831c3Thanks @fubhy! - AcceptRedactedvalues as URL parameters inUrlParamsandHttpClientRequest.#9138
3abc63eThanks @tim-smart! - AddHttpMiddleware.decompression, which decompressesgzipanddeflaterequest bodies, limits the decompressed size, and rejects other codings with415.#9113
a841b8bThanks @effect-bot! - Fix interruption callingMath.randomand hashing defects, which made deterministic hosts that forbid randomness loop forever or overflow the stack.#9098
91efea7Thanks @armancharan! - Narrow only the matched prefix when aMatchtuple pattern is applied to an array or variadic tuple, so the remaining elements keep their original type.#9151
e271997Thanks @tim-smart! - FixMcpServertypes to require schema services for resource templates and encoding services for prompt parameters with completion handlers. Missing services are now caught at compile time.#9117
7719bdaThanks @jayhemnani9910! - Pad 64-bit trace ids to 128 bits in OTLP exports andtraceparentheaders.#9139
563397fThanks @tim-smart! - Add opt-in gzip compression to built-in OTLP JSON and protobuf exporters via the compression option or OTEL_EXPORTER_OTLP_COMPRESSION and per-signal environment variables. Compress batches once before retries using HttpClientRequest.compressBody, retaining its default 1KB threshold and uncompressed defaults.#9127
65b04f8Thanks @effect-bot! - AddPath.resolveWithin(root, input), which resolves a relative path beneath a root and returnsOption.none()for traversal escapes and rooted inputs, using the platform's path rules.#9143
c2859bfThanks @danieljvdm! - Collect tool approvals once perLanguageModelrequest instead of twice.#9134
c462214Thanks @effect-bot! - Reduce SQLite statement overhead by borrowing the shared connection while preserving semaphore exclusion and failed-COMMIT recovery.#9169
d1ad2c7Thanks @danieljvdm! - Cache the last response decoder for each language model response kind, keyed by validation mode and ordered tool schema identities.#9136
12be65eThanks @tim-smart! - Redact sensitive query values in HTTP spans, request inspection and error messages. Also redact URL credentials in client spans, request inspection and errors. Request URLs sent over the wire are unchanged.Move
AWSAccessKeyId,Signature,sigandX-Goog-SignaturefromHeaders.CurrentRedactedNamesto the newUrlParams.CurrentRedactedNames. A custom list replaces these defaults. AddUrlParams.isRedactedName,UrlParams.redactandUrlParams.redactUrlfor explicit redaction.#9088
352618aThanks @armancharan! -Match.when,Match.whenOr,Match.whenAnd, andMatch.notnow reject object patterns with keys the input type does not have.#9166
2a8ec8bThanks @danieljvdm! - KeepSchemadecoding synchronous when a decoding default is an already-successful effect, such asEffect.succeed(...).#9135
8dec89dThanks @tim-smart! - Preserve completion-handler service requirements inMcpServer.registerResourceandMcpServer.resourceURI templates when handlers take a context argument.#9118
f05642fThanks @jayhemnani9910! - Fix handler-localrequest.urlfor parameterized and percent-encodedHttpRouterprefixes, respecting duplicate-slash configuration.#9187
3ad9a0cThanks @effect-bot! - Fix RPC socket clients closing healthy connections before sending a ping when a ping tick runs late. Slow requests now stay connected while the server responds to pings.#9103
dba4e52Thanks @gcanti! - Reject duplicate discriminants at compile time inSchema.toTaggedUnion, including duplicates in nested unions and numeric/string property-key collisions such as1and"1".#9096
7ca8224Thanks @jayhemnani9910! - FixSse.encoderdropping event data after a lone\r. CR and CRLF line endings in event data now start a newdata:line, like LF.#9133
65d20ddThanks @tim-smart! - Add filesystem watcher installation notifications and wait for all GraphQL watch subscriptions, including nested directories, before generating. This prevents edits during startup from being missed.#9106
e3ff963Thanks @armancharan! - FixStream.timeoutandStream.timeoutOrElsehanging when an async iterator's pendingnext()never settles.#9183
bc454a3Thanks @Marve10s! - FixString.snakeToCamelandString.snakeToPascalthrowing on a trailing underscore or an even-length run of underscores, such as"foo_"or"__". A trailing underscore is now dropped and an even-length run of underscores returns""; inputs that converted before give the same result.String.noCaseno longer calls a customtransformfor input without words, such as""or"---".#9124
793d89eThanks @jem-computer! - Support structured decision instructions, descriptions, and score legends in TypeSafe, Cloudflare, and OpenRouter.Decision.rateaccepts labeled descriptions;Rate.criteriaentries are now{ label, description }objects instead of strings.#9173
ec9332bThanks @effect-bot! - Remove interrupted sleeps fromTestClockand insert new sleeps in order instead of re-sorting the queue.#9172
f2b3d8aThanks @effect-bot! - FixTestClock.adjustandTestClock.setTimeskipping sleeps that a woken fiber registers after more than one scheduler hop, such as afterEffect.yieldNowor forking and joining a child.#8166
cb2cf5fThanks @KhraksMamtsov! -Effect.Transactionnow stores attempt metadata, analogous toSchedule.CurrentMetadata. Yield it inside a transaction body to readattempt,retryReason, and the same timing fields as a schedule (start,now,elapsed,elapsedSincePrevious).#9092
b8c201dThanks @effect-bot! - Add adetachedoption for discarded child workflows. Detached children neither wake their parent on completion nor get interrupted with it.#9091
118c9c4Thanks @effect-bot! - Keep workflows suspended byWorkflow.SuspendOnFailurefrom retrying failed activities until explicitly resumed. Interrupting a failure-suspended workflow now completes it as interrupted without re-running the failed activity.v4.0.4Compare Source
Patch Changes
#9030
7547a99Thanks @effect-bot! - Bound sparse array indices inSchemaGetter.makeTreeRecord, used bySchema.fromURLSearchParamsandSchema.fromFormData. An indexed container with more than 20 holes is now returned as an object keyed by its index strings instead of a sparse array, and appending after the maximum array index no longer throws.#9083
711719dThanks @effect-bot! - Bound import-time stack detection probes to the frames they inspect, restoring the caller's stack trace limit afterward.#9041
8f1ea52Thanks @tim-smart! - Stop grouped RequestResolvers from retaining batch keys for the lifetime of the resolver. Equal keys are now matched by the pending batch map, so a key is dropped as soon as its batch stops pending, including after interruption.#9010
c93485eThanks @effect-bot! - Support an explicit clientservernamefor TLS socket upgrades without changing hostname behavior when omitted.#8990
37e088fThanks @bastiankistner! - Use decoded response aliases in generated HTTP clients. Render bare numbers with a standard leading finite check asSchema.Finite, preserving annotations and other checks.#8998
9314666Thanks @gchen0002! - OptimizeContext.pickfor zero or one service.#9048
a0a26b7Thanks @jayhemnani9910! - Fix zonedDateTime.addandDateTime.subtractto apply hours, minutes, seconds and milliseconds as elapsed time across DST transitions.#9008
cc843eaThanks @effect-bot! - AddtoolCallValidation: "deferred"for callers usingdisableToolCallResolution: true. Model-generated tool calls return withunknownparameters, including invalid parameters and undeclared tool names, even without a toolkit. Supported by the Anthropic, OpenAI, and OpenAI-compatible providers. Strict validation remains the default; provider-executed calls remain validated.#8979
ab90be9Thanks @tim-smart! - Add experimentaleffect/graphqlwith typed operations, middleware, HTTP and subscription transports, partial results, serializable errors and cursor pagination.#9052
a59b971Thanks @Tarekkharsa! - FixHttpClient.withRateLimiterreading aRetry-AfterHTTP date as a number of seconds.#9031
fccf660Thanks @effect-bot! - AddMcpServer.layerHttpRequestScopedfor serverless hosts such as Cloudflare Workers. Each POST is served by an MCP server owned by that request, so no fiber or timer outlives the request. The new layer accepts only sessionless protocol adapters such asv2026_07_28, with no subscription or session termination options.McpServer.layerHttpretains its long-lived server behavior.#9081
1bfd8fdThanks @hsyntax! - Tighten colliding bounds in place when exporting JSON Schema, instead of moving them intoallOf. This applies to numeric, length, item-count and property-count bounds, and an inclusive or exclusive bound implied by the other on the same side is dropped. For example,Schema.Naturalnow exportsminimum: 0, andSchema.Int.check(Schema.isGreaterThan(0))exportsexclusiveMinimum: 0without the safe-integerminimum.#9013
78e4c43Thanks @jayhemnani9910! - FixMultipart.toPersistedfailing for uploads named.or..and for long multi-byte file names.#8991
fde67a1Thanks @fubhy! - AddNetAddress.loopbackAddresses.#8992
118deefThanks @fubhy! - AddHost.toFullyQualified,Host.toRelative, andHost.parseHostsFile.#9046
cea74c9Thanks @effect-bot! - Persist outgoing cluster messages while the locally assigned shard is waiting for its lock.#9056
b7c1ac6Thanks @tim-smart! -Prompt.fromResponsePartsnow keeps streamed text and reasoning in stream order, and keeps partial text from unended text blocks.#8997
f837966Thanks @effect-bot! - Release the durable waits of losingDurableDeferred.raceAllbranches once the race settles, so a late completion such as a losingDurableClock.sleepno longer preempts and replays the continuing workflow#9053
09738f4Thanks @Tarekkharsa! - HonorRetry-AfterinHttpClient.retryTransient.#9019
22e7129Thanks @effect-bot! - Allow configuring Scalar's preferred authentication security scheme through HttpApiScalar without a TypeScript cast.#9069
fdcb47eThanks @effect-bot! - Fix cluster Sharding startup accessing storage-loop state before initialization, preventing a scheduler-dependent ReferenceError and delayed initial storage reads.#9049
fc349a1Thanks @jayhemnani9910! - FixSink.takeUntilandSink.takeUntilEffectdropping the element after a match. They now stop at the match and return the remaining input as leftovers.#8979
ab90be9Thanks @tim-smart! - AdddispatchEmptyNamedEventstoSsedecode options. It also dispatches an event that sets anevent:name but has nodata:line, which protocols such as graphql-sse use forcomplete.#9065
892d14dThanks @Abdullah1738! - Fix quadratic parsing time inSse.makeParserandSse.decodefor long lines split across many chunks.#9066
077c557Thanks @effect-bot! - Complete HTTP server spans synchronously before the request fiber exits, preventing completed spans from being lost during immediate runtime shutdown.#9029
4a999a3Thanks @effect-bot! - Clean up unused Anthropic bindings and make documentation-only imports type-only, preserving server-tool inputs and documentation links.#9062
797696aThanks @adam-r-kowalski! - Merge outer headers and cookies into a copy of a rawResponseinHttpServerResponse.toWeb, leaving the original headers unchanged. This supports immutable headers and prevents cookies from accumulating across requests that reuse a response. Responses with nothing to merge are returned unchanged.#9007
cf5179bThanks @effect-bot! - Wake a suspendedWorkflowEngine.executecaller as soon as its workflow has a final result, instead of waiting for the nextsuspendedRetrySchedulestep. A replay that suspends again does not spend a step of the schedule. WithClusterWorkflowEngine, only callers on the runner that owns the execution are woken early; other callers keep relying onsuspendedRetrySchedule.#9037
e1c6053Thanks @effect-bot! -HttpEffect.toWebHandlernow interrupts a streamed response body when the request is aborted after its headers were sent, even if the body is no longer being read, which releases the request scope.v4.0.3Compare Source
Patch Changes
#8977
b4e5af8Thanks @kitlangton! - Prevent crashes and premature interruption whenEffect.cached,Effect.cachedWithTTL, andEffect.cachedInvalidateWithTTLare synchronously re-entered.#8982
b8d6e7aThanks @Yi-111-a! - ExportCliOutput.displayWidthto measure terminal-cell widths using the same logic as built-in CLI help and tables.#8933
89d5c88Thanks @tim-smart! - RespectNO_COLORin CLI prompts and the command wizard, suppressing color and style escapes while preserving cursor and redraw controls.#8941
66257d2Thanks @Tanner-Scadden! - Hand cluster shards off one at a time whenShardingshuts down, after their entities and singletons have stopped, so live runners can take them over sooner. The handoff is best effort: its wait is bounded, and if it times out,releaseAllattempts to release the remaining locks. A runner that is shutting down no longer acquires new shards, and releasing a shard no longer waits forever on an entity whose id is also active on another shard.#8940
cd2ab19Thanks @Tanner-Scadden! - Fix cluster shard handoffs. Interrupts and stream acknowledgements now reach requests still draining on the previous owner, andRpcServeraccepts acknowledgements for active streams after a client's EOF. Volatile requests sent during a handoff wait, for at mostshardLockExpiration, until the shard can be served instead of repeatedly failing withEntityNotAssignedToRunner.#8897
ca068ceThanks @effect-bot! - Add separate migration and storage layers to cluster SQL storage so applications can use tables migrated by an owner connection.#8895
f686000Thanks @tim-smart! - Serialize SchemaError as a compact object containing its tag and formatted message in JSON logs and Node inspection, without dumping schema AST nodes.#8968
e052f1bThanks @sledorze! - Avoid a redundant map copy whenContext.addrebases an overlay chain.#8487
c755b69Thanks @fubhy! - AddTestCrypto.layer, which provides deterministic random operations derived from a seed while preserving a platform crypto service's digest implementation.#8935
ebe487fThanks @tim-smart! - TurnCrypto.randomUUIDv4andCrypto.randomUUIDv7into functions accepting an optional{ format: "hex" | "bytes" }option. Call them with()for the default lowercase, hyphenated UUID string, or with{ format: "bytes" }for a 16-byteUint8Array.#8926
63bfad8Thanks @effect-bot! - FixDurableDeferred.raceAllandDurableDeferred.intoso a workflow branch continues after its result is recorded instead of stalling until a concurrently parked sibling is woken. The effect passed toDurableDeferred.intonow counts as in-flight work, so a parked sibling no longer suspends the run while it runs.#8921
8598157Thanks @devangpratap! - FixDuration.fromInputUnsafethrowing on infinite nanosecond totals. It now returns an infinite duration, andDuration.fromInputreturnsSomeinstead ofNone.#8972
76a03f7Thanks @devangpratap! - FixDuration.timesthrowing when a nanosecond-backed duration is multiplied by a fractional or non-finite number. Fractional results round to the nearest nanosecond.#8900
182e26dThanks @effect-bot! - Add anoFollowoption toFileSystem.opento reject symlinks at the final path component. Supported on Node and Bun on POSIX; Windows and Deno returnBadArgument. Add{ position }toFile.readandFile.readAllocfor concurrent reads that leave the cursor unchanged.#8885
a46592aThanks @effect-bot! - Preserve duplicate slashes in query values when FindMyWay normalizes request paths.#8986
1d3419eThanks @jayhemnani9910! - Fix histogram exporters to retain all finite boundaries and overflow observations in OTLP, and emit a single+Infbucket in Prometheus.#8932
e00eaaeThanks @tim-smart! - Defer terminal input acquisition until a prompt needs user input, so constant fallback prompts leave piped stdin untouched.#8888
133ceb2Thanks @RhysSullivan! - Return empty 200 text/event-stream responses for MCP HTTP request POSTs when cancellation withholds every reply. Return 500 for other request POSTs that end without a response.#8924
a494a64Thanks @effect-bot! - AddMcpServer.layerHttp({ allowSubscriptions: false })to disablev2026_07_28subscriptions while keeping request-scoped progress and log notifications.#8890
d6082a2Thanks @tim-smart! - Send MCP cancellation notifications for interrupted server-to-client requests instead of internal RPC control messages.#8925
ee3a350Thanks @effect-bot! - Prevent MCP subscriptions from receiving deferred list-change notifications emitted before they subscribed, while preserving coalesced runtime changes.#8955
7ba976cThanks @effect-bot! - Allow interrupted activities to run again when the in-memory workflow engine replays a preempted execution.#8973
9dbd07eThanks @fubhy! - Accept address inputs inDns.reverseand name server inputs in the platformDnsservices, and addDns.nameServerFromInput.#8953
d4f7dc3Thanks @fubhy! - Add TLSA records toeffect/net/Dns, with aSchema.DnsTlsaRecordschema whose JSON codec encodes the certificate association data as hex. The Node.jsDnsservice queries them withresolveTlsa(Node.js 22.15 or 23.9 and later); Bun, Deno, and older Node.js versions fail TLSA queries withUnsupported.#8880
a9b5148Thanks @fubhy! - Add experimentalHost,Dns, andAddressResolvermodules toeffect/netfor host parsing, DNS queries, and endpoint resolution, with Node, Bun, and Deno services. DNS operations accept and normalize domain-name strings; endpoint resolution also acceptshost:portstrings. Add scoped IPv6 literals and host and DNS record schemas, including JSON codecs for records.Provide the services explicitly; they are not included in the platform
*Serviceslayers. UseNodeAddressResolver.layer.pipe(Layer.provideMerge(NodeDns.layer))to provide both Node services.#8970
e7d84e4Thanks @fubhy! - AddfromInputconstructors to theeffect/netdata types.#8899
0e2b988Thanks @tim-smart! - Answer orphaned cluster workflow activity requests with Suspended instead of waiting indefinitely for replay registration.#8987
84f48dfThanks @jayhemnani9910! - Omitminandmaxfrom subsequent delta histogram exports inOtlpMetrics: cumulative extrema do not describe the reported interval.#8907
48ed32fThanks @tim-smart! - Add adelayoption toPersistedQueue.offerthat postpones an element's first delivery in the memory, Redis and SQL stores.#8904
59e58a6Thanks @effect-bot! - Add PowerShell CLI completions with--completions powershell(aliaspwsh).#8409
b9e7821Thanks @tim-smart! - AddDatagramSocketfor UDP on Node, Bun, and Deno, andNetAddress.inetAddressFromNativeUnsafefor runtime-reported addresses.#8943
aa811e4Thanks @Tanner-Scadden! - Report RPC response encoding failures to ErrorReporter and include the RPC tag in client defects.#8958
bfc5742Thanks @tim-smart! - End the RPC server span with the encoding defect when a response fails to encode, instead of recording it as a client interruption.#8976
f9f7a5aThanks @juliusmarminge! - AddonPingTimeouttoRpcClient.makeProtocolSocketandRpcClient.layerProtocolSocketto distinguish ping timeouts from other socket failures. It runs only when a ping timeout drops an open connection, beforeonDisconnectand in-flight call failures; defects are logged and ignored.#8956
73fa287Thanks @schickling-assistant! - ExportSchema.isIntandSchema.Intas exact JSON Schema integers bounded byNumber.MIN_SAFE_INTEGERandNumber.MAX_SAFE_INTEGER. Composed bounds retain the tighter constraint, and exact integer branches preserveoneOf.#8937
7ff5048Thanks @effect-bot! - Skip startup stack probing whenError.stackTraceLimitis zero, avoiding unnecessary stack formatting during module loading.#8927
7803e51Thanks @effect-bot! - Hold the shared connection for the whole statement or stream on single-connection SQL clients, so another fiber's transaction can no longer roll back an acknowledged write or expose uncommitted rows to a plain read.#8938
93410daThanks @effect-bot! - AddStdio.stderrIsTerminalwith an overridable false default and runtime detection for Node.js, Bun, and Deno.#8963
aef1d1fThanks @tim-smart! - AddClusterSchema.InterruptOnTerminationto interrupt opted-in RPCs as soon as entity termination starts. Persisted requests resume under the next owner without saving an interrupt reply, and server-sideUninterruptibletakes precedence.#8917
d6d515bThanks @Brendonovich! - MakeHttpClient.withRateLimiterwait for the reported reset once a response's remaining budget is exhausted, including when a limit header is also present.#8892
ea52c24Thanks @effect-bot! - Propagate SQL transaction COMMIT errors as typed SqlError failures when cleanup succeeds. Preserve both COMMIT and cleanup errors as defects when cleanup fails, so typed recovery cannot hide an unsafe connection state.#8913
7e44402Thanks @grzegorz-naileditgames! - Reject B3 single-header and multi-header trace contexts with invalid trace or span identifiers.#8978
0b17b9eThanks @tim-smart! - Allow WebSocket clients on Node and Bun to send handshake headers alongside subprotocols through socket constructors, channels, and layers. Preserve browser-compatible constructor calls when headers are not supplied.#8891
9753be9Thanks @tim-smart! - Deliver terminal replies for persistedClusterSchema.WithTransactionrequests only after commit or clean rollback. On transaction failure, recover a committed reply or retry the request.#8886
977096bThanks @effect-bot! - Fix lost failure replies for persisted cluster RPCs usingClusterSchema.WithTransaction. Save typed failures and non-fatal defects after rollback so retries receive the stored reply. Successful replies still commit with the handler's writes.#8882
cf58cb0Thanks @devangpratap! - Fix generated Zsh completions for flag descriptions containing].v4.0.2Compare Source
Patch Changes
#8870
26c1089Thanks @Makisuo! - Update AI tracing to use current OpenTelemetry GenAI conventions:gen_ai.systemwithgen_ai.provider.name. Thesystemoption,BaseAttributesandWellKnownSystemare removed in favor ofprovider: { name },ProviderAttributesandWellKnownProviderName.gen_ai.token.type, which is not a span attribute in the current conventions, along with thetokenoption,TokenAttributesand theAllAttributestypes.LanguageModelspans are client spans and recordgen_ai.output.type(textorjson) for every provider. The OpenAIresponseFormattelemetry option andWellKnownResponseFormatare removed.gen_ai.openai.*toopenai.*.concurrency,toolChoiceandobjectNamespan attributes toeffect.ai.concurrency,effect.ai.tool_choiceandeffect.ai.object_name. Tool choices record the resolved value, defaulting to"auto"; object choices are JSON-encoded.gen_ai.usage.input_tokensand report cache reads and writes asgen_ai.usage.cache_read.input_tokensandgen_ai.usage.cache_write.input_tokens. The duplicate AnthropiccacheCreationInputTokensandcacheReadInputTokensresponse options are removed.#8849
6c59de7Thanks @gcanti! - Fix Arbitrary property checks, schema generation, and shrinking swallowing defects or interruption when they accompany typed failures. Propagate the defect and interruption reasons with their annotations, removing typed failures from mixed causes to preserve the existing error types.#8760
467d3acThanks @fubhy! - Include runtime layer errors in the result type ofAtomRuntime.subscriptionRef.#8820
375c1b0Thanks @jarrednorrisdev! - Preserve the URL hash and omit empty query strings when writingAtom.searchParam.#8771
45a70ceThanks @jarrednorrisdev! - PreventAtom.windowFocusSignalandAtom.refreshOnWindowFocusfrom throwing whenwindowis undefined.#8837
fb757e3Thanks @tim-smart! - Fix a Cache.get interruption race that could leave an abandoned lookup running and its key stuck in the cache.#8778
716e358Thanks @fubhy! - Fix a stack overflow when many consecutive failure handlers throw synchronously. The thrown defect is now captured as the fiber's exit and pending finalizers still run.#8838
af114e6Thanks @tim-smart! - DeriveChannel.decodeTextoptions from theTextDecoderconstructor so declarations work with Node-only types without requiring the DOM library.#8758
d0b3862Thanks @fubhy! - FixChannel.mapInputdata-last overload to preserve channel requirements and add the mapping function's requirements.#8757
7064da9Thanks @fubhy! - FixChannel.runIntoPubSubto include the channel's error type in the returnedEffect.#8810
eee0eebThanks @fubhy! - Fix compiled Struct parsers sharing mutable output when the same suspended Effect is executed more than once.#8808 [
b9d6581](https://redirect.github.com/Effect-TS/Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.