@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.
Files changed (173) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/_types/@internal_voice/dist/_types/@internal_core/dist/request-context/index.d.ts +12 -1
  3. package/dist/{a2a-CUkzkdTZ.js → a2a-B5m54dOP.js} +2 -2
  4. package/dist/{a2a-CUkzkdTZ.js.map → a2a-B5m54dOP.js.map} +1 -1
  5. package/dist/{a2a-DzZHH3OH.cjs → a2a-Eeib3vfP.cjs} +2 -2
  6. package/dist/{a2a-DzZHH3OH.cjs.map → a2a-Eeib3vfP.cjs.map} +1 -1
  7. package/dist/{agents-uT8ZDE4k.js → agents-BetrUB_N.js} +7 -2
  8. package/dist/agents-BetrUB_N.js.map +1 -0
  9. package/dist/{agents-0Tw3kkD_.cjs → agents-CLv_RFQx.cjs} +18 -1
  10. package/dist/agents-CLv_RFQx.cjs.map +1 -0
  11. package/dist/{api-schema-manifest-BlxXMFWo.js → api-schema-manifest-BKTXRheC.js} +2 -2
  12. package/dist/{api-schema-manifest-BlxXMFWo.js.map → api-schema-manifest-BKTXRheC.js.map} +1 -1
  13. package/dist/{api-schema-manifest-iAEVS-Re.cjs → api-schema-manifest-BbNdh5Ck.cjs} +2 -2
  14. package/dist/{api-schema-manifest-iAEVS-Re.cjs.map → api-schema-manifest-BbNdh5Ck.cjs.map} +1 -1
  15. package/dist/{builder-registry-B8KyPAOP.js → builder-registry-CqLsr39q.js} +2 -2
  16. package/dist/{builder-registry-B8KyPAOP.js.map → builder-registry-CqLsr39q.js.map} +1 -1
  17. package/dist/{builder-registry-Dcou-kzd.cjs → builder-registry-CyaUg_iP.cjs} +2 -2
  18. package/dist/{builder-registry-Dcou-kzd.cjs.map → builder-registry-CyaUg_iP.cjs.map} +1 -1
  19. package/dist/{channels-B9yt3a2P.js → channels-BnFQESMf.js} +2 -2
  20. package/dist/{channels-B9yt3a2P.js.map → channels-BnFQESMf.js.map} +1 -1
  21. package/dist/{channels-BRoq3VKR.cjs → channels-Dzy6VM3w.cjs} +2 -2
  22. package/dist/{channels-BRoq3VKR.cjs.map → channels-Dzy6VM3w.cjs.map} +1 -1
  23. package/dist/{constants-ChBaIptn.cjs → constants-CXPpy-Ef.cjs} +7 -1
  24. package/dist/constants-CXPpy-Ef.cjs.map +1 -0
  25. package/dist/{constants-Cp1x-6sJ.js → constants-CutMu4A_.js} +7 -1
  26. package/dist/constants-CutMu4A_.js.map +1 -0
  27. package/dist/{dist-BJ9n8vHL.cjs → dist-C2O8fRb-.cjs} +76 -13
  28. package/dist/dist-C2O8fRb-.cjs.map +1 -0
  29. package/dist/{dist-Bpz9F_9G.js → dist-DNaReo7-.js} +76 -13
  30. package/dist/dist-DNaReo7-.js.map +1 -0
  31. package/dist/docs/SKILL.md +2 -2
  32. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  33. package/dist/docs/references/{docs-agents-a2a.md → docs-connections-a2a.md} +2 -2
  34. package/dist/docs/references/docs-server-custom-api-routes.md +2 -2
  35. package/dist/{editor-builder-DT7ypWfa.cjs → editor-builder-1L3OIY4K.cjs} +2 -2
  36. package/dist/{editor-builder-DT7ypWfa.cjs.map → editor-builder-1L3OIY4K.cjs.map} +1 -1
  37. package/dist/{editor-builder-DJUxdzC8.js → editor-builder-BDEm-gZe.js} +2 -2
  38. package/dist/{editor-builder-DJUxdzC8.js.map → editor-builder-BDEm-gZe.js.map} +1 -1
  39. package/dist/{editor-builder-C3ZvffGu.cjs → editor-builder-DNRVszU-.cjs} +2 -2
  40. package/dist/{editor-builder-C3ZvffGu.cjs.map → editor-builder-DNRVszU-.cjs.map} +1 -1
  41. package/dist/{editor-builder-Byg6wbi6.js → editor-builder-EP9FAtQm.js} +2 -2
  42. package/dist/{editor-builder-Byg6wbi6.js.map → editor-builder-EP9FAtQm.js.map} +1 -1
  43. package/dist/{helpers-TmTGZi8e.cjs → helpers-C54OMiDG.cjs} +2 -2
  44. package/dist/{helpers-TmTGZi8e.cjs.map → helpers-C54OMiDG.cjs.map} +1 -1
  45. package/dist/{helpers-GyeAi5YN.js → helpers-Da9nPOFL.js} +2 -2
  46. package/dist/{helpers-GyeAi5YN.js.map → helpers-Da9nPOFL.js.map} +1 -1
  47. package/dist/{routes-BpOjCX2F.js → routes-iUe0w9eL.js} +7 -5
  48. package/dist/routes-iUe0w9eL.js.map +1 -0
  49. package/dist/{routes-BBRC9gg2.cjs → routes-mK_LlDMo.cjs} +7 -5
  50. package/dist/routes-mK_LlDMo.cjs.map +1 -0
  51. package/dist/server/auth/index.cjs +2 -2
  52. package/dist/server/auth/index.js +2 -2
  53. package/dist/server/constants.d.ts +5 -0
  54. package/dist/server/constants.d.ts.map +1 -1
  55. package/dist/server/handlers/a2a.cjs +1 -1
  56. package/dist/server/handlers/a2a.js +1 -1
  57. package/dist/server/handlers/agent-builder.cjs +3 -3
  58. package/dist/server/handlers/agent-builder.js +3 -3
  59. package/dist/server/handlers/agent-controller.cjs +32 -4
  60. package/dist/server/handlers/agent-controller.cjs.map +1 -1
  61. package/dist/server/handlers/agent-controller.d.ts +18 -0
  62. package/dist/server/handlers/agent-controller.d.ts.map +1 -1
  63. package/dist/server/handlers/agent-controller.js +32 -4
  64. package/dist/server/handlers/agent-controller.js.map +1 -1
  65. package/dist/server/handlers/agent-versions.cjs +1 -1
  66. package/dist/server/handlers/agent-versions.js +1 -1
  67. package/dist/server/handlers/agents.cjs +4 -4
  68. package/dist/server/handlers/agents.js +4 -4
  69. package/dist/server/handlers/auth.cjs +2 -2
  70. package/dist/server/handlers/auth.js +2 -2
  71. package/dist/server/handlers/authorship.cjs +1 -1
  72. package/dist/server/handlers/authorship.js +1 -1
  73. package/dist/server/handlers/builder-registry.cjs +1 -1
  74. package/dist/server/handlers/builder-registry.js +1 -1
  75. package/dist/server/handlers/channels.cjs +1 -1
  76. package/dist/server/handlers/channels.js +1 -1
  77. package/dist/server/handlers/conversations.cjs +1 -1
  78. package/dist/server/handlers/conversations.js +1 -1
  79. package/dist/server/handlers/datasets.cjs +1 -1
  80. package/dist/server/handlers/datasets.js +1 -1
  81. package/dist/server/handlers/editor-builder.cjs +1 -1
  82. package/dist/server/handlers/editor-builder.js +1 -1
  83. package/dist/server/handlers/favorites-enrichment.cjs +1 -1
  84. package/dist/server/handlers/favorites-enrichment.js +1 -1
  85. package/dist/server/handlers/logs.cjs +1 -1
  86. package/dist/server/handlers/logs.js +1 -1
  87. package/dist/server/handlers/mcp-client-versions.cjs +2 -2
  88. package/dist/server/handlers/mcp-client-versions.js +2 -2
  89. package/dist/server/handlers/mcp.cjs.map +1 -1
  90. package/dist/server/handlers/mcp.d.ts +6 -0
  91. package/dist/server/handlers/mcp.d.ts.map +1 -1
  92. package/dist/server/handlers/mcp.js.map +1 -1
  93. package/dist/server/handlers/memory.cjs +1 -1
  94. package/dist/server/handlers/memory.js +1 -1
  95. package/dist/server/handlers/plans.cjs +64 -0
  96. package/dist/server/handlers/plans.cjs.map +1 -0
  97. package/dist/server/handlers/plans.d.ts +43 -0
  98. package/dist/server/handlers/plans.d.ts.map +1 -0
  99. package/dist/server/handlers/plans.js +57 -0
  100. package/dist/server/handlers/plans.js.map +1 -0
  101. package/dist/server/handlers/prompt-block-versions.cjs +2 -2
  102. package/dist/server/handlers/prompt-block-versions.js +2 -2
  103. package/dist/server/handlers/responses.adapter.cjs +1 -1
  104. package/dist/server/handlers/responses.adapter.js +1 -1
  105. package/dist/server/handlers/responses.cjs +1 -1
  106. package/dist/server/handlers/responses.js +1 -1
  107. package/dist/server/handlers/responses.storage.cjs +1 -1
  108. package/dist/server/handlers/responses.storage.js +1 -1
  109. package/dist/server/handlers/scorer-versions.cjs +2 -2
  110. package/dist/server/handlers/scorer-versions.js +2 -2
  111. package/dist/server/handlers/stored-agent-favorites.cjs +2 -2
  112. package/dist/server/handlers/stored-agent-favorites.js +2 -2
  113. package/dist/server/handlers/stored-agents.cjs +2 -2
  114. package/dist/server/handlers/stored-agents.js +2 -2
  115. package/dist/server/handlers/stored-mcp-clients.cjs +2 -2
  116. package/dist/server/handlers/stored-mcp-clients.js +2 -2
  117. package/dist/server/handlers/stored-prompt-blocks.cjs +2 -2
  118. package/dist/server/handlers/stored-prompt-blocks.js +2 -2
  119. package/dist/server/handlers/stored-scorers.cjs +2 -2
  120. package/dist/server/handlers/stored-scorers.js +2 -2
  121. package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
  122. package/dist/server/handlers/stored-skill-favorites.js +3 -3
  123. package/dist/server/handlers/stored-skills.cjs +3 -3
  124. package/dist/server/handlers/stored-skills.js +3 -3
  125. package/dist/server/handlers/stored-workspaces.cjs +1 -1
  126. package/dist/server/handlers/stored-workspaces.js +1 -1
  127. package/dist/server/handlers/system.cjs +1 -1
  128. package/dist/server/handlers/system.js +1 -1
  129. package/dist/server/handlers/tool-providers.cjs +1 -1
  130. package/dist/server/handlers/tool-providers.js +1 -1
  131. package/dist/server/handlers/tools.cjs +3 -3
  132. package/dist/server/handlers/tools.js +3 -3
  133. package/dist/server/handlers/utils.cjs +1 -1
  134. package/dist/server/handlers/utils.js +1 -1
  135. package/dist/server/handlers/validate-agent-instructions.cjs +1 -1
  136. package/dist/server/handlers/validate-agent-instructions.js +1 -1
  137. package/dist/server/handlers/workflows.cjs +3 -3
  138. package/dist/server/handlers/workflows.js +3 -3
  139. package/dist/server/handlers.cjs +8 -1
  140. package/dist/server/handlers.d.ts +1 -0
  141. package/dist/server/handlers.d.ts.map +1 -1
  142. package/dist/server/handlers.js +3 -2
  143. package/dist/server/schemas/agents.d.ts +12 -0
  144. package/dist/server/schemas/agents.d.ts.map +1 -1
  145. package/dist/server/schemas/index.cjs +5 -3
  146. package/dist/server/schemas/index.js +4 -4
  147. package/dist/server/server-adapter/index.cjs +66 -4
  148. package/dist/server/server-adapter/index.cjs.map +1 -1
  149. package/dist/server/server-adapter/index.d.ts +12 -0
  150. package/dist/server/server-adapter/index.d.ts.map +1 -1
  151. package/dist/server/server-adapter/index.js +65 -5
  152. package/dist/server/server-adapter/index.js.map +1 -1
  153. package/dist/server/server-adapter/mcp-auth.d.ts +43 -0
  154. package/dist/server/server-adapter/mcp-auth.d.ts.map +1 -0
  155. package/dist/server/server-adapter/routes/agents.d.ts +2 -0
  156. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  157. package/dist/{utils-Bna_JCkb.cjs → utils-BkPZAGxS.cjs} +2 -2
  158. package/dist/{utils-Bna_JCkb.cjs.map → utils-BkPZAGxS.cjs.map} +1 -1
  159. package/dist/{utils-wTwyTjg3.cjs → utils-CXbhpYYv.cjs} +2 -2
  160. package/dist/{utils-wTwyTjg3.cjs.map → utils-CXbhpYYv.cjs.map} +1 -1
  161. package/dist/{utils-QXKhjIm6.js → utils-CljhO7OY.js} +2 -2
  162. package/dist/{utils-QXKhjIm6.js.map → utils-CljhO7OY.js.map} +1 -1
  163. package/dist/{utils-CmHd1Sgh.js → utils-qMLbyf2U.js} +2 -2
  164. package/dist/{utils-CmHd1Sgh.js.map → utils-qMLbyf2U.js.map} +1 -1
  165. package/package.json +6 -6
  166. package/dist/agents-0Tw3kkD_.cjs.map +0 -1
  167. package/dist/agents-uT8ZDE4k.js.map +0 -1
  168. package/dist/constants-ChBaIptn.cjs.map +0 -1
  169. package/dist/constants-Cp1x-6sJ.js.map +0 -1
  170. package/dist/dist-BJ9n8vHL.cjs.map +0 -1
  171. package/dist/dist-Bpz9F_9G.js.map +0 -1
  172. package/dist/routes-BBRC9gg2.cjs.map +0 -1
  173. package/dist/routes-BpOjCX2F.js.map +0 -1
