@mastra/dynamodb 1.2.2 → 1.3.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 CHANGED
@@ -1,5 +1,35 @@
1
1
  # @mastra/dynamodb
2
2
 
3
+ ## 1.3.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
+ - dependencies updates: ([#20406](https://github.com/mastra-ai/mastra/pull/20406))
28
+ - Updated dependency [`@aws-sdk/client-dynamodb@^3.1095.0` ↗︎](https://www.npmjs.com/package/@aws-sdk/client-dynamodb/v/3.1095.0) (from `^3.1058.0`, in `dependencies`)
29
+ - Updated dependency [`@aws-sdk/lib-dynamodb@^3.1095.0` ↗︎](https://www.npmjs.com/package/@aws-sdk/lib-dynamodb/v/3.1095.0) (from `^3.1058.0`, in `dependencies`)
30
+ - 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), [`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)]:
31
+ - @mastra/core@1.58.0-alpha.1
32
+
3
33
  ## 1.2.2
4
34
 
5
35
  ### Patch Changes
@@ -3,7 +3,7 @@ name: mastra-dynamodb
3
3
  description: Documentation for @mastra/dynamodb. Use when working with @mastra/dynamodb APIs, configuration, or implementation.
4
4
  metadata:
5
5
  package: "@mastra/dynamodb"
6
- version: "1.2.2"
6
+ version: "1.3.0-alpha.0"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.2.2",
2
+ "version": "1.3.0-alpha.0",
3
3
  "package": "@mastra/dynamodb",
4
4
  "exports": {},
5
5
  "modules": {}
package/dist/index.cjs CHANGED
@@ -1853,6 +1853,7 @@ var MemoryStorageDynamoDB = class extends _mastra_core_storage.MemoryStorage {
1853
1853
  hasMore
1854
1854
  };
1855
1855
  } catch (error) {
1856
+ if (error instanceof _mastra_core_error.MastraError && error.category === _mastra_core_error.ErrorCategory.USER) throw error;
1856
1857
  const mastraError = new _mastra_core_error.MastraError({
1857
1858
  id: (0, _mastra_core_storage.createStorageErrorId)("DYNAMODB", "LIST_MESSAGES", "FAILED"),
1858
1859
  domain: _mastra_core_error.ErrorDomain.STORAGE,
@@ -1864,13 +1865,7 @@ var MemoryStorageDynamoDB = class extends _mastra_core_storage.MemoryStorage {
1864
1865
  }, error);
1865
1866
  this.logger?.error?.(mastraError.toString());
1866
1867
  this.logger?.trackException?.(mastraError);
1867
- return {
1868
- messages: [],
1869
- total: 0,
1870
- page,
1871
- perPage: perPageForResponse,
1872
- hasMore: false
1873
- };
1868
+ throw mastraError;
1874
1869
  }
1875
1870
  }
1876
1871
  async saveMessages(args) {
@@ -1990,7 +1985,8 @@ var MemoryStorageDynamoDB = class extends _mastra_core_storage.MemoryStorage {
1990
1985
  hasMore: offset + perPage < total
1991
1986
  };
1992
1987
  } catch (error) {
1993
- throw new _mastra_core_error.MastraError({
1988
+ if (error instanceof _mastra_core_error.MastraError && error.category === _mastra_core_error.ErrorCategory.USER) throw error;
1989
+ const mastraError = new _mastra_core_error.MastraError({
1994
1990
  id: (0, _mastra_core_storage.createStorageErrorId)("DYNAMODB", "LIST_THREADS", "FAILED"),
1995
1991
  domain: _mastra_core_error.ErrorDomain.STORAGE,
1996
1992
  category: _mastra_core_error.ErrorCategory.THIRD_PARTY,
@@ -2001,6 +1997,9 @@ var MemoryStorageDynamoDB = class extends _mastra_core_storage.MemoryStorage {
2001
1997
  perPage: perPageForResponse
2002
1998
  }
2003
1999
  }, error);
2000
+ this.logger?.error?.(mastraError.toString());
2001
+ this.logger?.trackException?.(mastraError);
2002
+ throw mastraError;
2004
2003
  }
2005
2004
  }
2006
2005
  _sortMessages(messages, field, direction) {