@neetru/sdk 3.1.2 → 3.1.6

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 (77) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +64 -9
  3. package/dist/auth.cjs +290 -27
  4. package/dist/auth.cjs.map +1 -1
  5. package/dist/auth.d.cts +1 -1
  6. package/dist/auth.d.ts +1 -1
  7. package/dist/auth.mjs +290 -27
  8. package/dist/auth.mjs.map +1 -1
  9. package/dist/catalog.cjs.map +1 -1
  10. package/dist/catalog.d.cts +1 -1
  11. package/dist/catalog.d.ts +1 -1
  12. package/dist/catalog.mjs.map +1 -1
  13. package/dist/checkout.cjs +22 -7
  14. package/dist/checkout.cjs.map +1 -1
  15. package/dist/checkout.d.cts +1 -1
  16. package/dist/checkout.d.ts +1 -1
  17. package/dist/checkout.mjs +22 -7
  18. package/dist/checkout.mjs.map +1 -1
  19. package/dist/db-react.d.cts +1 -1
  20. package/dist/db-react.d.ts +1 -1
  21. package/dist/db.cjs +59 -3
  22. package/dist/db.cjs.map +1 -1
  23. package/dist/db.d.cts +1 -1
  24. package/dist/db.d.ts +1 -1
  25. package/dist/db.mjs +59 -3
  26. package/dist/db.mjs.map +1 -1
  27. package/dist/entitlements.cjs.map +1 -1
  28. package/dist/entitlements.d.cts +1 -1
  29. package/dist/entitlements.d.ts +1 -1
  30. package/dist/entitlements.mjs.map +1 -1
  31. package/dist/errors.cjs.map +1 -1
  32. package/dist/errors.d.cts +11 -6
  33. package/dist/errors.d.ts +11 -6
  34. package/dist/errors.mjs.map +1 -1
  35. package/dist/firestore-compat.d.cts +1 -1
  36. package/dist/firestore-compat.d.ts +1 -1
  37. package/dist/index.cjs +302 -31
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.d.cts +3 -3
  40. package/dist/index.d.ts +3 -3
  41. package/dist/index.mjs +302 -31
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/mocks.cjs +51 -7
  44. package/dist/mocks.cjs.map +1 -1
  45. package/dist/mocks.d.cts +41 -7
  46. package/dist/mocks.d.ts +41 -7
  47. package/dist/mocks.mjs +51 -7
  48. package/dist/mocks.mjs.map +1 -1
  49. package/dist/notifications.cjs.map +1 -1
  50. package/dist/notifications.d.cts +1 -1
  51. package/dist/notifications.d.ts +1 -1
  52. package/dist/notifications.mjs.map +1 -1
  53. package/dist/react.d.cts +1 -1
  54. package/dist/react.d.ts +1 -1
  55. package/dist/support.cjs.map +1 -1
  56. package/dist/support.d.cts +1 -1
  57. package/dist/support.d.ts +1 -1
  58. package/dist/support.mjs.map +1 -1
  59. package/dist/telemetry.cjs +2 -1
  60. package/dist/telemetry.cjs.map +1 -1
  61. package/dist/telemetry.d.cts +1 -1
  62. package/dist/telemetry.d.ts +1 -1
  63. package/dist/telemetry.mjs +2 -1
  64. package/dist/telemetry.mjs.map +1 -1
  65. package/dist/{types-DePdSU3P.d.cts → types-BXvGHppn.d.cts} +113 -12
  66. package/dist/{types-B3XFHD4A.d.ts → types-CQVak2a3.d.ts} +113 -12
  67. package/dist/usage.cjs.map +1 -1
  68. package/dist/usage.d.cts +1 -1
  69. package/dist/usage.d.ts +1 -1
  70. package/dist/usage.mjs.map +1 -1
  71. package/dist/webhooks.cjs +11 -3
  72. package/dist/webhooks.cjs.map +1 -1
  73. package/dist/webhooks.d.cts +1 -1
  74. package/dist/webhooks.d.ts +1 -1
  75. package/dist/webhooks.mjs +11 -3
  76. package/dist/webhooks.mjs.map +1 -1
  77. package/package.json +1 -1
