@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.
- package/CHANGELOG.md +6 -0
- package/dist/app-table/index.cjs +36 -0
- package/dist/app-table/index.cjs.map +1 -1
- package/dist/app-table/index.d.cts +3 -3
- package/dist/app-table/index.d.ts +3 -3
- package/dist/app-table/index.js +36 -0
- package/dist/app-table/index.js.map +1 -1
- package/dist/{client-TU-nvgcF.d.ts → client-Cx2JV38-.d.ts} +7 -1
- package/dist/{client-CesQciPd.d.cts → client-xErw4ZgF.d.cts} +7 -1
- package/dist/core/index.cjs +36 -0
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +5 -4
- package/dist/core/index.d.ts +5 -4
- package/dist/core/index.js +36 -0
- package/dist/core/index.js.map +1 -1
- package/dist/data/index.cjs +36 -0
- package/dist/data/index.cjs.map +1 -1
- package/dist/data/index.d.cts +2 -2
- package/dist/data/index.d.ts +2 -2
- package/dist/data/index.js +36 -0
- package/dist/data/index.js.map +1 -1
- package/dist/{declareTable-COXYIOiT.d.ts → declareTable-CYzGWD5K.d.ts} +2 -2
- package/dist/{declareTable-B9sr2E0h.d.cts → declareTable-G-H3AK48.d.cts} +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/react/index.cjs +46 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +16 -1
- package/dist/react/index.d.ts +16 -1
- package/dist/react/index.js +46 -1
- package/dist/react/index.js.map +1 -1
- package/dist/{table-kind-C5T-DOdc.d.ts → table-kind-B_qYmQJG.d.ts} +10 -1
- package/dist/{table-kind-B4vIKJVM.d.cts → table-kind-KMjVs-rk.d.cts} +10 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as RelationCoordinate, C as ChoiceNudge, T as TableArchiveProgress, a as TableRestoreProgress, b as TableDuplicateProgress, c as TableDuplicated, d as TableCopyInProgress, A as ArchiveLane, e as ArchivedRow, f as Table, g as TableHome, h as TableMoved, i as ChoiceUsage, j as ChoiceRehome, k as ChoiceCellBack, l as ChoicesRehomed, m as TableCapacity, F as FieldDrift, n as FieldRetyped, o as RecordsMerged, M as MigrationUndone, p as RelationWordsManyArgs, q as RelationIcons, r as ReverseColumn, s as ReverseLinksManyArgs, t as ReverseLinks, S as SourceArchived,
|
|
1
|
+
import { R as RelationCoordinate, C as ChoiceNudge, T as TableArchiveProgress, a as TableRestoreProgress, b as TableDuplicateProgress, c as TableDuplicated, d as TableCopyInProgress, A as ArchiveLane, e as ArchivedRow, f as Table, g as TableHome, h as TableMoved, i as ChoiceUsage, j as ChoiceRehome, k as ChoiceCellBack, l as ChoicesRehomed, m as TableCapacity, F as FieldDrift, n as FieldRetyped, o as RecordsMerged, M as MigrationUndone, p as RelationWordsManyArgs, q as RelationIcons, r as ReverseColumn, s as ReverseLinksManyArgs, t as ReverseLinks, u as ReverseLinksFieldsArgs, S as SourceArchived, v as TableKindFacts, E as EntityTableFacts, w as EntityFieldsAcross, N as NewEntityFieldDeclaration, x as EntityFieldRights, y as EntityRecordRead, z as EntityBackLinks, B as EntityRowWritten, D as EntityRecordsFound, P as Pipeline, G as PipelineColumn, H as PipelineVerdict, I as PipelineMoveResult, J as PipelineMoveManyItem, K as PipelineMoveMany, L as PipelineSpec, O as PipelineDeclared, Q as StageRuleOnFail, U as StageRuleEnforcement, V as StagePending, W as StagePendingOnBoard, X as PipelineGate, Y as PipelineGatePreview, Z as FormLookOptions, _ as ImportPlan, $ as ImportPolicy, a0 as ImportOpened, a1 as ImportColumnsDeclared, a2 as ImportBatchResult, a3 as ImportFinished, a4 as ImportReport, a5 as ImportRun, a6 as InboundDeclared, a7 as InboundAddress, a8 as PortalSummary, a9 as PortalArchiveFilter, aa as PortalArchiveAnswer, ab as FormArchiveAnswer, ac as ArchivedForm, ad as ArchivedChecklistTemplate, ae as TableRowDefaults, af as TableRowDefaultsPatch, ag as RowDefaultsApplied, ah as RecordRowControls, ai as PortalTableRef, aj as PortalCard, ak as PortalConfigInput, al as PortalFormSpec, am as PortalFormAnswer, an as PortalInvitation, ao as PortalRevocation, ap as PortalPreviewRow, aq as CaptureSheetSummary, ar as CaptureSheetFace, as as CaptureFileRef, at as CaptureOutcome, au as EnrichmentSummary, av as EnrichDeclared, aw as EnrichDueRow, ax as EnrichCell, ay as EnrichRun, az as DrillSource, aA as DrillDefinition, aB as DrillQuestion, aC as DrillAnswer, aD as DrillRowsPage, aE as DocToken, aF as DocUnresolvedToken, aG as DocTemplateRow, aH as DocRenderRow, aI as DocSignatureRow, aJ as RecordHistoryEntry, aK as RecordScopeContext, aL as ConversationScope, aM as ConversationScopeContext, aN as FieldHistoryEntry, aO as RestorePreview, aP as RestoreResult, aQ as CommentThreadRead, aR as CommentWritten, aS as AnonTokenBinding, aT as ChecklistSpec, aU as ChecklistDeclared, aV as ChecklistTemplateSummary, aW as ChecklistTemplateShape, aX as ChecklistRunStarted, aY as ChecklistRunStep, aZ as ChecklistRunSummary, a_ as ChecklistStepCompleted, a$ as WorkState, b0 as WorkGraph, b1 as WorkInstantiation, b2 as WorkTurn, b3 as WorkAssignmentField, b4 as WorkSlotHold, b5 as WorkInboxView, b6 as WorkInboxItem, b7 as InboxStateChange, b8 as InboxCounts, b9 as WorkListFlavour, ba as WorkListItem, bb as WorkAssignment, bc as WorkRecordState, bd as WorkApprover, be as WorkChange, bf as WorkApprovalFiled, bg as WorkApprovalDecision, bh as WorkDecideManyItem, bi as WorkDecideMany, bj as ExternalPrincipalCard, bk as PublishBinding, bl as ResolvedPublishBinding, bm as ResolvedPublishBindingKind, bn as MyLevel, bo as DecorationPath, bp as TableDecorations, bq as GridLayout, br as FormulaParse, bs as RowAction, bt as ActionRunResult, bu as AutomationSpec, bv as AutomationDeclared, bw as AutomationList, bx as AutomationFlipped, by as AutomationRuns, bz as RecordEvent, bA as TableWebhookDeclared, bB as TableWebhook, bC as IoExportPage, bD as TableListEntry, bE as DataHomeTable, bF as TableSyncSpec, bG as TableSyncResult, bH as TableRowCount, bI as RecordHeader, bJ as OutsideShareAnswer, bK as ViewOrderSet } from './table-kind-B_qYmQJG.js';
|
|
2
2
|
import { S as StoreFilter, F as FormSummary, B as BookingSummary, a as BookingAvailability, b as BookingDeclared, c as FormRoute, d as FormResults, D as DashboardSummary, e as DashboardBlock, R as RecordFilter, A as AggregateCompare, f as AggregateBucket, g as DashboardRunResult, h as StuckRow, i as AggregateMeasure, j as AggregateRow, k as Subscription, M as MySubscription, l as SubscriptionSpec, m as DigestPreview, n as SavedViewRow, o as SavedViewSpecIn, p as RowTemplateRow } from './subscription-CUok1vAm.js';
|
|
3
3
|
import { b as Field, c as FieldPatch, N as NewFieldDeclaration, R as RelationNamesAnswer, d as FieldDuplicated, e as FieldProposal, T as TableProposal } from './field-BIJiFPc0.js';
|
|
4
4
|
import { U as Uuid, f as Timestamp, g as RecordDocument, h as RecordsResult, i as RecordChange, j as RecordChangeResult, k as RecordGraphWritten, l as RecordRead, m as ReadRow, n as RecordPageSort, o as RecordPage, p as RecordKeysetPage, q as StoredRecord, r as RecordRevision, s as ReadValue, t as RecordsErrorCode, R as RecordsError, W as WriteConflict } from './record-1yDCn169.js';
|
|
@@ -746,6 +746,12 @@ interface RecordsClient {
|
|
|
746
746
|
* one count and one page. A record with no links answers `{ total: 0, links: [] }`.
|
|
747
747
|
*/
|
|
748
748
|
reverseLinksMany(args: ReverseLinksManyArgs): Promise<RecordsResult<Record<string, ReverseLinks>>>;
|
|
749
|
+
/**
|
|
750
|
+
* The same, through SEVERAL reverse columns in ONE call (`custom.reverse_links_many_fields`):
|
|
751
|
+
* `{ [source field id]: { [record id]: { total, links } } }`. A store without the door answers
|
|
752
|
+
* `door_absent` — ask `reverseLinksMany` per column then.
|
|
753
|
+
*/
|
|
754
|
+
reverseLinksFields(args: ReverseLinksFieldsArgs): Promise<RecordsResult<Record<string, Record<string, ReverseLinks>>>>;
|
|
749
755
|
/** Take a field off a table. Refuses the title field, the last field, and one another field reads through. */
|
|
750
756
|
fieldRetire(args: {
|
|
751
757
|
field_id: Uuid;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as RelationCoordinate, C as ChoiceNudge, T as TableArchiveProgress, a as TableRestoreProgress, b as TableDuplicateProgress, c as TableDuplicated, d as TableCopyInProgress, A as ArchiveLane, e as ArchivedRow, f as Table, g as TableHome, h as TableMoved, i as ChoiceUsage, j as ChoiceRehome, k as ChoiceCellBack, l as ChoicesRehomed, m as TableCapacity, F as FieldDrift, n as FieldRetyped, o as RecordsMerged, M as MigrationUndone, p as RelationWordsManyArgs, q as RelationIcons, r as ReverseColumn, s as ReverseLinksManyArgs, t as ReverseLinks, S as SourceArchived,
|
|
1
|
+
import { R as RelationCoordinate, C as ChoiceNudge, T as TableArchiveProgress, a as TableRestoreProgress, b as TableDuplicateProgress, c as TableDuplicated, d as TableCopyInProgress, A as ArchiveLane, e as ArchivedRow, f as Table, g as TableHome, h as TableMoved, i as ChoiceUsage, j as ChoiceRehome, k as ChoiceCellBack, l as ChoicesRehomed, m as TableCapacity, F as FieldDrift, n as FieldRetyped, o as RecordsMerged, M as MigrationUndone, p as RelationWordsManyArgs, q as RelationIcons, r as ReverseColumn, s as ReverseLinksManyArgs, t as ReverseLinks, u as ReverseLinksFieldsArgs, S as SourceArchived, v as TableKindFacts, E as EntityTableFacts, w as EntityFieldsAcross, N as NewEntityFieldDeclaration, x as EntityFieldRights, y as EntityRecordRead, z as EntityBackLinks, B as EntityRowWritten, D as EntityRecordsFound, P as Pipeline, G as PipelineColumn, H as PipelineVerdict, I as PipelineMoveResult, J as PipelineMoveManyItem, K as PipelineMoveMany, L as PipelineSpec, O as PipelineDeclared, Q as StageRuleOnFail, U as StageRuleEnforcement, V as StagePending, W as StagePendingOnBoard, X as PipelineGate, Y as PipelineGatePreview, Z as FormLookOptions, _ as ImportPlan, $ as ImportPolicy, a0 as ImportOpened, a1 as ImportColumnsDeclared, a2 as ImportBatchResult, a3 as ImportFinished, a4 as ImportReport, a5 as ImportRun, a6 as InboundDeclared, a7 as InboundAddress, a8 as PortalSummary, a9 as PortalArchiveFilter, aa as PortalArchiveAnswer, ab as FormArchiveAnswer, ac as ArchivedForm, ad as ArchivedChecklistTemplate, ae as TableRowDefaults, af as TableRowDefaultsPatch, ag as RowDefaultsApplied, ah as RecordRowControls, ai as PortalTableRef, aj as PortalCard, ak as PortalConfigInput, al as PortalFormSpec, am as PortalFormAnswer, an as PortalInvitation, ao as PortalRevocation, ap as PortalPreviewRow, aq as CaptureSheetSummary, ar as CaptureSheetFace, as as CaptureFileRef, at as CaptureOutcome, au as EnrichmentSummary, av as EnrichDeclared, aw as EnrichDueRow, ax as EnrichCell, ay as EnrichRun, az as DrillSource, aA as DrillDefinition, aB as DrillQuestion, aC as DrillAnswer, aD as DrillRowsPage, aE as DocToken, aF as DocUnresolvedToken, aG as DocTemplateRow, aH as DocRenderRow, aI as DocSignatureRow, aJ as RecordHistoryEntry, aK as RecordScopeContext, aL as ConversationScope, aM as ConversationScopeContext, aN as FieldHistoryEntry, aO as RestorePreview, aP as RestoreResult, aQ as CommentThreadRead, aR as CommentWritten, aS as AnonTokenBinding, aT as ChecklistSpec, aU as ChecklistDeclared, aV as ChecklistTemplateSummary, aW as ChecklistTemplateShape, aX as ChecklistRunStarted, aY as ChecklistRunStep, aZ as ChecklistRunSummary, a_ as ChecklistStepCompleted, a$ as WorkState, b0 as WorkGraph, b1 as WorkInstantiation, b2 as WorkTurn, b3 as WorkAssignmentField, b4 as WorkSlotHold, b5 as WorkInboxView, b6 as WorkInboxItem, b7 as InboxStateChange, b8 as InboxCounts, b9 as WorkListFlavour, ba as WorkListItem, bb as WorkAssignment, bc as WorkRecordState, bd as WorkApprover, be as WorkChange, bf as WorkApprovalFiled, bg as WorkApprovalDecision, bh as WorkDecideManyItem, bi as WorkDecideMany, bj as ExternalPrincipalCard, bk as PublishBinding, bl as ResolvedPublishBinding, bm as ResolvedPublishBindingKind, bn as MyLevel, bo as DecorationPath, bp as TableDecorations, bq as GridLayout, br as FormulaParse, bs as RowAction, bt as ActionRunResult, bu as AutomationSpec, bv as AutomationDeclared, bw as AutomationList, bx as AutomationFlipped, by as AutomationRuns, bz as RecordEvent, bA as TableWebhookDeclared, bB as TableWebhook, bC as IoExportPage, bD as TableListEntry, bE as DataHomeTable, bF as TableSyncSpec, bG as TableSyncResult, bH as TableRowCount, bI as RecordHeader, bJ as OutsideShareAnswer, bK as ViewOrderSet } from './table-kind-KMjVs-rk.cjs';
|
|
2
2
|
import { S as StoreFilter, F as FormSummary, B as BookingSummary, a as BookingAvailability, b as BookingDeclared, c as FormRoute, d as FormResults, D as DashboardSummary, e as DashboardBlock, R as RecordFilter, A as AggregateCompare, f as AggregateBucket, g as DashboardRunResult, h as StuckRow, i as AggregateMeasure, j as AggregateRow, k as Subscription, M as MySubscription, l as SubscriptionSpec, m as DigestPreview, n as SavedViewRow, o as SavedViewSpecIn, p as RowTemplateRow } from './subscription-B_WaT-kr.cjs';
|
|
3
3
|
import { b as Field, c as FieldPatch, N as NewFieldDeclaration, R as RelationNamesAnswer, d as FieldDuplicated, e as FieldProposal, T as TableProposal } from './field-snQG2jMq.cjs';
|
|
4
4
|
import { U as Uuid, f as Timestamp, g as RecordDocument, h as RecordsResult, i as RecordChange, j as RecordChangeResult, k as RecordGraphWritten, l as RecordRead, m as ReadRow, n as RecordPageSort, o as RecordPage, p as RecordKeysetPage, q as StoredRecord, r as RecordRevision, s as ReadValue, t as RecordsErrorCode, R as RecordsError, W as WriteConflict } from './record-1yDCn169.cjs';
|
|
@@ -746,6 +746,12 @@ interface RecordsClient {
|
|
|
746
746
|
* one count and one page. A record with no links answers `{ total: 0, links: [] }`.
|
|
747
747
|
*/
|
|
748
748
|
reverseLinksMany(args: ReverseLinksManyArgs): Promise<RecordsResult<Record<string, ReverseLinks>>>;
|
|
749
|
+
/**
|
|
750
|
+
* The same, through SEVERAL reverse columns in ONE call (`custom.reverse_links_many_fields`):
|
|
751
|
+
* `{ [source field id]: { [record id]: { total, links } } }`. A store without the door answers
|
|
752
|
+
* `door_absent` — ask `reverseLinksMany` per column then.
|
|
753
|
+
*/
|
|
754
|
+
reverseLinksFields(args: ReverseLinksFieldsArgs): Promise<RecordsResult<Record<string, Record<string, ReverseLinks>>>>;
|
|
749
755
|
/** Take a field off a table. Refuses the title field, the last field, and one another field reads through. */
|
|
750
756
|
fieldRetire(args: {
|
|
751
757
|
field_id: Uuid;
|
package/dist/core/index.cjs
CHANGED
|
@@ -5333,6 +5333,10 @@ var OWED_BY = {
|
|
|
5333
5333
|
// clone; they reach the main database when the chair applies them, after
|
|
5334
5334
|
// visionreach_w4_a_the_store_asks_before_an_agent_changes_a_table.sql (its field_declare body).
|
|
5335
5335
|
reverse_columns: "VIEWS-AND-FIELDS BL \u2014 matrx-frontend migrations/campaign/viewsfields_bl_a_link_shows_on_both_tables.sql (chair's production apply)",
|
|
5336
|
+
// SEED-ENTITY (2026-10-08): the same links through SEVERAL reverse columns in one call; applied to production
|
|
5337
|
+
// through the ledgered runner. Until `pnpm records:generate` lists it, `reverseLinksFields` asks it as an owed door
|
|
5338
|
+
// and a store without it answers `door_absent` (the caller falls back to one call per column).
|
|
5339
|
+
reverse_links_many_fields: "SEED-ENTITY \u2014 matrx-frontend migrations/campaign/seedentity_reverse_links_many_fields.sql (applied 2026-10-08)",
|
|
5336
5340
|
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)",
|
|
5337
5341
|
// Live on Matrx Main since 2026-10-06 (applied through the Supabase MCP); STORE_DOORS lists it at the
|
|
5338
5342
|
// next `pnpm records:generate`, until then `listKeyset` asks it as an owed door.
|
|
@@ -5573,6 +5577,7 @@ var DOORS = {
|
|
|
5573
5577
|
// links through one of them. Called through `owedDoor` until `pnpm records:generate` lists them.
|
|
5574
5578
|
reverseColumns: "reverse_columns",
|
|
5575
5579
|
reverseLinksMany: "reverse_links_many",
|
|
5580
|
+
reverseLinksManyFields: "reverse_links_many_fields",
|
|
5576
5581
|
homeAdd: "home_add",
|
|
5577
5582
|
recordReparent: "record_reparent",
|
|
5578
5583
|
containmentChain: "containment_chain",
|
|
@@ -7455,6 +7460,37 @@ function createRecordsClient(given) {
|
|
|
7455
7460
|
}
|
|
7456
7461
|
return ok(out);
|
|
7457
7462
|
},
|
|
7463
|
+
async reverseLinksFields(args) {
|
|
7464
|
+
const ids = [...new Set(args.record_ids.filter((id) => typeof id === "string" && id.length > 0))];
|
|
7465
|
+
const fieldIds = [...new Set(args.source_field_ids)];
|
|
7466
|
+
const out = Object.fromEntries(fieldIds.map((id) => [id, {}]));
|
|
7467
|
+
for (let f = 0; f < fieldIds.length || f === 0; f += 20) {
|
|
7468
|
+
for (let at = 0; at < ids.length; at += REVERSE_LINKS_RECORDS_PER_CALL) {
|
|
7469
|
+
const result = await owedDoor(
|
|
7470
|
+
DOORS.reverseLinksManyFields,
|
|
7471
|
+
{
|
|
7472
|
+
p_organization_id: org,
|
|
7473
|
+
p_table_id: args.table_id,
|
|
7474
|
+
p_field_ids: fieldIds.slice(f, f + 20),
|
|
7475
|
+
p_record_ids: ids.slice(at, at + REVERSE_LINKS_RECORDS_PER_CALL),
|
|
7476
|
+
p_limit: args.limit ?? 10,
|
|
7477
|
+
p_offset: args.offset ?? 0
|
|
7478
|
+
},
|
|
7479
|
+
"reverseLinksFields"
|
|
7480
|
+
);
|
|
7481
|
+
if (!result.ok) return result;
|
|
7482
|
+
for (const row of result.data ?? []) {
|
|
7483
|
+
if (!row?.record_id || !row.field_id) continue;
|
|
7484
|
+
(out[row.field_id] ??= {})[row.record_id] = {
|
|
7485
|
+
total: typeof row.total === "number" ? row.total : 0,
|
|
7486
|
+
links: Array.isArray(row.links) ? row.links : []
|
|
7487
|
+
};
|
|
7488
|
+
}
|
|
7489
|
+
}
|
|
7490
|
+
if (fieldIds.length === 0) break;
|
|
7491
|
+
}
|
|
7492
|
+
return ok(out);
|
|
7493
|
+
},
|
|
7458
7494
|
async relationNamesMatch(args) {
|
|
7459
7495
|
const distinct = [];
|
|
7460
7496
|
const seen = /* @__PURE__ */ new Set();
|