@mastra/oracledb 0.2.0-alpha.0 → 0.2.0-alpha.2

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @mastra/oracledb
2
2
 
3
+ ## 0.2.0-alpha.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Fixed a crash where updating a thread without a title (for example during observational memory buffering) could write a null title and violate the database's not-null constraint when running a newer @mastra/memory against an older storage package. Memory now checks whether the connected storage adapter supports partial thread updates and backfills the existing title for older adapters, so mixed-version deployments keep working. See #21041 for the original title-clobbering fix this makes backward compatible. ([#21257](https://github.com/mastra-ai/mastra/pull/21257))
8
+
9
+ - Storage adapters now declare support for partial thread updates, letting newer @mastra/memory preserve existing thread titles instead of overwriting them, while remaining safe against older versions. ([#21257](https://github.com/mastra-ai/mastra/pull/21257))
10
+
11
+ - Updated dependencies [[`dc4a25d`](https://github.com/mastra-ai/mastra/commit/dc4a25d41af4e2fe97a816070eaec6aa963ab53b), [`dc4a25d`](https://github.com/mastra-ai/mastra/commit/dc4a25d41af4e2fe97a816070eaec6aa963ab53b)]:
12
+ - @mastra/core@1.58.0-alpha.15
13
+
14
+ ## 0.2.0-alpha.1
15
+
16
+ ### Patch Changes
17
+
18
+ - Fixed generated thread titles being clobbered during a turn ([#21041](https://github.com/mastra-ai/mastra/pull/21041))
19
+
20
+ `updateThread` required both `title` and `metadata`, so callers that only needed to
21
+ change metadata (message persistence, working memory, observational memory, channel
22
+ subscriptions) had to read the thread and pass its title back. When title generation
23
+ finished between that read and the write, the freshly generated title was overwritten
24
+ with the stale one.
25
+
26
+ `title` and `metadata` are now independently optional: omitting one leaves that column
27
+ untouched. Callers that only change metadata no longer send a title, and message
28
+ persistence no longer rewrites a thread row it just read.
29
+
30
+ - Updated dependencies [[`1c75e32`](https://github.com/mastra-ai/mastra/commit/1c75e32f7fc0b9fb6f548b4407feaec8a1440212), [`c47165c`](https://github.com/mastra-ai/mastra/commit/c47165c983c87594c6952f1fd2fa51a90205034c), [`e08e789`](https://github.com/mastra-ai/mastra/commit/e08e789c1bf4cd2fe46363f7a4728536ceccc9bd), [`35cc901`](https://github.com/mastra-ai/mastra/commit/35cc90102cf834a84827acaf9eee0b6d6d1e2a3b), [`a8b4cf0`](https://github.com/mastra-ai/mastra/commit/a8b4cf02823cffebc4751a53337dfacf097c1ae1), [`f33264f`](https://github.com/mastra-ai/mastra/commit/f33264f517ae603279afd5c4251e2b40f6dd3618), [`689f2c4`](https://github.com/mastra-ai/mastra/commit/689f2c4b6c0835fe455702b01d21daa8abcd9331), [`eeae63e`](https://github.com/mastra-ai/mastra/commit/eeae63e7fbe8e1f237adc69bca6e2ac13c5ca907), [`4c186a0`](https://github.com/mastra-ai/mastra/commit/4c186a017275f45e6ed4c09de0f89550e2d09e8c), [`b0fa077`](https://github.com/mastra-ai/mastra/commit/b0fa077bcbc9b08551846fe372a0d3d15b71ed72)]:
31
+ - @mastra/core@1.58.0-alpha.8
32
+
3
33
  ## 0.2.0-alpha.0
4
34
 
5
35
  ### Minor Changes
@@ -3,7 +3,7 @@ name: mastra-oracledb
3
3
  description: Documentation for @mastra/oracledb. Use when working with @mastra/oracledb APIs, configuration, or implementation.
4
4
  metadata:
5
5
  package: "@mastra/oracledb"
6
- version: "0.2.0-alpha.0"
6
+ version: "0.2.0-alpha.2"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -21,16 +21,16 @@ Read the individual reference documents for detailed explanations and code examp
21
21
  - [Working memory](references/docs-memory-working-memory.md) - Learn how to configure working memory in Mastra to store persistent user data, preferences.
22
22
  - [Storage overview](references/docs-storage-overview.md) - Configure storage for Mastra to persist runtime state across agents, workflows, observability, evals, schedules, and memory.
23
23
 
24
- ### Guides
24
+ ### Integrations
25
25
 
26
- - [RAG (Retrieval-Augmented Generation) in Mastra](references/guides-rag-overview.md) - Overview of Retrieval-Augmented Generation (RAG) in Mastra, detailing its capabilities for enhancing LLM outputs with relevant context.
27
- - [Retrieval, semantic search, reranking](references/guides-rag-retrieval.md) - Guide on retrieval processes in Mastra's RAG systems, including semantic search, filtering, and re-ranking.
28
- - [Storing embeddings in a vector database](references/guides-rag-vector-databases.md) - Guide on vector storage options in Mastra, including embedded and dedicated vector databases for similarity search.
26
+ - [OracleDB](references/integrations-databases-oracledb.md) - Documentation for the Oracle Database storage provider in Mastra.
29
27
 
30
28
  ### Reference
31
29
 
32
30
  - [Reference: Metadata filters](references/reference-rag-metadata-filters.md) - Documentation for metadata filtering capabilities in Mastra, which allow for precise querying of vector search results across different vector stores.
33
- - [Reference: OracleDB storage](references/reference-storage-oracledb.md) - Documentation for the Oracle Database storage provider in Mastra.
31
+ - [RAG (Retrieval-Augmented Generation) in Mastra](references/reference-rag-overview.md) - Overview of Retrieval-Augmented Generation (RAG) in Mastra, detailing its capabilities for enhancing LLM outputs with relevant context.
32
+ - [Retrieval, semantic search, reranking](references/reference-rag-retrieval.md) - Guide on retrieval processes in Mastra's RAG systems, including semantic search, filtering, and re-ranking.
33
+ - [Storing embeddings in a vector database](references/reference-rag-vector-databases.md) - Guide on vector storage options in Mastra, including embedded and dedicated vector databases for similarity search.
34
34
  - [Reference: OracleDB vector store](references/reference-vectors-oracledb.md) - Documentation for the Oracle Database vector provider in Mastra.
35
35
 
36
36
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.0-alpha.0",
2
+ "version": "0.2.0-alpha.2",
3
3
  "package": "@mastra/oracledb",
4
4
  "exports": {},
5
5
  "modules": {}
@@ -92,7 +92,7 @@ See [configuration options](https://mastra.ai/reference/memory/observational-mem
92
92
  >
93
93
  > Observational memory still relies on stored conversation history. Sending the full history is redundant and can cause message ordering bugs when client-side timestamps conflict with stored timestamps.
94
94
  >
95
- > For an AI SDK example, see [Using Mastra Memory](https://mastra.ai/guides/build-your-ui/ai-sdk-ui).
95
+ > For an AI SDK example, see [Using Mastra Memory](https://mastra.ai/integrations/agentic-ui/ai-sdk-ui).
96
96
 
97
97
  > **Note:** OM currently only supports `@mastra/pg`, `@mastra/libsql`, `@mastra/mysql`, `@mastra/mongodb`, `@mastra/convex`, and `@mastra/oracledb` storage adapters. It uses background agents for managing memory. When no model is set, the default model is `google/gemini-2.5-flash`.
98
98
 
@@ -190,19 +190,20 @@ You can also route `observability` to a dedicated analytics backend. See the [ob
190
190
 
191
191
  Each provider page includes installation instructions, configuration parameters, and usage examples:
192
192
 
193
- - [libSQL](https://mastra.ai/reference/storage/libsql)
194
- - [PostgreSQL](https://mastra.ai/reference/storage/postgresql)
195
- - [MongoDB](https://mastra.ai/reference/storage/mongodb)
196
- - [OracleDB](https://mastra.ai/reference/storage/oracledb)
197
- - [Upstash](https://mastra.ai/reference/storage/upstash)
198
- - [Redis](https://mastra.ai/reference/storage/redis)
199
- - [Cloudflare D1](https://mastra.ai/reference/storage/cloudflare-d1)
200
- - [Cloudflare KV & Durable Objects](https://mastra.ai/reference/storage/cloudflare)
201
- - [Convex](https://mastra.ai/reference/storage/convex)
202
- - [DynamoDB](https://mastra.ai/reference/storage/dynamodb)
203
- - [LanceDB](https://mastra.ai/reference/storage/lance)
204
- - [Microsoft SQL Server](https://mastra.ai/reference/storage/mssql)
205
- - [Google Cloud Spanner](https://mastra.ai/reference/storage/spanner)
193
+ - [Cloudflare D1](https://mastra.ai/integrations/databases/cloudflare-d1)
194
+ - [Cloudflare KV & Durable Objects](https://mastra.ai/integrations/databases/cloudflare-kv)
195
+ - [Convex](https://mastra.ai/integrations/databases/convex)
196
+ - [DynamoDB](https://mastra.ai/integrations/databases/dynamodb)
197
+ - [Google Cloud Spanner](https://mastra.ai/integrations/databases/spanner)
198
+ - [LanceDB](https://mastra.ai/integrations/databases/lancedb)
199
+ - [libSQL](https://mastra.ai/integrations/databases/libsql)
200
+ - [Microsoft SQL Server](https://mastra.ai/integrations/databases/mssql)
201
+ - [MongoDB](https://mastra.ai/integrations/databases/mongodb)
202
+ - [Neon Postgres](https://mastra.ai/integrations/databases/neon)
203
+ - [OracleDB](https://mastra.ai/integrations/databases/oracledb)
204
+ - [PostgreSQL](https://mastra.ai/integrations/databases/postgresql)
205
+ - [Redis](https://mastra.ai/integrations/databases/redis)
206
+ - [Upstash](https://mastra.ai/integrations/databases/upstash)
206
207
 
207
208
  > **Tip:** libSQL is the fastest path for local development because it doesn't require running a separate database server.
208
209
 
@@ -1,6 +1,6 @@
1
1
  > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
2
 
3
- # OracleDB storage
3
+ # OracleDB
4
4
 
5
5
  The OracleDB storage provider stores Mastra application state in Oracle Database. It implements Mastra's composite storage interface, so one `OracleStore` instance can back memory, workflow snapshots, observability, scores, scorer definitions, MCP client metadata, and agent registry data.
6
6
 
@@ -63,11 +63,11 @@ This example shows the essentials. Initialize a document and create chunks, then
63
63
 
64
64
  ## Document processing
65
65
 
66
- The basic building block of RAG is document processing. Documents can be chunked using strategies (recursive, sliding window, etc.) and enriched with metadata. See the [chunking and embedding doc](https://mastra.ai/guides/rag/chunking-and-embedding).
66
+ The basic building block of RAG is document processing. Documents can be chunked using strategies (recursive, sliding window, etc.) and enriched with metadata. See the [chunking and embedding doc](https://mastra.ai/reference/rag/chunking-and-embedding).
67
67
 
68
68
  ## Vector storage
69
69
 
70
- Mastra supports multiple vector stores for embedding persistence and similarity search, including pgvector, OracleDB, Pinecone, Qdrant, and MongoDB. See the [vector database doc](https://mastra.ai/guides/rag/vector-databases).
70
+ Mastra supports multiple vector stores for embedding persistence and similarity search, including pgvector, OracleDB, Pinecone, Qdrant, and MongoDB. See the [vector database doc](https://mastra.ai/reference/rag/vector-databases).
71
71
 
72
72
  ## More resources
73
73
 
@@ -534,4 +534,4 @@ The re-ranked results combine vector similarity with semantic understanding to i
534
534
 
535
535
  For more details about re-ranking, see the [rerank()](https://mastra.ai/reference/rag/rerankWithScorer) method.
536
536
 
537
- For graph-based retrieval that follows connections between chunks, see the [GraphRAG](https://mastra.ai/guides/rag/graph-rag) documentation.
537
+ For graph-based retrieval that follows connections between chunks, see the [GraphRAG](https://mastra.ai/reference/rag/graph-rag-guide) documentation.
@@ -407,7 +407,7 @@ await store.createIndex({
407
407
 
408
408
  The dimension size must match the output dimension of your chosen embedding model. Common dimension sizes are:
409
409
 
410
- - `OpenAI text-embedding-3-small`: 1536 dimensions (or custom, e.g., 256)
410
+ - OpenAI `text-embedding-3-small`: 1536 dimensions (or custom, e.g., 256)
411
411
  - `Cohere embed-multilingual-v3`: 1024 dimensions
412
412
  - `VoyageAI voyage-3.5`: 1024 dimensions (or custom: 256, 512, 1024, 2048)
413
413
  - `Google gemini-embedding-001`: 768 dimensions (or custom)
@@ -342,6 +342,6 @@ export const oracleAgent = new Agent({
342
342
 
343
343
  ## Related
344
344
 
345
- - [OracleDB storage](https://mastra.ai/reference/storage/oracledb)
345
+ - [OracleDB storage](https://mastra.ai/integrations/databases/oracledb)
346
346
  - [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
347
- - [Vector databases](https://mastra.ai/guides/rag/vector-databases)
347
+ - [Vector databases](https://mastra.ai/reference/rag/vector-databases)
package/dist/index.cjs CHANGED
@@ -6008,7 +6008,7 @@ async function updateThread(ctx, {
6008
6008
  await ctx.db.none(
6009
6009
  `
6010
6010
  UPDATE ${table(ctx, storage.TABLE_THREADS)}
6011
- SET title = :title,
6011
+ SET title = COALESCE(:title, title),
6012
6012
  metadata = :metadata,
6013
6013
  ${THREAD_UPDATED_AT} = :updatedAt
6014
6014
  WHERE id = :id`,
@@ -6138,6 +6138,7 @@ function threadOrderColumn(field) {
6138
6138
  var DEFAULT_MESSAGE_SAVE_BATCH_SIZE = 200;
6139
6139
  var DEFAULT_VECTOR_REGISTRY_TABLE = "MASTRA_VECTOR_INDEXES";
6140
6140
  var MemoryOracle = class _MemoryOracle extends storage.MemoryStorage {
6141
+ supportsPartialThreadUpdate = true;
6141
6142
  supportsObservationalMemory = true;
6142
6143
  // Memory owns all tables needed for normal message history plus observational memory state.
6143
6144
  static MANAGED_TABLES = [