package/dist/db.d.cts CHANGED
@@ -1,3 +1,3 @@
1
- export { i as ConflictRecord, j as CreateOfflineDocumentsOptions, l as DbBatchOp, m as DbChangeType, n as DbCollectionRef, o as DbDoc, p as DbDocRef, q as DbGetResult, r as DbListResult, t as DbQuery, u as DbSqlLease, w as DbWhereFilter, F as FieldSentinel, I as IncrementSentinel, N as NEETRU_SENTINEL_KEY, G as NeetruDb, H as NeetruDbDocuments, J as NeetruDbEngine, K as NeetruDbError, O as NeetruDbErrorCode, P as NeetruDbOptions, Q as NeetruDbTransport, S as NeetruSqlClient, $ as RealtimeTransport, a3 as ServerTimestampSentinel, a5 as SqlOptions, aa as SyncState, ar as WithFieldSentinels, at as createNeetruDb, av as createRestSyncTransport, ax as getWebSocketRealtimeClient, ay as increment, az as isFieldSentinel, aA as isIncrementSentinel, aB as isServerTimestampSentinel, aC as serverTimestamp } from './types-DePdSU3P.cjs';
1
+ export { j as ConflictRecord, k as CreateOfflineDocumentsOptions, m as DbBatchOp, n as DbChangeType, o as DbCollectionRef, p as DbDoc, q as DbDocRef, r as DbGetResult, s as DbListResult, u as DbQuery, v as DbSqlLease, x as DbWhereFilter, F as FieldSentinel, I as IncrementSentinel, N as NEETRU_SENTINEL_KEY, H as NeetruDb, J as NeetruDbDocuments, K as NeetruDbEngine, O as NeetruDbError, P as NeetruDbErrorCode, Q as NeetruDbOptions, R as NeetruDbTransport, T as NeetruSqlClient, a0 as RealtimeTransport, a5 as ServerTimestampSentinel, a7 as SqlOptions, ac as SyncState, at as WithFieldSentinels, av as createNeetruDb, ax as createRestSyncTransport, az as getWebSocketRealtimeClient, aA as increment, aB as isFieldSentinel, aC as isIncrementSentinel, aD as isServerTimestampSentinel, aE as serverTimestamp } from './types-BXvGHppn.cjs';
2
2
  import 'drizzle-orm/node-postgres';
3
3
  import './errors.cjs';
package/dist/db.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { i as ConflictRecord, j as CreateOfflineDocumentsOptions, l as DbBatchOp, m as DbChangeType, n as DbCollectionRef, o as DbDoc, p as DbDocRef, q as DbGetResult, r as DbListResult, t as DbQuery, u as DbSqlLease, w as DbWhereFilter, F as FieldSentinel, I as IncrementSentinel, N as NEETRU_SENTINEL_KEY, G as NeetruDb, H as NeetruDbDocuments, J as NeetruDbEngine, K as NeetruDbError, O as NeetruDbErrorCode, P as NeetruDbOptions, Q as NeetruDbTransport, S as NeetruSqlClient, $ as RealtimeTransport, a3 as ServerTimestampSentinel, a5 as SqlOptions, aa as SyncState, ar as WithFieldSentinels, at as createNeetruDb, av as createRestSyncTransport, ax as getWebSocketRealtimeClient, ay as increment, az as isFieldSentinel, aA as isIncrementSentinel, aB as isServerTimestampSentinel, aC as serverTimestamp } from './types-B3XFHD4A.js';
1
+ export { j as ConflictRecord, k as CreateOfflineDocumentsOptions, m as DbBatchOp, n as DbChangeType, o as DbCollectionRef, p as DbDoc, q as DbDocRef, r as DbGetResult, s as DbListResult, u as DbQuery, v as DbSqlLease, x as DbWhereFilter, F as FieldSentinel, I as IncrementSentinel, N as NEETRU_SENTINEL_KEY, H as NeetruDb, J as NeetruDbDocuments, K as NeetruDbEngine, O as NeetruDbError, P as NeetruDbErrorCode, Q as NeetruDbOptions, R as NeetruDbTransport, T as NeetruSqlClient, a0 as RealtimeTransport, a5 as ServerTimestampSentinel, a7 as SqlOptions, ac as SyncState, at as WithFieldSentinels, av as createNeetruDb, ax as createRestSyncTransport, az as getWebSocketRealtimeClient, aA as increment, aB as isFieldSentinel, aC as isIncrementSentinel, aD as isServerTimestampSentinel, aE as serverTimestamp } from './types-CQVak2a3.js';
2
2
  import 'drizzle-orm/node-postgres';
