feat(terminal): add restart and force kill session functionality

This commit is contained in:
Bohdan Triapitsyn
2025-12-10 00:25:02 +02:00
parent c4cb2d5b92
commit 610ccf4c62
9 changed files with 515 additions and 107 deletions
+18
View File
@@ -4,6 +4,8 @@ import {
resizeTerminal,
sendTerminalInput,
closeTerminal,
restartTerminalSession,
forceKillTerminal,
} from '@openchamber/ui/lib/terminalApi';
import type {
TerminalAPI,
@@ -12,6 +14,7 @@ import type {
CreateTerminalOptions,
ResizeTerminalPayload,
TerminalSession,
ForceKillOptions,
} from '@openchamber/ui/lib/api/types';
const getRetryPolicy = (options?: TerminalStreamOptions) => {
@@ -53,4 +56,19 @@ export const createWebTerminalAPI = (): TerminalAPI => ({
async close(sessionId: string): Promise<void> {
await closeTerminal(sessionId);
},
async restartSession(
currentSessionId: string,
options: CreateTerminalOptions
): Promise<TerminalSession> {
return restartTerminalSession(currentSessionId, {
cwd: options.cwd ?? '',
cols: options.cols,
rows: options.rows,
});
},
async forceKill(options: ForceKillOptions): Promise<void> {
await forceKillTerminal(options);
},
});