@wavehouse/chtypes 1.1.0 → 2.0.0-dev.1

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 (117) hide show
  1. package/README.md +6 -2
  2. package/dist/{abi1 → abi2}/buildinfo.d.ts.map +1 -1
  3. package/dist/{abi1 → abi2}/buildinfo.js.map +1 -1
  4. package/dist/{abi1 → abi2}/calls.gen.d.ts +10 -5
  5. package/dist/abi2/calls.gen.d.ts.map +1 -0
  6. package/dist/{abi1 → abi2}/calls.gen.js +8 -3
  7. package/dist/abi2/calls.gen.js.map +1 -0
  8. package/dist/{abi1 → abi2}/decls.gen.d.ts +14 -6
  9. package/dist/{abi1 → abi2}/decls.gen.d.ts.map +1 -1
  10. package/dist/{abi1 → abi2}/decls.gen.js +116 -10
  11. package/dist/{abi1 → abi2}/decls.gen.js.map +1 -1
  12. package/dist/{abi1 → abi2}/errmap.gen.d.ts +3 -3
  13. package/dist/{abi1 → abi2}/errmap.gen.d.ts.map +1 -1
  14. package/dist/{abi1 → abi2}/errmap.gen.js +8 -8
  15. package/dist/abi2/errmap.gen.js.map +1 -0
  16. package/dist/{abi1 → abi2}/errors.d.ts +9 -3
  17. package/dist/{abi1 → abi2}/errors.d.ts.map +1 -1
  18. package/dist/{abi1 → abi2}/errors.js +20 -4
  19. package/dist/abi2/errors.js.map +1 -0
  20. package/dist/{abi1 → abi2}/handles.d.ts +3 -3
  21. package/dist/{abi1 → abi2}/handles.d.ts.map +1 -1
  22. package/dist/{abi1 → abi2}/handles.js +5 -5
  23. package/dist/{abi1 → abi2}/handles.js.map +1 -1
  24. package/dist/{abi1 → abi2}/index.d.ts +5 -5
  25. package/dist/abi2/index.d.ts.map +1 -0
  26. package/dist/{abi1 → abi2}/index.js +5 -5
  27. package/dist/abi2/index.js.map +1 -0
  28. package/dist/{abi1 → abi2}/libc.d.ts.map +1 -1
  29. package/dist/{abi1 → abi2}/libc.gen.d.ts.map +1 -1
  30. package/dist/{abi1 → abi2}/libc.gen.js +4 -4
  31. package/dist/{abi1 → abi2}/libc.gen.js.map +1 -1
  32. package/dist/{abi1 → abi2}/libc.js.map +1 -1
  33. package/dist/{abi1 → abi2}/loader.d.ts +10 -8
  34. package/dist/abi2/loader.d.ts.map +1 -0
  35. package/dist/{abi1 → abi2}/loader.js +15 -13
  36. package/dist/abi2/loader.js.map +1 -0
  37. package/dist/{abi1 → abi2}/raw.d.ts +2 -2
  38. package/dist/{abi1 → abi2}/raw.d.ts.map +1 -1
  39. package/dist/{abi1 → abi2}/raw.js +14 -14
  40. package/dist/{abi1 → abi2}/raw.js.map +1 -1
  41. package/dist/{abi1 → abi2}/strictjson.d.ts.map +1 -1
  42. package/dist/{abi1 → abi2}/strictjson.js.map +1 -1
  43. package/dist/abi2/vocab.gen.d.ts +221 -0
  44. package/dist/abi2/vocab.gen.d.ts.map +1 -0
  45. package/dist/abi2/vocab.gen.js +371 -0
  46. package/dist/abi2/vocab.gen.js.map +1 -0
  47. package/dist/cli.d.ts +6 -1
  48. package/dist/cli.d.ts.map +1 -1
  49. package/dist/cli.js +28 -5
  50. package/dist/cli.js.map +1 -1
  51. package/dist/documents.d.ts +11 -5
  52. package/dist/documents.d.ts.map +1 -1
  53. package/dist/documents.js +28 -35
  54. package/dist/documents.js.map +1 -1
  55. package/dist/env.d.ts +6 -0
  56. package/dist/env.d.ts.map +1 -1
  57. package/dist/env.js +12 -4
  58. package/dist/env.js.map +1 -1
  59. package/dist/index.d.ts +7 -3
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +7 -3
  62. package/dist/index.js.map +1 -1
  63. package/dist/library.d.ts +1 -1
  64. package/dist/library.d.ts.map +1 -1
  65. package/dist/library.js +4 -2
  66. package/dist/library.js.map +1 -1
  67. package/dist/ocifetch/channel.d.ts +114 -0
  68. package/dist/ocifetch/channel.d.ts.map +1 -0
  69. package/dist/ocifetch/channel.js +219 -0
  70. package/dist/ocifetch/channel.js.map +1 -0
  71. package/dist/ocifetch/dsse.d.ts.map +1 -1
  72. package/dist/ocifetch/dsse.js +7 -3
  73. package/dist/ocifetch/dsse.js.map +1 -1
  74. package/dist/ocifetch/ensure.d.ts +17 -3
  75. package/dist/ocifetch/ensure.d.ts.map +1 -1
  76. package/dist/ocifetch/ensure.js +57 -13
  77. package/dist/ocifetch/ensure.js.map +1 -1
  78. package/dist/ocifetch/index.d.ts +1 -0
  79. package/dist/ocifetch/index.d.ts.map +1 -1
  80. package/dist/ocifetch/index.js +1 -0
  81. package/dist/ocifetch/index.js.map +1 -1
  82. package/dist/ocifetch/layout.d.ts +20 -7
  83. package/dist/ocifetch/layout.d.ts.map +1 -1
  84. package/dist/ocifetch/layout.js +32 -16
  85. package/dist/ocifetch/layout.js.map +1 -1
  86. package/dist/ocifetch/types.d.ts +2 -1
  87. package/dist/ocifetch/types.d.ts.map +1 -1
  88. package/dist/ocifetch/types.js.map +1 -1
  89. package/dist/registry.d.ts +7 -1
  90. package/dist/registry.d.ts.map +1 -1
  91. package/dist/registry.js +20 -6
  92. package/dist/registry.js.map +1 -1
  93. package/dist/schema.d.ts +2 -2
  94. package/dist/schema.js +1 -1
  95. package/dist/settings.js +1 -1
  96. package/dist/setup.d.ts +1 -1
  97. package/dist/setup.js +2 -2
  98. package/package.json +1 -1
  99. package/dist/abi1/calls.gen.d.ts.map +0 -1
  100. package/dist/abi1/calls.gen.js.map +0 -1
  101. package/dist/abi1/errmap.gen.js.map +0 -1
  102. package/dist/abi1/errors.js.map +0 -1
  103. package/dist/abi1/index.d.ts.map +0 -1
  104. package/dist/abi1/index.js.map +0 -1
  105. package/dist/abi1/loader.d.ts.map +0 -1
  106. package/dist/abi1/loader.js.map +0 -1
  107. package/dist/abi1/vocab.gen.d.ts +0 -169
  108. package/dist/abi1/vocab.gen.d.ts.map +0 -1
  109. package/dist/abi1/vocab.gen.js +0 -306
  110. package/dist/abi1/vocab.gen.js.map +0 -1
  111. /package/dist/{abi1 → abi2}/buildinfo.d.ts +0 -0
  112. /package/dist/{abi1 → abi2}/buildinfo.js +0 -0
  113. /package/dist/{abi1 → abi2}/libc.d.ts +0 -0
  114. /package/dist/{abi1 → abi2}/libc.gen.d.ts +0 -0
  115. /package/dist/{abi1 → abi2}/libc.js +0 -0
  116. /package/dist/{abi1 → abi2}/strictjson.d.ts +0 -0
  117. /package/dist/{abi1 → abi2}/strictjson.js +0 -0
