@mastra/upstash 1.2.1-alpha.1 → 1.2.2-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.
- package/CHANGELOG.md +48 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-memory-working-memory.md +4 -0
- package/dist/docs/references/docs-rag-retrieval.md +2 -0
- package/dist/docs/references/docs-rag-vector-databases.md +2 -0
- package/dist/docs/references/reference-storage-upstash.md +2 -0
- package/dist/docs/references/reference-vectors-upstash.md +2 -0
- package/dist/index.cjs +28 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +28 -9
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/scores/index.d.ts +9 -5
- package/dist/storage/domains/scores/index.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -1455,6 +1455,16 @@ var StoreMemoryUpstash = class extends MemoryStorage {
|
|
|
1455
1455
|
function transformScoreRow(row) {
|
|
1456
1456
|
return transformScoreRow$1(row);
|
|
1457
1457
|
}
|
|
1458
|
+
function matchesTenancy(row, filters) {
|
|
1459
|
+
if (filters?.organizationId !== void 0 && row.organizationId !== filters.organizationId) return false;
|
|
1460
|
+
if (filters?.projectId !== void 0 && row.projectId !== filters.projectId) return false;
|
|
1461
|
+
return true;
|
|
1462
|
+
}
|
|
1463
|
+
function compareScoresByCreatedAtDesc(a, b) {
|
|
1464
|
+
const createdAtDiff = new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();
|
|
1465
|
+
if (createdAtDiff !== 0) return createdAtDiff;
|
|
1466
|
+
return String(b.id ?? "").localeCompare(String(a.id ?? ""));
|
|
1467
|
+
}
|
|
1458
1468
|
var ScoresUpstash = class extends ScoresStorage {
|
|
1459
1469
|
client;
|
|
1460
1470
|
#db;
|
|
@@ -1494,7 +1504,8 @@ var ScoresUpstash = class extends ScoresStorage {
|
|
|
1494
1504
|
entityId,
|
|
1495
1505
|
entityType,
|
|
1496
1506
|
source,
|
|
1497
|
-
pagination = { page: 0, perPage: 20 }
|
|
1507
|
+
pagination = { page: 0, perPage: 20 },
|
|
1508
|
+
filters
|
|
1498
1509
|
}) {
|
|
1499
1510
|
const pattern = `${TABLE_SCORERS}:*`;
|
|
1500
1511
|
const keys = await this.#db.scanKeys(pattern);
|
|
@@ -1524,13 +1535,14 @@ var ScoresUpstash = class extends ScoresStorage {
|
|
|
1524
1535
|
if (entityId && row.entityId !== entityId) return false;
|
|
1525
1536
|
if (entityType && row.entityType !== entityType) return false;
|
|
1526
1537
|
if (source && row.source !== source) return false;
|
|
1538
|
+
if (!matchesTenancy(row, filters)) return false;
|
|
1527
1539
|
return true;
|
|
1528
1540
|
});
|
|
1529
1541
|
const perPage = normalizePerPage(perPageInput, 100);
|
|
1530
1542
|
const { offset: start, perPage: perPageForResponse } = calculatePagination(page, perPageInput, perPage);
|
|
1531
1543
|
const end = perPageInput === false ? filtered.length : start + perPage;
|
|
1532
1544
|
const total = filtered.length;
|
|
1533
|
-
const paged = filtered.slice(start, end);
|
|
1545
|
+
const paged = [...filtered].sort(compareScoresByCreatedAtDesc).slice(start, end);
|
|
1534
1546
|
const scores = paged.map((row) => transformScoreRow(row));
|
|
1535
1547
|
return {
|
|
1536
1548
|
scores,
|
|
@@ -1591,7 +1603,8 @@ var ScoresUpstash = class extends ScoresStorage {
|
|
|
1591
1603
|
}
|
|
1592
1604
|
async listScoresByRunId({
|
|
1593
1605
|
runId,
|
|
1594
|
-
pagination = { page: 0, perPage: 20 }
|
|
1606
|
+
pagination = { page: 0, perPage: 20 },
|
|
1607
|
+
filters
|
|
1595
1608
|
}) {
|
|
1596
1609
|
const pattern = `${TABLE_SCORERS}:*`;
|
|
1597
1610
|
const keys = await this.#db.scanKeys(pattern);
|
|
@@ -1615,12 +1628,14 @@ var ScoresUpstash = class extends ScoresStorage {
|
|
|
1615
1628
|
}
|
|
1616
1629
|
}
|
|
1617
1630
|
return raw;
|
|
1618
|
-
}).filter(
|
|
1631
|
+
}).filter(
|
|
1632
|
+
(row) => !!row && typeof row === "object" && row.runId === runId && matchesTenancy(row, filters)
|
|
1633
|
+
);
|
|
1619
1634
|
const total = filtered.length;
|
|
1620
1635
|
const perPage = normalizePerPage(perPageInput, 100);
|
|
1621
1636
|
const { offset: start, perPage: perPageForResponse } = calculatePagination(page, perPageInput, perPage);
|
|
1622
1637
|
const end = perPageInput === false ? filtered.length : start + perPage;
|
|
1623
|
-
const paged = filtered.slice(start, end);
|
|
1638
|
+
const paged = [...filtered].sort(compareScoresByCreatedAtDesc).slice(start, end);
|
|
1624
1639
|
const scores = paged.map((row) => transformScoreRow(row));
|
|
1625
1640
|
return {
|
|
1626
1641
|
scores,
|
|
@@ -1635,7 +1650,8 @@ var ScoresUpstash = class extends ScoresStorage {
|
|
|
1635
1650
|
async listScoresByEntityId({
|
|
1636
1651
|
entityId,
|
|
1637
1652
|
entityType,
|
|
1638
|
-
pagination = { page: 0, perPage: 20 }
|
|
1653
|
+
pagination = { page: 0, perPage: 20 },
|
|
1654
|
+
filters
|
|
1639
1655
|
}) {
|
|
1640
1656
|
const pattern = `${TABLE_SCORERS}:*`;
|
|
1641
1657
|
const keys = await this.#db.scanKeys(pattern);
|
|
@@ -1663,13 +1679,14 @@ var ScoresUpstash = class extends ScoresStorage {
|
|
|
1663
1679
|
if (!row || typeof row !== "object") return false;
|
|
1664
1680
|
if (row.entityId !== entityId) return false;
|
|
1665
1681
|
if (entityType && row.entityType !== entityType) return false;
|
|
1682
|
+
if (!matchesTenancy(row, filters)) return false;
|
|
1666
1683
|
return true;
|
|
1667
1684
|
});
|
|
1668
1685
|
const total = filtered.length;
|
|
1669
1686
|
const perPage = normalizePerPage(perPageInput, 100);
|
|
1670
1687
|
const { offset: start, perPage: perPageForResponse } = calculatePagination(page, perPageInput, perPage);
|
|
1671
1688
|
const end = perPageInput === false ? filtered.length : start + perPage;
|
|
1672
|
-
const paged = filtered.slice(start, end);
|
|
1689
|
+
const paged = [...filtered].sort(compareScoresByCreatedAtDesc).slice(start, end);
|
|
1673
1690
|
const scores = paged.map((row) => transformScoreRow(row));
|
|
1674
1691
|
return {
|
|
1675
1692
|
scores,
|
|
@@ -1684,7 +1701,8 @@ var ScoresUpstash = class extends ScoresStorage {
|
|
|
1684
1701
|
async listScoresBySpan({
|
|
1685
1702
|
traceId,
|
|
1686
1703
|
spanId,
|
|
1687
|
-
pagination = { page: 0, perPage: 20 }
|
|
1704
|
+
pagination = { page: 0, perPage: 20 },
|
|
1705
|
+
filters
|
|
1688
1706
|
}) {
|
|
1689
1707
|
const pattern = `${TABLE_SCORERS}:*`;
|
|
1690
1708
|
const keys = await this.#db.scanKeys(pattern);
|
|
@@ -1712,13 +1730,14 @@ var ScoresUpstash = class extends ScoresStorage {
|
|
|
1712
1730
|
if (!row || typeof row !== "object") return false;
|
|
1713
1731
|
if (row.traceId !== traceId) return false;
|
|
1714
1732
|
if (row.spanId !== spanId) return false;
|
|
1733
|
+
if (!matchesTenancy(row, filters)) return false;
|
|
1715
1734
|
return true;
|
|
1716
1735
|
});
|
|
1717
1736
|
const total = filtered.length;
|
|
1718
1737
|
const perPage = normalizePerPage(perPageInput, 100);
|
|
1719
1738
|
const { offset: start, perPage: perPageForResponse } = calculatePagination(page, perPageInput, perPage);
|
|
1720
1739
|
const end = perPageInput === false ? filtered.length : start + perPage;
|
|
1721
|
-
const paged = filtered.slice(start, end);
|
|
1740
|
+
const paged = [...filtered].sort(compareScoresByCreatedAtDesc).slice(start, end);
|
|
1722
1741
|
const scores = paged.map((row) => transformScoreRow(row));
|
|
1723
1742
|
return {
|
|
1724
1743
|
scores,
|