mirror of
https://github.com/getpaseo/paseo.git
synced 2026-11-06 16:34:36 +00:00
fix(app): require explicit workspace recovery
This commit is contained in:
@@ -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>,
|
||||
|
||||
Reference in New Issue
Block a user