@mastra/core
Version:
93 lines • 3.76 kB
TypeScript
import type { MastraMemory } from '../memory/memory.js';
import type { MemoryConfigInternal, StorageThreadType } from '../memory/types.js';
import type { MessageList } from './message-list/index.js';
import type { MastraDBMessage } from './message-list/state/types.js';
import type { AgentStateSignalInput, CreatedAgentSignal } from './signals.js';
export type StateSignalTracking = {
currentCacheKey?: string;
currentMode?: 'snapshot' | 'delta';
version?: number;
lastSignalId?: string;
lastSnapshotSignalId?: string;
updatedAt?: string;
activeCopies?: Array<{
id: string;
cacheKey?: string;
mode?: 'snapshot' | 'delta';
version?: number;
}>;
};
export type ActiveStateSignal = CreatedAgentSignal & {
type: 'state';
metadata?: Record<string, unknown> & {
state?: {
id?: string;
threadId?: string;
cacheKey?: string;
version?: number;
mode?: 'snapshot' | 'delta';
};
};
};
export type StateSignalHistory = {
activeStateSignals: ActiveStateSignal[];
contextWindow: {
hasSnapshot: boolean;
};
lastSnapshot?: ActiveStateSignal;
deltasSinceSnapshot: ActiveStateSignal[];
};
export type ApplyStateSignalResult = {
skipped: true;
reason: 'unchanged';
stateId: string;
tracking?: StateSignalTracking;
} | {
skipped: false;
signal: CreatedAgentSignal;
stateId: string;
version: number;
tracking: StateSignalTracking;
};
export declare function getStateSignalsMetadata(threadMetadata?: Record<string, unknown>): Record<string, StateSignalTracking>;
export declare function setStateSignalMetadata(threadMetadata: Record<string, unknown> | undefined, stateId: string, tracking: StateSignalTracking): Record<string, unknown>;
export declare function sortStateSignals(signals: ActiveStateSignal[]): ActiveStateSignal[];
export declare function dbMessagesToStateSignals(messages: MastraDBMessage[], stateId: string | undefined, threadId: string): ActiveStateSignal[];
export declare function getActiveStateSignals(messageList: MessageList, stateId: string | undefined, threadId: string): ActiveStateSignal[];
export declare function mergeStateSignals(...signalGroups: ActiveStateSignal[][]): ActiveStateSignal[];
export declare function deriveStateSignalHistory(activeStateSignals: ActiveStateSignal[]): StateSignalHistory;
export declare function resolveStateSignalHistory({ messageList, memory, threadId, stateId, tracking, }: {
messageList: MessageList;
memory: MastraMemory;
threadId: string;
stateId: string;
tracking?: StateSignalTracking;
}): Promise<StateSignalHistory>;
export declare function createStateSignalInput(input: AgentStateSignalInput | (Omit<AgentStateSignalInput, 'id'> & {
id?: string;
}), options?: {
defaultId?: string;
acceptedAt?: Date;
}): {
stateId: string;
signal: CreatedAgentSignal;
mode: 'snapshot' | 'delta';
cacheKey: string;
};
export declare function applyStateSignal({ input, memory, thread, resourceId, threadId, memoryConfig, messageList, activeStateSignals, defaultId, acceptedAt, beforeAddSignal, writeSignal, }: {
input: AgentStateSignalInput | (Omit<AgentStateSignalInput, 'id'> & {
id?: string;
});
memory: MastraMemory;
thread: StorageThreadType;
resourceId: string;
threadId: string;
memoryConfig?: MemoryConfigInternal;
messageList?: MessageList;
activeStateSignals?: ActiveStateSignal[];
defaultId?: string;
acceptedAt?: Date;
beforeAddSignal?: () => void;
writeSignal?: (signal: CreatedAgentSignal) => Promise<void> | void;
}): Promise<ApplyStateSignalResult>;
//# sourceMappingURL=state-signals.d.ts.map