Files
Codewalkers/apps/server/trpc/router.ts
Lukas May 28521e1c20 chore: merge main into cw/small-change-flow
Integrates main branch changes (headquarters dashboard, task retry count,
agent prompt persistence, remote sync improvements) with the initiative's
errand agent feature. Both features coexist in the merged result.

Key resolutions:
- Schema: take main's errands table (nullable projectId, no conflictFiles,
  with errandsRelations); migrate to 0035_faulty_human_fly
- Router: keep both errandProcedures and headquartersProcedures
- Errand prompt: take main's simpler version (no question-asking flow)
- Manager: take main's status check (running|idle only, no waiting_for_input)
- Tests: update to match removed conflictFiles field and undefined vs null
2026-03-06 16:48:12 +01:00

73 lines
2.9 KiB
TypeScript

/**
* tRPC Router — Merge Point
*
* Combines all domain routers into a single application router.
* Each domain file exports a builder function that returns procedure records.
*/
import { router, publicProcedure } from './trpc.js';
import { systemProcedures } from './routers/system.js';
import { agentProcedures } from './routers/agent.js';
import { taskProcedures } from './routers/task.js';
import { messageProcedures } from './routers/message.js';
import { dispatchProcedures } from './routers/dispatch.js';
import { coordinationProcedures } from './routers/coordination.js';
import { initiativeProcedures } from './routers/initiative.js';
import { phaseProcedures } from './routers/phase.js';
import { phaseDispatchProcedures } from './routers/phase-dispatch.js';
import { architectProcedures } from './routers/architect.js';
import { projectProcedures } from './routers/project.js';
import { pageProcedures } from './routers/page.js';
import { accountProcedures } from './routers/account.js';
import { changeSetProcedures } from './routers/change-set.js';
import { subscriptionProcedures } from './routers/subscription.js';
import { previewProcedures } from './routers/preview.js';
import { conversationProcedures } from './routers/conversation.js';
import { chatSessionProcedures } from './routers/chat-session.js';
import { errandProcedures } from './routers/errand.js';
import { headquartersProcedures } from './routers/headquarters.js';
// Re-export tRPC primitives (preserves existing import paths)
export { router, publicProcedure, middleware, createCallerFactory } from './trpc.js';
// Re-export schemas and types from domain routers
export {
healthResponseSchema,
processInfoSchema,
statusResponseSchema,
} from './routers/system.js';
export type { HealthResponse, StatusResponse, ProcessInfo } from './routers/system.js';
export {
spawnAgentInputSchema,
agentIdentifierSchema,
resumeAgentInputSchema,
} from './routers/agent.js';
export type { SpawnAgentInput, AgentIdentifier, ResumeAgentInput } from './routers/agent.js';
// Application router
export const appRouter = router({
...systemProcedures(publicProcedure),
...agentProcedures(publicProcedure),
...taskProcedures(publicProcedure),
...messageProcedures(publicProcedure),
...dispatchProcedures(publicProcedure),
...coordinationProcedures(publicProcedure),
...initiativeProcedures(publicProcedure),
...phaseProcedures(publicProcedure),
...phaseDispatchProcedures(publicProcedure),
...architectProcedures(publicProcedure),
...projectProcedures(publicProcedure),
...pageProcedures(publicProcedure),
...accountProcedures(publicProcedure),
...changeSetProcedures(publicProcedure),
...subscriptionProcedures(publicProcedure),
...previewProcedures(publicProcedure),
...conversationProcedures(publicProcedure),
...chatSessionProcedures(publicProcedure),
...errandProcedures(publicProcedure),
...headquartersProcedures(publicProcedure),
});
export type AppRouter = typeof appRouter;