@mastra/redis 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 +25 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/reference-storage-redis.md +2 -2
- package/dist/index.cjs +6 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/package.json +13 -12
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MessageList } from '@mastra/core/agent';
|
|
2
2
|
import { MastraError, ErrorCategory, ErrorDomain } from '@mastra/core/error';
|
|
3
|
-
import { MemoryStorage, TABLE_THREADS, TABLE_MESSAGES, TABLE_RESOURCES, ensureDate, createStorageErrorId, normalizePerPage, calculatePagination, jsonValueEquals, filterByDateRange, ScoresStorage, TABLE_SCORERS, transformScoreRow, WorkflowsStorage, TABLE_WORKFLOW_SNAPSHOT, MastraStorage, serializeDate } from '@mastra/core/storage';
|
|
3
|
+
import { MemoryStorage, TABLE_THREADS, TABLE_MESSAGES, TABLE_RESOURCES, ensureDate, createStorageErrorId, normalizePerPage, calculatePagination, jsonValueEquals, validateStorageMetadataFilter, filterByDateRange, storageMessageMatchesMetadataFilter, ScoresStorage, TABLE_SCORERS, transformScoreRow, WorkflowsStorage, TABLE_WORKFLOW_SNAPSHOT, MastraStorage, serializeDate } from '@mastra/core/storage';
|
|
4
4
|
import crypto2 from 'crypto';
|
|
5
5
|
import { saveScorePayloadSchema } from '@mastra/core/evals';
|
|
6
6
|
import { createClient } from 'redis';
|
|
@@ -628,6 +628,7 @@ var StoreMemoryRedis = class extends MemoryStorage {
|
|
|
628
628
|
}
|
|
629
629
|
const perPage = normalizePerPage(perPageInput, 40);
|
|
630
630
|
const { offset, perPage: perPageForResponse } = calculatePagination(page, perPageInput, perPage);
|
|
631
|
+
const metadataFilter = validateStorageMetadataFilter(filter?.metadata);
|
|
631
632
|
try {
|
|
632
633
|
if (page < 0) {
|
|
633
634
|
throw new MastraError(
|
|
@@ -711,6 +712,9 @@ var StoreMemoryRedis = class extends MemoryStorage {
|
|
|
711
712
|
(msg) => new Date(msg.createdAt),
|
|
712
713
|
filter?.dateRange
|
|
713
714
|
);
|
|
715
|
+
messagesData = messagesData.filter(
|
|
716
|
+
(message) => storageMessageMatchesMetadataFilter(message.content, metadataFilter)
|
|
717
|
+
);
|
|
714
718
|
messagesData.sort((a, b) => {
|
|
715
719
|
const aValue = getFieldValue(a);
|
|
716
720
|
const bValue = getFieldValue(b);
|
|
@@ -744,12 +748,9 @@ var StoreMemoryRedis = class extends MemoryStorage {
|
|
|
744
748
|
return direction === "ASC" ? aValue - bValue : bValue - aValue;
|
|
745
749
|
});
|
|
746
750
|
const returnedThreadMessageIds = new Set(
|
|
747
|
-
finalMessages.filter((
|
|
748
|
-
return m.threadId && threadIdsSet.has(m.threadId);
|
|
749
|
-
}).map((m) => m.id)
|
|
751
|
+
finalMessages.filter((message) => message.threadId && threadIdsSet.has(message.threadId)).map((message) => message.id)
|
|
750
752
|
);
|
|
751
|
-
const
|
|
752
|
-
const hasMore = perPageInput !== false && !allThreadMessagesReturned && end < total;
|
|
753
|
+
const hasMore = perPageInput !== false && (metadataFilter || returnedThreadMessageIds.size < total) && offset + paginatedMessages.length < total;
|
|
753
754
|
return {
|
|
754
755
|
messages: finalMessages,
|
|
755
756
|
total,
|