@mastra/upstash 1.4.0-alpha.0 → 1.4.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 +30 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-memory-working-memory.md +1 -0
- package/dist/docs/references/guides-rag-retrieval.md +17 -0
- package/dist/docs/references/guides-rag-vector-databases.md +41 -0
- package/dist/index.cjs +28 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +28 -5
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/memory/index.d.ts +9 -2
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -484,7 +484,7 @@ var StoreMemoryUpstash = class extends MemoryStorage {
|
|
|
484
484
|
const now = /* @__PURE__ */ new Date();
|
|
485
485
|
const updatedThread = {
|
|
486
486
|
...thread,
|
|
487
|
-
title,
|
|
487
|
+
title: title ?? thread.title,
|
|
488
488
|
metadata: {
|
|
489
489
|
...thread.metadata,
|
|
490
490
|
...metadata
|
|
@@ -657,16 +657,38 @@ var StoreMemoryUpstash = class extends MemoryStorage {
|
|
|
657
657
|
return direction === "ASC" ? aValue - bValue : bValue - aValue;
|
|
658
658
|
});
|
|
659
659
|
}
|
|
660
|
-
|
|
660
|
+
/**
|
|
661
|
+
* Fetches the messages named by `include` together with their surrounding context.
|
|
662
|
+
*
|
|
663
|
+
* @param include - Message ids to pin, each with an optional before/after window.
|
|
664
|
+
* @param resourceId - When set, drops any pinned or context message owned by another
|
|
665
|
+
* resource so an id from another resource returns nothing.
|
|
666
|
+
*/
|
|
667
|
+
async _getIncludedMessages(include, resourceId) {
|
|
661
668
|
if (!include?.length) return [];
|
|
662
669
|
const messageIds = /* @__PURE__ */ new Set();
|
|
663
670
|
const messageIdToThreadIds = {};
|
|
664
671
|
for (const item of include) {
|
|
665
672
|
const itemThreadId = await this._getThreadIdForMessage(item.id);
|
|
666
673
|
if (!itemThreadId) continue;
|
|
674
|
+
const itemThreadMessagesKey = getThreadMessagesKey(itemThreadId);
|
|
675
|
+
if (resourceId !== void 0) {
|
|
676
|
+
const threadMessageIds = await this.client.zrange(itemThreadMessagesKey, 0, -1);
|
|
677
|
+
const threadPipeline = this.client.pipeline();
|
|
678
|
+
threadMessageIds.forEach((id) => threadPipeline.get(getMessageKey(itemThreadId, id)));
|
|
679
|
+
const threadMessages = (await threadPipeline.exec()).filter((message) => message !== null).filter((message) => message.resourceId === resourceId);
|
|
680
|
+
const targetIndex = threadMessages.findIndex((message) => message.id === item.id);
|
|
681
|
+
if (targetIndex === -1) continue;
|
|
682
|
+
const start = Math.max(0, targetIndex - (item.withPreviousMessages ?? 0));
|
|
683
|
+
const end = Math.min(threadMessages.length, targetIndex + (item.withNextMessages ?? 0) + 1);
|
|
684
|
+
for (const message of threadMessages.slice(start, end)) {
|
|
685
|
+
messageIds.add(message.id);
|
|
686
|
+
messageIdToThreadIds[message.id] = itemThreadId;
|
|
687
|
+
}
|
|
688
|
+
continue;
|
|
689
|
+
}
|
|
667
690
|
messageIds.add(item.id);
|
|
668
691
|
messageIdToThreadIds[item.id] = itemThreadId;
|
|
669
|
-
const itemThreadMessagesKey = getThreadMessagesKey(itemThreadId);
|
|
670
692
|
const rank = await this.client.zrank(itemThreadMessagesKey, item.id);
|
|
671
693
|
if (rank === null) continue;
|
|
672
694
|
if (item.withPreviousMessages) {
|
|
@@ -687,7 +709,8 @@ var StoreMemoryUpstash = class extends MemoryStorage {
|
|
|
687
709
|
const tId = messageIdToThreadIds[id];
|
|
688
710
|
pipeline.get(getMessageKey(tId, id));
|
|
689
711
|
});
|
|
690
|
-
|
|
712
|
+
const includedMessages = (await pipeline.exec()).filter((result) => result !== null);
|
|
713
|
+
return resourceId ? includedMessages.filter((message) => message.resourceId === resourceId) : includedMessages;
|
|
691
714
|
}
|
|
692
715
|
parseStoredMessage(storedMessage) {
|
|
693
716
|
const defaultMessageContent = {
|
|
@@ -781,7 +804,7 @@ var StoreMemoryUpstash = class extends MemoryStorage {
|
|
|
781
804
|
hasMore: false
|
|
782
805
|
};
|
|
783
806
|
let includedMessages = [];
|
|
784
|
-
if (include && include.length > 0) includedMessages = (await this._getIncludedMessages(include)).map(this.parseStoredMessage);
|
|
807
|
+
if (include && include.length > 0) includedMessages = (await this._getIncludedMessages(include, resourceId)).map(this.parseStoredMessage);
|
|
785
808
|
if (perPage === 0 && include && include.length > 0) {
|
|
786
809
|
const list = new MessageList().add(includedMessages, "memory");
|
|
787
810
|
return {
|