This commit is contained in:
2026-02-19 18:05:50 +00:00
parent 9870fa7ae8
commit 6a83342013
38 changed files with 1459 additions and 267 deletions
+5 -2
View File
@@ -7,6 +7,7 @@ import { verify } from './servers/jwt';
import { officerdb, TokenBlacklist } from 'officerdb';
import { claudeWebsocket } from './servers/api/claude/websocket';
import { opencodeWebsocket } from './servers/api/opencode/websocket';
import { piMonoWebsocket } from './servers/api/pi-mono/websocket';
import { terminalWebsocket, initTerminalSidecars } from './servers/api/terminal/websocket';
import officerWeb from './apps/officer-web/index.html';
@@ -16,7 +17,7 @@ type WSData = {
userId: number;
email: string;
role: string;
provider: 'claude' | 'opencode' | 'terminal';
provider: 'claude' | 'opencode' | 'pi-mono' | 'terminal';
sandboxed: boolean;
sessionId?: string;
};
@@ -24,10 +25,11 @@ type WSData = {
const handlers: Record<string, typeof claudeWebsocket> = {
claude: claudeWebsocket,
opencode: opencodeWebsocket,
'pi-mono': piMonoWebsocket,
terminal: terminalWebsocket,
};
async function upgradeWs(req: Request, server: any, provider: 'claude' | 'opencode' | 'terminal') {
async function upgradeWs(req: Request, server: any, provider: 'claude' | 'opencode' | 'pi-mono' | 'terminal') {
const token = new URL(req.url).searchParams.get('token');
if (!token) return new Response('Unauthorized', { status: 401 });
@@ -67,6 +69,7 @@ const server = serve({
},
'/api/harness/claudecode/ws': (req, server) => upgradeWs(req, server, 'claude'),
'/api/harness/opencode/ws': (req, server) => upgradeWs(req, server, 'opencode'),
'/api/harness/pi-mono/ws': (req, server) => upgradeWs(req, server, 'pi-mono'),
'/api/terminal/ws': (req, server) => upgradeWs(req, server, 'terminal'),
'/': officerWeb,
'/*': officerWeb,