@mastra/clickhouse 1.15.1 → 1.15.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.
- package/CHANGELOG.md +22 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/index.cjs +19 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +20 -24
- package/dist/index.js.map +1 -1
- package/dist/storage/db/index.d.ts.map +1 -1
- package/dist/storage/db/replication.d.ts +0 -5
- package/dist/storage/db/replication.d.ts.map +1 -1
- package/dist/storage/db/utils.d.ts.map +1 -1
- package/dist/storage/domains/observability/v-next/index.d.ts +1 -1
- package/dist/storage/domains/observability/v-next/index.d.ts.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @mastra/clickhouse
|
|
2
2
|
|
|
3
|
+
## 1.15.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fixed ClickHouse replication initialization rejecting pre-existing tables that use local engines. Initialization now warns that `CREATE TABLE IF NOT EXISTS` will leave those tables unchanged and continues creating any missing replicated tables. ([#21538](https://github.com/mastra-ai/mastra/pull/21538))
|
|
8
|
+
|
|
9
|
+
- Fixed Studio metrics and logs detection for ClickHouse observability storage. Fixes #21435. ([#21536](https://github.com/mastra-ai/mastra/pull/21536))
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`587f6ef`](https://github.com/mastra-ai/mastra/commit/587f6efcfc25880b93760a8607d1cd381ec612fe), [`7e096f0`](https://github.com/mastra-ai/mastra/commit/7e096f02f0dddbf09b85d306458351245ed2f886), [`d7e6745`](https://github.com/mastra-ai/mastra/commit/d7e67456954863c55440ea9c49bc6ceb9949972d), [`6223446`](https://github.com/mastra-ai/mastra/commit/6223446ddce6166e96e0ba5e00d628b615dee8ca), [`15101bb`](https://github.com/mastra-ai/mastra/commit/15101bb53c0d934f31af6b8813b88191e382a5e5), [`4e7a421`](https://github.com/mastra-ai/mastra/commit/4e7a421dce8a48742f785d1e93ad2f43a572b282), [`c2c3deb`](https://github.com/mastra-ai/mastra/commit/c2c3debcf670c7082d0a5e553aa99818a864698c), [`d8308a2`](https://github.com/mastra-ai/mastra/commit/d8308a2be3c07e777393d1017a381dcae3890d30), [`b0a2a07`](https://github.com/mastra-ai/mastra/commit/b0a2a07800d42bd9823292e7db832374ed084c9c), [`74e5bd3`](https://github.com/mastra-ai/mastra/commit/74e5bd315b8b3a1e04cb6cf480bb0f5fc4951dc8), [`242e324`](https://github.com/mastra-ai/mastra/commit/242e3241e73cbd5c9bb86a31ebb49ca0256488d4), [`217e967`](https://github.com/mastra-ai/mastra/commit/217e9672d8b3160eb729d8e9f0044949e88da239), [`d774e89`](https://github.com/mastra-ai/mastra/commit/d774e8930c781df8c9effe3763e6b501c099b6cc), [`9c27a53`](https://github.com/mastra-ai/mastra/commit/9c27a53cd9d3de4f3f025bc387d94ce371c33f95), [`8f0a332`](https://github.com/mastra-ai/mastra/commit/8f0a3321bf180368d76fe7b36aa1a8f60f00b6de), [`0b4f108`](https://github.com/mastra-ai/mastra/commit/0b4f1089aa8d92e67c2a8e99726822c5ee410784), [`9acb50f`](https://github.com/mastra-ai/mastra/commit/9acb50f71cec9c362f06820033f90ae6b1f8282f), [`46e9e3f`](https://github.com/mastra-ai/mastra/commit/46e9e3f73babe1bc70080a596cf2ac0b9da48519), [`3f9a190`](https://github.com/mastra-ai/mastra/commit/3f9a19057c027155867b9317294ee4ca7bd0581a), [`dff25a1`](https://github.com/mastra-ai/mastra/commit/dff25a1103fa72ee082a9b6f805ebeb5ce400753), [`6db7a5d`](https://github.com/mastra-ai/mastra/commit/6db7a5dd3dd2b6f7ef75dcd804fcffef5fa83963), [`217e967`](https://github.com/mastra-ai/mastra/commit/217e9672d8b3160eb729d8e9f0044949e88da239), [`583e235`](https://github.com/mastra-ai/mastra/commit/583e23519c13af16c1746f9c49722d011216611b), [`b098de9`](https://github.com/mastra-ai/mastra/commit/b098de9d7cb9f672e0883a5c716465a3a689693d), [`e8808e3`](https://github.com/mastra-ai/mastra/commit/e8808e3d8eb585a2565be53e56a7e0e1477352a4), [`a77f8d4`](https://github.com/mastra-ai/mastra/commit/a77f8d4740d2178a74c41e4bf678b4fcd8fa0bb2), [`7f78585`](https://github.com/mastra-ai/mastra/commit/7f785857e401570e2ffb316911f126ed363aa537), [`33374ba`](https://github.com/mastra-ai/mastra/commit/33374ba359e4fb13eaa918ae925fe167a3c55414), [`940bf5c`](https://github.com/mastra-ai/mastra/commit/940bf5ccf04f2c9ebd8a1390431733222a03b1cd), [`c549e2f`](https://github.com/mastra-ai/mastra/commit/c549e2f40edc1cac5d9e74e82f90da22b48df084), [`58c43d3`](https://github.com/mastra-ai/mastra/commit/58c43d3f7cb2eeaeb8ac733ae71dde822348e588), [`ef6e295`](https://github.com/mastra-ai/mastra/commit/ef6e295b59bc25a5b61b633a89c97bcfce9fb465), [`208e1b3`](https://github.com/mastra-ai/mastra/commit/208e1b39f30f4b386e494394e9d71d96f0f90241), [`c938d34`](https://github.com/mastra-ai/mastra/commit/c938d34739936c8ecbabd67ad6a4a4396f41c4c6), [`88ddc7c`](https://github.com/mastra-ai/mastra/commit/88ddc7ce01d40175f13a3228b789a906779680bd), [`f2a4afd`](https://github.com/mastra-ai/mastra/commit/f2a4afd7e37e809669001ed17724b341a5c1f45e), [`d438148`](https://github.com/mastra-ai/mastra/commit/d438148e222c1e2fb3c652725ce75680962ebec4), [`ba05fe0`](https://github.com/mastra-ai/mastra/commit/ba05fe0738f70cb686777546e968237d09269142), [`40d358e`](https://github.com/mastra-ai/mastra/commit/40d358e29d55543803e64b49241122f598ffabc7), [`d26a8d4`](https://github.com/mastra-ai/mastra/commit/d26a8d4281f28414715b333c85bedaf70d0b2890), [`e80cd7e`](https://github.com/mastra-ai/mastra/commit/e80cd7e7683e7d732e1cc6784bcac1d2640d2ce3), [`ccbbcd9`](https://github.com/mastra-ai/mastra/commit/ccbbcd974eedff4367a54ed0e24c9ee742ab2f61), [`1d9a0ea`](https://github.com/mastra-ai/mastra/commit/1d9a0ea4a9901baee6cd56737243bd6d1f631ac0), [`677cdc6`](https://github.com/mastra-ai/mastra/commit/677cdc6af564dec29a13464d12b7ab2a4efc22e9), [`c549e2f`](https://github.com/mastra-ai/mastra/commit/c549e2f40edc1cac5d9e74e82f90da22b48df084), [`a7dd322`](https://github.com/mastra-ai/mastra/commit/a7dd32247d95afc539f483ca37f4594af0387f59), [`3f5c6f7`](https://github.com/mastra-ai/mastra/commit/3f5c6f728ea35da344248de9aa070f12849f3aa0), [`a318490`](https://github.com/mastra-ai/mastra/commit/a318490e17da32f338d50929c770d901a9b3dd72), [`b860493`](https://github.com/mastra-ai/mastra/commit/b86049391100e665d579f700c8a2034c036defc3), [`d4be8c1`](https://github.com/mastra-ai/mastra/commit/d4be8c1739d22d621e3f78790e1dd5eb5ecc3589), [`a5d2eb1`](https://github.com/mastra-ai/mastra/commit/a5d2eb10347eade1ae2816d88f466c25186c54a5), [`3667679`](https://github.com/mastra-ai/mastra/commit/3667679db057edfb086846d13369fdda4902ad65), [`49696e8`](https://github.com/mastra-ai/mastra/commit/49696e8e42f870674a0a58f5abcd22cc54dd2864), [`2ef2f23`](https://github.com/mastra-ai/mastra/commit/2ef2f230a7aed342e7dc3b2000cd42e4c43e08a7), [`763e0c6`](https://github.com/mastra-ai/mastra/commit/763e0c61e04d76ad9a9efd301aa57525ca0cbea9), [`20504b2`](https://github.com/mastra-ai/mastra/commit/20504b2ecebd0e077acda3d457ab57480a98ed3e), [`77e6b1b`](https://github.com/mastra-ai/mastra/commit/77e6b1bc4c46ce94fe501023fb4393c812ec6be3), [`c5f964d`](https://github.com/mastra-ai/mastra/commit/c5f964d3f77064e978f8066ec506eed77ba5c63c), [`23e0be2`](https://github.com/mastra-ai/mastra/commit/23e0be261381e49534b4ff3101c60ee64a946cbf), [`7fc8806`](https://github.com/mastra-ai/mastra/commit/7fc880627d3cbf995d31ea0e8b807bf15417e651), [`0e02eac`](https://github.com/mastra-ai/mastra/commit/0e02eacdb2e30e1697a41910b41163742a181dc1), [`4df174c`](https://github.com/mastra-ai/mastra/commit/4df174c32bddf093a82f273070b8380aef7c9e90), [`f7c25b5`](https://github.com/mastra-ai/mastra/commit/f7c25b5106ddfb48e591f98df7a51e0f2dd01dba), [`7aad631`](https://github.com/mastra-ai/mastra/commit/7aad631b43bc10db77d5b8c66b200d7a49d18bf2), [`512100a`](https://github.com/mastra-ai/mastra/commit/512100a7d8b7e9c920f2590c6b3612f5de0d3cff), [`e81744c`](https://github.com/mastra-ai/mastra/commit/e81744cd13c46619c142dc521dc0baac47607a84), [`f8f653f`](https://github.com/mastra-ai/mastra/commit/f8f653f10980d01a73706cc3c8689ca5e40ce808), [`dc09cc1`](https://github.com/mastra-ai/mastra/commit/dc09cc1083d861cde192c1cd235324dc75b8c731), [`9ef432b`](https://github.com/mastra-ai/mastra/commit/9ef432b6faa534b57b0d182a610e13dd9a7123ff), [`36b4649`](https://github.com/mastra-ai/mastra/commit/36b4649045a3a380cbab8ceca866db4086223aff), [`b9cf308`](https://github.com/mastra-ai/mastra/commit/b9cf30846f97f99ac1906ee8a68f4f2d117b0378), [`2e1d098`](https://github.com/mastra-ai/mastra/commit/2e1d0984e325fd319d32ea182f596b3170be3847), [`377eb81`](https://github.com/mastra-ai/mastra/commit/377eb81ce43b964e3a6b541df172da74a8ff3716), [`1794a79`](https://github.com/mastra-ai/mastra/commit/1794a79178c418004a7261b1ad9114066f7ef01d), [`0cdc5dc`](https://github.com/mastra-ai/mastra/commit/0cdc5dc69024957815da4f51acc4119eb4f447d7), [`5740ec6`](https://github.com/mastra-ai/mastra/commit/5740ec60c760ffdfbfaa59d603d03b847c864e05)]:
|
|
12
|
+
- @mastra/core@1.60.0
|
|
13
|
+
|
|
14
|
+
## 1.15.2-alpha.0
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- Fixed ClickHouse replication initialization rejecting pre-existing tables that use local engines. Initialization now warns that `CREATE TABLE IF NOT EXISTS` will leave those tables unchanged and continues creating any missing replicated tables. ([#21538](https://github.com/mastra-ai/mastra/pull/21538))
|
|
19
|
+
|
|
20
|
+
- Fixed Studio metrics and logs detection for ClickHouse observability storage. Fixes #21435. ([#21536](https://github.com/mastra-ai/mastra/pull/21536))
|
|
21
|
+
|
|
22
|
+
- Updated dependencies [[`7e096f0`](https://github.com/mastra-ai/mastra/commit/7e096f02f0dddbf09b85d306458351245ed2f886), [`8f0a332`](https://github.com/mastra-ai/mastra/commit/8f0a3321bf180368d76fe7b36aa1a8f60f00b6de), [`b098de9`](https://github.com/mastra-ai/mastra/commit/b098de9d7cb9f672e0883a5c716465a3a689693d), [`ef6e295`](https://github.com/mastra-ai/mastra/commit/ef6e295b59bc25a5b61b633a89c97bcfce9fb465), [`208e1b3`](https://github.com/mastra-ai/mastra/commit/208e1b39f30f4b386e494394e9d71d96f0f90241), [`c938d34`](https://github.com/mastra-ai/mastra/commit/c938d34739936c8ecbabd67ad6a4a4396f41c4c6), [`1d9a0ea`](https://github.com/mastra-ai/mastra/commit/1d9a0ea4a9901baee6cd56737243bd6d1f631ac0), [`3667679`](https://github.com/mastra-ai/mastra/commit/3667679db057edfb086846d13369fdda4902ad65), [`49696e8`](https://github.com/mastra-ai/mastra/commit/49696e8e42f870674a0a58f5abcd22cc54dd2864), [`512100a`](https://github.com/mastra-ai/mastra/commit/512100a7d8b7e9c920f2590c6b3612f5de0d3cff), [`9ef432b`](https://github.com/mastra-ai/mastra/commit/9ef432b6faa534b57b0d182a610e13dd9a7123ff), [`b9cf308`](https://github.com/mastra-ai/mastra/commit/b9cf30846f97f99ac1906ee8a68f4f2d117b0378)]:
|
|
23
|
+
- @mastra/core@1.60.0-alpha.2
|
|
24
|
+
|
|
3
25
|
## 1.15.1
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
package/dist/docs/SKILL.md
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -166,17 +166,6 @@ function rewriteEngineClauses(sql, replication) {
|
|
|
166
166
|
function applyReplicationToDDL(sql, replication) {
|
|
167
167
|
return addOnClusterToDDL(replication ? rewriteEngineClauses(sql, replication) : sql, replication);
|
|
168
168
|
}
|
|
169
|
-
function buildLocalTableReplicationError(tables) {
|
|
170
|
-
const tableList = tables.map((table) => ` - ${table.name} (${table.engine})`).join("\n");
|
|
171
|
-
return new _mastra_core_error.MastraError({
|
|
172
|
-
id: (0, _mastra_core_storage.createStorageErrorId)("CLICKHOUSE", "REPLICATION", "LOCAL_TABLES_UNSUPPORTED"),
|
|
173
|
-
domain: _mastra_core_error.ErrorDomain.STORAGE,
|
|
174
|
-
category: _mastra_core_error.ErrorCategory.USER,
|
|
175
|
-
text: `ClickHouse replication is enabled, but existing Mastra tables use non-replicated local engines.
|
|
176
|
-
Mastra will not automatically convert existing local tables to replicated tables.
|
|
177
|
-
Please migrate or recreate these tables manually before enabling replication:\n${tableList}`
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
169
|
//#endregion
|
|
181
170
|
//#region src/storage/db/utils.ts
|
|
182
171
|
const TABLE_ENGINES = {
|
|
@@ -217,7 +206,13 @@ const TABLE_ENGINES = {
|
|
|
217
206
|
mastra_channel_installations: `ReplacingMergeTree()`,
|
|
218
207
|
mastra_channel_config: `ReplacingMergeTree()`,
|
|
219
208
|
[_mastra_core_storage.TABLE_THREAD_STATE]: `ReplacingMergeTree()`,
|
|
220
|
-
[_mastra_core_storage.TABLE_WORKFLOW_DEFINITIONS]: `ReplacingMergeTree()
|
|
209
|
+
[_mastra_core_storage.TABLE_WORKFLOW_DEFINITIONS]: `ReplacingMergeTree()`,
|
|
210
|
+
[_mastra_core_storage.TABLE_KNOWLEDGE_NODES]: `ReplacingMergeTree()`,
|
|
211
|
+
[_mastra_core_storage.TABLE_KNOWLEDGE_RECORDS]: `ReplacingMergeTree()`,
|
|
212
|
+
[_mastra_core_storage.TABLE_KNOWLEDGE_MENTIONS]: `ReplacingMergeTree()`,
|
|
213
|
+
[_mastra_core_storage.TABLE_KNOWLEDGE_CURSORS]: `ReplacingMergeTree()`,
|
|
214
|
+
[_mastra_core_storage.TABLE_KNOWLEDGE_ACTIVITY]: `ReplacingMergeTree()`,
|
|
215
|
+
[_mastra_core_storage.TABLE_KNOWLEDGE_SEMANTIC_OUTBOX]: `ReplacingMergeTree()`
|
|
221
216
|
};
|
|
222
217
|
const COLUMN_TYPES = {
|
|
223
218
|
text: "String",
|
|
@@ -351,12 +346,12 @@ var ClickhouseDB = class extends _mastra_core_base.MastraBase {
|
|
|
351
346
|
}
|
|
352
347
|
async assertExistingTableCompatibleWithReplication(tableName) {
|
|
353
348
|
if (!isReplicationConfigured(this.replication)) return;
|
|
354
|
-
const
|
|
349
|
+
const localTable = (await (await this.client.query({
|
|
355
350
|
query: `SELECT name, engine FROM system.tables WHERE database = currentDatabase() AND name = {tableName:String}`,
|
|
356
351
|
query_params: { tableName },
|
|
357
352
|
format: "JSONEachRow"
|
|
358
|
-
})).json()).
|
|
359
|
-
if (
|
|
353
|
+
})).json()).find((row) => row.engine && !isReplicatedOrSharedEngine(row.engine));
|
|
354
|
+
if (localTable) this.logger.warn(`ClickHouse replication is enabled, but pre-existing table '${localTable.name}' uses local engine '${localTable.engine}'. CREATE TABLE IF NOT EXISTS will leave the existing table untouched.`);
|
|
360
355
|
}
|
|
361
356
|
/**
|
|
362
357
|
* Gets the sorting key (ORDER BY columns) for a table.
|
|
@@ -7032,17 +7027,14 @@ async function filterAppliedRetention(client, entries) {
|
|
|
7032
7027
|
* Silently returns if `system.tables` can't be queried — the rest of init
|
|
7033
7028
|
* will still run and leave any existing tables untouched.
|
|
7034
7029
|
*/
|
|
7035
|
-
async function assertExistingTablesCompatibleWithReplication(client, replication) {
|
|
7030
|
+
async function assertExistingTablesCompatibleWithReplication(client, replication, logger) {
|
|
7036
7031
|
if (!isReplicationConfigured(replication)) return;
|
|
7037
7032
|
const localTable = (await (await client.query({
|
|
7038
7033
|
query: `SELECT name, engine FROM system.tables WHERE database = currentDatabase() AND name IN ({tables:Array(String)})`,
|
|
7039
7034
|
query_params: { tables: [...ALL_TABLE_NAMES] },
|
|
7040
7035
|
format: "JSONEachRow"
|
|
7041
7036
|
})).json()).find((row) => !isReplicatedOrSharedEngine(row.engine));
|
|
7042
|
-
if (localTable)
|
|
7043
|
-
name: localTable.name,
|
|
7044
|
-
engine: localTable.engine
|
|
7045
|
-
}]);
|
|
7037
|
+
if (localTable) logger.warn(`ClickHouse replication is enabled, but pre-existing observability table '${localTable.name}' uses local engine '${localTable.engine}'. CREATE TABLE IF NOT EXISTS will leave existing tables untouched.`);
|
|
7046
7038
|
}
|
|
7047
7039
|
async function reconcileDiscoveryTables(client, replication) {
|
|
7048
7040
|
let engines;
|
|
@@ -7161,7 +7153,7 @@ var ObservabilityStorageClickhouseVNext = class extends _mastra_core_storage.Obs
|
|
|
7161
7153
|
if ((await checkLegacySpanMigrationStatus(this.#client)).needsMigration) this.logger?.warn?.("Legacy span table 'mastra_ai_spans' detected. Run 'npx mastra migrate' to migrate historical spans to the v-next schema.");
|
|
7162
7154
|
} catch {}
|
|
7163
7155
|
try {
|
|
7164
|
-
await assertExistingTablesCompatibleWithReplication(this.#client, this.#replication);
|
|
7156
|
+
await assertExistingTablesCompatibleWithReplication(this.#client, this.#replication, this.logger);
|
|
7165
7157
|
const existingStrategy = await detectExistingDeltaCursorStrategy(this.#client);
|
|
7166
7158
|
if (existingStrategy === "mixed") {
|
|
7167
7159
|
this.#deltaCursorStrategy = null;
|
|
@@ -7245,8 +7237,12 @@ var ObservabilityStorageClickhouseVNext = class extends _mastra_core_storage.Obs
|
|
|
7245
7237
|
};
|
|
7246
7238
|
}
|
|
7247
7239
|
getFeatures() {
|
|
7248
|
-
if (!deltaPollingSupported(this.#deltaCursorStrategy)) return;
|
|
7249
|
-
return [
|
|
7240
|
+
if (!deltaPollingSupported(this.#deltaCursorStrategy)) return ["metrics", "logs"];
|
|
7241
|
+
return [
|
|
7242
|
+
"metrics",
|
|
7243
|
+
"logs",
|
|
7244
|
+
"delta-polling"
|
|
7245
|
+
];
|
|
7250
7246
|
}
|
|
7251
7247
|
async createSpan(args) {
|
|
7252
7248
|
try {
|