eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
53 lines (52 loc) • 2.64 kB
TypeScript
import { type ActionInputAppendedStreamEvent, type MessageAppendedStreamEvent, type MessageStreamEvent, type MessageStreamEventMeta, type ReasoningAppendedStreamEvent, type UnstampedMessageStreamEvent } from "#protocol/message.js";
interface MessageAppendedStreamEventV24 {
data: {
messageDelta: string;
messageSoFar: string;
sequence: number;
stepIndex: number;
turnId: string;
};
type: "message.appended";
}
interface ReasoningAppendedStreamEventV24 {
data: {
reasoningDelta: string;
reasoningSoFar: string;
sequence: number;
stepIndex: number;
turnId: string;
};
type: "reasoning.appended";
}
interface ActionInputAppendedStreamEventV24 {
data: {
callId: string;
inputTextDelta: string;
inputTextOffset: number;
sequence: number;
stepIndex: number;
toolName: string;
turnId: string;
};
type: "action.input.appended";
}
interface MessageStreamAppendEventsByVersion {
"21": MessageAppendedStreamEventV24 | ReasoningAppendedStreamEventV24;
"22": MessageAppendedStreamEventV24 | ReasoningAppendedStreamEventV24;
"23": MessageAppendedStreamEventV24 | ReasoningAppendedStreamEventV24;
"24": ActionInputAppendedStreamEventV24 | MessageAppendedStreamEventV24 | ReasoningAppendedStreamEventV24;
"25": ActionInputAppendedStreamEvent | MessageAppendedStreamEvent | ReasoningAppendedStreamEvent;
}
export type MessageStreamVersion = keyof MessageStreamAppendEventsByVersion;
type VersionIndependentMessageStreamEvent = Exclude<UnstampedMessageStreamEvent, ActionInputAppendedStreamEvent | MessageAppendedStreamEvent | ReasoningAppendedStreamEvent>;
type UnstampedMessageStreamEventForVersion<Version extends MessageStreamVersion> = VersionIndependentMessageStreamEvent | MessageStreamAppendEventsByVersion[Version];
export type MessageStreamEventForVersion<Version extends MessageStreamVersion> = UnstampedMessageStreamEventForVersion<Version> & {
readonly meta: MessageStreamEventMeta;
};
type SupportedMessageStreamEvent = MessageStreamEventForVersion<MessageStreamVersion>;
/** Normalizes one event from a declared wire version into the current event contract. */
export declare function normalizeMessageStreamEvent<Version extends MessageStreamVersion>(version: Version, event: MessageStreamEventForVersion<Version>): MessageStreamEvent;
/** Normalizes a persisted stream that may contain events written before v25. */
export declare function normalizePersistedMessageStreamEvent(event: SupportedMessageStreamEvent): MessageStreamEvent;
export {};