@mastra/core 0.10.11-alpha.0 → 0.10.11-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.
Files changed (69) hide show
  1. package/dist/agent/index.cjs +4 -4
  2. package/dist/agent/index.d.cts +1 -1
  3. package/dist/agent/index.d.ts +1 -1
  4. package/dist/agent/index.js +2 -2
  5. package/dist/{base-CY4tR3E-.d.ts → base-CDtRsAmk.d.ts} +89 -1
  6. package/dist/{base-D5f8gjBR.d.cts → base-WzKVgsC3.d.cts} +89 -1
  7. package/dist/{chunk-ARD5SSGR.cjs → chunk-CVOB5DQ2.cjs} +2 -2
  8. package/dist/{chunk-2H5YEBCO.js → chunk-DPPWAOCI.js} +5 -0
  9. package/dist/{chunk-E325IAKB.cjs → chunk-GCB3FMQA.cjs} +251 -23
  10. package/dist/{chunk-UPIUWMJV.cjs → chunk-KEQ2YD65.cjs} +2 -2
  11. package/dist/{chunk-GSXWMSMX.js → chunk-LILRY4UH.js} +1 -1
  12. package/dist/{chunk-YNUNDIES.cjs → chunk-N2LZKFEP.cjs} +5 -0
  13. package/dist/{chunk-BCNN4PJS.js → chunk-OEYYMXRD.js} +1 -1
  14. package/dist/{chunk-XC44YAIK.js → chunk-QA6VZ6JZ.js} +1 -1
  15. package/dist/{chunk-6X6L6B7W.cjs → chunk-RLK4L7YK.cjs} +2 -2
  16. package/dist/{chunk-2I4D464I.js → chunk-W3OZTB37.js} +242 -14
  17. package/dist/eval/index.d.cts +1 -1
  18. package/dist/eval/index.d.ts +1 -1
  19. package/dist/index.cjs +20 -20
  20. package/dist/index.d.cts +2 -2
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.js +6 -6
  23. package/dist/integration/index.d.cts +1 -1
  24. package/dist/integration/index.d.ts +1 -1
  25. package/dist/llm/index.d.cts +1 -1
  26. package/dist/llm/index.d.ts +1 -1
  27. package/dist/mastra/index.d.cts +1 -1
  28. package/dist/mastra/index.d.ts +1 -1
  29. package/dist/mcp/index.d.cts +1 -1
  30. package/dist/mcp/index.d.ts +1 -1
  31. package/dist/memory/index.cjs +4 -4
  32. package/dist/memory/index.d.cts +1 -1
  33. package/dist/memory/index.d.ts +1 -1
  34. package/dist/memory/index.js +1 -1
  35. package/dist/network/index.cjs +2 -2
  36. package/dist/network/index.d.cts +1 -1
  37. package/dist/network/index.d.ts +1 -1
  38. package/dist/network/index.js +1 -1
  39. package/dist/network/vNext/index.cjs +13 -13
  40. package/dist/network/vNext/index.d.cts +1 -1
  41. package/dist/network/vNext/index.d.ts +1 -1
  42. package/dist/network/vNext/index.js +2 -2
  43. package/dist/relevance/index.cjs +4 -4
  44. package/dist/relevance/index.d.cts +1 -1
  45. package/dist/relevance/index.d.ts +1 -1
  46. package/dist/relevance/index.js +1 -1
  47. package/dist/server/index.d.cts +2 -2
  48. package/dist/server/index.d.ts +2 -2
  49. package/dist/storage/index.cjs +2 -2
  50. package/dist/storage/index.d.cts +2 -2
  51. package/dist/storage/index.d.ts +2 -2
  52. package/dist/storage/index.js +1 -1
  53. package/dist/telemetry/index.d.cts +1 -1
  54. package/dist/telemetry/index.d.ts +1 -1
  55. package/dist/tools/index.d.cts +2 -2
  56. package/dist/tools/index.d.ts +2 -2
  57. package/dist/utils.d.cts +1 -1
  58. package/dist/utils.d.ts +1 -1
  59. package/dist/voice/index.d.cts +1 -1
  60. package/dist/voice/index.d.ts +1 -1
  61. package/dist/workflows/index.cjs +10 -10
  62. package/dist/workflows/index.d.cts +2 -2
  63. package/dist/workflows/index.d.ts +2 -2
  64. package/dist/workflows/index.js +1 -1
  65. package/dist/workflows/legacy/index.cjs +22 -22
  66. package/dist/workflows/legacy/index.d.cts +2 -2
  67. package/dist/workflows/legacy/index.d.ts +2 -2
  68. package/dist/workflows/legacy/index.js +1 -1
  69. package/package.json +1 -1
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var chunkE325IAKB_cjs = require('../chunk-E325IAKB.cjs');
4
- var chunkYNUNDIES_cjs = require('../chunk-YNUNDIES.cjs');
3
+ var chunkGCB3FMQA_cjs = require('../chunk-GCB3FMQA.cjs');
4
+ var chunkN2LZKFEP_cjs = require('../chunk-N2LZKFEP.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Agent", {
9
9
  enumerable: true,
10
- get: function () { return chunkE325IAKB_cjs.Agent; }
10
+ get: function () { return chunkGCB3FMQA_cjs.Agent; }
11
11
  });
