Submatter/apps/web/server/root.ts
Randall Stillwell 6f139d6af2 feat(owner-cockpit): forge webhooks + artifacts + copilot (Epic 8/11/12)
- Forge webhook POST /api/webhooks/forge HMAC sha256 verify, marker echodo-convoy → pr_review→merged as automation
- Completion artifacts table 0017, deterministic summary template, gallery /artifacts
- Ops copilot tRPC copilot + context tools (fleet, convoy, backlog) + panel + Draft Task → backlog.createTask
- Doc-writer SOPs: webhook rotation, copilot prompt, published flow examples
- Allow pr_review→merged as automation for webhook

Convoy: .convoys/owner-cockpit-v02

Co-authored-by: orchestrator
2026-08-25 17:49:38 -05:00

49 lines
1.9 KiB
TypeScript

import { router, createCallerFactory } from "@/server/trpc";
import { healthRouter } from "@/server/routers/health";
import { objectsRouter } from "@/server/routers/objects";
import { propertiesRouter } from "@/server/routers/properties";
import { relationsRouter } from "@/server/routers/relations";
import { aiRouter } from "@/server/routers/ai";
import { templatesRouter } from "@/server/routers/templates";
import { searchRouter } from "@/server/routers/search";
import { workspacesRouter } from "@/server/routers/workspaces";
import { typesRouter } from "@/server/routers/types";
import { formsRouter } from "@/server/routers/forms";
import { favoritesRouter } from "@/server/routers/favorites";
import { identityRouter } from "@/server/routers/identity";
import { invitesRouter } from "@/server/routers/invites";
import { auditRouter } from "@/server/routers/audit";
import { runsRouter } from "@/server/routers/runs";
import { backlogRouter } from "@/server/routers/backlog";
import { connectedReposRouter } from "@/server/routers/connected-repos";
import { convoysRouter } from "@/server/routers/convoys";
import { copilotRouter, opsCopilotRouter } from "@/server/routers/copilot";
import { harnessesRouter } from "@/server/routers/harnesses";
export const appRouter = router({
health: healthRouter,
workspaces: workspacesRouter,
types: typesRouter,
objects: objectsRouter,
properties: propertiesRouter,
relations: relationsRouter,
ai: aiRouter,
templates: templatesRouter,
search: searchRouter,
forms: formsRouter,
favorites: favoritesRouter,
identity: identityRouter,
invites: invitesRouter,
audit: auditRouter,
runs: runsRouter,
backlog: backlogRouter,
connectedRepos: connectedReposRouter,
convoys: convoysRouter,
harnesses: harnessesRouter,
copilot: copilotRouter,
opsCopilot: opsCopilotRouter,
});
export type AppRouter = typeof appRouter;
export const createCaller = createCallerFactory(appRouter);