@wavehouse/chtypes 2.0.0-dev.5 → 2.0.0-dev.7

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.
Files changed (80) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/abi2/buildinfo.d.ts +1 -1
  3. package/dist/abi2/buildinfo.js +3 -3
  4. package/dist/abi2/buildinfo.js.map +1 -1
  5. package/dist/abi2/errors.d.ts +16 -38
  6. package/dist/abi2/errors.d.ts.map +1 -1
  7. package/dist/abi2/errors.js +16 -42
  8. package/dist/abi2/errors.js.map +1 -1
  9. package/dist/abi2/index.d.ts +1 -1
  10. package/dist/abi2/index.d.ts.map +1 -1
  11. package/dist/abi2/index.js +1 -1
  12. package/dist/abi2/index.js.map +1 -1
  13. package/dist/abi2/libc.gen.d.ts +2 -0
  14. package/dist/abi2/libc.gen.d.ts.map +1 -1
  15. package/dist/abi2/libc.gen.js +10 -0
  16. package/dist/abi2/libc.gen.js.map +1 -1
  17. package/dist/abi2/loader.js +2 -2
  18. package/dist/abi2/loader.js.map +1 -1
  19. package/dist/cli.d.ts +8 -3
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +94 -11
  22. package/dist/cli.js.map +1 -1
  23. package/dist/env.d.ts +8 -1
  24. package/dist/env.d.ts.map +1 -1
  25. package/dist/env.js +17 -8
  26. package/dist/env.js.map +1 -1
  27. package/dist/index.d.ts +5 -4
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +5 -4
  30. package/dist/index.js.map +1 -1
  31. package/dist/ocifetch/channel.d.ts +6 -0
  32. package/dist/ocifetch/channel.d.ts.map +1 -1
  33. package/dist/ocifetch/channel.js +31 -1
  34. package/dist/ocifetch/channel.js.map +1 -1
  35. package/dist/ocifetch/constants.gen.d.ts +20 -0
  36. package/dist/ocifetch/constants.gen.d.ts.map +1 -1
  37. package/dist/ocifetch/constants.gen.js +20 -1
  38. package/dist/ocifetch/constants.gen.js.map +1 -1
  39. package/dist/ocifetch/ensure.d.ts +42 -8
  40. package/dist/ocifetch/ensure.d.ts.map +1 -1
  41. package/dist/ocifetch/ensure.js +111 -41
  42. package/dist/ocifetch/ensure.js.map +1 -1
  43. package/dist/ocifetch/errors.d.ts +51 -27
  44. package/dist/ocifetch/errors.d.ts.map +1 -1
  45. package/dist/ocifetch/errors.js +49 -38
  46. package/dist/ocifetch/errors.js.map +1 -1
  47. package/dist/ocifetch/hold.d.ts +66 -0
  48. package/dist/ocifetch/hold.d.ts.map +1 -0
  49. package/dist/ocifetch/hold.js +150 -0
  50. package/dist/ocifetch/hold.js.map +1 -0
  51. package/dist/ocifetch/http.d.ts.map +1 -1
  52. package/dist/ocifetch/http.js +1 -1
  53. package/dist/ocifetch/http.js.map +1 -1
  54. package/dist/ocifetch/index.d.ts +6 -2
  55. package/dist/ocifetch/index.d.ts.map +1 -1
  56. package/dist/ocifetch/index.js +5 -1
  57. package/dist/ocifetch/index.js.map +1 -1
  58. package/dist/ocifetch/lock.d.ts +2 -1
  59. package/dist/ocifetch/lock.d.ts.map +1 -1
  60. package/dist/ocifetch/lock.js +7 -5
  61. package/dist/ocifetch/lock.js.map +1 -1
  62. package/dist/ocifetch/oci.d.ts +38 -6
  63. package/dist/ocifetch/oci.d.ts.map +1 -1
  64. package/dist/ocifetch/oci.js +48 -12
  65. package/dist/ocifetch/oci.js.map +1 -1
  66. package/dist/ocifetch/prune.d.ts +48 -0
  67. package/dist/ocifetch/prune.d.ts.map +1 -0
  68. package/dist/ocifetch/prune.js +383 -0
  69. package/dist/ocifetch/prune.js.map +1 -0
  70. package/dist/ocifetch/resolve.d.ts +37 -0
  71. package/dist/ocifetch/resolve.d.ts.map +1 -0
  72. package/dist/ocifetch/resolve.js +90 -0
  73. package/dist/ocifetch/resolve.js.map +1 -0
  74. package/dist/ocifetch/types.d.ts +1 -1
  75. package/dist/ocifetch/types.d.ts.map +1 -1
  76. package/dist/registry.d.ts +64 -3
  77. package/dist/registry.d.ts.map +1 -1
  78. package/dist/registry.js +141 -10
  79. package/dist/registry.js.map +1 -1
  80. package/package.json +1 -1
