@mastra/cloudflare 1.0.0-beta.1 → 1.0.0-beta.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 +9 -0
- package/dist/index.cjs +64 -95
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +64 -95
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -572,69 +572,32 @@ var MemoryStorageCloudflare = class extends MemoryStorage {
|
|
|
572
572
|
);
|
|
573
573
|
}
|
|
574
574
|
const { field, direction } = this.parseOrderBy(orderBy, "ASC");
|
|
575
|
-
const
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
allIds.forEach((id) => messageIds.add(id));
|
|
582
|
-
} catch {
|
|
583
|
-
}
|
|
584
|
-
} else {
|
|
585
|
-
if (perPage > 0) {
|
|
586
|
-
try {
|
|
587
|
-
const threadMessagesKey = this.getThreadMessagesKey(threadId);
|
|
588
|
-
const fullOrder = await this.getFullOrder(threadMessagesKey);
|
|
589
|
-
const totalMessages = fullOrder.length;
|
|
590
|
-
let start;
|
|
591
|
-
let end;
|
|
592
|
-
if (direction === "ASC") {
|
|
593
|
-
start = offset;
|
|
594
|
-
end = Math.min(offset + perPage - 1, totalMessages - 1);
|
|
595
|
-
} else {
|
|
596
|
-
start = Math.max(totalMessages - offset - perPage, 0);
|
|
597
|
-
end = totalMessages - offset - 1;
|
|
598
|
-
}
|
|
599
|
-
const paginatedIds = await this.getRange(threadMessagesKey, start, end);
|
|
600
|
-
paginatedIds.forEach((id) => messageIds.add(id));
|
|
601
|
-
} catch {
|
|
602
|
-
}
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
if (include && include.length > 0) {
|
|
606
|
-
await this.getIncludedMessagesWithContext(threadId, include, messageIds);
|
|
575
|
+
const threadMessageIds = /* @__PURE__ */ new Set();
|
|
576
|
+
try {
|
|
577
|
+
const threadMessagesKey = this.getThreadMessagesKey(threadId);
|
|
578
|
+
const allIds = await this.getFullOrder(threadMessagesKey);
|
|
579
|
+
allIds.forEach((id) => threadMessageIds.add(id));
|
|
580
|
+
} catch {
|
|
607
581
|
}
|
|
608
|
-
const
|
|
609
|
-
Array.from(
|
|
610
|
-
|
|
611
|
-
|
|
582
|
+
const threadMessages = await this.fetchAndParseMessagesFromMultipleThreads(
|
|
583
|
+
Array.from(threadMessageIds),
|
|
584
|
+
void 0,
|
|
585
|
+
threadId
|
|
612
586
|
);
|
|
613
|
-
let
|
|
587
|
+
let filteredThreadMessages = threadMessages;
|
|
614
588
|
if (resourceId) {
|
|
615
|
-
|
|
589
|
+
filteredThreadMessages = filteredThreadMessages.filter((msg) => msg.resourceId === resourceId);
|
|
616
590
|
}
|
|
617
591
|
const dateRange = filter?.dateRange;
|
|
618
592
|
if (dateRange) {
|
|
619
|
-
|
|
593
|
+
filteredThreadMessages = filteredThreadMessages.filter((msg) => {
|
|
620
594
|
const messageDate = new Date(msg.createdAt);
|
|
621
595
|
if (dateRange.start && messageDate < new Date(dateRange.start)) return false;
|
|
622
596
|
if (dateRange.end && messageDate > new Date(dateRange.end)) return false;
|
|
623
597
|
return true;
|
|
624
598
|
});
|
|
625
599
|
}
|
|
626
|
-
|
|
627
|
-
if (hasFilters) {
|
|
628
|
-
total = filteredMessages.length;
|
|
629
|
-
} else {
|
|
630
|
-
try {
|
|
631
|
-
const threadMessagesKey = this.getThreadMessagesKey(threadId);
|
|
632
|
-
const fullOrder = await this.getFullOrder(threadMessagesKey);
|
|
633
|
-
total = fullOrder.length;
|
|
634
|
-
} catch {
|
|
635
|
-
total = filteredMessages.length;
|
|
636
|
-
}
|
|
637
|
-
}
|
|
600
|
+
const total = filteredThreadMessages.length;
|
|
638
601
|
if (perPage === 0 && (!include || include.length === 0)) {
|
|
639
602
|
return {
|
|
640
603
|
messages: [],
|
|
@@ -644,45 +607,58 @@ var MemoryStorageCloudflare = class extends MemoryStorage {
|
|
|
644
607
|
hasMore: offset < total
|
|
645
608
|
};
|
|
646
609
|
}
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
filteredMessages = filteredMessages.slice(start, end);
|
|
610
|
+
filteredThreadMessages.sort((a, b) => {
|
|
611
|
+
const timeA = new Date(a.createdAt).getTime();
|
|
612
|
+
const timeB = new Date(b.createdAt).getTime();
|
|
613
|
+
const timeDiff = direction === "ASC" ? timeA - timeB : timeB - timeA;
|
|
614
|
+
if (timeDiff === 0) {
|
|
615
|
+
return a.id.localeCompare(b.id);
|
|
654
616
|
}
|
|
617
|
+
return timeDiff;
|
|
618
|
+
});
|
|
619
|
+
let paginatedMessages;
|
|
620
|
+
if (perPage === 0) {
|
|
621
|
+
paginatedMessages = [];
|
|
622
|
+
} else if (perPage === Number.MAX_SAFE_INTEGER) {
|
|
623
|
+
paginatedMessages = filteredThreadMessages;
|
|
624
|
+
} else {
|
|
625
|
+
paginatedMessages = filteredThreadMessages.slice(offset, offset + perPage);
|
|
655
626
|
}
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
const
|
|
659
|
-
|
|
660
|
-
const
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
const timeDiff = direction === "ASC" ? timeA - timeB : timeB - timeA;
|
|
680
|
-
if (timeDiff === 0) {
|
|
681
|
-
return a.id.localeCompare(b.id);
|
|
682
|
-
}
|
|
683
|
-
return timeDiff;
|
|
684
|
-
});
|
|
627
|
+
let includedMessages = [];
|
|
628
|
+
if (include && include.length > 0) {
|
|
629
|
+
const includedMessageIds = /* @__PURE__ */ new Set();
|
|
630
|
+
await this.getIncludedMessagesWithContext(threadId, include, includedMessageIds);
|
|
631
|
+
const paginatedIds = new Set(paginatedMessages.map((m) => m.id));
|
|
632
|
+
const idsToFetch = Array.from(includedMessageIds).filter((id) => !paginatedIds.has(id));
|
|
633
|
+
if (idsToFetch.length > 0) {
|
|
634
|
+
includedMessages = await this.fetchAndParseMessagesFromMultipleThreads(idsToFetch, include, void 0);
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
const seenIds = /* @__PURE__ */ new Set();
|
|
638
|
+
const allMessages = [];
|
|
639
|
+
for (const msg of paginatedMessages) {
|
|
640
|
+
if (!seenIds.has(msg.id)) {
|
|
641
|
+
allMessages.push(msg);
|
|
642
|
+
seenIds.add(msg.id);
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
for (const msg of includedMessages) {
|
|
646
|
+
if (!seenIds.has(msg.id)) {
|
|
647
|
+
allMessages.push(msg);
|
|
648
|
+
seenIds.add(msg.id);
|
|
649
|
+
}
|
|
685
650
|
}
|
|
651
|
+
allMessages.sort((a, b) => {
|
|
652
|
+
const timeA = new Date(a.createdAt).getTime();
|
|
653
|
+
const timeB = new Date(b.createdAt).getTime();
|
|
654
|
+
const timeDiff = direction === "ASC" ? timeA - timeB : timeB - timeA;
|
|
655
|
+
if (timeDiff === 0) {
|
|
656
|
+
return a.id.localeCompare(b.id);
|
|
657
|
+
}
|
|
658
|
+
return timeDiff;
|
|
659
|
+
});
|
|
660
|
+
let filteredMessages = allMessages;
|
|
661
|
+
const paginatedCount = paginatedMessages.length;
|
|
686
662
|
if (total === 0 && filteredMessages.length === 0 && (!include || include.length === 0)) {
|
|
687
663
|
return {
|
|
688
664
|
messages: [],
|
|
@@ -715,14 +691,7 @@ var MemoryStorageCloudflare = class extends MemoryStorage {
|
|
|
715
691
|
});
|
|
716
692
|
const returnedThreadMessageIds = new Set(finalMessages.filter((m) => m.threadId === threadId).map((m) => m.id));
|
|
717
693
|
const allThreadMessagesReturned = returnedThreadMessageIds.size >= total;
|
|
718
|
-
|
|
719
|
-
if (perPageInput === false || allThreadMessagesReturned) {
|
|
720
|
-
hasMore = false;
|
|
721
|
-
} else if (direction === "ASC") {
|
|
722
|
-
hasMore = offset + paginatedCount < total;
|
|
723
|
-
} else {
|
|
724
|
-
hasMore = total - offset - perPage > 0;
|
|
725
|
-
}
|
|
694
|
+
const hasMore = perPageInput !== false && !allThreadMessagesReturned && offset + paginatedCount < total;
|
|
726
695
|
return {
|
|
727
696
|
messages: finalMessages,
|
|
728
697
|
total,
|