@mastra/libsql 0.0.0-error-handler-fix-20251020202607 → 0.0.0-esbuild-bundle-worker-20260807182016

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.
Files changed (104) hide show
  1. package/CHANGELOG.md +4789 -3
  2. package/LICENSE.md +15 -0
  3. package/README.md +30 -20
  4. package/dist/docs/SKILL.md +52 -0
  5. package/dist/docs/assets/SOURCE_MAP.json +6 -0
  6. package/dist/docs/references/docs-agents-agent-approval.md +664 -0
  7. package/dist/docs/references/docs-agents-networks.md +184 -0
  8. package/dist/docs/references/docs-deployment-workers.md +137 -0
  9. package/dist/docs/references/docs-editor-overview.md +349 -0
  10. package/dist/docs/references/docs-memory-memory-processors.md +385 -0
  11. package/dist/docs/references/docs-memory-message-history.md +348 -0
  12. package/dist/docs/references/docs-memory-multi-user-threads.md +208 -0
  13. package/dist/docs/references/docs-memory-overview.md +266 -0
  14. package/dist/docs/references/docs-memory-semantic-recall.md +401 -0
  15. package/dist/docs/references/docs-memory-working-memory.md +431 -0
  16. package/dist/docs/references/docs-storage-overview.md +214 -0
  17. package/dist/docs/references/docs-workflows-snapshots.md +240 -0
  18. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +142 -0
  19. package/dist/docs/references/guides-rag-retrieval.md +520 -0
  20. package/dist/docs/references/reference-core-getMemory.md +51 -0
  21. package/dist/docs/references/reference-core-listMemory.md +57 -0
  22. package/dist/docs/references/reference-core-mastra-class.md +153 -0
  23. package/dist/docs/references/reference-file-based-agents-memory.md +58 -0
  24. package/dist/docs/references/reference-file-based-agents-storage.md +30 -0
  25. package/dist/docs/references/reference-memory-memory-class.md +148 -0
  26. package/dist/docs/references/reference-storage-composite.md +397 -0
  27. package/dist/docs/references/reference-storage-dynamodb.md +284 -0
  28. package/dist/docs/references/reference-storage-libsql.md +143 -0
  29. package/dist/docs/references/reference-storage-retention.md +248 -0
  30. package/dist/docs/references/reference-vectors-libsql.md +307 -0
  31. package/dist/index.cjs +13164 -3390
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.js +13134 -3383
  34. package/dist/index.js.map +1 -1
  35. package/dist/storage/db/index.d.ts +389 -0
  36. package/dist/storage/db/index.d.ts.map +1 -0
  37. package/dist/storage/db/utils.d.ts +84 -0
  38. package/dist/storage/db/utils.d.ts.map +1 -0
  39. package/dist/storage/db/write-lock.d.ts +8 -0
  40. package/dist/storage/db/write-lock.d.ts.map +1 -0
  41. package/dist/storage/domains/agents/index.d.ts +30 -0
  42. package/dist/storage/domains/agents/index.d.ts.map +1 -0
  43. package/dist/storage/domains/background-tasks/index.d.ts +27 -0
  44. package/dist/storage/domains/background-tasks/index.d.ts.map +1 -0
  45. package/dist/storage/domains/blobs/index.d.ts +17 -0
  46. package/dist/storage/domains/blobs/index.d.ts.map +1 -0
  47. package/dist/storage/domains/channels/index.d.ts +20 -0
  48. package/dist/storage/domains/channels/index.d.ts.map +1 -0
  49. package/dist/storage/domains/datasets/index.d.ts +43 -0
  50. package/dist/storage/domains/datasets/index.d.ts.map +1 -0
  51. package/dist/storage/domains/experiments/index.d.ts +54 -0
  52. package/dist/storage/domains/experiments/index.d.ts.map +1 -0
  53. package/dist/storage/domains/favorites/index.d.ts +17 -0
  54. package/dist/storage/domains/favorites/index.d.ts.map +1 -0
  55. package/dist/storage/domains/harness/index.d.ts +17 -0
  56. package/dist/storage/domains/harness/index.d.ts.map +1 -0
  57. package/dist/storage/domains/mcp-clients/index.d.ts +26 -0
  58. package/dist/storage/domains/mcp-clients/index.d.ts.map +1 -0
  59. package/dist/storage/domains/mcp-servers/index.d.ts +26 -0
  60. package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -0
  61. package/dist/storage/domains/memory/index.d.ts +58 -54
  62. package/dist/storage/domains/memory/index.d.ts.map +1 -1
  63. package/dist/storage/domains/notifications/index.d.ts +23 -0
  64. package/dist/storage/domains/notifications/index.d.ts.map +1 -0
  65. package/dist/storage/domains/observability/index.d.ts +49 -29
  66. package/dist/storage/domains/observability/index.d.ts.map +1 -1
  67. package/dist/storage/domains/prompt-blocks/index.d.ts +25 -0
  68. package/dist/storage/domains/prompt-blocks/index.d.ts.map +1 -0
  69. package/dist/storage/domains/schedules/index.d.ts +27 -0
  70. package/dist/storage/domains/schedules/index.d.ts.map +1 -0
  71. package/dist/storage/domains/scorer-definitions/index.d.ts +26 -0
  72. package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -0
  73. package/dist/storage/domains/scores/index.d.ts +29 -31
  74. package/dist/storage/domains/scores/index.d.ts.map +1 -1
  75. package/dist/storage/domains/skills/index.d.ts +26 -0
  76. package/dist/storage/domains/skills/index.d.ts.map +1 -0
  77. package/dist/storage/domains/thread-state/index.d.ts +38 -0
  78. package/dist/storage/domains/thread-state/index.d.ts.map +1 -0
  79. package/dist/storage/domains/tool-provider-connections/index.d.ts +14 -0
  80. package/dist/storage/domains/tool-provider-connections/index.d.ts.map +1 -0
  81. package/dist/storage/domains/utils.d.ts +28 -54
  82. package/dist/storage/domains/utils.d.ts.map +1 -1
  83. package/dist/storage/domains/workflow-definitions/index.d.ts +14 -0
  84. package/dist/storage/domains/workflow-definitions/index.d.ts.map +1 -0
  85. package/dist/storage/domains/workflows/index.d.ts +27 -32
  86. package/dist/storage/domains/workflows/index.d.ts.map +1 -1
  87. package/dist/storage/domains/workspaces/index.d.ts +26 -0
  88. package/dist/storage/domains/workspaces/index.d.ts.map +1 -0
  89. package/dist/storage/factory-storage.d.ts +28 -0
  90. package/dist/storage/factory-storage.d.ts.map +1 -0
  91. package/dist/storage/index.d.ts +128 -255
  92. package/dist/storage/index.d.ts.map +1 -1
  93. package/dist/storage/retention.d.ts +77 -0
  94. package/dist/storage/retention.d.ts.map +1 -0
  95. package/dist/vector/index.d.ts +31 -4
  96. package/dist/vector/index.d.ts.map +1 -1
  97. package/dist/vector/sql-builder.d.ts.map +1 -1
  98. package/package.json +22 -16
  99. package/dist/storage/domains/legacy-evals/index.d.ts +0 -18
  100. package/dist/storage/domains/legacy-evals/index.d.ts.map +0 -1
  101. package/dist/storage/domains/operations/index.d.ts +0 -110
  102. package/dist/storage/domains/operations/index.d.ts.map +0 -1
  103. package/dist/storage/domains/traces/index.d.ts +0 -21
  104. package/dist/storage/domains/traces/index.d.ts.map +0 -1
