@ai-matrx/records 0.87.32 → 0.92.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 (107) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +115 -0
  3. package/dist/{client-E0VQ0NPO.d.ts → client-DE9Mq6YX.d.cts} +8 -5
  4. package/dist/{client-C3ZZNfGH.d.cts → client-vJAb7g9r.d.ts} +8 -5
  5. package/dist/core/index.cjs +25 -7
  6. package/dist/core/index.cjs.map +1 -1
  7. package/dist/core/index.d.cts +23 -12
  8. package/dist/core/index.d.ts +23 -12
  9. package/dist/core/index.js +25 -7
  10. package/dist/core/index.js.map +1 -1
  11. package/dist/data/index.cjs +19 -7
  12. package/dist/data/index.cjs.map +1 -1
  13. package/dist/data/index.d.cts +12 -142
  14. package/dist/data/index.d.ts +12 -142
  15. package/dist/data/index.js +19 -7
  16. package/dist/data/index.js.map +1 -1
  17. package/dist/{declareTable-BK3zufr7.d.cts → declareTable-Btg5bql1.d.cts} +4 -4
  18. package/dist/{declareTable-B12XybRp.d.ts → declareTable-JKt2q34d.d.ts} +4 -4
  19. package/dist/entity/index.cjs +984 -0
  20. package/dist/entity/index.cjs.map +1 -0
  21. package/dist/entity/index.d.cts +36 -0
  22. package/dist/entity/index.d.ts +36 -0
  23. package/dist/entity/index.js +964 -0
  24. package/dist/entity/index.js.map +1 -0
  25. package/dist/entity/react.cjs +1024 -0
  26. package/dist/entity/react.cjs.map +1 -0
  27. package/dist/entity/react.d.cts +511 -0
  28. package/dist/entity/react.d.ts +511 -0
  29. package/dist/entity/react.js +1015 -0
  30. package/dist/entity/react.js.map +1 -0
  31. package/dist/{field-BanTVGK2.d.cts → field-BJBnTyJ0.d.cts} +1 -1
  32. package/dist/{field-BPABOJ2Y.d.ts → field-Ti5iAxFr.d.ts} +1 -1
  33. package/dist/forms/index.cjs +984 -0
  34. package/dist/forms/index.cjs.map +1 -0
  35. package/dist/forms/index.d.cts +333 -0
  36. package/dist/forms/index.d.ts +333 -0
  37. package/dist/forms/index.js +961 -0
  38. package/dist/forms/index.js.map +1 -0
  39. package/dist/index.cjs +10 -1
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.d.cts +11 -8
  42. package/dist/index.d.ts +11 -8
  43. package/dist/index.js +10 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/memory/index.d.cts +7 -6
  46. package/dist/memory/index.d.ts +7 -6
  47. package/dist/port-CPVBfDxS.d.cts +301 -0
  48. package/dist/port-D2i2o7Lg.d.ts +301 -0
  49. package/dist/portal-Db4CYyHe.d.ts +331 -0
  50. package/dist/portal-DfeY2Boy.d.cts +331 -0
  51. package/dist/{ports-TMWX-t9l.d.ts → ports-BWtxAnXh.d.ts} +2 -2
  52. package/dist/{ports-D8-iuY1P.d.cts → ports-DSU2RsR6.d.cts} +2 -2
  53. package/dist/react/index.cjs +55 -523
  54. package/dist/react/index.cjs.map +1 -1
  55. package/dist/react/index.d.cts +14 -1
  56. package/dist/react/index.d.ts +14 -1
  57. package/dist/react/index.js +52 -527
  58. package/dist/react/index.js.map +1 -1
  59. package/dist/realtime/index.d.cts +2 -2
  60. package/dist/realtime/index.d.ts +2 -2
  61. package/dist/{record-DpB2QgAZ.d.cts → record-BQi92d4-.d.cts} +7 -1
  62. package/dist/{record-DpB2QgAZ.d.ts → record-BQi92d4-.d.ts} +7 -1
  63. package/dist/relation-DMwkmzgN.d.cts +230 -0
  64. package/dist/relation-DlcqV_W5.d.ts +230 -0
  65. package/dist/rule-B8kR0l01.d.ts +250 -0
  66. package/dist/rule-BMViCLmW.d.cts +250 -0
  67. package/dist/search/index.cjs +283 -0
  68. package/dist/search/index.cjs.map +1 -0
  69. package/dist/search/index.d.cts +44 -0
  70. package/dist/search/index.d.ts +44 -0
  71. package/dist/search/index.js +260 -0
  72. package/dist/search/index.js.map +1 -0
  73. package/dist/setup/index.cjs +6854 -0
  74. package/dist/setup/index.cjs.map +1 -0
  75. package/dist/setup/index.d.cts +87 -0
  76. package/dist/setup/index.d.ts +87 -0
  77. package/dist/setup/index.js +6829 -0
  78. package/dist/setup/index.js.map +1 -0
  79. package/dist/{subscription-D7KQBHXN.d.ts → subscription-5CLN3Jug.d.ts} +3 -249
  80. package/dist/{subscription-BD9DnJxX.d.cts → subscription-D-VEzvyy.d.cts} +3 -249
  81. package/dist/{table-kind-BZu8mtND.d.cts → table-kind-CVp43g6h.d.ts} +3 -558
  82. package/dist/{table-kind-xKxTHtrV.d.ts → table-kind-Cm6PXkWx.d.cts} +3 -558
  83. package/dist/templates/index.d.cts +10 -9
  84. package/dist/templates/index.d.ts +10 -9
  85. package/dist/typed-table/index.cjs +19 -7
  86. package/dist/typed-table/index.cjs.map +1 -1
  87. package/dist/typed-table/index.d.cts +10 -7
  88. package/dist/typed-table/index.d.ts +10 -7
  89. package/dist/typed-table/index.js +19 -7
  90. package/dist/typed-table/index.js.map +1 -1
  91. package/dist/{types-CLP5H4Wk.d.cts → types-9Q5SHRDJ.d.cts} +2 -2
  92. package/dist/{types-DmPkWQic.d.ts → types-CfYy-vdV.d.ts} +2 -2
  93. package/dist/{types-C2uspRtf.d.cts → types-Cs2MyE3u.d.cts} +2 -2
  94. package/dist/{types-Dv61jStB.d.ts → types-DF-dxB_l.d.ts} +2 -2
  95. package/dist/types-DTEGaxso.d.cts +139 -0
  96. package/dist/types-Dji5SpFS.d.ts +139 -0
  97. package/dist/use-cases/index.d.cts +5 -5
  98. package/dist/use-cases/index.d.ts +5 -5
  99. package/dist/{validate-CWVToe1T.d.ts → validate-BydKd-Le.d.ts} +1 -1
  100. package/dist/{validate-DEB_mn4Y.d.cts → validate-CqJakTKk.d.cts} +1 -1
  101. package/dist/versions/index.cjs +375 -0
  102. package/dist/versions/index.cjs.map +1 -0
  103. package/dist/versions/index.d.cts +160 -0
  104. package/dist/versions/index.d.ts +160 -0
  105. package/dist/versions/index.js +353 -0
  106. package/dist/versions/index.js.map +1 -0
  107. package/package.json +62 -2