3
3
  import './errors.js';
package/dist/db.mjs CHANGED
@@ -3909,13 +3909,69 @@ function createRestSyncTransport(config) {
3909
3909
  if (!config) {
3910
3910
  return { docs: [], newWatermark: Date.now(), resyncRequired: false };
3911
3911
  }
3912
- return { docs: [], newWatermark: Date.now(), resyncRequired: false };
3912
+ return { docs: [], newWatermark: Date.now(), resyncRequired: true };
3913
3913
  },
3914
- async fullResync(_collections) {
3914
+ async fullResync(collections) {
3915
3915
  if (!config) {
3916
3916
  return { docs: [], newWatermark: Date.now() };
3917
3917
  }
3918
- return { docs: [], newWatermark: Date.now() };
3918
+ const { httpRequest: httpRequest2 } = await Promise.resolve().then(() => (init_http(), http_exports));
3919
+ const tenantScopeId = config.tenantId ?? config.productId;
3920
+ const tenantHeaders = tenantScopeId ? { "x-neetru-tenant": tenantScopeId } : void 0;
3921
+ const now = Date.now();
3922
+ const docs = [];
3923
+ for (const collection of collections) {
3924
+ let raw;
3925
+ try {
3926
+ raw = await httpRequest2(config, {
3927
+ method: "GET",
3928
+ path: DATASTORE_COLLECTION_ENDPOINT(collection),
3929
+ requireAuth: true,
3930
+ retries: 2,
3931
+ headers: tenantHeaders,
3932
+ // Teto do Core é 200. Coleções > 200 docs truncam silenciosamente
3933
+ // aqui (paginação cursor é tarefa Core separada) — a detecção de
3934
+ // deleção-por-ausência do SyncEngine NÃO deve rodar sobre truncamento,
3935
+ // então mantemos o limite no máximo do servidor por ora.
3936
+ query: { limit: 200 }
3937
+ });
3938
+ } catch (err) {
3939
+ const msg = err instanceof Error ? err.message : String(err);
3940
+ throw new NeetruDbError(
3941
+ "db_unavailable",
3942
+ `[RestSyncTransport] fullResync falhou na cole\xE7\xE3o "${collection}": ${msg}`
3943
+ );
3944
+ }
3945
+ const resp = raw;
3946
+ const items = Array.isArray(resp?.items) ? resp.items : [];
3947
+ for (const item of items) {
3948
+ if (!item || typeof item !== "object") continue;
3949
+ const record = item;
3950
+ const id = typeof record["id"] === "string" ? record["id"] : null;
3951
+ if (!id) continue;
3952
+ const { id: _inlinedId, ...data } = record;
3953
+ let serverTimestamp2 = now;
3954
+ const updatedAt = data["_updatedAt"];
3955
+ if (typeof updatedAt === "number") {
3956
+ serverTimestamp2 = updatedAt;
3957
+ } else if (updatedAt !== null && typeof updatedAt === "object" && typeof updatedAt["_seconds"] === "number") {
3958
+ serverTimestamp2 = updatedAt["_seconds"] * 1e3;
3959
+ } else if (typeof updatedAt === "string") {
3960
+ const parsed = Date.parse(updatedAt);
3961
+ if (!Number.isNaN(parsed)) serverTimestamp2 = parsed;
3962
+ }
3963
+ const serverVersion = `rest_${id}_${serverTimestamp2}`;
3964
+ docs.push({
3965
+ collection,
3966
+ id,
3967
+ data,
3968
+ serverVersion,
3969
+ serverTimestamp: serverTimestamp2,
3970
+ deleted: false
3971
+ });
3972
+ }
3973
+ }
3974
+ return { docs, newWatermark: now };
3919
3975
  }
3920
3976
  };
3921
3977
  }