hazo_connect 3.1.0 → 3.3.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 (41) hide show
  1. package/README.md +2 -2
  2. package/dist/adapters/better-sqlite3-adapter.d.ts.map +1 -1
  3. package/dist/adapters/better-sqlite3-adapter.js +4 -0
  4. package/dist/adapters/better-sqlite3-adapter.js.map +1 -1
  5. package/dist/adapters/postgrest-adapter.d.ts +1 -0
  6. package/dist/adapters/postgrest-adapter.d.ts.map +1 -1
  7. package/dist/adapters/postgrest-adapter.js +29 -0
  8. package/dist/adapters/postgrest-adapter.js.map +1 -1
  9. package/dist/adapters/sqlite-adapter.d.ts +1 -0
  10. package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
  11. package/dist/adapters/sqlite-adapter.js +17 -2
  12. package/dist/adapters/sqlite-adapter.js.map +1 -1
  13. package/dist/connect-config.d.ts +9 -0
  14. package/dist/connect-config.d.ts.map +1 -1
  15. package/dist/connect-config.js +2 -0
  16. package/dist/connect-config.js.map +1 -1
  17. package/dist/crypto/field-crypto.d.ts +75 -0
  18. package/dist/crypto/field-crypto.d.ts.map +1 -0
  19. package/dist/crypto/field-crypto.js +196 -0
  20. package/dist/crypto/field-crypto.js.map +1 -0
  21. package/dist/factory.d.ts.map +1 -1
  22. package/dist/factory.js +11 -16
  23. package/dist/factory.js.map +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/nextjs/setup-helpers.d.ts +6 -0
  28. package/dist/nextjs/setup-helpers.d.ts.map +1 -1
  29. package/dist/nextjs/setup-helpers.js +9 -6
  30. package/dist/nextjs/setup-helpers.js.map +1 -1
  31. package/dist/server/index.d.ts +1 -1
  32. package/dist/server/index.d.ts.map +1 -1
  33. package/dist/server/index.js.map +1 -1
  34. package/dist/sqlite/admin-service.d.ts +12 -6
  35. package/dist/sqlite/admin-service.d.ts.map +1 -1
  36. package/dist/sqlite/admin-service.js +11 -8
  37. package/dist/sqlite/admin-service.js.map +1 -1
  38. package/dist/types.d.ts +14 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js.map +1 -1
  41. package/package.json +4 -3
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ /**
3
+ * Purpose: Transparent field-level encryption/decryption helpers for the PostgREST and SQLite adapters.
4
+ *
5
+ * encryptBody — encrypt configured columns before POST/PATCH writes
6
+ * decryptRows — decrypt configured columns after GET reads
7
+ * tableFromEndpoint — extract the table name from a PostgREST endpoint path
8
+ * resolveEntityId — extract the entity id for AAD binding
9
+ *
10
+ * PostgREST callers pass the endpoint string and receive/return raw EncryptedField objects
11
+ * (stored as jsonb). SQLite callers pass '' for endpoint and use the serialize/deserialize
12
+ * opts so that EncryptedField envelopes are stored as JSON strings (SQLite TEXT) and parsed
13
+ * back on read — SQLite cannot bind plain objects as params.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.tableFromEndpoint = tableFromEndpoint;
17
+ exports.resolveEntityId = resolveEntityId;
18
+ exports.encryptBody = encryptBody;
19
+ exports.decryptRows = decryptRows;
20
+ const crypto_1 = require("hazo_secure/crypto");
21
+ // ---------------------------------------------------------------------------
22
+ // Internal helpers
23
+ // ---------------------------------------------------------------------------
24
+ /**
25
+ * Returns true when the value looks like a stored EncryptedField envelope.
26
+ * We check the minimum structural properties — callers should not double-encrypt
27
+ * values that are already envelopes.
28
+ */
29
+ function looksLikeEncryptedField(v) {
30
+ if (typeof v !== 'object' || v === null)
31
+ return false;
32
+ const obj = v;
33
+ return (typeof obj['v'] === 'number' &&
34
+ typeof obj['keyId'] === 'string' &&
35
+ typeof obj['iv'] === 'string' &&
36
+ typeof obj['ct'] === 'string' &&
37
+ typeof obj['tag'] === 'string');
38
+ }
39
+ // ---------------------------------------------------------------------------
40
+ // Public utilities
41
+ // ---------------------------------------------------------------------------
42
+ /**
43
+ * Extract the PostgREST table name from an endpoint path.
44
+ *
45
+ * Rules:
46
+ * - Strip leading `/`
47
+ * - Take the segment before the first `?` or `/`
48
+ * - Return `null` if the segment is empty, or if it equals `rpc` (RPC calls
49
+ * are never encrypted — they use function parameters, not table columns)
50
+ *
51
+ * Examples:
52
+ * `/site_credentials?site_id=eq.5` → `"site_credentials"`
53
+ * `/rpc/my_fn` → `null`
54
+ * `/` → `null`
55
+ * `` → `null`
56
+ */
57
+ function tableFromEndpoint(endpoint) {
58
+ // Strip leading slash
59
+ const stripped = endpoint.startsWith('/') ? endpoint.slice(1) : endpoint;
60
+ // Take segment before first '?' or '/'
61
+ const segment = stripped.split(/[?/]/)[0];
62
+ if (!segment || segment === 'rpc')
63
+ return null;
64
+ return segment;
65
+ }
66
+ /**
67
+ * Resolve the entity id for AAD binding.
68
+ *
69
+ * Priority:
70
+ * 1. `bodyObj[idColumn]` when idColumn is given and the value is non-null/undefined
71
+ * 2. Query-string `${idColumn}=eq.<value>` from `endpoint`
72
+ * 3. `null` — AAD falls back to a 2-part weaker binding at the call site
73
+ */
74
+ function resolveEntityId(_table, bodyObj, endpoint, idColumn) {
75
+ if (!idColumn)
76
+ return null;
77
+ // 1. Prefer body value
78
+ const bodyVal = bodyObj[idColumn];
79
+ if (bodyVal !== null && bodyVal !== undefined) {
80
+ return String(bodyVal);
81
+ }
82
+ // 2. Parse query string for `idColumn=eq.<value>`
83
+ const qsStart = endpoint.indexOf('?');
84
+ if (qsStart !== -1) {
85
+ const qs = endpoint.slice(qsStart + 1);
86
+ const params = new URLSearchParams(qs);
87
+ const raw = params.get(idColumn);
88
+ if (raw !== null) {
89
+ // PostgREST filter value format: `eq.<value>`
90
+ const match = raw.match(/^eq\.(.+)$/);
91
+ if (match)
92
+ return decodeURIComponent(match[1]);
93
+ }
94
+ }
95
+ return null;
96
+ }
97
+ /**
98
+ * Encrypt configured columns in a request body before sending to PostgREST or SQLite.
99
+ *
100
+ * - bodyObj may be a single row object OR an array (bulk insert)
101
+ * - Only string-valued columns that are NOT already an EncryptedField are encrypted
102
+ * - Shallow-clones each row; does not mutate the caller's object
103
+ * - Returns the (possibly transformed) body
104
+ *
105
+ * opts.serialize (SQLite mode): when true, each EncryptedField envelope is stored as
106
+ * JSON.stringify(envelope) — a plain string — so SQLite can bind it as TEXT. PostgREST
107
+ * callers must leave opts undefined (default object behavior).
108
+ *
109
+ * SQLite callers pass '' for endpoint; entityId then resolves from the body only (insert).
110
+ * If the id is not in the body (e.g. updates where the id is in the WHERE clause), entityId
111
+ * falls back to null and the AAD becomes the 2-part weaker binding `${table}:${col}`.
112
+ */
113
+ async function encryptBody(table, bodyObj, endpoint, cfg, opts) {
114
+ const tableCfg = cfg.fields[table];
115
+ if (!tableCfg)
116
+ return bodyObj;
117
+ const { columns, idColumn } = tableCfg;
118
+ const serialize = opts?.serialize === true;
119
+ const encryptRow = async (row) => {
120
+ const cloned = { ...row };
121
+ const entityId = resolveEntityId(table, row, endpoint, idColumn);
122
+ for (const col of columns) {
123
+ const value = cloned[col];
124
+ if (value === null || value === undefined)
125
+ continue;
126
+ if (typeof value !== 'string')
127
+ continue;
128
+ if (looksLikeEncryptedField(value))
129
+ continue;
130
+ const aad = entityId !== null
131
+ ? (0, crypto_1.aadFor)(table, entityId, col)
132
+ : `${table}:${col}`;
133
+ const envelope = await (0, crypto_1.encryptField)(value, { keys: cfg.keys, aad });
134
+ cloned[col] = serialize ? JSON.stringify(envelope) : envelope;
135
+ }
136
+ return cloned;
137
+ };
138
+ if (Array.isArray(bodyObj)) {
139
+ return Promise.all(bodyObj.map((row) => encryptRow(row)));
140
+ }
141
+ return encryptRow(bodyObj);
142
+ }
143
+ /**
144
+ * Decrypt configured columns in data returned from PostgREST or SQLite.
145
+ *
146
+ * - data may be a single row object, an array, or null
147
+ * - Only values that look like EncryptedField envelopes are decrypted (idempotent)
148
+ * - Does not pass aad on decrypt — the envelope carries its own aad
149
+ * - Shallow-clones each row; does not mutate the input
150
+ *
151
+ * opts.deserialize (SQLite mode): when true, for each configured column, if the stored
152
+ * value is a string, attempt JSON.parse; if the parsed result looksLikeEncryptedField,
153
+ * decrypt it. Non-JSON strings and plaintext pass through untouched. PostgREST callers
154
+ * must leave opts undefined (default object-only behavior).
155
+ */
156
+ async function decryptRows(table, data, cfg, opts) {
157
+ const tableCfg = cfg.fields[table];
158
+ if (!tableCfg)
159
+ return data;
160
+ if (data === null || data === undefined)
161
+ return data;
162
+ const { columns } = tableCfg;
163
+ const deserialize = opts?.deserialize === true;
164
+ const decryptRow = async (row) => {
165
+ const cloned = { ...row };
166
+ for (const col of columns) {
167
+ let value = cloned[col];
168
+ // SQLite deserialization: parse JSON string back to envelope object
169
+ if (deserialize && typeof value === 'string') {
170
+ try {
171
+ const parsed = JSON.parse(value);
172
+ if (looksLikeEncryptedField(parsed)) {
173
+ value = parsed;
174
+ }
175
+ else {
176
+ // Valid JSON but not an envelope — plaintext pass-through
177
+ continue;
178
+ }
179
+ }
180
+ catch {
181
+ // Not valid JSON — plaintext pass-through
182
+ continue;
183
+ }
184
+ }
185
+ if (!looksLikeEncryptedField(value))
186
+ continue;
187
+ cloned[col] = await (0, crypto_1.decryptField)(value, { keys: cfg.keys });
188
+ }
189
+ return cloned;
190
+ };
191
+ if (Array.isArray(data)) {
192
+ return Promise.all(data.map((row) => decryptRow(row)));
193
+ }
194
+ return decryptRow(data);
195
+ }
196
+ //# sourceMappingURL=field-crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-crypto.js","sourceRoot":"","sources":["../../src/lib/crypto/field-crypto.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AA8CH,8CAOC;AAUD,0CA4BC;AAkBD,kCAuCC;AAeD,kCA8CC;AA/MD,+CAAuE;AAIvE,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,CAAU;IACzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,GAAG,GAAG,CAA4B,CAAA;IACxC,OAAO,CACL,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ;QAChC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ;QAC7B,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ;QAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,CAC/B,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;;;;;;GAcG;AACH,SAAgB,iBAAiB,CAAC,QAAgB;IAChD,sBAAsB;IACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IACxE,uCAAuC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IAC9C,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,MAAc,EACd,OAAgC,EAChC,QAAgB,EAChB,QAAiB;IAEjB,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,uBAAuB;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IAED,kDAAkD;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,CAAA;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,8CAA8C;YAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YACrC,IAAI,KAAK;gBAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,WAAW,CAC/B,KAAa,EACb,OAAgB,EAChB,QAAgB,EAChB,GAAsB,EACtB,IAA8B;IAE9B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAA;IAE7B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;IACtC,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;IAE1C,MAAM,UAAU,GAAG,KAAK,EAAE,GAA4B,EAAoC,EAAE;QAC1F,MAAM,MAAM,GAA4B,EAAE,GAAG,GAAG,EAAE,CAAA;QAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAEhE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YACzB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAQ;YACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAQ;YACvC,IAAI,uBAAuB,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAE5C,MAAM,GAAG,GACP,QAAQ,KAAK,IAAI;gBACf,CAAC,CAAC,IAAA,eAAM,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC;gBAC9B,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAA;YAEvB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAY,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;YACnE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC/D,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAA8B,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IAED,OAAO,UAAU,CAAC,OAAkC,CAAC,CAAA;AACvD,CAAC;AAED;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,WAAW,CAC/B,KAAa,EACb,IAAa,EACb,GAAsB,EACtB,IAAgC;IAEhC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAEpD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;IAC5B,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IAE9C,MAAM,UAAU,GAAG,KAAK,EAAE,GAA4B,EAAoC,EAAE;QAC1F,MAAM,MAAM,GAA4B,EAAE,GAAG,GAAG,EAAE,CAAA;QAElD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAEvB,oEAAoE;YACpE,IAAI,WAAW,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAChC,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpC,KAAK,GAAG,MAAM,CAAA;oBAChB,CAAC;yBAAM,CAAC;wBACN,0DAA0D;wBAC1D,SAAQ;oBACV,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,0CAA0C;oBAC1C,SAAQ;gBACV,CAAC;YACH,CAAC;YAED,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,qBAAY,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7D,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAA8B,CAAC,CAAC,CAAC,CAAA;IACnF,CAAC;IAED,OAAO,UAAU,CAAC,IAA+B,CAAC,CAAA;AACpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/lib/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAkFvE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CAgH/E"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/lib/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAkFvE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CA2G/E"}
package/dist/factory.js CHANGED
@@ -155,6 +155,10 @@ function createHazoConnect(config) {
155
155
  }
