Skip to content

Variable: TurnStorageSchemas

Makaio Framework


Makaio Framework / services-core/turn/schemas / TurnStorageSchemas

const TurnStorageSchemas: object

Defined in: ../../../packages/services/core/src/turn/schemas.ts:22

Zod schemas for all turn storage bus subjects.

Each entry becomes a subject identifier as storage:turn.<key>.

complete: object

Complete a turn (mark as completed or error).

Subject: storage:turn.complete Type: Request (RPC)

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<{ cost: …; inputTokens: …; outputTokens: …; }, $strip>>>; total: ZodObject<{ cost: ZodOptional<ZodNumber>; 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<ZodRecord<…, …>>; total: ZodObject<{ cost: …; inputTokens: …; outputTokens: …; }, $strip>; }, $strip>>; }, $strip>; }, $strip>

create: object

Create a new turn.

Subject: storage:turn.create Type: Request (RPC)

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<ZodRecord<…, …>>; total: ZodObject<{ cost: …; inputTokens: …; outputTokens: …; }, $strip>; }, $strip>>; }, $strip>; }, $strip>

get: object

Get a turn by ID.

Subject: storage:turn.get Type: Request (RPC)

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: ZodOptional<…>; total: ZodObject<…, …>; }, $strip>>; }, $strip>>; }, $strip>

getActive: object

Get the active turn for a session (if any).

Subject: storage:turn.getActive Type: Request (RPC)

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: ZodOptional<…>; total: ZodObject<…, …>; }, $strip>>; }, $strip>>; }, $strip>

getBySession: object

List turns for a session.

Subject: storage:turn.getBySession Type: Request (RPC)

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: ZodOptional<…>; total: ZodObject<…, …>; }, $strip>>; }, $strip>>; }, $strip>

listActive: object

List all active turns across all sessions.

Used at startup to identify orphaned turns left active after a process crash. No session filter — returns every turn with status 'active'.

Subject: storage:turn.listActive Type: Request (RPC)

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: ZodOptional<…>; total: ZodObject<…, …>; }, $strip>>; }, $strip>>; }, $strip>

set: object

Store or update a turn with full data.

Subject: storage:turn.set Type: Request (RPC)

Used for imports and backfills that need to preserve timestamps/usage.

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<ZodRecord<…, …>>; total: ZodObject<{ cost: …; inputTokens: …; outputTokens: …; }, $strip>; }, $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<ZodRecord<…, …>>; total: ZodObject<{ cost: …; inputTokens: …; outputTokens: …; }, $strip>; }, $strip>>; }, $strip>; }, $strip>