@mastra/upstash 1.3.1 → 1.4.0-alpha.0
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 +28 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/index.cjs +4 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -14
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @mastra/upstash
|
|
2
2
|
|
|
3
|
+
## 1.4.0-alpha.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Memory list reads now surface database errors instead of silently returning empty results. ([#17910](https://github.com/mastra-ai/mastra/pull/17910))
|
|
8
|
+
|
|
9
|
+
Previously, the paginated memory reads (`listThreads`, `listMessages`, `listMessagesByResourceId`, and `listMessagesById`) caught backend failures, logged them, and returned an empty payload like `{ threads: [], total: 0, hasMore: false }`. A transient outage (locked table, dropped connection) was therefore indistinguishable from a genuinely empty result, so an agent reading conversation history during a brief failure would treat it as "no history" and could overwrite real state. These methods now re-throw the failure as a `MastraError`. Validation (USER) errors and genuinely empty results are unchanged.
|
|
10
|
+
|
|
11
|
+
**Behavior change**
|
|
12
|
+
|
|
13
|
+
Callers that previously received an empty result on a backend failure will now receive a thrown `MastraError`. If you call these read methods directly (rather than through an agent, which already surfaces errors), wrap them so a transient outage doesn't crash the caller:
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
try {
|
|
17
|
+
const { threads } = await storage.listThreads({ resourceId });
|
|
18
|
+
// ...use threads
|
|
19
|
+
} catch (error) {
|
|
20
|
+
// a real backend failure. Decide whether to retry, surface, or degrade.
|
|
21
|
+
// An empty thread list no longer hides here; it only means "no threads".
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Updated dependencies [[`e7109ee`](https://github.com/mastra-ai/mastra/commit/e7109ee6f731bacc79c885906f3c7dca8d8f013a), [`772c0c8`](https://github.com/mastra-ai/mastra/commit/772c0c897cec383258de2e6178147f8014767c7b), [`578bf2e`](https://github.com/mastra-ai/mastra/commit/578bf2e6a88e9d5b8bf502204e15a95dfbb679ae), [`06b2d87`](https://github.com/mastra-ai/mastra/commit/06b2d87e63bcdd0ed59215c6789692b9b12de376), [`ac01d63`](https://github.com/mastra-ai/mastra/commit/ac01d6355974aec73fdb8781449ed12bac582094), [`8627c23`](https://github.com/mastra-ai/mastra/commit/8627c23d794485fb97d533fc2a7a8323bfec2225), [`a810a05`](https://github.com/mastra-ai/mastra/commit/a810a058f62ad407cfc1701e0be36ae91145d7cf), [`f8da216`](https://github.com/mastra-ai/mastra/commit/f8da21633e7eb0e31c9ce0fc30567870d19416d3), [`6104347`](https://github.com/mastra-ai/mastra/commit/61043473ba6bfd0a25156824e853e13165562e6c), [`45bfb88`](https://github.com/mastra-ai/mastra/commit/45bfb88fd52f1dd3be20e2a38905777c96499c90), [`e3b9307`](https://github.com/mastra-ai/mastra/commit/e3b9307098daefbfae2a52ae2ef51bc9fc701190), [`d6834c5`](https://github.com/mastra-ai/mastra/commit/d6834c5a7866b16734d23900163c2414ed70d791), [`c52d346`](https://github.com/mastra-ai/mastra/commit/c52d3462ec831a5d95926ecd3d3373f5928ad2e5), [`0023e79`](https://github.com/mastra-ai/mastra/commit/0023e7919431078280abd11c89d1edeae35fcc69), [`c2ad51e`](https://github.com/mastra-ai/mastra/commit/c2ad51e2467f901eecba8c9f4a45e22a50bd7c18), [`3dc97ea`](https://github.com/mastra-ai/mastra/commit/3dc97ea415fad353b48a13095fad1835933cc12a), [`3d01cd3`](https://github.com/mastra-ai/mastra/commit/3d01cd387321b6f9c5cac31d487c84bf51b19c78), [`7bf3086`](https://github.com/mastra-ai/mastra/commit/7bf308663f0115ca74ad20554ade740f06640859), [`a8dd139`](https://github.com/mastra-ai/mastra/commit/a8dd1391a9fe9a6632c25809ef236980afa9a020), [`e5786be`](https://github.com/mastra-ai/mastra/commit/e5786be02bb903073082bd9d6da880ebaacc343f), [`2093fbd`](https://github.com/mastra-ai/mastra/commit/2093fbd53bb744bae19ec89f6d73db9a66fbe8a7), [`e7a5da4`](https://github.com/mastra-ai/mastra/commit/e7a5da4ef8e4dd452d2f232961b4e682a85ffe43), [`7b4393d`](https://github.com/mastra-ai/mastra/commit/7b4393d557411fdcf07b0e30e5acaf7cc85154ae)]:
|
|
28
|
+
- @mastra/core@1.58.0-alpha.1
|
|
29
|
+
- @mastra/redis@1.4.0-alpha.0
|
|
30
|
+
|
|
3
31
|
## 1.3.1
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
package/dist/docs/SKILL.md
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -437,6 +437,7 @@ var StoreMemoryUpstash = class extends _mastra_core_storage.MemoryStorage {
|
|
|
437
437
|
hasMore: perPageInput === false ? false : end < total
|
|
438
438
|
};
|
|
439
439
|
} catch (error) {
|
|
440
|
+
if (error instanceof _mastra_core_error.MastraError && error.category === _mastra_core_error.ErrorCategory.USER) throw error;
|
|
440
441
|
const mastraError = new _mastra_core_error.MastraError({
|
|
441
442
|
id: (0, _mastra_core_storage.createStorageErrorId)("UPSTASH", "LIST_THREADS", "FAILED"),
|
|
442
443
|
domain: _mastra_core_error.ErrorDomain.STORAGE,
|
|
@@ -450,13 +451,7 @@ var StoreMemoryUpstash = class extends _mastra_core_storage.MemoryStorage {
|
|
|
450
451
|
}, error);
|
|
451
452
|
this.logger?.trackException(mastraError);
|
|
452
453
|
this.logger.error(mastraError.toString());
|
|
453
|
-
|
|
454
|
-
threads: [],
|
|
455
|
-
total: 0,
|
|
456
|
-
page,
|
|
457
|
-
perPage: perPageForResponse,
|
|
458
|
-
hasMore: false
|
|
459
|
-
};
|
|
454
|
+
throw mastraError;
|
|
460
455
|
}
|
|
461
456
|
}
|
|
462
457
|
async saveThread({ thread }) {
|
|
@@ -848,6 +843,7 @@ var StoreMemoryUpstash = class extends _mastra_core_storage.MemoryStorage {
|
|
|
848
843
|
hasMore
|
|
849
844
|
};
|
|
850
845
|
} catch (error) {
|
|
846
|
+
if (error instanceof _mastra_core_error.MastraError && error.category === _mastra_core_error.ErrorCategory.USER) throw error;
|
|
851
847
|
const mastraError = new _mastra_core_error.MastraError({
|
|
852
848
|
id: (0, _mastra_core_storage.createStorageErrorId)("UPSTASH", "LIST_MESSAGES", "FAILED"),
|
|
853
849
|
domain: _mastra_core_error.ErrorDomain.STORAGE,
|
|
@@ -859,13 +855,7 @@ var StoreMemoryUpstash = class extends _mastra_core_storage.MemoryStorage {
|
|
|
859
855
|
}, error);
|
|
860
856
|
this.logger.error(mastraError.toString());
|
|
861
857
|
this.logger?.trackException(mastraError);
|
|
862
|
-
|
|
863
|
-
messages: [],
|
|
864
|
-
total: 0,
|
|
865
|
-
page,
|
|
866
|
-
perPage: perPageForResponse,
|
|
867
|
-
hasMore: false
|
|
868
|
-
};
|
|
858
|
+
throw mastraError;
|
|
869
859
|
}
|
|
870
860
|
}
|
|
871
861
|
async getResourceById({ resourceId }) {
|