@@ -0,0 +1,26 @@
1
+ import { ScorerDefinitionsStorage } from '@mastra/core/storage';
2
+ import type { StorageScorerDefinitionType, StorageCreateScorerDefinitionInput, StorageUpdateScorerDefinitionInput, StorageListScorerDefinitionsInput, StorageListScorerDefinitionsOutput } from '@mastra/core/storage';
3
+ import type { ScorerDefinitionVersion, CreateScorerDefinitionVersionInput, ListScorerDefinitionVersionsInput, ListScorerDefinitionVersionsOutput } from '@mastra/core/storage/domains/scorer-definitions';
4
+ import type { LibSQLDomainConfig } from '../../db/index.js';
5
+ export declare class ScorerDefinitionsLibSQL extends ScorerDefinitionsStorage {
6
+ #private;
7
+ constructor(config: LibSQLDomainConfig);
8
+ init(): Promise<void>;
9
+ dangerouslyClearAll(): Promise<void>;
10
+ getById(id: string): Promise<StorageScorerDefinitionType | null>;
11
+ create(input: {
12
+ scorerDefinition: StorageCreateScorerDefinitionInput;
13
+ }): Promise<StorageScorerDefinitionType>;
14
+ update(input: StorageUpdateScorerDefinitionInput): Promise<StorageScorerDefinitionType>;
15
+ delete(id: string): Promise<void>;
16
+ list(args?: StorageListScorerDefinitionsInput): Promise<StorageListScorerDefinitionsOutput>;
17
+ createVersion(input: CreateScorerDefinitionVersionInput): Promise<ScorerDefinitionVersion>;
18
+ getVersion(id: string): Promise<ScorerDefinitionVersion | null>;
19
+ getVersionByNumber(scorerDefinitionId: string, versionNumber: number): Promise<ScorerDefinitionVersion | null>;
20
+ getLatestVersion(scorerDefinitionId: string): Promise<ScorerDefinitionVersion | null>;
21
+ listVersions(input: ListScorerDefinitionVersionsInput): Promise<ListScorerDefinitionVersionsOutput>;
22
+ deleteVersion(id: string): Promise<void>;
23
+ deleteVersionsByParentId(entityId: string): Promise<void>;
24
+ countVersions(scorerDefinitionId: string): Promise<number>;
25
+ }
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scorer-definitions/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EAQzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,2BAA2B,EAC3B,kCAAkC,EAClC,kCAAkC,EAClC,iCAAiC,EACjC,kCAAkC,EACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,uBAAuB,EACvB,kCAAkC,EAClC,iCAAiC,EACjC,kCAAkC,EACnC,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,qBAAa,uBAAwB,SAAQ,wBAAwB;;gBAIvD,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC;IAqBhE,MAAM,CAAC,KAAK,EAAE;QAAE,gBAAgB,EAAE,kCAAkC,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAqD7G,MAAM,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAqDvF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjC,IAAI,CAAC,IAAI,CAAC,EAAE,iCAAiC,GAAG,OAAO,CAAC,kCAAkC,CAAC;IA0F3F,aAAa,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAwC1F,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAqB/D,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAqB9G,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAqBrF,YAAY,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAsDnG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzD,aAAa,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA8EjE"}
@@ -1,54 +1,52 @@
1
- import type { Client } from '@libsql/client';
2
- import type { ScoreRowData, ScoringSource } from '@mastra/core/scores';
1
+ import type { ListScoresResponse, SaveScorePayload, ScoreRowData, ScoringSource } from '@mastra/core/evals';
3
2
  import { ScoresStorage } from '@mastra/core/storage';
