@mastra/clickhouse 0.12.0 → 0.12.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.
@@ -1,23 +1,23 @@
1
1
 
2
- > @mastra/clickhouse@0.12.0-alpha.3 build /home/runner/work/mastra/mastra/stores/clickhouse
2
+ > @mastra/clickhouse@0.12.1-alpha.0 build /home/runner/work/mastra/mastra/stores/clickhouse
3
3
  > tsup src/index.ts --format esm,cjs --experimental-dts --clean --treeshake=smallest --splitting
4
4
 
5
5
  CLI Building entry: src/index.ts
6
6
  CLI Using tsconfig: tsconfig.json
7
7
  CLI tsup v8.5.0
8
8
  TSC Build start
9
- TSC ⚡️ Build success in 9354ms
9
+ TSC ⚡️ Build success in 10397ms
10
10
  DTS Build start
11
11
  CLI Target: es2022
12
12
  Analysis will use the bundled TypeScript version 5.8.3
13
13
  Writing package typings: /home/runner/work/mastra/mastra/stores/clickhouse/dist/_tsup-dts-rollup.d.ts
14
14
  Analysis will use the bundled TypeScript version 5.8.3
15
15
  Writing package typings: /home/runner/work/mastra/mastra/stores/clickhouse/dist/_tsup-dts-rollup.d.cts
16
- DTS ⚡️ Build success in 12060ms
16
+ DTS ⚡️ Build success in 11907ms
17
17
  CLI Cleaning output folder
18
18
  ESM Build start
19
19
  CJS Build start
20
- ESM dist/index.js 38.52 KB
21
- ESM ⚡️ Build success in 1127ms
22
- CJS dist/index.cjs 39.29 KB
23
- CJS ⚡️ Build success in 1134ms
20
+ ESM dist/index.js 88.83 KB
21
+ ESM ⚡️ Build success in 2156ms
22
+ CJS dist/index.cjs 90.15 KB
23
+ CJS ⚡️ Build success in 2156ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # @mastra/clickhouse
2
2
 
3
+ ## 0.12.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 7ba91fa: Throw mastra errors methods not implemented yet
8
+ - Updated dependencies [f248d53]
9
+ - Updated dependencies [2affc57]
10
+ - Updated dependencies [66e13e3]
11
+ - Updated dependencies [edd9482]
12
+ - Updated dependencies [18344d7]
13
+ - Updated dependencies [9d372c2]
14
+ - Updated dependencies [40c2525]
15
+ - Updated dependencies [e473f27]
16
+ - Updated dependencies [032cb66]
17
+ - Updated dependencies [703ac71]
18
+ - Updated dependencies [a723d69]
19
+ - Updated dependencies [7827943]
20
+ - Updated dependencies [5889a31]
21
+ - Updated dependencies [bf1e7e7]
22
+ - Updated dependencies [65e3395]
23
+ - Updated dependencies [4933192]
24
+ - Updated dependencies [d1c77a4]
25
+ - Updated dependencies [bea9dd1]
26
+ - Updated dependencies [dcd4802]
27
+ - Updated dependencies [cbddd18]
28
+ - Updated dependencies [7ba91fa]
29
+ - @mastra/core@0.11.0
30
+
31
+ ## 0.12.1-alpha.0
32
+
33
+ ### Patch Changes
34
+
35
+ - 7ba91fa: Throw mastra errors methods not implemented yet
36
+ - Updated dependencies [f248d53]
37
+ - Updated dependencies [2affc57]
38
+ - Updated dependencies [66e13e3]
39
+ - Updated dependencies [edd9482]
40
+ - Updated dependencies [18344d7]
41
+ - Updated dependencies [9d372c2]
42
+ - Updated dependencies [40c2525]
43
+ - Updated dependencies [e473f27]
44
+ - Updated dependencies [032cb66]
45
+ - Updated dependencies [703ac71]
46
+ - Updated dependencies [a723d69]
47
+ - Updated dependencies [5889a31]
48
+ - Updated dependencies [65e3395]
49
+ - Updated dependencies [4933192]
50
+ - Updated dependencies [d1c77a4]
51
+ - Updated dependencies [bea9dd1]
52
+ - Updated dependencies [dcd4802]
53
+ - Updated dependencies [7ba91fa]
54
+ - @mastra/core@0.11.0-alpha.2
55
+
3
56
  ## 0.12.0
