@mastra/memory 1.20.3-alpha.0 → 1.20.5

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 (30) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/{chunk-4TZ5SRFX.cjs → chunk-2ZNDDQ6X.cjs} +31 -12
  3. package/dist/chunk-2ZNDDQ6X.cjs.map +1 -0
  4. package/dist/{chunk-YJJXL5KY.js → chunk-3I6H2ABM.js} +31 -12
  5. package/dist/chunk-3I6H2ABM.js.map +1 -0
  6. package/dist/docs/SKILL.md +2 -1
  7. package/dist/docs/assets/SOURCE_MAP.json +47 -47
  8. package/dist/docs/references/docs-agents-goals.md +110 -0
  9. package/dist/index.cjs +23 -19
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +14 -10
  13. package/dist/index.js.map +1 -1
  14. package/dist/{observational-memory-6SHFQDPT.cjs → observational-memory-XZTKSWPR.cjs} +26 -26
  15. package/dist/{observational-memory-6SHFQDPT.cjs.map → observational-memory-XZTKSWPR.cjs.map} +1 -1
  16. package/dist/{observational-memory-NIGWGBLT.js → observational-memory-Y5T2OR2Y.js} +3 -3
  17. package/dist/{observational-memory-NIGWGBLT.js.map → observational-memory-Y5T2OR2Y.js.map} +1 -1
  18. package/dist/processors/index.cjs +24 -24
  19. package/dist/processors/index.js +1 -1
  20. package/dist/processors/observational-memory/internal-request-context.d.ts +10 -0
  21. package/dist/processors/observational-memory/internal-request-context.d.ts.map +1 -0
  22. package/dist/processors/observational-memory/model-context.d.ts +0 -8
  23. package/dist/processors/observational-memory/model-context.d.ts.map +1 -1
  24. package/dist/processors/observational-memory/observation-strategies/async-buffer.d.ts.map +1 -1
  25. package/dist/processors/observational-memory/observation-strategies/sync.d.ts.map +1 -1
  26. package/dist/processors/observational-memory/observer-runner.d.ts.map +1 -1
  27. package/dist/processors/observational-memory/reflector-runner.d.ts.map +1 -1
  28. package/package.json +13 -13
  29. package/dist/chunk-4TZ5SRFX.cjs.map +0 -1
  30. package/dist/chunk-YJJXL5KY.js.map +0 -1
@@ -9,6 +9,7 @@ import { join } from 'path';
9
9
  import { createHash, randomBytes, randomUUID } from 'crypto';
10
10
  import { estimateTokenCount } from 'tokenx';
11
11
  import { Agent } from '@mastra/core/agent';
12
+ import { MASTRA_THREAD_ID_KEY, RequestContext } from '@mastra/core/request-context';
12
13
  import { getOrCreateSpan, EntityType, SpanType, createObservabilityContext } from '@mastra/core/observability';
13
14
  import { inspect } from 'util';
14
15
  import { AsyncLocalStorage } from 'async_hooks';
@@ -243,16 +244,23 @@ var BufferingCoordinator = class _BufferingCoordinator {
243
244
  };
244
245
 
245
246
  // src/processors/observational-memory/model-context.ts
