- Added GameApiConfig interface and configuration resolver from environment variables. - Created GameApiContext for managing database and transport dependencies. - Implemented InMemoryTurnDaemonTransport for testing purposes. - Developed RedisTurnDaemonTransport for command and status handling via Redis streams. - Defined TurnDaemonStreamKeys for namespacing Redis streams by profile. - Established TRPC router with endpoints for health check, world state retrieval, and turn daemon commands (run, pause, resume, status). - Integrated Fastify server with TRPC and Redis transport. - Added unit tests for router functionality and stream key generation. - Configured Vitest for testing environment.
12 lines
340 B
TypeScript
12 lines
340 B
TypeScript
export interface TurnDaemonStreamKeys {
|
|
commandStream: string;
|
|
eventStream: string;
|
|
}
|
|
|
|
export const buildTurnDaemonStreamKeys = (profileName: string): TurnDaemonStreamKeys => {
|
|
return {
|
|
commandStream: `sammo:${profileName}:turn-daemon:commands`,
|
|
eventStream: `sammo:${profileName}:turn-daemon:events`,
|
|
};
|
|
};
|