@@ -1,16 +1,16 @@
1
- /* GENERATED by scripts/abi-v1/gen.py from spec/abi-v1/abi.json (CHS_ABI_FINGERPRINT sha256:856e5cb7543db291b4db716662bf6e487b2258973b959bbf5d58b4bd46d73285) — DO NOT EDIT */
1
+ /* GENERATED by scripts/abi-v1/gen.py --major 2 from spec/abi-v2/abi.json (CHS_ABI_FINGERPRINT sha256:d87e91be2bbe75b985c38224268c2f7dc5d8236dab0a4b4d61357c6dfdc1a232) — DO NOT EDIT */
2
2
  /*
3
- * spec/abi-v1/sdk.json's two error tables, as code: a CALL's chs_status -> one of
3
+ * spec/abi-v2/sdk.json's two error tables, as code: a CALL's chs_status -> one of
4
4
  * SchemaError/UnsupportedError/UsageError/InternalError (errors.status), and a LOADER
5
5
  * refusal's reason -> artifact_incompatible or artifact_corrupt (loader.refusals). Both
6
- * read spec/abi-v1/sdk.json; regenerate rather than hand-editing either table.
6
+ * read spec/abi-v2/sdk.json; regenerate rather than hand-editing either table.
7
7
  */
8
8
  import { InternalError, SchemaError, UnsupportedError, UsageError, } from './errors.js';
9
9
  /**
10
- * A call's raw chs_status value -> the mapped error instance (spec/abi-v1/sdk.json's
10
+ * A call's raw chs_status value -> the mapped error instance (spec/abi-v2/sdk.json's
11
11
  * errors.status table). A caller checks for the OK value before ever calling this. A
12
12
  * status outside the closed set (impossible under a matching fingerprint; see
13
- * spec/abi-v1/docs.md's chs_status section) maps to InternalError, naming the raw
13
+ * spec/abi-v2/docs.md's chs_status section) maps to InternalError, naming the raw
14
14
  * value, exactly like every other binding's generated table.
15
15
  */
16
16
  export function errorForStatus(status, fields) {
@@ -26,12 +26,12 @@ export function errorForStatus(status, fields) {
26
26
  default:
27
27
  return new InternalError({
28
28
  ...fields,
29
- messageBytes: Buffer.from(`chtypes: unrecognized call status ${status}: ${fields.messageBytes.toString('utf8')}`, 'utf8'),
29
+ messageBytes: Buffer.from(`chtypes: call status unknown(${status}) is outside the closed set: ${fields.messageBytes.toString('utf8')}`, 'utf8'),
30
30
  });
31
31
  }
32
32
  }
