@mastra/memory 1.29.1-alpha.0 → 1.30.0-alpha.1

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.
@@ -30238,7 +30238,24 @@ function isSystemReminderMessage(message) {
30238
30238
  const firstTextPart = message.content.parts.find((part) => part.type === "text");
30239
30239
  return typeof firstTextPart?.text === "string" && firstTextPart.text.startsWith("<system-reminder");
30240
30240
  }
30241
- function filterSystemReminderMessages(messages, includeSystemReminders) {
30241
+ function isRecallSignalType(type) {
30242
+ return type === "user" || type === "state" || type === "reactive" || type === "notification" || type === "user-message" || type === "system-reminder";
30243
+ }
30244
+ function getRecallSignalType(message) {
30245
+ if (!isRecord(message.content)) return void 0;
30246
+ for (const part of message.content.parts) if ((part.type === "data-signal" || part.type === "data-user-message") && isRecord(part.data) && isRecallSignalType(part.data.type)) return part.data.type;
30247
+ const metadata = message.content.metadata;
30248
+ if (message.role === "signal" && isRecord(metadata) && isRecord(metadata.signal)) {
30249
+ if (isRecallSignalType(metadata.signal.type)) return metadata.signal.type;
30250
+ }
30251
+ return isSystemReminderMessage(message) ? "system-reminder" : void 0;
30252
+ }
30253
+ function filterSystemReminderMessages(messages, includeSystemReminders, hideSignals) {
30254
+ if (hideSignals === false) return messages;
30255
+ if (hideSignals !== void 0) return messages.filter((message) => {
30256
+ const type = getRecallSignalType(message);
30257
+ return type === void 0 || hideSignals !== true && !hideSignals.includes(type);
30258
+ });
30242
30259
  if (includeSystemReminders) return messages;
30243
30260
  return messages.filter((message) => !isSystemReminderMessage(message));
30244
30261
  }
@@ -30456,7 +30473,7 @@ var Memory = class Memory extends _mastra_core_memory.MastraMemory {
30456
30473
  });
30457
30474
  }
30458
30475
  async recall(args) {
30459
- const { threadId, resourceId, perPage: perPageArg, page, orderBy, threadConfig, vectorSearchString, includeSystemReminders, filter, includeTotal } = args;
30476
+ const { threadId, resourceId, perPage: perPageArg, page, orderBy, threadConfig, vectorSearchString, includeSystemReminders, hideSignals, filter, includeTotal } = args;
30460
30477
  const config = this.getMergedThreadConfig(threadConfig || {});
30461
30478
  const semanticRecallEnabled = Boolean(config.semanticRecall);
30462
30479
  const span = this.createMemorySpan("recall", args.observabilityContext, {
@@ -30555,7 +30572,7 @@ var Memory = class Memory extends _mastra_core_memory.MastraMemory {
30555
30572
  const messages = filterSystemReminderMessages(new _mastra_core_agent.MessageList({
30556
30573
  threadId,
30557
30574
  resourceId
30558
- }).add(rawMessages, "memory").get.all.db(), includeSystemReminders);
30575
+ }).add(rawMessages, "memory").get.all.db(), includeSystemReminders, hideSignals);
30559
30576
  const { total, page: resultPage, perPage: resultPerPage, hasMore } = paginatedResult;
30560
30577
  const recallResult = {
30561
30578
  messages,
@@ -31866,8 +31883,16 @@ Notes:
31866
31883
  */
31867
31884
  async cloneThread(args, memoryConfig) {
31868
31885
  const memoryStore = await this.getMemoryStore();
31869
- const result = await memoryStore.cloneThread(args);
31870
31886
  const config = this.getMergedThreadConfig(memoryConfig);
31887
+ const requestedHydrate = args.options?.hydrateMessages ?? true;
31888
+ const effectiveHydrate = requestedHydrate || Boolean(this.vector && this.embedder && config.semanticRecall);
31889
+ const result = await memoryStore.cloneThread(effectiveHydrate === requestedHydrate ? args : {
31890
+ ...args,
31891
+ options: {
31892
+ ...args.options,
31893
+ hydrateMessages: effectiveHydrate
31894
+ }
31895
+ });
31871
31896
  const sourceResourceId = (await this.getThreadById({ threadId: args.sourceThreadId }))?.resourceId;
31872
31897
  if (config.workingMemory?.enabled) {
31873
31898
  const scope = config.workingMemory.scope || "resource";
@@ -32482,4 +32507,4 @@ Object.defineProperty(exports, "wrapInObservationGroup", {
32482
32507
  }
32483
32508
  });
32484
32509
 
32485
- //# sourceMappingURL=src-CkIFee1t.cjs.map
32510
+ //# sourceMappingURL=src-Bze5SVTm.cjs.map