4
57
 
5
58
  ### Minor Changes
package/LICENSE.md CHANGED
@@ -1,7 +1,15 @@
1
- Copyright 2025 Mastra AI, Inc.
1
+ # Apache License 2.0
2
2
 
3
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
3
+ Copyright (c) 2025 Kepler Software, Inc.
4
4
 
5
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
6
8
 
7
- THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
@@ -1,21 +1,32 @@
1
1
  import type { ClickHouseClient } from '@clickhouse/client';
2
2
  import type { EvalRow } from '@mastra/core/storage';
3
+ import { LegacyEvalsStorage } from '@mastra/core/storage';
3
4
  import type { MastraMessageContentV2 } from '@mastra/core/agent';
4
5
  import type { MastraMessageV1 } from '@mastra/core/memory';
5
6
  import type { MastraMessageV2 } from '@mastra/core/memory';
6
7
  import { MastraStorage } from '@mastra/core/storage';
8
+ import { MemoryStorage } from '@mastra/core/storage';
9
+ import type { PaginationArgs } from '@mastra/core/storage';
7
10
  import type { PaginationInfo } from '@mastra/core/storage';
11
+ import type { ScoreRowData } from '@mastra/core/scores';
12
+ import { ScoresStorage } from '@mastra/core/storage';
8
13
  import type { StorageColumn } from '@mastra/core/storage';
14
+ import type { StorageDomains } from '@mastra/core/storage';
9
15
  import type { StorageGetMessagesArg } from '@mastra/core/storage';
10
16
  import type { StorageGetTracesArg } from '@mastra/core/storage';
17
+ import type { StorageGetTracesPaginatedArg } from '@mastra/core/storage';
18
+ import type { StoragePagination } from '@mastra/core/storage';
19
+ import type { StorageResourceType } from '@mastra/core/storage';
11
20
  import type { StorageThreadType } from '@mastra/core/memory';
21
+ import { StoreOperations } from '@mastra/core/storage';
12
22
  import type { TABLE_NAMES } from '@mastra/core/storage';
13
- import type { TABLE_RESOURCES } from '@mastra/core/storage';
14
- import { TABLE_SCHEMAS } from '@mastra/core/storage';
23
+ import type { TABLE_SCHEMAS } from '@mastra/core/storage';
15
24
  import type { Trace } from '@mastra/core/telemetry';
25
+ import { TracesStorage } from '@mastra/core/storage';
16
26
  import type { WorkflowRun } from '@mastra/core/storage';
17
27
  import type { WorkflowRuns } from '@mastra/core/storage';
18
28
  import type { WorkflowRunState } from '@mastra/core/workflows';
29
+ import { WorkflowsStorage } from '@mastra/core/storage';
19
30
 