12
12
  Object.defineProperty(exports, "MessageList", {
13
13
  enumerable: true,
14
- get: function () { return chunkYNUNDIES_cjs.MessageList; }
14
+ get: function () { return chunkN2LZKFEP_cjs.MessageList; }
15
15
  });
@@ -1,7 +1,7 @@
1
1
  export { Message as AiMessageType } from 'ai';
2
2
  import 'json-schema';
3
3
  import 'zod';
4
- export { A as Agent, av as AgentConfig, c6 as AgentGenerateOptions, c5 as AgentMemoryOption, c7 as AgentStreamOptions, aZ as DynamicArgument, aY as MastraLanguageModel, c8 as MastraMessageContentV2, t as MastraMessageV2, c3 as MessageList, T as ToolsInput, c4 as ToolsetsInput } from '../base-D5f8gjBR.cjs';
4
+ export { A as Agent, av as AgentConfig, c6 as AgentGenerateOptions, c5 as AgentMemoryOption, c7 as AgentStreamOptions, aZ as DynamicArgument, aY as MastraLanguageModel, c8 as MastraMessageContentV2, t as MastraMessageV2, c3 as MessageList, T as ToolsInput, c4 as ToolsetsInput } from '../base-WzKVgsC3.cjs';
5
5
  import '../base-B_y9sMg0.cjs';
6
6
  import '../types-Bo1uigWx.cjs';
7
7
  import '../runtime-context/index.cjs';
@@ -1,7 +1,7 @@
1
1
  export { Message as AiMessageType } from 'ai';
2
2
  import 'json-schema';
3
3
  import 'zod';
4
- export { A as Agent, av as AgentConfig, c6 as AgentGenerateOptions, c5 as AgentMemoryOption, c7 as AgentStreamOptions, aZ as DynamicArgument, aY as MastraLanguageModel, c8 as MastraMessageContentV2, t as MastraMessageV2, c3 as MessageList, T as ToolsInput, c4 as ToolsetsInput } from '../base-CY4tR3E-.js';
4
+ export { A as Agent, av as AgentConfig, c6 as AgentGenerateOptions, c5 as AgentMemoryOption, c7 as AgentStreamOptions, aZ as DynamicArgument, aY as MastraLanguageModel, c8 as MastraMessageContentV2, t as MastraMessageV2, c3 as MessageList, T as ToolsInput, c4 as ToolsetsInput } from '../base-CDtRsAmk.js';
5
5
  import '../base-ClrXcCRx.js';
6
6
  import '../types-Bo1uigWx.js';
7
7
  import '../runtime-context/index.js';
