Skip to content

Variable: SessionEventStorageNamespace

Makaio Framework


Makaio Framework / contracts / SessionEventStorageNamespace

const SessionEventStorageNamespace: StorageNamespace<"sessionEvent", SubjectRecordFromSchemaRecord<{ append: { request: ZodObject<{ event: ZodUnion<readonly [ZodDiscriminatedUnion<[ZodObject<…, …>, ZodObject<…, …>, ZodObject<…, …>], "type">, ZodObject<{ eventId: ZodString; payload: ZodRecord<…, …>; sessionId: ZodString; timestamp: ZodNumber; type: ZodString; }, $strip>]>; }, $strip>; response: ZodObject<{ success: ZodBoolean; }, $strip>; }; deleteBySession: { request: ZodObject<{ sessionId: ZodString; }, $strip>; response: ZodObject<{ deletedCount: ZodOptional<ZodNumber>; success: ZodBoolean; }, $strip>; }; getByIds: { request: ZodObject<{ eventIds: ZodArray<ZodString>; sessionId: ZodString; }, $strip>; response: ZodObject<{ events: ZodArray<ZodUnion<readonly [ZodDiscriminatedUnion<[…, …, …], "type">, ZodObject<{ eventId: …; payload: …; sessionId: …; timestamp: …; type: …; }, $strip>]>>; }, $strip>; }; getEvents: { request: ZodObject<{ options: ZodOptional<ZodObject<{ after: ZodOptional<ZodString>; includeReasoning: ZodOptional<ZodBoolean>; limit: ZodOptional<ZodNumber>; order: ZodOptional<ZodEnum<…>>; types: ZodOptional<ZodArray<…>>; }, $strip>>; sessionId: ZodString; }, $strip>; response: ZodObject<{ events: ZodArray<ZodUnion<readonly [ZodDiscriminatedUnion<[…, …, …], "type">, ZodObject<{ eventId: …; payload: …; sessionId: …; timestamp: …; type: …; }, $strip>]>>; nextCursor: ZodNullable<ZodString>; totalCount: ZodOptional<ZodNumber>; }, $strip>; }; getEventsBySessions: { request: ZodObject<{ limitPerSession: ZodOptional<ZodNumber>; sessionIds: ZodArray<ZodString>; types: ZodArray<ZodString>; }, $strip>; response: ZodObject<{ eventsBySession: ZodRecord<ZodString, ZodArray<ZodUnion<readonly [ZodDiscriminatedUnion<…, …>, ZodObject<…, …>]>>>; }, $strip>; }; }>, { event: { eventId: string; payload: { adapterId: string; adapterName: string; adapterSessionId: string; agentId: string; cwd?: string; model?: string; role?: "lead" | "member"; sessionId: string; }; sessionId: string; timestamp: number; type: "agent.added"; } | { eventId: string; payload: { agentIds: string[]; content: string | { blocks: { content: string; type: "text"; } | { source: { data: …; mimeType: …; type: …; } | { mimeType?: …; type: …; url: …; }; type: "image"; } | { source: { data: …; mimeType: …; type: …; } | { mimeType?: …; type: …; url: …; }; type: "document"; } | { attachmentType: "file" | "directory"; displayName?: string; fileName: string; filePath: string; source: { data: …; mimeType: …; type: …; } | { mimeType?: …; type: …; url: …; }; type: "attachment"; } | { content: string; metadata?: Record<…, …>; type: "reasoning"; } | { args: Record<string, unknown>; name: string; toolCallId: string; type: "tool_call"; } | { isError?: boolean; output: string; toolCallId: string; type: "tool_output"; } | ({ content: …; type: …; } | { source: …; type: …; } | { source: …; type: …; } | { attachmentType: …; displayName?: …; fileName: …; filePath: …; source: …; type: …; } | { content: …; metadata?: …; type: …; } | { args: …; name: …; toolCallId: …; type: …; } | { isError?: …; output: …; toolCallId: …; type: …; })[]; role?: "user" | "assistant" | "system"; }; messageId: string; origin?: "text" | "voice" | "compact"; sessionId: string; source?: "user" | "extension" | "system"; turnId: string; turnNumber: number; }; sessionId: string; timestamp: number; type: "user_message.sent"; } | { eventId: string; payload: { agentId: string; messageId: string; sessionId: string; turnId: string; turnNumber: number; }; sessionId: string; timestamp: number; type: "user_message.acknowledged"; } | { eventId: string; payload: { agentId: string; error?: string; mergedInto?: string; messageId: string; outcome: "error" | "completed" | "superseded" | "merged" | "cancelled" | "rejected"; sessionId: string; supersededBy?: string; turnId: string; turnNumber: number; }; sessionId: string; timestamp: number; type: "user_message.completed"; } | { eventId: string; payload: { agentIds: string[]; initiator?: { source: "user" | "extension" | "system"; sourceId?: string; }; messageId: string; sessionId: string; turnId: string; turnNumber: number; }; sessionId: string; timestamp: number; type: "turn.started"; } | { eventId: string; payload: { error?: string; initiator?: { source: "user" | "extension" | "system"; sourceId?: string; }; sessionId: string; success: boolean; turnId: string; turnNumber: number; }; sessionId: string; timestamp: number; type: "turn.completed"; } | { eventId: string; payload: { messageId: string; role: "user" | "assistant"; turnId: string | null; }; sessionId: string; timestamp: number; type: "message"; } | { eventId: string; payload: { childSessionId: string; forkPointMessageId?: string; kind: "fork" | "branch" | "aside" | "subagent" | "compress" | "rewrite" | "coordinator"; parentSessionId: string; }; sessionId: string; timestamp: number; type: "branch.created"; } | { eventId: string; payload: { childSessionId: string; parentSessionId: string; resultJson?: string; resultMessageId?: string; }; sessionId: string; timestamp: number; type: "branch.merged"; } | { eventId: string; payload: { compressedMessageIds?: string[]; summaryJson: string; tokensAfter?: number; tokensBefore?: number; }; sessionId: string; timestamp: number; type: "squash"; } | { eventId: string; payload: Record<string, unknown>; sessionId: string; timestamp: number; type: string; }; eventIds: string[]; limitPerSession: never; options: never; sessionId: string; sessionIds: string[]; types: string[]; }, StorageNamespaceExtensions, { append: { request: ZodObject<{ event: ZodUnion<readonly [ZodDiscriminatedUnion<[ZodObject<{ eventId: …; payload: …; sessionId: …; timestamp: …; type: …; }, $strip>, ZodObject<{ eventId: …; payload: …; sessionId: …; timestamp: …; type: …; }, $strip>, ZodObject<{ eventId: …; payload: …; sessionId: …; timestamp: …; type: …; }, $strip>], "type">, ZodObject<{ eventId: ZodString; payload: ZodRecord<ZodString, ZodUnknown>; sessionId: ZodString; timestamp: ZodNumber; type: ZodString; }, $strip>]>; }, $strip>; response: ZodObject<{ success: ZodBoolean; }, $strip>; }; deleteBySession: { request: ZodObject<{ sessionId: ZodString; }, $strip>; response: ZodObject<{ deletedCount: ZodOptional<ZodNumber>; success: ZodBoolean; }, $strip>; }; getByIds: { request: ZodObject<{ eventIds: ZodArray<ZodString>; sessionId: ZodString; }, $strip>; response: ZodObject<{ events: ZodArray<ZodUnion<readonly [ZodDiscriminatedUnion<[ZodObject<…, …>, ZodObject<…, …>, ZodObject<…, …>], "type">, ZodObject<{ eventId: ZodString; payload: ZodRecord<…, …>; sessionId: ZodString; timestamp: ZodNumber; type: ZodString; }, $strip>]>>; }, $strip>; }; getEvents: { request: ZodObject<{ options: ZodOptional<ZodObject<{ after: ZodOptional<ZodString>; includeReasoning: ZodOptional<ZodBoolean>; limit: ZodOptional<ZodNumber>; order: ZodOptional<ZodEnum<{ asc: …; desc: …; }>>; types: ZodOptional<ZodArray<ZodString>>; }, $strip>>; sessionId: ZodString; }, $strip>; response: ZodObject<{ events: ZodArray<ZodUnion<readonly [ZodDiscriminatedUnion<[ZodObject<…, …>, ZodObject<…, …>, ZodObject<…, …>], "type">, ZodObject<{ eventId: ZodString; payload: ZodRecord<…, …>; sessionId: ZodString; timestamp: ZodNumber; type: ZodString; }, $strip>]>>; nextCursor: ZodNullable<ZodString>; totalCount: ZodOptional<ZodNumber>; }, $strip>; }; getEventsBySessions: { request: ZodObject<{ limitPerSession: ZodOptional<ZodNumber>; sessionIds: ZodArray<ZodString>; types: ZodArray<ZodString>; }, $strip>; response: ZodObject<{ eventsBySession: ZodRecord<ZodString, ZodArray<ZodUnion<readonly [ZodDiscriminatedUnion<[…, …, …], "type">, ZodObject<{ eventId: …; payload: …; sessionId: …; timestamp: …; type: …; }, $strip>]>>>; }, $strip>; }; }>

Defined in: ../../../packages/contracts/src/session/session-event-storage-namespace.ts:50

Session event storage namespace.

Provides bus subjects for session event storage operations. Registered under storage:sessionEvent on the Makaio bus.

Events are immutable and append-only.

import { SessionEventStorageSubjects } from '@makaio/contracts';
const { events } = await bus.request(SessionEventStorageSubjects.getEvents, {
sessionId: '123',
options: { types: ['question-extractor.result'], limit: 50 },
});