@ai-matrx/records 0.80.0 → 0.80.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 (36) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/app-table/index.cjs +6 -1
  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 +6 -1
  7. package/dist/app-table/index.js.map +1 -1
  8. package/dist/{client-DHoI0qvP.d.cts → client-BfNJEpar.d.cts} +1 -1
  9. package/dist/{client-BcVOYKL1.d.ts → client-DKKRZKNw.d.ts} +1 -1
  10. package/dist/core/index.cjs +8 -3
  11. package/dist/core/index.cjs.map +1 -1
  12. package/dist/core/index.d.cts +4 -4
  13. package/dist/core/index.d.ts +4 -4
  14. package/dist/core/index.js +8 -3
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/data/index.cjs +6 -1
  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 +6 -1
  21. package/dist/data/index.js.map +1 -1
  22. package/dist/{declareTable-CDKHwyrF.d.ts → declareTable-Cg522Sk0.d.ts} +2 -2
  23. package/dist/{declareTable-DM9mPkSc.d.cts → declareTable-CzLMdOSy.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 +6 -1
  29. package/dist/react/index.cjs.map +1 -1
  30. package/dist/react/index.d.cts +9 -3
  31. package/dist/react/index.d.ts +9 -3
  32. package/dist/react/index.js +6 -1
  33. package/dist/react/index.js.map +1 -1
  34. package/dist/{table-kind-Ct-nhoCZ.d.ts → table-kind-B9RBUmSb.d.ts} +9 -3
  35. package/dist/{table-kind-wYO_qjK1.d.cts → table-kind-DXktQGzR.d.cts} +9 -3
  36. package/package.json +1 -1
@@ -8983,7 +8983,7 @@ type DrillSource = {
8983
8983
  /** Who a question is asked for (the access lanes, applied to counting). */
8984
8984
  type DrillLane = "mine" | "organization" | "platform";
8985
8985
  type DrillGrain = "hour" | "day" | "week" | "month" | "quarter" | "year";
8986
- type DrillMeasureOp = "count" | "count_distinct" | "sum" | "avg" | "min" | "max" | "median" | "percentile" | "rate" | "filled" | "empty" | "ratio" | "sum_of";
8986
+ type DrillMeasureOp = "count" | "count_distinct" | "sum" | "avg" | "min" | "max" | "median" | "percentile" | "rate" | "filled" | "empty" | "ratio" | "sum_of" | "span";
8987
8987
  /**
8988
8988
  * The operations a question may ask ad hoc (`{op, of}`); a ratio, a percentile and a run rate are
8989
8989
  * declared, never ad hoc (each needs more than a column: its parts, its p, its per).
@@ -9036,7 +9036,9 @@ interface DrillDimension {
9036
9036
  }
9037
9037
  /**
9038
9038
  * A DIMENSION'S LEVEL PROFILE (lane DRILL-LEVELS): what a drilled value of it offers and says.
9039
- * breakouts — Dimension references (`at:day` for a time) offered as one-click "By …" chips, in order
9039
+ * breakouts — Dimension references (`at:day` for a time) offered as one-click "By …" chips, in order;
9040
+ * `<definition>:<dimension>` names a SIBLING definition's Dimension (`ai_usage_executions:conversation`):
9041
+ * the screen switches the source there carrying the trail (lane DRILL-PRIMITIVE-2)
9040
9042
  * show — the Measures shown while grouping by it
9041
9043
  * attributes — Dimension keys each value holds ONE of (a conversation's agent, a model's provider):
9042
9044
  * columns while grouping by it, and the drilled value's header
@@ -9094,7 +9096,11 @@ interface DrillMeasure {
9094
9096
  * value, null or a list; never a time): "cost of successful enriched runs". Bound by the door.
9095
9097
  */
9096
9098
  where?: Record<string, DrillMeasureWhereValue>;
9097
- /** How a screen reads the number: usd, count, tokens, ms, share, times, …; `time` = a moment (ISO). */
9099
+ /**
9100
+ * How a screen reads the number: usd, count, tokens, ms, share, times, …; `time` = a moment (ISO);
9101
+ * `duration` = a length of time in milliseconds — what a `span` (`of` a time column: the latest
9102
+ * minus the earliest moment, never additive, recomputed for Other and the total) declares.
9103
+ */
9098
9104
  unit?: string;
9099
9105
  /** Counted once per this column's value (a measure on the "one" side of a join). */
9100
9106
  at_grain?: string;
@@ -8983,7 +8983,7 @@ type DrillSource = {
8983
8983
  /** Who a question is asked for (the access lanes, applied to counting). */
8984
8984
  type DrillLane = "mine" | "organization" | "platform";
8985
8985
  type DrillGrain = "hour" | "day" | "week" | "month" | "quarter" | "year";
8986
- type DrillMeasureOp = "count" | "count_distinct" | "sum" | "avg" | "min" | "max" | "median" | "percentile" | "rate" | "filled" | "empty" | "ratio" | "sum_of";
8986
+ type DrillMeasureOp = "count" | "count_distinct" | "sum" | "avg" | "min" | "max" | "median" | "percentile" | "rate" | "filled" | "empty" | "ratio" | "sum_of" | "span";
8987
8987
  /**
8988
8988
  * The operations a question may ask ad hoc (`{op, of}`); a ratio, a percentile and a run rate are
8989
8989
  * declared, never ad hoc (each needs more than a column: its parts, its p, its per).
@@ -9036,7 +9036,9 @@ interface DrillDimension {
9036
9036
  }
9037
9037
  /**
9038
9038
  * A DIMENSION'S LEVEL PROFILE (lane DRILL-LEVELS): what a drilled value of it offers and says.
9039
- * breakouts — Dimension references (`at:day` for a time) offered as one-click "By …" chips, in order
9039
+ * breakouts — Dimension references (`at:day` for a time) offered as one-click "By …" chips, in order;
9040
+ * `<definition>:<dimension>` names a SIBLING definition's Dimension (`ai_usage_executions:conversation`):
9041
+ * the screen switches the source there carrying the trail (lane DRILL-PRIMITIVE-2)
9040
9042
  * show — the Measures shown while grouping by it
9041
9043
  * attributes — Dimension keys each value holds ONE of (a conversation's agent, a model's provider):
9042
9044
  * columns while grouping by it, and the drilled value's header
@@ -9094,7 +9096,11 @@ interface DrillMeasure {
9094
9096
  * value, null or a list; never a time): "cost of successful enriched runs". Bound by the door.
9095
9097
  */
9096
9098
  where?: Record<string, DrillMeasureWhereValue>;
9097
- /** How a screen reads the number: usd, count, tokens, ms, share, times, …; `time` = a moment (ISO). */
9099
+ /**
9100
+ * How a screen reads the number: usd, count, tokens, ms, share, times, …; `time` = a moment (ISO);
9101
+ * `duration` = a length of time in milliseconds — what a `span` (`of` a time column: the latest
9102
+ * minus the earliest moment, never additive, recomputed for Other and the total) declares.
9103
+ */
9098
9104
  unit?: string;
9099
9105
  /** Counted once per this column's value (a measure on the "one" side of a join). */
9100
9106
  at_grain?: string;
@@ -12,11 +12,16 @@ import {
12
12
 
13
13
  // src/core/primedBundle.ts
14
14
  var PRIMED_TTL_MS = 15e3;
15
- var primed = /* @__PURE__ */ new Map();
15
+ var REGISTRY = /* @__PURE__ */ Symbol.for("@ai-matrx/records/primed-table-page-bundles");
16
+ function registry() {
17
+ const g = globalThis;
18
+ return g[REGISTRY] ??= /* @__PURE__ */ new Map();
19
+ }
16
20
  var primedKey = (organizationId, tableId, viewId) => `${organizationId}|${tableId}|${viewId ?? ""}`;
17
21
  function takePrimedTablePageBundle(organizationId, tableId, viewId) {
18
22
  if (!organizationId) return null;
19
23
  const key = primedKey(organizationId, tableId, viewId);
24
+ const primed = registry();
20
25
  const held = primed.get(key);
21
26
  if (!held) return null;
22
27
  primed.delete(key);