@@ -1,10 +1,13 @@
1
- import { N as NewFieldSpec } from '../declareTable-BK3zufr7.cjs';
2
- import { U as Uuid, i as RecordsResult, o as RecordPageSort } from '../record-DpB2QgAZ.cjs';
3
- import { R as RecordsClient } from '../client-C3ZZNfGH.cjs';
4
- import { F as FieldDrift, T as TableArchiveProgress } from '../table-kind-BZu8mtND.cjs';
5
- import '../field-BanTVGK2.cjs';
6
- import '../subscription-BD9DnJxX.cjs';
7
- import '../ports-D8-iuY1P.cjs';
1
+ import { N as NewFieldSpec } from '../declareTable-Btg5bql1.cjs';
2
+ import { U as Uuid, R as RecordsResult, r as RecordPageSort } from '../record-BQi92d4-.cjs';
3
+ import { R as RecordsClient } from '../client-DE9Mq6YX.cjs';
4
+ import { F as FieldDrift, T as TableArchiveProgress } from '../table-kind-Cm6PXkWx.cjs';
5
+ import '../field-BJBnTyJ0.cjs';
6
+ import '../subscription-D-VEzvyy.cjs';
7
+ import '../rule-BMViCLmW.cjs';
8
+ import '../relation-DMwkmzgN.cjs';
9
+ import '../ports-DSU2RsR6.cjs';
10
+ import '../portal-DfeY2Boy.cjs';
8
11
 
