@ai-matrx/records 0.84.5 → 0.84.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 (36) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/app-table/index.cjs +36 -0
  3. package/dist/app-table/index.cjs.map +1 -1
  4. package/dist/app-table/index.d.cts +3 -3
  5. package/dist/app-table/index.d.ts +3 -3
  6. package/dist/app-table/index.js +36 -0
  7. package/dist/app-table/index.js.map +1 -1
  8. package/dist/{client-TU-nvgcF.d.ts → client-Cx2JV38-.d.ts} +7 -1
  9. package/dist/{client-CesQciPd.d.cts → client-xErw4ZgF.d.cts} +7 -1
  10. package/dist/core/index.cjs +36 -0
  11. package/dist/core/index.cjs.map +1 -1
  12. package/dist/core/index.d.cts +5 -4
  13. package/dist/core/index.d.ts +5 -4
  14. package/dist/core/index.js +36 -0
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/data/index.cjs +36 -0
  17. package/dist/data/index.cjs.map +1 -1
  18. package/dist/data/index.d.cts +2 -2
  19. package/dist/data/index.d.ts +2 -2
  20. package/dist/data/index.js +36 -0
  21. package/dist/data/index.js.map +1 -1
  22. package/dist/{declareTable-COXYIOiT.d.ts → declareTable-CYzGWD5K.d.ts} +2 -2
  23. package/dist/{declareTable-B9sr2E0h.d.cts → declareTable-G-H3AK48.d.cts} +2 -2
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.cts +2 -2
  26. package/dist/index.d.ts +2 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/react/index.cjs +46 -1
  29. package/dist/react/index.cjs.map +1 -1
  30. package/dist/react/index.d.cts +16 -1
  31. package/dist/react/index.d.ts +16 -1
  32. package/dist/react/index.js +46 -1
  33. package/dist/react/index.js.map +1 -1
  34. package/dist/{table-kind-C5T-DOdc.d.ts → table-kind-B_qYmQJG.d.ts} +10 -1
  35. package/dist/{table-kind-B4vIKJVM.d.cts → table-kind-KMjVs-rk.d.cts} +10 -1
  36. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
- import { bK as EntityRefWithWords } from '../table-kind-B4vIKJVM.cjs';
1
+ import { bL as EntityRefWithWords } from '../table-kind-KMjVs-rk.cjs';
2
2
  import { U as Uuid, h as RecordsResult, n as RecordPageSort, m as ReadRow } from '../record-1yDCn169.cjs';
3
- import { R as RecordsClient } from '../client-CesQciPd.cjs';
3
+ import { R as RecordsClient } from '../client-xErw4ZgF.cjs';
4
4
  import { b as Field } from '../field-snQG2jMq.cjs';
5
5
  import { u as RuleExpression } from '../subscription-B_WaT-kr.cjs';
6
6
  import '../ports-y1QNfM80.cjs';
@@ -1,6 +1,6 @@
1
- import { bK as EntityRefWithWords } from '../table-kind-C5T-DOdc.js';
1
+ import { bL as EntityRefWithWords } from '../table-kind-B_qYmQJG.js';
2
2
  import { U as Uuid, h as RecordsResult, n as RecordPageSort, m as ReadRow } from '../record-1yDCn169.js';
3
- import { R as RecordsClient } from '../client-TU-nvgcF.js';
3
+ import { R as RecordsClient } from '../client-Cx2JV38-.js';
4
4
  import { b as Field } from '../field-BIJiFPc0.js';
5
5
  import { u as RuleExpression } from '../subscription-CUok1vAm.js';
6
6
  import '../ports-Y5gLbCXe.js';
@@ -1775,6 +1775,10 @@ var OWED_BY = {
1775
1775
  // clone; they reach the main database when the chair applies them, after
1776
1776
  // visionreach_w4_a_the_store_asks_before_an_agent_changes_a_table.sql (its field_declare body).
1777
1777
  reverse_columns: "VIEWS-AND-FIELDS BL \u2014 matrx-frontend migrations/campaign/viewsfields_bl_a_link_shows_on_both_tables.sql (chair's production apply)",
1778
+ // SEED-ENTITY (2026-10-08): the same links through SEVERAL reverse columns in one call; applied to production
1779
+ // through the ledgered runner. Until `pnpm records:generate` lists it, `reverseLinksFields` asks it as an owed door
1780
+ // and a store without it answers `door_absent` (the caller falls back to one call per column).
1781
+ reverse_links_many_fields: "SEED-ENTITY \u2014 matrx-frontend migrations/campaign/seedentity_reverse_links_many_fields.sql (applied 2026-10-08)",
1778
1782
  reverse_links_many: "VIEWS-AND-FIELDS BL \u2014 matrx-frontend migrations/campaign/viewsfields_bl_a_link_shows_on_both_tables.sql (chair's production apply)",
1779
1783
  // Live on Matrx Main since 2026-10-06 (applied through the Supabase MCP); STORE_DOORS lists it at the
1780
1784
  // next `pnpm records:generate`, until then `listKeyset` asks it as an owed door.
@@ -2015,6 +2019,7 @@ var DOORS = {
2015
2019
  // links through one of them. Called through `owedDoor` until `pnpm records:generate` lists them.
2016
2020
  reverseColumns: "reverse_columns",
2017
2021
  reverseLinksMany: "reverse_links_many",
2022
+ reverseLinksManyFields: "reverse_links_many_fields",
2018
2023
  homeAdd: "home_add",
2019
2024
  recordReparent: "record_reparent",
2020
2025
  containmentChain: "containment_chain",
@@ -3891,6 +3896,37 @@ function createRecordsClient(given) {
3891
3896
  }
3892
3897
  return ok(out);
3893
3898
  },
3899
+ async reverseLinksFields(args) {
3900
+ const ids = [...new Set(args.record_ids.filter((id) => typeof id === "string" && id.length > 0))];
3901
+ const fieldIds = [...new Set(args.source_field_ids)];
3902
+ const out = Object.fromEntries(fieldIds.map((id) => [id, {}]));
3903
+ for (let f = 0; f < fieldIds.length || f === 0; f += 20) {
3904
+ for (let at = 0; at < ids.length; at += REVERSE_LINKS_RECORDS_PER_CALL) {
3905
+ const result = await owedDoor(
3906
+ DOORS.reverseLinksManyFields,
3907
+ {
3908
+ p_organization_id: org,
3909
+ p_table_id: args.table_id,
3910
+ p_field_ids: fieldIds.slice(f, f + 20),
3911
+ p_record_ids: ids.slice(at, at + REVERSE_LINKS_RECORDS_PER_CALL),
3912
+ p_limit: args.limit ?? 10,
3913
+ p_offset: args.offset ?? 0
3914
+ },
3915
+ "reverseLinksFields"
3916
+ );
3917
+ if (!result.ok) return result;
3918
+ for (const row of result.data ?? []) {
3919
+ if (!row?.record_id || !row.field_id) continue;
3920
+ (out[row.field_id] ??= {})[row.record_id] = {
3921
+ total: typeof row.total === "number" ? row.total : 0,
3922
+ links: Array.isArray(row.links) ? row.links : []
3923
+ };
3924
+ }
3925
+ }
3926
+ if (fieldIds.length === 0) break;
3927
+ }
3928
+ return ok(out);
3929
+ },
3894
3930
  async relationNamesMatch(args) {
3895
3931
  const distinct = [];
3896
3932
  const seen = /* @__PURE__ */ new Set();