UNPKG

@mastra/core

Version:

Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.

84 lines 3.42 kB
import type { FilePart, TextPart, UserModelMessage } from '../_types/@internal_ai-sdk-v5/dist/index.js'; import type { MastraDBMessage, MastraProviderMetadata } from './message-list/state/types.js'; /** * @experimental Agent signals are experimental and may change in a future release. */ export type AgentSignalType = 'user-message' | 'system-reminder' | string; export type SignalPart = TextPart | SignalFilePart; type SignalFilePart = { type: 'file'; data: string; mediaType: string; filename?: string; providerOptions?: MastraProviderMetadata; }; /** * @experimental Agent signals are experimental and may change in a future release. */ export type AgentSignalContents = string | Array<TextPart | FilePart>; /** * @experimental Agent signals are experimental and may change in a future release. */ export type AgentSignalInput = { id?: string; createdAt?: Date | string; acceptedAt?: Date | string; type: AgentSignalType; contents: AgentSignalContents; attributes?: Record<string, string | number | boolean | null | undefined>; metadata?: Record<string, unknown>; /** * Provider options attached to the resulting prompt turn. Surfaces as `providerOptions` on the * `UserModelMessage` sent to the model and as `content.providerMetadata` on the persisted DB * message (also visible to UI consumers via `useChat` message metadata). */ providerOptions?: MastraProviderMetadata; }; /** * @experimental Agent signals are experimental and may change in a future release. */ export type AgentSignalDataPart = { type: `data-${string}`; data: { id: string; type: AgentSignalType; contents: AgentSignalContents; createdAt: string; acceptedAt?: string; attributes?: Record<string, string | number | boolean | null | undefined>; metadata?: Record<string, unknown>; }; }; /** * @experimental Agent signals are experimental and may change in a future release. */ export type CreatedAgentSignal = AgentSignalInput & { __isCreatedSignal: true; id: string; createdAt: Date; acceptedAt?: Date; toDBMessage: (options?: { threadId?: string; resourceId?: string; }) => MastraDBMessage; toLLMMessage: () => UserModelMessage; toDataPart: () => AgentSignalDataPart; }; export declare function isMastraSignalMessage(message: MastraDBMessage): message is MastraDBMessage & { role: 'signal'; }; export declare function signalToXmlMarkup(signal: Pick<AgentSignalInput, 'type' | 'attributes'> & { contents?: string; }): string; export declare function isCreatedAgentSignal(input: unknown): input is CreatedAgentSignal; export declare function createSignal(input: AgentSignalInput): CreatedAgentSignal; export declare function signalToMessage(signal: AgentSignalInput | CreatedAgentSignal): UserModelMessage; export declare function signalToMastraDBMessage(signal: AgentSignalInput | CreatedAgentSignal, options?: { threadId?: string; resourceId?: string; }): MastraDBMessage; export declare function signalToDataPartFormat(signal: AgentSignalInput | CreatedAgentSignal): AgentSignalDataPart; export declare function mastraDBMessageToSignal(message: MastraDBMessage): CreatedAgentSignal; export declare function dataPartToSignal(part: AgentSignalDataPart): CreatedAgentSignal; export {}; //# sourceMappingURL=signals.d.ts.map