@ai-matrx/records 0.92.0 → 0.92.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.
Files changed (81) hide show
  1. package/CHANGELOG.md +17 -3
  2. package/README.md +4 -4
  3. package/dist/{client-DE9Mq6YX.d.cts → client-Cn3odIIB.d.cts} +10 -8
  4. package/dist/{client-vJAb7g9r.d.ts → client-Dzd8gtAo.d.ts} +10 -8
  5. package/dist/core/index.cjs +6 -6
  6. package/dist/core/index.cjs.map +1 -1
  7. package/dist/core/index.d.cts +14 -14
  8. package/dist/core/index.d.ts +14 -14
  9. package/dist/core/index.js +6 -6
  10. package/dist/core/index.js.map +1 -1
  11. package/dist/data/index.cjs +6 -6
  12. package/dist/data/index.cjs.map +1 -1
  13. package/dist/data/index.d.cts +11 -11
  14. package/dist/data/index.d.ts +11 -11
  15. package/dist/data/index.js +6 -6
  16. package/dist/data/index.js.map +1 -1
  17. package/dist/{declareTable-Btg5bql1.d.cts → declareTable-CrL6AZKB.d.cts} +4 -4
  18. package/dist/{declareTable-JKt2q34d.d.ts → declareTable-ZRW5EsTQ.d.ts} +4 -4
  19. package/dist/entity/index.d.cts +6 -6
  20. package/dist/entity/index.d.ts +6 -6
  21. package/dist/{field-BJBnTyJ0.d.cts → field-CCY1rG9l.d.cts} +1 -1
  22. package/dist/{field-Ti5iAxFr.d.ts → field-enufS5ry.d.ts} +1 -1
  23. package/dist/forms/index.d.cts +3 -3
  24. package/dist/forms/index.d.ts +3 -3
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.d.cts +11 -11
  27. package/dist/index.d.ts +11 -11
  28. package/dist/index.js.map +1 -1
  29. package/dist/memory/index.d.cts +7 -7
  30. package/dist/memory/index.d.ts +7 -7
  31. package/dist/{port-D2i2o7Lg.d.ts → port-C54ykAOv.d.ts} +2 -2
  32. package/dist/{port-CPVBfDxS.d.cts → port-Drioh9al.d.cts} +2 -2
  33. package/dist/{portal-DfeY2Boy.d.cts → portal-DRdmZ-xv.d.cts} +1 -1
  34. package/dist/{portal-Db4CYyHe.d.ts → portal-or_f7BkT.d.ts} +1 -1
  35. package/dist/{ports-BWtxAnXh.d.ts → ports-BeOgjwYl.d.ts} +1 -1
  36. package/dist/{ports-DSU2RsR6.d.cts → ports-s0D2jvqn.d.cts} +1 -1
  37. package/dist/react/index.cjs +6 -6
  38. package/dist/react/index.cjs.map +1 -1
  39. package/dist/react/index.d.cts +3 -1
  40. package/dist/react/index.d.ts +3 -1
  41. package/dist/react/index.js +6 -6
  42. package/dist/react/index.js.map +1 -1
  43. package/dist/realtime/index.d.cts +2 -2
  44. package/dist/realtime/index.d.ts +2 -2
  45. package/dist/{record-BQi92d4-.d.cts → record-BwCf9wKW.d.cts} +1 -1
  46. package/dist/{record-BQi92d4-.d.ts → record-BwCf9wKW.d.ts} +1 -1
  47. package/dist/{relation-DMwkmzgN.d.cts → relation-8vAWCa67.d.cts} +2 -2
  48. package/dist/{relation-DlcqV_W5.d.ts → relation-eLMgv_dV.d.ts} +2 -2
  49. package/dist/{rule-B8kR0l01.d.ts → rule-D9yNiorf.d.ts} +1 -1
  50. package/dist/{rule-BMViCLmW.d.cts → rule-wHI5B0Ka.d.cts} +1 -1
  51. package/dist/search/index.d.cts +1 -1
  52. package/dist/search/index.d.ts +1 -1
  53. package/dist/setup/index.cjs +6 -6
  54. package/dist/setup/index.cjs.map +1 -1
  55. package/dist/setup/index.d.cts +11 -11
  56. package/dist/setup/index.d.ts +11 -11
  57. package/dist/setup/index.js +6 -6
  58. package/dist/setup/index.js.map +1 -1
  59. package/dist/{subscription-5CLN3Jug.d.ts → subscription-BynsG1K6.d.ts} +2 -2
  60. package/dist/{subscription-D-VEzvyy.d.cts → subscription-CdoI-UaB.d.cts} +2 -2
  61. package/dist/{table-kind-Cm6PXkWx.d.cts → table-kind-DzctQ7dO.d.cts} +2 -2
  62. package/dist/{table-kind-CVp43g6h.d.ts → table-kind-i3lZJa3f.d.ts} +2 -2
  63. package/dist/templates/index.d.cts +10 -10
  64. package/dist/templates/index.d.ts +10 -10
  65. package/dist/typed-table/index.cjs +6 -6
  66. package/dist/typed-table/index.cjs.map +1 -1
  67. package/dist/typed-table/index.d.cts +10 -10
  68. package/dist/typed-table/index.d.ts +10 -10
  69. package/dist/typed-table/index.js +6 -6
  70. package/dist/typed-table/index.js.map +1 -1
  71. package/dist/{types-DTEGaxso.d.cts → types-BKYEeFt4.d.cts} +2 -2
  72. package/dist/{types-DF-dxB_l.d.ts → types-BvL_oKFl.d.ts} +2 -2
  73. package/dist/{types-9Q5SHRDJ.d.cts → types-D8qdG3Lg.d.cts} +2 -2
  74. package/dist/{types-Cs2MyE3u.d.cts → types-DAFP6XFe.d.cts} +2 -2
  75. package/dist/{types-CfYy-vdV.d.ts → types-DYzXhD7j.d.ts} +2 -2
  76. package/dist/{types-Dji5SpFS.d.ts → types-cpKY7Pjb.d.ts} +2 -2
  77. package/dist/use-cases/index.d.cts +5 -5
  78. package/dist/use-cases/index.d.ts +5 -5
  79. package/dist/{validate-BydKd-Le.d.ts → validate-DbvAParj.d.ts} +1 -1
  80. package/dist/{validate-CqJakTKk.d.cts → validate-DfNMxjmU.d.cts} +1 -1
  81. package/package.json +3 -3
