@neetru/sdk 2.3.0 → 2.3.2

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.
@@ -1,4 +1,4 @@
1
- import { H as ResolvedConfig, C as CatalogListOptions, b as CatalogListResponse, P as Product } from './types-B6YJrynl.cjs';
1
+ import { H as ResolvedConfig, C as CatalogListOptions, b as CatalogListResponse, P as Product } from './types-sGGN1vkg.cjs';
2
2
  import './collection-ref-DqAAhuhX.cjs';
3
3
  import '@neetru/realtime-protocol';
4
4
  import 'drizzle-orm/node-postgres';
package/dist/catalog.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { H as ResolvedConfig, C as CatalogListOptions, b as CatalogListResponse, P as Product } from './types-DvhtZ4bi.js';
1
+ import { H as ResolvedConfig, C as CatalogListOptions, b as CatalogListResponse, P as Product } from './types-CSC-RIdS.js';
2
2
  import './collection-ref-DqAAhuhX.js';
3
3
  import '@neetru/realtime-protocol';
4
4
  import 'drizzle-orm/node-postgres';
@@ -1,4 +1,4 @@
1
- export { c as CheckoutIntentInfo, d as CheckoutIntentStatus, e as CheckoutNamespace, f as CheckoutStartInput, g as CheckoutStartResult, h as CheckoutTenantType, M as MockCheckout, a4 as createCheckoutNamespace } from './types-B6YJrynl.cjs';
1
+ export { c as CheckoutIntentInfo, d as CheckoutIntentStatus, e as CheckoutNamespace, f as CheckoutStartInput, g as CheckoutStartResult, h as CheckoutTenantType, M as MockCheckout, a4 as createCheckoutNamespace } from './types-sGGN1vkg.cjs';
2
2
  import './collection-ref-DqAAhuhX.cjs';
3
3
  import '@neetru/realtime-protocol';
4
4
  import 'drizzle-orm/node-postgres';
@@ -1,4 +1,4 @@
1
- export { c as CheckoutIntentInfo, d as CheckoutIntentStatus, e as CheckoutNamespace, f as CheckoutStartInput, g as CheckoutStartResult, h as CheckoutTenantType, M as MockCheckout, a4 as createCheckoutNamespace } from './types-DvhtZ4bi.js';
1
+ export { c as CheckoutIntentInfo, d as CheckoutIntentStatus, e as CheckoutNamespace, f as CheckoutStartInput, g as CheckoutStartResult, h as CheckoutTenantType, M as MockCheckout, a4 as createCheckoutNamespace } from './types-CSC-RIdS.js';
2
2
  import './collection-ref-DqAAhuhX.js';
3
3
  import '@neetru/realtime-protocol';
4
4
  import 'drizzle-orm/node-postgres';
package/dist/db.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { C as ConflictRecord, a as CreateOfflineDocumentsOptions, D as DbBatchOp, b as DbChangeType, c as DbCollectionRef, d as DbDoc, e as DbDocRef, f as DbGetResult, g as DbListResult, h as DbQuery, i as DbWhereFilter, N as NeetruDbDocuments, R as RealtimeTransport, S as SyncState } from './collection-ref-DqAAhuhX.cjs';
2
- export { k as DbSqlLease, p as NeetruDb, q as NeetruDbEngine, r as NeetruDbError, s as NeetruDbErrorCode, t as NeetruDbOptions, u as NeetruDbTransport, w as NeetruSqlClient, J as SqlOptions, a5 as createNeetruDb, a7 as createRestSyncTransport, a9 as getWebSocketRealtimeClient } from './types-B6YJrynl.cjs';
2
+ export { k as DbSqlLease, p as NeetruDb, q as NeetruDbEngine, r as NeetruDbError, s as NeetruDbErrorCode, t as NeetruDbOptions, u as NeetruDbTransport, w as NeetruSqlClient, J as SqlOptions, a5 as createNeetruDb, a7 as createRestSyncTransport, a9 as getWebSocketRealtimeClient } from './types-sGGN1vkg.cjs';
3
3
  import '@neetru/realtime-protocol';
4
4
  import 'drizzle-orm/node-postgres';
5
5
  import './errors.cjs';
