@cipherstash/protect-ffi 0.27.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +106 -34
  3. package/dist/wasm/protect_ffi.d.ts +10 -3
  4. package/dist/wasm/protect_ffi_bg.js +63 -14
  5. package/dist/wasm/protect_ffi_bg.wasm +0 -0
  6. package/dist/wasm/protect_ffi_bg.wasm.d.ts +11 -11
  7. package/dist/wasm/protect_ffi_inline.js +1 -1
  8. package/lib/bigintWire.d.ts +56 -0
  9. package/lib/bigintWire.js +83 -0
  10. package/lib/eql-v3-types/Bigint.d.ts +1 -1
  11. package/lib/eql-v3-types/BigintEq.d.ts +1 -1
  12. package/lib/eql-v3-types/BigintEqQuery.d.ts +13 -0
  13. package/lib/eql-v3-types/BigintEqQuery.js +2 -0
  14. package/lib/eql-v3-types/BigintOrd.d.ts +4 -4
  15. package/lib/eql-v3-types/BigintOrdOpe.d.ts +1 -1
  16. package/lib/eql-v3-types/BigintOrdOpeQuery.d.ts +13 -0
  17. package/lib/eql-v3-types/BigintOrdOpeQuery.js +2 -0
  18. package/lib/eql-v3-types/BigintOrdOre.d.ts +1 -1
  19. package/lib/eql-v3-types/BigintOrdOreQuery.d.ts +13 -0
  20. package/lib/eql-v3-types/BigintOrdOreQuery.js +2 -0
  21. package/lib/eql-v3-types/BigintOrdQuery.d.ts +13 -0
  22. package/lib/eql-v3-types/BigintOrdQuery.js +2 -0
  23. package/lib/eql-v3-types/Boolean.d.ts +1 -1
  24. package/lib/eql-v3-types/Date.d.ts +1 -1
  25. package/lib/eql-v3-types/DateEq.d.ts +1 -1
  26. package/lib/eql-v3-types/DateEqQuery.d.ts +13 -0
  27. package/lib/eql-v3-types/DateEqQuery.js +2 -0
  28. package/lib/eql-v3-types/DateOrd.d.ts +4 -4
  29. package/lib/eql-v3-types/DateOrdOpe.d.ts +1 -1
  30. package/lib/eql-v3-types/DateOrdOpeQuery.d.ts +13 -0
  31. package/lib/eql-v3-types/DateOrdOpeQuery.js +2 -0
  32. package/lib/eql-v3-types/DateOrdOre.d.ts +1 -1
  33. package/lib/eql-v3-types/DateOrdOreQuery.d.ts +13 -0
  34. package/lib/eql-v3-types/DateOrdOreQuery.js +2 -0
  35. package/lib/eql-v3-types/DateOrdQuery.d.ts +13 -0
  36. package/lib/eql-v3-types/DateOrdQuery.js +2 -0
  37. package/lib/eql-v3-types/Double.d.ts +1 -1
  38. package/lib/eql-v3-types/DoubleEq.d.ts +1 -1
  39. package/lib/eql-v3-types/DoubleEqQuery.d.ts +13 -0
  40. package/lib/eql-v3-types/DoubleEqQuery.js +2 -0
  41. package/lib/eql-v3-types/DoubleOrd.d.ts +4 -4
  42. package/lib/eql-v3-types/DoubleOrdOpe.d.ts +1 -1
  43. package/lib/eql-v3-types/DoubleOrdOpeQuery.d.ts +13 -0
  44. package/lib/eql-v3-types/DoubleOrdOpeQuery.js +2 -0
  45. package/lib/eql-v3-types/DoubleOrdOre.d.ts +1 -1
  46. package/lib/eql-v3-types/DoubleOrdOreQuery.d.ts +13 -0
  47. package/lib/eql-v3-types/DoubleOrdOreQuery.js +2 -0
  48. package/lib/eql-v3-types/DoubleOrdQuery.d.ts +13 -0
  49. package/lib/eql-v3-types/DoubleOrdQuery.js +2 -0
  50. package/lib/eql-v3-types/Integer.d.ts +1 -1
  51. package/lib/eql-v3-types/IntegerEq.d.ts +1 -1
  52. package/lib/eql-v3-types/IntegerEqQuery.d.ts +13 -0
  53. package/lib/eql-v3-types/IntegerEqQuery.js +2 -0
  54. package/lib/eql-v3-types/IntegerOrd.d.ts +4 -4
  55. package/lib/eql-v3-types/IntegerOrdOpe.d.ts +1 -1
  56. package/lib/eql-v3-types/IntegerOrdOpeQuery.d.ts +13 -0
  57. package/lib/eql-v3-types/IntegerOrdOpeQuery.js +2 -0
  58. package/lib/eql-v3-types/IntegerOrdOre.d.ts +1 -1
  59. package/lib/eql-v3-types/IntegerOrdOreQuery.d.ts +13 -0
  60. package/lib/eql-v3-types/IntegerOrdOreQuery.js +2 -0
  61. package/lib/eql-v3-types/IntegerOrdQuery.d.ts +13 -0
  62. package/lib/eql-v3-types/IntegerOrdQuery.js +2 -0
  63. package/lib/eql-v3-types/Numeric.d.ts +1 -1
  64. package/lib/eql-v3-types/NumericEq.d.ts +1 -1
  65. package/lib/eql-v3-types/NumericEqQuery.d.ts +13 -0
  66. package/lib/eql-v3-types/NumericEqQuery.js +2 -0
  67. package/lib/eql-v3-types/NumericOrd.d.ts +4 -4
  68. package/lib/eql-v3-types/NumericOrdOpe.d.ts +1 -1
  69. package/lib/eql-v3-types/NumericOrdOpeQuery.d.ts +13 -0
  70. package/lib/eql-v3-types/NumericOrdOpeQuery.js +2 -0
  71. package/lib/eql-v3-types/NumericOrdOre.d.ts +1 -1
  72. package/lib/eql-v3-types/NumericOrdOreQuery.d.ts +13 -0
  73. package/lib/eql-v3-types/NumericOrdOreQuery.js +2 -0
  74. package/lib/eql-v3-types/NumericOrdQuery.d.ts +13 -0
  75. package/lib/eql-v3-types/NumericOrdQuery.js +2 -0
  76. package/lib/eql-v3-types/OpeCllw.d.ts +9 -6
  77. package/lib/eql-v3-types/OreBlock256.d.ts +4 -4
  78. package/lib/eql-v3-types/Real.d.ts +1 -1
  79. package/lib/eql-v3-types/RealEq.d.ts +1 -1
  80. package/lib/eql-v3-types/RealEqQuery.d.ts +13 -0
  81. package/lib/eql-v3-types/RealEqQuery.js +2 -0
  82. package/lib/eql-v3-types/RealOrd.d.ts +4 -4
  83. package/lib/eql-v3-types/RealOrdOpe.d.ts +1 -1
  84. package/lib/eql-v3-types/RealOrdOpeQuery.d.ts +13 -0
  85. package/lib/eql-v3-types/RealOrdOpeQuery.js +2 -0
  86. package/lib/eql-v3-types/RealOrdOre.d.ts +1 -1
  87. package/lib/eql-v3-types/RealOrdOreQuery.d.ts +13 -0
  88. package/lib/eql-v3-types/RealOrdOreQuery.js +2 -0
  89. package/lib/eql-v3-types/RealOrdQuery.d.ts +13 -0
  90. package/lib/eql-v3-types/RealOrdQuery.js +2 -0
  91. package/lib/eql-v3-types/Selector.d.ts +1 -1
  92. package/lib/eql-v3-types/Smallint.d.ts +1 -1
  93. package/lib/eql-v3-types/SmallintEq.d.ts +1 -1
  94. package/lib/eql-v3-types/SmallintEqQuery.d.ts +13 -0
  95. package/lib/eql-v3-types/SmallintEqQuery.js +2 -0
  96. package/lib/eql-v3-types/SmallintOrd.d.ts +4 -4
  97. package/lib/eql-v3-types/SmallintOrdOpe.d.ts +1 -1
  98. package/lib/eql-v3-types/SmallintOrdOpeQuery.d.ts +13 -0
  99. package/lib/eql-v3-types/SmallintOrdOpeQuery.js +2 -0
  100. package/lib/eql-v3-types/SmallintOrdOre.d.ts +1 -1
  101. package/lib/eql-v3-types/SmallintOrdOreQuery.d.ts +13 -0
  102. package/lib/eql-v3-types/SmallintOrdOreQuery.js +2 -0
  103. package/lib/eql-v3-types/SmallintOrdQuery.d.ts +13 -0
  104. package/lib/eql-v3-types/SmallintOrdQuery.js +2 -0
  105. package/lib/eql-v3-types/SteVecDocument.d.ts +1 -1
  106. package/lib/eql-v3-types/SteVecEntry.d.ts +4 -4
  107. package/lib/eql-v3-types/SteVecQuery.d.ts +1 -1
  108. package/lib/eql-v3-types/SteVecQueryEntry.d.ts +2 -2
  109. package/lib/eql-v3-types/SteVecTerm.d.ts +4 -4
  110. package/lib/eql-v3-types/Text.d.ts +1 -1
  111. package/lib/eql-v3-types/TextEq.d.ts +1 -1
  112. package/lib/eql-v3-types/TextEqQuery.d.ts +13 -0
  113. package/lib/eql-v3-types/TextEqQuery.js +2 -0
  114. package/lib/eql-v3-types/TextMatch.d.ts +1 -1
  115. package/lib/eql-v3-types/TextMatchQuery.d.ts +13 -0
  116. package/lib/eql-v3-types/TextMatchQuery.js +2 -0
  117. package/lib/eql-v3-types/TextOrd.d.ts +4 -4
  118. package/lib/eql-v3-types/TextOrdOpe.d.ts +1 -1
  119. package/lib/eql-v3-types/TextOrdOpeQuery.d.ts +15 -0
  120. package/lib/eql-v3-types/TextOrdOpeQuery.js +2 -0
  121. package/lib/eql-v3-types/TextOrdOre.d.ts +1 -1
  122. package/lib/eql-v3-types/TextOrdOreQuery.d.ts +15 -0
  123. package/lib/eql-v3-types/TextOrdOreQuery.js +2 -0
  124. package/lib/eql-v3-types/TextOrdQuery.d.ts +15 -0
  125. package/lib/eql-v3-types/TextOrdQuery.js +2 -0
  126. package/lib/eql-v3-types/TextSearch.d.ts +4 -4
  127. package/lib/eql-v3-types/TextSearchOre.d.ts +19 -0
  128. package/lib/eql-v3-types/TextSearchOre.js +2 -0
  129. package/lib/eql-v3-types/TextSearchOreQuery.d.ts +17 -0
  130. package/lib/eql-v3-types/TextSearchOreQuery.js +2 -0
  131. package/lib/eql-v3-types/TextSearchQuery.d.ts +17 -0
  132. package/lib/eql-v3-types/TextSearchQuery.js +2 -0
  133. package/lib/eql-v3-types/Timestamp.d.ts +1 -1
  134. package/lib/eql-v3-types/TimestampEq.d.ts +1 -1
  135. package/lib/eql-v3-types/TimestampEqQuery.d.ts +13 -0
  136. package/lib/eql-v3-types/TimestampEqQuery.js +2 -0
  137. package/lib/eql-v3-types/TimestampOrd.d.ts +4 -4
  138. package/lib/eql-v3-types/TimestampOrdOpe.d.ts +1 -1
  139. package/lib/eql-v3-types/TimestampOrdOpeQuery.d.ts +13 -0
  140. package/lib/eql-v3-types/TimestampOrdOpeQuery.js +2 -0
  141. package/lib/eql-v3-types/TimestampOrdOre.d.ts +1 -1
  142. package/lib/eql-v3-types/TimestampOrdOreQuery.d.ts +13 -0
  143. package/lib/eql-v3-types/TimestampOrdOreQuery.js +2 -0
  144. package/lib/eql-v3-types/TimestampOrdQuery.d.ts +13 -0
  145. package/lib/eql-v3-types/TimestampOrdQuery.js +2 -0
  146. package/lib/eql-v3.d.ts +63 -7
  147. package/lib/errors.d.ts +1 -1
  148. package/lib/errors.js +0 -4
  149. package/lib/index.cjs +23 -11
  150. package/lib/index.d.cts +91 -25
  151. package/lib/normalizeEncryptConfig.d.ts +2 -1
  152. package/lib/normalizeEncryptConfig.js +2 -1
  153. package/package.json +11 -11
  154. package/lib/eql-v3-types/OreCllw.d.ts +0 -7
  155. package/lib/eql-v3-types/OreCllw.js +0 -5
