@cipherstash/stack 0.19.0 → 1.0.0-rc.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 (90) hide show
  1. package/CHANGELOG.md +531 -0
  2. package/README.md +95 -77
  3. package/dist/adapter-kit.cjs +923 -0
  4. package/dist/adapter-kit.cjs.map +1 -0
  5. package/dist/adapter-kit.d.cts +82 -0
  6. package/dist/adapter-kit.d.ts +82 -0
  7. package/dist/adapter-kit.js +47 -0
  8. package/dist/adapter-kit.js.map +1 -0
  9. package/dist/base-operation-AOAIvsSB.d.cts +32 -0
  10. package/dist/base-operation-FXEzUXIq.d.ts +32 -0
  11. package/dist/{chunk-4AVL4VZD.js → chunk-3B5ZX3IS.js} +3 -1
  12. package/dist/chunk-3B5ZX3IS.js.map +1 -0
  13. package/dist/chunk-7333ZC6L.js +48 -0
  14. package/dist/chunk-7333ZC6L.js.map +1 -0
  15. package/dist/{chunk-MP3SSDNN.js → chunk-CLM7E4I6.js} +15 -15
  16. package/dist/{chunk-MP3SSDNN.js.map → chunk-CLM7E4I6.js.map} +1 -1
  17. package/dist/{chunk-U66S7VIF.js → chunk-V2Q3NYIH.js} +166 -107
  18. package/dist/chunk-V2Q3NYIH.js.map +1 -0
  19. package/dist/chunk-X3JRXEIB.js +98 -0
  20. package/dist/chunk-X3JRXEIB.js.map +1 -0
  21. package/dist/{chunk-36AA7IBJ.js → chunk-ZTP5QJ27.js} +51 -18
  22. package/dist/chunk-ZTP5QJ27.js.map +1 -0
  23. package/dist/client.cjs +29 -12
  24. package/dist/client.cjs.map +1 -1
  25. package/dist/client.d.cts +3 -2
  26. package/dist/client.d.ts +3 -2
  27. package/dist/client.js +2 -2
  28. package/dist/{table-DihEAlxG.d.cts → columns-D2_YzrCX.d.cts} +155 -136
  29. package/dist/{table-CIH7jZ2h.d.ts → columns-rZc7fQHI.d.ts} +155 -136
  30. package/dist/dynamodb/index.d.cts +3 -2
  31. package/dist/dynamodb/index.d.ts +3 -2
  32. package/dist/encryption/index.cjs +54 -16
  33. package/dist/encryption/index.cjs.map +1 -1
  34. package/dist/encryption/index.d.cts +807 -6
  35. package/dist/encryption/index.d.ts +807 -6
  36. package/dist/encryption/index.js +4 -4
  37. package/dist/encryption/v3.cjs +1078 -973
  38. package/dist/encryption/v3.cjs.map +1 -1
  39. package/dist/encryption/v3.d.cts +15 -12
  40. package/dist/encryption/v3.d.ts +15 -12
  41. package/dist/encryption/v3.js +49 -21
  42. package/dist/encryption/v3.js.map +1 -1
  43. package/dist/eql/v3/index.cjs +130 -79
  44. package/dist/eql/v3/index.cjs.map +1 -1
  45. package/dist/eql/v3/index.d.cts +115 -13
  46. package/dist/eql/v3/index.d.ts +115 -13
  47. package/dist/eql/v3/index.js +16 -6
  48. package/dist/index-BquA71_Y.d.ts +24 -0
  49. package/dist/index-fhWTOV0K.d.cts +24 -0
  50. package/dist/index.cjs +79 -27
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.cts +5 -17
  53. package/dist/index.d.ts +5 -17
  54. package/dist/index.js +4 -4
  55. package/dist/schema/index.cjs +29 -12
  56. package/dist/schema/index.cjs.map +1 -1
  57. package/dist/schema/index.d.cts +1 -1
  58. package/dist/schema/index.d.ts +1 -1
  59. package/dist/schema/index.js +2 -2
  60. package/dist/{types-public-CpS5KjwX.d.ts → types-public-QMjYNfQO.d.cts} +765 -726
  61. package/dist/{types-public-CpS5KjwX.d.cts → types-public-QMjYNfQO.d.ts} +765 -726
  62. package/dist/types-public.cjs.map +1 -1
  63. package/dist/types-public.d.cts +1 -1
  64. package/dist/types-public.d.ts +1 -1
  65. package/dist/types-public.js +1 -1
  66. package/dist/wasm-inline.d.ts +779 -405
  67. package/dist/wasm-inline.js +606 -299
  68. package/dist/wasm-inline.js.map +1 -1
  69. package/package.json +25 -53
  70. package/dist/chunk-36AA7IBJ.js.map +0 -1
  71. package/dist/chunk-4AVL4VZD.js.map +0 -1
  72. package/dist/chunk-IADZCZEA.js +0 -23
  73. package/dist/chunk-IADZCZEA.js.map +0 -1
  74. package/dist/chunk-IBSK6P33.js +0 -209
  75. package/dist/chunk-IBSK6P33.js.map +0 -1
  76. package/dist/chunk-U66S7VIF.js.map +0 -1
  77. package/dist/client-DSGHBN-g.d.cts +0 -834
  78. package/dist/client-DfCrlHXh.d.ts +0 -834
  79. package/dist/drizzle/index.cjs +0 -5617
  80. package/dist/drizzle/index.cjs.map +0 -1
  81. package/dist/drizzle/index.d.cts +0 -358
  82. package/dist/drizzle/index.d.ts +0 -358
  83. package/dist/drizzle/index.js +0 -1220
  84. package/dist/drizzle/index.js.map +0 -1
  85. package/dist/supabase/index.cjs +0 -5951
  86. package/dist/supabase/index.cjs.map +0 -1
  87. package/dist/supabase/index.d.cts +0 -223
  88. package/dist/supabase/index.d.ts +0 -223
  89. package/dist/supabase/index.js +0 -1217
  90. package/dist/supabase/index.js.map +0 -1