@@ -12,9 +12,9 @@ let _mastra_core_memory = require("@mastra/core/memory");
12
12
  let _mastra_core_agent = require("@mastra/core/agent");
13
13
  let _mastra_core_error = require("@mastra/core/error");
14
14
  let _mastra_core_llm = require("@mastra/core/llm");
15
+ let _mastra_core_tools = require("@mastra/core/tools");
15
16
  let util = require("util");
16
17
  let crypto$1 = require("crypto");
17
- let _mastra_core_tools = require("@mastra/core/tools");
18
18
  let _mastra_core_utils = require("@mastra/core/utils");
19
19
  let _mastra_core_storage = require("@mastra/core/storage");
20
20
  let _mastra_core_features = require("@mastra/core/features");
@@ -4693,7 +4693,7 @@ function splitLines(text) {
4693
4693
  return result;
4694
4694
  }
4695
4695
  //#endregion
4696
- //#region ../memory/dist/src-BUlG9vaB.js
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
- if (!existing || typeof existing !== "object") return update;
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" && updateValue !== null && typeof existingValue === "object" && existingValue !== null && !Array.isArray(existingValue)) result[key] = deepMergeWorkingMemory(existingValue, updateValue);
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(statusPart).catch(() => {});
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 _mastra_core_memory.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) => {
@@ -43686,4 +43749,4 @@ const agentBuilderWorkflows = {
43686
43749
  //#endregion
43687
43750
  exports.agentBuilderWorkflows = agentBuilderWorkflows;
43688
43751
 
43689
- //# sourceMappingURL=dist-BJ9n8vHL.cjs.map
43752
+ //# sourceMappingURL=dist-C2O8fRb-.cjs.map