package/lib/index.d.cts CHANGED
@@ -47,15 +47,20 @@ export declare function decryptBulkFallible(client: Client, opts: DecryptBulkOpt
47
47
  * Under `eqlVersion: 2` (default) this returns the v2 shapes ({@link
48
48
  * Encrypted} for JSON containment, {@link EncryptedQuery} otherwise).
49
49
  *
50
- * Under `eqlVersion: 3` only JSON containment queries are supported and
51
- * return the `eql_v3.jsonb_query` needle ({@link EncryptedV3Query}). Scalar
52
- * index queries (`unique` / `ore` / `ope` / `match`) and `ste_vec_selector`
53
- * queries
54
- * throw `EQL_V3_QUERY_UNSUPPORTED` — no EQL v3 scalar/selector query wire
55
- * shape exists yet, so those queries require an `eqlVersion: 2` client.
50
+ * Under `eqlVersion: 3` this returns an {@link EncryptedV3Query}:
51
+ *
52
+ * - Scalar index queries (`unique` / `ore` / `ope` / `match`) produce the
53
+ * term-only operand for the column domain's query twin (`{v, i, <terms>}`,
54
+ * no `c` ciphertext) bind with `col = $1::jsonb::eql_v3.query_<name>`.
55
+ * The operand always carries ALL the column domain's terms, whichever
56
+ * `indexType` was queried.
57
+ * - JSON containment queries produce the `eql_v3.query_jsonb` needle — bind
58
+ * with `doc @> $1::jsonb::eql_v3.query_jsonb`.
59
+ * - `ste_vec_selector` queries produce the bare selector hash (a string) —
60
+ * bind as the `text` argument of `->` / `->>`.
56
61
  */