9
12
  /** Where a declared field's value goes in the graduated table. */
10
13
  declare const TO_CUSTOM_FIELDS: "custom_fields";
@@ -1,10 +1,13 @@
1
- import { N as NewFieldSpec } from '../declareTable-B12XybRp.js';
2
- import { U as Uuid, i as RecordsResult, o as RecordPageSort } from '../record-DpB2QgAZ.js';
3
- import { R as RecordsClient } from '../client-E0VQ0NPO.js';
4
- import { F as FieldDrift, T as TableArchiveProgress } from '../table-kind-xKxTHtrV.js';
5
- import '../field-BPABOJ2Y.js';
6
- import '../subscription-D7KQBHXN.js';
7
- import '../ports-TMWX-t9l.js';
1
+ import { N as NewFieldSpec } from '../declareTable-JKt2q34d.js';
2
+ import { U as Uuid, R as RecordsResult, r as RecordPageSort } from '../record-BQi92d4-.js';
3
+ import { R as RecordsClient } from '../client-vJAb7g9r.js';
4
+ import { F as FieldDrift, T as TableArchiveProgress } from '../table-kind-CVp43g6h.js';
5
+ import '../field-Ti5iAxFr.js';
6
+ import '../subscription-5CLN3Jug.js';
7
+ import '../rule-B8kR0l01.js';
8
+ import '../relation-DlcqV_W5.js';
9
+ import '../ports-BWtxAnXh.js';
10
+ import '../portal-Db4CYyHe.js';
8
11
 
9
12
  /** Where a declared field's value goes in the graduated table. */
10
13
  declare const TO_CUSTOM_FIELDS: "custom_fields";
@@ -495,9 +495,18 @@ function stableFilterKey(filter) {
495
495
  return `{${parts.join(",")}}`;
496
496
  }
497
497
  function liftWithheld(rows) {
498
+ let shared;
499
+ for (const row of rows) {
500
+ const m = (row.measures ?? {})["_withheld"];
501
+ if (m !== void 0 && m !== null && typeof m === "object") {
502
+ shared = m;
503
+ break;
504
+ }
505
+ }
498
506
  return rows.map((row) => {
499
507
  const measures = row.measures ?? {};
500
- const marker = measures["_withheld"];
508
+ const own = measures["_withheld"];
509
+ const marker = own !== void 0 && own !== null && typeof own === "object" ? own : shared;
501
510
  const rowCount = row.row_count ?? 0;
502
511
  if (marker === void 0 || marker === null || typeof marker !== "object") {
503
512
  return rowCount === row.row_count ? row : { ...row, row_count: rowCount };
@@ -3415,12 +3424,15 @@ function createRecordsClient(given) {
3415
3424
  () => true
3416
3425
  );
3417
3426
  }
3418
- const door = await callDoor(
3419
- DOORS.readRecord,
3420
- { p_organization_id: org, p_record_id: record_id },
3421
- "recordRead"
3422
- );
3427
+ const [door, header] = await Promise.all([
3428
+ callDoor(DOORS.readRecord, { p_organization_id: org, p_record_id: record_id }, "recordRead"),
3429
+ // A version that cannot be read never takes the record away: it comes back as null.
3430
+ callDoor(DOORS.recordHeaders, { p_organization_id: org, p_ids: [record_id] }, "recordRead.version").catch(
3431
+ () => null
3432
+ )
3433
+ ]);
3423
3434
  if (!door.ok) return err(door.error);
3435
+ const version = header && header.ok ? header.data?.find((h) => h.id === record_id)?.version ?? null : null;
3424
3436
  const { document, hidden } = unfold(door.data);
3425
3437
  let computed = [];
3426
3438
  let computedUnavailable = null;
@@ -3433,7 +3445,7 @@ function createRecordsClient(given) {
3433
3445
  if (provenance.ok) computed = provenance.data ?? [];
3434
3446
  else computedUnavailable = provenance.error;
3435
3447
  }
3436
- return ok({ record_id, document, hidden, computed, computedUnavailable });
3448
+ return ok({ record_id, document, hidden, computed, computedUnavailable, version });
3437
3449
  },
3438
3450
  async listByIds({ table_id, ids }) {
3439
3451
  if (ids.length === 0) return ok([]);