@mastra/libsql 1.21.1 → 1.22.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/docs/SKILL.md +1 -1
  3. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  4. package/dist/docs/references/docs-deployment-workers.md +2 -2
  5. package/dist/docs/references/docs-storage.md +1 -0
  6. package/dist/docs/references/reference-core-mastra-class.md +1 -1
  7. package/dist/index.cjs +12 -3
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.js +12 -3
  10. package/dist/index.js.map +1 -1
  11. package/dist/storage/db/client.d.ts +31 -0
  12. package/dist/storage/db/client.d.ts.map +1 -0
  13. package/dist/storage/db/index.d.ts +1 -1
  14. package/dist/storage/db/index.d.ts.map +1 -1
  15. package/dist/storage/db/utils.d.ts +1 -1
  16. package/dist/storage/db/utils.d.ts.map +1 -1
  17. package/dist/storage/db/write-lock.d.ts +2 -2
  18. package/dist/storage/db/write-lock.d.ts.map +1 -1
  19. package/dist/storage/domains/agents/index.d.ts.map +1 -1
  20. package/dist/storage/domains/background-tasks/index.d.ts.map +1 -1
  21. package/dist/storage/domains/blobs/index.d.ts.map +1 -1
  22. package/dist/storage/domains/channels/index.d.ts.map +1 -1
  23. package/dist/storage/domains/datasets/index.d.ts.map +1 -1
  24. package/dist/storage/domains/experiments/index.d.ts.map +1 -1
  25. package/dist/storage/domains/favorites/index.d.ts.map +1 -1
  26. package/dist/storage/domains/knowledge/index.d.ts.map +1 -1
  27. package/dist/storage/domains/mcp-clients/index.d.ts.map +1 -1
  28. package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -1
  29. package/dist/storage/domains/memory/index.d.ts.map +1 -1
  30. package/dist/storage/domains/notifications/index.d.ts.map +1 -1
  31. package/dist/storage/domains/prompt-blocks/index.d.ts.map +1 -1
  32. package/dist/storage/domains/schedules/index.d.ts.map +1 -1
  33. package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -1
  34. package/dist/storage/domains/scores/index.d.ts.map +1 -1
  35. package/dist/storage/domains/skills/index.d.ts.map +1 -1
  36. package/dist/storage/domains/thread-state/index.d.ts.map +1 -1
  37. package/dist/storage/domains/tool-provider-connections/index.d.ts.map +1 -1
  38. package/dist/storage/domains/utils.d.ts +1 -1
  39. package/dist/storage/domains/utils.d.ts.map +1 -1
  40. package/dist/storage/domains/workflow-definitions/index.d.ts.map +1 -1
  41. package/dist/storage/domains/workflows/index.d.ts.map +1 -1
  42. package/dist/storage/domains/workspaces/index.d.ts.map +1 -1
  43. package/dist/storage/factory-storage.d.ts.map +1 -1
  44. package/dist/storage/index.d.ts +2 -1
  45. package/dist/storage/index.d.ts.map +1 -1
  46. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # @mastra/libsql
2
2
 