@@ -11,8 +11,12 @@ export { keyIdOfRawKey } from './dsse.js';
11
11
  export { cacheRoot, isFilesystemError } from './layout.js';
12
12
  export { ensure, fetchSigned, listInstalled, listTags, missingNotes, probeCache, resolveInstalled, satisfiesRequest, searchDirs, verifyInstalled, withNotes, } from './ensure.js';
13
13
  export type { FetchSignedResult } from './ensure.js';
14
- export { ArtifactCorruptError, ArtifactMissingError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, CacheUnusableError, FetchV1Error, SourceForbiddenError, SourceIncompatibleError, SourceRetiredError, SourceUnauthorizedError, SourceUnreachableError, } from './errors.js';
15
- export type { CacheFault, FetchV1ErrorCode } from './errors.js';
14
+ export { hold, type HoldState, removedWhileHeld } from './hold.js';
15
+ export { SpellingRefusedError } from './oci.js';
16
+ export { isLine, lineOf, prune, type PruneOptions, type Superseded } from './prune.js';
17
+ export { type Resolution, resolveBuilds, type ResolveBuildsResult } from './resolve.js';
18
+ export { ArtifactCorruptError, ArtifactMissingError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, CacheUnusableError, ChtypesError, CODE_ARTIFACT_CORRUPT, CODE_ARTIFACT_INCOMPATIBLE, CODE_ARTIFACT_MISSING, CODE_ARTIFACT_PINNED, CODE_ARTIFACT_UNPUBLISHED, CODE_ARTIFACT_UNTRUSTED, CODE_CACHE_UNUSABLE, CODE_SOURCE_FORBIDDEN, CODE_SOURCE_INCOMPATIBLE, CODE_SOURCE_RETIRED, CODE_SOURCE_UNAUTHORIZED, CODE_SOURCE_UNREACHABLE, exitStatusOf, FetchV1Error, SourceForbiddenError, SourceIncompatibleError, SourceRetiredError, SourceUnauthorizedError, SourceUnreachableError, } from './errors.js';
19
+ export type { CacheFault, ErrorCode, FetchV1ErrorCode, RefusalFields } from './errors.js';
16
20
  export type { ArtifactPredicate, Clock, FetchV1Options, PlatformKey, Resolved, ResolvedDigests, TrustedKey, VerifyResult, } from './types.js';
17
21
  export { hostPlatformKey, isPlatformKey, realClock } from './types.js';
