@ai-matrx/records 0.79.1 → 0.80.1
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 +14 -0
- package/dist/app-table/index.cjs +31 -6
- 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 +31 -6
- package/dist/app-table/index.js.map +1 -1
- package/dist/{client-BcVOYKL1.d.ts → client-BbLzOf08.d.ts} +1 -1
- package/dist/{client-DHoI0qvP.d.cts → client-GhSH0bR7.d.cts} +1 -1
- package/dist/core/index.cjs +41 -6
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +26 -5
- package/dist/core/index.d.ts +26 -5
- package/dist/core/index.js +41 -6
- package/dist/core/index.js.map +1 -1
- package/dist/data/index.cjs +31 -6
- 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 +31 -6
- package/dist/data/index.js.map +1 -1
- package/dist/{declareTable-DM9mPkSc.d.cts → declareTable-Bb0eUtPF.d.cts} +2 -2
- package/dist/{declareTable-CDKHwyrF.d.ts → declareTable-D6mB7Va8.d.ts} +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 +31 -6
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +6 -2
- package/dist/react/index.d.ts +6 -2
- package/dist/react/index.js +31 -6
- package/dist/react/index.js.map +1 -1
- package/dist/{table-kind-wYO_qjK1.d.cts → table-kind-DptSVo_4.d.cts} +6 -2
- package/dist/{table-kind-Ct-nhoCZ.d.ts → table-kind-lHVdMZGy.d.ts} +6 -2
- package/package.json +1 -1
package/dist/data/index.cjs
CHANGED
|
@@ -220,6 +220,24 @@ function compileSort(sort, shape) {
|
|
|
220
220
|
return { ok: true, data: out };
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
+
// src/core/primedBundle.ts
|
|
224
|
+
var PRIMED_TTL_MS = 15e3;
|
|
225
|
+
var REGISTRY = /* @__PURE__ */ Symbol.for("@ai-matrx/records/primed-table-page-bundles");
|
|
226
|
+
function registry() {
|
|
227
|
+
const g = globalThis;
|
|
228
|
+
return g[REGISTRY] ??= /* @__PURE__ */ new Map();
|
|
229
|
+
}
|
|
230
|
+
var primedKey = (organizationId, tableId, viewId) => `${organizationId}|${tableId}|${viewId ?? ""}`;
|
|
231
|
+
function takePrimedTablePageBundle(organizationId, tableId, viewId) {
|
|
232
|
+
if (!organizationId) return null;
|
|
233
|
+
const key = primedKey(organizationId, tableId, viewId);
|
|
234
|
+
const primed = registry();
|
|
235
|
+
const held = primed.get(key);
|
|
236
|
+
if (!held) return null;
|
|
237
|
+
primed.delete(key);
|
|
238
|
+
return Date.now() - held.at < PRIMED_TTL_MS ? held.answer : null;
|
|
239
|
+
}
|
|
240
|
+
|
|
223
241
|
// src/archive.ts
|
|
224
242
|
var DEFAULT_ARCHIVE_LANE = "org";
|
|
225
243
|
|
|
@@ -2585,13 +2603,20 @@ function createRecordsClient(given) {
|
|
|
2585
2603
|
}
|
|
2586
2604
|
async function fillBundle(tableId, viewId) {
|
|
2587
2605
|
try {
|
|
2588
|
-
const
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
)
|
|
2606
|
+
const view = typeof viewId === "string" ? viewId : null;
|
|
2607
|
+
const usable = (r) => r !== null && !r.error && r.data !== null && typeof r.data === "object" && Array.isArray(r.data.parts);
|
|
2608
|
+
const primedAnswer = takePrimedTablePageBundle(org, tableId, view);
|
|
2609
|
+
let response = primedAnswer ? await primedAnswer : null;
|
|
2610
|
+
if (!usable(response)) {
|
|
2611
|
+
response = await config.dataSource.rpc(
|
|
2612
|
+
"table_page_bundle",
|
|
2613
|
+
{ p_organization_id: org, p_table_id: tableId, p_view_id: view },
|
|
2614
|
+
{ schema }
|
|
2615
|
+
);
|
|
2616
|
+
}
|
|
2617
|
+
if (!usable(response)) return;
|
|
2593
2618
|
const answer = response.data;
|
|
2594
|
-
if (
|
|
2619
|
+
if (!answer || !Array.isArray(answer.parts)) return;
|
|
2595
2620
|
const now = Date.now();
|
|
2596
2621
|
for (const part of answer.parts) {
|
|
2597
2622
|
if (part.error !== void 0 || part.data === void 0) continue;
|