Simplify workspace creation with inline worktree API
Replace the multi-step new-agent route flow with a single create_paseo_worktree endpoint that registers the workspace immediately and creates the git worktree in the background. The sidebar now calls this endpoint directly and shows a creating spinner inline. Also auto-resolves the base branch from origin/HEAD when not explicitly provided, removes the unused Tauri WebSocket transport layer, and normalizes loopback endpoints to localhost. Closes #125
This commit is contained in:
@@ -213,6 +213,10 @@ type BranchSuggestionsPayload = BranchSuggestionsResponse['payload']
|
||||
type DirectorySuggestionsPayload = DirectorySuggestionsResponse['payload']
|
||||
type PaseoWorktreeListPayload = PaseoWorktreeListResponse['payload']
|
||||
type PaseoWorktreeArchivePayload = PaseoWorktreeArchiveResponse['payload']
|
||||
type CreatePaseoWorktreePayload = Extract<
|
||||
SessionOutboundMessage,
|
||||
{ type: 'create_paseo_worktree_response' }
|
||||
>['payload']
|
||||
type FileExplorerPayload = FileExplorerResponse['payload']
|
||||
type FileDownloadTokenPayload = FileDownloadTokenResponse['payload']
|
||||
type ListProviderModelsPayload = ListProviderModelsResponseMessage['payload']
|
||||
@@ -2148,6 +2152,22 @@ export class DaemonClient {
|
||||
})
|
||||
}
|
||||
|
||||
async createPaseoWorktree(
|
||||
input: { cwd: string; worktreeSlug?: string },
|
||||
requestId?: string
|
||||
): Promise<CreatePaseoWorktreePayload> {
|
||||
return this.sendCorrelatedSessionRequest({
|
||||
requestId,
|
||||
message: {
|
||||
type: 'create_paseo_worktree_request',
|
||||
cwd: input.cwd,
|
||||
worktreeSlug: input.worktreeSlug,
|
||||
},
|
||||
responseType: 'create_paseo_worktree_response',
|
||||
timeout: 60000,
|
||||
})
|
||||
}
|
||||
|
||||
async validateBranch(
|
||||
options: { cwd: string; branchName: string },
|
||||
requestId?: string
|
||||
|
||||
Reference in New Issue
Block a user