18
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ocifetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,OAAO,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EACV,iBAAiB,EACjB,KAAK,EACL,cAAc,EACd,WAAW,EACX,QAAQ,EACR,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ocifetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,OAAO,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,KAAK,UAAU,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1F,YAAY,EACV,iBAAiB,EACjB,KAAK,EACL,cAAc,EACd,WAAW,EACX,QAAQ,EACR,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -10,6 +10,10 @@ export { activeChannel, channelName, DEV_CACHE_DIR, DEV_CHANNEL_BASE, DEV_KEY_ID
10
10
  export { keyIdOfRawKey } from './dsse.js';
11
11
  export { cacheRoot, isFilesystemError } from './layout.js';
12
12
  export { ensure, fetchSigned, listInstalled, listTags, missingNotes, probeCache, resolveInstalled, satisfiesRequest, searchDirs, verifyInstalled, withNotes, } from './ensure.js';
13
- export { ArtifactCorruptError, ArtifactMissingError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, CacheUnusableError, FetchV1Error, SourceForbiddenError, SourceIncompatibleError, SourceRetiredError, SourceUnauthorizedError, SourceUnreachableError, } from './errors.js';
13
+ export { hold, removedWhileHeld } from './hold.js';
14
+ export { SpellingRefusedError } from './oci.js';
15
+ export { isLine, lineOf, prune } from './prune.js';
16
+ export { resolveBuilds } from './resolve.js';
17
+ export { ArtifactCorruptError, ArtifactMissingError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, CacheUnusableError, ChtypesError, CODE_ARTIFACT_CORRUPT, CODE_ARTIFACT_INCOMPATIBLE, CODE_ARTIFACT_MISSING, CODE_ARTIFACT_PINNED, CODE_ARTIFACT_UNPUBLISHED, CODE_ARTIFACT_UNTRUSTED, CODE_CACHE_UNUSABLE, CODE_SOURCE_FORBIDDEN, CODE_SOURCE_INCOMPATIBLE, CODE_SOURCE_RETIRED, CODE_SOURCE_UNAUTHORIZED, CODE_SOURCE_UNREACHABLE, exitStatusOf, FetchV1Error, SourceForbiddenError, SourceIncompatibleError, SourceRetiredError, SourceUnauthorizedError, SourceUnreachableError, } from './errors.js';
14
18
  export { hostPlatformKey, isPlatformKey, realClock } from './types.js';
15
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ocifetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EAEb,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAYrB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ocifetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EAEb,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,IAAI,EAAkB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAsC,MAAM,YAAY,CAAC;AACvF,OAAO,EAAmB,aAAa,EAA4B,MAAM,cAAc,CAAC;AACxF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAYrB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -16,7 +16,8 @@ export interface LockPin {
16
16
  }
17
17
  export interface LockFile {
18
18
  readonly schema: 3;
19
- readonly abi: 1;
19
+ /** The ABI generation of the channel that wrote it (1 for v1, 2 for production v2). */
20
+ readonly abi: number;
20
21
  readonly platforms: readonly PlatformKey[];
21
22
  /** Keyed by the originally-requested spelling, then by platform key. */
22
23
  readonly requests: Readonly<Record<string, Readonly<Record<string, LockPin>>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/ocifetch/lock.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,SAAS,EAAE,SAAS,WAAW,EAAE,CAAC;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CAChF;AAID,wBAAgB,SAAS,IAAI,QAAQ,CAEpC;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEnE;AAQD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAqErE;AAED,0DAA0D;AAC1D,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAe9E;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/E;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,CAEnG;AAED,kHAAkH;AAClH,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,GAAG,QAAQ,CAOvG"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/ocifetch/lock.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,uFAAuF;IACvF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,WAAW,EAAE,CAAC;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CAChF;AAID,wBAAgB,SAAS,IAAI,QAAQ,CAEpC;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEnE;AAQD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAsErE;AAED,0DAA0D;AAC1D,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAe9E;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/E;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,CAEnG;AAED,kHAAkH;AAClH,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,GAAG,QAAQ,CAOvG"}
@@ -9,11 +9,12 @@ import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
9
9
  import path from 'node:path';
10
10
  import { randomBytes } from 'node:crypto';
11
11
  import { LOCK_DEFAULT_FILE, LOCK_SCHEMA, PLATFORMS } from './constants.gen.js';
12
+ import { activeChannel } from './channel.js';
12
13
  import { ArtifactPinnedError } from './errors.js';
13
14
  import { isPlatformKey } from './types.js';
14
15
  const DIGEST_RE = /^sha256:[0-9a-f]{64}$/;
15
16
  export function emptyLock() {
16
- return { schema: LOCK_SCHEMA, abi: 1, platforms: [], requests: {} };
17
+ return { schema: LOCK_SCHEMA, abi: activeChannel().abi, platforms: [], requests: {} };
17
18
  }
18
19
  export function defaultLockPath(cwd = process.cwd()) {
19
20
  return path.join(cwd, LOCK_DEFAULT_FILE);
@@ -40,8 +41,9 @@ export function validateLock(parsed, path_) {
40
41
  (schema === 1 || schema === 2 ? ' (a v0 lock is never reinterpreted)' : '') +
41
42
  '; re-lock with `fetch --lock`');
42
43
  }
43
- if (doc['abi'] !== 1) {
44
- throw new ArtifactPinnedError(`chtypes: ${path_}'s abi is ${JSON.stringify(doc['abi'])}, not 1; re-lock with \`fetch --lock\``);
44
+ const abi = activeChannel().abi;
45
+ if (doc['abi'] !== abi) {
46
+ throw new ArtifactPinnedError(`chtypes: ${path_}'s abi is ${JSON.stringify(doc['abi'])}, not ${abi}; re-lock with \`fetch --lock\``);
45
47
  }
46
48
  const platformsRaw = doc['platforms'];
47
49
  if (!Array.isArray(platformsRaw) || platformsRaw.length === 0) {
@@ -96,7 +98,7 @@ export function validateLock(parsed, path_) {
96
98
  }
97
99
  requests[spelling] = row;
98
100
  }
99
- return { schema: LOCK_SCHEMA, abi: 1, platforms, requests };
101
+ return { schema: LOCK_SCHEMA, abi: activeChannel().abi, platforms, requests };
100
102
  }
101
103
  /** `undefined` when no lock file exists at `lockPath`. */
102
104
  export async function readLock(lockPath) {
@@ -119,7 +121,7 @@ export async function readLock(lockPath) {
119
121
  return validateLock(parsed, lockPath);
120
122
  }
121
123
  export async function writeLock(lockPath, lock) {
122
- const serializable = { schema: LOCK_SCHEMA, abi: 1, platforms: lock.platforms, requests: lock.requests };
124
+ const serializable = { schema: LOCK_SCHEMA, abi: activeChannel().abi, platforms: lock.platforms, requests: lock.requests };
123
125
  await mkdir(path.dirname(lockPath), { recursive: true });
124
126
  const tmp = `${lockPath}.tmp-${process.pid}-${randomBytes(6).toString('hex')}`;
125
127
  await writeFile(tmp, `${JSON.stringify(serializable, null, 2)}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/ocifetch/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/ocifetch/lock.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAoB,MAAM,YAAY,CAAC;AAoB7D,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAE1C,MAAM,UAAU,SAAS;IACvB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,OAAO,CAAC,MAAc,EAAE,KAAa;IAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,mBAAmB,CAAC,uBAAuB,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACjH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,KAAa;IACzD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,2DAA2D,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,IAAI,mBAAmB,CAC3B,YAAY,KAAK,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,WAAW,EAAE;YACrF,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,+BAA+B,CAClC,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC;IAChC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,iCAAiC,CAAC,CAAC;IACvI,CAAC;IACD,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,oDAAoD,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,8BAA8B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,iCAAiC,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,QAAQ,GAA4C,EAAE,CAAC;IAC7D,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAsC,CAAC,EAAE,CAAC;QAC5F,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,cAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAqC,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,cAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;YACrK,CAAC;YACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,cAAc,QAAQ,IAAI,QAAQ,eAAe,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,CAAC,GAAG,MAAiC,CAAC;YAC5C,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7D,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,cAAc,QAAQ,IAAI,QAAQ,8BAA8B,CAAC,CAAC;YACnH,CAAC;YACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC5F,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,cAAc,QAAQ,IAAI,QAAQ,sBAAsB,CAAC,CAAC;YAC3G,CAAC;YACD,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxB,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,MAAM,IAAI,mBAAmB,CAAC,YAAY,KAAK,cAAc,QAAQ,IAAI,QAAQ,yBAAyB,CAAC,CAAC;gBAC3I,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1B,CAAC;YACD,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzG,CAAC;QACD,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAChF,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACvE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,mBAAmB,CAAC,YAAY,QAAQ,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAc;IAC9D,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3H,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,GAAG,QAAQ,QAAQ,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/E,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAc,EAAE,QAAgB,EAAE,QAAqB;IAC5E,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,QAAgB,EAAE,QAAqB,EAAE,GAAY;IAC3F,sEAAsE;IACtE,gFAAgF;IAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACpE,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;AACjF,CAAC"}
@@ -11,8 +11,17 @@
11
11
  * digest that 404s is a host fault", never `UNPUBLISHED` — that verdict is
12
12
  * for the tag alone).
13
13
  */
14
+ import { type Json } from '../json.js';
14
15
  import { type RequestOptions } from './http.js';
15
16
  import { type PlatformKey } from './types.js';
17
+ /**
18
+ * A version spelling `checkSpelling` refuses before any network call (guide
19
+ * §3): the caller's misuse, never a fetch error, so the `chtypes` command
20
+ * exits with the usage status for it, as Go's does.
21
+ */
22
+ export declare class SpellingRefusedError extends Error {
23
+ constructor(message: string);
24
+ }
16
25
  /**
17
26
  * Refuses the two documented spelling mistakes (a `v` prefix, a
18
27
  * `-lts`/`-stable` channel suffix) before any network call (guide §3). A
@@ -96,15 +105,38 @@ export interface IndexResolveResult {
96
105
  */
97
106
  readonly aliasAbsent: boolean;
98
107
  }
108
+ /** A tag's image index, resolved (`resolveIndex`): the base that served it, and its bytes, parsed. */
109
+ export interface ResolvedIndex {
110
+ /** The base that served the index: the repository its referrers are discovered in. */
111
+ readonly repositoryRoot: string;
112
+ readonly url: string;
113
+ readonly body: Buffer;
114
+ readonly json: Json;
115
+ /** As `IndexResolveResult.aliasAbsent`. */
116
+ readonly aliasAbsent: boolean;
117
+ }
99
118
  /**
100
119
  * `GET manifests/<spelling>` across `bases` in order (guide §3, §7 A5's tag
101
120
  * rule: a tag 404 moves to the next base, and every base 404ing is
102
- * `UNPUBLISHED`), then the platform's manifest by digest across every base
103
- * (mirrors may carry the same tag pointing at the same digest, so a base
104
- * that served the index is not the only one asked for its blobs). Under the
105
- * dev channel a version spelling resolves its own fingerprint's alias first
106
- * (`aliasTag`, guide §3), and the tag only when every base 404'd the alias;
107
- * what the alias names is then checked exactly as the tag's answer would be.
121
+ * `UNPUBLISHED`), and the index's own shape. Under the dev channel a version
122
+ * spelling resolves its own fingerprint's alias first (`aliasTag`, guide §3),
123
+ * and the tag only when every base 404'd the alias.
124
+ */
125
+ export declare function resolveIndex(bases: readonly string[], spelling: string, options: RequestOptions): Promise<ResolvedIndex>;
126
+ /**
127
+ * The descriptor of `platform`'s manifest in a resolved index. An index that
128
+ * offers no manifest for it is `ArtifactUnpublishedError` (the one outcome
129
+ * `chtypes resolve` passes over); one that names it twice is
130
+ * `ArtifactCorruptError`, and one of the wrong media type
131
+ * `SourceIncompatibleError`.
132
+ */
133
+ export declare function selectPlatformDescriptor(index: ResolvedIndex, spelling: string, platform: PlatformKey): Descriptor;
134
+ /**
135
+ * The tag's index (`resolveIndex`), then the platform's manifest by digest
136
+ * across every base (`selectPlatformDescriptor`; mirrors may carry the same
137
+ * tag pointing at the same digest, so a base that served the index is not the
138
+ * only one asked for its blobs). What the dev channel's alias names is checked
139
+ * exactly as the tag's answer would be.
108
140
  */
109
141
  export declare function resolveTag(bases: readonly string[], spelling: string, platform: PlatformKey, options: RequestOptions): Promise<IndexResolveResult>;
110
142
  //# sourceMappingURL=oci.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../src/ocifetch/oci.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAE,KAAK,cAAc,EAA+C,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAiE,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAE3H;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOpD;AAED,iHAAiH;AACjH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CACzC;AAmCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAqBzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAO3H;AAmDD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,4HAA4H;AAC5H,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,IAAI,IAAI,CAAC;IACd,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9I;AAED,sHAAsH;AACtH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAGpI;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAgED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,kBAAkB,CAAC,CA0D7B"}
1
+ {"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../src/ocifetch/oci.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,17 @@ import { MANIFEST_MAX_BYTES, MAX_UNPACKED_BYTES, MEDIA_TYPE_INDEX, MEDIA_TYPE_MA
18
18
  import { ArtifactCorruptError, ArtifactUnpublishedError, SourceIncompatibleError, SourceUnreachableError } from './errors.js';
19
19
  import { readFileUrl, requestBuffered, requestToSink } from './http.js';
20
20
  import { digestOfHex, endpointUrl, hexOfDigest, MANIFEST_ACCEPT_HEADER, platformInfo } from './types.js';
21
+ /**
22
+ * A version spelling `checkSpelling` refuses before any network call (guide
23
+ * §3): the caller's misuse, never a fetch error, so the `chtypes` command
24
+ * exits with the usage status for it, as Go's does.
25
+ */
26
+ export class SpellingRefusedError extends Error {
27
+ constructor(message) {
28
+ super(message);
29
+ this.name = new.target.name;
30
+ }
31
+ }
21
32
  /**
22
33
  * Refuses the two documented spelling mistakes (a `v` prefix, a
23
34
  * `-lts`/`-stable` channel suffix) before any network call (guide §3). A
@@ -30,7 +41,7 @@ import { digestOfHex, endpointUrl, hexOfDigest, MANIFEST_ACCEPT_HEADER, platform
30
41
  */
31
42
  export function checkSpelling(spelling) {
32
43
  if (new RegExp(SPELLING_REFUSE_HINT_REGEX).test(spelling)) {
33
- throw new Error(`chtypes: ${JSON.stringify(spelling)} is not a v1 version spelling (no "v" prefix, no "-lts"/"-stable" suffix); ` +
44
+ throw new SpellingRefusedError(`chtypes: ${JSON.stringify(spelling)} is not a v1 version spelling (no "v" prefix, no "-lts"/"-stable" suffix); ` +
34
45
  'use the bare version, e.g. "26.8" or "26.8.15.10"');
35
46
  }
36
47
  }
@@ -286,18 +297,14 @@ async function indexAcrossBases(bases, ref, options, triedBases, alias) {
286
297
  /**
287
298
  * `GET manifests/<spelling>` across `bases` in order (guide §3, §7 A5's tag
288
299
  * rule: a tag 404 moves to the next base, and every base 404ing is
289
- * `UNPUBLISHED`), then the platform's manifest by digest across every base
290
- * (mirrors may carry the same tag pointing at the same digest, so a base
291
- * that served the index is not the only one asked for its blobs). Under the
292
- * dev channel a version spelling resolves its own fingerprint's alias first
293
- * (`aliasTag`, guide §3), and the tag only when every base 404'd the alias;
294
- * what the alias names is then checked exactly as the tag's answer would be.
300
+ * `UNPUBLISHED`), and the index's own shape. Under the dev channel a version
301
+ * spelling resolves its own fingerprint's alias first (`aliasTag`, guide §3),
302
+ * and the tag only when every base 404'd the alias.
295
303
  */
296
- export async function resolveTag(bases, spelling, platform, options) {
304
+ export async function resolveIndex(bases, spelling, options) {
297
305
  checkSpelling(spelling);
298
306
  if (bases.length === 0)
299
307
  throw new Error('chtypes: no base URLs configured');
300
- const info = platformInfo(platform);
301
308
  const triedBases = [];
302
309
  const alias = aliasTag(spelling);
303
310
  let found = alias === undefined ? undefined : await indexAcrossBases(bases, alias, options, [], true);
@@ -315,7 +322,18 @@ export async function resolveTag(bases, spelling, platform, options) {
315
322
  if (mediaType !== '' && mediaType !== MEDIA_TYPE_INDEX) {
316
323
  throw new SourceIncompatibleError(`chtypes: ${url} has mediaType ${JSON.stringify(mediaType)}, not ${MEDIA_TYPE_INDEX}`);
317
324
  }
318
- const manifests = items(field(json, 'manifests'));
325
+ return { repositoryRoot: base, url, body, json, aliasAbsent };
326
+ }
327
+ /**
328
+ * The descriptor of `platform`'s manifest in a resolved index. An index that
329
+ * offers no manifest for it is `ArtifactUnpublishedError` (the one outcome
330
+ * `chtypes resolve` passes over); one that names it twice is
331
+ * `ArtifactCorruptError`, and one of the wrong media type
332
+ * `SourceIncompatibleError`.
333
+ */
334
+ export function selectPlatformDescriptor(index, spelling, platform) {
335
+ const info = platformInfo(platform);
336
+ const manifests = items(field(index.json, 'manifests'));
319
337
  const matches = manifests.filter((m) => {
320
338
  const p = field(m, 'platform');
321
339
  return asString(field(p, 'os')) === info.os && asString(field(p, 'architecture')) === info.architecture;
@@ -347,8 +365,26 @@ export async function resolveTag(bases, spelling, platform, options) {
347
365
  if (manifestDescriptor.mediaType !== MEDIA_TYPE_MANIFEST) {
348
366
  throw new SourceIncompatibleError(`chtypes: ${spelling}'s ${platform} descriptor has mediaType ${JSON.stringify(manifestDescriptor.mediaType)}, not ${MEDIA_TYPE_MANIFEST}`);
349
367
  }
368
+ return manifestDescriptor;
369
+ }
370
+ /**
371
+ * The tag's index (`resolveIndex`), then the platform's manifest by digest
372
+ * across every base (`selectPlatformDescriptor`; mirrors may carry the same
373
+ * tag pointing at the same digest, so a base that served the index is not the
374
+ * only one asked for its blobs). What the dev channel's alias names is checked
375
+ * exactly as the tag's answer would be.
376
+ */
377
+ export async function resolveTag(bases, spelling, platform, options) {
378
+ const index = await resolveIndex(bases, spelling, options);
379
+ const manifestDescriptor = selectPlatformDescriptor(index, spelling, platform);
350
380
  const manifestBytes = await fetchManifestBytesByDigest(bases, manifestDescriptor, options);
351
- const manifest = parseManifest(manifestDigest, manifestBytes);
352
- return { repositoryRoot: base, indexDigest: digestOfHex(sha256Hex(body)), indexBytes: body, manifest, aliasAbsent };
381
+ const manifest = parseManifest(manifestDescriptor.digest, manifestBytes);
382
+ return {
383
+ repositoryRoot: index.repositoryRoot,
384
+ indexDigest: digestOfHex(sha256Hex(index.body)),
385
+ indexBytes: index.body,
386
+ manifest,
387
+ aliasAbsent: index.aliasAbsent,
388
+ };
353
389
  }
354
390
  //# sourceMappingURL=oci.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oci.js","sourceRoot":"","sources":["../../src/ocifetch/oci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oci.js","sourceRoot":"","sources":["../../src/ocifetch/oci.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * `chtypes prune` (`docs/guides/fetch-v1.md` §1, "Pruning"; public issue
3
+ * #494): remove the installed builds of a line that newer installed builds of
4
+ * the same line and platform supersede, keeping the newest N, and never one a
5
+ * live process holds (`./hold.ts`). It reads and writes the cache only, never
6
+ * a system directory, and never another fingerprint's records (§3: the dev
7
+ * channel's own-fingerprint rule).
8
+ */
9
+ import { type FetchV1Options, type PlatformKey } from './types.js';
10
+ /** Whether `s` is a two-part line spelling, such as `26.8`. */
11
+ export declare function isLine(s: string): boolean;
12
+ /** The two-part line of a version: `26.8` for `26.8.15.10`, or `''` for anything shorter. */
13
+ export declare function lineOf(version: string): string;
14
+ /** What a prune removes. */
15
+ export interface PruneOptions {
16
+ /** A two-part line (`26.8`); unset or `''` is every line. */
17
+ readonly line?: string | undefined;
18
+ /** How many of each line's newest builds stay, per platform: at least 1. */
19
+ readonly keep: number;
20
+ /** Decide and report exactly what would go, and remove nothing. */
21
+ readonly dryRun?: boolean | undefined;
22
+ }
23
+ /** One installed build a prune found superseded: removed (or, in a dry run, to be removed), or kept because it is in use. */
24
+ export interface Superseded {
25
+ readonly platform: PlatformKey;
26
+ readonly version: string;
27
+ readonly build: string;
28
+ /** The entry's own name, `sha256:<hex>` of `unpacked/sha256/<hex>`. */
29
+ readonly manifest: string;
30
+ readonly dir: string;
31
+ /** The build was kept: a live process holds it (or its record cannot be locked at all, so nothing can tell). */
32
+ readonly inUse: boolean;
33
+ }
34
+ /**
35
+ * Removes, from the cache, every installed build that at least `keep` newer
36
+ * installed builds of its own line and platform supersede, oldest first.
37
+ * Builds are ordered by (version, build), then the manifest digest, and the
38
+ * report by platform (the constants' order), then oldest first. A superseded
39
+ * build a live process holds is reported `inUse` and kept. For each build it
40
+ * removes the unpacked entry with its record, then its `index.json` entries,
41
+ * then its blobs (the manifest, its config and layer, and every referrer
42
+ * manifest of it the layout holds, with that referrer's layers), never a blob
43
+ * a remaining build names. A `keep` below 1 or a `line` that is not a two-part
44
+ * line is the caller's misuse. A write that fails under the cache is a
45
+ * `CacheUnusableError` (reason `unwritable`).
46
+ */
47
+ export declare function prune(options: FetchV1Options, request: PruneOptions): Promise<readonly Superseded[]>;
48
+ //# sourceMappingURL=prune.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../src/ocifetch/prune.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,EAAE,KAAK,cAAc,EAAe,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAUhF,+DAA+D;AAC/D,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEzC;AAED,6FAA6F;AAC7F,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED,4BAA4B;AAC5B,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC;AAED,6HAA6H;AAC7H,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gHAAgH;IAChH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAe1G"}