247
+ function parseComparableModelContext(model) {
248
+ const slashIndex = model.indexOf("/");
249
+ if (slashIndex === -1) return { modelId: model };
250
+ return {
251
+ provider: model.slice(0, slashIndex).split(".")[0],
252
+ modelId: model.slice(slashIndex + 1)
253
+ };
254
+ }
246
255
  function didProviderChange(actorModel, lastModel) {
247
256
  if (actorModel === void 0 || lastModel === void 0) return false;
248
- const actorHasSlash = actorModel.includes("/");
249
- const lastHasSlash = lastModel.includes("/");
250
- if (actorHasSlash && lastHasSlash) {
251
- return actorModel !== lastModel;
257
+ const actorContext = parseComparableModelContext(actorModel);
258
+ const lastContext = parseComparableModelContext(lastModel);
259
+ if (actorContext.modelId !== lastContext.modelId) return true;
260
+ if (actorContext.provider && lastContext.provider) {
261
+ return actorContext.provider !== lastContext.provider;
252
262
  }
253
- const actorModelId = actorHasSlash ? actorModel.slice(actorModel.indexOf("/") + 1) : actorModel;
254
- const lastModelId = lastHasSlash ? lastModel.slice(lastModel.indexOf("/") + 1) : lastModel;
255
- return actorModelId !== lastModelId;
263
+ return false;
256
264
  }
257
265
 
258
266
  // src/processors/observational-memory/date-utils.ts
@@ -3906,6 +3914,14 @@ function optimizeObservationsForContext(observations) {
3906
3914
  optimized = optimized.replace(/\n{3,}/g, "\n\n");
3907
3915
  return optimized.trim();
3908
3916
  }
3917
+ function withOmInternalThreadId(requestContext, omAgentId) {
3918
+ if (!requestContext) return void 0;
3919
+ const parentThreadId = requestContext.get(MASTRA_THREAD_ID_KEY);
3920
+ if (typeof parentThreadId !== "string" || !parentThreadId) return requestContext;
3921
+ const internalRequestContext = new RequestContext(requestContext.entries());
3922
+ internalRequestContext.set(MASTRA_THREAD_ID_KEY, `${parentThreadId}-${omAgentId}`);
3923
+ return internalRequestContext;
3924
+ }
3909
3925
 
3910
3926
  // src/processors/observational-memory/retry.ts
3911
3927
  var RETRY_CONFIG = {
@@ -4167,6 +4183,7 @@ var ObserverRunner = class {
4167
4183
  const inputTokens = this.tokenCounter.countMessages(messagesToObserve);
4168
4184
  const resolvedModel = options?.model ? { model: options.model } : this.resolveModel(inputTokens);
4169
4185
  const agent = this.createAgent(resolvedModel.model);
4186
+ const internalRequestContext = withOmInternalThreadId(options?.requestContext, agent.id);
4170
4187
  const attachmentFilter = this.resolveAttachmentFilter(resolvedModel.model, options?.requestContext);
4171
4188
  const observerMessages = [
4172
4189
  {
@@ -4202,7 +4219,7 @@ var ObserverRunner = class {
4202
4219
  modelSettings: { ...this.observationConfig.modelSettings },
4203
4220
  providerOptions: this.observationConfig.providerOptions,
4204
4221
  ...abortSignal ? { abortSignal } : {},
4205
- ...options?.requestContext ? { requestContext: options.requestContext } : {},
4222
+ ...internalRequestContext ? { requestContext: internalRequestContext } : {},
4206
4223
  ...childObservabilityContext
4207
4224
  });
4208
4225
  return streamResult.getFullOutput();
@@ -4264,6 +4281,7 @@ var ObserverRunner = class {
4264
4281
  );
4265
4282
  const resolvedModel = model ? { model } : this.resolveModel(inputTokens);
4266
4283
  const agent = this.createAgent(resolvedModel.model, true);
4284
+ const internalRequestContext = withOmInternalThreadId(requestContext, agent.id);
4267
4285
  const multiThreadAttachmentFilter = this.resolveAttachmentFilter(resolvedModel.model, requestContext);
4268
4286
  const observerMessages = [
4269
4287
  {
@@ -4306,7 +4324,7 @@ var ObserverRunner = class {
4306
4324
  modelSettings: { ...this.observationConfig.modelSettings },
4307
4325
  providerOptions: this.observationConfig.providerOptions,
4308
4326
  ...abortSignal ? { abortSignal } : {},
4309
- ...requestContext ? { requestContext } : {},
4327
+ ...internalRequestContext ? { requestContext: internalRequestContext } : {},
4310
4328
  ...childObservabilityContext
4311
4329
  });
4312
4330
  return streamResult.getFullOutput();
@@ -4741,6 +4759,7 @@ var ReflectorRunner = class {
4741
4759
  const originalTokens = this.tokenCounter.countObservations(observations);
4742
4760
  const resolvedModel = model ? { model } : this.resolveModel(originalTokens);
4743
4761
  const agent = this.createAgent(resolvedModel.model);
4762
+ const internalRequestContext = withOmInternalThreadId(requestContext, agent.id);
4744
4763
  const targetThreshold = observationTokensThreshold ?? getMaxThreshold(this.reflectionConfig.observationTokens);
4745
4764
  let totalUsage = { inputTokens: 0, outputTokens: 0, totalTokens: 0 };
4746
4765
  const startLevel = compressionStartLevel ?? 0;
@@ -4781,7 +4800,7 @@ var ReflectorRunner = class {
4781
4800
  },
4782
4801
  providerOptions: this.reflectionConfig.providerOptions,
4783
4802
  ...abortSignal ? { abortSignal } : {},
4784
- ...requestContext ? { requestContext } : {},
4803
+ ...internalRequestContext ? { requestContext: internalRequestContext } : {},
4785
4804
  ...childObservabilityContext,
4786
4805
  ...attemptNumber === 1 ? {
4787
4806
  onChunk(chunk) {
@@ -9987,5 +10006,5 @@ function getObservationsAsOf(activeObservations, asOf) {
9987
10006
  }
9988
10007
 
9989
10008
  export { ModelByInputTokens, OBSERVER_SYSTEM_PROMPT, ObservationalMemory, ObservationalMemoryProcessor, TokenCounter, buildObserverPrompt, buildObserverSystemPrompt, combineObservationGroupRanges, deriveObservationGroupProvenance, extractCurrentTask, formatMessagesForObserver, formatToolResultForObserver, getObservationsAsOf, hasCurrentTaskSection, injectAnchorIds, optimizeObservationsForContext, parseAnchorId, parseObservationGroups, parseObserverOutput, reconcileObservationGroupsFromReflection, renderObservationGroupsForReflection, resolveToolResultValue, stripEphemeralAnchorIds, stripObservationGroups, truncateStringByTokens, wrapInObservationGroup };
9990
- //# sourceMappingURL=chunk-YJJXL5KY.js.map
9991
- //# sourceMappingURL=chunk-YJJXL5KY.js.map
10009
+ //# sourceMappingURL=chunk-3I6H2ABM.js.map
10010
+ //# sourceMappingURL=chunk-3I6H2ABM.js.map