@@ -6184,7 +6184,7 @@ interface RecordRead {
6184
6184
  */
6185
6185
  computedUnavailable?: RecordsError | null;
6186
6186
  /**
6187
- * The version this read saw, so a safe edit (`recordUpdate` with `expected_version`) needs no
6187
+ * Asked with `withVersion: true`: the version this read saw, so a safe edit (`recordUpdate` with `expected_version`) needs no
6188
6188
  * second call. Read beside the document in the same round of requests; `null` when the store
6189
6189
  * could not answer it (a write then refuses as "version unread", never as last-write-wins).
6190
6190
  */
@@ -13094,6 +13094,8 @@ interface RecordsClient {
13094
13094
  recordRead(args: {
13095
13095
  record_id: Uuid;
13096
13096
  withComputed?: boolean;
13097
+ /** Also answer `version` (read in the same round, so the read takes as long as the slower of the two). */
13098
+ withVersion?: boolean;
13097
13099
  organization_id?: Uuid | null;
13098
13100
  }): Promise<RecordsResult<RecordRead>>;
13099
13101
  /**
@@ -6184,7 +6184,7 @@ interface RecordRead {
6184
6184
  */
6185
6185
  computedUnavailable?: RecordsError | null;
6186
6186
  /**
6187
- * The version this read saw, so a safe edit (`recordUpdate` with `expected_version`) needs no
6187
+ * Asked with `withVersion: true`: the version this read saw, so a safe edit (`recordUpdate` with `expected_version`) needs no
6188
6188
  * second call. Read beside the document in the same round of requests; `null` when the store
6189
6189
  * could not answer it (a write then refuses as "version unread", never as last-write-wins).
6190
6190
  */
@@ -13094,6 +13094,8 @@ interface RecordsClient {
13094
13094
  recordRead(args: {
13095
13095
  record_id: Uuid;
13096
13096
  withComputed?: boolean;
13097
+ /** Also answer `version` (read in the same round, so the read takes as long as the slower of the two). */
13098
+ withVersion?: boolean;
13097
13099
  organization_id?: Uuid | null;
13098
13100
  }): Promise<RecordsResult<RecordRead>>;
13099
13101
  /**
@@ -4782,24 +4782,24 @@ function createRecordsClient(given) {
4782
4782
  if (!pass.ok) return pass;
4783
4783
  return carryOnCopy(pass.data, onProgress);
4784
4784
  },
4785
- async recordRead({ record_id, withComputed = false, organization_id }) {
4785
+ async recordRead({ record_id, withComputed = false, withVersion = false, organization_id }) {
4786
4786
  if (organization_id && organization_id !== org) {
4787
- return clientFor(organization_id).recordRead({ record_id, withComputed, organization_id });
4787
+ return clientFor(organization_id).recordRead({ record_id, withComputed, withVersion, organization_id });
4788
4788
  }
4789
4789
  if (readOrgs(organization_id).length > 1) {
4790
4790
  return openInOwnOrg(
4791
4791
  record_id,
4792
4792
  organization_id,
4793
- (sub) => sub.recordRead({ record_id, withComputed, organization_id: sub.config.organizationId }),
4793
+ (sub) => sub.recordRead({ record_id, withComputed, withVersion, organization_id: sub.config.organizationId }),
4794
4794
  () => true
4795
4795
  );
4796
4796
  }
4797
4797
  const [door, header] = await Promise.all([
4798
4798
  callDoor(DOORS.readRecord, { p_organization_id: org, p_record_id: record_id }, "recordRead"),
4799
4799
  // A version that cannot be read never takes the record away: it comes back as null.
4800
- callDoor(DOORS.recordHeaders, { p_organization_id: org, p_ids: [record_id] }, "recordRead.version").catch(
4800
+ withVersion ? callDoor(DOORS.recordHeaders, { p_organization_id: org, p_ids: [record_id] }, "recordRead.version").catch(
4801
4801
  () => null
4802
- )
4802
+ ) : Promise.resolve(null)
4803
4803
  ]);
4804
4804
  if (!door.ok) return err(door.error);
4805
4805
  const version = header && header.ok ? header.data?.find((h) => h.id === record_id)?.version ?? null : null;
@@ -4815,7 +4815,7 @@ function createRecordsClient(given) {
4815
4815
  if (provenance.ok) computed = provenance.data ?? [];
4816
4816
  else computedUnavailable = provenance.error;
4817
4817
  }
4818
- return ok({ record_id, document, hidden, computed, computedUnavailable, version });
4818
+ return ok({ record_id, document, hidden, computed, computedUnavailable, ...withVersion ? { version } : {} });
4819
4819
  },
4820
4820
  async listByIds({ table_id, ids }) {
4821
4821
  if (ids.length === 0) return ok([]);