4
- import type { PaginationInfo, StoragePagination } from '@mastra/core/storage';
5
- import type { StoreOperationsLibSQL } from '../operations/index.js';
3
+ import type { PruneOptions, PruneResult, RetentionTablesDescriptor, ScoreTenancyFilters, StoragePagination, TableRetentionPolicy } from '@mastra/core/storage';
4
+ import type { LibSQLDomainConfig } from '../../db/index.js';
6
5
  export declare class ScoresLibSQL extends ScoresStorage {
7
- private operations;
8
- private client;
9
- constructor({ client, operations }: {
10
- client: Client;
11
- operations: StoreOperationsLibSQL;
12
- });
13
- getScoresByRunId({ runId, pagination, }: {
6
+ #private;
7
+ /**
8
+ * Scorer results accumulate as evals run. Single table, anchored on `createdAt`.
9
+ */
10
+ static readonly retentionTables: RetentionTablesDescriptor;
11
+ constructor(config: LibSQLDomainConfig);
12
+ init(): Promise<void>;
13
+ dangerouslyClearAll(): Promise<void>;
14
+ /** Delete scorer results older than the `scorers` policy's `maxAge`, batched. */
15
+ prune(policies: Record<string, TableRetentionPolicy>, options?: PruneOptions): Promise<PruneResult[]>;
16
+ listScoresByRunId({ runId, pagination, filters, }: {
14
17
  runId: string;
15
18
  pagination: StoragePagination;
16
- }): Promise<{
17
- pagination: PaginationInfo;
18
- scores: ScoreRowData[];
19
- }>;
20
- getScoresByScorerId({ scorerId, entityId, entityType, source, pagination, }: {
19
+ filters?: ScoreTenancyFilters;
20
+ }): Promise<ListScoresResponse>;
21
+ listScoresByScorerId({ scorerId, entityId, entityType, source, pagination, filters, }: {
21
22
  scorerId: string;
22
23
  entityId?: string;
23
24
  entityType?: string;
24
25
  source?: ScoringSource;
25
26
  pagination: StoragePagination;
26
- }): Promise<{
27
- pagination: PaginationInfo;
28
- scores: ScoreRowData[];
29
- }>;
27
+ filters?: ScoreTenancyFilters;
28
+ }): Promise<ListScoresResponse>;
29
+ /**
30
+ * LibSQL-specific score row transformation.
31
+ */
30
32
  private transformScoreRow;
31
33
  getScoreById({ id }: {
32
34
  id: string;
33
35
  }): Promise<ScoreRowData | null>;
34
- saveScore(score: Omit<ScoreRowData, 'id' | 'createdAt' | 'updatedAt'>): Promise<{
36
+ saveScore(score: SaveScorePayload): Promise<{
35
37
  score: ScoreRowData;
36
38
  }>;
37
- getScoresByEntityId({ entityId, entityType, pagination, }: {
39
+ listScoresByEntityId({ entityId, entityType, pagination, filters, }: {
38
40
  pagination: StoragePagination;
39
41
  entityId: string;
40
42
  entityType: string;
41
- }): Promise<{
42
- pagination: PaginationInfo;
43
- scores: ScoreRowData[];
44
- }>;
45
- getScoresBySpan({ traceId, spanId, pagination, }: {
43
+ filters?: ScoreTenancyFilters;
44
+ }): Promise<ListScoresResponse>;
45
+ listScoresBySpan({ traceId, spanId, pagination, filters, }: {
46
46
  traceId: string;
47
47
  spanId: string;
48
48
  pagination: StoragePagination;
49
- }): Promise<{
50
- pagination: PaginationInfo;
51
- scores: ScoreRowData[];
52
- }>;
49
+ filters?: ScoreTenancyFilters;
50
+ }): Promise<ListScoresResponse>;
53
51
  }
54
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scores/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAW,MAAM,gBAAgB,CAAC;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAiB,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,qBAAa,YAAa,SAAQ,aAAa;IAC7C,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,MAAM,CAAS;gBACX,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,qBAAqB,CAAA;KAAE;IAMnF,gBAAgB,CAAC,EACrB,KAAK,EACL,UAAU,GACX,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IA2B7D,mBAAmB,CAAC,EACxB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,MAAM,EACN,UAAU,GACX,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAqDnE,OAAO,CAAC,iBAAiB;IA0CnB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAQlE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;IAiDxG,mBAAmB,CAAC,EACxB,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE;QACD,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IA2B7D,eAAe,CAAC,EACpB,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;CAqCpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scores/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAIL,aAAa,EAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAgBnD,qBAAa,YAAa,SAAQ,aAAa;;IAC7C;;OAEG;IACH,gBAAyB,eAAe,EAAE,yBAAyB,CAEjE;gBAKU,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,iFAAiF;IAC3E,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IASrG,iBAAiB,CAAC,EACtB,KAAK,EACL,UAAU,EACV,OAAO,GACR,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,iBAAiB,CAAC;QAC9B,OAAO,CAAC,EAAE,mBAAmB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4DzB,oBAAoB,CAAC,EACzB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,MAAM,EACN,UAAU,EACV,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,OAAO,CAAC,EAAE,mBAAmB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmF/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAInB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAQlE,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;IAiDpE,oBAAoB,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,OAAO,GACR,EAAE;QACD,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,mBAAmB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6DzB,gBAAgB,CAAC,EACrB,OAAO,EACP,MAAM,EACN,UAAU,EACV,OAAO,GACR,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,iBAAiB,CAAC;QAC9B,OAAO,CAAC,EAAE,mBAAmB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAgDhC"}
@@ -0,0 +1,26 @@
1
+ import { SkillsStorage } from '@mastra/core/storage';
2
+ import type { StorageSkillType, StorageCreateSkillInput, StorageUpdateSkillInput, StorageListSkillsInput, StorageListSkillsOutput } from '@mastra/core/storage';
3
+ import type { SkillVersion, CreateSkillVersionInput, ListSkillVersionsInput, ListSkillVersionsOutput } from '@mastra/core/storage/domains/skills';
4
+ import type { LibSQLDomainConfig } from '../../db/index.js';
5
+ export declare class SkillsLibSQL extends SkillsStorage {
6
+ #private;
7
+ constructor(config: LibSQLDomainConfig);
8
+ init(): Promise<void>;
9
+ dangerouslyClearAll(): Promise<void>;
10
+ getById(id: string): Promise<StorageSkillType | null>;
11
+ create(input: {
12
+ skill: StorageCreateSkillInput;
13
+ }): Promise<StorageSkillType>;
14
+ update(input: StorageUpdateSkillInput): Promise<StorageSkillType>;
15
+ delete(id: string): Promise<void>;
16
+ list(args?: StorageListSkillsInput): Promise<StorageListSkillsOutput>;
17
+ createVersion(input: CreateSkillVersionInput): Promise<SkillVersion>;
18
+ getVersion(id: string): Promise<SkillVersion | null>;
19
+ getVersionByNumber(skillId: string, versionNumber: number): Promise<SkillVersion | null>;
20
+ getLatestVersion(skillId: string): Promise<SkillVersion | null>;
21
+ listVersions(input: ListSkillVersionsInput): Promise<ListSkillVersionsOutput>;
22
+ deleteVersion(id: string): Promise<void>;
23
+ deleteVersionsByParentId(entityId: string): Promise<void>;
24
+ countVersions(skillId: string): Promise<number>;
25
+ }
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/skills/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EASd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAqBnD,qBAAa,YAAa,SAAQ,aAAa;;gBAIjC,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBrD,MAAM,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,uBAAuB,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6D5E,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwHjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjC,IAAI,CAAC,IAAI,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAsIrE,aAAa,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC;IAkDpE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAqBpD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAqBxF,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAqB/D,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAsD7E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAuEtD"}
@@ -0,0 +1,38 @@
1
+ import { ThreadStateStorage } from '@mastra/core/storage';
2
+ import type { PruneOptions, PruneResult, RetentionTablesDescriptor, TableRetentionPolicy } from '@mastra/core/storage';
3
+ import type { LibSQLDomainConfig } from '../../db/index.js';
4
+ /**
5
+ * LibSQL implementation of {@link ThreadStateStorage}.
6
+ *
7
+ * Stores per-thread, per-type state in `mastra_thread_state`, keyed by the
8
+ * composite primary key `(threadId, type)`. The `value` column holds the JSON
9
+ * payload (e.g. the task list for `type = 'task'`).
10
+ */
11
+ export declare class ThreadStateLibSQL extends ThreadStateStorage {
12
+ #private;
13
+ /**
14
+ * `thread_state` grows as a side effect of thread activity (one row per
15
+ * thread per state type). It anchors on `updatedAt` (last activity), so state
16
+ * for a thread that is still being appended to is not pruned by creation age.
17
+ */
18
+ static readonly retentionTables: RetentionTablesDescriptor;
19
+ constructor(config: LibSQLDomainConfig);
20
+ init(): Promise<void>;
21
+ /** Delete thread state older than the `threadState` policy's `maxAge`, batched. */
22
+ prune(policies: Record<string, TableRetentionPolicy>, options?: PruneOptions): Promise<PruneResult[]>;
23
+ dangerouslyClearAll(): Promise<void>;
24
+ getState<T = unknown>({ threadId, type }: {
25
+ threadId: string;
26
+ type: string;
27
+ }): Promise<T | undefined>;
28
+ setState<T = unknown>({ threadId, type, value }: {
29
+ threadId: string;
30
+ type: string;
31
+ value: T;
32
+ }): Promise<void>;
33
+ deleteState({ threadId, type }: {
34
+ threadId: string;
35
+ type: string;
36
+ }): Promise<void>;
37
+ }
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/thread-state/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAInB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGvH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;;IACvD;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAExD;gBAKU,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,mFAAmF;IAC7E,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IASrG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAepC,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAsBrG,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7G,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBzF"}
@@ -0,0 +1,14 @@
1
+ import { ToolProviderConnectionsStorage } from '@mastra/core/storage';
2
+ import type { StorageDeleteToolProviderConnectionInput, StorageListToolProviderConnectionsInput, StorageToolProviderConnection, StorageToolProviderConnectionKey, StorageUpsertToolProviderConnectionInput } from '@mastra/core/storage';
3
+ import type { LibSQLDomainConfig } from '../../db/index.js';
4
+ export declare class ToolProviderConnectionsLibSQL extends ToolProviderConnectionsStorage {
5
+ #private;
6
+ constructor(config: LibSQLDomainConfig);
7
+ init(): Promise<void>;
8
+ dangerouslyClearAll(): Promise<void>;
9
+ getConnectionById({ authorId, providerId, connectionId, }: StorageToolProviderConnectionKey): Promise<StorageToolProviderConnection | null>;
10
+ upsertConnection(input: StorageUpsertToolProviderConnectionInput): Promise<StorageToolProviderConnection>;
11
+ listConnectionsByAuthor({ authorId, providerId, toolkit, scope, }: StorageListToolProviderConnectionsInput): Promise<StorageToolProviderConnection[]>;
12
+ deleteConnection({ authorId, providerId, connectionId, }: StorageDeleteToolProviderConnectionInput): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/tool-provider-connections/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAI/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,wCAAwC,EACxC,uCAAuC,EACvC,6BAA6B,EAC7B,gCAAgC,EAEhC,wCAAwC,EACzC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAsBnD,qBAAa,6BAA8B,SAAQ,8BAA8B;;gBAInE,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,iBAAiB,CAAC,EACtB,QAAQ,EACR,UAAU,EACV,YAAY,GACb,EAAE,gCAAgC,GAAG,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAuB7E,gBAAgB,CAAC,KAAK,EAAE,wCAAwC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IA8DzG,uBAAuB,CAAC,EAC5B,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,GACN,EAAE,uCAAuC,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC;IAwC/E,gBAAgB,CAAC,EACrB,QAAQ,EACR,UAAU,EACV,YAAY,GACb,EAAE,wCAAwC,GAAG,OAAO,CAAC,IAAI,CAAC;CAmB5D"}
@@ -1,60 +1,34 @@
1
1
  import type { InValue } from '@libsql/client';
2
- import type { IMastraLogger } from '@mastra/core/logger';
3
- import type { PaginationArgs, StorageColumn, TABLE_NAMES } from '@mastra/core/storage';
4
- export declare function createExecuteWriteOperationWithRetry({ logger, maxRetries, initialBackoffMs, }: {
5
- logger: IMastraLogger;
6
- maxRetries: number;
7
- initialBackoffMs: number;
8
- }): <T>(operationFn: () => Promise<T>, operationDescription: string) => Promise<T>;
9
- export declare function prepareStatement({ tableName, record }: {
10
- tableName: TABLE_NAMES;
11
- record: Record<string, any>;
12
- }): {
13
- sql: string;
14
- args: InValue[];
15
- };
16
- export declare function prepareUpdateStatement({ tableName, updates, keys, }: {
17
- tableName: TABLE_NAMES;
18
- updates: Record<string, any>;
19
- keys: Record<string, any>;
20
- }): {
21
- sql: string;
22
- args: InValue[];
23
- };
24
- export declare function transformToSqlValue(value: any): InValue;
25
- export declare function prepareDeleteStatement({ tableName, keys }: {
26
- tableName: TABLE_NAMES;
27
- keys: Record<string, any>;
28
- }): {
29
- sql: string;
30
- args: InValue[];
31
- };
32
- type WhereValue = InValue | {
33
- startAt?: InValue;
34
- endAt?: InValue;
35
- };
36
- export declare function prepareWhereClause(filters: Record<string, WhereValue>, schema: Record<string, StorageColumn>): {
37
- sql: string;
38
- args: InValue[];
39
- };
40
- type DateRangeFilter = {
41
- startAt?: string;
42
- endAt?: string;
43
- };
2
+ import type { DatasetTenancyFilters, ExperimentTenancyFilters } from '@mastra/core/storage';
3
+ /**
4
+ * Tenancy scope shape shared by domains that carry `organizationId` / `projectId`
5
+ * columns (datasets, experiments, ...). Aliases the core tenancy filter types so
6
+ * this helper stays in sync if the core shape ever changes.
7
+ */
8
+ export type TenancyScope = DatasetTenancyFilters | ExperimentTenancyFilters;
44
9
  /**
45
- * Converts pagination date range to where clause date range format
46
- * @param dateRange - The date range from pagination
47
- * @param columnName - The timestamp column to filter on (defaults to 'createdAt')
48
- * @returns Object with the date range filter, or empty object if no date range
10
+ * Build additional `AND col = ?` conditions for a tenancy read-scope filter.
11
+ * Returned in the shape expected by libsql's parameterized SQL builders.
12
+ * When `filters` is undefined or empty, returns empty arrays (no scoping).
13
+ *
14
+ * Shared across domains (datasets, experiments, ...) so tenancy predicates stay
15
+ * consistent and cross-tenant reads/deletes do not leak.
49
16
  */
50
- export declare function buildDateRangeFilter(dateRange?: PaginationArgs['dateRange'], columnName?: string): Record<string, DateRangeFilter>;
17
+ export declare function tenancyWhere(filters?: TenancyScope): {
18
+ conditions: string[];
19
+ params: InValue[];
20
+ };
51
21
  /**
52
- * Transforms SQL row data back to a typed object format
53
- * Reverses the transformations done in prepareStatement
22
+ * Build a WHERE clause that scopes a query to `<idColumn> = ?` plus any tenancy
23
+ * predicates. Small DRY helper on top of {@link tenancyWhere} for the common
24
+ * pattern used by tenancy-aware getters and deletes.
25
+ *
26
+ * @example
27
+ * const { sql, args } = buildScopedWhere('id', args.id, args.filters);
28
+ * await client.execute({ sql: `SELECT * FROM t WHERE ${sql}`, args });
54
29
  */
55
- export declare function transformFromSqlRow<T>({ tableName, sqlRow, }: {
56
- tableName: TABLE_NAMES;
57
- sqlRow: Record<string, any>;
58
- }): T;
59
- export {};
30
+ export declare function buildScopedWhere(idColumn: string, idValue: InValue, filters?: TenancyScope): {
31
+ sql: string;
32
+ args: InValue[];
33
+ };
60
34
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/domains/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGvF,wBAAgB,oCAAoC,CAAC,EACnD,MAAM,EACN,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,IACsD,CAAC,EACpD,aAAa,MAAM,OAAO,CAAC,CAAC,CAAC,EAC7B,sBAAsB,MAAM,KAC3B,OAAO,CAAC,CAAC,CAAC,CAyBd;AAED,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAAE,SAAS,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG;IAChH,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAmBA;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,EACP,IAAI,GACL,EAAE;IACD,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B,GAAG;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAeA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAQvD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAAE,SAAS,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG;IAClH,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAQA;AAED,KAAK,UAAU,GAAG,OAAO,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACpC;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAqBA;AA+CD,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,EACvC,UAAU,GAAE,MAAoB,GAC/B,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAgBjC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,EACrC,SAAS,EACT,MAAM,GACP,EAAE;IACD,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B,GAAG,CAAC,CAiCJ"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/domains/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE5F;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG,wBAAwB,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CAYhG;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,YAAY,GACrB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAMlC"}
@@ -0,0 +1,14 @@
1
+ import type { CreateWorkflowDefinitionInput, ListWorkflowDefinitionsInput, ListWorkflowDefinitionsOutput, UpdateWorkflowDefinitionInput, WorkflowDefinition } from '@mastra/core/storage';
2
+ import { WorkflowDefinitionsStorage } from '@mastra/core/storage';
3
+ import type { LibSQLDomainConfig } from '../../db/index.js';
4
+ export declare class WorkflowDefinitionsLibSQL extends WorkflowDefinitionsStorage {
5
+ #private;
6
+ constructor(config: LibSQLDomainConfig);
7
+ init(): Promise<void>;
8
+ dangerouslyClearAll(): Promise<void>;
9
+ upsert(input: CreateWorkflowDefinitionInput | UpdateWorkflowDefinitionInput): Promise<WorkflowDefinition>;
10
+ get(id: string): Promise<WorkflowDefinition | null>;
11
+ list(args?: ListWorkflowDefinitionsInput): Promise<ListWorkflowDefinitionsOutput>;
12
+ delete(id: string): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflow-definitions/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA6C,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAE7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AA8CnD,qBAAa,yBAA0B,SAAQ,0BAA0B;;gBAI3D,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,6BAA6B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsEzG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IASnD,IAAI,CAAC,IAAI,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAoBjF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMxC"}
@@ -1,44 +1,42 @@
1
- import type { Client } from '@libsql/client';
2
- import type { WorkflowRun, WorkflowRuns } from '@mastra/core/storage';
1
+ import type { WorkflowRun, WorkflowRuns, StorageListWorkflowRunsInput, UpdateWorkflowStateOptions, PruneOptions, PruneResult, RetentionTablesDescriptor, TableRetentionPolicy } from '@mastra/core/storage';
3
2
  import { WorkflowsStorage } from '@mastra/core/storage';
4
3
  import type { WorkflowRunState, StepResult } from '@mastra/core/workflows';
5
- import type { StoreOperationsLibSQL } from '../operations/index.js';
4
+ import type { LibSQLDomainConfig } from '../../db/index.js';
6
5
  export declare class WorkflowsLibSQL extends WorkflowsStorage {
7
- operations: StoreOperationsLibSQL;
8
- client: Client;
9
- private readonly maxRetries;
10
- private readonly initialBackoffMs;
11
- constructor({ operations, client, maxRetries, initialBackoffMs, }: {
12
- operations: StoreOperationsLibSQL;
13
- client: Client;
14
- maxRetries?: number;
15
- initialBackoffMs?: number;
16
- });
6
+ #private;
7
+ /**
8
+ * Workflow run snapshots accumulate as runs execute. Anchored on `updatedAt`
9
+ * (last activity) so suspended/long-running runs are not pruned by start age.
10
+ */
11
+ static readonly retentionTables: RetentionTablesDescriptor;
12
+ private readonly executeWithRetry;
13
+ constructor(config: LibSQLDomainConfig);
14
+ supportsConcurrentUpdates(): boolean;
15
+ private parseWorkflowRun;
16
+ init(): Promise<void>;
17
+ dangerouslyClearAll(): Promise<void>;
18
+ /** Delete workflow snapshots older than the `workflowSnapshot` policy's `maxAge`, batched. */
19
+ prune(policies: Record<string, TableRetentionPolicy>, options?: PruneOptions): Promise<PruneResult[]>;
17
20
  private setupPragmaSettings;
18
- private executeWithRetry;
19
- updateWorkflowResults({ workflowName, runId, stepId, result, runtimeContext, }: {
21
+ updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, }: {
20
22
  workflowName: string;
21
23
  runId: string;
22
24
  stepId: string;
23
25
  result: StepResult<any, any, any, any>;
24
- runtimeContext: Record<string, any>;
26
+ requestContext: Record<string, any>;
25
27
  }): Promise<Record<string, StepResult<any, any, any, any>>>;
26
28
  updateWorkflowState({ workflowName, runId, opts, }: {
27
29
  workflowName: string;
28
30
  runId: string;
29
- opts: {
30
- status: string;
31
- result?: StepResult<any, any, any, any>;
32
- error?: string;
33
- suspendedPaths?: Record<string, number[]>;
34
- waitingPaths?: Record<string, number[]>;
35
- };
31
+ opts: UpdateWorkflowStateOptions;
36
32
  }): Promise<WorkflowRunState | undefined>;
37
- persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
33
+ persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, createdAt, updatedAt, }: {
38
34
  workflowName: string;
39
35
  runId: string;
40
36
  resourceId?: string;
41
37
  snapshot: WorkflowRunState;
38
+ createdAt?: Date;
39
+ updatedAt?: Date;
42
40
  }): Promise<void>;
43
41
  loadWorkflowSnapshot({ workflowName, runId, }: {
44
42
  workflowName: string;
@@ -48,13 +46,10 @@ export declare class WorkflowsLibSQL extends WorkflowsStorage {
48
46
  runId: string;
49
47
  workflowName?: string;
50
48
  }): Promise<WorkflowRun | null>;
51
- getWorkflowRuns({ workflowName, fromDate, toDate, limit, offset, resourceId, }?: {
52
- workflowName?: string;
53
- fromDate?: Date;
54
- toDate?: Date;
55
- limit?: number;
56
- offset?: number;
57
- resourceId?: string;
58
- }): Promise<WorkflowRuns>;
49
+ deleteWorkflowRunById({ runId, workflowName }: {
50
+ runId: string;
51
+ workflowName: string;
52
+ }): Promise<void>;
53
+ listWorkflowRuns({ workflowName, fromDate, toDate, page, perPage, resourceId, status, }?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
59
54
  }
60
55
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { WorkspacesStorage } from '@mastra/core/storage';
2
+ import type { StorageWorkspaceType, StorageCreateWorkspaceInput, StorageUpdateWorkspaceInput, StorageListWorkspacesInput, StorageListWorkspacesOutput } from '@mastra/core/storage';
3
+ import type { WorkspaceVersion, CreateWorkspaceVersionInput, ListWorkspaceVersionsInput, ListWorkspaceVersionsOutput } from '@mastra/core/storage/domains/workspaces';
4
+ import type { LibSQLDomainConfig } from '../../db/index.js';
5
+ export declare class WorkspacesLibSQL extends WorkspacesStorage {
6
+ #private;
7
+ constructor(config: LibSQLDomainConfig);
8
+ init(): Promise<void>;
9
+ dangerouslyClearAll(): Promise<void>;
10
+ getById(id: string): Promise<StorageWorkspaceType | null>;
11
+ create(input: {
12
+ workspace: StorageCreateWorkspaceInput;
13
+ }): Promise<StorageWorkspaceType>;
14
+ update(input: StorageUpdateWorkspaceInput): Promise<StorageWorkspaceType>;
15
+ delete(id: string): Promise<void>;
16
+ list(args?: StorageListWorkspacesInput): Promise<StorageListWorkspacesOutput>;
17
+ createVersion(input: CreateWorkspaceVersionInput): Promise<WorkspaceVersion>;
18
+ getVersion(id: string): Promise<WorkspaceVersion | null>;
19
+ getVersionByNumber(workspaceId: string, versionNumber: number): Promise<WorkspaceVersion | null>;
20
+ getLatestVersion(workspaceId: string): Promise<WorkspaceVersion | null>;
21
+ listVersions(input: ListWorkspaceVersionsInput): Promise<ListWorkspaceVersionsOutput>;
22
+ deleteVersion(id: string): Promise<void>;
23
+ deleteVersionsByParentId(entityId: string): Promise<void>;
24
+ countVersions(workspaceId: string): Promise<number>;
25
+ }
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workspaces/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAQlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAmBnD,qBAAa,gBAAiB,SAAQ,iBAAiB;;gBAIzC,MAAM,EAAE,kBAAkB;IAOhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAqBzD,MAAM,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,2BAA2B,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2DxF,MAAM,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+GzE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjC,IAAI,CAAC,IAAI,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAqF7E,aAAa,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+C5E,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBxD,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBhG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqBvE,YAAY,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAsDrF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgF1D"}
@@ -0,0 +1,28 @@
1
+ import { FactoryStorage } from '@mastra/core/storage';
2
+ import type { CollectionSchema, FactoryAuthDatabase, FactoryStorageOps, MastraCompositeStore, RetentionConfig } from '@mastra/core/storage';
3
+ export interface LibSQLFactoryStorageConfig {
4
+ /** libsql url, e.g. `file:./app.db`, `:memory:`, or a remote `libsql://` url. */
5
+ url: string;
6
+ authToken?: string;
7
+ /** Identifier for the wrapped agent-state store. @default 'libsql-factory' */
8
+ id?: string;
9
+ /** Retention config forwarded to the wrapped {@link LibSQLStore}. */
10
+ retention?: RetentionConfig;
11
+ }
12
+ /**
13
+ * LibSQL/Turso {@link FactoryStorage} backend: one libsql database powering
14
+ * agent state (via a wrapped {@link LibSQLStore}) and app-owned collections
15
+ * (via {@link FactoryStorageOps}), sharing a single client.
16
+ */
17
+ export declare class LibSQLFactoryStorage extends FactoryStorage {
18
+ #private;
19
+ readonly ops: FactoryStorageOps;
20
+ constructor(config: LibSQLFactoryStorageConfig);
21
+ getMastraStorage(): MastraCompositeStore;
22
+ protected initStorage(): Promise<void>;
23
+ withTransaction<T>(fn: (ops: FactoryStorageOps) => Promise<T>): Promise<T>;
24
+ ensureCollections(schemas: CollectionSchema[]): Promise<void>;
25
+ close(): Promise<void>;
26
+ authDatabase(): FactoryAuthDatabase;
27
+ }
28
+ //# sourceMappingURL=factory-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory-storage.d.ts","sourceRoot":"","sources":["../../src/storage/factory-storage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAGV,gBAAgB,EAGhB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,0BAA0B;IACzC,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AA+XD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;;IACtD,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;gBAOpB,MAAM,EAAE,0BAA0B;IAY9C,gBAAgB,IAAI,oBAAoB;cASxB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmB1E,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,YAAY,IAAI,mBAAmB;CA+FpC"}