package/dist/client.cjs CHANGED
@@ -4077,6 +4077,23 @@ function defaultMatchOpts() {
4077
4077
  include_original: true
4078
4078
  };
4079
4079
  }
4080
+ function cloneMatchOpts(opts) {
4081
+ return {
4082
+ ...opts,
4083
+ tokenizer: { ...opts.tokenizer },
4084
+ token_filters: opts.token_filters.map((f) => ({ ...f }))
4085
+ };
4086
+ }
4087
+ function resolveMatchOpts(opts) {
4088
+ const defaults = defaultMatchOpts();
4089
+ return cloneMatchOpts({
4090
+ tokenizer: opts?.tokenizer ?? defaults.tokenizer,
4091
+ token_filters: opts?.token_filters ?? defaults.token_filters,
4092
+ k: opts?.k ?? defaults.k,
4093
+ m: opts?.m ?? defaults.m,
4094
+ include_original: opts?.include_original ?? defaults.include_original
4095
+ });
4096
+ }
4080
4097
 
4081
4098
  // src/schema/index.ts
4082
4099
  var eqlCastAsEnum = external_exports.enum([
@@ -4114,6 +4131,7 @@ var tokenizerSchema = external_exports.union([
4114
4131
  })
4115
4132
  ]).default({ kind: "ngram", token_length: 3 }).optional();
4116
4133
  var oreIndexOptsSchema = external_exports.object({});
4134
+ var opeIndexOptsSchema = external_exports.object({});
4117
4135
  var uniqueIndexOptsSchema = external_exports.object({
4118
4136
  token_filters: external_exports.array(tokenFilterSchema).default([]).optional()
4119
4137
  });
@@ -4135,10 +4153,12 @@ var arrayIndexModeSchema = external_exports.union([
4135
4153
  ]);
4136
4154
  var steVecIndexOptsSchema = external_exports.object({
4137
4155
  prefix: external_exports.string(),
4138
- array_index_mode: arrayIndexModeSchema.optional()
4156
+ array_index_mode: arrayIndexModeSchema.optional(),
4157
+ mode: external_exports.enum(["compat", "standard"]).optional()
4139
4158
  });
4140
4159
  var indexesSchema = external_exports.object({
4141
4160
  ore: oreIndexOptsSchema.optional(),
4161
+ ope: opeIndexOptsSchema.optional(),
4142
4162
  unique: uniqueIndexOptsSchema.optional(),
4143
4163
  match: matchIndexOptsSchema.optional(),
4144
4164
  ste_vec: steVecIndexOptsSchema.optional()
@@ -4167,7 +4187,7 @@ var EncryptedField = class {
4167
4187
  * a different type so the encryption layer knows how to encode the plaintext
4168
4188
  * before encrypting.
4169
4189
  *
4170
- * @param castAs - The plaintext data type: `'string'`, `'number'`, `'boolean'`, `'date'`, `'text'`, `'bigint'`, or `'json'`.
4190
+ * @param castAs - The plaintext data type: `'string'`, `'number'`, `'boolean'`, `'date'`, `'timestamp'`, `'text'`, `'bigint'`, or `'json'`. Use `'timestamp'` (not `'date'`) to preserve time-of-day — `'date'` truncates to midnight.
4171
4191
  * @returns This `EncryptedField` instance for method chaining.
4172
4192
  *
4173
4193
  * @example
@@ -4206,7 +4226,7 @@ var EncryptedColumn = class {
4206
4226
  * a different type so the encryption layer knows how to encode the plaintext
4207
4227
  * before encrypting.
4208
4228
  *
4209
- * @param castAs - The plaintext data type: `'string'`, `'number'`, `'boolean'`, `'date'`, `'bigint'`, or `'json'`.
4229
+ * @param castAs - The plaintext data type: `'string'`, `'number'`, `'boolean'`, `'date'`, `'timestamp'`, `'text'`, `'bigint'`, or `'json'`. Use `'timestamp'` (not `'date'`) to preserve time-of-day — `'date'` truncates to midnight.
4210
4230
  * @returns This `EncryptedColumn` instance for method chaining.
4211
4231
  *
4212
4232
  * @example
@@ -4295,14 +4315,7 @@ var EncryptedColumn = class {
4295
4315
  * ```
4296
4316
  */
4297
4317
  freeTextSearch(opts) {
4298
- const defaults = defaultMatchOpts();
4299
- this.indexesValue.match = {
4300
- tokenizer: opts?.tokenizer ?? defaults.tokenizer,
4301
- token_filters: opts?.token_filters ?? defaults.token_filters,
4302
- k: opts?.k ?? defaults.k,
4303
- m: opts?.m ?? defaults.m,
4304
- include_original: opts?.include_original ?? defaults.include_original
4305
- };
4318
+ this.indexesValue.match = resolveMatchOpts(opts);
4306
4319
  return this;
4307
4320
  }
4308
4321
  /**
@@ -4329,7 +4342,11 @@ var EncryptedColumn = class {
4329
4342
  */
4330
4343
  searchableJson() {
4331
4344
  this.castAsValue = "json";
4332
- this.indexesValue.ste_vec = { prefix: "enabled", array_index_mode: "all" };
4345
+ this.indexesValue.ste_vec = {
4346
+ prefix: "enabled",
4347
+ array_index_mode: "all",
4348
+ mode: "standard"
4349
+ };
4333
4350
  return this;
4334
4351
  }
4335
4352
  build() {