57
62
  export declare function encryptQuery(client: Client, opts: EncryptQueryOptions): Promise<Encrypted | EncryptedQuery | EncryptedV3Query>;
58
- /** Bulk variant of {@link encryptQuery} — same EQL v3 restrictions apply. */
63
+ /** Bulk variant of {@link encryptQuery} — same EQL v3 shapes apply. */
59
64
  export declare function encryptQueryBulk(client: Client, opts: EncryptQueryBulkOptions): Promise<(Encrypted | EncryptedQuery | EncryptedV3Query)[]>;
60
65
  /**
61
66
  * Test-only helper: ensures a keyset with the given name exists, creating it if necessary,
@@ -188,7 +193,9 @@ export type EncryptedSteVecSelector = {
188
193
  * One entry inside a SteVec payload (`k: "sv"`).
189
194
  *
190
195
  * Every element carries `s` (selector), `c` (entry ciphertext), and exactly one
191
- * per-element equality / ordering term (`hm` or `oc`).
196
+ * per-element equality / ordering term: `hm` for non-orderable leaves, and for
197
+ * orderable leaves either `op` (Compat mode, the default) or `oc` (Standard
198
+ * mode). EQL v3 accepts `hm` XOR `op` and rejects `oc`.
192
199
  */
193
200
  export type SteVecEntry = {
194
201
  /** Hex-encoded tokenized selector — deterministic per (path, key) */
@@ -199,7 +206,9 @@ export type SteVecEntry = {
199
206
  a?: boolean;
200
207
  /** Per-entry HMAC term for non-orderable leaves (objects, arrays, booleans, null) */
201
208
  hm?: string;
202
- /** Per-entry CLLW ORE term for orderable leaves (strings, numbers) — Standard mode */
209
+ /** Per-entry CLLW OPE term for orderable leaves (strings, numbers) — Compat mode, the default */
210
+ op?: string;
211
+ /** Per-entry CLLW ORE term for orderable leaves (strings, numbers) — Standard mode, EQL v2 only */
203
212
  oc?: string;
204
213
  };
205
214
  /** @deprecated Use SteVecEntry instead */
@@ -249,9 +258,14 @@ export type ArrayIndexMode = 'all' | 'none' | {
249
258
  /**
250
259
  * Encoding mode for SteVec indexes.
251
260
  *
252
- * - `standard`: standard encoding (default).
253
- * - `compat`: backwards-compatible encoding. Set explicitly to preserve the
254
- * pre-0.34.1-alpha.7 behaviour.
261
+ * - `compat`: CLLW-OPE ordering, emits `op` per entry. The default since
262
+ * cipherstash-config 0.40.0, and the only mode EQL v3 accepts.
263
+ * - `standard`: CLLW-ORE ordering, emits `oc` per entry. The pre-0.40.0
264
+ * default; EQL v2 only.
265
+ *
266
+ * The two orderings are not cross-comparable, so a column cannot change mode
267
+ * without re-encrypting. Pin `standard` on v2 JSON columns that already hold
268
+ * rows.
255
269
  */
256
270
  export type SteVecMode = 'compat' | 'standard';
257
271
  export type SteVecIndexOpts = {
@@ -284,25 +298,55 @@ export type NewClientOptions = {
284
298
  * `eql_v2_encrypted` payload format).
285
299
  *
286
300
  * With `3`, {@link encrypt} / {@link encryptBulk} return {@link
287
- * EncryptedV3} payloads for the `eql_v3` per-capability domains
288
- * (`eql_v3.text_eq`, `eql_v3.integer_ord_ore`, `eql_v3.json`, …), derived
289
- * from each column's `cast_as` + indexes. {@link decrypt} accepts BOTH
290
- * formats regardless of this setting.
291
- *
292
- * v3 limitation: {@link encryptQuery} supports only JSON containment
293
- * queries scalar-index and selector queries throw
294
- * `EQL_V3_QUERY_UNSUPPORTED` until a v3 scalar query wire shape exists.
301
+ * EncryptedV3} payloads for the `eql_v3` per-capability column domains
302
+ * (`public.eql_v3_text_eq`, `public.eql_v3_integer_ord_ore`,
303
+ * `public.eql_v3_json`, …), derived
304
+ * from each column's `cast_as` + indexes, and {@link encryptQuery} /
305
+ * {@link encryptQueryBulk} return {@link EncryptedV3Query} operands:
306
+ * term-only scalar operands for the `eql_v3.query_<name>` twins, the
307
+ * `eql_v3.query_jsonb` containment needle, and bare selector-hash strings
308
+ * for path queries. {@link decrypt} accepts BOTH formats regardless of
309
+ * this setting.
295
310
  */
296
311
  eqlVersion?: 2 | 3;
297
312
  };
313
+ /** The token payload the native side ultimately reads. */
314
+ export type TokenResult = {
315
+ token: string;
316
+ };
317
+ /**
318
+ * A `@byteslice/result` `Result` envelope, as returned by
319
+ * `@cipherstash/auth` >= 0.41's `getToken()`.
320
+ */
321
+ export type TokenResultEnvelope = {
322
+ data: TokenResult;
323
+ failure?: undefined;
324
+ } | {
325
+ failure: {
326
+ type?: string;
327
+ error?: Error;
328
+ };
329
+ data?: undefined;
330
+ };
298
331
  /**
299
332
  * Auth strategy shape compatible with `@cipherstash/auth` strategies (e.g.
300
- * `AccessKeyStrategy`). Only `getToken` is required.
333
+ * `AccessKeyStrategy`, `OidcFederationStrategy`). Only `getToken` is required.
334
+ *
335
+ * `getToken` may resolve either shape — the native and WASM clients accept both
336
+ * (see `crates/protect-ffi/src/lib.rs` and `crates/protect-ffi/src/wasm.rs`):
337
+ *
338
+ * - `{ token }` — the bare payload, used by `@cipherstash/auth` <= 0.40 and by
339
+ * custom strategies.
340
+ * - `{ data: { token } }` / `{ failure }` — the `Result` envelope, used by
341
+ * `@cipherstash/auth` >= 0.41. A `failure` is reconstructed into the
342
+ * corresponding `AuthError`.
343
+ *
344
+ * Both have been accepted at runtime since 0.28.0; this type previously
345
+ * declared only the bare payload, so a real `@cipherstash/auth` >= 0.41
346
+ * strategy could not be assigned to it.
301
347
  */
302
348
  export type AuthStrategy = {
303
- getToken: () => Promise<{
304
- token: string;
305
- }>;
349
+ getToken: () => Promise<TokenResult | TokenResultEnvelope>;
306
350
  };
307
351
  /** Options passed to the native `newClient` after vocabulary normalization. */
308
352
  type NativeNewClientOptions = {
@@ -325,7 +369,29 @@ export type EnsureKeysetResult = {
325
369
  id: string;
326
370
  name: string;
327
371
  };
328
- export type JsPlaintext = string | number | boolean | Record<string, unknown> | JsPlaintext[];
372
+ /**
373
+ * A plaintext value accepted by {@link encrypt} / {@link encryptBulk} /
374
+ * {@link encryptQuery} and returned by {@link decrypt} / {@link decryptBulk} /
375
+ * {@link decryptBulkFallible} (in the `data` arm of each result).
376
+ *
377
+ * `bigint` support (encrypted `cast_as: 'bigint'` columns store signed
378
+ * 64-bit integers):
379
+ *
380
+ * - **Input**: a top-level `bigint` plaintext is accepted alongside
381
+ * `number`. Values outside the i64 range (-2^63 to 2^63 - 1) throw a
382
+ * `RangeError` at the boundary — this covers index-term generation too,
383
+ * since terms derive from the same value. `number` inputs keep the
384
+ * existing exact-integer guard (fractional, non-finite, or beyond-2^53
385
+ * inexact values are rejected). `bigint` values nested inside JSON
386
+ * objects/arrays are NOT supported (JSON has no bigint) and throw a
387
+ * `TypeError` on both Neon and wasm — plaintexts follow
388
+ * `JSON.stringify` semantics on both platforms.
389
+ * - **Output** (BREAKING since the introduction of bigint support):
390
+ * decrypting a `cast_as: 'bigint'` column ALWAYS returns a `bigint`,
391
+ * even for values that fit in a JS number. Previous releases returned a
392
+ * `number`, silently losing precision beyond `Number.MAX_SAFE_INTEGER`.
393
+ */
394
+ export type JsPlaintext = string | number | boolean | bigint | Record<string, unknown> | JsPlaintext[];
329
395
  export type EncryptOptions = {
330
396
  plaintext: JsPlaintext;
331
397
  column: string;
@@ -24,6 +24,7 @@ export type NativeEncryptConfig = Omit<EncryptConfig, 'tables'> & {
24
24
  * `'none'` — the library would otherwise default to `'all'`.
25
25
  *
26
26
  * `mode` is intentionally left untouched: an omitted `mode` follows the
27
- * library default (`standard`). The input config is never mutated.
27
+ * library default (`compat` since cipherstash-config 0.40.0). The input
28
+ * config is never mutated.
28
29
  */
29
30
  export declare function normalizeEncryptConfig(config: EncryptConfig): NativeEncryptConfig;
@@ -20,7 +20,8 @@ const CAST_AS_REMAP = {
20
20
  * `'none'` — the library would otherwise default to `'all'`.
21
21
  *
22
22
  * `mode` is intentionally left untouched: an omitted `mode` follows the
23
- * library default (`standard`). The input config is never mutated.
23
+ * library default (`compat` since cipherstash-config 0.40.0). The input
24
+ * config is never mutated.
24
25
  */
25
26
  function normalizeEncryptConfig(config) {
26
27
  const tables = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cipherstash/protect-ffi",
3
- "version": "0.27.0",
3
+ "version": "0.29.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cipherstash/protectjs-ffi.git"
@@ -9,7 +9,7 @@
9
9
  "url": "https://github.com/cipherstash/protectjs-ffi/issues"
10
10
  },
11
11
  "homepage": "https://github.com/cipherstash/protectjs-ffi#readme",
12
- "description": "",
12
+ "description": "Native FFI bindings to the CipherStash Client SDK — powers @cipherstash/stack",
13
13
  "main": "./lib/index.cjs",
14
14
  "scripts": {
15
15
  "test": "npm run test:typecheck && npm run test:unit && npm run test:lint && npm run test:format && npm run test:rust",
@@ -32,14 +32,14 @@
32
32
  "cross": "npm run cross-build -- --release",
33
33
  "zigbuild": "npm run zig-build -- --release",
34
34
  "prepack": "tsc &&neon update",
35
- "version": "neon bump --binaries platforms && git add .",
35
+ "version": "neon bump --binaries platforms && node scripts/changelog-release.mjs && git add .",
36
36
  "release": "gh workflow run release.yml -f dryrun=false -f version=patch",
37
37
  "dryrun": "gh workflow run release.yml -f dryrun=true -f version=patch",
38
38
  "build:wasm": "wasm-pack build crates/protect-ffi --target bundler --out-dir ../../dist/wasm --no-pack",
39
39
  "postbuild:wasm": "node scripts/inline-wasm.mjs"
40
40
  },
41
- "author": "",
42
- "license": "ISC",
41
+ "author": "CipherStash <humans@cipherstash.com>",
42
+ "license": "MIT",
43
43
  "exports": {
44
44
  ".": {
45
45
  "node": {
@@ -103,11 +103,11 @@
103
103
  "vite": "^8.0.5"
104
104
  },
105
105
  "optionalDependencies": {
106
- "@cipherstash/protect-ffi-darwin-x64": "0.27.0",
107
- "@cipherstash/protect-ffi-darwin-arm64": "0.27.0",
108
- "@cipherstash/protect-ffi-win32-x64-msvc": "0.27.0",
109
- "@cipherstash/protect-ffi-linux-x64-gnu": "0.27.0",
110
- "@cipherstash/protect-ffi-linux-arm64-gnu": "0.27.0",
111
- "@cipherstash/protect-ffi-linux-x64-musl": "0.27.0"
106
+ "@cipherstash/protect-ffi-darwin-x64": "0.29.0",
107
+ "@cipherstash/protect-ffi-darwin-arm64": "0.29.0",
108
+ "@cipherstash/protect-ffi-win32-x64-msvc": "0.29.0",
109
+ "@cipherstash/protect-ffi-linux-x64-gnu": "0.29.0",
110
+ "@cipherstash/protect-ffi-linux-arm64-gnu": "0.29.0",
111
+ "@cipherstash/protect-ffi-linux-x64-musl": "0.29.0"
112
112
  }
113
113
  }
@@ -1,7 +0,0 @@
1
- /**
2
- * CLLW-ORE ordered term — the `oc` wire key of a SteVec entry. Backs entry
3
- * ordering (`<` `<=` `>` `>=`) and equality on ordered leaves. SQL-side
4
- * constructor: `eql_v3.ore_cllw`. A SteVec entry carries exactly one of `hm`
5
- * (equality) XOR `oc` (ordering) — enforced by the SQL domain CHECK.
6
- */
7
- export type OreCllw = string;
@@ -1,5 +0,0 @@
1
- "use strict";
2
- // @generated — vendored from eql-bindings bindings/v3 (encrypt-query-language).
3
- // Do not hand-edit. Refresh with scripts/sync-eql-v3-types.sh.
4
- // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
5
- Object.defineProperty(exports, "__esModule", { value: true });