@mastra/dsql 1.3.0-alpha.1 → 1.3.0-alpha.3
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/dsql
|
|
2
2
|
|
|
3
|
+
## 1.3.0-alpha.3
|
|
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
|
+
## 1.3.0-alpha.2
|
|
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
|
## 1.3.0-alpha.1
|
|
4
34
|
|
|
5
35
|
### Patch Changes
|
package/dist/index.cjs
CHANGED
|
@@ -1821,6 +1821,7 @@ function inPlaceholders(count, startIndex = 1) {
|
|
|
1821
1821
|
return Array.from({ length: count }, (_, i) => `$${i + startIndex}`).join(", ");
|
|
1822
1822
|
}
|
|
1823
1823
|
var MemoryDSQL = class MemoryDSQL extends _mastra_core_storage.MemoryStorage {
|
|
1824
|
+
supportsPartialThreadUpdate = true;
|
|
1824
1825
|
#db;
|
|
1825
1826
|
#schema;
|
|
1826
1827
|
#skipDefaultIndexes;
|
|
@@ -2101,7 +2102,7 @@ var MemoryDSQL = class MemoryDSQL extends _mastra_core_storage.MemoryStorage {
|
|
|
2101
2102
|
text: `Thread ${id} not found`,
|
|
2102
2103
|
details: {
|
|
2103
2104
|
threadId: id,
|
|
2104
|
-
title
|
|
2105
|
+
title: title ?? null
|
|
2105
2106
|
}
|
|
2106
2107
|
});
|
|
2107
2108
|
const mergedMetadata = {
|
|
@@ -2111,14 +2112,14 @@ var MemoryDSQL = class MemoryDSQL extends _mastra_core_storage.MemoryStorage {
|
|
|
2111
2112
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
2112
2113
|
const thread = await this.#db.client.one(`UPDATE ${threadTableName}
|
|
2113
2114
|
SET
|
|
2114
|
-
title = $1,
|
|
2115
|
+
title = COALESCE($1, title),
|
|
2115
2116
|
metadata = $2,
|
|
2116
2117
|
"updatedAt" = $3::timestamp,
|
|
2117
2118
|
"updatedAtZ" = $4::timestamptz
|
|
2118
2119
|
WHERE id = $5
|
|
2119
2120
|
RETURNING *
|
|
2120
2121
|
`, [
|
|
2121
|
-
title,
|
|
2122
|
+
title ?? null,
|
|
2122
2123
|
JSON.stringify(mergedMetadata),
|
|
2123
2124
|
now,
|
|
2124
2125
|
now,
|
|
@@ -2142,7 +2143,7 @@ var MemoryDSQL = class MemoryDSQL extends _mastra_core_storage.MemoryStorage {
|
|
|
2142
2143
|
category: _mastra_core_error.ErrorCategory.THIRD_PARTY,
|
|
2143
2144
|
details: {
|
|
2144
2145
|
threadId: id,
|
|
2145
|
-
title
|
|
2146
|
+
title: title ?? null
|
|
2146
2147
|
}
|
|
2147
2148
|
}, error);
|
|
2148
2149
|
});
|