@effected/runtimes 0.8.0 → 0.9.0

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/GitHub.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { paginate } from "./internal/http.js";
2
2
  import { Config, Context, Effect, Layer, Option, Redacted, Schema } from "effect";
3
- import { FetchHttpClient, HttpClient } from "effect/unstable/http";
3
+ import { FetchHttpClient, HttpClient } from "effect/http";
4
4
 
5
5
  //#region src/GitHub.ts
6
6
  /**
package/README.md CHANGED
@@ -25,7 +25,7 @@ Every answer carries an honest `source`. A resolver that fetches live data, sile
25
25
 
26
26
  The freshness policy is a layer, not a flag, and the layers are lazy: building one performs no IO, the first `resolve` fetches the feed, and every later resolve shares that population. The types follow: `layerOffline` requires nothing, because a snapshot read needs no transport. Under `layerFresh`, `resolve` fails with `FreshnessError`, because you chose it to say a snapshot is not an acceptable substitute — and because the fetch happens at resolve time, that failure arrives where you can catch it, retry it or fall back, not buried in layer construction.
27
27
 
28
- There is no HTTP client in the dependency tree either. The v3 library carried Octokit and `@octokit/auth-app` to fund exactly two REST GETs; this one goes through `HttpClient` from `effect/unstable/http` and lets you supply the transport. `@effected/semver` is the only runtime dependency, and it is first-party.
28
+ There is no HTTP client in the dependency tree either. The v3 library carried Octokit and `@octokit/auth-app` to fund exactly two REST GETs; this one goes through `HttpClient` from `effect/http` and lets you supply the transport. `@effected/semver` is the only runtime dependency, and it is first-party.
29
29
 
30
30
  ## Install
31
31
 
@@ -43,7 +43,7 @@ All `@effected/*` packages are ESM-only: the exports maps publish only `import`
43
43
 
44
44
  `effect` v4 is the only peer dependency. `@effected/semver` is a regular dependency and comes along automatically; nothing else reaches your tree.
45
45
 
46
- Live resolution needs an `HttpClient`, provided at the edge with `FetchHttpClient.layer` from `effect/unstable/http` — that layer has no requirements of its own, so it works anywhere `fetch` does. If you only ever use `layerOffline`, you need no HTTP client at all.
46
+ Live resolution needs an `HttpClient`, provided at the edge with `FetchHttpClient.layer` from `effect/http` — that layer has no requirements of its own, so it works anywhere `fetch` does. If you only ever use `layerOffline`, you need no HTTP client at all.
47
47
 
48
48
  The command-line interface ships as a separate package, so this package's consumers never install `@effect/platform-node`.
49
49
 
@@ -52,7 +52,7 @@ The command-line interface ships as a separate package, so this package's consum
52
52
  ```ts
53
53
  import { NodeResolver } from "@effected/runtimes";
54
54
  import { Effect } from "effect";
55
- import { FetchHttpClient } from "effect/unstable/http";
55
+ import { FetchHttpClient } from "effect/http";
56
56
 
57
57
  const program = Effect.gen(function* () {
58
58
  const node = yield* NodeResolver;
@@ -97,7 +97,7 @@ The transport differs by runtime, and that is not an accident:
97
97
  ```ts
98
98
  import { BunResolver, DenoResolver, GitHubClient, NodeResolver } from "@effected/runtimes";
99
99
  import { Layer } from "effect";
100
- import { FetchHttpClient } from "effect/unstable/http";
100
+ import { FetchHttpClient } from "effect/http";
101
101
 
102
102
  export const ResolversLive = Layer.mergeAll(
103
103
  NodeResolver.layer.pipe(Layer.provide(FetchHttpClient.layer)),
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { InvalidRangeError, SemVer } from "@effected/semver";
2
2
  import { Context, DateTime, Effect, Layer, Option, Redacted, Schema } from "effect";
3
- import { HttpClient } from "effect/unstable/http";
3
+ import { HttpClient } from "effect/http";
4
4
  //#region src/GitHub.d.ts
5
5
  declare const AuthenticationError_base: Schema.Class<AuthenticationError, Schema.TaggedStruct<"AuthenticationError", {
6
6
  /** How the request was authenticated when it was rejected. */
@@ -365,6 +365,11 @@ const nodeDefaults = [
365
365
  npm: "10.9.0",
366
366
  date: "2024-10-16"
367
367
  },
368
+ {
369
+ version: "22.23.3",
370
+ npm: "10.9.9",
371
+ date: "2026-09-23"
372
+ },
368
373
  {
369
374
  version: "22.23.2",
370
375
  npm: "10.9.8",
package/internal/http.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Duration, Effect, Schedule } from "effect";
2
- import { HttpClient } from "effect/unstable/http";
3
- import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
2
+ import { HttpClient } from "effect/http";
3
+ import * as HttpClientResponse from "effect/http/HttpClientResponse";
4
4
 
5
5
  //#region src/internal/http.ts
6
6
  const parseHeaderInt = (raw) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effected/runtimes",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "private": false,
5
5
  "description": "Resolve semver-compatible Node.js, Bun and Deno runtime versions with offline fallback.",
6
6
  "keywords": [
@@ -40,10 +40,10 @@
40
40
  "./package.json": "./package.json"
41
41
  },
42
42
  "dependencies": {
43
- "@effected/semver": "^0.9.0"
43
+ "@effected/semver": "^0.10.0"
44
44
  },
45
45
  "peerDependencies": {
46
- "effect": "4.0.0-rc.117"
46
+ "effect": "4.0.0-rc.118"
47
47
  },
48
48
  "engines": {
49
49
  "node": ">=24.11.0"