@@ -1,2 +1,2 @@
1
- export { Agent } from '../chunk-2I4D464I.js';
2
- export { MessageList } from '../chunk-2H5YEBCO.js';
1
+ export { Agent } from '../chunk-W3OZTB37.js';
2
+ export { MessageList } from '../chunk-DPPWAOCI.js';
@@ -2030,6 +2030,7 @@ declare class MessageList {
2030
2030
  private input;
2031
2031
  private response;
2032
2032
  drainUnsavedMessages(): MastraMessageV2[];
2033
+ getEarliestUnsavedMessageTimestamp(): number | undefined;
2033
2034
  getSystemMessages(tag?: string): CoreMessage$1[];
2034
2035
  addSystem(messages: CoreSystemMessage$1 | CoreSystemMessage$1[] | string | string[] | null, tag?: string): this;
2035
2036
  private convertToCoreMessages;
@@ -2638,6 +2639,11 @@ type AgentGenerateOptions<OUTPUT extends ZodSchema | JSONSchema7 | undefined = u
2638
2639
  telemetry?: TelemetrySettings;
2639
2640
  /** RuntimeContext for dependency injection */
2640
2641
  runtimeContext?: RuntimeContext;
2642
+ /**
2643
+ * Whether to save messages incrementally on step finish
2644
+ * @default false
2645
+ */
2646
+ savePerStep?: boolean;
2641
2647
  } & ({
2642
2648
  /**
2643
2649
  * @deprecated Use the `memory` property instead for all memory-related options.
@@ -2699,6 +2705,11 @@ type AgentStreamOptions<OUTPUT extends ZodSchema | JSONSchema7 | undefined = und
2699
2705
  telemetry?: TelemetrySettings;
2700
2706
  /** RuntimeContext for dependency injection */
2701
2707
  runtimeContext?: RuntimeContext;
2708
+ /**
2709
+ * Whether to save messages incrementally on step finish
2710
+ * @default false
2711
+ */
2712
+ savePerStep?: boolean;
2702
2713
  } & ({
2703
2714
  /**
2704
2715
  * @deprecated Use the `memory` property instead for all memory-related options.
@@ -3666,6 +3677,70 @@ interface IAction<TId extends string, TSchemaIn extends z.ZodSchema | undefined,
3666
3677
  execute?: (context: TContext, options?: TOptions) => Promise<TSchemaOut extends z.ZodSchema ? z.infer<TSchemaOut> : unknown>;
3667
3678
  }
3668
3679
 
3680
+ declare class SaveQueueManager {
3681
+ private logger?;
3682
+ private debounceMs;
3683
+ private memory?;
3684
+ private static MAX_STALENESS_MS;
3685
+ constructor({ logger, debounceMs, memory }: {
3686
+ logger?: IMastraLogger;
3687
+ debounceMs?: number;
3688
+ memory?: MastraMemory;
3689
+ });
3690
+ private saveQueues;
3691
+ private saveDebounceTimers;
3692
+ /**
3693
+ * Debounces save operations for a thread, ensuring that consecutive save requests
3694
+ * are batched and only the latest is executed after a short delay.
3695
+ * @param threadId - The ID of the thread to debounce saves for.
3696
+ * @param saveFn - The save function to debounce.
3697
+ */
3698
+ private debounceSave;
3699
+ /**
3700
+ * Enqueues a save operation for a thread, ensuring that saves are executed in order and
3701
+ * only one save runs at a time per thread. If a save is already in progress for the thread,
3702
+ * the new save is queued to run after the previous completes.
3703
+ *
3704
+ * @param threadId - The ID of the thread whose messages should be saved.
3705
+ * @param messageList - The MessageList instance containing unsaved messages.
3706
+ * @param memoryConfig - Optional memory configuration to use for saving.
3707
+ */
3708
+ private enqueueSave;
3709
+ /**
3710
+ * Clears any pending debounced save for a thread, preventing the scheduled save
3711
+ * from executing if it hasn't already fired.
3712
+ *
3713
+ * @param threadId - The ID of the thread whose debounced save should be cleared.
3714
+ */
3715
+ clearDebounce(threadId: string): void;
3716
+ /**
3717
+ * Persists any unsaved messages from the MessageList to memory storage.
3718
+ * Drains the list of unsaved messages and writes them using the memory backend.
3719
+ * @param messageList - The MessageList instance for the current thread.
3720
+ * @param memoryConfig - The memory configuration for saving.
3721
+ */
3722
+ private persistUnsavedMessages;
3723
+ /**
3724
+ * Batches a save of unsaved messages for a thread, using debouncing to batch rapid updates.
3725
+ * If the oldest unsaved message is stale (older than MAX_STALENESS_MS), the save is performed immediately.
3726
+ * Otherwise, the save is delayed to batch multiple updates and reduce redundant writes.
3727
+ *
3728
+ * @param messageList - The MessageList instance containing unsaved messages.
3729
+ * @param threadId - The ID of the thread whose messages are being saved.
3730
+ * @param memoryConfig - Optional memory configuration for saving.
3731
+ */
3732
+ batchMessages(messageList: MessageList, threadId?: string, memoryConfig?: MemoryConfig): Promise<void>;
3733
+ /**
3734
+ * Forces an immediate save of unsaved messages for a thread, bypassing any debounce delay.
3735
+ * This is used when a flush to persistent storage is required (e.g., on shutdown or critical transitions).
3736
+ *
3737
+ * @param messageList - The MessageList instance containing unsaved messages.
3738
+ * @param threadId - The ID of the thread whose messages are being saved.
3739
+ * @param memoryConfig - Optional memory configuration for saving.
3740
+ */
3741
+ flushMessages(messageList: MessageList, threadId?: string, memoryConfig?: MemoryConfig): Promise<void>;
3742
+ }
3743
+
3669
3744
  type IDGenerator = () => string;
3670
3745
  declare class Agent<TAgentId extends string = string, TTools extends ToolsInput = ToolsInput, TMetrics extends Record<string, Metric> = Record<string, Metric>> extends MastraBase {
3671
3746
  #private;
@@ -3753,7 +3828,19 @@ declare class Agent<TAgentId extends string = string, TTools extends ToolsInput
3753
3828
  private getClientTools;
3754
3829
  private getWorkflowTools;
3755
3830
  private convertTools;
3756
- __primitive({ instructions, messages, context, thread, memoryConfig, resourceId, runId, toolsets, clientTools, runtimeContext, generateMessageId, }: {
3831
+ /**
3832
+ * Adds response messages from a step to the MessageList and schedules persistence.
3833
+ * This is used for incremental saving: after each agent step, messages are added to a save queue
3834
+ * and a debounced save operation is triggered to avoid redundant writes.
3835
+ *
3836
+ * @param result - The step result containing response messages.
3837
+ * @param messageList - The MessageList instance for the current thread.
3838
+ * @param threadId - The thread ID.
3839
+ * @param memoryConfig - The memory configuration for saving.
3840
+ * @param runId - (Optional) The run ID for logging.
3841
+ */
3842
+ private saveStepMessages;
3843
+ __primitive({ instructions, messages, context, thread, memoryConfig, resourceId, runId, toolsets, clientTools, runtimeContext, generateMessageId, saveQueueManager, }: {
3757
3844
  instructions?: string;
3758
3845
  toolsets?: ToolsetsInput;
3759
3846
  clientTools?: ToolsInput;
@@ -3767,6 +3854,7 @@ declare class Agent<TAgentId extends string = string, TTools extends ToolsInput
3767
3854
  messages: string | string[] | CoreMessage$1[] | Message[];
3768
3855
  runtimeContext: RuntimeContext;
3769
3856
  generateMessageId: undefined | IDGenerator;
3857
+ saveQueueManager: SaveQueueManager;
3770
3858
  }): {
3771
3859
  before: () => Promise<{
3772
3860
  messageObjects: CoreMessage$1[];
@@ -2030,6 +2030,7 @@ declare class MessageList {
2030
2030
  private input;
2031
2031
  private response;
2032
2032
  drainUnsavedMessages(): MastraMessageV2[];
2033
+ getEarliestUnsavedMessageTimestamp(): number | undefined;
2033
2034
  getSystemMessages(tag?: string): CoreMessage$1[];
2034
2035
  addSystem(messages: CoreSystemMessage$1 | CoreSystemMessage$1[] | string | string[] | null, tag?: string): this;
2035
2036
  private convertToCoreMessages;
@@ -2638,6 +2639,11 @@ type AgentGenerateOptions<OUTPUT extends ZodSchema | JSONSchema7 | undefined = u
2638
2639
  telemetry?: TelemetrySettings;
2639
2640
  /** RuntimeContext for dependency injection */
2640
2641
  runtimeContext?: RuntimeContext;
2642
+ /**
2643
+ * Whether to save messages incrementally on step finish
2644
+ * @default false
2645
+ */
2646
+ savePerStep?: boolean;
2641
2647
  } & ({
2642
2648
  /**
2643
2649
  * @deprecated Use the `memory` property instead for all memory-related options.
@@ -2699,6 +2705,11 @@ type AgentStreamOptions<OUTPUT extends ZodSchema | JSONSchema7 | undefined = und
2699
2705
  telemetry?: TelemetrySettings;
2700
2706
  /** RuntimeContext for dependency injection */
2701
2707
  runtimeContext?: RuntimeContext;
2708
+ /**
2709
+ * Whether to save messages incrementally on step finish
2710
+ * @default false
2711
+ */
2712
+ savePerStep?: boolean;
2702
2713
  } & ({
2703
2714
  /**
2704
2715
  * @deprecated Use the `memory` property instead for all memory-related options.
@@ -3666,6 +3677,70 @@ interface IAction<TId extends string, TSchemaIn extends z.ZodSchema | undefined,
3666
3677
  execute?: (context: TContext, options?: TOptions) => Promise<TSchemaOut extends z.ZodSchema ? z.infer<TSchemaOut> : unknown>;
3667
3678
  }
3668
3679
 
3680
+ declare class SaveQueueManager {
3681
+ private logger?;
3682
+ private debounceMs;
3683
+ private memory?;
3684
+ private static MAX_STALENESS_MS;
3685
+ constructor({ logger, debounceMs, memory }: {
3686
+ logger?: IMastraLogger;
3687
+ debounceMs?: number;
3688
+ memory?: MastraMemory;
3689
+ });
3690
+ private saveQueues;
3691
+ private saveDebounceTimers;
3692
+ /**
3693
+ * Debounces save operations for a thread, ensuring that consecutive save requests
3694
+ * are batched and only the latest is executed after a short delay.
3695
+ * @param threadId - The ID of the thread to debounce saves for.
3696
+ * @param saveFn - The save function to debounce.
3697
+ */
3698
+ private debounceSave;
3699
+ /**
3700
+ * Enqueues a save operation for a thread, ensuring that saves are executed in order and
3701
+ * only one save runs at a time per thread. If a save is already in progress for the thread,
3702
+ * the new save is queued to run after the previous completes.
3703
+ *
3704
+ * @param threadId - The ID of the thread whose messages should be saved.
3705
+ * @param messageList - The MessageList instance containing unsaved messages.
3706
+ * @param memoryConfig - Optional memory configuration to use for saving.
3707
+ */
3708
+ private enqueueSave;
3709
+ /**
3710
+ * Clears any pending debounced save for a thread, preventing the scheduled save
3711
+ * from executing if it hasn't already fired.
3712
+ *
3713
+ * @param threadId - The ID of the thread whose debounced save should be cleared.
3714
+ */
3715
+ clearDebounce(threadId: string): void;
3716
+ /**
3717
+ * Persists any unsaved messages from the MessageList to memory storage.
3718
+ * Drains the list of unsaved messages and writes them using the memory backend.
3719
+ * @param messageList - The MessageList instance for the current thread.
3720
+ * @param memoryConfig - The memory configuration for saving.
3721
+ */
3722
+ private persistUnsavedMessages;
3723
+ /**
3724
+ * Batches a save of unsaved messages for a thread, using debouncing to batch rapid updates.
3725
+ * If the oldest unsaved message is stale (older than MAX_STALENESS_MS), the save is performed immediately.
3726
+ * Otherwise, the save is delayed to batch multiple updates and reduce redundant writes.
3727
+ *
3728
+ * @param messageList - The MessageList instance containing unsaved messages.
3729
+ * @param threadId - The ID of the thread whose messages are being saved.
3730
+ * @param memoryConfig - Optional memory configuration for saving.
3731
+ */
3732
+ batchMessages(messageList: MessageList, threadId?: string, memoryConfig?: MemoryConfig): Promise<void>;
3733
+ /**
3734
+ * Forces an immediate save of unsaved messages for a thread, bypassing any debounce delay.
3735
+ * This is used when a flush to persistent storage is required (e.g., on shutdown or critical transitions).
3736
+ *
3737
+ * @param messageList - The MessageList instance containing unsaved messages.
3738
+ * @param threadId - The ID of the thread whose messages are being saved.
3739
+ * @param memoryConfig - Optional memory configuration for saving.
3740
+ */
3741
+ flushMessages(messageList: MessageList, threadId?: string, memoryConfig?: MemoryConfig): Promise<void>;
3742
+ }
3743
+
3669
3744
  type IDGenerator = () => string;
3670
3745
  declare class Agent<TAgentId extends string = string, TTools extends ToolsInput = ToolsInput, TMetrics extends Record<string, Metric> = Record<string, Metric>> extends MastraBase {
3671
3746
  #private;
@@ -3753,7 +3828,19 @@ declare class Agent<TAgentId extends string = string, TTools extends ToolsInput
3753
3828
  private getClientTools;
3754
3829
  private getWorkflowTools;
3755
3830
  private convertTools;
3756
- __primitive({ instructions, messages, context, thread, memoryConfig, resourceId, runId, toolsets, clientTools, runtimeContext, generateMessageId, }: {
3831
+ /**
3832
+ * Adds response messages from a step to the MessageList and schedules persistence.
3833
+ * This is used for incremental saving: after each agent step, messages are added to a save queue
3834
+ * and a debounced save operation is triggered to avoid redundant writes.
3835
+ *
3836
+ * @param result - The step result containing response messages.
3837
+ * @param messageList - The MessageList instance for the current thread.
3838
+ * @param threadId - The thread ID.
3839
+ * @param memoryConfig - The memory configuration for saving.
3840
+ * @param runId - (Optional) The run ID for logging.
3841
+ */
3842
+ private saveStepMessages;
3843
+ __primitive({ instructions, messages, context, thread, memoryConfig, resourceId, runId, toolsets, clientTools, runtimeContext, generateMessageId, saveQueueManager, }: {
3757
3844
  instructions?: string;
3758
3845
  toolsets?: ToolsetsInput;
3759
3846
  clientTools?: ToolsInput;
@@ -3767,6 +3854,7 @@ declare class Agent<TAgentId extends string = string, TTools extends ToolsInput
3767
3854
  messages: string | string[] | CoreMessage$1[] | Message[];
3768
3855
  runtimeContext: RuntimeContext;
3769
3856
  generateMessageId: undefined | IDGenerator;
3857
+ saveQueueManager: SaveQueueManager;
3770
3858
  }): {
3771
3859
  before: () => Promise<{
3772
3860
  messageObjects: CoreMessage$1[];
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkE325IAKB_cjs = require('./chunk-E325IAKB.cjs');
3
+ var chunkGCB3FMQA_cjs = require('./chunk-GCB3FMQA.cjs');
4
4
  var cohereAi = require('cohere-ai');
5
5
 
6
6
  var CohereRelevanceScorer = class {
@@ -38,7 +38,7 @@ Relevance score (0-1):`;
38
38
  var MastraAgentRelevanceScorer = class {
39
39
  agent;
40
40
  constructor(name, model) {
41
- this.agent = new chunkE325IAKB_cjs.Agent({
41
+ this.agent = new chunkGCB3FMQA_cjs.Agent({
42
42
  name: `Relevance Scorer ${name}`,
43
43
  instructions: `You are a specialized agent for evaluating the relevance of text to queries.
44
44
  Your task is to rate how well a text passage answers a given query.
@@ -438,6 +438,11 @@ var MessageList = class _MessageList {
438
438
  this.newResponseMessages.clear();
439
439
  return messages;
440
440
  }
441
+ getEarliestUnsavedMessageTimestamp() {
442
+ const unsavedMessages = this.messages.filter((m) => this.newUserMessages.has(m) || this.newResponseMessages.has(m));
443
+ if (unsavedMessages.length === 0) return void 0;
444
+ return Math.min(...unsavedMessages.map((m) => new Date(m.createdAt).getTime()));
445
+ }
441
446
  getSystemMessages(tag) {
442
447
  if (tag) {
443
448
  return this.taggedSystemMessages[tag] || [];