156
156
  }
157
157
  }
158
+ // Propagate fieldCrypto to providerConfig so both configProvider and direct-config
159
+ // paths reach the adapter with the crypto config intact.
160
+ if (config.fieldCrypto)
161
+ providerConfig.fieldCrypto = config.fieldCrypto;
158
162
  let adapter;
159
163
  switch (type) {
160
164
  case 'postgrest':
@@ -165,22 +169,13 @@ function createHazoConnect(config) {
165
169
  break;
166
170
  case 'sqlite': {
167
171
  const driver = providerConfig.sqlite?.driver ?? 'sql.js';
168
- if (driver === 'better-sqlite3') {
169
- if (config.enable_admin_ui === true) {
170
- throw new hazo_core_1.HazoConfigError({
171
- code: 'HAZO_CONNECT_CONFIG_ERROR',
172
- pkg: 'hazo_connect',
173
- message: 'The hazo_connect SQLite admin UI is not supported with the better-sqlite3 driver yet. Use driver: "sql.js" for admin UI.',
174
- });
175
- }
176
- adapter = new better_sqlite3_adapter_js_1.BetterSqlite3Adapter(providerConfig, logger);
177
- }
178
- else {
179
- adapter = new sqlite_adapter_js_1.SqliteAdapter(providerConfig, logger);
180
- // If admin UI is enabled, register this adapter so admin service uses the same instance
181
- if (config.enable_admin_ui === true && adapter instanceof sqlite_adapter_js_1.SqliteAdapter) {
182
- (0, admin_service_js_1.registerSqliteAdapter)(adapter);
183
- }
172
+ adapter =
173
+ driver === 'better-sqlite3'
174
+ ? new better_sqlite3_adapter_js_1.BetterSqlite3Adapter(providerConfig, logger)
175
+ : new sqlite_adapter_js_1.SqliteAdapter(providerConfig, logger);
176
+ // Register with the admin service so it uses this instance (works for both drivers).
177
+ if (config.enable_admin_ui === true) {
178
+ (0, admin_service_js_1.registerSqliteAdapter)(adapter);
184
179
  }
185
180
  break;
186
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/lib/factory.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AA6FH,8CAgHC;AA3MD,gDAAuB;AACvB,oDAA2B;AAC3B,yCAA2C;AAG3C,0EAAkE;AAClE,wEAAgE;AAChE,oEAA4D;AAC5D,gEAAwD;AACxD,4DAAoD;AACpD,oFAA2E;AAC3E,gEAAiE;AAEjE,yFAAyF;AACzF,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;AAElE;;;GAGG;AACH,SAAS,sBAAsB;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAA;AAC7E,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAA;IAClF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAA;IAChG,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAA;IAElE,OAAO;QACL,QAAQ,EAAE;YACR,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,gBAAgB,EAAE,cAAc,IAAI,SAAS;SAC9C;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,cAA+B;IAC7D,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAA;IAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,2BAAe,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,8EAA8E,EAAE,CAAC,CAAA;IAChL,CAAC;IAED,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE;QACnD,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO;QACL,SAAS,EAAE;YACT,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS;SACnB;KACF,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,cAA8B,EAAE,IAAY;IAC7E,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,sBAAsB,CAAC,cAAc,CAAC,CAAA;IAC/C,CAAC;SAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAA;IAClE,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAA;IAC9D,CAAC;SAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAA;IAC1D,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAyB;IACzD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAA;IAExE,gBAAgB;IAChB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,2BAAe,CAAC;YACxB,IAAI,EAAE,2BAA2B;YACjC,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE,yFAAyF;SACnG,CAAC,CAAA;IACJ,CAAC;IAED,8EAA8E;IAC9E,IAAI,cAAmB,CAAA;IACvB,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,GAAG,yBAAyB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IAClE,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,EAAE,GAAG,oBAAoB,EAAE,CAAA;QAE5C,4DAA4D;QAC5D,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAA;YAC3D,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxE,cAAc,CAAC,IAAI,GAAG,OAAO,CAAA;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,MAAM,eAAe,GAAG,sBAAsB,EAAE,CAAA;YAChD,yEAAyE;YACzE,cAAc,CAAC,SAAS,GAAG;gBACzB,GAAG,eAAe,CAAC,SAAS;gBAC5B,GAAG,CAAC,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;aACpC,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,4DAA4D;YAC5D,MAAM,iBAAiB,GAAG,4BAA4B,EAAE,CAAA;YACxD,gEAAgE;YAChE,cAAc,CAAC,QAAQ,GAAG;gBACxB,GAAG,iBAAiB,CAAC,QAAQ;gBAC7B,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;aACnC,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,qDAAqD;YACrD,IAAI,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAA;gBAClD,+BAA+B;gBAC/B,IAAI,CAAC,cAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/D,cAAc,CAAC,MAAM,CAAC,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;gBAC3E,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACrI,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAA;gBAC9F,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,CAAA;gBACnD,IAAI,cAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7B,cAAc,CAAC,MAAM,CAAC,aAAa,GAAG,OAAO,CAAA;gBAC/C,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,MAAM,CAAC,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAA2B,CAAA;IAE/B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,GAAG,IAAI,uCAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACtD,MAAK;QAEP,KAAK,UAAU;YACb,OAAO,GAAG,IAAI,qCAAe,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACrD,MAAK;QAEP,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,CAAA;YACxD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBAChC,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;oBACpC,MAAM,IAAI,2BAAe,CAAC;wBACxB,IAAI,EAAE,2BAA2B;wBACjC,GAAG,EAAE,cAAc;wBACnB,OAAO,EACL,0HAA0H;qBAC7H,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,GAAG,IAAI,gDAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YAC5D,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,iCAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;gBACnD,wFAAwF;gBACxF,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,IAAI,OAAO,YAAY,iCAAa,EAAE,CAAC;oBACxE,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAA;gBAChC,CAAC;YACH,CAAC;YACD,MAAK;QACP,CAAC;QAED,KAAK,MAAM;YACT,OAAO,GAAG,IAAI,6BAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACjD,MAAK;QAEP,KAAK,IAAI;YACP,OAAO,GAAG,IAAI,yBAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YAC/C,MAAK;QAEP;YACE,MAAM,IAAI,2BAAe,CAAC;gBACxB,IAAI,EAAE,2BAA2B;gBACjC,GAAG,EAAE,cAAc;gBACnB,OAAO,EAAE,gCAAgC,IAAI,2DAA2D;aACzG,CAAC,CAAA;IACN,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/lib/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,6 @@
9
9
  *
10
10
  * Zero dependencies - only type exports.
11
11
  */
12
- export type { Logger, LogLevel, ConnectionType, HazoConnectConfig, HazoConnectAdapter, QueryOperator, WhereCondition, OrderDirection, JoinType, NestedSelect, HazoConnectError } from './types.js';
12
+ export type { Logger, LogLevel, ConnectionType, HazoConnectConfig, HazoConnectAdapter, FieldCryptoConfig, QueryOperator, WhereCondition, OrderDirection, JoinType, NestedSelect, HazoConnectError } from './types.js';
13
13
  export type { DbResult } from './utils/result.js';
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,YAAY,EACV,MAAM,EACN,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAGnB,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,YAAY,EACV,MAAM,EACN,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAGnB,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAoBH,oEAAoE;AACpE,mFAAmF;AACnF,6CAA6C;AAC7C,EAAE;AACF,0DAA0D;AAC1D,yFAAyF;AACzF,wEAAwE;AACxE,oEAAoE;AACpE,2GAA2G"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAqBH,oEAAoE;AACpE,mFAAmF;AACnF,6CAA6C;AAC7C,EAAE;AACF,0DAA0D;AAC1D,yFAAyF;AACzF,wEAAwE;AACxE,oEAAoE;AACpE,2GAA2G"}
@@ -33,6 +33,12 @@ export interface CreateHazoConnectFromEnvOptions {
33
33
  * Custom logger instance
34
34
  */
35
35
  logger?: HazoConnectConfig['logger'];
36
+ /**
37
+ * Optional field-level encryption config (PostgREST adapter only).
38
+ * Pass a FieldCryptoConfig with keys and per-table column lists to enable
39
+ * transparent encrypt-on-write / decrypt-on-read.
40
+ */
41
+ fieldCrypto?: HazoConnectConfig['fieldCrypto'];
36
42
  }
37
43
  /**
38
44
  * Create a hazo_connect adapter instance from environment variables
@@ -1 +1 @@
1
- {"version":3,"file":"setup-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/nextjs/setup-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAkB/E;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAA;IAEnD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAA;IAE1C;;OAEG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;CACrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CA0EpB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CAwBpB"}
1
+ {"version":3,"file":"setup-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/nextjs/setup-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAiB/E;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAA;IAEnD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAA;IAE1C;;OAEG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAEpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CA4EpB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CA0BpB"}
@@ -23,7 +23,6 @@ const path_1 = __importDefault(require("path"));
23
23
  const hazo_core_1 = require("hazo_core");
24
24
  const index_js_1 = require("../server/index.js");
25
25
  const admin_service_js_1 = require("../sqlite/admin-service.js");
26
- const sqlite_adapter_js_1 = require("../adapters/sqlite-adapter.js");
27
26
  const database_url_js_1 = require("../utils/database-url.js");
28
27
  /**
29
28
  * Runtime guard to ensure this module is only used on the server
@@ -98,7 +97,8 @@ function createHazoConnectFromEnv(options = {}) {
98
97
  wasm_directory: wasmDirectory,
99
98
  driver,
100
99
  },
101
- logger: options.logger
100
+ logger: options.logger,
101
+ fieldCrypto: options.fieldCrypto,
102
102
  });
103
103
  }
104
104
  else if (dbType === 'postgrest') {
@@ -113,7 +113,8 @@ function createHazoConnectFromEnv(options = {}) {
113
113
  base_url: baseUrl,
114
114
  api_key: apiKey
115
115
  },
116
- logger: options.logger
116
+ logger: options.logger,
117
+ fieldCrypto: options.fieldCrypto,
117
118
  });
118
119
  }
119
120
  else {
@@ -167,9 +168,11 @@ function getHazoConnectSingleton(options = {}) {
167
168
  if (!singletonInstance || singletonConfig !== configSignature) {
168
169
  singletonInstance = createHazoConnectFromEnv(options);
169
170
  singletonConfig = configSignature;
170
- // If this is a SQLite adapter, register it with the admin service
171
- // so the admin UI uses the same instance
172
- if (singletonInstance instanceof sqlite_adapter_js_1.SqliteAdapter) {
171
+ // For SQLite adapters, register with the admin service so the admin UI uses
172
+ // the same instance. Works for both sql.js and better-sqlite3 drivers since
173
+ // the admin service accepts any adapter that exposes rawQuery.
174
+ const resolvedType = (options.type || process.env.HAZO_CONNECT_TYPE || 'sqlite').toLowerCase();
175
+ if (resolvedType === 'sqlite') {
173
176
  (0, admin_service_js_1.registerSqliteAdapter)(singletonInstance);
174
177
  }
175
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-helpers.js","sourceRoot":"","sources":["../../src/lib/nextjs/setup-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-helpers.js","sourceRoot":"","sources":["../../src/lib/nextjs/setup-helpers.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * This file exports all server-side functionality with 'use server' directive
5
5
  * and runtime guards to prevent client-side usage.
6
6
  */
7
- export type { Logger, LogLevel, ConnectionType, HazoConnectConfig, HazoConnectAdapter, QueryOperator, WhereCondition, OrderDirection, JoinType, NestedSelect, HazoConnectError } from '../types.js';
7
+ export type { Logger, LogLevel, ConnectionType, HazoConnectConfig, HazoConnectAdapter, FieldCryptoConfig, QueryOperator, WhereCondition, OrderDirection, JoinType, NestedSelect, HazoConnectError } from '../types.js';
8
8
  export { ErrorCode, noOpLogger } from '../types.js';
9
9
  export { defaultLogger, getDefaultLogger, createLoggerWithLevel } from '../default-logger.js';
10
10
  export { createLogLevelWrapper, getDefaultLogLevel } from '../log-level-wrapper.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,YAAY,EACV,MAAM,EACN,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC7F,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGnF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGjD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACb,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAGzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,YAAY,EACV,MAAM,EACN,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC7F,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGnF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGjD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACb,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAGzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,4BAA4B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,YAAY,CAAA;AAPZ;;;;;GAKG;;;AAIH,yCAA6C;AAE7C,SAAS,gBAAgB;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,6BAAiB,CAAC;YAC1B,IAAI,EAAE,8BAA8B;YACpC,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE,mIAAmI;SAC7I,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,gBAAgB,EAAE,CAAA;AAiBlB,wCAAmD;AAA1C,qGAAA,SAAS,OAAA;AAAE,sGAAA,UAAU,OAAA;AAC9B,0DAA6F;AAApF,kHAAA,aAAa,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAAE,0HAAA,qBAAqB,OAAA;AAC/D,gEAAmF;AAA1E,6HAAA,qBAAqB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAElD,uBAAuB;AACvB,wDAAkD;AAAzC,gHAAA,YAAY,OAAA;AAErB,iBAAiB;AACjB,4CAAiD;AAAxC,+GAAA,iBAAiB,OAAA;AAE1B,iBAAiB;AACjB,4CAKsB;AAJpB,2GAAA,aAAa,OAAA;AACb,+GAAA,iBAAiB,OAAA;AACjB,8GAAA,gBAAgB,OAAA;AAChB,0GAAA,YAAY,OAAA;AAUd,uCAAuC;AACvC,+DAAyD;AAAhD,8GAAA,WAAW,OAAA;AACpB,yEAAmE;AAA1D,wHAAA,gBAAgB,OAAA;AACzB,mEAA6D;AAApD,kHAAA,aAAa,OAAA;AAEtB,uEAAiE;AAAxD,sHAAA,eAAe,OAAA;AACxB,+DAAyD;AAAhD,8GAAA,WAAW,OAAA;AAEpB,8BAA8B;AAC9B,+DAKmC;AAJjC,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AAGxB,0BAA0B;AAC1B,qDAAuD;AAA9C,0GAAA,aAAa,OAAA;AAGtB,gEAAgE;AAChE,8CAAmD;AAA1C,2GAAA,eAAe,OAAA;AAExB,+BAA+B;AAC/B,gDAAwD;AAA/C,uGAAA,UAAU,OAAA;AAAE,+FAAA,EAAE,OAAA;AAAE,gGAAA,GAAG,OAAA;AAG5B,6BAA6B;AAC7B,wDAAoF;AAA3E,+GAAA,cAAc,OAAA;AAAE,+GAAA,cAAc,OAAA;AAAE,4GAAA,WAAW,OAAA;AAEpD,4CAA4C;AAC5C,oEAIqC;AAHnC,2HAAA,oBAAoB,OAAA;AACpB,2HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,YAAY,CAAA;AAPZ;;;;;GAKG;;;AAIH,yCAA6C;AAE7C,SAAS,gBAAgB;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,6BAAiB,CAAC;YAC1B,IAAI,EAAE,8BAA8B;YACpC,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE,mIAAmI;SAC7I,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,gBAAgB,EAAE,CAAA;AAkBlB,wCAAmD;AAA1C,qGAAA,SAAS,OAAA;AAAE,sGAAA,UAAU,OAAA;AAC9B,0DAA6F;AAApF,kHAAA,aAAa,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAAE,0HAAA,qBAAqB,OAAA;AAC/D,gEAAmF;AAA1E,6HAAA,qBAAqB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAElD,uBAAuB;AACvB,wDAAkD;AAAzC,gHAAA,YAAY,OAAA;AAErB,iBAAiB;AACjB,4CAAiD;AAAxC,+GAAA,iBAAiB,OAAA;AAE1B,iBAAiB;AACjB,4CAKsB;AAJpB,2GAAA,aAAa,OAAA;AACb,+GAAA,iBAAiB,OAAA;AACjB,8GAAA,gBAAgB,OAAA;AAChB,0GAAA,YAAY,OAAA;AAUd,uCAAuC;AACvC,+DAAyD;AAAhD,8GAAA,WAAW,OAAA;AACpB,yEAAmE;AAA1D,wHAAA,gBAAgB,OAAA;AACzB,mEAA6D;AAApD,kHAAA,aAAa,OAAA;AAEtB,uEAAiE;AAAxD,sHAAA,eAAe,OAAA;AACxB,+DAAyD;AAAhD,8GAAA,WAAW,OAAA;AAEpB,8BAA8B;AAC9B,+DAKmC;AAJjC,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AAGxB,0BAA0B;AAC1B,qDAAuD;AAA9C,0GAAA,aAAa,OAAA;AAGtB,gEAAgE;AAChE,8CAAmD;AAA1C,2GAAA,eAAe,OAAA;AAExB,+BAA+B;AAC/B,gDAAwD;AAA/C,uGAAA,UAAU,OAAA;AAAE,+FAAA,EAAE,OAAA;AAAE,gGAAA,GAAG,OAAA;AAG5B,6BAA6B;AAC7B,wDAAoF;AAA3E,+GAAA,cAAc,OAAA;AAAE,+GAAA,cAAc,OAAA;AAAE,4GAAA,WAAW,OAAA;AAEpD,4CAA4C;AAC5C,oEAIqC;AAHnC,2HAAA,oBAAoB,OAAA;AACpB,2HAAA,oBAAoB,OAAA"}
@@ -1,4 +1,4 @@
1
- import { SqliteAdapter } from "../adapters/sqlite-adapter";
1
+ import type { HazoConnectAdapter } from "../types";
2
2
  import { type SqliteWhereFilter } from "../utils/where-builder";
3
3
  export type SqliteTableType = "table" | "view";
4
4
  export interface TableSummary {
@@ -48,6 +48,12 @@ export interface SqliteAdminService {
48
48
  updateRows(table: string, criteria: Record<string, unknown>, data: Record<string, unknown>): Promise<Record<string, unknown>[]>;
49
49
  deleteRows(table: string, criteria: Record<string, unknown>): Promise<Record<string, unknown>[]>;
50
50
  }
51
+ /**
52
+ * Minimal adapter capability the admin service needs — just rawQuery with standard SQLite SQL.
53
+ * Using a structural type (not a concrete class) keeps the lazy optional-dep boundary intact:
54
+ * the admin service never imports BetterSqlite3Adapter directly.
55
+ */
56
+ type SqliteAdminCapableAdapter = Pick<HazoConnectAdapter, 'rawQuery'>;
51
57
  /**
52
58
  * Initialize the admin service with configuration
53
59
  * This must be called before using the admin UI
@@ -57,11 +63,11 @@ export declare function initializeAdminService(config: {
57
63
  enable_admin_ui?: boolean;
58
64
  }): void;
59
65
  /**
60
- * Register a SQLite adapter instance to be used by the admin service
61
- * This allows the admin UI to use the same adapter instance as the backend
62
- * Registering an adapter also enables the admin UI
63
- * @param adapter - The SqliteAdapter instance to register
66
+ * Register a SQLite adapter instance to be used by the admin service.
67
+ * Accepts either the sql.js SqliteAdapter or the native BetterSqlite3Adapter both
68
+ * implement the rawQuery interface that every admin operation uses.
69
+ * Registering an adapter also enables the admin UI.
64
70
  */
65
- export declare function registerSqliteAdapter(adapter: SqliteAdapter): void;
71
+ export declare function registerSqliteAdapter(adapter: SqliteAdminCapableAdapter): void;
66
72
  export declare function getSqliteAdminService(): SqliteAdminService;
67
73
  //# sourceMappingURL=admin-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-service.d.ts","sourceRoot":"","sources":["../../src/lib/sqlite/admin-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE3G,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAA;AAE9C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,eAAe,CAAA;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,YAAY,EAAE,eAAe,EAAE,CAAA;CAChC;AAGD,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAErF,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAChC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACrC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IACnD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACxE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACzF,UAAU,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACrC,UAAU,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;CACtC;AAeD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAQlE;AAgCD,wBAAgB,qBAAqB,IAAI,kBAAkB,CAU1D"}
1
+ {"version":3,"file":"admin-service.d.ts","sourceRoot":"","sources":["../../src/lib/sqlite/admin-service.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,6 @@ exports.getSqliteAdminService = getSqliteAdminService;
11
11
  const path_1 = __importDefault(require("path"));
12
12
  const hazo_core_1 = require("hazo_core");
13
13
  const factory_1 = require("../factory");
14
- const sqlite_adapter_1 = require("../adapters/sqlite-adapter");
15
14
  const sqlite_utils_1 = require("../utils/sqlite-utils");
16
15
  const where_builder_1 = require("../utils/where-builder");
17
16
  const DEFAULT_LIMIT = 50;
@@ -28,10 +27,10 @@ function initializeAdminService(config) {
28
27
  adminUiEnabled = config.enable_admin_ui === true;
29
28
  }
30
29
  /**
31
- * Register a SQLite adapter instance to be used by the admin service
32
- * This allows the admin UI to use the same adapter instance as the backend
33
- * Registering an adapter also enables the admin UI
34
- * @param adapter - The SqliteAdapter instance to register
30
+ * Register a SQLite adapter instance to be used by the admin service.
31
+ * Accepts either the sql.js SqliteAdapter or the native BetterSqlite3Adapter both
32
+ * implement the rawQuery interface that every admin operation uses.
33
+ * Registering an adapter also enables the admin UI.
35
34
  */
36
35
  function registerSqliteAdapter(adapter) {
37
36
  registeredAdapter = adapter;
@@ -227,10 +226,11 @@ function getSqliteAdapter() {
227
226
  sqlite: {
228
227
  database_path: config.databasePath,
229
228
  read_only: config.readOnly,
230
- wasm_directory: config.wasmDirectory
229
+ wasm_directory: config.wasmDirectory,
230
+ driver: config.driver,
231
231
  }
232
232
  });
233
- if (!(adapter instanceof sqlite_adapter_1.SqliteAdapter)) {
233
+ if (typeof adapter.rawQuery !== 'function') {
234
234
  throw new hazo_core_1.HazoUnavailableError({ code: 'HAZO_CONNECT_CONNECTION_FAILED', pkg: 'hazo_connect', message: 'Unable to initialise SQLite adapter for admin service' });
235
235
  }
236
236
  cachedAdapter = adapter;
@@ -249,13 +249,16 @@ function resolveAdminConfig() {
249
249
  }
250
250
  const databasePath = path_1.default.resolve(rawPath);
251
251
  const readOnly = parseBoolean(process.env.HAZO_CONNECT_SQLITE_READONLY);
252
+ const rawDriver = process.env.HAZO_CONNECT_SQLITE_DRIVER ?? 'sql.js';
253
+ const driver = rawDriver === 'better-sqlite3' ? 'better-sqlite3' : 'sql.js';
252
254
  const wasmDirectory = process.env.HAZO_CONNECT_SQLITE_WASM_DIR
253
255
  ? path_1.default.resolve(process.env.HAZO_CONNECT_SQLITE_WASM_DIR)
254
256
  : undefined;
255
257
  return {
256
258
  databasePath,
257
259
  readOnly,
258
- wasmDirectory
260
+ driver,
261
+ wasmDirectory,
259
262
  };
260
263
  }
261
264
  function parseBoolean(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"admin-service.js","sourceRoot":"","sources":["../../src/lib/sqlite/admin-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-service.js","sourceRoot":"","sources":["../../src/lib/sqlite/admin-service.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * Components can work with either direct config or ConfigProvider.
9
9
  */
10
10
  import type { ConfigProvider } from 'hazo_config';
11
+ import type { KeyProvider } from 'hazo_secure/crypto';
11
12
  /**
12
13
  * Optional logger interface for dependency injection
13
14
  * If not provided, a no-op logger will be used
@@ -35,6 +36,18 @@ export type ConnectionType = 'postgrest' | 'supabase' | 'sqlite' | 'file' | 'pg'
35
36
  * - none: Disable all logging
36
37
  */
37
38
  export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';
39
+ /**
40
+ * Field-level encryption configuration for transparent encrypt/decrypt
41
+ * on writes and reads through PostgREST.
42
+ */
43
+ export interface FieldCryptoConfig {
44
+ keys: KeyProvider;
45
+ /** Per-table: which columns to encrypt, and the PK column used to bind AAD. */
46
+ fields: Record<string, {
47
+ columns: string[];
48
+ idColumn?: string;
49
+ }>;
50
+ }
38
51
  /**
39
52
  * Main configuration interface for Hazo Connect
40
53
  * Logger is optional - defaults to no-op if not provided
@@ -48,6 +61,7 @@ export interface HazoConnectConfig {
48
61
  logger?: Logger;
49
62
  log_level?: LogLevel;
50
63
  configProvider?: ConfigProvider;
64
+ fieldCrypto?: FieldCryptoConfig;
51
65
  enable_admin_ui?: boolean;
52
66
  sqlite?: {
53
67
  database_path?: string;