@mastra/memory 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 (169) hide show
  1. package/CHANGELOG.md +4656 -3
  2. package/LICENSE.md +15 -0
  3. package/README.md +26 -1
  4. package/dist/_types/@internal_ai-sdk-v4/dist/index.d.ts +7450 -0
  5. package/dist/docs/SKILL.md +62 -0
  6. package/dist/docs/assets/SOURCE_MAP.json +11 -0
  7. package/dist/docs/references/docs-agents-agent-approval.md +664 -0
  8. package/dist/docs/references/docs-agents-networks.md +184 -0
  9. package/dist/docs/references/docs-capabilities-subagents.md +454 -0
  10. package/dist/docs/references/docs-evals-evals-with-memory.md +146 -0
  11. package/dist/docs/references/docs-long-running-agents-background-tasks.md +382 -0
  12. package/dist/docs/references/docs-long-running-agents-goals.md +118 -0
  13. package/dist/docs/references/docs-memory-memory-processors.md +385 -0
  14. package/dist/docs/references/docs-memory-message-history.md +348 -0
  15. package/dist/docs/references/docs-memory-multi-user-threads.md +208 -0
  16. package/dist/docs/references/docs-memory-observational-memory.md +835 -0
  17. package/dist/docs/references/docs-memory-overview.md +266 -0
  18. package/dist/docs/references/docs-memory-semantic-recall.md +401 -0
  19. package/dist/docs/references/docs-memory-working-memory.md +431 -0
  20. package/dist/docs/references/docs-storage-overview.md +214 -0
  21. package/dist/docs/references/reference-core-getMemory.md +51 -0
  22. package/dist/docs/references/reference-core-listMemory.md +57 -0
  23. package/dist/docs/references/reference-file-based-agents-memory.md +58 -0
  24. package/dist/docs/references/reference-memory-clone-utilities.md +203 -0
  25. package/dist/docs/references/reference-memory-cloneThread.md +173 -0
  26. package/dist/docs/references/reference-memory-createThread.md +70 -0
  27. package/dist/docs/references/reference-memory-getThreadById.md +26 -0
  28. package/dist/docs/references/reference-memory-listThreads.md +147 -0
  29. package/dist/docs/references/reference-memory-memory-class.md +148 -0
  30. package/dist/docs/references/reference-memory-observational-memory.md +877 -0
  31. package/dist/docs/references/reference-memory-summarizeConversation.md +99 -0
  32. package/dist/docs/references/reference-memory-summarizeThread.md +93 -0
  33. package/dist/docs/references/reference-processors-token-limiter-processor.md +158 -0
  34. package/dist/docs/references/reference-storage-dsql.md +430 -0
  35. package/dist/docs/references/reference-storage-dynamodb.md +284 -0
  36. package/dist/docs/references/reference-storage-libsql.md +143 -0
  37. package/dist/docs/references/reference-storage-mongodb.md +267 -0
  38. package/dist/docs/references/reference-storage-postgresql.md +531 -0
  39. package/dist/docs/references/reference-storage-redis.md +268 -0
  40. package/dist/docs/references/reference-storage-upstash.md +162 -0
  41. package/dist/docs/references/reference-vectors-libsql.md +307 -0
  42. package/dist/docs/references/reference-vectors-mongodb.md +567 -0
  43. package/dist/docs/references/reference-vectors-pg.md +430 -0
  44. package/dist/docs/references/reference-vectors-upstash.md +296 -0
  45. package/dist/index.cjs +35 -893
  46. package/dist/index.d.ts +465 -62
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -887
  49. package/dist/processors/index.cjs +32 -165
  50. package/dist/processors/index.d.ts +1 -2
  51. package/dist/processors/index.d.ts.map +1 -1
  52. package/dist/processors/index.js +2 -158
  53. package/dist/processors/observational-memory/activation-ttl.d.ts +4 -0
  54. package/dist/processors/observational-memory/activation-ttl.d.ts.map +1 -0
  55. package/dist/processors/observational-memory/anchor-ids.d.ts +4 -0
  56. package/dist/processors/observational-memory/anchor-ids.d.ts.map +1 -0
  57. package/dist/processors/observational-memory/buffering-coordinator.d.ts +61 -0
  58. package/dist/processors/observational-memory/buffering-coordinator.d.ts.map +1 -0
  59. package/dist/processors/observational-memory/built-in-extractors.d.ts +15 -0
  60. package/dist/processors/observational-memory/built-in-extractors.d.ts.map +1 -0
  61. package/dist/processors/observational-memory/constants.d.ts +74 -0
  62. package/dist/processors/observational-memory/constants.d.ts.map +1 -0
  63. package/dist/processors/observational-memory/date-utils.d.ts +41 -0
  64. package/dist/processors/observational-memory/date-utils.d.ts.map +1 -0
  65. package/dist/processors/observational-memory/debug.d.ts +3 -0
  66. package/dist/processors/observational-memory/debug.d.ts.map +1 -0
  67. package/dist/processors/observational-memory/extracted-values.d.ts +44 -0
  68. package/dist/processors/observational-memory/extracted-values.d.ts.map +1 -0
  69. package/dist/processors/observational-memory/extraction-runner.d.ts +22 -0
  70. package/dist/processors/observational-memory/extraction-runner.d.ts.map +1 -0
  71. package/dist/processors/observational-memory/extractor.d.ts +76 -0
  72. package/dist/processors/observational-memory/extractor.d.ts.map +1 -0
  73. package/dist/processors/observational-memory/index.d.ts +30 -0
  74. package/dist/processors/observational-memory/index.d.ts.map +1 -0
  75. package/dist/processors/observational-memory/internal-request-context.d.ts +17 -0
  76. package/dist/processors/observational-memory/internal-request-context.d.ts.map +1 -0
  77. package/dist/processors/observational-memory/markers.d.ts +118 -0
  78. package/dist/processors/observational-memory/markers.d.ts.map +1 -0
  79. package/dist/processors/observational-memory/message-utils.d.ts +83 -0
  80. package/dist/processors/observational-memory/message-utils.d.ts.map +1 -0
  81. package/dist/processors/observational-memory/model-by-input-tokens.d.ts +14 -0
  82. package/dist/processors/observational-memory/model-by-input-tokens.d.ts.map +1 -0
  83. package/dist/processors/observational-memory/model-context.d.ts +2 -0
  84. package/dist/processors/observational-memory/model-context.d.ts.map +1 -0
  85. package/dist/processors/observational-memory/observation-groups.d.ts +15 -0
  86. package/dist/processors/observational-memory/observation-groups.d.ts.map +1 -0
  87. package/dist/processors/observational-memory/observation-strategies/async-buffer.d.ts +39 -0
  88. package/dist/processors/observational-memory/observation-strategies/async-buffer.d.ts.map +1 -0
  89. package/dist/processors/observational-memory/observation-strategies/base.d.ts +122 -0
  90. package/dist/processors/observational-memory/observation-strategies/base.d.ts.map +1 -0
  91. package/dist/processors/observational-memory/observation-strategies/index.d.ts +7 -0
  92. package/dist/processors/observational-memory/observation-strategies/index.d.ts.map +1 -0
  93. package/dist/processors/observational-memory/observation-strategies/resource-scoped.d.ts +43 -0
  94. package/dist/processors/observational-memory/observation-strategies/resource-scoped.d.ts.map +1 -0
  95. package/dist/processors/observational-memory/observation-strategies/sync.d.ts +41 -0
  96. package/dist/processors/observational-memory/observation-strategies/sync.d.ts.map +1 -0
  97. package/dist/processors/observational-memory/observation-strategies/types.d.ts +103 -0
  98. package/dist/processors/observational-memory/observation-strategies/types.d.ts.map +1 -0
  99. package/dist/processors/observational-memory/observation-turn/index.d.ts +4 -0
  100. package/dist/processors/observational-memory/observation-turn/index.d.ts.map +1 -0
  101. package/dist/processors/observational-memory/observation-turn/load-memory-context.d.ts +9 -0
  102. package/dist/processors/observational-memory/observation-turn/load-memory-context.d.ts.map +1 -0
  103. package/dist/processors/observational-memory/observation-turn/step.d.ts +53 -0
  104. package/dist/processors/observational-memory/observation-turn/step.d.ts.map +1 -0
  105. package/dist/processors/observational-memory/observation-turn/turn.d.ts +139 -0
  106. package/dist/processors/observational-memory/observation-turn/turn.d.ts.map +1 -0
  107. package/dist/processors/observational-memory/observation-turn/types.d.ts +46 -0
  108. package/dist/processors/observational-memory/observation-turn/types.d.ts.map +1 -0
  109. package/dist/processors/observational-memory/observation-utils.d.ts +16 -0
  110. package/dist/processors/observational-memory/observation-utils.d.ts.map +1 -0
  111. package/dist/processors/observational-memory/observational-memory.d.ts +930 -0
  112. package/dist/processors/observational-memory/observational-memory.d.ts.map +1 -0
  113. package/dist/processors/observational-memory/observer-agent.d.ts +190 -0
  114. package/dist/processors/observational-memory/observer-agent.d.ts.map +1 -0
  115. package/dist/processors/observational-memory/observer-runner.d.ts +141 -0
  116. package/dist/processors/observational-memory/observer-runner.d.ts.map +1 -0
  117. package/dist/processors/observational-memory/operation-registry.d.ts +14 -0
  118. package/dist/processors/observational-memory/operation-registry.d.ts.map +1 -0
  119. package/dist/processors/observational-memory/processor.d.ts +70 -0
  120. package/dist/processors/observational-memory/processor.d.ts.map +1 -0
  121. package/dist/processors/observational-memory/reflector-agent.d.ts +62 -0
  122. package/dist/processors/observational-memory/reflector-agent.d.ts.map +1 -0
  123. package/dist/processors/observational-memory/reflector-runner.d.ts +133 -0
  124. package/dist/processors/observational-memory/reflector-runner.d.ts.map +1 -0
  125. package/dist/processors/observational-memory/repro-capture.d.ts +33 -0
  126. package/dist/processors/observational-memory/repro-capture.d.ts.map +1 -0
  127. package/dist/processors/observational-memory/retry.d.ts +63 -0
  128. package/dist/processors/observational-memory/retry.d.ts.map +1 -0
  129. package/dist/processors/observational-memory/string-utils.d.ts +13 -0
  130. package/dist/processors/observational-memory/string-utils.d.ts.map +1 -0
  131. package/dist/processors/observational-memory/summarize.d.ts +92 -0
  132. package/dist/processors/observational-memory/summarize.d.ts.map +1 -0
  133. package/dist/processors/observational-memory/temporal-markers.d.ts +4 -0
  134. package/dist/processors/observational-memory/temporal-markers.d.ts.map +1 -0
  135. package/dist/processors/observational-memory/temporary-memory.d.ts +8 -0
  136. package/dist/processors/observational-memory/temporary-memory.d.ts.map +1 -0
  137. package/dist/processors/observational-memory/thresholds.d.ts +52 -0
  138. package/dist/processors/observational-memory/thresholds.d.ts.map +1 -0
  139. package/dist/processors/observational-memory/token-counter.d.ts +57 -0
  140. package/dist/processors/observational-memory/token-counter.d.ts.map +1 -0
  141. package/dist/processors/observational-memory/tool-result-helpers.d.ts +12 -0
  142. package/dist/processors/observational-memory/tool-result-helpers.d.ts.map +1 -0
  143. package/dist/processors/observational-memory/tracing.d.ts +17 -0
  144. package/dist/processors/observational-memory/tracing.d.ts.map +1 -0
  145. package/dist/processors/observational-memory/types.d.ts +997 -0
  146. package/dist/processors/observational-memory/types.d.ts.map +1 -0
  147. package/dist/processors/observational-memory/working-memory-extractor.d.ts +5 -0
  148. package/dist/processors/observational-memory/working-memory-extractor.d.ts.map +1 -0
  149. package/dist/processors/working-memory-state/index.d.ts +2 -0
  150. package/dist/processors/working-memory-state/index.d.ts.map +1 -0
  151. package/dist/processors/working-memory-state/processor.d.ts +53 -0
  152. package/dist/processors/working-memory-state/processor.d.ts.map +1 -0
  153. package/dist/src-C1tlhGeW.js +28559 -0
  154. package/dist/src-C1tlhGeW.js.map +1 -0
  155. package/dist/src-DqoifKIy.cjs +28813 -0
  156. package/dist/src-DqoifKIy.cjs.map +1 -0
  157. package/dist/tools/om-tools.d.ts +172 -0
  158. package/dist/tools/om-tools.d.ts.map +1 -0
  159. package/dist/tools/working-memory.d.ts +33 -28
  160. package/dist/tools/working-memory.d.ts.map +1 -1
  161. package/package.json +36 -28
  162. package/dist/index.cjs.map +0 -1
  163. package/dist/index.js.map +0 -1
  164. package/dist/processors/index.cjs.map +0 -1
  165. package/dist/processors/index.js.map +0 -1
  166. package/dist/processors/token-limiter.d.ts +0 -32
  167. package/dist/processors/token-limiter.d.ts.map +0 -1
  168. package/dist/processors/tool-call-filter.d.ts +0 -20
  169. package/dist/processors/tool-call-filter.d.ts.map +0 -1
