@akiojin/gwt 3.1.2 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +3 -4
- package/README.md +3 -4
- package/dist/claude.d.ts +21 -0
- package/dist/claude.d.ts.map +1 -1
- package/dist/claude.js +73 -30
- package/dist/claude.js.map +1 -1
- package/dist/cli/ui/components/common/Select.d.ts +6 -0
- package/dist/cli/ui/components/common/Select.d.ts.map +1 -1
- package/dist/cli/ui/components/common/Select.js +3 -2
- package/dist/cli/ui/components/common/Select.js.map +1 -1
- package/dist/cli/ui/components/screens/AIToolSelectorScreen.d.ts +6 -0
- package/dist/cli/ui/components/screens/AIToolSelectorScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/AIToolSelectorScreen.js +3 -2
- package/dist/cli/ui/components/screens/AIToolSelectorScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/BatchMergeProgressScreen.d.ts +3 -0
- package/dist/cli/ui/components/screens/BatchMergeProgressScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/BatchMergeProgressScreen.js +3 -2
- package/dist/cli/ui/components/screens/BatchMergeProgressScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/BatchMergeResultScreen.d.ts +3 -0
- package/dist/cli/ui/components/screens/BatchMergeResultScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/BatchMergeResultScreen.js +3 -2
- package/dist/cli/ui/components/screens/BatchMergeResultScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/BranchCreatorScreen.d.ts +3 -0
- package/dist/cli/ui/components/screens/BranchCreatorScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/BranchCreatorScreen.js +3 -2
- package/dist/cli/ui/components/screens/BranchCreatorScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/BranchListScreen.d.ts +3 -0
- package/dist/cli/ui/components/screens/BranchListScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/BranchListScreen.js +3 -4
- package/dist/cli/ui/components/screens/BranchListScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts +10 -1
- package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/BranchQuickStartScreen.js +15 -15
- package/dist/cli/ui/components/screens/BranchQuickStartScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/EnvironmentProfileScreen.d.ts +3 -0
- package/dist/cli/ui/components/screens/EnvironmentProfileScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/EnvironmentProfileScreen.js +3 -2
- package/dist/cli/ui/components/screens/EnvironmentProfileScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts +15 -0
- package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js +3 -2
- package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/ModelSelectorScreen.d.ts +6 -0
- package/dist/cli/ui/components/screens/ModelSelectorScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/ModelSelectorScreen.js +3 -7
- package/dist/cli/ui/components/screens/ModelSelectorScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/PRCleanupScreen.d.ts +6 -0
- package/dist/cli/ui/components/screens/PRCleanupScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/PRCleanupScreen.js +3 -2
- package/dist/cli/ui/components/screens/PRCleanupScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts +6 -0
- package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/SessionSelectorScreen.js +3 -2
- package/dist/cli/ui/components/screens/SessionSelectorScreen.js.map +1 -1
- package/dist/cli/ui/hooks/useAppInput.d.ts +20 -0
- package/dist/cli/ui/hooks/useAppInput.d.ts.map +1 -0
- package/dist/cli/ui/hooks/useAppInput.js +137 -0
- package/dist/cli/ui/hooks/useAppInput.js.map +1 -0
- package/dist/cli/ui/screens/BranchActionSelectorScreen.d.ts +3 -0
- package/dist/cli/ui/screens/BranchActionSelectorScreen.d.ts.map +1 -1
- package/dist/cli/ui/screens/BranchActionSelectorScreen.js +3 -2
- package/dist/cli/ui/screens/BranchActionSelectorScreen.js.map +1 -1
- package/dist/cli/ui/utils/branchFormatter.d.ts.map +1 -1
- package/dist/cli/ui/utils/branchFormatter.js +0 -2
- package/dist/cli/ui/utils/branchFormatter.js.map +1 -1
- package/dist/cli/ui/utils/modelOptions.d.ts.map +1 -1
- package/dist/cli/ui/utils/modelOptions.js +25 -16
- package/dist/cli/ui/utils/modelOptions.js.map +1 -1
- package/dist/client/assets/{index-f5D2XwDh.js → index-v8smkNOL.js} +16 -16
- package/dist/client/index.html +1 -1
- package/dist/codex.d.ts +32 -0
- package/dist/codex.d.ts.map +1 -1
- package/dist/codex.js +32 -1
- package/dist/codex.js.map +1 -1
- package/dist/config/builtin-tools.d.ts +1 -5
- package/dist/config/builtin-tools.d.ts.map +1 -1
- package/dist/config/builtin-tools.js +1 -18
- package/dist/config/builtin-tools.js.map +1 -1
- package/dist/gemini.d.ts +17 -0
- package/dist/gemini.d.ts.map +1 -1
- package/dist/gemini.js +43 -61
- package/dist/gemini.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -20
- package/dist/index.js.map +1 -1
- package/dist/utils/command.d.ts +10 -0
- package/dist/utils/command.d.ts.map +1 -0
- package/dist/utils/command.js +25 -0
- package/dist/utils/command.js.map +1 -0
- package/dist/utils/session/index.d.ts +0 -2
- package/dist/utils/session/index.d.ts.map +1 -1
- package/dist/utils/session/index.js +0 -3
- package/dist/utils/session/index.js.map +1 -1
- package/dist/utils/session/parsers/index.d.ts +0 -1
- package/dist/utils/session/parsers/index.d.ts.map +1 -1
- package/dist/utils/session/parsers/index.js +0 -2
- package/dist/utils/session/parsers/index.js.map +1 -1
- package/dist/utils/session.d.ts +0 -1
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +0 -1
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/terminal.d.ts +34 -0
- package/dist/utils/terminal.d.ts.map +1 -1
- package/dist/utils/terminal.js +51 -4
- package/dist/utils/terminal.js.map +1 -1
- package/dist/web/client/src/components/branch-detail/BranchInfoCards.d.ts.map +1 -1
- package/dist/web/client/src/components/branch-detail/BranchInfoCards.js +0 -2
- package/dist/web/client/src/components/branch-detail/BranchInfoCards.js.map +1 -1
- package/package.json +1 -1
- package/src/claude.ts +92 -34
- package/src/cli/ui/__tests__/components/App.protected-branch.test.tsx +3 -1
- package/src/cli/ui/__tests__/components/ModelSelectorScreen.initial.test.tsx +8 -5
- package/src/cli/ui/components/common/Select.tsx +9 -2
- package/src/cli/ui/components/screens/AIToolSelectorScreen.tsx +9 -2
- package/src/cli/ui/components/screens/BatchMergeProgressScreen.tsx +6 -2
- package/src/cli/ui/components/screens/BatchMergeResultScreen.tsx +6 -2
- package/src/cli/ui/components/screens/BranchCreatorScreen.tsx +6 -2
- package/src/cli/ui/components/screens/BranchListScreen.tsx +6 -4
- package/src/cli/ui/components/screens/BranchQuickStartScreen.tsx +36 -27
- package/src/cli/ui/components/screens/EnvironmentProfileScreen.tsx +6 -2
- package/src/cli/ui/components/screens/ExecutionModeSelectorScreen.tsx +18 -2
- package/src/cli/ui/components/screens/ModelSelectorScreen.tsx +9 -10
- package/src/cli/ui/components/screens/PRCleanupScreen.tsx +9 -2
- package/src/cli/ui/components/screens/SessionSelectorScreen.tsx +9 -2
- package/src/cli/ui/hooks/useAppInput.ts +171 -0
- package/src/cli/ui/screens/BranchActionSelectorScreen.tsx +6 -2
- package/src/cli/ui/screens/__tests__/BranchActionSelectorScreen.test.tsx +68 -1
- package/src/cli/ui/utils/branchFormatter.ts +0 -1
- package/src/cli/ui/utils/modelOptions.test.ts +9 -6
- package/src/cli/ui/utils/modelOptions.ts +25 -18
- package/src/codex.ts +40 -1
- package/src/config/builtin-tools.ts +1 -19
- package/src/gemini.ts +47 -68
- package/src/index.ts +0 -26
- package/src/utils/command.ts +26 -0
- package/src/utils/session/index.ts +0 -4
- package/src/utils/session/parsers/index.ts +0 -3
- package/src/utils/session.ts +0 -1
- package/src/utils/terminal.ts +65 -4
- package/src/web/client/src/components/branch-detail/BranchInfoCards.tsx +0 -1
- package/dist/qwen.d.ts +0 -16
- package/dist/qwen.d.ts.map +0 -1
- package/dist/qwen.js +0 -202
- package/dist/qwen.js.map +0 -1
- package/dist/utils/session/parsers/qwen.d.ts +0 -21
- package/dist/utils/session/parsers/qwen.d.ts.map +0 -1
- package/dist/utils/session/parsers/qwen.js +0 -36
- package/dist/utils/session/parsers/qwen.js.map +0 -1
- package/src/qwen.ts +0 -273
- package/src/utils/session/parsers/qwen.ts +0 -54
package/README.ja.md
CHANGED
|
@@ -6,14 +6,14 @@ Claude Code / Codex CLI / Gemini CLI 対応の対話型Gitワークツリーマ
|
|
|
6
6
|
|
|
7
7
|
## 概要
|
|
8
8
|
|
|
9
|
-
`@akiojin/gwt`は、直感的なインターフェースを通じてGitワークツリー管理を革新する強力なCLIツールです。Claude Code / Codex CLI / Gemini CLI
|
|
9
|
+
`@akiojin/gwt`は、直感的なインターフェースを通じてGitワークツリー管理を革新する強力なCLIツールです。Claude Code / Codex CLI / Gemini CLI の開発ワークフローとシームレスに統合し、インテリジェントなブランチ選択、自動ワークツリー作成、包括的なプロジェクト管理機能を提供します。
|
|
10
10
|
|
|
11
11
|
## ✨ 主要機能
|
|
12
12
|
|
|
13
13
|
- 🎯 **対話型ブランチ選択**: ブランチ種別・ワークツリー・変更状態アイコンに加え配置インジケータ枠(左=L, 右=R, リモートのみ=☁)で所在を示し、リモート名の `origin/` を省いたシンプルなリストで判別しやすく、現在の選択は `>` プレフィックスで強調されるため誤操作を防止
|
|
14
14
|
- 🌟 **スマートブランチ作成**: ガイド付きプロンプトと自動ベースブランチ選択でfeature、bugfix、hotfix、releaseブランチを作成
|
|
15
15
|
- 🔄 **高度なワークツリー管理**: 作成、クリーンアップ、パス最適化を含む完全なライフサイクル管理
|
|
16
|
-
- 🤖 **AIツール選択**: 起動時の対話型ランチャーで Claude Code / Codex CLI / Gemini CLI
|
|
16
|
+
- 🤖 **AIツール選択**: 起動時の対話型ランチャーで Claude Code / Codex CLI / Gemini CLI を選択
|
|
17
17
|
- 🚀 **AIツール統合**: 選択したツールをワークツリーで起動(Claude Codeは権限設定・変更処理の統合あり)
|
|
18
18
|
- 📊 **GitHub PR統合**: マージされたプルリクエストのブランチとワークツリーの自動クリーンアップ
|
|
19
19
|
- 🛠️ **変更管理**: 開発セッション後のコミット、stash、破棄の内蔵サポート
|
|
@@ -168,7 +168,7 @@ bunx @akiojin/gwt serve
|
|
|
168
168
|
- **Node.js**(任意): Nodeベースの開発ツール利用時は >= 18.0.0 を推奨
|
|
169
169
|
- **pnpm**: >= 8.0.0(CI/CD・Docker環境用 - ハードリンクによるnode_modules効率化)
|
|
170
170
|
- **Git**: ワークツリーサポート付き最新版
|
|
171
|
-
- **AIツール**: 少なくともいずれかが必要(Claude Code、Codex CLI
|
|
171
|
+
- **AIツール**: 少なくともいずれかが必要(Claude Code、Codex CLI、または Gemini CLI)
|
|
172
172
|
- **GitHub CLI**: PR クリーンアップ機能に必要(オプション)
|
|
173
173
|
- **Python**: >= 3.11(Spec Kit CLIに必要)
|
|
174
174
|
- **uv**: Pythonパッケージマネージャー(Spec Kit CLIに必要)
|
|
@@ -225,7 +225,6 @@ Claude Code で以下のコマンドを実行して、仕様駆動開発を活
|
|
|
225
225
|
│ ├── claude.ts # Claude Code 統合
|
|
226
226
|
│ ├── codex.ts # Codex CLI 統合
|
|
227
227
|
│ ├── gemini.ts # Gemini CLI 統合
|
|
228
|
-
│ ├── qwen.ts # Qwen CLI 統合
|
|
229
228
|
│ ├── github.ts # GitHub CLI統合
|
|
230
229
|
│ ├── utils.ts # ユーティリティ関数とエラーハンドリング
|
|
231
230
|
│ └── ui/ # ユーザーインターフェースコンポーネント
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Interactive Git worktree manager with AI tool selection (Claude Code / Codex CLI
|
|
|
6
6
|
|
|
7
7
|
## Overview
|
|
8
8
|
|
|
9
|
-
`@akiojin/gwt` is a powerful CLI tool that revolutionizes Git worktree management through an intuitive interface. It seamlessly integrates with Claude Code / Codex CLI / Gemini CLI
|
|
9
|
+
`@akiojin/gwt` is a powerful CLI tool that revolutionizes Git worktree management through an intuitive interface. It seamlessly integrates with Claude Code / Codex CLI / Gemini CLI workflows, providing intelligent branch selection, automated worktree creation, and comprehensive project management capabilities.
|
|
10
10
|
|
|
11
11
|
## ✨ Key Features
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ Interactive Git worktree manager with AI tool selection (Claude Code / Codex CLI
|
|
|
14
14
|
- 🖼️ **Full-screen Layout**: Persistent header with statistics, scrollable branch list, and always-visible footer with keyboard shortcuts
|
|
15
15
|
- 🌟 **Smart Branch Creation**: Create feature, bugfix, hotfix, or release branches with guided prompts and automatic base branch selection
|
|
16
16
|
- 🔄 **Advanced Worktree Management**: Complete lifecycle management including creation, cleanup, and path optimization
|
|
17
|
-
- 🤖 **AI Tool Selection**: Choose between Claude Code / Codex CLI / Gemini CLI
|
|
17
|
+
- 🤖 **AI Tool Selection**: Choose between Claude Code / Codex CLI / Gemini CLI through the interactive launcher
|
|
18
18
|
- 🚀 **AI Tool Integration**: Launch the selected tool in the worktree (Claude Code includes permission handling and post-change flow)
|
|
19
19
|
- 🔒 **Worktree Command Restriction**: PreToolUse hooks enforce worktree boundaries, blocking directory navigation, branch switching, and file operations outside the worktree
|
|
20
20
|
- 📊 **GitHub PR Integration**: Automatic cleanup of merged pull request branches and worktrees
|
|
@@ -191,7 +191,7 @@ For technical details, see [specs/SPEC-cff08403/](specs/SPEC-cff08403/).
|
|
|
191
191
|
- **Node.js** (optional): Recommended >= 18.0.0 when working with Node-based tooling
|
|
192
192
|
- **pnpm**: >= 8.0.0 (for CI/CD and Docker environments - uses hardlinked node_modules)
|
|
193
193
|
- **Git**: Latest version with worktree support
|
|
194
|
-
- **AI Tool**: At least one of Claude Code, Codex CLI,
|
|
194
|
+
- **AI Tool**: At least one of Claude Code, Codex CLI, or Gemini CLI should be available
|
|
195
195
|
- **GitHub CLI**: Required for PR cleanup features (optional)
|
|
196
196
|
- **Python**: >= 3.11 (for Spec Kit CLI)
|
|
197
197
|
- **uv**: Python package manager (for Spec Kit CLI)
|
|
@@ -248,7 +248,6 @@ For more details, see the [Spec Kit documentation](https://github.com/akiojin/sp
|
|
|
248
248
|
│ ├── claude.ts # Claude Code integration
|
|
249
249
|
│ ├── codex.ts # Codex CLI integration
|
|
250
250
|
│ ├── gemini.ts # Gemini CLI integration
|
|
251
|
-
│ ├── qwen.ts # Qwen CLI integration
|
|
252
251
|
│ ├── github.ts # GitHub CLI integration
|
|
253
252
|
│ ├── utils.ts # Utility functions and error handling
|
|
254
253
|
│ └── ui/ # User interface components
|
package/dist/claude.d.ts
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error wrapper used by `launchClaudeCode` to preserve the original failure
|
|
3
|
+
* while providing a user-friendly message.
|
|
4
|
+
*/
|
|
1
5
|
export declare class ClaudeError extends Error {
|
|
2
6
|
cause?: unknown | undefined;
|
|
3
7
|
constructor(message: string, cause?: unknown | undefined);
|
|
4
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Launches Claude Code in the given worktree path.
|
|
11
|
+
*
|
|
12
|
+
* This function:
|
|
13
|
+
* - validates the worktree path
|
|
14
|
+
* - normalizes launch arguments (mode/model/session/extra args)
|
|
15
|
+
* - resets terminal modes before and after the child process
|
|
16
|
+
* - auto-detects a local `claude` command and falls back to `npx` (Windows) or
|
|
17
|
+
* `bunx` when needed
|
|
18
|
+
*
|
|
19
|
+
* @param worktreePath - Worktree directory to run Claude Code in
|
|
20
|
+
* @param options - Launch options (mode/session/model/permissions/env)
|
|
21
|
+
* @returns Captured session id when available
|
|
22
|
+
*/
|
|
5
23
|
export declare function launchClaudeCode(worktreePath: string, options?: {
|
|
6
24
|
skipPermissions?: boolean;
|
|
7
25
|
mode?: "normal" | "continue" | "resume";
|
|
@@ -12,5 +30,8 @@ export declare function launchClaudeCode(worktreePath: string, options?: {
|
|
|
12
30
|
}): Promise<{
|
|
13
31
|
sessionId?: string | null;
|
|
14
32
|
}>;
|
|
33
|
+
/**
|
|
34
|
+
* Checks whether Claude Code is available via `bunx` in the current environment.
|
|
35
|
+
*/
|
|
15
36
|
export declare function isClaudeCodeAvailable(): Promise<boolean>;
|
|
16
37
|
//# sourceMappingURL=claude.d.ts.map
|
package/dist/claude.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAG3B,KAAK,CAAC,EAAE,OAAO;gBADtB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,OAAO,YAAA;CAKzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,GACL,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA0VxC;AAUD;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAgB9D"}
|
package/dist/claude.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { execa } from "execa";
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { existsSync } from "fs";
|
|
4
|
-
import { createChildStdio, getTerminalStreams } from "./utils/terminal.js";
|
|
4
|
+
import { createChildStdio, getTerminalStreams, resetTerminalModes, } from "./utils/terminal.js";
|
|
5
|
+
import { isCommandAvailable } from "./utils/command.js";
|
|
5
6
|
import { findLatestClaudeSession } from "./utils/session.js";
|
|
6
7
|
const CLAUDE_CLI_PACKAGE = "@anthropic-ai/claude-code@latest";
|
|
8
|
+
/**
|
|
9
|
+
* Error wrapper used by `launchClaudeCode` to preserve the original failure
|
|
10
|
+
* while providing a user-friendly message.
|
|
11
|
+
*/
|
|
7
12
|
export class ClaudeError extends Error {
|
|
8
13
|
cause;
|
|
9
14
|
constructor(message, cause) {
|
|
@@ -12,6 +17,20 @@ export class ClaudeError extends Error {
|
|
|
12
17
|
this.name = "ClaudeError";
|
|
13
18
|
}
|
|
14
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Launches Claude Code in the given worktree path.
|
|
22
|
+
*
|
|
23
|
+
* This function:
|
|
24
|
+
* - validates the worktree path
|
|
25
|
+
* - normalizes launch arguments (mode/model/session/extra args)
|
|
26
|
+
* - resets terminal modes before and after the child process
|
|
27
|
+
* - auto-detects a local `claude` command and falls back to `npx` (Windows) or
|
|
28
|
+
* `bunx` when needed
|
|
29
|
+
*
|
|
30
|
+
* @param worktreePath - Worktree directory to run Claude Code in
|
|
31
|
+
* @param options - Launch options (mode/session/model/permissions/env)
|
|
32
|
+
* @returns Captured session id when available
|
|
33
|
+
*/
|
|
15
34
|
export async function launchClaudeCode(worktreePath, options = {}) {
|
|
16
35
|
const terminal = getTerminalStreams();
|
|
17
36
|
const startedAt = Date.now();
|
|
@@ -134,6 +153,7 @@ export async function launchClaudeCode(worktreePath, options = {}) {
|
|
|
134
153
|
}
|
|
135
154
|
console.log(chalk.gray(` 📋 Args: ${args.join(" ")}`));
|
|
136
155
|
terminal.exitRawMode();
|
|
156
|
+
resetTerminalModes(terminal.stdout);
|
|
137
157
|
const baseEnv = { ...process.env, ...(options.envOverrides ?? {}) };
|
|
138
158
|
const launchEnvSource = options.skipPermissions && !baseEnv.IS_SANDBOX
|
|
139
159
|
? { ...baseEnv, IS_SANDBOX: "1" }
|
|
@@ -142,12 +162,30 @@ export async function launchClaudeCode(worktreePath, options = {}) {
|
|
|
142
162
|
const childStdio = createChildStdio();
|
|
143
163
|
// Auto-detect locally installed claude command
|
|
144
164
|
const hasLocalClaude = await isClaudeCommandAvailable();
|
|
165
|
+
const hasNpx = process.platform === "win32" ? await isNpxCommandAvailable() : false;
|
|
166
|
+
const execInteractive = async (file, fileArgs, execOptions) => {
|
|
167
|
+
if (process.platform !== "win32") {
|
|
168
|
+
await execa(file, fileArgs, { ...execOptions, shell: true });
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
try {
|
|
172
|
+
await execa(file, fileArgs, { ...execOptions, shell: false });
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
const err = error;
|
|
177
|
+
if (err?.code === "ENOENT" || err?.code === "EINVAL") {
|
|
178
|
+
await execa(file, fileArgs, { ...execOptions, shell: true });
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
throw error;
|
|
182
|
+
}
|
|
183
|
+
};
|
|
145
184
|
try {
|
|
146
185
|
if (hasLocalClaude) {
|
|
147
186
|
console.log(chalk.green(" ✨ Using locally installed claude command"));
|
|
148
|
-
await
|
|
187
|
+
await execInteractive("claude", args, {
|
|
149
188
|
cwd: worktreePath,
|
|
150
|
-
shell: true,
|
|
151
189
|
stdin: childStdio.stdin,
|
|
152
190
|
stdout: childStdio.stdout,
|
|
153
191
|
stderr: childStdio.stderr,
|
|
@@ -155,21 +193,36 @@ export async function launchClaudeCode(worktreePath, options = {}) {
|
|
|
155
193
|
});
|
|
156
194
|
}
|
|
157
195
|
else {
|
|
158
|
-
|
|
196
|
+
if (hasNpx) {
|
|
197
|
+
console.log(chalk.cyan(" 🔄 Falling back to npx @anthropic-ai/claude-code@latest"));
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
console.log(chalk.cyan(" 🔄 Falling back to bunx @anthropic-ai/claude-code@latest"));
|
|
201
|
+
}
|
|
159
202
|
console.log(chalk.yellow(" 💡 Recommended: Install Claude Code via official method for faster startup"));
|
|
160
203
|
console.log(chalk.yellow(" macOS/Linux: brew install --cask claude-code"));
|
|
161
204
|
console.log(chalk.yellow(" or: curl -fsSL https://claude.ai/install.sh | bash"));
|
|
162
205
|
console.log(chalk.yellow(" Windows: irm https://claude.ai/install.ps1 | iex"));
|
|
163
206
|
console.log("");
|
|
164
207
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
208
|
+
if (hasNpx) {
|
|
209
|
+
await execInteractive("npx", ["-y", CLAUDE_CLI_PACKAGE, ...args], {
|
|
210
|
+
cwd: worktreePath,
|
|
211
|
+
stdin: childStdio.stdin,
|
|
212
|
+
stdout: childStdio.stdout,
|
|
213
|
+
stderr: childStdio.stderr,
|
|
214
|
+
env: launchEnv,
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
await execInteractive("bunx", [CLAUDE_CLI_PACKAGE, ...args], {
|
|
219
|
+
cwd: worktreePath,
|
|
220
|
+
stdin: childStdio.stdin,
|
|
221
|
+
stdout: childStdio.stdout,
|
|
222
|
+
stderr: childStdio.stderr,
|
|
223
|
+
env: launchEnv,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
173
226
|
}
|
|
174
227
|
}
|
|
175
228
|
finally {
|
|
@@ -238,28 +291,18 @@ export async function launchClaudeCode(worktreePath, options = {}) {
|
|
|
238
291
|
}
|
|
239
292
|
finally {
|
|
240
293
|
terminal.exitRawMode();
|
|
294
|
+
resetTerminalModes(terminal.stdout);
|
|
241
295
|
}
|
|
242
296
|
}
|
|
243
|
-
/**
|
|
244
|
-
* Check if locally installed `claude` command is available
|
|
245
|
-
* @returns true if `claude` command exists in PATH, false otherwise
|
|
246
|
-
*/
|
|
247
297
|
async function isClaudeCommandAvailable() {
|
|
248
|
-
|
|
249
|
-
const command = process.platform === "win32" ? "where" : "which";
|
|
250
|
-
await execa(command, ["claude"], {
|
|
251
|
-
shell: true,
|
|
252
|
-
stdin: "ignore",
|
|
253
|
-
stdout: "ignore",
|
|
254
|
-
stderr: "ignore",
|
|
255
|
-
});
|
|
256
|
-
return true;
|
|
257
|
-
}
|
|
258
|
-
catch {
|
|
259
|
-
// claude command not found in PATH
|
|
260
|
-
return false;
|
|
261
|
-
}
|
|
298
|
+
return isCommandAvailable("claude");
|
|
262
299
|
}
|
|
300
|
+
async function isNpxCommandAvailable() {
|
|
301
|
+
return isCommandAvailable("npx");
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Checks whether Claude Code is available via `bunx` in the current environment.
|
|
305
|
+
*/
|
|
263
306
|
export async function isClaudeCodeAvailable() {
|
|
264
307
|
try {
|
|
265
308
|
await execa("bunx", [CLAUDE_CLI_PACKAGE, "--version"], { shell: true });
|
package/dist/claude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Item descriptor for the `Select` component.
|
|
4
|
+
*/
|
|
2
5
|
export interface SelectItem {
|
|
3
6
|
label: string;
|
|
4
7
|
value: string;
|
|
5
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Props for the `Select` component.
|
|
11
|
+
*/
|
|
6
12
|
export interface SelectProps<T extends SelectItem = SelectItem> {
|
|
7
13
|
items: T[];
|
|
8
14
|
onSelect: (item: T) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/common/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/common/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC5D,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACpE,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KACzB,KAAK,CAAC,SAAS,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAkDD;;;;GAIG;AACH,QAAA,MAAM,eAAe,GAAI,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,+IAUzD,WAAW,CAAC,CAAC,CAAC,sBAkIhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,EAGd,OAAO,eAAe,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useState } from "react";
|
|
2
|
-
import { Box, Text,
|
|
2
|
+
import { Box, Text, useStdout } from "ink";
|
|
3
|
+
import { useAppInput } from "../../hooks/useAppInput.js";
|
|
3
4
|
/**
|
|
4
5
|
* Custom comparison function for React.memo
|
|
5
6
|
* Compares items array by content (value and label) instead of reference
|
|
@@ -78,7 +79,7 @@ const SelectComponent = ({ items, onSelect, limit, initialIndex = 0, disabled =
|
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
81
|
}, [items, limit]);
|
|
81
|
-
|
|
82
|
+
useAppInput((input, key) => {
|
|
82
83
|
if (disabled) {
|
|
83
84
|
return;
|
|
84
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/common/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/common/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { AITool } from "../../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Renderable item for the AI tool selector list.
|
|
5
|
+
*/
|
|
3
6
|
export interface AIToolItem {
|
|
4
7
|
label: string;
|
|
5
8
|
value: AITool;
|
|
6
9
|
description: string;
|
|
7
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Props for `AIToolSelectorScreen`.
|
|
13
|
+
*/
|
|
8
14
|
export interface AIToolSelectorScreenProps {
|
|
9
15
|
onBack: () => void;
|
|
10
16
|
onSelect: (tool: AITool) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIToolSelectorScreen.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/AIToolSelectorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AIToolSelectorScreen.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/AIToolSelectorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AASnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,QAAQ,EACR,OAAO,EACP,aAAa,GACd,EAAE,yBAAyB,qBA+G3B"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React, { useState, useEffect } from "react";
|
|
2
|
-
import { Box, Text
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
3
|
import { Header } from "../parts/Header.js";
|
|
4
4
|
import { Footer } from "../parts/Footer.js";
|
|
5
5
|
import { Select } from "../common/Select.js";
|
|
6
|
+
import { useAppInput } from "../../hooks/useAppInput.js";
|
|
6
7
|
import { useTerminalSize } from "../../hooks/useTerminalSize.js";
|
|
7
8
|
import { getAllTools } from "../../../../config/tools.js";
|
|
8
9
|
/**
|
|
@@ -67,7 +68,7 @@ export function AIToolSelectorScreen({ onBack, onSelect, version, initialToolId,
|
|
|
67
68
|
}, [initialToolId, toolItems, isLoading]);
|
|
68
69
|
// Handle keyboard input
|
|
69
70
|
// Note: Select component handles Enter and arrow keys
|
|
70
|
-
|
|
71
|
+
useAppInput((input, key) => {
|
|
71
72
|
if (key.escape) {
|
|
72
73
|
onBack();
|
|
73
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIToolSelectorScreen.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/AIToolSelectorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"AIToolSelectorScreen.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/AIToolSelectorScreen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { BatchMergeProgress, BranchMergeStatus } from "../../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Props for `BatchMergeProgressScreen`.
|
|
5
|
+
*/
|
|
3
6
|
export interface BatchMergeProgressScreenProps {
|
|
4
7
|
progress: BatchMergeProgress;
|
|
5
8
|
statuses: BranchMergeStatus[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchMergeProgressScreen.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BatchMergeProgressScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BatchMergeProgressScreen.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BatchMergeProgressScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,6BAA6B,qBA6C/B"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { Box, Text
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
3
|
import { Header } from "../parts/Header.js";
|
|
4
4
|
import { Footer } from "../parts/Footer.js";
|
|
5
5
|
import { ProgressBar } from "../parts/ProgressBar.js";
|
|
6
6
|
import { MergeStatusList } from "../parts/MergeStatusList.js";
|
|
7
|
+
import { useAppInput } from "../../hooks/useAppInput.js";
|
|
7
8
|
import { useTerminalSize } from "../../hooks/useTerminalSize.js";
|
|
8
9
|
/**
|
|
9
10
|
* BatchMergeProgressScreen - Real-time progress display for batch merge
|
|
@@ -13,7 +14,7 @@ import { useTerminalSize } from "../../hooks/useTerminalSize.js";
|
|
|
13
14
|
export function BatchMergeProgressScreen({ progress, statuses, onCancel, }) {
|
|
14
15
|
const { rows } = useTerminalSize();
|
|
15
16
|
// Handle keyboard input
|
|
16
|
-
|
|
17
|
+
useAppInput((input, key) => {
|
|
17
18
|
if ((input === "q" || key.escape) && onCancel) {
|
|
18
19
|
onCancel();
|
|
19
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchMergeProgressScreen.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BatchMergeProgressScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"BatchMergeProgressScreen.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BatchMergeProgressScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAYjE;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,QAAQ,EACR,QAAQ,EACR,QAAQ,GACsB;IAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC;IAEnC,wBAAwB;IACxB,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACzB,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC9C,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,WAAW,GAAG,CAAC,CAAC;IACtB,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,8BAA8B;IACvD,MAAM,WAAW,GAAG,CAAC,CAAC;IACtB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,IAAI,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,CAAC,CACrD,CAAC;IAEF,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,MAAM,EAAE,IAAI;QACtC,oBAAC,MAAM,IAAC,KAAK,EAAC,yBAAyB,GAAG;QAE1C,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YAClD,oBAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI;YAEnC,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;gBACf,oBAAC,IAAI,IAAC,IAAI,6BAAwB,CAC9B;YAEN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;gBACf,oBAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,GAAI,CAC/D,CACF;QAEN,oBAAC,MAAM,IACL,OAAO,EAAE;gBACP;oBACE,GAAG,EAAE,GAAG;oBACR,WAAW,EAAE,uBAAuB,QAAQ,CAAC,YAAY,GAAG,CAAC,IAAI,QAAQ,CAAC,aAAa,EAAE;iBAC1F;aACF,GACD,CACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchMergeResultScreen.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BatchMergeResultScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BatchMergeResultScreen.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BatchMergeResultScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,MAAM,EACN,MAAM,GACP,EAAE,2BAA2B,qBAgF7B"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { Box, Text
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
3
|
import { Header } from "../parts/Header.js";
|
|
4
4
|
import { Footer } from "../parts/Footer.js";
|
|
5
5
|
import { MergeStatusList } from "../parts/MergeStatusList.js";
|
|
6
|
+
import { useAppInput } from "../../hooks/useAppInput.js";
|
|
6
7
|
import { useTerminalSize } from "../../hooks/useTerminalSize.js";
|
|
7
8
|
/**
|
|
8
9
|
* BatchMergeResultScreen - Final result summary for batch merge
|
|
@@ -12,7 +13,7 @@ import { useTerminalSize } from "../../hooks/useTerminalSize.js";
|
|
|
12
13
|
export function BatchMergeResultScreen({ result, onBack, onQuit, }) {
|
|
13
14
|
const { rows } = useTerminalSize();
|
|
14
15
|
// Handle keyboard input
|
|
15
|
-
|
|
16
|
+
useAppInput((input, key) => {
|
|
16
17
|
if (input === "q" && onQuit) {
|
|
17
18
|
onQuit();
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchMergeResultScreen.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BatchMergeResultScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"BatchMergeResultScreen.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BatchMergeResultScreen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BranchCreatorScreen.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BranchCreatorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BranchCreatorScreen.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BranchCreatorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAexE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAQD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,gBAAwB,GACzB,EAAE,wBAAwB,qBAsM1B"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React, { useState, useCallback, useEffect, useRef } from "react";
|
|
2
|
-
import { Box, Text
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
3
|
import { Header } from "../parts/Header.js";
|
|
4
4
|
import { Footer } from "../parts/Footer.js";
|
|
5
5
|
import { Select } from "../common/Select.js";
|
|
6
6
|
import { Input } from "../common/Input.js";
|
|
7
|
+
import { useAppInput } from "../../hooks/useAppInput.js";
|
|
7
8
|
import { useTerminalSize } from "../../hooks/useTerminalSize.js";
|
|
8
9
|
import { BRANCH_PREFIXES } from "../../../../config/constants.js";
|
|
9
10
|
const SPINNER_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧"];
|
|
@@ -23,7 +24,7 @@ export function BranchCreatorScreen({ onBack, onCreate, baseBranch, version, dis
|
|
|
23
24
|
const [spinnerIndex, setSpinnerIndex] = useState(0);
|
|
24
25
|
const spinnerFrame = SPINNER_FRAMES[spinnerIndex] ?? SPINNER_FRAMES[0];
|
|
25
26
|
// Handle keyboard input for back navigation
|
|
26
|
-
|
|
27
|
+
useAppInput((input, key) => {
|
|
27
28
|
if (isCreating) {
|
|
28
29
|
return;
|
|
29
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BranchCreatorScreen.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BranchCreatorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"BranchCreatorScreen.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/BranchCreatorScreen.tsx"],"names":[],"mappings":"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"}
|