@mastra/pg 1.26.0 → 1.27.0-alpha.0

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.
@@ -3,7 +3,7 @@ name: mastra-pg
3
3
  description: Documentation for @mastra/pg. Use when working with @mastra/pg APIs, configuration, or implementation.
4
4
  metadata:
5
5
  package: "@mastra/pg"
6
- version: "1.26.0"
6
+ version: "1.27.0-alpha.0"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.26.0",
2
+ "version": "1.27.0-alpha.0",
3
3
  "package": "@mastra/pg",
4
4
  "exports": {},
5
5
  "modules": {}
package/dist/index.cjs CHANGED
@@ -17535,27 +17535,39 @@ function compileThreadPredicate(predicate, parameterOffset) {
17535
17535
  values: compiled.values
17536
17536
  };
17537
17537
  }
17538
- function compilePostgresTraceScope(schema, selection, relationCollections, deltaWindow) {
17538
+ function compilePostgresTraceScope(schema, selection, relationCollections, scope, deltaWindow) {
17539
17539
  const spanTable = qualifiedTable(schema, TABLE_SPAN_EVENTS);
17540
17540
  const scoreTable = qualifiedTable(schema, TABLE_SCORE_EVENTS);
17541
17541
  const feedbackTable = qualifiedTable(schema, TABLE_FEEDBACK_EVENTS);
17542
17542
  const values = [selection.timeRange.from, selection.timeRange.to];
17543
- const rootConditions = [
17544
- `r."parentSpanId" IS NULL`,
17545
- latestRootPredicate$1(spanTable),
17546
- `NOT r."isPending"`,
17547
- `r."endedAt" IS NOT NULL`,
17548
- `r."startedAt" >= $1`,
17549
- `r."startedAt" < $2`
17550
- ];
17543
+ const deltaConditions = [];
17551
17544
  if (deltaWindow) {
17552
17545
  values.push(deltaWindow.xactId, deltaWindow.cursorId, deltaWindow.safeHorizon);
17553
- rootConditions.push(`(r."xactId", r."cursorId") > ($3::xid8, $4::bigint)`, `r."xactId" < $5::xid8`);
17546
+ deltaConditions.push(`(r."xactId", r."cursorId") > ($3::xid8, $4::bigint)`, `r."xactId" < $5::xid8`);
17554
17547
  }
17548
+ const scopeConditions = [];
17549
+ if (scope) {
17550
+ values.push(scope.organizationId);
17551
+ scopeConditions.push(`"organizationId" = $${values.length}`);
17552
+ if (scope.resourceId !== void 0) {
17553
+ values.push(scope.resourceId);
17554
+ scopeConditions.push(`"resourceId" = $${values.length}`);
17555
+ }
17556
+ }
17557
+ const scopeSql = (alias) => scopeConditions.map((condition) => `\n AND ${alias}.${condition}`).join("");
17555
17558
  const ctes = [`root_scope AS MATERIALIZED (
17556
17559
  SELECT *
17557
17560
  FROM ${spanTable} r
17558
- WHERE ${rootConditions.join("\n AND ")}
17561
+ WHERE ${[
17562
+ `r."parentSpanId" IS NULL`,
17563
+ latestRootPredicate$1(spanTable),
17564
+ `NOT r."isPending"`,
17565
+ `r."endedAt" IS NOT NULL`,
17566
+ `r."startedAt" >= $1`,
17567
+ `r."startedAt" < $2`,
17568
+ ...deltaConditions,
17569
+ ...scopeConditions.map((condition) => `r.${condition}`)
17570
+ ].join("\n AND ")}
17559
17571
  )`];
17560
17572
  if (relationCollections.has("spans")) ctes.push(`current_spans AS MATERIALIZED (
17561
17573
  SELECT
@@ -17581,7 +17593,7 @@ function compilePostgresTraceScope(schema, selection, relationCollections, delta
17581
17593
  FROM ${spanTable} s
17582
17594
  WHERE s."traceId" IS NOT NULL
17583
17595
  AND s."traceId" IN (SELECT "traceId" FROM root_scope)
17584
- AND ${latestSpanPredicate$1(spanTable)}
17596
+ AND ${latestSpanPredicate$1(spanTable)}${scopeSql("s")}
17585
17597
  )`);
17586
17598
  if (relationCollections.has("scores")) ctes.push(`current_scores AS MATERIALIZED (
17587
17599
  SELECT
@@ -17598,7 +17610,7 @@ function compilePostgresTraceScope(schema, selection, relationCollections, delta
17598
17610
  FROM ${scoreTable} s
17599
17611
  WHERE s."traceId" IS NOT NULL
17600
17612
  AND s."traceId" IN (SELECT "traceId" FROM root_scope)
17601
- AND ${latestScorePredicate(scoreTable)}
17613
+ AND ${latestScorePredicate(scoreTable)}${scopeSql("s")}
17602
17614
  )`);
17603
17615
  if (relationCollections.has("feedback")) ctes.push(`current_feedback AS MATERIALIZED (
17604
17616
  SELECT
@@ -17617,7 +17629,7 @@ function compilePostgresTraceScope(schema, selection, relationCollections, delta
17617
17629
  FROM ${feedbackTable} s
17618
17630
  WHERE s."traceId" IS NOT NULL
17619
17631
  AND s."traceId" IN (SELECT "traceId" FROM root_scope)
17620
- AND ${latestFeedbackPredicate(feedbackTable)}
17632
+ AND ${latestFeedbackPredicate(feedbackTable)}${scopeSql("s")}
17621
17633
  )`);
17622
17634
  return {
17623
17635
  ctes,
@@ -17635,7 +17647,7 @@ function compilePostgresTraceQuery(schema, plan, mode = "data", safeHorizon) {
17635
17647
  safeHorizon
17636
17648
  };
17637
17649
  }
17638
- const { ctes, values } = compilePostgresTraceScope(schema, plan, relationCollections, deltaWindow);
17650
+ const { ctes, values } = compilePostgresTraceScope(schema, plan, relationCollections, plan.scope, deltaWindow);
17639
17651
  let predicateSql = "TRUE";
17640
17652
  if (plan.where) {
17641
17653
  const predicate = compilePredicate(plan.where, values.length + 1);
@@ -17713,7 +17725,7 @@ LIMIT $${values.length}`,
17713
17725
  function compilePostgresThreadQuery(schema, plan) {
17714
17726
  const relationCollections = collectRelationCollections(plan.traces.where);
17715
17727
  collectThreadRelationCollections(plan.where, relationCollections);
17716
- const { ctes, values } = compilePostgresTraceScope(schema, plan.traces, relationCollections);
17728
+ const { ctes, values } = compilePostgresTraceScope(schema, plan.traces, relationCollections, plan.scope);
17717
17729
  let eligibilitySql = "TRUE";
17718
17730
  if (plan.traces.where) {
17719
17731
  const eligibility = compilePredicate(plan.traces.where, values.length + 1);
@@ -17771,7 +17783,7 @@ function discoveryCollections(scope) {
17771
17783
  return scope === "trace" ? /* @__PURE__ */ new Set() : /* @__PURE__ */ new Set([scope]);
17772
17784
  }
17773
17785
  function compilePostgresTraceQueryObservedFields(schema, plan) {
17774
- const { ctes, values } = compilePostgresTraceScope(schema, plan, /* @__PURE__ */ new Set());
17786
+ const { ctes, values } = compilePostgresTraceScope(schema, plan, /* @__PURE__ */ new Set(), plan.scope);
17775
17787
  const searchParameter = values.length + 1;
17776
17788
  const search = plan.search ? `AND strpos(lower('metadata.' || entry.key), lower($${searchParameter})) > 0` : "";
17777
17789
  if (plan.search) values.push(plan.search);
@@ -17795,7 +17807,7 @@ LIMIT $${values.length}`,
17795
17807
  };
17796
17808
  }
17797
17809
  function compilePostgresTraceQueryValues(schema, plan) {
17798
- const { ctes, values } = compilePostgresTraceScope(schema, plan, discoveryCollections(plan.predicateScope));
17810
+ const { ctes, values } = compilePostgresTraceScope(schema, plan, discoveryCollections(plan.predicateScope), plan.scope);
17799
17811
  let field;
17800
17812
  if (plan.predicateScope === "trace" && plan.path.startsWith("metadata.")) {
17801
17813
  const keyParameter = `$${values.length + 1}`;
@@ -18910,7 +18922,8 @@ var ObservabilityStoragePostgresVNext = class ObservabilityStoragePostgresVNext
18910
18922
  "logs",
18911
18923
  "trace-query",
18912
18924
  "trace-query-discovery",
18913
- "thread-query"
18925
+ "thread-query",
18926
+ "trace-query-tenant-scope"
18914
18927
  ];
18915
18928
  return [
18916
18929
  "metrics",
@@ -18918,7 +18931,8 @@ var ObservabilityStoragePostgresVNext = class ObservabilityStoragePostgresVNext
18918
18931
  "delta-polling",
18919
18932
  "trace-query",
18920
18933
  "trace-query-discovery",
18921
- "thread-query"
18934
+ "thread-query",
18935
+ "trace-query-tenant-scope"
18922
18936
  ];
18923
18937
  }
18924
18938
  async #run(op, fn, details) {