@mastra/libsql 0.13.4 → 0.13.5-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.
@@ -18,12 +18,16 @@ import type {
18
18
  StorageGetTracesArg,
19
19
  StorageDomains,
20
20
  ThreadSortOptions,
21
+ AISpanRecord,
22
+ AITraceRecord,
23
+ AITracesPaginatedArg,
21
24
  } from '@mastra/core/storage';
22
25
 
23
26
  import type { Trace } from '@mastra/core/telemetry';
24
- import type { WorkflowRunState } from '@mastra/core/workflows';
27
+ import type { StepResult, WorkflowRunState } from '@mastra/core/workflows';
25
28
  import { LegacyEvalsLibSQL } from './domains/legacy-evals';
26
29
  import { MemoryLibSQL } from './domains/memory';
30
+ import { ObservabilityLibSQL } from './domains/observability';
27
31
  import { StoreOperationsLibSQL } from './domains/operations';
28
32
  import { ScoresLibSQL } from './domains/scores';
29
33
  import { TracesLibSQL } from './domains/traces';
@@ -101,6 +105,7 @@ export class LibSQLStore extends MastraStorage {
101
105
  const workflows = new WorkflowsLibSQL({ client: this.client, operations });
102
106
  const memory = new MemoryLibSQL({ client: this.client, operations });
103
107
  const legacyEvals = new LegacyEvalsLibSQL({ client: this.client });
108
+ const observability = new ObservabilityLibSQL({ operations });
104
109
 
105
110
  this.stores = {
106
111
  operations,
@@ -109,6 +114,7 @@ export class LibSQLStore extends MastraStorage {
109
114
  workflows,
110
115
  memory,
111
116
  legacyEvals,
117
+ observability,
112
118
  };
113
119
  }
114
120
 
@@ -119,6 +125,7 @@ export class LibSQLStore extends MastraStorage {
119
125
  hasColumn: true,
120
126
  createTable: true,
121
127
  deleteMessages: true,
128
+ aiTracing: true,
122
129
  };
123
130
  }
124
131
 
@@ -352,6 +359,40 @@ export class LibSQLStore extends MastraStorage {
352
359
  * WORKFLOWS
353
360
  */
354
361
 
362
+ async updateWorkflowResults({
363
+ workflowName,
364
+ runId,
365
+ stepId,
366
+ result,
367
+ runtimeContext,
368
+ }: {
369
+ workflowName: string;
370
+ runId: string;
371
+ stepId: string;
372
+ result: StepResult<any, any, any, any>;
373
+ runtimeContext: Record<string, any>;
374
+ }): Promise<Record<string, StepResult<any, any, any, any>>> {
375
+ return this.stores.workflows.updateWorkflowResults({ workflowName, runId, stepId, result, runtimeContext });
376
+ }
377
+
378
+ async updateWorkflowState({
379
+ workflowName,
380
+ runId,
381
+ opts,
382
+ }: {
383
+ workflowName: string;
384
+ runId: string;
385
+ opts: {
386
+ status: string;
387
+ result?: StepResult<any, any, any, any>;
388
+ error?: string;
389
+ suspendedPaths?: Record<string, number[]>;
390
+ waitingPaths?: Record<string, number[]>;
391
+ };
392
+ }): Promise<WorkflowRunState | undefined> {
393
+ return this.stores.workflows.updateWorkflowState({ workflowName, runId, opts });
394
+ }
395
+
355
396
  async persistWorkflowSnapshot({
356
397
  workflowName,
357
398
  runId,
@@ -421,6 +462,38 @@ export class LibSQLStore extends MastraStorage {
421
462
  }): Promise<StorageResourceType> {
422
463
  return this.stores.memory.updateResource({ resourceId, workingMemory, metadata });
423
464
  }
465
+
466
+ async createAISpan(span: AISpanRecord): Promise<void> {
467
+ return this.stores.observability!.createAISpan(span);
468
+ }
469
+
470
+ async updateAISpan(params: {
471
+ spanId: string;
472
+ traceId: string;
473
+ updates: Partial<Omit<AISpanRecord, 'spanId' | 'traceId'>>;
474
+ }): Promise<void> {
475
+ return this.stores.observability!.updateAISpan(params);
476
+ }
477
+
478
+ async getAITrace(traceId: string): Promise<AITraceRecord | null> {
479
+ return this.stores.observability!.getAITrace(traceId);
480
+ }
481
+
482
+ async getAITracesPaginated(
483
+ args: AITracesPaginatedArg,
484
+ ): Promise<{ pagination: PaginationInfo; spans: AISpanRecord[] }> {
485
+ return this.stores.observability!.getAITracesPaginated(args);
486
+ }
487
+
488
+ async batchCreateAISpans(args: { records: AISpanRecord[] }): Promise<void> {
489
+ return this.stores.observability!.batchCreateAISpans(args);
490
+ }
491
+
492
+ async batchUpdateAISpans(args: {
493
+ records: { traceId: string; spanId: string; updates: Partial<Omit<AISpanRecord, 'spanId' | 'traceId'>> }[];
494
+ }): Promise<void> {
495
+ return this.stores.observability!.batchUpdateAISpans(args);
496
+ }
424
497
  }
425
498
 
426
499
  export { LibSQLStore as DefaultStorage };