@mastra/server 1.60.0-alpha.7 → 1.60.0-alpha.9
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 +43 -0
- package/dist/_types/@internal_voice/dist/_types/@internal_core/dist/request-context/index.d.ts +12 -1
- package/dist/{a2a-CUkzkdTZ.js → a2a-B5m54dOP.js} +2 -2
- package/dist/{a2a-CUkzkdTZ.js.map → a2a-B5m54dOP.js.map} +1 -1
- package/dist/{a2a-DzZHH3OH.cjs → a2a-Eeib3vfP.cjs} +2 -2
- package/dist/{a2a-DzZHH3OH.cjs.map → a2a-Eeib3vfP.cjs.map} +1 -1
- package/dist/{agents-uT8ZDE4k.js → agents-BetrUB_N.js} +7 -2
- package/dist/agents-BetrUB_N.js.map +1 -0
- package/dist/{agents-0Tw3kkD_.cjs → agents-CLv_RFQx.cjs} +18 -1
- package/dist/agents-CLv_RFQx.cjs.map +1 -0
- package/dist/{api-schema-manifest-BlxXMFWo.js → api-schema-manifest-BKTXRheC.js} +2 -2
- package/dist/{api-schema-manifest-BlxXMFWo.js.map → api-schema-manifest-BKTXRheC.js.map} +1 -1
- package/dist/{api-schema-manifest-iAEVS-Re.cjs → api-schema-manifest-BbNdh5Ck.cjs} +2 -2
- package/dist/{api-schema-manifest-iAEVS-Re.cjs.map → api-schema-manifest-BbNdh5Ck.cjs.map} +1 -1
- package/dist/{builder-registry-B8KyPAOP.js → builder-registry-CqLsr39q.js} +2 -2
- package/dist/{builder-registry-B8KyPAOP.js.map → builder-registry-CqLsr39q.js.map} +1 -1
- package/dist/{builder-registry-Dcou-kzd.cjs → builder-registry-CyaUg_iP.cjs} +2 -2
- package/dist/{builder-registry-Dcou-kzd.cjs.map → builder-registry-CyaUg_iP.cjs.map} +1 -1
- package/dist/{channels-B9yt3a2P.js → channels-BnFQESMf.js} +2 -2
- package/dist/{channels-B9yt3a2P.js.map → channels-BnFQESMf.js.map} +1 -1
- package/dist/{channels-BRoq3VKR.cjs → channels-Dzy6VM3w.cjs} +2 -2
- package/dist/{channels-BRoq3VKR.cjs.map → channels-Dzy6VM3w.cjs.map} +1 -1
- package/dist/{constants-ChBaIptn.cjs → constants-CXPpy-Ef.cjs} +7 -1
- package/dist/constants-CXPpy-Ef.cjs.map +1 -0
- package/dist/{constants-Cp1x-6sJ.js → constants-CutMu4A_.js} +7 -1
- package/dist/constants-CutMu4A_.js.map +1 -0
- package/dist/{dist-BJ9n8vHL.cjs → dist-C2O8fRb-.cjs} +76 -13
- package/dist/dist-C2O8fRb-.cjs.map +1 -0
- package/dist/{dist-Bpz9F_9G.js → dist-DNaReo7-.js} +76 -13
- package/dist/dist-DNaReo7-.js.map +1 -0
- package/dist/docs/SKILL.md +2 -2
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/{docs-agents-a2a.md → docs-connections-a2a.md} +2 -2
- package/dist/docs/references/docs-server-custom-api-routes.md +2 -2
- package/dist/{editor-builder-DT7ypWfa.cjs → editor-builder-1L3OIY4K.cjs} +2 -2
- package/dist/{editor-builder-DT7ypWfa.cjs.map → editor-builder-1L3OIY4K.cjs.map} +1 -1
- package/dist/{editor-builder-DJUxdzC8.js → editor-builder-BDEm-gZe.js} +2 -2
- package/dist/{editor-builder-DJUxdzC8.js.map → editor-builder-BDEm-gZe.js.map} +1 -1
- package/dist/{editor-builder-C3ZvffGu.cjs → editor-builder-DNRVszU-.cjs} +2 -2
- package/dist/{editor-builder-C3ZvffGu.cjs.map → editor-builder-DNRVszU-.cjs.map} +1 -1
- package/dist/{editor-builder-Byg6wbi6.js → editor-builder-EP9FAtQm.js} +2 -2
- package/dist/{editor-builder-Byg6wbi6.js.map → editor-builder-EP9FAtQm.js.map} +1 -1
- package/dist/{helpers-TmTGZi8e.cjs → helpers-C54OMiDG.cjs} +2 -2
- package/dist/{helpers-TmTGZi8e.cjs.map → helpers-C54OMiDG.cjs.map} +1 -1
- package/dist/{helpers-GyeAi5YN.js → helpers-Da9nPOFL.js} +2 -2
- package/dist/{helpers-GyeAi5YN.js.map → helpers-Da9nPOFL.js.map} +1 -1
- package/dist/{routes-BpOjCX2F.js → routes-iUe0w9eL.js} +7 -5
- package/dist/routes-iUe0w9eL.js.map +1 -0
- package/dist/{routes-BBRC9gg2.cjs → routes-mK_LlDMo.cjs} +7 -5
- package/dist/routes-mK_LlDMo.cjs.map +1 -0
- package/dist/server/auth/index.cjs +2 -2
- package/dist/server/auth/index.js +2 -2
- package/dist/server/constants.d.ts +5 -0
- package/dist/server/constants.d.ts.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 +3 -3
- package/dist/server/handlers/agent-builder.js +3 -3
- package/dist/server/handlers/agent-controller.cjs +32 -4
- package/dist/server/handlers/agent-controller.cjs.map +1 -1
- package/dist/server/handlers/agent-controller.d.ts +18 -0
- package/dist/server/handlers/agent-controller.d.ts.map +1 -1
- package/dist/server/handlers/agent-controller.js +32 -4
- package/dist/server/handlers/agent-controller.js.map +1 -1
- package/dist/server/handlers/agent-versions.cjs +1 -1
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +4 -4
- package/dist/server/handlers/agents.js +4 -4
- package/dist/server/handlers/auth.cjs +2 -2
- package/dist/server/handlers/auth.js +2 -2
- package/dist/server/handlers/authorship.cjs +1 -1
- package/dist/server/handlers/authorship.js +1 -1
- package/dist/server/handlers/builder-registry.cjs +1 -1
- package/dist/server/handlers/builder-registry.js +1 -1
- package/dist/server/handlers/channels.cjs +1 -1
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +1 -1
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/datasets.cjs +1 -1
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/editor-builder.cjs +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/logs.cjs +1 -1
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +2 -2
- package/dist/server/handlers/mcp-client-versions.js +2 -2
- package/dist/server/handlers/mcp.cjs.map +1 -1
- package/dist/server/handlers/mcp.d.ts +6 -0
- package/dist/server/handlers/mcp.d.ts.map +1 -1
- package/dist/server/handlers/mcp.js.map +1 -1
- package/dist/server/handlers/memory.cjs +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/plans.cjs +64 -0
- package/dist/server/handlers/plans.cjs.map +1 -0
- package/dist/server/handlers/plans.d.ts +43 -0
- package/dist/server/handlers/plans.d.ts.map +1 -0
- package/dist/server/handlers/plans.js +57 -0
- package/dist/server/handlers/plans.js.map +1 -0
- package/dist/server/handlers/prompt-block-versions.cjs +2 -2
- package/dist/server/handlers/prompt-block-versions.js +2 -2
- package/dist/server/handlers/responses.adapter.cjs +1 -1
- package/dist/server/handlers/responses.adapter.js +1 -1
- package/dist/server/handlers/responses.cjs +1 -1
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/responses.storage.cjs +1 -1
- package/dist/server/handlers/responses.storage.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +2 -2
- package/dist/server/handlers/scorer-versions.js +2 -2
- package/dist/server/handlers/stored-agent-favorites.cjs +2 -2
- package/dist/server/handlers/stored-agent-favorites.js +2 -2
- package/dist/server/handlers/stored-agents.cjs +2 -2
- package/dist/server/handlers/stored-agents.js +2 -2
- package/dist/server/handlers/stored-mcp-clients.cjs +2 -2
- package/dist/server/handlers/stored-mcp-clients.js +2 -2
- package/dist/server/handlers/stored-prompt-blocks.cjs +2 -2
- package/dist/server/handlers/stored-prompt-blocks.js +2 -2
- package/dist/server/handlers/stored-scorers.cjs +2 -2
- package/dist/server/handlers/stored-scorers.js +2 -2
- package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
- package/dist/server/handlers/stored-skill-favorites.js +3 -3
- package/dist/server/handlers/stored-skills.cjs +3 -3
- package/dist/server/handlers/stored-skills.js +3 -3
- package/dist/server/handlers/stored-workspaces.cjs +1 -1
- package/dist/server/handlers/stored-workspaces.js +1 -1
- package/dist/server/handlers/system.cjs +1 -1
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tool-providers.cjs +1 -1
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +3 -3
- package/dist/server/handlers/tools.js +3 -3
- package/dist/server/handlers/utils.cjs +1 -1
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/validate-agent-instructions.cjs +1 -1
- package/dist/server/handlers/validate-agent-instructions.js +1 -1
- package/dist/server/handlers/workflows.cjs +3 -3
- package/dist/server/handlers/workflows.js +3 -3
- package/dist/server/handlers.cjs +8 -1
- package/dist/server/handlers.d.ts +1 -0
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +3 -2
- package/dist/server/schemas/agents.d.ts +12 -0
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +5 -3
- package/dist/server/schemas/index.js +4 -4
- package/dist/server/server-adapter/index.cjs +66 -4
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.d.ts +12 -0
- package/dist/server/server-adapter/index.d.ts.map +1 -1
- package/dist/server/server-adapter/index.js +65 -5
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/mcp-auth.d.ts +43 -0
- package/dist/server/server-adapter/mcp-auth.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agents.d.ts +2 -0
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
- package/dist/{utils-Bna_JCkb.cjs → utils-BkPZAGxS.cjs} +2 -2
- package/dist/{utils-Bna_JCkb.cjs.map → utils-BkPZAGxS.cjs.map} +1 -1
- package/dist/{utils-wTwyTjg3.cjs → utils-CXbhpYYv.cjs} +2 -2
- package/dist/{utils-wTwyTjg3.cjs.map → utils-CXbhpYYv.cjs.map} +1 -1
- package/dist/{utils-QXKhjIm6.js → utils-CljhO7OY.js} +2 -2
- package/dist/{utils-QXKhjIm6.js.map → utils-CljhO7OY.js.map} +1 -1
- package/dist/{utils-CmHd1Sgh.js → utils-qMLbyf2U.js} +2 -2
- package/dist/{utils-CmHd1Sgh.js.map → utils-qMLbyf2U.js.map} +1 -1
- package/package.json +6 -6
- package/dist/agents-0Tw3kkD_.cjs.map +0 -1
- package/dist/agents-uT8ZDE4k.js.map +0 -1
- package/dist/constants-ChBaIptn.cjs.map +0 -1
- package/dist/constants-Cp1x-6sJ.js.map +0 -1
- package/dist/dist-BJ9n8vHL.cjs.map +0 -1
- package/dist/dist-Bpz9F_9G.js.map +0 -1
- package/dist/routes-BBRC9gg2.cjs.map +0 -1
- package/dist/routes-BpOjCX2F.js.map +0 -1
|
@@ -13,9 +13,9 @@ import { MastraMemory, getThreadOMMetadata, parseMemoryRequestContext, setThread
|
|
|
13
13
|
import { Agent, MessageList, isSupportedLanguageModel, tryGenerateWithJsonFallback, tryStreamWithJsonFallback } from "@mastra/core/agent";
|
|
14
14
|
import { ErrorCategory, ErrorDomain, MastraError } from "@mastra/core/error";
|
|
15
15
|
import { ModelRouterLanguageModel, modelSupportsAttachments, resolveModelConfig } from "@mastra/core/llm";
|
|
16
|
+
import { createTool } from "@mastra/core/tools";
|
|
16
17
|
import { inspect, promisify } from "util";
|
|
17
18
|
import { createHash, randomBytes, randomUUID } from "crypto";
|
|
18
|
-
import { createTool } from "@mastra/core/tools";
|
|
19
19
|
import { generateEmptyFromSchema } from "@mastra/core/utils";
|
|
20
20
|
import { InMemoryStore } from "@mastra/core/storage";
|
|
21
21
|
import { coreFeatures } from "@mastra/core/features";
|
|
@@ -4693,7 +4693,7 @@ function splitLines(text) {
|
|
|
4693
4693
|
return result;
|
|
4694
4694
|
}
|
|
4695
4695
|
//#endregion
|
|
4696
|
-
//#region ../memory/dist/src-
|
|
4696
|
+
//#region ../memory/dist/src-C-nmWgoF.js
|
|
4697
4697
|
var __defProp$3 = Object.defineProperty;
|
|
4698
4698
|
var __exportAll = (all, no_symbols) => {
|
|
4699
4699
|
let target = {};
|
|
@@ -24465,21 +24465,22 @@ const SET_WORKING_MEMORY_TOOL_NAME = "setWorkingMemory";
|
|
|
24465
24465
|
/**
|
|
24466
24466
|
* Deep merges two objects, with special handling for null values (delete) and arrays (replace).
|
|
24467
24467
|
* - Object properties are recursively merged
|
|
24468
|
-
* - null values in the update will delete the corresponding property
|
|
24468
|
+
* - null values in the update will delete the corresponding property, even when the property
|
|
24469
|
+
* or its parent object does not exist yet (so padded nulls never get stored literally)
|
|
24469
24470
|
* - Arrays are replaced entirely (not merged element-by-element)
|
|
24470
24471
|
* - Primitive values are overwritten
|
|
24472
|
+
* - The returned object is always newly constructed and never aliases `update`
|
|
24471
24473
|
*/
|
|
24472
24474
|
function deepMergeWorkingMemory(existing, update) {
|
|
24473
24475
|
if (!update || typeof update !== "object" || Object.keys(update).length === 0) return existing && typeof existing === "object" ? { ...existing } : {};
|
|
24474
|
-
|
|
24475
|
-
const result = { ...existing };
|
|
24476
|
+
const result = { ...existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {} };
|
|
24476
24477
|
for (const key of Object.keys(update)) {
|
|
24477
24478
|
const updateValue = update[key];
|
|
24478
24479
|
const existingValue = result[key];
|
|
24479
24480
|
if (updateValue === void 0) continue;
|
|
24480
24481
|
if (updateValue === null) delete result[key];
|
|
24481
24482
|
else if (Array.isArray(updateValue)) result[key] = updateValue;
|
|
24482
|
-
else if (typeof updateValue === "object"
|
|
24483
|
+
else if (typeof updateValue === "object") result[key] = deepMergeWorkingMemory(existingValue && typeof existingValue === "object" && !Array.isArray(existingValue) ? existingValue : void 0, updateValue);
|
|
24483
24484
|
else result[key] = updateValue;
|
|
24484
24485
|
}
|
|
24485
24486
|
return result;
|
|
@@ -26822,7 +26823,7 @@ var ObservationStep = class {
|
|
|
26822
26823
|
messageList.removeByIds(candidates.map((msg) => msg.id));
|
|
26823
26824
|
for (const msg of candidates) messageList.add(msg, "memory");
|
|
26824
26825
|
}
|
|
26825
|
-
om.buffer({
|
|
26826
|
+
om.trackBackgroundWork(om.buffer({
|
|
26826
26827
|
threadId,
|
|
26827
26828
|
resourceId,
|
|
26828
26829
|
messages: unobservedMessages,
|
|
@@ -26833,7 +26834,7 @@ var ObservationStep = class {
|
|
|
26833
26834
|
observabilityContext: this.turn.observabilityContext
|
|
26834
26835
|
}).catch((err) => {
|
|
26835
26836
|
omDebug(`[OM:buffer] fire-and-forget buffer failed: ${err?.message}`);
|
|
26836
|
-
});
|
|
26837
|
+
}));
|
|
26837
26838
|
buffered = true;
|
|
26838
26839
|
}
|
|
26839
26840
|
const willObserveNow = statusSnapshot.shouldObserve && !hasIncompleteToolCalls;
|
|
@@ -27199,7 +27200,7 @@ var ObservationTurn = class {
|
|
|
27199
27200
|
const allMessages = getObservableMessages(this.messageList);
|
|
27200
27201
|
const record = this._record;
|
|
27201
27202
|
const unobservedMessages = this.om.getUnobservedMessages(allMessages, record);
|
|
27202
|
-
if (unobservedMessages.length > 0) this.om.buffer({
|
|
27203
|
+
if (unobservedMessages.length > 0) this.om.trackBackgroundWork(this.om.buffer({
|
|
27203
27204
|
threadId: this.threadId,
|
|
27204
27205
|
resourceId: this.resourceId,
|
|
27205
27206
|
messages: unobservedMessages,
|
|
@@ -27213,7 +27214,7 @@ var ObservationTurn = class {
|
|
|
27213
27214
|
skipMinimumTokenCheck: true
|
|
27214
27215
|
}).catch((err) => {
|
|
27215
27216
|
omDebug(`[OM:turn.end] idle buffer failed: ${err?.message}`);
|
|
27216
|
-
});
|
|
27217
|
+
}));
|
|
27217
27218
|
}
|
|
27218
27219
|
return { record: this._record };
|
|
27219
27220
|
}
|
|
@@ -27693,6 +27694,8 @@ var ReflectorRunner = class {
|
|
|
27693
27694
|
};
|
|
27694
27695
|
let reflectedTokens = 0;
|
|
27695
27696
|
let attemptNumber = 0;
|
|
27697
|
+
/** Observations from the previous attempt, used to detect a no-progress ladder. */
|
|
27698
|
+
let previousObservations;
|
|
27696
27699
|
while (currentLevel <= maxLevel) {
|
|
27697
27700
|
attemptNumber++;
|
|
27698
27701
|
const isRetry = attemptNumber > 1;
|
|
@@ -27766,6 +27769,11 @@ var ReflectorRunner = class {
|
|
|
27766
27769
|
omDebug(`[OM:callReflector] degenerate output persists at maxLevel=${maxLevel}, breaking`);
|
|
27767
27770
|
break;
|
|
27768
27771
|
}
|
|
27772
|
+
if (!parsed.degenerate && previousObservations !== void 0 && parsed.observations === previousObservations) {
|
|
27773
|
+
omDebug(`[OM:callReflector] attempt #${attemptNumber} returned output identical to the previous attempt; escalating cannot help, stopping the ladder`);
|
|
27774
|
+
break;
|
|
27775
|
+
}
|
|
27776
|
+
previousObservations = parsed.observations;
|
|
27769
27777
|
if (streamContext?.writer) {
|
|
27770
27778
|
const failedMarker = createObservationFailedMarker({
|
|
27771
27779
|
cycleId: streamContext.cycleId,
|
|
@@ -28740,6 +28748,39 @@ var ObservationalMemory = class ObservationalMemory {
|
|
|
28740
28748
|
*/
|
|
28741
28749
|
recordInitializations = /* @__PURE__ */ new Map();
|
|
28742
28750
|
/**
|
|
28751
|
+
* In-flight fire-and-forget background cycles (buffered observation, reflection).
|
|
28752
|
+
* Tracked so callers can join them via `settled()` before closing a storage
|
|
28753
|
+
* connection they own — otherwise a background cycle's tail statements race the close.
|
|
28754
|
+
*/
|
|
28755
|
+
pendingBackgroundWork = /* @__PURE__ */ new Set();
|
|
28756
|
+
/**
|
|
28757
|
+
* Register fire-and-forget background work so `settled()` can join it.
|
|
28758
|
+
* Returns the original promise so callers keep their own rejection handling.
|
|
28759
|
+
*/
|
|
28760
|
+
trackBackgroundWork(work) {
|
|
28761
|
+
const tracked = work.catch(() => {}).finally(() => {
|
|
28762
|
+
this.pendingBackgroundWork.delete(tracked);
|
|
28763
|
+
});
|
|
28764
|
+
this.pendingBackgroundWork.add(tracked);
|
|
28765
|
+
return work;
|
|
28766
|
+
}
|
|
28767
|
+
/**
|
|
28768
|
+
* Resolve once all background observational-memory work started so far has finished.
|
|
28769
|
+
*
|
|
28770
|
+
* Background cycles enqueue further background work (a buffered observation can
|
|
28771
|
+
* trigger a reflection, which runs nested agent streams), so this drains repeatedly
|
|
28772
|
+
* until nothing is left rather than joining a single snapshot.
|
|
28773
|
+
*/
|
|
28774
|
+
async settled() {
|
|
28775
|
+
const maxDrainRounds = 100;
|
|
28776
|
+
for (let round = 0; round < maxDrainRounds; round++) {
|
|
28777
|
+
if (this.pendingBackgroundWork.size === 0) return;
|
|
28778
|
+
await Promise.allSettled([...this.pendingBackgroundWork]);
|
|
28779
|
+
}
|
|
28780
|
+
if (this.pendingBackgroundWork.size === 0) return;
|
|
28781
|
+
omError(`[OM:settled] background work still pending after ${maxDrainRounds} drain rounds; giving up waiting`);
|
|
28782
|
+
}
|
|
28783
|
+
/**
|
|
28743
28784
|
* Acquire a lock for the given key, execute the callback, then release.
|
|
28744
28785
|
* If a lock is already held, waits for it to be released before acquiring.
|
|
28745
28786
|
*/
|
|
@@ -29740,7 +29781,7 @@ ${formattedMessages}
|
|
|
29740
29781
|
if (!this.buffering.isAsyncObservationEnabled()) return false;
|
|
29741
29782
|
const lockKey = this.buffering.getLockKey(opts.threadId, opts.resourceId);
|
|
29742
29783
|
const shouldTrigger = this.buffering.shouldTriggerAsyncObservation(opts.pendingTokens, lockKey, opts.record, this.storage, opts.threshold);
|
|
29743
|
-
if (shouldTrigger) this.startAsyncBufferedObservation(opts.record, opts.threadId, opts.unobservedMessages, lockKey, opts.writer, opts.unbufferedPendingTokens, opts.requestContext);
|
|
29784
|
+
if (shouldTrigger) this.trackBackgroundWork(this.startAsyncBufferedObservation(opts.record, opts.threadId, opts.unobservedMessages, lockKey, opts.writer, opts.unbufferedPendingTokens, opts.requestContext));
|
|
29744
29785
|
return shouldTrigger;
|
|
29745
29786
|
}
|
|
29746
29787
|
isMessageList(value) {
|
|
@@ -30053,7 +30094,10 @@ ${formattedMessages}
|
|
|
30053
30094
|
}
|
|
30054
30095
|
};
|
|
30055
30096
|
omDebug(`[OM:status] step=${stepNumber} msgs=${pendingTokens}/${threshold} obs=${currentObservationTokens}/${effectiveObservationTokensThreshold} gen=${record.generationCount}`);
|
|
30056
|
-
await writer.custom(
|
|
30097
|
+
await writer.custom({
|
|
30098
|
+
...statusPart,
|
|
30099
|
+
transient: true
|
|
30100
|
+
}).catch(() => {});
|
|
30057
30101
|
}
|
|
30058
30102
|
}
|
|
30059
30103
|
/**
|
|
@@ -31540,6 +31584,25 @@ var Memory = class extends MastraMemory {
|
|
|
31540
31584
|
trackVectorCleanup(cleanup) {
|
|
31541
31585
|
this.pendingVectorCleanup = Promise.allSettled([this.pendingVectorCleanup, cleanup]).then(() => void 0);
|
|
31542
31586
|
}
|
|
31587
|
+
/**
|
|
31588
|
+
* Resolve once all background work this Memory started has finished: observational-memory
|
|
31589
|
+
* cycles (buffered observation and reflection, including the nested agent runs they spawn)
|
|
31590
|
+
* and vector cleanup from `deleteThread` / `deleteMessages`.
|
|
31591
|
+
*
|
|
31592
|
+
* Callers that own the storage connection should await this before closing it, otherwise
|
|
31593
|
+
* background statements can race the close.
|
|
31594
|
+
*
|
|
31595
|
+
* ```ts
|
|
31596
|
+
* await agent.generate('hello', { memory: { thread, resource } });
|
|
31597
|
+
* await memory.settled();
|
|
31598
|
+
* await store.close();
|
|
31599
|
+
* ```
|
|
31600
|
+
*/
|
|
31601
|
+
async settled() {
|
|
31602
|
+
await this.pendingVectorCleanup;
|
|
31603
|
+
await (this._omEngine ? await this._omEngine : this._omEngineInstance)?.settled();
|
|
31604
|
+
await this.pendingVectorCleanup;
|
|
31605
|
+
}
|
|
31543
31606
|
/** The shared ObservationalMemory engine. Lazily created on first access. */
|
|
31544
31607
|
get omEngine() {
|
|
31545
31608
|
if (!this._omEngine) this._omEngine = this._initOMEngine().then((engine) => {
|
|
@@ -43683,4 +43746,4 @@ const agentBuilderWorkflows = {
|
|
|
43683
43746
|
//#endregion
|
|
43684
43747
|
export { agentBuilderWorkflows };
|
|
43685
43748
|
|
|
43686
|
-
//# sourceMappingURL=dist-
|
|
43749
|
+
//# sourceMappingURL=dist-DNaReo7-.js.map
|