20
31
  declare type ClickhouseConfig = {
21
32
  url: string;
@@ -25,13 +36,13 @@ declare type ClickhouseConfig = {
25
36
  [TableKey in TABLE_NAMES]?: {
26
37
  row?: {
27
38
  interval: number;
28
- unit: IntervalUnit;
39
+ unit: IntervalUnit_2;
29
40
  ttlKey?: string;
30
41
  };
31
42
  columns?: Partial<{
32
43
  [ColumnKey in keyof (typeof TABLE_SCHEMAS)[TableKey]]: {
33
44
  interval: number;
34
- unit: IntervalUnit;
45
+ unit: IntervalUnit_2;
35
46
  ttlKey?: string;
36
47
  };
37
48
  }>;
@@ -41,27 +52,50 @@ declare type ClickhouseConfig = {
41
52
  export { ClickhouseConfig }
42
53
  export { ClickhouseConfig as ClickhouseConfig_alias_1 }
43
54
 
55
+ export declare type ClickhouseConfig_alias_2 = {
56
+ url: string;
57
+ username: string;
58
+ password: string;
59
+ ttl?: {
60
+ [TableKey in TABLE_NAMES]?: {
61
+ row?: {
62
+ interval: number;
63
+ unit: IntervalUnit;
64
+ ttlKey?: string;
65
+ };
66
+ columns?: Partial<{
67
+ [ColumnKey in keyof (typeof TABLE_SCHEMAS)[TableKey]]: {
68
+ interval: number;
69
+ unit: IntervalUnit;
70
+ ttlKey?: string;
71
+ };
72
+ }>;
73
+ };
74
+ };
75
+ };
76
+
44
77
  declare class ClickhouseStore extends MastraStorage {
45
78
  protected db: ClickHouseClient;
46
79
  protected ttl: ClickhouseConfig['ttl'];
80
+ stores: StorageDomains;
47
81
  constructor(config: ClickhouseConfig);
48
- private transformEvalRow;
49
- private escape;
82
+ get supports(): {
83
+ selectByIncludeResourceScope: boolean;
84
+ resourceWorkingMemory: boolean;
85
+ hasColumn: boolean;
86
+ createTable: boolean;
87
+ };
50
88
  getEvalsByAgentName(agentName: string, type?: 'test' | 'live'): Promise<EvalRow[]>;
89
+ getEvals(options: {
90
+ agentName?: string;
91
+ type?: 'test' | 'live';
92
+ } & PaginationArgs): Promise<PaginationInfo & {
93
+ evals: EvalRow[];
94
+ }>;
51
95
  batchInsert({ tableName, records }: {
52
96
  tableName: TABLE_NAMES;
53
97
  records: Record<string, any>[];
54
98
  }): Promise<void>;
55
- getTraces({ name, scope, page, perPage, attributes, filters, fromDate, toDate, }: {
56
- name?: string;
57
- scope?: string;
58
- page: number;
59
- perPage: number;
60
- attributes?: Record<string, string>;
61
- filters?: Record<string, any>;
62
- fromDate?: Date;
63
- toDate?: Date;
64
- }): Promise<any[]>;
65
99
  optimizeTable({ tableName }: {
66
100
  tableName: TABLE_NAMES;
67
101
  }): Promise<void>;
@@ -69,16 +103,12 @@ declare class ClickhouseStore extends MastraStorage {
69
103
  tableName: TABLE_NAMES;
70
104
  }): Promise<void>;
71
105
  createTable({ tableName, schema, }: {
72
- tableName: SUPPORTED_TABLE_NAMES;
106
+ tableName: TABLE_NAMES;
73
107
  schema: Record<string, StorageColumn>;
74
108
  }): Promise<void>;
75
- protected getSqlType(type: StorageColumn['type']): string;
76
- /**
77
- * Alters table schema to add columns if they don't exist
78
- * @param tableName Name of the table
79
- * @param schema Schema of the table
80
- * @param ifNotExists Array of column names to add if they don't exist
81
- */
109
+ dropTable({ tableName }: {
110
+ tableName: TABLE_NAMES;
111
+ }): Promise<void>;
82
112
  alterTable({ tableName, schema, ifNotExists, }: {
83
113
  tableName: TABLE_NAMES;
84
114
  schema: Record<string, StorageColumn>;
@@ -91,10 +121,38 @@ declare class ClickhouseStore extends MastraStorage {
91
121
  tableName: TABLE_NAMES;
92
122
  record: Record<string, any>;
93
123
  }): Promise<void>;
94
- load<R>({ tableName, keys, }: {
95
- tableName: SUPPORTED_TABLE_NAMES;
124
+ load<R>({ tableName, keys }: {
125
+ tableName: TABLE_NAMES;
96
126
  keys: Record<string, string>;
97
127
  }): Promise<R | null>;
128
+ persistWorkflowSnapshot({ workflowName, runId, snapshot, }: {
129
+ workflowName: string;
130
+ runId: string;
131
+ snapshot: WorkflowRunState;
132
+ }): Promise<void>;
133
+ loadWorkflowSnapshot({ workflowName, runId, }: {
134
+ workflowName: string;
135
+ runId: string;
136
+ }): Promise<WorkflowRunState | null>;
137
+ getWorkflowRuns({ workflowName, fromDate, toDate, limit, offset, resourceId, }?: {
138
+ workflowName?: string;
139
+ fromDate?: Date;
140
+ toDate?: Date;
141
+ limit?: number;
142
+ offset?: number;
143
+ resourceId?: string;
144
+ }): Promise<WorkflowRuns>;
145
+ getWorkflowRunById({ runId, workflowName, }: {
146
+ runId: string;
147
+ workflowName?: string;
148
+ }): Promise<WorkflowRun | null>;
149
+ getTraces(args: StorageGetTracesArg): Promise<any[]>;
150
+ getTracesPaginated(args: StorageGetTracesPaginatedArg): Promise<PaginationInfo & {
151
+ traces: Trace[];
152
+ }>;
153
+ batchTraceInsert(args: {
154
+ records: Trace[];
155
+ }): Promise<void>;
98
156
  getThreadById({ threadId }: {
99
157
  threadId: string;
100
158
  }): Promise<StorageThreadType | null>;
@@ -112,6 +170,116 @@ declare class ClickhouseStore extends MastraStorage {
112
170
  deleteThread({ threadId }: {
113
171
  threadId: string;
114
172
  }): Promise<void>;
173
+ getThreadsByResourceIdPaginated(args: {
174
+ resourceId: string;
175
+ page: number;
176
+ perPage: number;
177
+ }): Promise<PaginationInfo & {
178
+ threads: StorageThreadType[];
179
+ }>;
180
+ getMessages(args: StorageGetMessagesArg & {
181
+ format?: 'v1';
182
+ }): Promise<MastraMessageV1[]>;
183
+ getMessages(args: StorageGetMessagesArg & {
184
+ format: 'v2';
185
+ }): Promise<MastraMessageV2[]>;
186
+ saveMessages(args: {
187
+ messages: MastraMessageV1[];
188
+ format?: undefined | 'v1';
189
+ }): Promise<MastraMessageV1[]>;
190
+ saveMessages(args: {
191
+ messages: MastraMessageV2[];
192
+ format: 'v2';
193
+ }): Promise<MastraMessageV2[]>;
194
+ getMessagesPaginated(args: StorageGetMessagesArg & {
195
+ format?: 'v1' | 'v2';
196
+ }): Promise<PaginationInfo & {
197
+ messages: MastraMessageV1[] | MastraMessageV2[];
198
+ }>;
199
+ updateMessages(args: {
200
+ messages: (Partial<Omit<MastraMessageV2, 'createdAt'>> & {
201
+ id: string;
202
+ threadId?: string;
203
+ content?: {
204
+ metadata?: MastraMessageContentV2['metadata'];
205
+ content?: MastraMessageContentV2['content'];
206
+ };
207
+ })[];
208
+ }): Promise<MastraMessageV2[]>;
209
+ getResourceById({ resourceId }: {
210
+ resourceId: string;
211
+ }): Promise<StorageResourceType | null>;
212
+ saveResource({ resource }: {
213
+ resource: StorageResourceType;
214
+ }): Promise<StorageResourceType>;
215
+ updateResource({ resourceId, workingMemory, metadata, }: {
216
+ resourceId: string;
217
+ workingMemory?: string;
218
+ metadata?: Record<string, unknown>;
219
+ }): Promise<StorageResourceType>;
220
+ getScoreById({ id }: {
221
+ id: string;
222
+ }): Promise<ScoreRowData | null>;
223
+ saveScore(_score: ScoreRowData): Promise<{
224
+ score: ScoreRowData;
225
+ }>;
226
+ getScoresByRunId({ runId, pagination, }: {
227
+ runId: string;
228
+ pagination: StoragePagination;
229
+ }): Promise<{
230
+ pagination: PaginationInfo;
231
+ scores: ScoreRowData[];
232
+ }>;
233
+ getScoresByEntityId({ entityId, entityType, pagination, }: {
234
+ pagination: StoragePagination;
235
+ entityId: string;
236
+ entityType: string;
237
+ }): Promise<{
238
+ pagination: PaginationInfo;
239
+ scores: ScoreRowData[];
240
+ }>;
241
+ getScoresByScorerId({ scorerId, pagination, }: {
242
+ scorerId: string;
243
+ pagination: StoragePagination;
244
+ }): Promise<{
245
+ pagination: PaginationInfo;
246
+ scores: ScoreRowData[];
247
+ }>;
248
+ close(): Promise<void>;
249
+ }
250
+ export { ClickhouseStore }
251
+ export { ClickhouseStore as ClickhouseStore_alias_1 }
252
+
253
+ export declare const COLUMN_TYPES: Record<StorageColumn['type'], string>;
254
+
255
+ export declare type IntervalUnit = 'NANOSECOND' | 'MICROSECOND' | 'MILLISECOND' | 'SECOND' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'QUARTER' | 'YEAR';
256
+
257
+ declare type IntervalUnit_2 = 'NANOSECOND' | 'MICROSECOND' | 'MILLISECOND' | 'SECOND' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'QUARTER' | 'YEAR';
258
+
259
+ export declare class LegacyEvalsStorageClickhouse extends LegacyEvalsStorage {
260
+ protected client: ClickHouseClient;
261
+ protected operations: StoreOperationsClickhouse;
262
+ constructor({ client, operations }: {
263
+ client: ClickHouseClient;
264
+ operations: StoreOperationsClickhouse;
265
+ });
266
+ private transformEvalRow;
267
+ getEvalsByAgentName(agentName: string, type?: 'test' | 'live'): Promise<EvalRow[]>;
268
+ getEvals(options?: {
269
+ agentName?: string;
270
+ type?: 'test' | 'live';
271
+ } & PaginationArgs): Promise<PaginationInfo & {
272
+ evals: EvalRow[];
273
+ }>;
274
+ }
275
+
276
+ export declare class MemoryStorageClickhouse extends MemoryStorage {
277
+ protected client: ClickHouseClient;
278
+ protected operations: StoreOperationsClickhouse;
279
+ constructor({ client, operations }: {
280
+ client: ClickHouseClient;
281
+ operations: StoreOperationsClickhouse;
282
+ });
115
283
  getMessages(args: StorageGetMessagesArg & {
116
284
  format?: 'v1';
117
285
  }): Promise<MastraMessageV1[]>;
@@ -126,6 +294,163 @@ declare class ClickhouseStore extends MastraStorage {
126
294
  messages: MastraMessageV2[];
127
295
  format: 'v2';
128
296
  }): Promise<MastraMessageV2[]>;
297
+ getThreadById({ threadId }: {
298
+ threadId: string;
299
+ }): Promise<StorageThreadType | null>;
300
+ getThreadsByResourceId({ resourceId }: {
301
+ resourceId: string;
302
+ }): Promise<StorageThreadType[]>;
303
+ saveThread({ thread }: {
304
+ thread: StorageThreadType;
305
+ }): Promise<StorageThreadType>;
306
+ updateThread({ id, title, metadata, }: {
307
+ id: string;
308
+ title: string;
309
+ metadata: Record<string, unknown>;
310
+ }): Promise<StorageThreadType>;
311
+ deleteThread({ threadId }: {
312
+ threadId: string;
313
+ }): Promise<void>;
314
+ getThreadsByResourceIdPaginated(args: {
315
+ resourceId: string;
316
+ page?: number;
317
+ perPage?: number;
318
+ }): Promise<PaginationInfo & {
319
+ threads: StorageThreadType[];
320
+ }>;
321
+ getMessagesPaginated(args: StorageGetMessagesArg & {
322
+ format?: 'v1' | 'v2';
323
+ }): Promise<PaginationInfo & {
324
+ messages: MastraMessageV1[] | MastraMessageV2[];
325
+ }>;
326
+ updateMessages(args: {
327
+ messages: (Partial<Omit<MastraMessageV2, 'createdAt'>> & {
328
+ id: string;
329
+ threadId?: string;
330
+ content?: {
331
+ metadata?: MastraMessageContentV2['metadata'];
332
+ content?: MastraMessageContentV2['content'];
333
+ };
334
+ })[];
335
+ }): Promise<MastraMessageV2[]>;
336
+ getResourceById({ resourceId }: {
337
+ resourceId: string;
338
+ }): Promise<StorageResourceType | null>;
339
+ saveResource({ resource }: {
340
+ resource: StorageResourceType;
341
+ }): Promise<StorageResourceType>;
342
+ updateResource({ resourceId, workingMemory, metadata, }: {
343
+ resourceId: string;
344
+ workingMemory?: string;
345
+ metadata?: Record<string, unknown>;
346
+ }): Promise<StorageResourceType>;
347
+ }
348
+
349
+ export declare class ScoresStorageClickhouse extends ScoresStorage {
350
+ protected client: ClickHouseClient;
351
+ protected operations: StoreOperationsClickhouse;
352
+ constructor({ client, operations }: {
353
+ client: ClickHouseClient;
354
+ operations: StoreOperationsClickhouse;
355
+ });
356
+ private transformScoreRow;
357
+ getScoreById({ id }: {
358
+ id: string;
359
+ }): Promise<ScoreRowData | null>;
360
+ saveScore(score: ScoreRowData): Promise<{
361
+ score: ScoreRowData;
362
+ }>;
363
+ getScoresByRunId({ runId, pagination, }: {
364
+ runId: string;
365
+ pagination: StoragePagination;
366
+ }): Promise<{
367
+ pagination: PaginationInfo;
368
+ scores: ScoreRowData[];
369
+ }>;
370
+ getScoresByScorerId({ scorerId, pagination, }: {
371
+ scorerId: string;
372
+ pagination: StoragePagination;
373
+ }): Promise<{
374
+ pagination: PaginationInfo;
375
+ scores: ScoreRowData[];
376
+ }>;
377
+ getScoresByEntityId({ entityId, entityType, pagination, }: {
378
+ pagination: StoragePagination;
379
+ entityId: string;
380
+ entityType: string;
381
+ }): Promise<{
382
+ pagination: PaginationInfo;
383
+ scores: ScoreRowData[];
384
+ }>;
385
+ }
386
+
387
+ export declare class StoreOperationsClickhouse extends StoreOperations {
388
+ protected ttl: ClickhouseConfig_alias_2['ttl'];
389
+ protected client: ClickHouseClient;
390
+ constructor({ client, ttl }: {
391
+ client: ClickHouseClient;
392
+ ttl: ClickhouseConfig_alias_2['ttl'];
393
+ });
394
+ hasColumn(table: string, column: string): Promise<boolean>;
395
+ protected getSqlType(type: StorageColumn['type']): string;
396
+ createTable({ tableName, schema, }: {
397
+ tableName: TABLE_NAMES;
398
+ schema: Record<string, StorageColumn>;
399
+ }): Promise<void>;
400
+ alterTable({ tableName, schema, ifNotExists, }: {
401
+ tableName: TABLE_NAMES;
402
+ schema: Record<string, StorageColumn>;
403
+ ifNotExists: string[];
404
+ }): Promise<void>;
405
+ clearTable({ tableName }: {
406
+ tableName: TABLE_NAMES;
407
+ }): Promise<void>;
408
+ dropTable({ tableName }: {
409
+ tableName: TABLE_NAMES;
410
+ }): Promise<void>;
411
+ insert({ tableName, record }: {
412
+ tableName: TABLE_NAMES;
413
+ record: Record<string, any>;
414
+ }): Promise<void>;
415
+ batchInsert({ tableName, records }: {
416
+ tableName: TABLE_NAMES;
417
+ records: Record<string, any>[];
418
+ }): Promise<void>;
419
+ load<R>({ tableName, keys }: {
420
+ tableName: TABLE_NAMES;
421
+ keys: Record<string, string>;
422
+ }): Promise<R | null>;
423
+ }
424
+
425
+ export declare const TABLE_ENGINES: Record<TABLE_NAMES, string>;
426
+
427
+ export declare class TracesStorageClickhouse extends TracesStorage {
428
+ protected client: ClickHouseClient;
429
+ protected operations: StoreOperationsClickhouse;
430
+ constructor({ client, operations }: {
431
+ client: ClickHouseClient;
432
+ operations: StoreOperationsClickhouse;
433
+ });
434
+ getTracesPaginated(args: StorageGetTracesPaginatedArg): Promise<PaginationInfo & {
435
+ traces: Trace[];
436
+ }>;
437
+ getTraces({ name, scope, page, perPage, attributes, filters, fromDate, toDate, }: StorageGetTracesArg): Promise<any[]>;
438
+ batchTraceInsert(args: {
439
+ records: Trace[];
440
+ }): Promise<void>;
441
+ }
442
+
443
+ export declare function transformRow<R>(row: any): R;
444
+
445
+ export declare function transformRows<R>(rows: any[]): R[];
446
+
447
+ export declare class WorkflowsStorageClickhouse extends WorkflowsStorage {
448
+ protected client: ClickHouseClient;
449
+ protected operations: StoreOperationsClickhouse;
450
+ constructor({ client, operations }: {
451
+ client: ClickHouseClient;
452
+ operations: StoreOperationsClickhouse;
453
+ });
129
454
  persistWorkflowSnapshot({ workflowName, runId, snapshot, }: {
130
455
  workflowName: string;
131
456
  runId: string;
@@ -148,44 +473,6 @@ declare class ClickhouseStore extends MastraStorage {
148
473
  runId: string;
149
474
  workflowName?: string;
150
475
  }): Promise<WorkflowRun | null>;
151
- private hasColumn;
152
- getTracesPaginated(_args: StorageGetTracesArg): Promise<PaginationInfo & {
153
- traces: Trace[];
154
- }>;
155
- getThreadsByResourceIdPaginated(_args: {
156
- resourceId: string;
157
- page?: number;
158
- perPage?: number;
159
- }): Promise<PaginationInfo & {
160
- threads: StorageThreadType[];
161
- }>;
162
- getMessagesPaginated(_args: StorageGetMessagesArg): Promise<PaginationInfo & {
163
- messages: MastraMessageV1[] | MastraMessageV2[];
164
- }>;
165
- close(): Promise<void>;
166
- updateMessages(_args: {
167
- messages: Partial<Omit<MastraMessageV2, 'createdAt'>> & {
168
- id: string;
169
- content?: {
170
- metadata?: MastraMessageContentV2['metadata'];
171
- content?: MastraMessageContentV2['content'];
172
- };
173
- }[];
174
- }): Promise<MastraMessageV2[]>;
175
476
  }
176
- export { ClickhouseStore }
177
- export { ClickhouseStore as ClickhouseStore_alias_1 }
178
-
179
- declare const COLUMN_TYPES: Record<StorageColumn['type'], string>;
180
- export { COLUMN_TYPES }
181
- export { COLUMN_TYPES as COLUMN_TYPES_alias_1 }
182
-
183
- declare type IntervalUnit = 'NANOSECOND' | 'MICROSECOND' | 'MILLISECOND' | 'SECOND' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'QUARTER' | 'YEAR';
184
-
185
- declare type SUPPORTED_TABLE_NAMES = Exclude<TABLE_NAMES, typeof TABLE_RESOURCES>;
186
-
187
- declare const TABLE_ENGINES: Record<SUPPORTED_TABLE_NAMES, string>;
188
- export { TABLE_ENGINES }
189
- export { TABLE_ENGINES as TABLE_ENGINES_alias_1 }
190
477
 
191
478
  export { }