package/dist/db.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { C as ConflictRecord, a as CreateOfflineDocumentsOptions, D as DbBatchOp, b as DbChangeType, c as DbCollectionRef, d as DbDoc, e as DbDocRef, f as DbGetResult, g as DbListResult, h as DbQuery, i as DbWhereFilter, N as NeetruDbDocuments, R as RealtimeTransport, S as SyncState } from './collection-ref-DqAAhuhX.js';
2
- export { k as DbSqlLease, p as NeetruDb, q as NeetruDbEngine, r as NeetruDbError, s as NeetruDbErrorCode, t as NeetruDbOptions, u as NeetruDbTransport, w as NeetruSqlClient, J as SqlOptions, a5 as createNeetruDb, a7 as createRestSyncTransport, a9 as getWebSocketRealtimeClient } from './types-DvhtZ4bi.js';
2
+ export { k as DbSqlLease, p as NeetruDb, q as NeetruDbEngine, r as NeetruDbError, s as NeetruDbErrorCode, t as NeetruDbOptions, u as NeetruDbTransport, w as NeetruSqlClient, J as SqlOptions, a5 as createNeetruDb, a7 as createRestSyncTransport, a9 as getWebSocketRealtimeClient } from './types-CSC-RIdS.js';
3
3
  import '@neetru/realtime-protocol';
4
4
  import 'drizzle-orm/node-postgres';
5
5
  import './errors.js';
@@ -1,4 +1,4 @@
1
- import { H as ResolvedConfig, E as EntitlementCheck } from './types-B6YJrynl.cjs';
1
+ import { H as ResolvedConfig, E as EntitlementCheck } from './types-sGGN1vkg.cjs';
2
2
  import './collection-ref-DqAAhuhX.cjs';
3
3
  import '@neetru/realtime-protocol';
4
4
  import 'drizzle-orm/node-postgres';
@@ -1,4 +1,4 @@
1
- import { H as ResolvedConfig, E as EntitlementCheck } from './types-DvhtZ4bi.js';
1
+ import { H as ResolvedConfig, E as EntitlementCheck } from './types-CSC-RIdS.js';
2
2
  import './collection-ref-DqAAhuhX.js';
3
3
  import '@neetru/realtime-protocol';
4
4
  import 'drizzle-orm/node-postgres';
package/dist/index.cjs CHANGED
@@ -5369,11 +5369,54 @@ var MockDb = class {
5369
5369
  };
5370
5370
  return ref;
5371
5371
  }
5372
- async sql(_schema) {
5373
- throw new NeetruDbError(
5374
- "db_unavailable",
5375
- '[MockDb] sql() n\xE3o dispon\xEDvel no mock. Use createNeetruClient({ env: "dev" }) e `neetru dev` para o banco local.'
5376
- );
5372
+ /**
5373
+ * Implementa SQL in-memory via `pg-mem` + `drizzle-orm/node-postgres`.
5374
+ *
5375
+ * bug_a7f2ae25fda54129b52b6dd55aaa6050 (HIGH 26/05): antes lançava
5376
+ * `db_unavailable` sempre, bloqueando vitest server-side dos consumers
5377
+ * que refatoraram pra `client.db.sql()`. Agora carrega `pg-mem` lazy +
5378
+ * cria `NodePgDatabase` Drizzle apontando pra DB in-memory.
5379
+ *
5380
+ * Requer `pg-mem`, `drizzle-orm` e `pg` como devDependencies do consumer
5381
+ * (instale com `npm install -D pg-mem drizzle-orm pg`). Se ausentes, joga
5382
+ * `db_unavailable` com mensagem clara.
5383
+ *
5384
+ * Use `options.initSql` pra criar tabelas no test setup — sem isso o orm
5385
+ * funciona mas qualquer SELECT/INSERT em tabela inexistente vai falhar.
5386
+ */
5387
+ async sql(schema, options) {
5388
+ let pgMemMod;
5389
+ let drizzlePg;
5390
+ try {
5391
+ pgMemMod = await import('pg-mem');
5392
+ drizzlePg = await import('drizzle-orm/node-postgres');
5393
+ } catch {
5394
+ throw new NeetruDbError(
5395
+ "db_unavailable",
5396
+ "[MockDb] sql() requer pg-mem + drizzle-orm + pg como devDependencies do consumer. Rode: npm install -D pg-mem drizzle-orm pg."
5397
+ );
5398
+ }
5399
+ const memDb = pgMemMod.newDb({ noAstCoverageCheck: true });
5400
+ if (options?.initSql) {
5401
+ const ddls = Array.isArray(options.initSql) ? options.initSql : [options.initSql];
5402
+ for (const ddl of ddls) {
5403
+ memDb.public.none(ddl);
5404
+ }
5405
+ }
5406
+ const adapters = memDb.adapters.createPg();
5407
+ const PoolCtor = adapters.Pool;
5408
+ const pool = new PoolCtor();
5409
+ const orm = drizzlePg.drizzle(pool, { schema });
5410
+ return {
5411
+ orm,
5412
+ async transaction(fn, _opts) {
5413
+ return await orm.transaction(fn);
5414
+ },
5415
+ async close() {
5416
+ const p = pool;
5417
+ if (p.end) await p.end();
5418
+ }
5419
+ };
5377
5420
  }
5378
5421
  get syncState() {
5379
5422
  return {