mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
feat: add git worktree session support with improved UI
Implement comprehensive worktree session support allowing users to spawn sessions in temporary git worktrees. Includes backend worktree management, full-stack integration, and refined UI for session type selection. Backend: - Add worktree creation/removal utilities with branch management - Track worktree metadata (basePath, branch, name, path) in session metadata - Automatic cleanup of worktrees when sessions fail or exit - Enhanced error handling with stderr tail logging UI improvements: - Redesign session type toggle with improved alignment and spacing - Move worktree description inline with label for cleaner layout - Add branch name input field that appears when worktree mode selected - Auto-focus on worktree input when switching modes - Reduce gap between radio options from gap-3 to gap-1.5 - Update descriptive text and placeholders for clarity Integration: - Thread worktree parameters through API client, RPC handlers, and daemon - Add worktreeEnv utility to read worktree info from environment - Update session spawning to support both simple and worktree modes
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import type { WorktreeInfo } from '@/daemon/worktree';
|
||||
|
||||
export function readWorktreeEnv(): WorktreeInfo | null {
|
||||
const basePath = process.env.HAPI_WORKTREE_BASE_PATH?.trim();
|
||||
const branch = process.env.HAPI_WORKTREE_BRANCH?.trim();
|
||||
const name = process.env.HAPI_WORKTREE_NAME?.trim();
|
||||
const worktreePath = process.env.HAPI_WORKTREE_PATH?.trim();
|
||||
const createdAtRaw = process.env.HAPI_WORKTREE_CREATED_AT?.trim();
|
||||
|
||||
if (!basePath || !branch || !name || !worktreePath || !createdAtRaw) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const createdAt = Number(createdAtRaw);
|
||||
if (!Number.isFinite(createdAt)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
basePath,
|
||||
branch,
|
||||
name,
|
||||
worktreePath,
|
||||
createdAt
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user