@@ -0,0 +1,307 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # libSQL vector store
4
+
5
+ The libSQL storage implementation provides a SQLite-compatible vector search [libSQL](https://github.com/tursodatabase/libsql), a fork of SQLite with vector extensions, and [Turso](https://turso.tech/) with vector extensions, offering a lightweight and efficient vector database solution. It's part of the `@mastra/libsql` package and offers efficient vector similarity search with metadata filtering.
6
+
7
+ ## Installation
8
+
9
+ **npm**:
10
+
11
+ ```bash
12
+ npm install @mastra/libsql@latest
13
+ ```
14
+
15
+ **pnpm**:
16
+
17
+ ```bash
18
+ pnpm add @mastra/libsql@latest
19
+ ```
20
+
21
+ **Yarn**:
22
+
23
+ ```bash
24
+ yarn add @mastra/libsql@latest
25
+ ```
26
+
27
+ **Bun**:
28
+
29
+ ```bash
30
+ bun add @mastra/libsql@latest
31
+ ```
32
+
33
+ ## Usage
34
+
35
+ ```typescript
36
+ import { LibSQLVector } from "@mastra/libsql";
37
+
38
+ // Create a new vector store instance
39
+ const store = new LibSQLVector({
40
+ id: 'libsql-vector',
41
+ url: process.env.DATABASE_URL,
42
+ // Optional: for Turso cloud databases
43
+ authToken: process.env.DATABASE_AUTH_TOKEN,
44
+ });
45
+
46
+ // Create an index
47
+ await store.createIndex({
48
+ indexName: "myCollection",
49
+ dimension: 1536,
50
+ });
51
+
52
+ // Add vectors with metadata
53
+ const vectors = [[0.1, 0.2, ...], [0.3, 0.4, ...]];
54
+ const metadata = [
55
+ { text: "first document", category: "A" },
56
+ { text: "second document", category: "B" }
57
+ ];
58
+ await store.upsert({
59
+ indexName: "myCollection",
60
+ vectors,
61
+ metadata,
62
+ });
63
+
64
+ // Query similar vectors
65
+ const queryVector = [0.1, 0.2, ...];
66
+ const results = await store.query({
67
+ indexName: "myCollection",
68
+ queryVector,
69
+ topK: 10, // top K results
70
+ filter: { category: "A" } // optional metadata filter
71
+ });
72
+ ```
73
+
74
+ ## Constructor options
75
+
76
+ **url** (`string`): libSQL database URL. Use ':memory:' for in-memory database, 'file:dbname.db' for local file, or a libSQL-compatible connection string like 'libsql://your-database.turso.io'.
77
+
78
+ **authToken** (`string`): Authentication token for Turso cloud databases
79
+
80
+ **syncUrl** (`string`): URL for database replication (Turso specific)
81
+
82
+ **syncInterval** (`number`): Interval in milliseconds for database sync (Turso specific)
83
+
84
+ ## Methods
85
+
86
+ ### `createIndex()`
87
+
88
+ Creates a new vector collection. The index name must start with a letter or underscore and can only contain letters, numbers, and underscore characters. The dimension must be a positive integer.
89
+
90
+ **indexName** (`string`): Name of the index to create
91
+
92
+ **dimension** (`number`): Vector dimension size (must match your embedding model)
93
+
94
+ **metric** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search. Note: Currently only cosine similarity is supported by libSQL. (Default: `cosine`)
95
+
96
+ ### `upsert()`
97
+
98
+ Adds or updates vectors and their metadata in the index. Uses a transaction to ensure all vectors are inserted atomically - if any insert fails, the entire operation is rolled back.
99
+
100
+ **indexName** (`string`): Name of the index to insert into
101
+
102
+ **vectors** (`number[][]`): Array of embedding vectors
103
+
104
+ **metadata** (`Record<string, any>[]`): Metadata for each vector
105
+
106
+ **ids** (`string[]`): Optional vector IDs (auto-generated if not provided)
107
+
108
+ ### `query()`
109
+
110
+ Searches for similar vectors with optional metadata filtering.
111
+
112
+ **indexName** (`string`): Name of the index to search in
113
+
114
+ **queryVector** (`number[]`): Query vector to find similar vectors for
115
+
116
+ **topK** (`number`): Number of results to return (Default: `10`)
117
+
118
+ **filter** (`Filter`): Metadata filters
119
+
120
+ **includeVector** (`boolean`): Whether to include vector data in results (Default: `false`)
121
+
122
+ **minScore** (`number`): Minimum similarity score threshold (Default: `0`)
123
+
124
+ ### `describeIndex()`
125
+
126
+ Gets information about an index.
127
+
128
+ **indexName** (`string`): Name of the index to describe
129
+
130
+ Returns:
131
+
132
+ ```typescript
133
+ interface IndexStats {
134
+ dimension: number
135
+ count: number
136
+ metric: 'cosine' | 'euclidean' | 'dotproduct'
137
+ }
138
+ ```
139
+
140
+ ### `deleteIndex()`
141
+
142
+ Deletes an index and all its data.
143
+
144
+ **indexName** (`string`): Name of the index to delete
145
+
146
+ ### `listIndexes()`
147
+
148
+ Lists all vector indexes in the database.
149
+
150
+ Returns: `Promise<string[]>`
151
+
152
+ ### `truncateIndex()`
153
+
154
+ Removes all vectors from an index while keeping the index structure.
155
+
156
+ **indexName** (`string`): Name of the index to truncate
157
+
158
+ ### `updateVector()`
159
+
160
+ Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
161
+
162
+ **indexName** (`string`): Name of the index containing the vector
163
+
164
+ **id** (`string`): ID of the vector entry to update (mutually exclusive with filter)
165
+
166
+ **filter** (`Record<string, any>`): Metadata filter to identify vector(s) to update (mutually exclusive with id)
167
+
168
+ **update** (`object`): Update data containing vector and/or metadata
169
+
170
+ **update.vector** (`number[]`): New vector data to update
171
+
172
+ **update.metadata** (`Record<string, any>`): New metadata to update
173
+
174
+ ### `deleteVector()`
175
+
176
+ Deletes a specific vector entry from an index by its ID.
177
+
178
+ **indexName** (`string`): Name of the index containing the vector
179
+
180
+ **id** (`string`): ID of the vector entry to delete
181
+
182
+ ### `deleteVectors()`
183
+
184
+ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
185
+
186
+ **indexName** (`string`): Name of the index containing the vectors to delete
187
+
188
+ **ids** (`string[]`): Array of vector IDs to delete (mutually exclusive with filter)
189
+
190
+ **filter** (`Record<string, any>`): Metadata filter to identify vectors to delete (mutually exclusive with ids)
191
+
192
+ ## Response types
193
+
194
+ Query results are returned in this format:
195
+
196
+ ```typescript
197
+ interface QueryResult {
198
+ id: string
199
+ score: number
200
+ metadata: Record<string, any>
201
+ vector?: number[] // Only included if includeVector is true
202
+ }
203
+ ```
204
+
205
+ ## Error handling
206
+
207
+ The store throws specific errors for different failure cases:
208
+
209
+ ```typescript
210
+ try {
211
+ await store.query({
212
+ indexName: 'my-collection',
213
+ queryVector: queryVector,
214
+ })
215
+ } catch (error) {
216
+ // Handle specific error cases
217
+ if (error.message.includes('Invalid index name format')) {
218
+ console.error(
219
+ 'Index name must start with a letter/underscore and contain only alphanumeric characters',
220
+ )
221
+ } else if (error.message.includes('Table not found')) {
222
+ console.error('The specified index does not exist')
223
+ } else {
224
+ console.error('Vector store error:', error.message)
225
+ }
226
+ }
227
+ ```
228
+
229
+ Common error cases include:
230
+
231
+ - Invalid index name format
232
+ - Invalid vector dimensions
233
+ - Table/index not found
234
+ - Database connection issues
235
+ - Transaction failures during upsert
236
+
237
+ ## Usage example
238
+
239
+ ### Local embeddings with fastembed
240
+
241
+ Embeddings are numeric vectors used by memory's `semanticRecall` to retrieve related messages by meaning (not keywords). This setup uses `@mastra/fastembed` to generate vector embeddings.
242
+
243
+ Install `fastembed` to get started:
244
+
245
+ **npm**:
246
+
247
+ ```bash
248
+ npm install @mastra/fastembed@latest
249
+ ```
250
+
251
+ **pnpm**:
252
+
253
+ ```bash
254
+ pnpm add @mastra/fastembed@latest
255
+ ```
256
+
257
+ **Yarn**:
258
+
259
+ ```bash
260
+ yarn add @mastra/fastembed@latest
261
+ ```
262
+
263
+ **Bun**:
264
+
265
+ ```bash
266
+ bun add @mastra/fastembed@latest
267
+ ```
268
+
269
+ Add the following to your agent:
270
+
271
+ ```typescript
272
+ import { Memory } from '@mastra/memory'
273
+ import { Agent } from '@mastra/core/agent'
274
+ import { LibSQLStore, LibSQLVector } from '@mastra/libsql'
275
+ import { fastembed } from '@mastra/fastembed'
276
+
277
+ export const libsqlAgent = new Agent({
278
+ id: 'libsql-agent',
279
+ name: 'libSQL Agent',
280
+ instructions:
281
+ 'You are an AI agent with the ability to automatically recall memories from previous interactions.',
282
+ model: 'openai/gpt-5.6-sol',
283
+ memory: new Memory({
284
+ storage: new LibSQLStore({
285
+ id: 'libsql-agent-storage',
286
+ url: 'file:libsql-agent.db',
287
+ }),
288
+ vector: new LibSQLVector({
289
+ id: 'libsql-agent-vector',
290
+ url: 'file:libsql-agent.db',
291
+ }),
292
+ embedder: fastembed,
293
+ options: {
294
+ lastMessages: 10,
295
+ semanticRecall: {
296
+ topK: 3,
297
+ messageRange: 2,
298
+ },
299
+ generateTitle: true, // Explicitly enable automatic title generation
300
+ },
301
+ }),
302
+ })
303
+ ```
304
+
305
+ ## Related
306
+
307
+ - [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)