@mastra/server 1.80.0-alpha.2 → 1.80.0-alpha.3
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/dist/{a2a-qQkFvE8f.cjs → a2a-BKtK_s5o.cjs} +2 -2
- package/dist/{a2a-qQkFvE8f.cjs.map → a2a-BKtK_s5o.cjs.map} +1 -1
- package/dist/{a2a-wv2WQ3IG.js → a2a-DKGBctKT.js} +2 -2
- package/dist/{a2a-wv2WQ3IG.js.map → a2a-DKGBctKT.js.map} +1 -1
- package/dist/{agent-builder-DFZjeOkA.js → agent-builder-C-U5USc5.js} +4 -4
- package/dist/{agent-builder-DFZjeOkA.js.map → agent-builder-C-U5USc5.js.map} +1 -1
- package/dist/{agent-builder-C8F4tCwd.cjs → agent-builder-us2nwcWc.cjs} +4 -4
- package/dist/{agent-builder-C8F4tCwd.cjs.map → agent-builder-us2nwcWc.cjs.map} +1 -1
- package/dist/{agents-CcY0JTDF.cjs → agents-AyHEkc2F.cjs} +4 -3
- package/dist/agents-AyHEkc2F.cjs.map +1 -0
- package/dist/{agents-CPYFVJak.cjs → agents-B1EiIdRs.cjs} +3 -2
- package/dist/agents-B1EiIdRs.cjs.map +1 -0
- package/dist/{agents-DaLwtv9x.js → agents-BYE5Dmfk.js} +4 -3
- package/dist/agents-BYE5Dmfk.js.map +1 -0
- package/dist/{agents-BjdJ-Tyf.js → agents-D1-fgNeb.js} +3 -2
- package/dist/agents-D1-fgNeb.js.map +1 -0
- package/dist/{api-schema-manifest-B1WyInlF.js → api-schema-manifest-A066IsPX.js} +2 -2
- package/dist/{api-schema-manifest-B1WyInlF.js.map → api-schema-manifest-A066IsPX.js.map} +1 -1
- package/dist/{api-schema-manifest-CxrGchcx.cjs → api-schema-manifest-BaF6TE9d.cjs} +2 -2
- package/dist/{api-schema-manifest-CxrGchcx.cjs.map → api-schema-manifest-BaF6TE9d.cjs.map} +1 -1
- package/dist/{conversations-B5RJ2jcO.js → conversations-D-ew5IXn.js} +2 -2
- package/dist/{conversations-B5RJ2jcO.js.map → conversations-D-ew5IXn.js.map} +1 -1
- package/dist/{conversations-B16oVu_1.cjs → conversations-DzuWI3w-.cjs} +2 -2
- package/dist/{conversations-B16oVu_1.cjs.map → conversations-DzuWI3w-.cjs.map} +1 -1
- package/dist/{dist-6ZwWUUBQ.js → dist-5TAg2f91.js} +97 -33
- package/dist/{dist-6ZwWUUBQ.js.map → dist-5TAg2f91.js.map} +1 -1
- package/dist/{dist-bT2343kX.cjs → dist-C9Jwt1f0.cjs} +1 -1
- package/dist/{dist-U8ZBR8z5.cjs → dist-CukR8zi9.cjs} +97 -33
- package/dist/{dist-U8ZBR8z5.cjs.map → dist-CukR8zi9.cjs.map} +1 -1
- package/dist/dist-Dgae8Imb.js +1 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{editor-builder-Bt26tVKI.cjs → editor-builder-BSBHrTzY.cjs} +2 -2
- package/dist/{editor-builder-Bt26tVKI.cjs.map → editor-builder-BSBHrTzY.cjs.map} +1 -1
- package/dist/{editor-builder-D_OUA9P6.cjs → editor-builder-Bibw1X4q.cjs} +3 -3
- package/dist/{editor-builder-D_OUA9P6.cjs.map → editor-builder-Bibw1X4q.cjs.map} +1 -1
- package/dist/{editor-builder-DWMgkYK-.js → editor-builder-DCrTMwA4.js} +2 -2
- package/dist/{editor-builder-DWMgkYK-.js.map → editor-builder-DCrTMwA4.js.map} +1 -1
- package/dist/{editor-builder-DzGLnYcJ.js → editor-builder-Dq03QZzH.js} +3 -3
- package/dist/{editor-builder-DzGLnYcJ.js.map → editor-builder-Dq03QZzH.js.map} +1 -1
- package/dist/{plans-TpICqvFU.js → plans-CKbStbWl.js} +3 -3
- package/dist/{plans-TpICqvFU.js.map → plans-CKbStbWl.js.map} +1 -1
- package/dist/{plans-DVzqRj-i.cjs → plans-DZAJG1Et.cjs} +3 -3
- package/dist/{plans-DVzqRj-i.cjs.map → plans-DZAJG1Et.cjs.map} +1 -1
- package/dist/{probe-image-size-BYv_-JV7.js → probe-image-size-DBmo2MAe.js} +2 -2
- package/dist/{probe-image-size-BYv_-JV7.js.map → probe-image-size-DBmo2MAe.js.map} +1 -1
- package/dist/{probe-image-size-mZ2ldE98.cjs → probe-image-size-l1uuhbob.cjs} +2 -2
- package/dist/{probe-image-size-mZ2ldE98.cjs.map → probe-image-size-l1uuhbob.cjs.map} +1 -1
- package/dist/{responses-CP2UYT8z.cjs → responses-BubMB79l.cjs} +2 -2
- package/dist/{responses-CP2UYT8z.cjs.map → responses-BubMB79l.cjs.map} +1 -1
- package/dist/{responses-CnQoSpBc.js → responses-jiVC-1lx.js} +2 -2
- package/dist/{responses-CnQoSpBc.js.map → responses-jiVC-1lx.js.map} +1 -1
- package/dist/{routes-OsQV338J.cjs → routes-D6bDACPd.cjs} +12 -12
- package/dist/{routes-OsQV338J.cjs.map → routes-D6bDACPd.cjs.map} +1 -1
- package/dist/{routes-DZ2QfTnF.js → routes-DKV9oxFW.js} +12 -12
- package/dist/{routes-DZ2QfTnF.js.map → routes-DKV9oxFW.js.map} +1 -1
- package/dist/{scores-DFFS3Zxo.js → scores-BWTo-_L5.js} +2 -2
- package/dist/{scores-DFFS3Zxo.js.map → scores-BWTo-_L5.js.map} +1 -1
- package/dist/{scores-DwiL1Nk8.cjs → scores-C8XPZcwt.cjs} +2 -2
- package/dist/{scores-DwiL1Nk8.cjs.map → scores-C8XPZcwt.cjs.map} +1 -1
- package/dist/server/handlers/a2a.cjs +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +1 -1
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-controller.cjs +2 -0
- package/dist/server/handlers/agent-controller.cjs.map +1 -1
- package/dist/server/handlers/agent-controller.d.ts +2 -0
- package/dist/server/handlers/agent-controller.d.ts.map +1 -1
- package/dist/server/handlers/agent-controller.js +2 -0
- package/dist/server/handlers/agent-controller.js.map +1 -1
- package/dist/server/handlers/agents.cjs +1 -1
- package/dist/server/handlers/agents.d.ts +2 -0
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/conversations.cjs +1 -1
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/editor-builder.cjs +1 -1
- package/dist/server/handlers/editor-builder.d.ts +2 -0
- package/dist/server/handlers/editor-builder.d.ts.map +1 -1
- package/dist/server/handlers/editor-builder.js +1 -1
- package/dist/server/handlers/favorites-enrichment.cjs +1 -1
- package/dist/server/handlers/favorites-enrichment.js +1 -1
- package/dist/server/handlers/plans.cjs +1 -1
- package/dist/server/handlers/plans.js +1 -1
- package/dist/server/handlers/responses.cjs +1 -1
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/scores.cjs +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agent-favorites.cjs +1 -1
- package/dist/server/handlers/stored-agent-favorites.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +1 -1
- package/dist/server/handlers/stored-agents.js +1 -1
- package/dist/server/handlers/stored-skill-favorites.cjs +1 -1
- package/dist/server/handlers/stored-skill-favorites.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +1 -1
- package/dist/server/handlers/stored-skills.js +1 -1
- package/dist/server/handlers/system.cjs +1 -1
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tools.cjs +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/workflow-builder.cjs +1 -1
- package/dist/server/handlers/workflow-builder.js +1 -1
- package/dist/server/handlers/workflows.cjs +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +9 -9
- package/dist/server/handlers.js +9 -9
- package/dist/server/schemas/agents.d.ts +2 -0
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/editor-builder.d.ts +1 -0
- package/dist/server/schemas/editor-builder.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +2 -2
- package/dist/server/schemas/index.js +2 -2
- package/dist/server/server-adapter/index.cjs +1 -1
- package/dist/server/server-adapter/index.js +1 -1
- package/dist/server/server-adapter/routes/editor-builder.d.ts +2 -0
- package/dist/server/server-adapter/routes/editor-builder.d.ts.map +1 -1
- package/dist/{tools-BrO42c5i.js → tools--oMljfqq.js} +3 -3
- package/dist/{tools-BrO42c5i.js.map → tools--oMljfqq.js.map} +1 -1
- package/dist/{tools-B2fMQuwp.cjs → tools-Ci71xxGP.cjs} +3 -3
- package/dist/{tools-B2fMQuwp.cjs.map → tools-Ci71xxGP.cjs.map} +1 -1
- package/dist/{workflow-builder-D-YMkDHC.js → workflow-builder-BoI-XXsT.js} +3 -3
- package/dist/{workflow-builder-D-YMkDHC.js.map → workflow-builder-BoI-XXsT.js.map} +1 -1
- package/dist/{workflow-builder-DtXcLQoG.cjs → workflow-builder-Dguv4rc0.cjs} +3 -3
- package/dist/{workflow-builder-DtXcLQoG.cjs.map → workflow-builder-Dguv4rc0.cjs.map} +1 -1
- package/dist/{workflows-DN2axrmq.cjs → workflows-5AytZqK_.cjs} +2 -2
- package/dist/{workflows-DN2axrmq.cjs.map → workflows-5AytZqK_.cjs.map} +1 -1
- package/dist/{workflows-CF7e2ST9.js → workflows-D7Oq5On9.js} +2 -2
- package/dist/{workflows-CF7e2ST9.js.map → workflows-D7Oq5On9.js.map} +1 -1
- package/package.json +5 -5
- package/dist/agents-BjdJ-Tyf.js.map +0 -1
- package/dist/agents-CPYFVJak.cjs.map +0 -1
- package/dist/agents-CcY0JTDF.cjs.map +0 -1
- package/dist/agents-DaLwtv9x.js.map +0 -1
- package/dist/dist-qYC51DiT.js +0 -1
|
@@ -8619,7 +8619,7 @@ function splitLines(text) {
|
|
|
8619
8619
|
return result;
|
|
8620
8620
|
}
|
|
8621
8621
|
//#endregion
|
|
8622
|
-
//#region ../memory/dist/src-
|
|
8622
|
+
//#region ../memory/dist/src-BUWL69LT.js
|
|
8623
8623
|
var __defProp$3 = Object.defineProperty;
|
|
8624
8624
|
var __exportAll = (all, no_symbols) => {
|
|
8625
8625
|
let target = {};
|
|
@@ -38944,7 +38944,7 @@ async function resolveImageDimensionsAsync(part) {
|
|
|
38944
38944
|
const url = resolveHttpAssetUrl(getObjectValue(part, "image") ?? getObjectValue(part, "data"));
|
|
38945
38945
|
if (!url) return existing;
|
|
38946
38946
|
try {
|
|
38947
|
-
const probeImageSize = (await Promise.resolve().then(() => /* @__PURE__ */ require_rolldown_runtime.__toESM(require("./probe-image-size-
|
|
38947
|
+
const probeImageSize = (await Promise.resolve().then(() => /* @__PURE__ */ require_rolldown_runtime.__toESM(require("./probe-image-size-l1uuhbob.cjs").default, 1))).default;
|
|
38948
38948
|
const probed = await probeImageSize(url, {
|
|
38949
38949
|
open_timeout: REMOTE_IMAGE_PROBE_TIMEOUT_MS,
|
|
38950
38950
|
response_timeout: REMOTE_IMAGE_PROBE_TIMEOUT_MS,
|
|
@@ -45086,7 +45086,6 @@ var ObservationStep = class {
|
|
|
45086
45086
|
let observerExchange;
|
|
45087
45087
|
const step0Messages = this.stepNumber === 0 ? getObservableMessages(messageList) : [];
|
|
45088
45088
|
if (this.stepNumber === 0) {
|
|
45089
|
-
this.turn.inputMessageIds = messageList.get.input.db().map((msg) => msg.id);
|
|
45090
45089
|
const activation = await om.activate({
|
|
45091
45090
|
threadId,
|
|
45092
45091
|
resourceId,
|
|
@@ -45217,7 +45216,7 @@ var ObservationStep = class {
|
|
|
45217
45216
|
drainedKeys.set(msg.id, /* @__PURE__ */ new Set([...seen ?? [], ...keys]));
|
|
45218
45217
|
return !seen || keys.some((key) => !seen.has(key));
|
|
45219
45218
|
}).map((msg) => msg.id);
|
|
45220
|
-
inFlightIds = [
|
|
45219
|
+
inFlightIds = [...new Set(unreadIds)];
|
|
45221
45220
|
if (messagesToSave.length > 0) {
|
|
45222
45221
|
for (const msg of messagesToSave) messageList.add(msg, "memory");
|
|
45223
45222
|
try {
|
|
@@ -45294,7 +45293,7 @@ var ObservationStep = class {
|
|
|
45294
45293
|
});
|
|
45295
45294
|
if (!didThresholdCleanup) {
|
|
45296
45295
|
const fallbackCursor = this.turn.record.threadId ? (0, _mastra_core_memory.getThreadOMMetadata)((await om.getStorage().getThreadById({ threadId: this.turn.record.threadId }))?.metadata)?.lastObservedMessageCursor : void 0;
|
|
45297
|
-
const pendingMessageIds = new Set([...messageList.get.input.db(), ...messageList.get.response.db()].map((msg) => msg.id).concat(inFlightIds ?? [], this.
|
|
45296
|
+
const pendingMessageIds = new Set([...messageList.get.input.db(), ...messageList.get.response.db()].map((msg) => msg.id).concat(inFlightIds ?? [], this.changedSinceDrain(messageList)).filter(Boolean));
|
|
45298
45297
|
filterObservedMessages({
|
|
45299
45298
|
messageList,
|
|
45300
45299
|
record: this.turn.record,
|
|
@@ -45578,12 +45577,6 @@ var ObservationTurn = class {
|
|
|
45578
45577
|
/** Generation count at turn start — used to detect if reflection happened during the turn. */
|
|
45579
45578
|
_generationCountAtStart = -1;
|
|
45580
45579
|
/**
|
|
45581
|
-
* Ids of the messages this turn was started with (the user's request). Mid-turn
|
|
45582
|
-
* observation may record them, but they stay in the live prompt until the turn ends.
|
|
45583
|
-
* @internal Set by step 0.
|
|
45584
|
-
*/
|
|
45585
|
-
inputMessageIds = [];
|
|
45586
|
-
/**
|
|
45587
45580
|
* Fingerprints of the non-marker parts each message had when a step last drained it. A message
|
|
45588
45581
|
* is unread step output only if it gained a part the model has not seen — including a tool result
|
|
45589
45582
|
* merged in place into an existing tool-invocation part — not when it only gained OM markers.
|
|
@@ -50340,7 +50333,6 @@ var ObservationalMemoryProcessor = class {
|
|
|
50340
50333
|
this.turn.requestContext = requestContext;
|
|
50341
50334
|
await this.turn.start(this.memory, runState);
|
|
50342
50335
|
if (stepNumber > 0) {
|
|
50343
|
-
this.turn.inputMessageIds = messageList.getPersisted.input.db().map((message) => message.id);
|
|
50344
50336
|
if (this.memory?.getPersistedMessages) {
|
|
50345
50337
|
const responseIds = messageList.getPersisted.response.db().map((message) => message.id);
|
|
50346
50338
|
const snapshotMessages = new Map(messageList.get.all.db().map((message) => [message.id, message]));
|
|
@@ -50507,6 +50499,7 @@ var ObservationalMemoryProcessor = class {
|
|
|
50507
50499
|
writer: args.writer,
|
|
50508
50500
|
observabilityContext: getOmObservabilityContext(args)
|
|
50509
50501
|
}));
|
|
50502
|
+
if (observed) args.rotateResponseMessageId?.();
|
|
50510
50503
|
return { retry: activated || observed };
|
|
50511
50504
|
}
|
|
50512
50505
|
get config() {
|
|
@@ -51571,9 +51564,7 @@ ${workingMemory}`;
|
|
|
51571
51564
|
async saveMessages({ messages, memoryConfig, observabilityContext }) {
|
|
51572
51565
|
const span = this.createMemorySpan("save", observabilityContext, void 0, { messageCount: messages.length });
|
|
51573
51566
|
try {
|
|
51574
|
-
const updatedMessages =
|
|
51575
|
-
return this.updateMessageToHideWorkingMemoryV2(m);
|
|
51576
|
-
}).filter((m) => Boolean(m));
|
|
51567
|
+
const updatedMessages = this.prepareMessagesForPersistence(messages);
|
|
51577
51568
|
const config = this.getMergedThreadConfig(memoryConfig);
|
|
51578
51569
|
const dbMessages = new _mastra_core_agent.MessageList({ generateMessageId: () => this.generateId() }).add(updatedMessages, "memory").get.all.db();
|
|
51579
51570
|
const memoryStore = await this.getMemoryStore();
|
|
@@ -51679,12 +51670,17 @@ ${workingMemory}`;
|
|
|
51679
51670
|
throw error;
|
|
51680
51671
|
}
|
|
51681
51672
|
}
|
|
51673
|
+
prepareMessagesForPersistence(messages) {
|
|
51674
|
+
return messages.filter((m) => m.role !== "system" && !isTransientSignalMessage(m)).map((m) => this.updateMessageToHideWorkingMemoryV2(m)).filter((m) => m !== null);
|
|
51675
|
+
}
|
|
51682
51676
|
updateMessageToHideWorkingMemoryV2(message) {
|
|
51683
51677
|
const newMessage = { ...message };
|
|
51684
51678
|
if (message.content && typeof message.content === "object" && !Array.isArray(message.content)) newMessage.content = { ...message.content };
|
|
51685
51679
|
if (typeof newMessage.content?.content === "string" && newMessage.content.content.length > 0) newMessage.content.content = removeWorkingMemoryTags(newMessage.content.content).trim();
|
|
51686
51680
|
if (Array.isArray(newMessage.content?.parts)) {
|
|
51687
51681
|
if (Array.isArray(newMessage.content.toolInvocations)) newMessage.content.toolInvocations = removeWorkingMemoryToolInvocations(newMessage.content.toolInvocations);
|
|
51682
|
+
const lastOriginalPart = newMessage.content.parts.at(-1);
|
|
51683
|
+
const sealMetadata = lastOriginalPart && "metadata" in lastOriginalPart ? lastOriginalPart.metadata : void 0;
|
|
51688
51684
|
newMessage.content.parts = removeWorkingMemoryToolInvocationParts(newMessage.content.parts).map((part) => {
|
|
51689
51685
|
if (part?.type === "text") {
|
|
51690
51686
|
const text = typeof part.text === "string" ? part.text : "";
|
|
@@ -51695,6 +51691,26 @@ ${workingMemory}`;
|
|
|
51695
51691
|
}
|
|
51696
51692
|
return part;
|
|
51697
51693
|
});
|
|
51694
|
+
const lastIndex = newMessage.content.parts.length - 1;
|
|
51695
|
+
const lastPart = newMessage.content.parts[lastIndex];
|
|
51696
|
+
if (lastPart && sealMetadata && typeof sealMetadata === "object" && "mastra" in sealMetadata) {
|
|
51697
|
+
const mastra = sealMetadata.mastra;
|
|
51698
|
+
if (mastra && typeof mastra === "object" && "sealedAt" in mastra && typeof mastra.sealedAt === "number") {
|
|
51699
|
+
const existingMetadata = "metadata" in lastPart ? lastPart.metadata : void 0;
|
|
51700
|
+
const metadata = existingMetadata && typeof existingMetadata === "object" ? existingMetadata : {};
|
|
51701
|
+
const existingMastra = "mastra" in metadata && metadata.mastra && typeof metadata.mastra === "object" ? metadata.mastra : {};
|
|
51702
|
+
newMessage.content.parts[lastIndex] = {
|
|
51703
|
+
...lastPart,
|
|
51704
|
+
metadata: {
|
|
51705
|
+
...metadata,
|
|
51706
|
+
mastra: {
|
|
51707
|
+
...existingMastra,
|
|
51708
|
+
sealedAt: mastra.sealedAt
|
|
51709
|
+
}
|
|
51710
|
+
}
|
|
51711
|
+
};
|
|
51712
|
+
}
|
|
51713
|
+
}
|
|
51698
51714
|
if (newMessage.content.parts.length === 0) {
|
|
51699
51715
|
if (!(typeof newMessage.content.content === "string" && newMessage.content.content.trim().length > 0)) return null;
|
|
51700
51716
|
}
|
|
@@ -51944,12 +51960,12 @@ ${workingMemory}`;
|
|
|
51944
51960
|
};
|
|
51945
51961
|
}
|
|
51946
51962
|
/**
|
|
51947
|
-
* Raw message upsert —
|
|
51963
|
+
* Raw message upsert — apply the persistence projection without embedding or extracting working memory.
|
|
51948
51964
|
* Used by the processor to save sealed messages before firing a background buffer operation.
|
|
51949
51965
|
*/
|
|
51950
51966
|
async persistMessages(messages) {
|
|
51951
51967
|
if (messages.length === 0) return;
|
|
51952
|
-
const persistableMessages =
|
|
51968
|
+
const persistableMessages = this.prepareMessagesForPersistence(messages);
|
|
51953
51969
|
if (persistableMessages.length === 0) return;
|
|
51954
51970
|
await (await this.getMemoryStore()).saveMessages({ messages: persistableMessages });
|
|
51955
51971
|
}
|
|
@@ -52431,27 +52447,75 @@ Notes:
|
|
|
52431
52447
|
if (messages.length === 0) return [];
|
|
52432
52448
|
const memoryStore = await this.getMemoryStore();
|
|
52433
52449
|
const config = this.getMergedThreadConfig(memoryConfig);
|
|
52450
|
+
const existing = await memoryStore.listMessagesById({ messageIds: messages.map((m) => m.id) });
|
|
52451
|
+
const existingById = new Map(existing.messages.map((m) => [m.id, m]));
|
|
52452
|
+
const textForEmbeddingById = /* @__PURE__ */ new Map();
|
|
52453
|
+
const textFields = ["content", "parts"];
|
|
52454
|
+
const textOf = (content, fields) => {
|
|
52455
|
+
for (const field of fields) {
|
|
52456
|
+
const text = field === "content" ? content.content?.trim() ? content.content : null : (content.parts ?? []).filter((part) => part?.type === "text").map((part) => part.text).join(" ").trim();
|
|
52457
|
+
if (text) return text;
|
|
52458
|
+
}
|
|
52459
|
+
return null;
|
|
52460
|
+
};
|
|
52461
|
+
messages = messages.flatMap((update) => {
|
|
52462
|
+
const stored = existingById.get(update.id);
|
|
52463
|
+
if (!stored) return [];
|
|
52464
|
+
const effective = {
|
|
52465
|
+
...stored,
|
|
52466
|
+
...update,
|
|
52467
|
+
content: update.content === void 0 ? stored.content : {
|
|
52468
|
+
...stored.content,
|
|
52469
|
+
...update.content,
|
|
52470
|
+
metadata: {
|
|
52471
|
+
...stored.content.metadata,
|
|
52472
|
+
...update.content.metadata
|
|
52473
|
+
}
|
|
52474
|
+
}
|
|
52475
|
+
};
|
|
52476
|
+
const [projected] = this.prepareMessagesForPersistence([effective]);
|
|
52477
|
+
if (!projected) return [];
|
|
52478
|
+
if (update.content === void 0) {
|
|
52479
|
+
existingById.set(update.id, effective);
|
|
52480
|
+
return [update];
|
|
52481
|
+
}
|
|
52482
|
+
const content = {
|
|
52483
|
+
...update.content,
|
|
52484
|
+
...update.content.parts !== void 0 ? { parts: projected.content.parts } : {},
|
|
52485
|
+
...update.content.content !== void 0 ? { content: projected.content.content } : {},
|
|
52486
|
+
...update.content.toolInvocations !== void 0 ? { toolInvocations: projected.content.toolInvocations } : {}
|
|
52487
|
+
};
|
|
52488
|
+
existingById.set(update.id, {
|
|
52489
|
+
...effective,
|
|
52490
|
+
content: {
|
|
52491
|
+
...effective.content,
|
|
52492
|
+
...content
|
|
52493
|
+
}
|
|
52494
|
+
});
|
|
52495
|
+
const patched = textFields.filter((field) => update.content?.[field] !== void 0);
|
|
52496
|
+
if (patched.length > 0) {
|
|
52497
|
+
const omitted = textFields.filter((field) => !patched.includes(field));
|
|
52498
|
+
const text = textOf(projected.content, patched) ?? (textOf(update.content, patched) ? textOf(projected.content, omitted) : null);
|
|
52499
|
+
textForEmbeddingById.set(update.id, text);
|
|
52500
|
+
}
|
|
52501
|
+
return [{
|
|
52502
|
+
...update,
|
|
52503
|
+
content
|
|
52504
|
+
}];
|
|
52505
|
+
});
|
|
52506
|
+
if (messages.length === 0) return [];
|
|
52434
52507
|
if (this.vector && config.semanticRecall) {
|
|
52435
|
-
const
|
|
52436
|
-
if (
|
|
52437
|
-
const
|
|
52438
|
-
const existingMessagesMap = new Map(existingMessagesResult.messages.map((m) => [m.id, m]));
|
|
52508
|
+
const messagesWithTextUpdates = [...textForEmbeddingById.keys()].map((id) => ({ id }));
|
|
52509
|
+
if (messagesWithTextUpdates.length > 0) {
|
|
52510
|
+
const existingMessagesMap = new Map(existing.messages.map((m) => [m.id, m]));
|
|
52439
52511
|
const embeddingData = [];
|
|
52440
52512
|
let dimension;
|
|
52441
52513
|
const messageIdsWithNewEmbeddings = /* @__PURE__ */ new Set();
|
|
52442
52514
|
const messageIdsWithClearedContent = /* @__PURE__ */ new Set();
|
|
52443
|
-
await Promise.all(
|
|
52515
|
+
await Promise.all(messagesWithTextUpdates.map(async (message) => {
|
|
52444
52516
|
const existingMessage = existingMessagesMap.get(message.id);
|
|
52445
52517
|
if (!existingMessage) return;
|
|
52446
|
-
|
|
52447
|
-
const content = message.content;
|
|
52448
|
-
if (content) {
|
|
52449
|
-
if ("content" in content && content.content && typeof content.content === "string" && content.content.trim() !== "") textForEmbedding = content.content;
|
|
52450
|
-
else if ("parts" in content && content.parts && Array.isArray(content.parts) && content.parts.length > 0) {
|
|
52451
|
-
const joined = content.parts.filter((part) => part?.type === "text").map((part) => part.text).join(" ").trim();
|
|
52452
|
-
if (joined) textForEmbedding = joined;
|
|
52453
|
-
}
|
|
52454
|
-
}
|
|
52518
|
+
const textForEmbedding = textForEmbeddingById.get(message.id) ?? null;
|
|
52455
52519
|
if (textForEmbedding) {
|
|
52456
52520
|
let embeddings = [];
|
|
52457
52521
|
let documents;
|
|
@@ -53988,7 +54052,7 @@ const createModelInstance = async (provider, modelId, version = "v2") => {
|
|
|
53988
54052
|
try {
|
|
53989
54053
|
const providerFn = version === `v1` ? { v1: {
|
|
53990
54054
|
openai: async () => {
|
|
53991
|
-
const { openai } = await Promise.resolve().then(() => require("./dist-
|
|
54055
|
+
const { openai } = await Promise.resolve().then(() => require("./dist-C9Jwt1f0.cjs"));
|
|
53992
54056
|
return openai(modelId);
|
|
53993
54057
|
},
|
|
53994
54058
|
anthropic: async () => {
|
|
@@ -61725,4 +61789,4 @@ Object.defineProperty(exports, "require_sync", {
|
|
|
61725
61789
|
}
|
|
61726
61790
|
});
|
|
61727
61791
|
|
|
61728
|
-
//# sourceMappingURL=dist-
|
|
61792
|
+
//# sourceMappingURL=dist-CukR8zi9.cjs.map
|