@mastra/duckdb 1.16.0-alpha.0 → 1.16.0-alpha.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/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/reference-storage-retention.md +1 -1
- package/dist/{features-uOeZunqR.js → features-B8gl38Ue.js} +3 -5
- package/dist/{features-uOeZunqR.js.map → features-B8gl38Ue.js.map} +1 -1
- package/dist/{features-CEjjQRE6.cjs → features-DH60yLCA.cjs} +4 -7
- package/dist/{features-CEjjQRE6.cjs.map → features-DH60yLCA.cjs.map} +1 -1
- package/dist/index.cjs +7 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -8
- package/dist/index.js.map +1 -1
- package/dist/{observability-Bv3eObB-.js → observability-Chrw9Di2.js} +21 -40
- package/dist/{observability-Bv3eObB-.js.map → observability-Chrw9Di2.js.map} +1 -1
- package/dist/{observability-DCB8fs52.cjs → observability-Dlt85fvH.cjs} +21 -40
- package/dist/{observability-DCB8fs52.cjs.map → observability-Dlt85fvH.cjs.map} +1 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/package.json +9 -9
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const require_features = require("./features-
|
|
1
|
+
const require_features = require("./features-DH60yLCA.cjs");
|
|
2
2
|
let _mastra_core_error = require("@mastra/core/error");
|
|
3
3
|
let _mastra_core_storage = require("@mastra/core/storage");
|
|
4
4
|
_mastra_core_storage = require_features.__toESM(_mastra_core_storage, 1);
|
|
5
5
|
let _mastra_core_features = require("@mastra/core/features");
|
|
6
6
|
let _mastra_core_observability = require("@mastra/core/observability");
|
|
7
7
|
let _mastra_core_utils = require("@mastra/core/utils");
|
|
8
|
-
|
|
8
|
+
// src/storage/retention.ts
|
|
9
9
|
function cutoffFor(policy, now = Date.now()) {
|
|
10
10
|
return new Date((0, _mastra_core_storage.retentionCutoffMs)(policy, now));
|
|
11
11
|
}
|
|
@@ -30,8 +30,7 @@ function resolveTargets({ policies, descriptor, order }) {
|
|
|
30
30
|
order
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
//#region src/storage/domains/observability/ddl.ts
|
|
33
|
+
// src/storage/domains/observability/ddl.ts
|
|
35
34
|
/**
|
|
36
35
|
* DDL statements for DuckDB observability tables.
|
|
37
36
|
* All tables use append-only patterns with a single `timestamp` column.
|
|
@@ -493,8 +492,7 @@ const ALL_MIGRATIONS = [
|
|
|
493
492
|
`ALTER TABLE feedback_events ADD COLUMN IF NOT EXISTS reviewStatus VARCHAR DEFAULT 'needs-review'`,
|
|
494
493
|
`ALTER TABLE feedback_events ALTER COLUMN traceId DROP NOT NULL`
|
|
495
494
|
];
|
|
496
|
-
|
|
497
|
-
//#region src/storage/domains/observability/discovery.ts
|
|
495
|
+
// src/storage/domains/observability/discovery.ts
|
|
498
496
|
function unionDistinctQueries(selects, orderBy) {
|
|
499
497
|
return `${selects.join("\nUNION\n")}\nORDER BY ${orderBy}`;
|
|
500
498
|
}
|
|
@@ -562,8 +560,7 @@ async function getTags(db, args) {
|
|
|
562
560
|
buildSelect("log_events")
|
|
563
561
|
], "tag"), params)).map((r) => r.tag) };
|
|
564
562
|
}
|
|
565
|
-
|
|
566
|
-
//#region src/storage/domains/observability/filters.ts
|
|
563
|
+
// src/storage/domains/observability/filters.ts
|
|
567
564
|
function buildJsonPath(key) {
|
|
568
565
|
try {
|
|
569
566
|
return `$.${(0, _mastra_core_utils.parseFieldKey)(key)}`;
|
|
@@ -713,8 +710,7 @@ function buildPaginationClause(pagination) {
|
|
|
713
710
|
params: [pagination.perPage, offset]
|
|
714
711
|
};
|
|
715
712
|
}
|
|
716
|
-
|
|
717
|
-
//#region src/storage/domains/observability/preview-compat.ts
|
|
713
|
+
// src/storage/domains/observability/preview-compat.ts
|
|
718
714
|
const generator = _mastra_core_storage.buildStoredPreview;
|
|
719
715
|
const canGeneratePreviews = typeof generator === "function";
|
|
720
716
|
/** SQL detection only; preview formatting stays in TypeScript. Empty strings are intentional. */
|
|
@@ -771,8 +767,7 @@ function buildSpanQueryResponse(...args) {
|
|
|
771
767
|
}
|
|
772
768
|
return response;
|
|
773
769
|
}
|
|
774
|
-
|
|
775
|
-
//#region src/storage/domains/observability/helpers.ts
|
|
770
|
+
// src/storage/domains/observability/helpers.ts
|
|
776
771
|
/** Shorthand for {@link DuckDBConnection.sqlValue}. */
|
|
777
772
|
const v = require_features.DuckDBConnection.sqlValue;
|
|
778
773
|
/** Serialize a value to JSON then SQL-escape it, or return 'NULL'. */
|
|
@@ -864,8 +859,7 @@ function previewFromPayload(value) {
|
|
|
864
859
|
function apiPreview(value) {
|
|
865
860
|
return readPreview(value);
|
|
866
861
|
}
|
|
867
|
-
|
|
868
|
-
//#region src/storage/domains/observability/polling.ts
|
|
862
|
+
// src/storage/domains/observability/polling.ts
|
|
869
863
|
const OBSERVABILITY_DELTA_POLLING_FEATURE = "observability-delta-polling";
|
|
870
864
|
function deltaPollingFeatureEnabled() {
|
|
871
865
|
return _mastra_core_features.coreFeatures.has(OBSERVABILITY_DELTA_POLLING_FEATURE);
|
|
@@ -897,8 +891,7 @@ function extendWhereClause(baseClause, extraConditions) {
|
|
|
897
891
|
if (!baseClause) return `WHERE ${conditions.join(" AND ")}`;
|
|
898
892
|
return `${baseClause} AND ${conditions.join(" AND ")}`;
|
|
899
893
|
}
|
|
900
|
-
|
|
901
|
-
//#region src/storage/domains/observability/review-status.ts
|
|
894
|
+
// src/storage/domains/observability/review-status.ts
|
|
902
895
|
const FEEDBACK_REVIEW_STATUSES = ["needs-review", "reviewed"];
|
|
903
896
|
function isFeedbackReviewStatus(value) {
|
|
904
897
|
return FEEDBACK_REVIEW_STATUSES.some((status) => status === value);
|
|
@@ -922,8 +915,7 @@ function parseUpdateFeedbackReviewStatusArgs(args) {
|
|
|
922
915
|
reviewStatus: args.reviewStatus
|
|
923
916
|
};
|
|
924
917
|
}
|
|
925
|
-
|
|
926
|
-
//#region src/storage/domains/observability/feedback.ts
|
|
918
|
+
// src/storage/domains/observability/feedback.ts
|
|
927
919
|
const FEEDBACK_UPSERT_CLAUSE = `ON CONFLICT (feedbackId) DO UPDATE SET ${[
|
|
928
920
|
"timestamp",
|
|
929
921
|
"cursorId",
|
|
@@ -1452,8 +1444,7 @@ async function getFeedbackPercentiles(db, args) {
|
|
|
1452
1444
|
}
|
|
1453
1445
|
return { series };
|
|
1454
1446
|
}
|
|
1455
|
-
|
|
1456
|
-
//#region src/storage/domains/observability/logs.ts
|
|
1447
|
+
// src/storage/domains/observability/logs.ts
|
|
1457
1448
|
const COLUMNS_SQL$1 = [
|
|
1458
1449
|
"logId",
|
|
1459
1450
|
"timestamp",
|
|
@@ -1636,8 +1627,7 @@ async function getDeltaCursor$2(db, filterClause, filterParams) {
|
|
|
1636
1627
|
async function getStreamHeadCursor$2(db) {
|
|
1637
1628
|
return encodeDeltaCursor((await db.query(`SELECT max(cursorId) AS cursorId FROM log_events`))[0]?.cursorId);
|
|
1638
1629
|
}
|
|
1639
|
-
|
|
1640
|
-
//#region src/storage/domains/observability/metrics.ts
|
|
1630
|
+
// src/storage/domains/observability/metrics.ts
|
|
1641
1631
|
const METRIC_FILTER_FIELD_MAPPINGS = {
|
|
1642
1632
|
traceIds: "traceId",
|
|
1643
1633
|
experimentIds: "experimentId"
|
|
@@ -2170,8 +2160,7 @@ async function getMetricLabelValues(db, args) {
|
|
|
2170
2160
|
if (args.limit) params.push(args.limit);
|
|
2171
2161
|
return { values: (await db.query(`SELECT DISTINCT json_extract_string(labels, ?) AS val FROM metric_events WHERE ${conditions.join(" AND ")} ORDER BY val ${limitClause}`, [labelPath, ...params])).map((r) => r.val) };
|
|
2172
2162
|
}
|
|
2173
|
-
|
|
2174
|
-
//#region src/storage/domains/observability/migration.ts
|
|
2163
|
+
// src/storage/domains/observability/migration.ts
|
|
2175
2164
|
const CURSOR_ID_TABLES = [
|
|
2176
2165
|
"span_events",
|
|
2177
2166
|
"metric_events",
|
|
@@ -2320,8 +2309,7 @@ async function migrateSignalTables(db, logger) {
|
|
|
2320
2309
|
}
|
|
2321
2310
|
}
|
|
2322
2311
|
}
|
|
2323
|
-
|
|
2324
|
-
//#region src/storage/domains/observability/scores.ts
|
|
2312
|
+
// src/storage/domains/observability/scores.ts
|
|
2325
2313
|
const SCORE_UPSERT_CLAUSE = `ON CONFLICT (scoreId) DO UPDATE SET ${[
|
|
2326
2314
|
"timestamp",
|
|
2327
2315
|
"traceId",
|
|
@@ -2832,8 +2820,7 @@ async function getScorePercentiles(db, args) {
|
|
|
2832
2820
|
}
|
|
2833
2821
|
return { series };
|
|
2834
2822
|
}
|
|
2835
|
-
|
|
2836
|
-
//#region src/storage/domains/observability/trace-query.ts
|
|
2823
|
+
// src/storage/domains/observability/trace-query.ts
|
|
2837
2824
|
const TRACE_STATUS_SQL = `CASE WHEN r.error IS NOT NULL THEN 'error' ELSE 'success' END`;
|
|
2838
2825
|
function durationMsSql(startedAt, endedAt) {
|
|
2839
2826
|
return `date_diff('millisecond', ${startedAt}, ${endedAt})`;
|
|
@@ -3960,8 +3947,7 @@ function compileThreadQueryPredicate(predicate) {
|
|
|
3960
3947
|
parameterType: rule.valueKind === "timestamp" ? "timestamp" : "scalar"
|
|
3961
3948
|
}])));
|
|
3962
3949
|
}
|
|
3963
|
-
|
|
3964
|
-
//#region src/storage/domains/observability/span-query.ts
|
|
3950
|
+
// src/storage/domains/observability/span-query.ts
|
|
3965
3951
|
const identityFields = [
|
|
3966
3952
|
"organizationId",
|
|
3967
3953
|
"resourceId",
|
|
@@ -4178,8 +4164,7 @@ async function querySpans(db, plan) {
|
|
|
4178
4164
|
}
|
|
4179
4165
|
return buildSpanQueryResponse(plan, hydrated, payloads, metrics);
|
|
4180
4166
|
}
|
|
4181
|
-
|
|
4182
|
-
//#region src/storage/domains/observability/thread-query.ts
|
|
4167
|
+
// src/storage/domains/observability/thread-query.ts
|
|
4183
4168
|
const contextFields = [
|
|
4184
4169
|
"resourceId",
|
|
4185
4170
|
"userId",
|
|
@@ -4429,8 +4414,7 @@ async function queryThreadRows(db, plan, strategy = "auto") {
|
|
|
4429
4414
|
}) : null }
|
|
4430
4415
|
};
|
|
4431
4416
|
}
|
|
4432
|
-
|
|
4433
|
-
//#region src/storage/domains/observability/trace-aggregate.ts
|
|
4417
|
+
// src/storage/domains/observability/trace-aggregate.ts
|
|
4434
4418
|
/** Trace-root column expressions (alias `r`) for each groupable dimension; same values `where` sees. */
|
|
4435
4419
|
const DIMENSION_SQL = {
|
|
4436
4420
|
entityType: "r.entityType",
|
|
@@ -4811,8 +4795,7 @@ async function runAggregate(db, plan, compiled) {
|
|
|
4811
4795
|
truncated
|
|
4812
4796
|
};
|
|
4813
4797
|
}
|
|
4814
|
-
|
|
4815
|
-
//#region src/storage/domains/observability/tracing.ts
|
|
4798
|
+
// src/storage/domains/observability/tracing.ts
|
|
4816
4799
|
const COLUMNS_SQL = [
|
|
4817
4800
|
"eventType",
|
|
4818
4801
|
"timestamp",
|
|
@@ -6166,8 +6149,7 @@ async function getBranchStreamHeadCursor(db, userSpanType) {
|
|
|
6166
6149
|
if (userSpanType) return encodeDeltaCursor((await db.query(`SELECT max(cursorId) AS cursorId FROM span_events WHERE eventType = 'start' AND spanType = ? AND cursorId IS NOT NULL`, [userSpanType]))[0]?.cursorId);
|
|
6167
6150
|
return encodeDeltaCursor((await db.query(`SELECT max(cursorId) AS cursorId FROM span_events WHERE eventType = 'start' AND spanType IN (${BRANCH_SPAN_TYPE_PLACEHOLDERS}) AND cursorId IS NOT NULL`, [..._mastra_core_storage.BRANCH_SPAN_TYPES]))[0]?.cursorId);
|
|
6168
6151
|
}
|
|
6169
|
-
|
|
6170
|
-
//#region src/storage/domains/observability/index.ts
|
|
6152
|
+
// src/storage/domains/observability/index.ts
|
|
6171
6153
|
function buildSignalMigrationRequiredMessage(args) {
|
|
6172
6154
|
return `
|
|
6173
6155
|
===========================================================================
|
|
@@ -6498,7 +6480,6 @@ var ObservabilityStorageDuckDB = class ObservabilityStorageDuckDB extends _mastr
|
|
|
6498
6480
|
return getFeedbackPercentiles(this.db, args);
|
|
6499
6481
|
}
|
|
6500
6482
|
};
|
|
6501
|
-
//#endregion
|
|
6502
6483
|
exports.ObservabilityStorageDuckDB = ObservabilityStorageDuckDB;
|
|
6503
6484
|
|
|
6504
|
-
//# sourceMappingURL=observability-
|
|
6485
|
+
//# sourceMappingURL=observability-Dlt85fvH.cjs.map
|