@mastra/duckdb 1.5.2 → 1.6.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 +40 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{observability-UnP20Kyg.js → observability-5ro3rotr.js} +8 -7
- package/dist/observability-5ro3rotr.js.map +1 -0
- package/dist/{observability-Dc-V68UX.cjs → observability-DjqzPR8Z.cjs} +8 -7
- package/dist/observability-DjqzPR8Z.cjs.map +1 -0
- package/dist/storage/domains/observability/metrics.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/observability-Dc-V68UX.cjs.map +0 -1
- package/dist/observability-UnP20Kyg.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
# @mastra/duckdb
|
|
2
2
|
|
|
3
|
+
## 1.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added batch trace ID filtering to observability metric queries. ([#20535](https://github.com/mastra-ai/mastra/pull/20535))
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
const result = await observability.getMetricBreakdown({
|
|
11
|
+
name: ['mastra_model_total_input_tokens'],
|
|
12
|
+
aggregation: 'sum',
|
|
13
|
+
groupBy: ['traceId'],
|
|
14
|
+
filters: { traceIds: ['trace-1', 'trace-2'] },
|
|
15
|
+
});
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [[`4844167`](https://github.com/mastra-ai/mastra/commit/4844167cff2d5ec5004e94edd34970833040fa3f), [`c5e56ff`](https://github.com/mastra-ai/mastra/commit/c5e56ff3bcabdf062708f2d48744fec304df6792), [`594f7b2`](https://github.com/mastra-ai/mastra/commit/594f7b28f5263fb9982fd50d95c471fb971ea984), [`7f4e26d`](https://github.com/mastra-ai/mastra/commit/7f4e26dd57bd9b23c278ea21235ab823a3810a6c), [`311f943`](https://github.com/mastra-ai/mastra/commit/311f943bee60e8fdf5c84499ea50e884276c936c), [`322daa6`](https://github.com/mastra-ai/mastra/commit/322daa6d90552909204044790d850958f6745fed), [`db4e6ff`](https://github.com/mastra-ai/mastra/commit/db4e6ff744503112eb64deeaf6c2b54bf26a54c7), [`5faf93f`](https://github.com/mastra-ai/mastra/commit/5faf93f03e19daea394b9e2a923f2e4f833407f2), [`82201f7`](https://github.com/mastra-ai/mastra/commit/82201f75fae8e050a8de2df08b74875ee74c6b83), [`cadaa13`](https://github.com/mastra-ai/mastra/commit/cadaa1372e1077c8e85eb64c5499ba8803caa323), [`0c89896`](https://github.com/mastra-ai/mastra/commit/0c8989673fb7d106837098398131e570c6023b68), [`6d19a65`](https://github.com/mastra-ai/mastra/commit/6d19a6517f5da3911023d446b7e2d5dad8adb1cb), [`23b4238`](https://github.com/mastra-ai/mastra/commit/23b423844ad0bcf2a502a68dd62866d6160f9f6d), [`80ad891`](https://github.com/mastra-ai/mastra/commit/80ad891f8cd10379aa5b5af7510c763783b2ab56), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`e320a76`](https://github.com/mastra-ai/mastra/commit/e320a763feaf65c6be3cebecf746defcbde161b3), [`03b4918`](https://github.com/mastra-ai/mastra/commit/03b4918c80d188ce375334c393e131c6e94bd7eb), [`14ef73a`](https://github.com/mastra-ai/mastra/commit/14ef73a4bbd73e7808414816eb0628ce1d80b5d7), [`b582f7f`](https://github.com/mastra-ai/mastra/commit/b582f7fa2f9c1f87d19efc63d344fbe5dda2608c), [`0a6598b`](https://github.com/mastra-ai/mastra/commit/0a6598bde80bde008986ad6616bed9632b9294cb), [`06000d7`](https://github.com/mastra-ai/mastra/commit/06000d73712911572e913b8a83339270296d0a22), [`1d677d5`](https://github.com/mastra-ai/mastra/commit/1d677d5f99d7db403f7828585e8c25f299f72628), [`9e1dad8`](https://github.com/mastra-ai/mastra/commit/9e1dad8f7b1cab2bb7ade90e5b7561f24577b88a), [`2f43145`](https://github.com/mastra-ai/mastra/commit/2f4314504c03cbba280414ac81ba3197448ee6b0), [`4e35a56`](https://github.com/mastra-ai/mastra/commit/4e35a56cdf8d74a5ff6d5eda01f2c1deaf6cc7be), [`d94b8e1`](https://github.com/mastra-ai/mastra/commit/d94b8e1cee67416d518a8c30099040061bef6a1c), [`93e28ec`](https://github.com/mastra-ai/mastra/commit/93e28ecce9031c02397e0ae8406593e5c7a95883), [`729dab4`](https://github.com/mastra-ai/mastra/commit/729dab408faccfaef0cbb048e5a4338f9172847e), [`484003d`](https://github.com/mastra-ai/mastra/commit/484003d33ff59330c86b19863e4a38732d7e4155), [`3de0188`](https://github.com/mastra-ai/mastra/commit/3de0188bfaf9a9c09c95fe322b53838cf52c70b6), [`34d34d8`](https://github.com/mastra-ai/mastra/commit/34d34d8c811df512fef4dd5459f79b7821be1866), [`b582f7f`](https://github.com/mastra-ai/mastra/commit/b582f7fa2f9c1f87d19efc63d344fbe5dda2608c), [`933d291`](https://github.com/mastra-ai/mastra/commit/933d291146b789c19442ad206f94da3e4be90c64), [`a1cb98d`](https://github.com/mastra-ai/mastra/commit/a1cb98d11990b560b98482292a1f34aa1a2d9092), [`598ad82`](https://github.com/mastra-ai/mastra/commit/598ad82d41c41389a686338a1d0e50b7400e1938), [`1fd6aad`](https://github.com/mastra-ai/mastra/commit/1fd6aad1ea4a9d32f65efa832307c35e981a4c0a)]:
|
|
21
|
+
- @mastra/core@1.56.0
|
|
22
|
+
|
|
23
|
+
## 1.6.0-alpha.0
|
|
24
|
+
|
|
25
|
+
### Minor Changes
|
|
26
|
+
|
|
27
|
+
- Added batch trace ID filtering to observability metric queries. ([#20535](https://github.com/mastra-ai/mastra/pull/20535))
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
const result = await observability.getMetricBreakdown({
|
|
31
|
+
name: ['mastra_model_total_input_tokens'],
|
|
32
|
+
aggregation: 'sum',
|
|
33
|
+
groupBy: ['traceId'],
|
|
34
|
+
filters: { traceIds: ['trace-1', 'trace-2'] },
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- Updated dependencies [[`82201f7`](https://github.com/mastra-ai/mastra/commit/82201f75fae8e050a8de2df08b74875ee74c6b83), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`0a6598b`](https://github.com/mastra-ai/mastra/commit/0a6598bde80bde008986ad6616bed9632b9294cb), [`9e1dad8`](https://github.com/mastra-ai/mastra/commit/9e1dad8f7b1cab2bb7ade90e5b7561f24577b88a), [`2f43145`](https://github.com/mastra-ai/mastra/commit/2f4314504c03cbba280414ac81ba3197448ee6b0), [`34d34d8`](https://github.com/mastra-ai/mastra/commit/34d34d8c811df512fef4dd5459f79b7821be1866)]:
|
|
41
|
+
- @mastra/core@1.56.0-alpha.6
|
|
42
|
+
|
|
3
43
|
## 1.5.2
|
|
4
44
|
|
|
5
45
|
### Patch Changes
|
package/dist/docs/SKILL.md
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -518,7 +518,7 @@ var ObservabilityStorageDuckDB = class extends _mastra_core_storage.Observabilit
|
|
|
518
518
|
async loadDelegate() {
|
|
519
519
|
if (this.delegate) return this.delegate;
|
|
520
520
|
if (this.unavailableError) return null;
|
|
521
|
-
if (!this.loadPromise) this.loadPromise = Promise.resolve().then(() => require("./observability-
|
|
521
|
+
if (!this.loadPromise) this.loadPromise = Promise.resolve().then(() => require("./observability-DjqzPR8Z.cjs")).then(({ ObservabilityStorageDuckDB }) => {
|
|
522
522
|
const delegate = new ObservabilityStorageDuckDB({ db: this.db });
|
|
523
523
|
this.delegate = delegate;
|
|
524
524
|
return delegate;
|
package/dist/index.js
CHANGED
|
@@ -517,7 +517,7 @@ var ObservabilityStorageDuckDB = class extends ObservabilityStorage {
|
|
|
517
517
|
async loadDelegate() {
|
|
518
518
|
if (this.delegate) return this.delegate;
|
|
519
519
|
if (this.unavailableError) return null;
|
|
520
|
-
if (!this.loadPromise) this.loadPromise = import("./observability-
|
|
520
|
+
if (!this.loadPromise) this.loadPromise = import("./observability-5ro3rotr.js").then(({ ObservabilityStorageDuckDB }) => {
|
|
521
521
|
const delegate = new ObservabilityStorageDuckDB({ db: this.db });
|
|
522
522
|
this.delegate = delegate;
|
|
523
523
|
return delegate;
|
|
@@ -1311,6 +1311,7 @@ async function getStreamHeadCursor$2(db) {
|
|
|
1311
1311
|
}
|
|
1312
1312
|
//#endregion
|
|
1313
1313
|
//#region src/storage/domains/observability/metrics.ts
|
|
1314
|
+
const METRIC_FILTER_FIELD_MAPPINGS = { traceIds: "traceId" };
|
|
1314
1315
|
function resolveDistinctColumnSql(distinctColumn) {
|
|
1315
1316
|
if (!distinctColumn) throw new Error(`count_distinct aggregation requires a 'distinctColumn' argument`);
|
|
1316
1317
|
if (!METRIC_DISTINCT_COLUMNS.includes(distinctColumn)) throw new Error(`Invalid distinctColumn: ${distinctColumn}`);
|
|
@@ -1553,7 +1554,7 @@ async function listMetrics(db, args) {
|
|
|
1553
1554
|
const filterRecord = filters;
|
|
1554
1555
|
const page = Number(pagination.page);
|
|
1555
1556
|
const perPage = Number(pagination.perPage);
|
|
1556
|
-
const { clause: filterClause, params: filterParams } = buildWhereClause(filterRecord);
|
|
1557
|
+
const { clause: filterClause, params: filterParams } = buildWhereClause(filterRecord, METRIC_FILTER_FIELD_MAPPINGS);
|
|
1557
1558
|
if (mode === "delta") {
|
|
1558
1559
|
assertDeltaPollingEnabled();
|
|
1559
1560
|
const streamHeadCursor = await getStreamHeadCursor$1(db);
|
|
@@ -1617,7 +1618,7 @@ async function getStreamHeadCursor$1(db) {
|
|
|
1617
1618
|
async function getMetricAggregate(db, args) {
|
|
1618
1619
|
const aggSql = getAggregationSql$1(args.aggregation, "value", args.distinctColumn);
|
|
1619
1620
|
const { clause: nameClause, params: nameParams } = buildMetricNameFilter(args.name);
|
|
1620
|
-
const { clause: filterClause, params: filterParams } = buildWhereClause(args.filters);
|
|
1621
|
+
const { clause: filterClause, params: filterParams } = buildWhereClause(args.filters, METRIC_FILTER_FIELD_MAPPINGS);
|
|
1621
1622
|
const { clause: whereClause, params: allParams } = buildCombinedWhereClause(nameClause, nameParams, filterClause, filterParams);
|
|
1622
1623
|
const sql = `SELECT ${aggSql} AS value, ${getCostSummarySelect()} FROM metric_events ${whereClause}`;
|
|
1623
1624
|
const row = (await db.query(sql, allParams))[0] ?? {};
|
|
@@ -1654,7 +1655,7 @@ async function getMetricAggregate(db, args) {
|
|
|
1654
1655
|
startExclusive: ts.startExclusive,
|
|
1655
1656
|
endExclusive: ts.endExclusive
|
|
1656
1657
|
}
|
|
1657
|
-
});
|
|
1658
|
+
}, METRIC_FILTER_FIELD_MAPPINGS);
|
|
1658
1659
|
const { clause: prevWhereClause, params: prevParams } = buildCombinedWhereClause(nameClause, nameParams, prevFilterClause, prevFilterParams);
|
|
1659
1660
|
const prevSql = `SELECT ${aggSql} AS value, ${getCostSummarySelect()} FROM metric_events ${prevWhereClause}`;
|
|
1660
1661
|
const prevRow = (await db.query(prevSql, prevParams))[0] ?? {};
|
|
@@ -1685,7 +1686,7 @@ async function getMetricAggregate(db, args) {
|
|
|
1685
1686
|
async function getMetricBreakdown(db, args) {
|
|
1686
1687
|
const aggSql = getAggregationSql$1(args.aggregation, "value", args.distinctColumn);
|
|
1687
1688
|
const { clause: nameClause, params: nameParams } = buildMetricNameFilter(args.name);
|
|
1688
|
-
const { clause: filterClause, params: filterParams } = buildWhereClause(args.filters);
|
|
1689
|
+
const { clause: filterClause, params: filterParams } = buildWhereClause(args.filters, METRIC_FILTER_FIELD_MAPPINGS);
|
|
1689
1690
|
const { clause: whereClause, params: allParams } = buildCombinedWhereClause(nameClause, nameParams, filterClause, filterParams);
|
|
1690
1691
|
const resolvedGroupBy = resolveGroupBy(args.groupBy);
|
|
1691
1692
|
const selectGroupBy = resolvedGroupBy.map((entry) => entry.selectSql).join(", ");
|
|
@@ -1714,7 +1715,7 @@ async function getMetricTimeSeries(db, args) {
|
|
|
1714
1715
|
const aggSql = getAggregationSql$1(args.aggregation, "value", args.distinctColumn);
|
|
1715
1716
|
const intervalSql = getIntervalSql$1(args.interval);
|
|
1716
1717
|
const { clause: nameClause, params: nameParams } = buildMetricNameFilter(args.name);
|
|
1717
|
-
const { clause: filterClause, params: filterParams } = buildWhereClause(args.filters);
|
|
1718
|
+
const { clause: filterClause, params: filterParams } = buildWhereClause(args.filters, METRIC_FILTER_FIELD_MAPPINGS);
|
|
1718
1719
|
const { clause: whereClause, params: allParams } = buildCombinedWhereClause(nameClause, nameParams, filterClause, filterParams);
|
|
1719
1720
|
if (args.groupBy && args.groupBy.length > 0) {
|
|
1720
1721
|
const resolvedGroupBy = resolveGroupBy(args.groupBy);
|
|
@@ -1781,7 +1782,7 @@ async function getMetricTimeSeries(db, args) {
|
|
|
1781
1782
|
/** Compute percentile time series for a metric using `percentile_cont`. */
|
|
1782
1783
|
async function getMetricPercentiles(db, args) {
|
|
1783
1784
|
const intervalSql = getIntervalSql$1(args.interval);
|
|
1784
|
-
const { clause: filterClause, params: filterParams } = buildWhereClause(args.filters);
|
|
1785
|
+
const { clause: filterClause, params: filterParams } = buildWhereClause(args.filters, METRIC_FILTER_FIELD_MAPPINGS);
|
|
1785
1786
|
const allConditions = [`name = ?`];
|
|
1786
1787
|
const allParams = [args.name];
|
|
1787
1788
|
if (filterClause) {
|
|
@@ -3729,4 +3730,4 @@ var ObservabilityStorageDuckDB = class extends ObservabilityStorage {
|
|
|
3729
3730
|
//#endregion
|
|
3730
3731
|
export { ObservabilityStorageDuckDB };
|
|
3731
3732
|
|
|
3732
|
-
//# sourceMappingURL=observability-
|
|
3733
|
+
//# sourceMappingURL=observability-5ro3rotr.js.map
|