Skip to content

Variable: TurnStorageNamespace

Makaio Framework


Makaio Framework / services-core/turn/namespace / TurnStorageNamespace

const TurnStorageNamespace: StorageNamespace<"turn", SubjectRecordFromSchemaRecord<{ complete: { request: ZodObject<{ error: ZodOptional<ZodString>; expectedStatus: ZodOptional<ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>>; status: ZodEnum<{ completed: "completed"; error: "error"; }>; turnId: ZodString; usage: ZodOptional<ZodObject<{ byAgent: ZodOptional<ZodRecord<…, …>>; total: ZodObject<{ cost: …; inputTokens: …; outputTokens: …; }, $strip>; }, $strip>>; }, $strip>; response: ZodObject<{ transitioned: ZodBoolean; turn: ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: …; total: …; }, $strip>>; }, $strip>; }, $strip>; }; create: { request: ZodObject<{ sessionId: ZodString; turnId: ZodOptional<ZodString>; }, $strip>; response: ZodObject<{ turn: ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: …; total: …; }, $strip>>; }, $strip>; }, $strip>; }; get: { request: ZodObject<{ turnId: ZodString; }, $strip>; response: ZodObject<{ turn: ZodNullable<ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: …; completed: …; error: …; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<…, …>>; }, $strip>>; }, $strip>; }; getActive: { request: ZodObject<{ sessionId: ZodString; }, $strip>; response: ZodObject<{ turn: ZodNullable<ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: …; completed: …; error: …; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<…, …>>; }, $strip>>; }, $strip>; }; getBySession: { request: ZodObject<{ limit: ZodOptional<ZodNumber>; sessionId: ZodString; status: ZodOptional<ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>>; }, $strip>; response: ZodObject<{ turns: ZodArray<ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: …; completed: …; error: …; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<…, …>>; }, $strip>>; }, $strip>; }; listActive: { request: ZodObject<{ }, $strip>; response: ZodObject<{ turns: ZodArray<ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: …; completed: …; error: …; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<…, …>>; }, $strip>>; }, $strip>; }; set: { request: ZodObject<{ turn: ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: …; total: …; }, $strip>>; }, $strip>; }, $strip>; response: ZodObject<{ turn: ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: …; total: …; }, $strip>>; }, $strip>; }, $strip>; }; }>, {[key: string]: string | number | { byAgent?: Record<string, { cost?: number; inputTokens: number; outputTokens: number; }>; total: { cost?: number; inputTokens: number; outputTokens: number; }; } | { completedAt?: number; error?: string; sessionId: string; startedAt: number; status: "error" | "completed" | "active"; turnId: string; turnNumber: number; usage?: { byAgent?: Record<string, { cost?: number; inputTokens: number; outputTokens: number; }>; total: { cost?: number; inputTokens: number; outputTokens: number; }; }; }; }, StorageNamespaceExtensions, { complete: { request: ZodObject<{ error: ZodOptional<ZodString>; expectedStatus: ZodOptional<ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>>; status: ZodEnum<{ completed: "completed"; error: "error"; }>; turnId: ZodString; usage: ZodOptional<ZodObject<{ byAgent: ZodOptional<ZodRecord<ZodString, ZodObject<…, …>>>; total: ZodObject<{ cost: ZodOptional<…>; inputTokens: ZodNumber; outputTokens: ZodNumber; }, $strip>; }, $strip>>; }, $strip>; response: ZodObject<{ transitioned: ZodBoolean; turn: ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: ZodOptional<…>; total: ZodObject<…, …>; }, $strip>>; }, $strip>; }, $strip>; }; create: { request: ZodObject<{ sessionId: ZodString; turnId: ZodOptional<ZodString>; }, $strip>; response: ZodObject<{ turn: ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: ZodOptional<…>; total: ZodObject<…, …>; }, $strip>>; }, $strip>; }, $strip>; }; get: { request: ZodObject<{ turnId: ZodString; }, $strip>; response: ZodObject<{ turn: ZodNullable<ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: …; total: …; }, $strip>>; }, $strip>>; }, $strip>; }; getActive: { request: ZodObject<{ sessionId: ZodString; }, $strip>; response: ZodObject<{ turn: ZodNullable<ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: …; total: …; }, $strip>>; }, $strip>>; }, $strip>; }; getBySession: { request: ZodObject<{ limit: ZodOptional<ZodNumber>; sessionId: ZodString; status: ZodOptional<ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>>; }, $strip>; response: ZodObject<{ turns: ZodArray<ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: …; total: …; }, $strip>>; }, $strip>>; }, $strip>; }; listActive: { request: ZodObject<{ }, $strip>; response: ZodObject<{ turns: ZodArray<ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: …; total: …; }, $strip>>; }, $strip>>; }, $strip>; }; set: { request: ZodObject<{ turn: ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: ZodOptional<…>; total: ZodObject<…, …>; }, $strip>>; }, $strip>; }, $strip>; response: ZodObject<{ turn: ZodObject<{ completedAt: ZodOptional<ZodNumber>; error: ZodOptional<ZodString>; sessionId: ZodString; startedAt: ZodNumber; status: ZodEnum<{ active: "active"; completed: "completed"; error: "error"; }>; turnId: ZodString; turnNumber: ZodNumber; usage: ZodOptional<ZodObject<{ byAgent: ZodOptional<…>; total: ZodObject<…, …>; }, $strip>>; }, $strip>; }, $strip>; }; }>

Defined in: ../../../packages/services/core/src/turn/namespace.ts:16

Turn storage namespace registration — has side effects (registers on the bus).

Provides bus subjects for turn lifecycle management. A turn represents a user message and all agent responses to it.

Implementation lives in @makaio/services-core/session, but the contract is defined here to allow libs (like @makaio/hooks) to query turns without depending on the service layer.

For pure Zod schemas without side effects, import ./schemas instead.