33
33
  /**
34
- * A loader refusal reason (spec/abi-v1/sdk.json's loader.refusals vocabulary, a
34
+ * A loader refusal reason (spec/abi-v2/sdk.json's loader.refusals vocabulary, a
35
35
  * `missing_symbol:<name>` or `build_info_mismatch:<field>` reason included, via its
36
36
  * prefix before the first ':') -> which artifact error class the C ABI contract §Loading
37
37
  * error map says it is.
@@ -60,7 +60,7 @@ export function loaderErrorClassFor(reason) {
60
60
  case 'build_info_mismatch':
61
61
  return 'artifact_corrupt';
62
62
  default:
63
- throw new Error(`chtypes abi1: no sdk.json loader refusal class for reason ${reason}`);
63
+ throw new Error(`chtypes abi2: no sdk.json loader refusal class for reason ${reason}`);
64
64
  }
65
65
  }
66
66
  //# sourceMappingURL=errmap.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errmap.gen.js","sourceRoot":"","sources":["../../src/abi2/errmap.gen.ts"],"names":[],"mappings":"AAAA,wLAAwL;AACxL;;;;;GAKG;AAEH,OAAO,EAGL,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,GACX,MAAM,aAAa,CAAC;AAErB;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,MAAuB;IACpE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,EAAE,eAAe;YACrB,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,eAAe;YACrB,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACtC,KAAK,CAAC,EAAE,uBAAuB;YAC7B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,eAAe;YACrB,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACnC;YACE,OAAO,IAAI,aAAa,CAAC;gBACvB,GAAG,MAAM;gBACT,YAAY,EAAE,MAAM,CAAC,IAAI,CACvB,gCAAgC,MAAM,gCAAgC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAC5G,MAAM,CACP;aACF,CAAC,CAAC;IACP,CAAC;AACH,CAAC;AAID;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,uBAAuB,CAAC;QACjC,KAAK,UAAU;YACb,OAAO,uBAAuB,CAAC;QACjC,KAAK,qBAAqB;YACxB,OAAO,uBAAuB,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,uBAAuB,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,uBAAuB,CAAC;QACjC,KAAK,aAAa;YAChB,OAAO,uBAAuB,CAAC;QACjC,KAAK,sBAAsB;YACzB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,aAAa;YAChB,OAAO,uBAAuB,CAAC;QACjC,KAAK,gBAAgB;YACnB,OAAO,uBAAuB,CAAC;QACjC,KAAK,qBAAqB;YACxB,OAAO,kBAAkB,CAAC;QAC5B;YACE,MAAM,IAAI,KAAK,CAAC,6DAA6D,MAAM,EAAE,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * The v1 error model (`docs/reference/bindings-v1.md` §4), over the fetch
2
+ * The error model (`docs/reference/bindings-v1.md` §4), over the fetch
3
3
  * layer's own error family.
4
4
  *
5
- * Two shapes (spec/abi-v1/sdk.json's two tables):
5
+ * Two shapes (spec/abi-v2/sdk.json's two tables):
6
6
  *
7
7
  * - a CALL error: the five fields of the library's error object, read
8
8
  * verbatim. `errorForStatus` in `./errmap.gen.ts` picks the class from the
@@ -83,7 +83,13 @@ export interface LoaderErrorFields {
83
83
  readonly want?: string | undefined;
84
84
  readonly got?: string | undefined;
85
85
  }
86
- /** A loader step 1-4 or 6 refusal: the artifact is not one this binding can speak to (wrong ABI generation, a different fingerprint, a missing symbol, an unresolvable link). */
86
+ /**
87
+ * Rule r6's exact refusal of a library whose fingerprint is not this dev SDK's
88
+ * (`spec/abi-v2/docs.md`): `sdk` is this binding's own `ABI_FINGERPRINT`,
89
+ * `library` the library's, both full `sha256:` spellings.
90
+ */
91
+ export declare function devFingerprintMessage(sdk: string, library: string): string;
92
+ /** A loader step 1-4 or 6 refusal: the artifact is not one this binding can speak to (wrong ABI generation, a different fingerprint, a missing symbol, an unresolvable link). A fingerprint refusal by a 2.0.0-dev SDK carries rule r6's exact message. */
87
93
  export declare class ArtifactIncompatibleError extends FetchV1Error implements LoaderErrorFields {
88
94
  readonly reason: string;
89
95
  readonly path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/abi1/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/abi2/errors.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * The v1 error model (`docs/reference/bindings-v1.md` §4), over the fetch
2
+ * The error model (`docs/reference/bindings-v1.md` §4), over the fetch
3
3
  * layer's own error family.
4
4
  *
5
- * Two shapes (spec/abi-v1/sdk.json's two tables):
5
+ * Two shapes (spec/abi-v2/sdk.json's two tables):
6
6
  *
7
7
  * - a CALL error: the five fields of the library's error object, read
8
8
  * verbatim. `errorForStatus` in `./errmap.gen.ts` picks the class from the
@@ -22,6 +22,7 @@
22
22
  * (the string every `Error` has) is the one lossy display form.
23
23
  */
24
24
  import { ArtifactCorruptError, FetchV1Error } from '../ocifetch/index.js';
25
+ import { ABI_STABILITY } from './decls.gen.js';
25
26
  import { Status } from './vocab.gen.js';
26
27
  /** The base of every call error. The fetch and loader errors live under `ArtifactError` instead; `isChtypesError` is true for all of them. */
27
28
  export class ChtypesError extends Error {
@@ -98,14 +99,29 @@ function renderLoaderMessage(label, f) {
98
99
  const detail = f.want !== undefined || f.got !== undefined ? ` (want ${f.want ?? '?'}, got ${f.got ?? '?'})` : '';
99
100
  return `chtypes: ${f.path}: ${label}: ${f.reason}${detail}`;
100
101
  }
101
- /** A loader step 1-4 or 6 refusal: the artifact is not one this binding can speak to (wrong ABI generation, a different fingerprint, a missing symbol, an unresolvable link). */
102
+ /**
103
+ * Rule r6's exact refusal of a library whose fingerprint is not this dev SDK's
104
+ * (`spec/abi-v2/docs.md`): `sdk` is this binding's own `ABI_FINGERPRINT`,
105
+ * `library` the library's, both full `sha256:` spellings.
106
+ */
107
+ export function devFingerprintMessage(sdk, library) {
108
+ return `this SDK speaks dev fingerprint ${sdk}; the library has ${library} — update your dev SDK`;
109
+ }
110
+ /** An incompatible-artifact refusal's message: rule r6's exact text for a fingerprint refusal while the description is unstable (a 2.0.0-dev SDK), the loader's own otherwise. */
111
+ function incompatibleMessage(f) {
112
+ if (f.reason === 'fingerprint' && ABI_STABILITY === 'unstable' && f.want !== undefined && f.got !== undefined) {
113
+ return devFingerprintMessage(f.want, f.got);
114
+ }
115
+ return renderLoaderMessage('incompatible artifact', f);
116
+ }
117
+ /** A loader step 1-4 or 6 refusal: the artifact is not one this binding can speak to (wrong ABI generation, a different fingerprint, a missing symbol, an unresolvable link). A fingerprint refusal by a 2.0.0-dev SDK carries rule r6's exact message. */
102
118
  export class ArtifactIncompatibleError extends FetchV1Error {
103
119
  reason;
104
120
  path;
105
121
  want;
106
122
  got;
107
123
  constructor(f) {
108
- super('CHTYPES_ARTIFACT_INCOMPATIBLE', renderLoaderMessage('incompatible artifact', f));
124
+ super('CHTYPES_ARTIFACT_INCOMPATIBLE', incompatibleMessage(f));
109
125
  this.reason = f.reason;
110
126
  this.path = f.path;
111
127
  this.want = f.want;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/abi2/errors.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  import type { JsExternal } from 'ffi-rs';
13
13
  import { type RawApi } from './raw.js';
14
14
  /** A live handle over one opened image. `close()` is safe to call more than once and safe to never call explicitly (the registry calls it if this object is abandoned). */
15
- export declare abstract class Abi1Handle {
15
+ export declare abstract class Abi2Handle {
16
16
  #private;
17
17
  readonly kind: string;
18
18
  protected constructor(raw: RawApi, ptr: JsExternal, kind: string);
@@ -22,10 +22,10 @@ export declare abstract class Abi1Handle {
22
22
  close(): void;
23
23
  }
24
24
  /** Every described handle kind's wrapper class, keyed by its chs_* name (`HANDLE_INFO`'s own keys — never a literal spelled here). */
25
- export declare const HANDLE_CLASSES: Readonly<Record<string, new (raw: RawApi, ptr: JsExternal) => Abi1Handle>>;
25
+ export declare const HANDLE_CLASSES: Readonly<Record<string, new (raw: RawApi, ptr: JsExternal) => Abi2Handle>>;
26
26
  /** Wrap a freshly minted handle (`RawCallResult`'s `HandleRef`) in its class. */
27
27
  export declare function wrapHandle(raw: RawApi, ref: {
28
28
  readonly kind: string;
29
29
  readonly ptr: JsExternal;
30
- }): Abi1Handle;
30
+ }): Abi2Handle;
31
31
  //# sourceMappingURL=handles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/abi1/handles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGzC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEnD,2KAA2K;AAC3K,8BAAsB,UAAU;;IAG9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,SAAS,aAAa,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAI/D;IAED,+KAA+K;IAC/K,IAAI,GAAG,IAAI,UAAU,CAKpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,KAAK,IAAI,IAAI,CAMZ;CACF;AAwBD,sIAAsI;AACtI,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,KAAK,UAAU,CAAC,CAErG,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,UAAU,CAI5G"}
1
+ {"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/abi2/handles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGzC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEnD,2KAA2K;AAC3K,8BAAsB,UAAU;;IAG9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,SAAS,aAAa,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAI/D;IAED,+KAA+K;IAC/K,IAAI,GAAG,IAAI,UAAU,CAKpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,KAAK,IAAI,IAAI,CAMZ;CACF;AAwBD,sIAAsI;AACtI,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,KAAK,UAAU,CAAC,CAErG,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CAAE,GAAG,UAAU,CAI5G"}
@@ -13,7 +13,7 @@ import { HANDLE_INFO } from './decls.gen.js';
13
13
  import { usageError } from './errors.js';
14
14
  import { freeHandle } from './raw.js';
15
15
  /** A live handle over one opened image. `close()` is safe to call more than once and safe to never call explicitly (the registry calls it if this object is abandoned). */
16
- export class Abi1Handle {
16
+ export class Abi2Handle {
17
17
  #raw;
18
18
  #ptr;
19
19
  kind;
@@ -37,7 +37,7 @@ export class Abi1Handle {
37
37
  return;
38
38
  const freeSymbol = HANDLE_INFO[this.kind]?.free;
39
39
  if (freeSymbol === undefined)
40
- throw new Error(`chtypes abi1: ${this.kind} has no HANDLE_INFO entry`);
40
+ throw new Error(`chtypes abi2: ${this.kind} has no HANDLE_INFO entry`);
41
41
  freeHandle(this.#raw, freeSymbol, this.#ptr);
42
42
  this.#ptr = null;
43
43
  }
@@ -48,10 +48,10 @@ function makeHandleClass(kind) {
48
48
  });
49
49
  const info = HANDLE_INFO[kind];
50
50
  if (info === undefined)
51
- throw new Error(`chtypes abi1: no HANDLE_INFO for ${kind}`);
51
+ throw new Error(`chtypes abi2: no HANDLE_INFO for ${kind}`);
52
52
  const freeSymbol = info.free;
53
53
  const className = info.className;
54
- class Handle extends Abi1Handle {
54
+ class Handle extends Abi2Handle {
55
55
  constructor(raw, ptr) {
56
56
  super(raw, ptr, kind);
57
57
  registry.register(this, { raw, ptr, freeSymbol }, this);
@@ -70,7 +70,7 @@ export const HANDLE_CLASSES = Object.fromEntries(Object.keys(HANDLE_INFO).map((k
70
70
  export function wrapHandle(raw, ref) {
71
71
  const Class = HANDLE_CLASSES[ref.kind];
72
72
  if (Class === undefined)
73
- throw new Error(`chtypes abi1: no handle class for kind ${ref.kind}`);
73
+ throw new Error(`chtypes abi2: no handle class for kind ${ref.kind}`);
74
74
  return new Class(raw, ref.ptr);
75
75
  }
76
76
  //# sourceMappingURL=handles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handles.js","sourceRoot":"","sources":["../../src/abi1/handles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handles.js","sourceRoot":"","sources":["../../src/abi2/handles.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  /**
2
- * The ABI v1 loader and generated layer's surface inside this package: what
2
+ * The ABI v2 loader and generated layer's surface inside this package: what
3
3
  * the public API (`../index.ts`, `../registry.ts`, `../library.ts`) is built
4
4
  * over. Nothing here is re-exported wholesale: the public barrel names exactly
5
5
  * what a caller may use.
6
6
  */
7
7
  export { type BuildInfo, type Capabilities, decodeBuildInfo } from './buildinfo.js';
8
8
  export { type BlockHandle, Calls, type FilterHandle, type SchemaHandle } from './calls.gen.js';
9
- export { ABI_FINGERPRINT, ABI_VERSION, BUF_HANDLE, type FunctionSpec, type ParamSpec, type ReturnSpec } from './decls.gen.js';
9
+ export { ABI_FINGERPRINT, ABI_STABILITY, ABI_VERSION, BUF_HANDLE, type FunctionSpec, type ParamSpec, type ReturnSpec } from './decls.gen.js';
10
10
  export { errorForStatus, type LoaderErrorClass, loaderErrorClassFor } from './errmap.gen.js';
11
- export { ArtifactCorruptError, ArtifactError, ArtifactIncompatibleError, CallError, type CallErrorFields, ChtypesError, InternalError, internalError, isChtypesError, LoaderCorruptError, type LoaderErrorFields, SchemaError, UnsupportedError, UsageError, usageError, } from './errors.js';
12
- export { Abi1Handle, HANDLE_CLASSES, wrapHandle } from './handles.js';
13
- export { checkUnverifiedAllowed, type ImageSetup, LoadedImage, type LoadInput, openAbi1, openUnverified, type Predicate } from './loader.js';
11
+ export { ArtifactCorruptError, ArtifactError, ArtifactIncompatibleError, CallError, type CallErrorFields, ChtypesError, devFingerprintMessage, InternalError, internalError, isChtypesError, LoaderCorruptError, type LoaderErrorFields, SchemaError, UnsupportedError, UsageError, usageError, } from './errors.js';
12
+ export { Abi2Handle, HANDLE_CLASSES, wrapHandle } from './handles.js';
13
+ export { checkUnverifiedAllowed, type ImageSetup, LoadedImage, type LoadInput, openAbi2, openUnverified, type Predicate } from './loader.js';
14
14
  export { asBuffer, checkStatus, defineRawFunctions, type HandleRef, NULL_EXTERNAL, type RawApi, type RawCallResult, rawCall, readOwnedBuf, } from './raw.js';
15
15
  export { DuplicateKeyError, firstDuplicateKey, isAsciiOnly, parseStrictJson } from './strictjson.js';
16
16
  export * from './vocab.gen.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abi2/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7I,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,SAAS,EACT,KAAK,eAAe,EACpB,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,KAAK,UAAU,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7I,OAAO,EACL,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,KAAK,SAAS,EACd,aAAa,EACb,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,OAAO,EACP,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrG,cAAc,gBAAgB,CAAC"}
@@ -1,16 +1,16 @@
1
1
  /**
2
- * The ABI v1 loader and generated layer's surface inside this package: what
2
+ * The ABI v2 loader and generated layer's surface inside this package: what
3
3
  * the public API (`../index.ts`, `../registry.ts`, `../library.ts`) is built
4
4
  * over. Nothing here is re-exported wholesale: the public barrel names exactly
5
5
  * what a caller may use.
6
6
  */
7
7
  export { decodeBuildInfo } from './buildinfo.js';
8
8
  export { Calls } from './calls.gen.js';
9
- export { ABI_FINGERPRINT, ABI_VERSION, BUF_HANDLE } from './decls.gen.js';
9
+ export { ABI_FINGERPRINT, ABI_STABILITY, ABI_VERSION, BUF_HANDLE } from './decls.gen.js';
10
10
  export { errorForStatus, loaderErrorClassFor } from './errmap.gen.js';
11
- export { ArtifactCorruptError, ArtifactError, ArtifactIncompatibleError, CallError, ChtypesError, InternalError, internalError, isChtypesError, LoaderCorruptError, SchemaError, UnsupportedError, UsageError, usageError, } from './errors.js';
12
- export { Abi1Handle, HANDLE_CLASSES, wrapHandle } from './handles.js';
13
- export { checkUnverifiedAllowed, LoadedImage, openAbi1, openUnverified } from './loader.js';
11
+ export { ArtifactCorruptError, ArtifactError, ArtifactIncompatibleError, CallError, ChtypesError, devFingerprintMessage, InternalError, internalError, isChtypesError, LoaderCorruptError, SchemaError, UnsupportedError, UsageError, usageError, } from './errors.js';
12
+ export { Abi2Handle, HANDLE_CLASSES, wrapHandle } from './handles.js';
13
+ export { checkUnverifiedAllowed, LoadedImage, openAbi2, openUnverified } from './loader.js';
14
14
  export { asBuffer, checkStatus, defineRawFunctions, NULL_EXTERNAL, rawCall, readOwnedBuf, } from './raw.js';
15
15
  export { DuplicateKeyError, firstDuplicateKey, isAsciiOnly, parseStrictJson } from './strictjson.js';
16
16
  export * from './vocab.gen.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abi2/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAqC,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAoB,KAAK,EAAwC,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAsD,MAAM,gBAAgB,CAAC;AAC7I,OAAO,EAAE,cAAc,EAAyB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,SAAS,EAET,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAElB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAmB,WAAW,EAAkB,QAAQ,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AAC7I,OAAO,EACL,QAAQ,EACR,WAAW,EACX,kBAAkB,EAElB,aAAa,EAGb,OAAO,EACP,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrG,cAAc,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"libc.d.ts","sourceRoot":"","sources":["../../src/abi1/libc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAwB,KAAK,UAAU,EAAQ,MAAM,QAAQ,CAAC;AAwBrE,eAAO,MAAM,cAAc,QAAwB,CAAC;AAEpD,iVAAiV;AACjV,iBAAS,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAI5C;AAED,iPAAiP;AACjP,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEzD;AAED,6TAA6T;AAC7T,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAE5E;AAED,8JAA8J;AAC9J,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAGlD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAWlE;AAED,mgBAAmgB;AACngB,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK9D;AAID,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"libc.d.ts","sourceRoot":"","sources":["../../src/abi2/libc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAwB,KAAK,UAAU,EAAQ,MAAM,QAAQ,CAAC;AAwBrE,eAAO,MAAM,cAAc,QAAwB,CAAC;AAEpD,iVAAiV;AACjV,iBAAS,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAI5C;AAED,iPAAiP;AACjP,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEzD;AAED,6TAA6T;AAC7T,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAE5E;AAED,8JAA8J;AAC9J,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAGlD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAWlE;AAED,mgBAAmgB;AACngB,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK9D;AAID,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"libc.gen.d.ts","sourceRoot":"","sources":["../../src/abi1/libc.gen.ts"],"names":[],"mappings":"AAeA,OAAO,EAAmC,KAAK,UAAU,EAAQ,MAAM,QAAQ,CAAC;AA0ChF,2EAA2E;AAC3E,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGrE;AAED,6GAA6G;AAC7G,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGjF;AAED,wHAAwH;AACxH,wBAAgB,OAAO,IAAI,UAAU,GAAG,IAAI,CAG3C;AAED,iHAAiH;AACjH,wBAAgB,iBAAiB,IAAI,UAAU,GAAG,IAAI,CAOrD;AAED,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAErD"}
1
+ {"version":3,"file":"libc.gen.d.ts","sourceRoot":"","sources":["../../src/abi2/libc.gen.ts"],"names":[],"mappings":"AAeA,OAAO,EAAmC,KAAK,UAAU,EAAQ,MAAM,QAAQ,CAAC;AA0ChF,2EAA2E;AAC3E,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGrE;AAED,6GAA6G;AAC7G,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGjF;AAED,wHAAwH;AACxH,wBAAgB,OAAO,IAAI,UAAU,GAAG,IAAI,CAG3C;AAED,iHAAiH;AACjH,wBAAgB,iBAAiB,IAAI,UAAU,GAAG,IAAI,CAOrD;AAED,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAErD"}
@@ -1,6 +1,6 @@
1
- /* GENERATED by scripts/abi-v1/gen.py from spec/abi-v1/abi.json (CHS_ABI_FINGERPRINT sha256:856e5cb7543db291b4db716662bf6e487b2258973b959bbf5d58b4bd46d73285) — DO NOT EDIT */
1
+ /* GENERATED by scripts/abi-v1/gen.py --major 2 from spec/abi-v2/abi.json (CHS_ABI_FINGERPRINT sha256:d87e91be2bbe75b985c38224268c2f7dc5d8236dab0a4b4d61357c6dfdc1a232) — DO NOT EDIT */
2
2
  /*
3
- * The libc primitives ts/src/abi1/libc.ts needs for plan §3.3's TS-trap fix: dlopen,
3
+ * The libc primitives ts/src/abi2/libc.ts needs for plan §3.3's TS-trap fix: dlopen,
4
4
  * dlsym, dlerror, gnu_get_libc_version and strlen, declared through ffi-rs's define()
5
5
  * against the PROCESS'S OWN libc, by their real C names. This file carries the generated
6
6
  * banner, so scripts/abi-v1/check-no-hand-decls.py exempts it outright — the check's own
@@ -14,13 +14,13 @@
14
14
  */
15
15
  import { DataType, define, isNullPointer, open } from 'ffi-rs';
16
16
  const { External, I32, U64, String: Str } = DataType;
17
- const LIBC_KEY = 'chtypes_abi1_libc';
17
+ const LIBC_KEY = 'chtypes_abi2_libc';
18
18
  function libcPath() {
19
19
  if (process.platform === 'darwin')
20
20
  return '/usr/lib/libSystem.B.dylib';
21
21
  if (process.platform === 'linux')
22
22
  return 'libc.so.6';
23
- throw new Error(`chtypes abi1: unsupported platform ${process.platform}; only linux and darwin are v1 platforms`);
23
+ throw new Error(`chtypes abi2: unsupported platform ${process.platform}; only linux and darwin are ABI v2 platforms`);
24
24
  }
25
25
  let opened = false;
26
26
  function ensureOpen() {
@@ -1 +1 @@
1
- {"version":3,"file":"libc.gen.js","sourceRoot":"","sources":["../../src/abi1/libc.gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libc.gen.js","sourceRoot":"","sources":["../../src/abi2/libc.gen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"libc.js","sourceRoot":"","sources":["../../src/abi1/libc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libc.js","sourceRoot":"","sources":["../../src/abi2/libc.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,27 @@
1
1
  /**
2
- * The ABI v1 loader (plan §3, steps 1-7). Hand-written (the plan's "about 200
2
+ * The ABI v2 loader (plan §3, steps 1-7; the 2.0.0-dev binding, public issue #511). Hand-written (the plan's "about 200
3
3
  * lines per binding" FIRM piece); everything it reaches for — `rawDlopen`/
4
4
  * `rawDlsym`/`glibcVersionString` (`./libc.ts`), `defineRawFunctions`/
5
5
  * `rawCall` (`./raw.ts`), `DESCRIBED_SYMBOLS`/`SYMBOL`/`ABI_FINGERPRINT`/
6
6
  * `CROSS_CHECK` (`./decls.gen.ts`) — is generated or generic, so this file
7
7
  * never spells a `chs_` name itself.
8
8
  *
9
- * STEPS, IN ORDER (plan §3.2; `spec/abi-v1/sdk.json`'s `loader.refusals`
9
+ * STEPS, IN ORDER (plan §3.2; `spec/abi-v2/sdk.json`'s `loader.refusals`
10
10
  * names each reason):
11
11
  *
12
12
  * 1. glibc (Linux only; darwin skips it). BEFORE dlopen.
13
13
  * 2. `dlopen(path, RTLD_NOW | RTLD_LOCAL)`, through `./libc.ts` (plan
14
14
  * §3.3(b): the real fix for ffi-rs's own `RTLD_LAZY` open).
15
15
  * 3. `chs_abi_version`: present (`dlsym`, plan §3.3(c)) and, once present,
16
- * `=== 1` (a real call — only now safe through ffi-rs's own by-name
16
+ * `=== ABI_VERSION` (2; a real call — only now safe through ffi-rs's own by-name
17
17
  * `open`/`define`, plan §3.3(d), since step 2 already proved the image
18
18
  * binds completely under `RTLD_NOW`).
19
19
  * 4. `chs_build_info`: present, parses (ASCII, no duplicate keys at any
20
20
  * nesting depth, `schema === 1`), and its `abi_fingerprint` matches
21
- * this binding's own compiled-in `ABI_FINGERPRINT` byte for byte.
22
- * 5. the nine `CROSS_CHECK` fields (`spec/abi-v1/sdk.json`) against
21
+ * this binding's own compiled-in `ABI_FINGERPRINT` byte for byte. While
22
+ * the description is unstable (`ABI_STABILITY`) the refusal carries rule
23
+ * r6's exact dev message (`./errors.ts`, `devFingerprintMessage`).
24
+ * 5. the nine `CROSS_CHECK` fields (`spec/abi-v2/sdk.json`) against
23
25
  * `LoadInput.predicate`.
24
26
  * 6. every OTHER described symbol, present (`dlsym` only — no call).
25
27
  * 7. `chs_initialize(zone)`, then `chs_set_defaults(defaults)` when there are
@@ -66,7 +68,7 @@ export interface LoadInput extends ImageSetup {
66
68
  readonly predicate: Predicate;
67
69
  readonly platform: string;
68
70
  }
69
- /** One opened, verified ABI v1 image: the resolved raw table, its typed call wrappers, and the decoded build info. */
71
+ /** One opened, verified ABI v2 image: the resolved raw table, its typed call wrappers, and the decoded build info. */
70
72
  export declare class LoadedImage {
71
73
  readonly path: string;
72
74
  readonly raw: RawApi;
@@ -76,7 +78,7 @@ export declare class LoadedImage {
76
78
  get version(): string;
77
79
  }
78
80
  /**
79
- * Load, verify and open one ABI v1 artifact (plan §3.2, steps 1-7). Returns
81
+ * Load, verify and open one ABI v2 artifact (plan §3.2, steps 1-7). Returns
80
82
  * the SAME `LoadedImage` for a path, a hardlink, a symlink or a second
81
83
  * spelling of an already-loaded image: steps 2-4, 6 and 7 run once per image.
82
84
  * An already-open image is still checked against every new signed statement a
@@ -84,7 +86,7 @@ export declare class LoadedImage {
84
86
  * constant, which the first load already matched): a mismatch refuses that
85
87
  * request and leaves the image open for the requests it did match.
86
88
  */
87
- export declare function openAbi1(input: LoadInput): LoadedImage;
89
+ export declare function openAbi2(input: LoadInput): LoadedImage;
88
90
  /** `openUnverified`'s own gate, alone: a `UsageError` unless BOTH `allow` is true AND `CHTYPES_ALLOW_UNVERIFIED_LIBRARY=1` is set. The public layer asks it before an open is attempted, so the caller's misuse is told apart from a failed load. */
89
91
  export declare function checkUnverifiedAllowed(path: string, allow: boolean): void;
90
92
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/abi2/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAIH,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,OAAO,EAAsB,KAAK,MAAM,EAAW,MAAM,UAAU,CAAC;AAEpE,2VAA2V;AAC3V,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,gGAAgG;AAChG,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD;AAED,8JAA8J;AAC9J,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,sHAAsH;AACtH,qBAAa,WAAW;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,YAAY,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAK1D;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF;AAsID;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CAkBtD;AA6BD,qPAAqP;AACrP,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAIzE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,UAAU,GAAG,WAAW,CAa3G"}
@@ -1,25 +1,27 @@
1
1
  /**
2
- * The ABI v1 loader (plan §3, steps 1-7). Hand-written (the plan's "about 200
2
+ * The ABI v2 loader (plan §3, steps 1-7; the 2.0.0-dev binding, public issue #511). Hand-written (the plan's "about 200
3
3
  * lines per binding" FIRM piece); everything it reaches for — `rawDlopen`/
4
4
  * `rawDlsym`/`glibcVersionString` (`./libc.ts`), `defineRawFunctions`/
5
5
  * `rawCall` (`./raw.ts`), `DESCRIBED_SYMBOLS`/`SYMBOL`/`ABI_FINGERPRINT`/
6
6
  * `CROSS_CHECK` (`./decls.gen.ts`) — is generated or generic, so this file
7
7
  * never spells a `chs_` name itself.
8
8
  *
9
- * STEPS, IN ORDER (plan §3.2; `spec/abi-v1/sdk.json`'s `loader.refusals`
9
+ * STEPS, IN ORDER (plan §3.2; `spec/abi-v2/sdk.json`'s `loader.refusals`
10
10
  * names each reason):
11
11
  *
12
12
  * 1. glibc (Linux only; darwin skips it). BEFORE dlopen.
13
13
  * 2. `dlopen(path, RTLD_NOW | RTLD_LOCAL)`, through `./libc.ts` (plan
14
14
  * §3.3(b): the real fix for ffi-rs's own `RTLD_LAZY` open).
15
15
  * 3. `chs_abi_version`: present (`dlsym`, plan §3.3(c)) and, once present,
16
- * `=== 1` (a real call — only now safe through ffi-rs's own by-name
16
+ * `=== ABI_VERSION` (2; a real call — only now safe through ffi-rs's own by-name
17
17
  * `open`/`define`, plan §3.3(d), since step 2 already proved the image
18
18
  * binds completely under `RTLD_NOW`).
19
19
  * 4. `chs_build_info`: present, parses (ASCII, no duplicate keys at any
20
20
  * nesting depth, `schema === 1`), and its `abi_fingerprint` matches
21
- * this binding's own compiled-in `ABI_FINGERPRINT` byte for byte.
22
- * 5. the nine `CROSS_CHECK` fields (`spec/abi-v1/sdk.json`) against
21
+ * this binding's own compiled-in `ABI_FINGERPRINT` byte for byte. While
22
+ * the description is unstable (`ABI_STABILITY`) the refusal carries rule
23
+ * r6's exact dev message (`./errors.ts`, `devFingerprintMessage`).
24
+ * 5. the nine `CROSS_CHECK` fields (`spec/abi-v2/sdk.json`) against
23
25
  * `LoadInput.predicate`.
24
26
  * 6. every OTHER described symbol, present (`dlsym` only — no call).
25
27
  * 7. `chs_initialize(zone)`, then `chs_set_defaults(defaults)` when there are
@@ -40,11 +42,11 @@
40
42
  import { realpathSync, statSync } from 'node:fs';
41
43
  import { decodeBuildInfo } from './buildinfo.js';
42
44
  import { Calls } from './calls.gen.js';
43
- import { ABI_FINGERPRINT, CROSS_CHECK, DESCRIBED_SYMBOLS, SYMBOL } from './decls.gen.js';
45
+ import { ABI_FINGERPRINT, ABI_VERSION, CROSS_CHECK, DESCRIBED_SYMBOLS, SYMBOL } from './decls.gen.js';
44
46
  import { ArtifactIncompatibleError, LoaderCorruptError, UsageError, usageError } from './errors.js';
45
47
  import { compareDottedVersions, ffiOpen, glibcVersionString, lastDlError, rawDlopen, rawDlsym } from './libc.js';
46
48
  import { defineRawFunctions, rawCall } from './raw.js';
47
- /** One opened, verified ABI v1 image: the resolved raw table, its typed call wrappers, and the decoded build info. */
49
+ /** One opened, verified ABI v2 image: the resolved raw table, its typed call wrappers, and the decoded build info. */
48
50
  export class LoadedImage {
49
51
  path;
50
52
  raw;
@@ -145,9 +147,9 @@ function checkCrossFields(path, buildInfo, predicate) {
145
147
  */
146
148
  function openAndCheck(path, key) {
147
149
  const osHandle = openImage(path); // step 2
148
- // step 3: chs_abi_version present, then (through ffi-rs, now safe) === 1.
150
+ // step 3: chs_abi_version present, then (through ffi-rs, now safe) === ABI_VERSION.
149
151
  if (rawDlsym(osHandle, SYMBOL.ABI_VERSION) === null) {
150
- refuseIncompatible(path, 'not_v1', '1', '(the generation handshake is not exported)');
152
+ refuseIncompatible(path, 'not_v1', String(ABI_VERSION), '(the generation handshake is not exported)');
151
153
  }
152
154
  ffiOpen(key, path); // plan §3.3(d): only now, after RTLD_NOW already bound the image.
153
155
  let raw = rawTables.get(key);
@@ -157,8 +159,8 @@ function openAndCheck(path, key) {
157
159
  }
158
160
  const abiVersionCall = rawCall(raw, SYMBOL.ABI_VERSION, []);
159
161
  const abiVersion = abiVersionCall.outcome === 'value' ? Number(abiVersionCall.value) : Number.NaN;
160
- if (abiVersion !== 1)
161
- refuseIncompatible(path, 'abi_version', '1', String(abiVersion));
162
+ if (abiVersion !== ABI_VERSION)
163
+ refuseIncompatible(path, 'abi_version', String(ABI_VERSION), String(abiVersion));
162
164
  // step 4: the build info present, decoded (malformed is corrupt), fingerprint matches.
163
165
  if (rawDlsym(osHandle, SYMBOL.BUILD_INFO) === null) {
164
166
  refuseIncompatible(path, `missing_symbol:${SYMBOL.BUILD_INFO}`, undefined, `(${SYMBOL.BUILD_INFO} is not exported)`);
@@ -182,7 +184,7 @@ function openAndCheck(path, key) {
182
184
  return { raw, buildInfo };
183
185
  }
184
186
  /**
185
- * Load, verify and open one ABI v1 artifact (plan §3.2, steps 1-7). Returns
187
+ * Load, verify and open one ABI v2 artifact (plan §3.2, steps 1-7). Returns
186
188
  * the SAME `LoadedImage` for a path, a hardlink, a symlink or a second
187
189
  * spelling of an already-loaded image: steps 2-4, 6 and 7 run once per image.
188
190
  * An already-open image is still checked against every new signed statement a
@@ -190,7 +192,7 @@ function openAndCheck(path, key) {
190
192
  * constant, which the first load already matched): a mismatch refuses that
191
193
  * request and leaves the image open for the requests it did match.
192
194
  */
193
- export function openAbi1(input) {
195
+ export function openAbi2(input) {
194
196
  const path = input.libraryPath;
195
197
  const key = resolveImageKey(path);
196
198
  const cached = loadedByKey.get(key);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/abi2/loader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * The generic, data-driven call engine over the typed table `defineRawFunctions`
3
- * builds for one opened ABI v1 image (plan §3.3(d) happens in `./loader.ts`,
3
+ * builds for one opened ABI v2 image (plan §3.3(d) happens in `./loader.ts`,
4
4
  * which calls `./libc.ts`'s `ffiOpen` then this file's `defineRawFunctions`).
5
5
  *
6
6
  * This is the "invoke by name" dispatcher the plan asks of this emitter
@@ -95,7 +95,7 @@ export declare function rawCall(raw: RawApi, name: string, args: readonly unknow
95
95
  export declare function asBuffer(bytes: Uint8Array): Buffer;
96
96
  /**
97
97
  * The outputs of a status call that came back OK; anything else throws the
98
- * class `spec/abi-v1/sdk.json`'s status table gives (`./errmap.gen.ts`). A
98
+ * class `spec/abi-v2/sdk.json`'s status table gives (`./errmap.gen.ts`). A
99
99
  * non-OK status with no error object is the library's bug, never a silent
100
100
  * success.
101
101
  */
@@ -1 +1 @@
1
- {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../src/abi1/raw.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAOL,KAAK,UAAU,EAGhB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,aAAa,CAAC;AAiElE,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAC1C,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAM7D;AAwBD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,UAQxB,CAAC;AAWL,mLAAmL;AACnL,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAMjE;AAED,0OAA0O;AAC1O,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAEpF;AAUD,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC1D;IACE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACxC,CAAC;AAiBN;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,aAAa,CA2E1F;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAO/F"}
1
+ {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../src/abi2/raw.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAOL,KAAK,UAAU,EAGhB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,aAAa,CAAC;AAiElE,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAC1C,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAM7D;AAwBD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,UAQxB,CAAC;AAWL,mLAAmL;AACnL,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAMjE;AAED,0OAA0O;AAC1O,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAEpF;AAUD,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC1D;IACE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACxC,CAAC;AAiBN;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,aAAa,CA2E1F;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAO/F"}