runtime-resolver 0.3.16 → 0.3.18

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.
@@ -25,7 +25,7 @@ const rootCommand = Command.make("runtime-resolver", {
25
25
  }, resolveHandler);
26
26
  const cli = Command.run(rootCommand, {
27
27
  name: "runtime-resolver",
28
- version: "0.3.16"
28
+ version: "0.3.18"
29
29
  });
30
30
  const main = Effect.suspend(() => cli(process.argv)).pipe(Effect.provide(NodeContext.layer), Effect.catchAllCause((cause) => {
31
31
  if (Cause.defects(cause).length > 0) return Console.error(Cause.pretty(cause)).pipe(Effect.andThen(Effect.failCause(cause)));
@@ -1,5 +1,10 @@
1
1
  //#region src/data/node-defaults.ts
2
2
  const nodeDefaultInputs = [
3
+ {
4
+ version: "26.4.0",
5
+ npm: "11.17.0",
6
+ date: "2026-06-24"
7
+ },
3
8
  {
4
9
  version: "26.3.1",
5
10
  npm: "11.16.0",
@@ -95,6 +100,11 @@ const nodeDefaultInputs = [
95
100
  npm: "11.6.2",
96
101
  date: "2025-10-15"
97
102
  },
103
+ {
104
+ version: "24.18.0",
105
+ npm: "11.16.0",
106
+ date: "2026-06-23"
107
+ },
98
108
  {
99
109
  version: "24.17.0",
100
110
  npm: "11.13.0",
@@ -285,6 +295,11 @@ const nodeDefaultInputs = [
285
295
  npm: "10.9.0",
286
296
  date: "2024-10-16"
287
297
  },
298
+ {
299
+ version: "22.23.1",
300
+ npm: "10.9.8",
301
+ date: "2026-06-22"
302
+ },
288
303
  {
289
304
  version: "22.23.0",
290
305
  npm: "10.9.8",
@@ -9,11 +9,9 @@ import { Data } from "effect";
9
9
  * API indicates how long to wait before the quota resets, that duration (in
10
10
  * seconds) is available via `retryAfter`.
11
11
  *
12
- * Use {@link retryOnRateLimit} to automatically retry an effect with
12
+ * Use `retryOnRateLimit` to automatically retry an effect with
13
13
  * exponential backoff whenever this error is encountered.
14
14
  *
15
- * @see {@link retryOnRateLimit}
16
- *
17
15
  * @example
18
16
  * ```typescript
19
17
  * import { Effect } from "effect";
package/index.d.ts CHANGED
@@ -23,14 +23,14 @@ declare const Runtime: Schema.Literal<["node", "bun", "deno"]>;
23
23
  */
24
24
  type Runtime = typeof Runtime.Type;
25
25
  /**
26
- * Indicates whether a {@link ResolvedVersions} result was served from
26
+ * Indicates whether a `ResolvedVersions` result was served from
27
27
  * a live API call or a local cache.
28
28
  *
29
29
  * @public
30
30
  */
31
31
  declare const Source: Schema.Literal<["api", "cache"]>;
32
32
  /**
33
- * Indicates whether a {@link ResolvedVersions} result was served from
33
+ * Indicates whether a `ResolvedVersions` result was served from
34
34
  * a live API call or a local cache.
35
35
  *
36
36
  * @public
@@ -165,15 +165,15 @@ declare class VersionNotFoundError extends VersionNotFoundError_base<{
165
165
  //#endregion
166
166
  //#region src/services/BunResolver.d.ts
167
167
  /**
168
- * Options accepted by {@link BunResolver.resolve}.
168
+ * Options accepted by `BunResolver.resolve`.
169
169
  *
170
170
  * All fields are optional; omitting them causes the resolver to fall back to
171
171
  * its built-in defaults (latest stable release, `"latest"` increment
172
172
  * granularity).
173
173
  *
174
174
  * @see {@link BunResolver}
175
- * @see {@link Increments}
176
- * @see {@link ResolvedVersions}
175
+ * @see {@link (Increments:type)}
176
+ * @see {@link (ResolvedVersions:type)}
177
177
  *
178
178
  * @public
179
179
  */
@@ -195,7 +195,7 @@ interface BunResolverOptions {
195
195
  readonly defaultVersion?: string;
196
196
  /**
197
197
  * Controls the granularity of the version list included in
198
- * {@link ResolvedVersions.versions}.
198
+ * the `versions` field of {@link (ResolvedVersions:type)}.
199
199
  *
200
200
  * - `"latest"` — only the single highest matching version.
201
201
  * - `"minor"` — the latest patch for every minor line.
@@ -203,12 +203,12 @@ interface BunResolverOptions {
203
203
  *
204
204
  * Defaults to `"latest"` when omitted.
205
205
  *
206
- * @see {@link Increments}
206
+ * @see {@link (Increments:type)}
207
207
  */
208
208
  readonly increments?: Increments;
209
209
  }
210
210
  /**
211
- * Union of all typed errors that {@link BunResolver.resolve} can fail with.
211
+ * Union of all typed errors that `BunResolver.resolve` can fail with.
212
212
  *
213
213
  * @see {@link VersionNotFoundError}
214
214
  *
@@ -218,7 +218,7 @@ type BunResolverError = VersionNotFoundError;
218
218
  declare const BunResolver_base: Context.TagClass<BunResolver, "runtime-resolver/BunResolver", {
219
219
  /**
220
220
  * Resolves Bun versions according to `options` and returns a
221
- * {@link ResolvedVersions} object containing the matching version list,
221
+ * {@link (ResolvedVersions:type)} object containing the matching version list,
222
222
  * the latest version string, and the data source indicator.
223
223
  *
224
224
  * Fails with {@link BunResolverError} when no version can be resolved and
@@ -255,7 +255,7 @@ declare const BunResolver_base: Context.TagClass<BunResolver, "runtime-resolver/
255
255
  * @see {@link BunResolverLive}
256
256
  * @see {@link resolveBun}
257
257
  * @see {@link BunResolverOptions}
258
- * @see {@link ResolvedVersions}
258
+ * @see {@link (ResolvedVersions:type)}
259
259
  *
260
260
  * @public
261
261
  */
@@ -263,15 +263,15 @@ declare class BunResolver extends BunResolver_base {}
263
263
  //#endregion
264
264
  //#region src/services/DenoResolver.d.ts
265
265
  /**
266
- * Options accepted by {@link DenoResolver.resolve}.
266
+ * Options accepted by `DenoResolver.resolve`.
267
267
  *
268
268
  * All fields are optional; omitting them causes the resolver to fall back to
269
269
  * its built-in defaults (latest stable release, `"latest"` increment
270
270
  * granularity).
271
271
  *
272
272
  * @see {@link DenoResolver}
273
- * @see {@link Increments}
274
- * @see {@link ResolvedVersions}
273
+ * @see {@link (Increments:type)}
274
+ * @see {@link (ResolvedVersions:type)}
275
275
  *
276
276
  * @public
277
277
  */
@@ -293,7 +293,7 @@ interface DenoResolverOptions {
293
293
  readonly defaultVersion?: string;
294
294
  /**
295
295
  * Controls the granularity of the version list included in
296
- * {@link ResolvedVersions.versions}.
296
+ * the `versions` field of {@link (ResolvedVersions:type)}.
297
297
  *
298
298
  * - `"latest"` — only the single highest matching version.
299
299
  * - `"minor"` — the latest patch for every minor line.
@@ -301,12 +301,12 @@ interface DenoResolverOptions {
301
301
  *
302
302
  * Defaults to `"latest"` when omitted.
303
303
  *
304
- * @see {@link Increments}
304
+ * @see {@link (Increments:type)}
305
305
  */
306
306
  readonly increments?: Increments;
307
307
  }
308
308
  /**
309
- * Union of all typed errors that {@link DenoResolver.resolve} can fail with.
309
+ * Union of all typed errors that `DenoResolver.resolve` can fail with.
310
310
  *
311
311
  * @see {@link VersionNotFoundError}
312
312
  *
@@ -316,7 +316,7 @@ type DenoResolverError = VersionNotFoundError;
316
316
  declare const DenoResolver_base: Context.TagClass<DenoResolver, "runtime-resolver/DenoResolver", {
317
317
  /**
318
318
  * Resolves Deno versions according to `options` and returns a
319
- * {@link ResolvedVersions} object containing the matching version list,
319
+ * {@link (ResolvedVersions:type)} object containing the matching version list,
320
320
  * the latest version string, and the data source indicator.
321
321
  *
322
322
  * Fails with {@link DenoResolverError} when no version can be resolved and
@@ -353,7 +353,7 @@ declare const DenoResolver_base: Context.TagClass<DenoResolver, "runtime-resolve
353
353
  * @see {@link DenoResolverLive}
354
354
  * @see {@link resolveDeno}
355
355
  * @see {@link DenoResolverOptions}
356
- * @see {@link ResolvedVersions}
356
+ * @see {@link (ResolvedVersions:type)}
357
357
  *
358
358
  * @public
359
359
  */
@@ -361,16 +361,16 @@ declare class DenoResolver extends DenoResolver_base {}
361
361
  //#endregion
362
362
  //#region src/services/NodeResolver.d.ts
363
363
  /**
364
- * Options accepted by {@link NodeResolver.resolve}.
364
+ * Options accepted by `NodeResolver.resolve`.
365
365
  *
366
366
  * All fields are optional; omitting them causes the resolver to fall back to
367
367
  * its built-in defaults (all lifecycle phases, latest stable release,
368
368
  * `"latest"` increment granularity, current wall-clock date).
369
369
  *
370
370
  * @see {@link NodeResolver}
371
- * @see {@link NodePhase}
372
- * @see {@link Increments}
373
- * @see {@link ResolvedVersions}
371
+ * @see {@link (NodePhase:type)}
372
+ * @see {@link (Increments:type)}
373
+ * @see {@link (ResolvedVersions:type)}
374
374
  *
375
375
  * @public
376
376
  */
@@ -397,12 +397,12 @@ interface NodeResolverOptions {
397
397
  *
398
398
  * When omitted all phases are eligible.
399
399
  *
400
- * @see {@link NodePhase}
400
+ * @see {@link (NodePhase:type)}
401
401
  */
402
402
  readonly phases?: ReadonlyArray<NodePhase>;
403
403
  /**
404
404
  * Controls the granularity of the version list included in
405
- * {@link ResolvedVersions.versions}.
405
+ * the `versions` field of {@link (ResolvedVersions:type)}.
406
406
  *
407
407
  * - `"latest"` — only the single highest matching version.
408
408
  * - `"minor"` — the latest patch for every minor line.
@@ -410,7 +410,7 @@ interface NodeResolverOptions {
410
410
  *
411
411
  * Defaults to `"latest"` when omitted.
412
412
  *
413
- * @see {@link Increments}
413
+ * @see {@link (Increments:type)}
414
414
  */
415
415
  readonly increments?: Increments;
416
416
  /**
@@ -423,7 +423,7 @@ interface NodeResolverOptions {
423
423
  readonly date?: Date;
424
424
  }
425
425
  /**
426
- * Union of all typed errors that {@link NodeResolver.resolve} can fail with.
426
+ * Union of all typed errors that `NodeResolver.resolve` can fail with.
427
427
  *
428
428
  * @see {@link VersionNotFoundError}
429
429
  *
@@ -433,7 +433,7 @@ type NodeResolverError = VersionNotFoundError;
433
433
  declare const NodeResolver_base: Context.TagClass<NodeResolver, "runtime-resolver/NodeResolver", {
434
434
  /**
435
435
  * Resolves Node.js versions according to `options` and returns a
436
- * {@link ResolvedVersions} object containing the matching version list,
436
+ * {@link (ResolvedVersions:type)} object containing the matching version list,
437
437
  * the latest version string, optional LTS version string, and the data
438
438
  * source indicator.
439
439
  *
@@ -451,7 +451,7 @@ declare const NodeResolver_base: Context.TagClass<NodeResolver, "runtime-resolve
451
451
  * release index.
452
452
  *
453
453
  * Unlike {@link BunResolver} and {@link DenoResolver}, this service is
454
- * lifecycle-aware: results can be filtered by {@link NodePhase} and evaluated
454
+ * lifecycle-aware: results can be filtered by {@link (NodePhase:type)} and evaluated
455
455
  * against a specific reference date.
456
456
  *
457
457
  * For a one-shot Promise-based API see {@link resolveNode}.
@@ -479,7 +479,7 @@ declare const NodeResolver_base: Context.TagClass<NodeResolver, "runtime-resolve
479
479
  * @see {@link NodeResolverLive}
480
480
  * @see {@link resolveNode}
481
481
  * @see {@link NodeResolverOptions}
482
- * @see {@link ResolvedVersions}
482
+ * @see {@link (ResolvedVersions:type)}
483
483
  *
484
484
  * @public
485
485
  */
@@ -716,11 +716,9 @@ declare const RateLimitError_base: new <A extends Record<string, any> = {}>(args
716
716
  * API indicates how long to wait before the quota resets, that duration (in
717
717
  * seconds) is available via `retryAfter`.
718
718
  *
719
- * Use {@link retryOnRateLimit} to automatically retry an effect with
719
+ * Use `retryOnRateLimit` to automatically retry an effect with
720
720
  * exponential backoff whenever this error is encountered.
721
721
  *
722
- * @see {@link retryOnRateLimit}
723
- *
724
722
  * @example
725
723
  * ```typescript
726
724
  * import { Effect } from "effect";
@@ -801,8 +799,8 @@ declare const BunRelease_base: new <A extends Record<string, any> = {}>(args: im
801
799
  readonly _tag: "BunRelease";
802
800
  };
803
801
  /**
804
- * A Bun release entry with a parsed {@link SemVer} version and an
805
- * Effect {@link DateTime.DateTime} publication date.
802
+ * A Bun release entry with a parsed `SemVer` version and an
803
+ * Effect `DateTime.DateTime` publication date.
806
804
  *
807
805
  * `BunRelease` extends `Data.TaggedClass` so instances support structural
808
806
  * equality comparison and can be used safely inside Effect data structures.
@@ -812,7 +810,7 @@ declare const BunRelease_base: new <A extends Record<string, any> = {}>(args: im
812
810
  *
813
811
  * @see {@link BunReleaseCache}
814
812
  * @see {@link BunResolver}
815
- * @see {@link RuntimeReleaseInput}
813
+ * @see `RuntimeReleaseInput`
816
814
  *
817
815
  * @example
818
816
  * ```typescript
@@ -844,7 +842,7 @@ declare class BunRelease extends BunRelease_base<{
844
842
  * publication date with `DateTime.unsafeMake`. Falls back to the current
845
843
  * timestamp when `input.date` is an empty string (rare in production data).
846
844
  *
847
- * @param input - A {@link RuntimeReleaseInput} object with raw string fields.
845
+ * @param input - A `RuntimeReleaseInput` object with raw string fields.
848
846
  * @returns An `Effect` that succeeds with a `BunRelease` or fails with an
849
847
  * `InvalidVersionError` when the version string cannot be parsed.
850
848
  */
@@ -897,8 +895,8 @@ interface RuntimeCache<R extends RuntimeRelease> {
897
895
  * Finds the single best-matching release for the given semver range string,
898
896
  * preferring the highest satisfying version.
899
897
  *
900
- * Fails with {@link InvalidRangeError} when `range` is not a valid semver
901
- * range expression, or with {@link UnsatisfiedRangeError} when no cached
898
+ * Fails with `InvalidRangeError` when `range` is not a valid semver
899
+ * range expression, or with `UnsatisfiedRangeError` when no cached
902
900
  * release satisfies the range.
903
901
  *
904
902
  * @param range - A semver range string (e.g. `">=1.0.0 <2.0.0"`).
@@ -913,7 +911,7 @@ interface RuntimeCache<R extends RuntimeRelease> {
913
911
  * Returns all cached releases whose version satisfies the given semver
914
912
  * range string.
915
913
  *
916
- * Fails with {@link InvalidRangeError} when `range` is not a valid semver
914
+ * Fails with `InvalidRangeError` when `range` is not a valid semver
917
915
  * range expression.
918
916
  *
919
917
  * @param range - A semver range string (e.g. `"^20.0.0"`).
@@ -923,7 +921,7 @@ interface RuntimeCache<R extends RuntimeRelease> {
923
921
  * Returns the release with the highest version among all entries in the
924
922
  * cache.
925
923
  *
926
- * Fails with {@link EmptyCacheError} when the cache contains no releases.
924
+ * Fails with `EmptyCacheError` when the cache contains no releases.
927
925
  */
928
926
  readonly latest: () => Effect.Effect<R, EmptyCacheError>;
929
927
  /**
@@ -1054,8 +1052,8 @@ declare const DenoRelease_base: new <A extends Record<string, any> = {}>(args: i
1054
1052
  readonly _tag: "DenoRelease";
1055
1053
  };
1056
1054
  /**
1057
- * A Deno release entry with a parsed {@link SemVer} version and an
1058
- * Effect {@link DateTime.DateTime} publication date.
1055
+ * A Deno release entry with a parsed `SemVer` version and an
1056
+ * Effect `DateTime.DateTime` publication date.
1059
1057
  *
1060
1058
  * `DenoRelease` extends `Data.TaggedClass` so instances support structural
1061
1059
  * equality comparison and can be used safely inside Effect data structures.
@@ -1065,7 +1063,7 @@ declare const DenoRelease_base: new <A extends Record<string, any> = {}>(args: i
1065
1063
  *
1066
1064
  * @see {@link DenoReleaseCache}
1067
1065
  * @see {@link DenoResolver}
1068
- * @see {@link RuntimeReleaseInput}
1066
+ * @see `RuntimeReleaseInput`
1069
1067
  *
1070
1068
  * @example
1071
1069
  * ```typescript
@@ -1097,7 +1095,7 @@ declare class DenoRelease extends DenoRelease_base<{
1097
1095
  * publication date with `DateTime.unsafeMake`. Falls back to the current
1098
1096
  * timestamp when `input.date` is an empty string (rare in production data).
1099
1097
  *
1100
- * @param input - A {@link RuntimeReleaseInput} object with raw string fields.
1098
+ * @param input - A `RuntimeReleaseInput` object with raw string fields.
1101
1099
  * @returns An `Effect` that succeeds with a `DenoRelease` or fails with an
1102
1100
  * `InvalidVersionError` when the version string cannot be parsed.
1103
1101
  */
@@ -1314,7 +1312,7 @@ declare class NodeSchedule extends NodeSchedule_base<{
1314
1312
  */
1315
1313
  static fromData(data: NodeScheduleData): NodeSchedule;
1316
1314
  /**
1317
- * Determine the current {@link NodePhase} for a given major version number
1315
+ * Determine the current {@link (NodePhase:type)} for a given major version number
1318
1316
  * at the specified point in time.
1319
1317
  *
1320
1318
  * Returns `null` when the major is not present in the schedule or when
@@ -1423,7 +1421,7 @@ declare class NodeRelease {
1423
1421
  * when `now` is omitted.
1424
1422
  *
1425
1423
  * @param now - Optional reference time; defaults to `new Date()`.
1426
- * @returns An `Effect` that resolves to a {@link NodePhase} string, or
1424
+ * @returns An `Effect` that resolves to a `NodePhase` string, or
1427
1425
  * `null` when the major version is not present in the schedule or has
1428
1426
  * not yet been released.
1429
1427
  */
@@ -1443,7 +1441,7 @@ declare class NodeRelease {
1443
1441
  * Parses `input.version` and `input.npm` via `SemVer.parse` and
1444
1442
  * constructs the publication date with `DateTime.unsafeMake`.
1445
1443
  *
1446
- * @param input - A {@link NodeReleaseInput} object with raw string fields.
1444
+ * @param input - A {@link (NodeReleaseInput:type)} object with raw string fields.
1447
1445
  * @param scheduleRef - A shared `Ref<NodeSchedule>` injected by the cache layer.
1448
1446
  * @returns An `Effect` that succeeds with a `NodeRelease` or fails with an
1449
1447
  * `InvalidVersionError` when either version string cannot be parsed.
@@ -1465,7 +1463,7 @@ declare const NodeReleaseCache_base: Context.TagClass<NodeReleaseCache, "runtime
1465
1463
  */
1466
1464
  readonly updateSchedule: (data: NodeScheduleData) => Effect.Effect<void>;
1467
1465
  /**
1468
- * Populates the cache from raw {@link NodeReleaseInput} records (as
1466
+ * Populates the cache from raw {@link (NodeReleaseInput:type)} records (as
1469
1467
  * returned by the Node.js release index JSON) rather than from already-
1470
1468
  * decoded {@link NodeRelease} objects.
1471
1469
  *
@@ -1474,7 +1472,7 @@ declare const NodeReleaseCache_base: Context.TagClass<NodeReleaseCache, "runtime
1474
1472
  *
1475
1473
  * @param inputs - An array of un-decoded release index entries.
1476
1474
  *
1477
- * @see {@link NodeReleaseInput}
1475
+ * @see {@link (NodeReleaseInput:type)}
1478
1476
  */
1479
1477
  readonly loadFromInputs: (inputs: ReadonlyArray<NodeReleaseInput>) => Effect.Effect<void>;
1480
1478
  /**
@@ -1602,7 +1600,7 @@ declare const NodeVersionFetcher_base: Context.TagClass<NodeVersionFetcher, "run
1602
1600
  * Node.js distribution index.
1603
1601
  *
1604
1602
  * Retrieves both the parsed semver version list and the raw
1605
- * {@link NodeReleaseInput} records needed to populate a
1603
+ * {@link (NodeReleaseInput:type)} records needed to populate a
1606
1604
  * {@link NodeReleaseCache}. The live implementation fetches from
1607
1605
  * `https://nodejs.org/dist/index.json` via a plain HTTP request — no GitHub
1608
1606
  * credentials are required.
@@ -1721,7 +1719,7 @@ declare const BunResolverLive: Layer.Layer<BunResolver, never, BunReleaseCache>;
1721
1719
  * Consumed by {@link GitHubClient} when fetching Bun and Deno release tags.
1722
1720
  *
1723
1721
  * @see {@link GitHubClient}
1724
- * @see {@link GitHubTagList}
1722
+ * @see `GitHubTagList`
1725
1723
  *
1726
1724
  * @public
1727
1725
  */
@@ -1751,7 +1749,7 @@ type GitHubTag = typeof GitHubTag.Type;
1751
1749
  * publication timestamps.
1752
1750
  *
1753
1751
  * @see {@link GitHubClient}
1754
- * @see {@link GitHubReleaseList}
1752
+ * @see `GitHubReleaseList`
1755
1753
  *
1756
1754
  * @public
1757
1755
  */
@@ -2493,7 +2491,7 @@ declare const createRuntimeCache: <R extends RuntimeRelease>() => Effect.Effect<
2493
2491
  * cache when the network is unavailable.
2494
2492
  *
2495
2493
  * @param options - Filtering and ranking options. See {@link NodeResolverOptions}.
2496
- * @returns A promise that resolves to a {@link ResolvedVersions} object
2494
+ * @returns A promise that resolves to a `ResolvedVersions` object
2497
2495
  * containing the matched version list, the highest matching version as
2498
2496
  * `latest`, and optional `lts` / `default` strings.
2499
2497
  *
@@ -2525,7 +2523,7 @@ declare const resolveNode: (options?: NodeResolverOptions) => Promise<ResolvedVe
2525
2523
  * Falls back to a build-time offline cache when the network is unavailable.
2526
2524
  *
2527
2525
  * @param options - Filtering and ranking options. See {@link BunResolverOptions}.
2528
- * @returns A promise that resolves to a {@link ResolvedVersions} object
2526
+ * @returns A promise that resolves to a `ResolvedVersions` object
2529
2527
  * containing the matched version list and the highest matching version as
2530
2528
  * `latest`.
2531
2529
  *
@@ -2553,7 +2551,7 @@ declare const resolveBun: (options?: BunResolverOptions) => Promise<ResolvedVers
2553
2551
  * Falls back to a build-time offline cache when the network is unavailable.
2554
2552
  *
2555
2553
  * @param options - Filtering and ranking options. See {@link DenoResolverOptions}.
2556
- * @returns A promise that resolves to a {@link ResolvedVersions} object
2554
+ * @returns A promise that resolves to a `ResolvedVersions` object
2557
2555
  * containing the matched version list and the highest matching version as
2558
2556
  * `latest`.
2559
2557
  *
package/index.js CHANGED
@@ -76,7 +76,7 @@ const DenoLayer = DenoResolverLive.pipe(Layer.provide(DenoCacheLayer));
76
76
  * cache when the network is unavailable.
77
77
  *
78
78
  * @param options - Filtering and ranking options. See {@link NodeResolverOptions}.
79
- * @returns A promise that resolves to a {@link ResolvedVersions} object
79
+ * @returns A promise that resolves to a `ResolvedVersions` object
80
80
  * containing the matched version list, the highest matching version as
81
81
  * `latest`, and optional `lts` / `default` strings.
82
82
  *
@@ -110,7 +110,7 @@ const resolveNode = (options) => Effect.runPromise(Effect.gen(function* () {
110
110
  * Falls back to a build-time offline cache when the network is unavailable.
111
111
  *
112
112
  * @param options - Filtering and ranking options. See {@link BunResolverOptions}.
113
- * @returns A promise that resolves to a {@link ResolvedVersions} object
113
+ * @returns A promise that resolves to a `ResolvedVersions` object
114
114
  * containing the matched version list and the highest matching version as
115
115
  * `latest`.
116
116
  *
@@ -140,7 +140,7 @@ const resolveBun = (options) => Effect.runPromise(Effect.gen(function* () {
140
140
  * Falls back to a build-time offline cache when the network is unavailable.
141
141
  *
142
142
  * @param options - Filtering and ranking options. See {@link DenoResolverOptions}.
143
- * @returns A promise that resolves to a {@link ResolvedVersions} object
143
+ * @returns A promise that resolves to a `ResolvedVersions` object
144
144
  * containing the matched version list and the highest matching version as
145
145
  * `latest`.
146
146
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runtime-resolver",
3
- "version": "0.3.16",
3
+ "version": "0.3.18",
4
4
  "private": false,
5
5
  "description": "Resolve semver-compatible versions of Node.js, Bun, and Deno runtimes with Effect-based architecture and offline fallback.",
6
6
  "keywords": [
@@ -3,8 +3,8 @@ import { SemVer } from "semver-effect";
3
3
 
4
4
  //#region src/schemas/bun-release.ts
5
5
  /**
6
- * A Bun release entry with a parsed {@link SemVer} version and an
7
- * Effect {@link DateTime.DateTime} publication date.
6
+ * A Bun release entry with a parsed `SemVer` version and an
7
+ * Effect `DateTime.DateTime` publication date.
8
8
  *
9
9
  * `BunRelease` extends `Data.TaggedClass` so instances support structural
10
10
  * equality comparison and can be used safely inside Effect data structures.
@@ -14,7 +14,7 @@ import { SemVer } from "semver-effect";
14
14
  *
15
15
  * @see {@link BunReleaseCache}
16
16
  * @see {@link BunResolver}
17
- * @see {@link RuntimeReleaseInput}
17
+ * @see `RuntimeReleaseInput`
18
18
  *
19
19
  * @example
20
20
  * ```typescript
@@ -43,7 +43,7 @@ var BunRelease = class BunRelease extends Data.TaggedClass("BunRelease") {
43
43
  * publication date with `DateTime.unsafeMake`. Falls back to the current
44
44
  * timestamp when `input.date` is an empty string (rare in production data).
45
45
  *
46
- * @param input - A {@link RuntimeReleaseInput} object with raw string fields.
46
+ * @param input - A `RuntimeReleaseInput` object with raw string fields.
47
47
  * @returns An `Effect` that succeeds with a `BunRelease` or fails with an
48
48
  * `InvalidVersionError` when the version string cannot be parsed.
49
49
  */
@@ -3,8 +3,8 @@ import { SemVer } from "semver-effect";
3
3
 
4
4
  //#region src/schemas/deno-release.ts
5
5
  /**
6
- * A Deno release entry with a parsed {@link SemVer} version and an
7
- * Effect {@link DateTime.DateTime} publication date.
6
+ * A Deno release entry with a parsed `SemVer` version and an
7
+ * Effect `DateTime.DateTime` publication date.
8
8
  *
9
9
  * `DenoRelease` extends `Data.TaggedClass` so instances support structural
10
10
  * equality comparison and can be used safely inside Effect data structures.
@@ -14,7 +14,7 @@ import { SemVer } from "semver-effect";
14
14
  *
15
15
  * @see {@link DenoReleaseCache}
16
16
  * @see {@link DenoResolver}
17
- * @see {@link RuntimeReleaseInput}
17
+ * @see `RuntimeReleaseInput`
18
18
  *
19
19
  * @example
20
20
  * ```typescript
@@ -43,7 +43,7 @@ var DenoRelease = class DenoRelease extends Data.TaggedClass("DenoRelease") {
43
43
  * publication date with `DateTime.unsafeMake`. Falls back to the current
44
44
  * timestamp when `input.date` is an empty string (rare in production data).
45
45
  *
46
- * @param input - A {@link RuntimeReleaseInput} object with raw string fields.
46
+ * @param input - A `RuntimeReleaseInput` object with raw string fields.
47
47
  * @returns An `Effect` that succeeds with a `DenoRelease` or fails with an
48
48
  * `InvalidVersionError` when the version string cannot be parsed.
49
49
  */
package/schemas/github.js CHANGED
@@ -21,7 +21,7 @@ const GitHubTagCommit = Schema.Struct({
21
21
  * Consumed by {@link GitHubClient} when fetching Bun and Deno release tags.
22
22
  *
23
23
  * @see {@link GitHubClient}
24
- * @see {@link GitHubTagList}
24
+ * @see `GitHubTagList`
25
25
  *
26
26
  * @public
27
27
  */
@@ -49,7 +49,7 @@ const GitHubTagList = Schema.Array(GitHubTag);
49
49
  * publication timestamps.
50
50
  *
51
51
  * @see {@link GitHubClient}
52
- * @see {@link GitHubReleaseList}
52
+ * @see `GitHubReleaseList`
53
53
  *
54
54
  * @public
55
55
  */
@@ -87,7 +87,7 @@ var NodeRelease = class NodeRelease {
87
87
  * when `now` is omitted.
88
88
  *
89
89
  * @param now - Optional reference time; defaults to `new Date()`.
90
- * @returns An `Effect` that resolves to a {@link NodePhase} string, or
90
+ * @returns An `Effect` that resolves to a `NodePhase` string, or
91
91
  * `null` when the major version is not present in the schedule or has
92
92
  * not yet been released.
93
93
  */
@@ -114,7 +114,7 @@ var NodeRelease = class NodeRelease {
114
114
  * Parses `input.version` and `input.npm` via `SemVer.parse` and
115
115
  * constructs the publication date with `DateTime.unsafeMake`.
116
116
  *
117
- * @param input - A {@link NodeReleaseInput} object with raw string fields.
117
+ * @param input - A {@link (NodeReleaseInput:type)} object with raw string fields.
118
118
  * @param scheduleRef - A shared `Ref<NodeSchedule>` injected by the cache layer.
119
119
  * @returns An `Effect` that succeeds with a `NodeRelease` or fails with an
120
120
  * `InvalidVersionError` when either version string cannot be parsed.
@@ -73,7 +73,7 @@ var NodeSchedule = class NodeSchedule extends Data.TaggedClass("NodeSchedule") {
73
73
  return new NodeSchedule({ entries });
74
74
  }
75
75
  /**
76
- * Determine the current {@link NodePhase} for a given major version number
76
+ * Determine the current {@link (NodePhase:type)} for a given major version number
77
77
  * at the specified point in time.
78
78
  *
79
79
  * Returns `null` when the major is not present in the schedule or when
@@ -26,7 +26,7 @@ import { Context } from "effect";
26
26
  * @see {@link BunResolverLive}
27
27
  * @see {@link resolveBun}
28
28
  * @see {@link BunResolverOptions}
29
- * @see {@link ResolvedVersions}
29
+ * @see {@link (ResolvedVersions:type)}
30
30
  *
31
31
  * @public
32
32
  */
@@ -26,7 +26,7 @@ import { Context } from "effect";
26
26
  * @see {@link DenoResolverLive}
27
27
  * @see {@link resolveDeno}
28
28
  * @see {@link DenoResolverOptions}
29
- * @see {@link ResolvedVersions}
29
+ * @see {@link (ResolvedVersions:type)}
30
30
  *
31
31
  * @public
32
32
  */
@@ -6,7 +6,7 @@ import { Context } from "effect";
6
6
  * release index.
7
7
  *
8
8
  * Unlike {@link BunResolver} and {@link DenoResolver}, this service is
9
- * lifecycle-aware: results can be filtered by {@link NodePhase} and evaluated
9
+ * lifecycle-aware: results can be filtered by {@link (NodePhase:type)} and evaluated
10
10
  * against a specific reference date.
11
11
  *
12
12
  * For a one-shot Promise-based API see {@link resolveNode}.
@@ -34,7 +34,7 @@ import { Context } from "effect";
34
34
  * @see {@link NodeResolverLive}
35
35
  * @see {@link resolveNode}
36
36
  * @see {@link NodeResolverOptions}
37
- * @see {@link ResolvedVersions}
37
+ * @see {@link (ResolvedVersions:type)}
38
38
  *
39
39
  * @public
40
40
  */
@@ -6,7 +6,7 @@ import { Context } from "effect";
6
6
  * Node.js distribution index.
7
7
  *
8
8
  * Retrieves both the parsed semver version list and the raw
9
- * {@link NodeReleaseInput} records needed to populate a
9
+ * {@link (NodeReleaseInput:type)} records needed to populate a
10
10
  * {@link NodeReleaseCache}. The live implementation fetches from
11
11
  * `https://nodejs.org/dist/index.json` via a plain HTTP request — no GitHub
12
12
  * credentials are required.