Skip to main content
Glama
turn-state.ts1.05 kB
import { z } from 'zod'; export const TurnStateSchema = z.object({ worldId: z.string(), currentTurn: z.number().int().min(1), turnPhase: z.enum(['planning', 'resolution', 'finished']), phaseStartedAt: z.string().datetime(), nationsReady: z.array(z.string()), // Array of nation IDs createdAt: z.string().datetime(), updatedAt: z.string().datetime(), }); export type TurnState = z.infer<typeof TurnStateSchema>; // Action schema for batch submission export const TurnActionSchema = z.object({ type: z.enum(['claim_region', 'propose_alliance', 'break_alliance', 'transfer_region', 'declare_intent', 'send_message', 'adjust_relations']), // Union of all possible action parameters regionId: z.string().optional(), toNationId: z.string().optional(), fromNationId: z.string().optional(), justification: z.string().optional(), intent: z.string().optional(), message: z.string().optional(), opinionDelta: z.number().optional(), }); export type TurnAction = z.infer<typeof TurnActionSchema>;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mnehmos/rpg-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server