fix(app): require explicit workspace recovery

This commit is contained in:
Mohamed Boudra
2026-07-16 15:14:30 +02:00
parent b1e9ac0009
commit 05cb0f99e5
39 changed files with 1293 additions and 1129 deletions
+31
View File
@@ -89,6 +89,7 @@ import type {
PaseoConfigRaw,
PaseoConfigRevision,
WorkspaceCreateRequest,
WorkspaceRecoveryState,
} from "@getpaseo/protocol/messages";
import type {
AgentPermissionRequest,
@@ -2389,6 +2390,36 @@ export class DaemonClient {
return { pinnedAt: payload.pinnedAt };
}
async inspectWorkspaceRecovery(
workspaceId: string,
requestId?: string,
): Promise<WorkspaceRecoveryState> {
const payload =
await this.sendNamespacedCorrelatedSessionRequest<"workspace.recovery.inspect.response">({
requestId,
message: {
type: "workspace.recovery.inspect.request",
workspaceId,
},
});
return payload.state;
}
async restoreWorkspace(workspaceId: string, requestId?: string): Promise<void> {
const payload =
await this.sendNamespacedCorrelatedSessionRequest<"workspace.recovery.restore.response">({
requestId,
message: {
type: "workspace.recovery.restore.request",
workspaceId,
},
timeout: 150_000,
});
if (!payload.accepted) {
throw new Error(payload.error ?? "Workspace recovery was rejected by the host");
}
}
async resumeAgent(
handle: AgentPersistenceHandle,
overrides?: Partial<AgentSessionConfig>,