3
+ ## 1.22.0-alpha.1
4
+
5
+ ### Minor Changes
6
+
7
+ - Added a reusable SQLite client contract so storage adapters can use compatible SQLite drivers. ([#22181](https://github.com/mastra-ai/mastra/pull/22181))
8
+
9
+ ```typescript
10
+ import type { SqliteClient } from '@mastra/libsql';
11
+
12
+ const client: SqliteClient = createCompatibleSqliteClient();
13
+ ```
14
+
15
+ ### Patch Changes
16
+
17
+ - Added native Turso Database file storage for Mastra agents, workflows, memory, and other storage domains. ([#22181](https://github.com/mastra-ai/mastra/pull/22181))
18
+
19
+ ```typescript
20
+ import { TursoStore } from '@mastra/turso';
21
+
22
+ const storage = new TursoStore({
23
+ id: 'local-storage',
24
+ path: './mastra.db',
25
+ });
26
+ ```
27
+
28
+ - Updated dependencies [[`ae8790c`](https://github.com/mastra-ai/mastra/commit/ae8790c4bfaa088d2ab279d1dcc06f326b9fd109), [`04a815f`](https://github.com/mastra-ai/mastra/commit/04a815fc8971d29e97fcdcc5008a1eb472fc00ff), [`cced745`](https://github.com/mastra-ai/mastra/commit/cced745a056ec2225c5bc702e32d848847aa8b65)]:
29
+ - @mastra/core@1.62.0-alpha.7
30
+
31
+ ## 1.22.0-alpha.0
32
+
33
+ ### Minor Changes
34
+
35
+ - Added native application collection counts so totals no longer load matching rows. ([#22021](https://github.com/mastra-ai/mastra/pull/22021))
36
+
37
+ **Before**
38
+
39
+ ```ts
40
+ const total = (await storage.ops.findMany('jobs', { status: 'failed' })).length;
41
+ ```
42
+
43
+ **After**
44
+
45
+ ```ts
46
+ const total = await storage.ops.count?.('jobs', { status: 'failed' });
47
+ ```
48
+
49
+ ### Patch Changes
50
+
51
+ - Workflow snapshot upserts no longer overwrite a previously stored `resourceId` with NULL when a run is re-persisted without one (for example during resume). ([#22105](https://github.com/mastra-ai/mastra/pull/22105))
52
+
53
+ - Updated dependencies [[`2c85f42`](https://github.com/mastra-ai/mastra/commit/2c85f428e04ccd63ea31a7ec80b5b327afdad555), [`11bbeb9`](https://github.com/mastra-ai/mastra/commit/11bbeb9b108ef2264e05acefc6dafb9cbb342921), [`1a485f3`](https://github.com/mastra-ai/mastra/commit/1a485f3538f5ec64d58bd8b5e1e99de0c695c87b), [`0d37487`](https://github.com/mastra-ai/mastra/commit/0d37487d9f349388a3f1cef6a536cf9dcc4b6273), [`8661d7d`](https://github.com/mastra-ai/mastra/commit/8661d7d7179f0a024456aabdd8679bcecd09ac28), [`575e343`](https://github.com/mastra-ai/mastra/commit/575e343900451021d96110916497d334af7bc252), [`cacb839`](https://github.com/mastra-ai/mastra/commit/cacb8392d9e74189b56d857290b0615f98a2683d), [`b47b26e`](https://github.com/mastra-ai/mastra/commit/b47b26e6fe95cb8a3482be2c5e52de157fe59d0b), [`0d37487`](https://github.com/mastra-ai/mastra/commit/0d37487d9f349388a3f1cef6a536cf9dcc4b6273), [`c46eb09`](https://github.com/mastra-ai/mastra/commit/c46eb09ce4987509af57a0ac582c61241a6dd2f1), [`30ed33e`](https://github.com/mastra-ai/mastra/commit/30ed33ee14084a26019aba15fceadda6d6ddefaf), [`91ad69d`](https://github.com/mastra-ai/mastra/commit/91ad69d64994c89199b0c55399e64ed91c61df2f), [`8dc408d`](https://github.com/mastra-ai/mastra/commit/8dc408d34438f9e13297f792c11a5cfd6cf952e1), [`c92def1`](https://github.com/mastra-ai/mastra/commit/c92def10a13c822972c96f0a4ca6ffc1f4258aed), [`c5eaec5`](https://github.com/mastra-ai/mastra/commit/c5eaec5a860d80d0e3805e67db0414b87ac8cbed), [`e66b2ba`](https://github.com/mastra-ai/mastra/commit/e66b2ba100db63eaeab6e21e1ea34b113f2ec781)]:
54
+ - @mastra/core@1.62.0-alpha.3
55
+
3
56
  ## 1.21.1
4
57
 
5
58
  ### Patch Changes
@@ -3,7 +3,7 @@ name: mastra-libsql
3
3
  description: Documentation for @mastra/libsql. Use when working with @mastra/libsql APIs, configuration, or implementation.
4
4
  metadata:
5
5
  package: "@mastra/libsql"
6
- version: "1.21.1"
6
+ version: "1.22.0-alpha.1"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.21.1",
2
+ "version": "1.22.0-alpha.1",
3
3
  "package": "@mastra/libsql",
4
4
  "exports": {},
5
5
  "modules": {}
@@ -29,7 +29,7 @@ Subscribes to workflow events on the [PubSub](https://mastra.ai/docs/server/pubs
29
29
 
30
30
  In a split deployment, the orchestration worker pulls events from a distributed PubSub backend and delegates step execution back to the API over HTTP. In-process, it runs steps directly.
31
31
 
32
- The orchestration worker requires a PubSub backend that supports pull mode (e.g., [`RedisStreamsPubSub`](https://mastra.ai/reference/pubsub/redis-streams) or [`GoogleCloudPubSub`](https://mastra.ai/reference/pubsub/google-cloud-pubsub)).
32
+ The orchestration worker requires a PubSub backend that supports pull mode (e.g., [`RedisStreamsPubSub`](https://mastra.ai/reference/pubsub/redis-streams), [`ValkeyStreamsPubSub`](https://mastra.ai/reference/pubsub/valkey-streams), or [`GoogleCloudPubSub`](https://mastra.ai/reference/pubsub/google-cloud-pubsub)).
33
33
 
34
34
  ### Scheduler worker
35
35
 
@@ -104,7 +104,7 @@ Any [supported storage backend](https://mastra.ai/reference/workers/overview) wo
104
104
 
105
105
  Run the same build artifact in multiple containers, each with a different [`MASTRA_WORKERS`](https://mastra.ai/reference/workers/overview) value to control which worker starts in each process.
106
106
 
107
- Split deployments require a distributed PubSub backend ([`RedisStreamsPubSub`](https://mastra.ai/reference/pubsub/redis-streams) or [`GoogleCloudPubSub`](https://mastra.ai/reference/pubsub/google-cloud-pubsub)), a shared [storage backend](https://mastra.ai/reference/workers/overview), and network connectivity between the orchestration worker and the API.
107
+ Split deployments require a distributed PubSub backend ([`RedisStreamsPubSub`](https://mastra.ai/reference/pubsub/redis-streams), [`ValkeyStreamsPubSub`](https://mastra.ai/reference/pubsub/valkey-streams), or [`GoogleCloudPubSub`](https://mastra.ai/reference/pubsub/google-cloud-pubsub)), a shared [storage backend](https://mastra.ai/reference/workers/overview), and network connectivity between the orchestration worker and the API.
108
108
 
109
109
  ### Select workers
110
110
 
@@ -207,6 +207,7 @@ Each provider page includes installation instructions, configuration parameters,
207
207
  - [OracleDB](https://mastra.ai/integrations/databases/oracledb)
208
208
  - [PostgreSQL](https://mastra.ai/integrations/databases/postgresql)
209
209
  - [Redis](https://mastra.ai/integrations/databases/redis)
210
+ - [Valkey](https://mastra.ai/integrations/databases/valkey)
210
211
  - [Upstash](https://mastra.ai/integrations/databases/upstash)
211
212
 
212
213
  ## Next steps
@@ -79,7 +79,7 @@ Visit the [Configuration reference](https://mastra.ai/reference/configuration) f
79
79
 
80
80
  **bundler** (`BundlerConfig`): Configuration for the asset bundler with options for externals, sourcemap, transpilePackages, and dynamicPackages. (Default: `{ externals: [], sourcemap: false, transpilePackages: [], dynamicPackages: [] }`)
81
81
 
82
- **scorers** (`Record<string, Scorer>`): Scorers for evaluating agent responses and workflow outputs (Default: `{}`)
82
+ **scorers** (`Record<string, Scorer>`): Scorers for evaluating agent responses and workflow outputs. Registration also makes a scorer resolvable by ID, which is required to persist its scores. See Score persistence (Default: `{}`)
83
83
 
84
84
  **processors** (`Record<string, Processor>`): Input/output processors for transforming agent inputs and outputs (Default: `{}`)
85
85
 
package/dist/index.cjs CHANGED
@@ -13055,7 +13055,7 @@ var WorkflowsLibSQL = class WorkflowsLibSQL extends _mastra_core_storage.Workflo
13055
13055
  sql: `INSERT INTO ${_mastra_core_storage.TABLE_WORKFLOW_SNAPSHOT} (workflow_name, run_id, resourceId, snapshot, createdAt, updatedAt)
13056
13056
  VALUES (?, ?, ?, jsonb(?), ?, ?)
13057
13057
  ON CONFLICT(workflow_name, run_id)
13058
- DO UPDATE SET resourceId = excluded.resourceId, snapshot = excluded.snapshot, updatedAt = excluded.updatedAt`,
13058
+ DO UPDATE SET resourceId = COALESCE(excluded.resourceId, ${_mastra_core_storage.TABLE_WORKFLOW_SNAPSHOT}.resourceId), snapshot = excluded.snapshot, updatedAt = excluded.updatedAt`,
13059
13059
  args: [
13060
13060
  workflowName,
13061
13061
  runId,
@@ -13855,6 +13855,15 @@ var LibSQLFactoryStorageOps = class {
13855
13855
  async findMany(collection, where, opts) {
13856
13856
  return this.#select(collection, where, opts);
13857
13857
  }
13858
+ async count(collection, where) {
13859
+ const schema = this.#schema(collection);
13860
+ const filter = this.#buildWhere(schema, where);
13861
+ const result = await this.#client.execute({
13862
+ sql: `SELECT COUNT(*) AS count FROM "${schema.name}" WHERE ${filter.sql}`,
13863
+ args: filter.args
13864
+ });
13865
+ return Number(result.rows[0]?.count ?? 0);
13866
+ }
13858
13867
  async #insertOne(collection, row) {
13859
13868
  const schema = this.#schema(collection);
13860
13869
  const pk = primaryKeyOf(schema);
@@ -14004,7 +14013,7 @@ var LibSQLFactoryStorage = class extends _mastra_core_storage.FactoryStorage {
14004
14013
  });
14005
14014
  }
14006
14015
  async close() {
14007
- this.#client.close();
14016
+ await this.#client.close();
14008
14017
  }
14009
14018
  authDatabase() {
14010
14019
  return {
@@ -14251,7 +14260,7 @@ var LibSQLStore = class extends _mastra_core_storage.MastraCompositeStore {
14251
14260
  * Safe to call more than once; subsequent calls are no-ops.
14252
14261
  */
14253
14262
  async close() {
14254
- if (!this.client.closed) this.client.close();
14263
+ if (!this.client.closed) await this.client.close();
14255
14264
  }
14256
14265
  };
14257
14266
  //#endregion