@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/dist/client/index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>gwt - Web UI</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-v8smkNOL.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-DsDNCy5f.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
package/dist/codex.d.ts
CHANGED
|
@@ -1,11 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reasoning effort levels supported by Codex CLI.
|
|
3
|
+
*/
|
|
1
4
|
export type CodexReasoningEffort = "low" | "medium" | "high" | "xhigh";
|
|
5
|
+
/**
|
|
6
|
+
* Default Codex model used when no override is provided.
|
|
7
|
+
*/
|
|
2
8
|
export declare const DEFAULT_CODEX_MODEL = "gpt-5.1-codex";
|
|
9
|
+
/**
|
|
10
|
+
* Default reasoning effort used when no override is provided.
|
|
11
|
+
*/
|
|
3
12
|
export declare const DEFAULT_CODEX_REASONING_EFFORT: CodexReasoningEffort;
|
|
13
|
+
/**
|
|
14
|
+
* Builds the default argument list for Codex CLI launch.
|
|
15
|
+
*
|
|
16
|
+
* @param model - Model name to pass via `--model`
|
|
17
|
+
* @param reasoningEffort - Reasoning effort to pass via config
|
|
18
|
+
*/
|
|
4
19
|
export declare const buildDefaultCodexArgs: (model?: string, reasoningEffort?: CodexReasoningEffort) => string[];
|
|
20
|
+
/**
|
|
21
|
+
* Error wrapper used by `launchCodexCLI` to preserve the original failure
|
|
22
|
+
* while providing a user-friendly message.
|
|
23
|
+
*/
|
|
5
24
|
export declare class CodexError extends Error {
|
|
6
25
|
cause?: unknown | undefined;
|
|
7
26
|
constructor(message: string, cause?: unknown | undefined);
|
|
8
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Launches Codex CLI in the given worktree path.
|
|
30
|
+
*
|
|
31
|
+
* This function resets terminal modes before and after the child process and
|
|
32
|
+
* tries to detect a session id after launch (when supported).
|
|
33
|
+
*
|
|
34
|
+
* @param worktreePath - Worktree directory to run Codex CLI in
|
|
35
|
+
* @param options - Launch options (mode/session/model/reasoning/env)
|
|
36
|
+
* @returns Captured session id when available
|
|
37
|
+
*/
|
|
9
38
|
export declare function launchCodexCLI(worktreePath: string, options?: {
|
|
10
39
|
mode?: "normal" | "continue" | "resume";
|
|
11
40
|
extraArgs?: string[];
|
|
@@ -17,5 +46,8 @@ export declare function launchCodexCLI(worktreePath: string, options?: {
|
|
|
17
46
|
}): Promise<{
|
|
18
47
|
sessionId?: string | null;
|
|
19
48
|
}>;
|
|
49
|
+
/**
|
|
50
|
+
* Checks whether Codex CLI is available via `bunx` in the current environment.
|
|
51
|
+
*/
|
|
20
52
|
export declare function isCodexAvailable(): Promise<boolean>;
|
|
21
53
|
//# sourceMappingURL=codex.d.ts.map
|
package/dist/codex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAA6B,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAO,MAA4B,EACnC,kBAAiB,oBAAqD,KACrE,MAAM,EAoBR,CAAC;AAEF;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;IAG1B,KAAK,CAAC,EAAE,OAAO;gBADtB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,OAAO,YAAA;CAKzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,GACL,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAoLxC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAWzD"}
|
package/dist/codex.js
CHANGED
|
@@ -2,11 +2,23 @@ import { execa } from "execa";
|
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { platform } from "os";
|
|
4
4
|
import { existsSync } from "fs";
|
|
5
|
-
import { createChildStdio, getTerminalStreams } from "./utils/terminal.js";
|
|
5
|
+
import { createChildStdio, getTerminalStreams, resetTerminalModes, } from "./utils/terminal.js";
|
|
6
6
|
import { findLatestCodexSession } from "./utils/session.js";
|
|
7
7
|
const CODEX_CLI_PACKAGE = "@openai/codex@latest";
|
|
8
|
+
/**
|
|
9
|
+
* Default Codex model used when no override is provided.
|
|
10
|
+
*/
|
|
8
11
|
export const DEFAULT_CODEX_MODEL = "gpt-5.1-codex";
|
|
12
|
+
/**
|
|
13
|
+
* Default reasoning effort used when no override is provided.
|
|
14
|
+
*/
|
|
9
15
|
export const DEFAULT_CODEX_REASONING_EFFORT = "high";
|
|
16
|
+
/**
|
|
17
|
+
* Builds the default argument list for Codex CLI launch.
|
|
18
|
+
*
|
|
19
|
+
* @param model - Model name to pass via `--model`
|
|
20
|
+
* @param reasoningEffort - Reasoning effort to pass via config
|
|
21
|
+
*/
|
|
10
22
|
export const buildDefaultCodexArgs = (model = DEFAULT_CODEX_MODEL, reasoningEffort = DEFAULT_CODEX_REASONING_EFFORT) => [
|
|
11
23
|
"--enable",
|
|
12
24
|
"web_search_request",
|
|
@@ -28,6 +40,10 @@ export const buildDefaultCodexArgs = (model = DEFAULT_CODEX_MODEL, reasoningEffo
|
|
|
28
40
|
"-c",
|
|
29
41
|
"shell_environment_policy.experimental_use_profile=true",
|
|
30
42
|
];
|
|
43
|
+
/**
|
|
44
|
+
* Error wrapper used by `launchCodexCLI` to preserve the original failure
|
|
45
|
+
* while providing a user-friendly message.
|
|
46
|
+
*/
|
|
31
47
|
export class CodexError extends Error {
|
|
32
48
|
cause;
|
|
33
49
|
constructor(message, cause) {
|
|
@@ -36,6 +52,16 @@ export class CodexError extends Error {
|
|
|
36
52
|
this.name = "CodexError";
|
|
37
53
|
}
|
|
38
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Launches Codex CLI in the given worktree path.
|
|
57
|
+
*
|
|
58
|
+
* This function resets terminal modes before and after the child process and
|
|
59
|
+
* tries to detect a session id after launch (when supported).
|
|
60
|
+
*
|
|
61
|
+
* @param worktreePath - Worktree directory to run Codex CLI in
|
|
62
|
+
* @param options - Launch options (mode/session/model/reasoning/env)
|
|
63
|
+
* @returns Captured session id when available
|
|
64
|
+
*/
|
|
39
65
|
export async function launchCodexCLI(worktreePath, options = {}) {
|
|
40
66
|
const terminal = getTerminalStreams();
|
|
41
67
|
const startedAt = Date.now();
|
|
@@ -92,6 +118,7 @@ export async function launchCodexCLI(worktreePath, options = {}) {
|
|
|
92
118
|
args.push(...codexArgs);
|
|
93
119
|
console.log(chalk.gray(` 📋 Args: ${args.join(" ")}`));
|
|
94
120
|
terminal.exitRawMode();
|
|
121
|
+
resetTerminalModes(terminal.stdout);
|
|
95
122
|
const childStdio = createChildStdio();
|
|
96
123
|
const env = Object.fromEntries(Object.entries({
|
|
97
124
|
...process.env,
|
|
@@ -170,8 +197,12 @@ export async function launchCodexCLI(worktreePath, options = {}) {
|
|
|
170
197
|
}
|
|
171
198
|
finally {
|
|
172
199
|
terminal.exitRawMode();
|
|
200
|
+
resetTerminalModes(terminal.stdout);
|
|
173
201
|
}
|
|
174
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Checks whether Codex CLI is available via `bunx` in the current environment.
|
|
205
|
+
*/
|
|
175
206
|
export async function isCodexAvailable() {
|
|
176
207
|
try {
|
|
177
208
|
await execa("bunx", [CODEX_CLI_PACKAGE, "--help"]);
|
package/dist/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ビルトインAIツール定義
|
|
3
3
|
*
|
|
4
|
-
* Claude Code、Codex、Gemini
|
|
4
|
+
* Claude Code、Codex、Gemini の CustomAITool 形式定義
|
|
5
5
|
*/
|
|
6
6
|
import type { CustomAITool } from "../types/tools.js";
|
|
7
7
|
/**
|
|
@@ -16,10 +16,6 @@ export declare const CODEX_CLI_TOOL: CustomAITool;
|
|
|
16
16
|
* Gemini のビルトイン定義
|
|
17
17
|
*/
|
|
18
18
|
export declare const GEMINI_CLI_TOOL: CustomAITool;
|
|
19
|
-
/**
|
|
20
|
-
* Qwen のビルトイン定義
|
|
21
|
-
*/
|
|
22
|
-
export declare const QWEN_CLI_TOOL: CustomAITool;
|
|
23
19
|
/**
|
|
24
20
|
* すべてのビルトインツール
|
|
25
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../../src/config/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAW9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAW5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,YAW7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../../src/config/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAW9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAW5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,YAW7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,YAAY,EAIvC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ビルトインAIツール定義
|
|
3
3
|
*
|
|
4
|
-
* Claude Code、Codex、Gemini
|
|
4
|
+
* Claude Code、Codex、Gemini の CustomAITool 形式定義
|
|
5
5
|
*/
|
|
6
6
|
import { CLAUDE_PERMISSION_SKIP_ARGS, CODEX_DEFAULT_ARGS, } from "../shared/aiToolConstants.js";
|
|
7
7
|
/**
|
|
@@ -49,22 +49,6 @@ export const GEMINI_CLI_TOOL = {
|
|
|
49
49
|
},
|
|
50
50
|
permissionSkipArgs: ["-y"],
|
|
51
51
|
};
|
|
52
|
-
/**
|
|
53
|
-
* Qwen のビルトイン定義
|
|
54
|
-
*/
|
|
55
|
-
export const QWEN_CLI_TOOL = {
|
|
56
|
-
id: "qwen-cli",
|
|
57
|
-
displayName: "Qwen",
|
|
58
|
-
type: "bunx",
|
|
59
|
-
command: "@qwen-code/qwen-code@latest",
|
|
60
|
-
defaultArgs: ["--checkpointing"],
|
|
61
|
-
modeArgs: {
|
|
62
|
-
normal: [],
|
|
63
|
-
continue: [],
|
|
64
|
-
resume: [],
|
|
65
|
-
},
|
|
66
|
-
permissionSkipArgs: ["--yolo"],
|
|
67
|
-
};
|
|
68
52
|
/**
|
|
69
53
|
* すべてのビルトインツール
|
|
70
54
|
*/
|
|
@@ -72,6 +56,5 @@ export const BUILTIN_TOOLS = [
|
|
|
72
56
|
CLAUDE_CODE_TOOL,
|
|
73
57
|
CODEX_CLI_TOOL,
|
|
74
58
|
GEMINI_CLI_TOOL,
|
|
75
|
-
QWEN_CLI_TOOL,
|
|
76
59
|
];
|
|
77
60
|
//# sourceMappingURL=builtin-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-tools.js","sourceRoot":"","sources":["../../src/config/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,kCAAkC;IAC3C,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,MAAM,EAAE,CAAC,IAAI,CAAC;KACf;IACD,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC;CAC5D,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,EAAE,EAAE,WAAW;IACf,WAAW,EAAE,OAAO;IACpB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC3C,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC;KACnB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,EAAE,EAAE,YAAY;IAChB,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;KACzB;IACD,kBAAkB,EAAE,CAAC,IAAI,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"builtin-tools.js","sourceRoot":"","sources":["../../src/config/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,kCAAkC;IAC3C,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,MAAM,EAAE,CAAC,IAAI,CAAC;KACf;IACD,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC;CAC5D,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,EAAE,EAAE,WAAW;IACf,WAAW,EAAE,OAAO;IACpB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC3C,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC;KACnB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,EAAE,EAAE,YAAY;IAChB,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;KACzB;IACD,kBAAkB,EAAE,CAAC,IAAI,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,gBAAgB;IAChB,cAAc;IACd,eAAe;CAChB,CAAC"}
|
package/dist/gemini.d.ts
CHANGED
|
@@ -1,7 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error wrapper used by `launchGeminiCLI` to preserve the original failure
|
|
3
|
+
* while providing a user-friendly message.
|
|
4
|
+
*/
|
|
1
5
|
export declare class GeminiError extends Error {
|
|
2
6
|
cause?: unknown | undefined;
|
|
3
7
|
constructor(message: string, cause?: unknown | undefined);
|
|
4
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Launches Gemini CLI in the given worktree path.
|
|
11
|
+
*
|
|
12
|
+
* This function resets terminal modes before and after the child process and
|
|
13
|
+
* supports continue/resume modes when a session id is available.
|
|
14
|
+
*
|
|
15
|
+
* @param worktreePath - Worktree directory to run Gemini CLI in
|
|
16
|
+
* @param options - Launch options (mode/session/model/permissions/env)
|
|
17
|
+
* @returns Captured session id when available
|
|
18
|
+
*/
|
|
5
19
|
export declare function launchGeminiCLI(worktreePath: string, options?: {
|
|
6
20
|
skipPermissions?: boolean;
|
|
7
21
|
mode?: "normal" | "continue" | "resume";
|
|
@@ -12,5 +26,8 @@ export declare function launchGeminiCLI(worktreePath: string, options?: {
|
|
|
12
26
|
}): Promise<{
|
|
13
27
|
sessionId?: string | null;
|
|
14
28
|
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Checks whether Gemini CLI is available via `bunx` in the current environment.
|
|
31
|
+
*/
|
|
15
32
|
export declare function isGeminiCLIAvailable(): Promise<boolean>;
|
|
16
33
|
//# sourceMappingURL=gemini.d.ts.map
|
package/dist/gemini.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../src/gemini.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../src/gemini.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;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,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,CA4QxC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAgB7D"}
|
package/dist/gemini.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 { findLatestGeminiSessionId } from "./utils/session.js";
|
|
6
7
|
const GEMINI_CLI_PACKAGE = "@google/gemini-cli@latest";
|
|
8
|
+
/**
|
|
9
|
+
* Error wrapper used by `launchGeminiCLI` to preserve the original failure
|
|
10
|
+
* while providing a user-friendly message.
|
|
11
|
+
*/
|
|
7
12
|
export class GeminiError extends Error {
|
|
8
13
|
cause;
|
|
9
14
|
constructor(message, cause) {
|
|
@@ -12,6 +17,16 @@ export class GeminiError extends Error {
|
|
|
12
17
|
this.name = "GeminiError";
|
|
13
18
|
}
|
|
14
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Launches Gemini CLI in the given worktree path.
|
|
22
|
+
*
|
|
23
|
+
* This function resets terminal modes before and after the child process and
|
|
24
|
+
* supports continue/resume modes when a session id is available.
|
|
25
|
+
*
|
|
26
|
+
* @param worktreePath - Worktree directory to run Gemini CLI in
|
|
27
|
+
* @param options - Launch options (mode/session/model/permissions/env)
|
|
28
|
+
* @returns Captured session id when available
|
|
29
|
+
*/
|
|
15
30
|
export async function launchGeminiCLI(worktreePath, options = {}) {
|
|
16
31
|
const terminal = getTerminalStreams();
|
|
17
32
|
try {
|
|
@@ -89,73 +104,58 @@ export async function launchGeminiCLI(worktreePath, options = {}) {
|
|
|
89
104
|
console.log(chalk.yellow(" ⚠️ Auto-approving all actions (YOLO mode)"));
|
|
90
105
|
}
|
|
91
106
|
terminal.exitRawMode();
|
|
107
|
+
resetTerminalModes(terminal.stdout);
|
|
92
108
|
const baseEnv = Object.fromEntries(Object.entries({
|
|
93
109
|
...process.env,
|
|
94
110
|
...(options.envOverrides ?? {}),
|
|
95
111
|
}).filter((entry) => typeof entry[1] === "string"));
|
|
96
112
|
const childStdio = createChildStdio();
|
|
97
113
|
// Auto-detect locally installed gemini command
|
|
98
|
-
const hasLocalGemini = await
|
|
99
|
-
//
|
|
114
|
+
const hasLocalGemini = await isCommandAvailable("gemini");
|
|
115
|
+
// Preserve TTY for interactive UI (colors/width) by inheriting stdout/stderr.
|
|
116
|
+
// Session ID is determined via file-based detection after exit.
|
|
100
117
|
let capturedSessionId = null;
|
|
101
|
-
const extractSessionId = (output) => {
|
|
102
|
-
if (!output)
|
|
103
|
-
return;
|
|
104
|
-
// Gemini outputs "Session ID: <uuid>" in exit summary
|
|
105
|
-
// UUID may be split across lines due to terminal width
|
|
106
|
-
// First, find "Session ID:" and extract following hex characters
|
|
107
|
-
const sessionIdIndex = output.indexOf("Session ID:");
|
|
108
|
-
if (sessionIdIndex === -1)
|
|
109
|
-
return;
|
|
110
|
-
// Extract text after "Session ID:" until we have enough hex chars for UUID
|
|
111
|
-
const afterLabel = output.slice(sessionIdIndex + "Session ID:".length);
|
|
112
|
-
// Remove all non-hex characters except dash, then extract UUID pattern
|
|
113
|
-
const hexOnly = afterLabel.replace(/[^0-9a-fA-F-]/g, "");
|
|
114
|
-
// UUID format: 8-4-4-4-12 = 32 hex chars + 4 dashes
|
|
115
|
-
const uuidMatch = hexOnly.match(/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})/i);
|
|
116
|
-
if (uuidMatch) {
|
|
117
|
-
capturedSessionId = `${uuidMatch[1]}-${uuidMatch[2]}-${uuidMatch[3]}-${uuidMatch[4]}-${uuidMatch[5]}`;
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
118
|
const runGemini = async (runArgs) => {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
const execChild = async (child) => {
|
|
120
|
+
try {
|
|
121
|
+
await child;
|
|
122
|
+
}
|
|
123
|
+
catch (execError) {
|
|
124
|
+
// Treat SIGINT/SIGTERM as normal exit (user pressed Ctrl+C)
|
|
125
|
+
const signal = execError?.signal;
|
|
126
|
+
if (signal === "SIGINT" || signal === "SIGTERM") {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
throw execError;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
const run = async (cmd, args) => {
|
|
125
133
|
const child = execa(cmd, args, {
|
|
126
134
|
cwd: worktreePath,
|
|
127
135
|
shell: true,
|
|
128
136
|
stdin: childStdio.stdin,
|
|
129
|
-
stdout:
|
|
137
|
+
stdout: childStdio.stdout,
|
|
130
138
|
stderr: childStdio.stderr,
|
|
131
139
|
env: baseEnv,
|
|
132
140
|
});
|
|
133
|
-
|
|
134
|
-
child.stdout?.on("data", (chunk) => {
|
|
135
|
-
const text = chunk.toString("utf8");
|
|
136
|
-
outputChunks.push(text);
|
|
137
|
-
terminal.stdout.write(chunk);
|
|
138
|
-
});
|
|
139
|
-
await child;
|
|
140
|
-
return outputChunks.join("");
|
|
141
|
+
await execChild(child);
|
|
141
142
|
};
|
|
142
143
|
if (hasLocalGemini) {
|
|
143
144
|
console.log(chalk.green(" ✨ Using locally installed gemini command"));
|
|
144
|
-
return await
|
|
145
|
+
return await run("gemini", runArgs);
|
|
145
146
|
}
|
|
146
147
|
console.log(chalk.cyan(" 🔄 Falling back to bunx @google/gemini-cli@latest"));
|
|
147
148
|
console.log(chalk.yellow(" 💡 Recommended: Install Gemini CLI globally for faster startup"));
|
|
148
149
|
console.log(chalk.yellow(" npm install -g @google/gemini-cli"));
|
|
149
150
|
console.log("");
|
|
150
151
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
151
|
-
return await
|
|
152
|
+
return await run("bunx", [GEMINI_CLI_PACKAGE, ...runArgs]);
|
|
152
153
|
};
|
|
153
|
-
let output;
|
|
154
154
|
let fellBackToLatest = false;
|
|
155
155
|
try {
|
|
156
156
|
// Try with explicit session ID first (if any), then fallback to --resume (latest) once
|
|
157
157
|
try {
|
|
158
|
-
|
|
158
|
+
await runGemini(argsPrimary);
|
|
159
159
|
}
|
|
160
160
|
catch (err) {
|
|
161
161
|
const shouldRetry = (options.mode === "resume" || options.mode === "continue") &&
|
|
@@ -163,7 +163,7 @@ export async function launchGeminiCLI(worktreePath, options = {}) {
|
|
|
163
163
|
if (shouldRetry) {
|
|
164
164
|
fellBackToLatest = true;
|
|
165
165
|
console.log(chalk.yellow(` ⚠️ Failed to resume session ${resumeSessionId}. Retrying with latest session...`));
|
|
166
|
-
|
|
166
|
+
await runGemini(argsFallback);
|
|
167
167
|
}
|
|
168
168
|
else {
|
|
169
169
|
throw err;
|
|
@@ -173,8 +173,6 @@ export async function launchGeminiCLI(worktreePath, options = {}) {
|
|
|
173
173
|
finally {
|
|
174
174
|
childStdio.cleanup();
|
|
175
175
|
}
|
|
176
|
-
// Extract session ID from Gemini's exit summary output
|
|
177
|
-
extractSessionId(output);
|
|
178
176
|
const explicitResumeSucceeded = usedExplicitSessionId && !fellBackToLatest;
|
|
179
177
|
// If we explicitly resumed a specific session (and did not fall back), keep that ID.
|
|
180
178
|
if (explicitResumeSucceeded) {
|
|
@@ -202,7 +200,7 @@ export async function launchGeminiCLI(worktreePath, options = {}) {
|
|
|
202
200
|
return capturedSessionId ? { sessionId: capturedSessionId } : {};
|
|
203
201
|
}
|
|
204
202
|
catch (error) {
|
|
205
|
-
const hasLocalGemini = await
|
|
203
|
+
const hasLocalGemini = await isCommandAvailable("gemini");
|
|
206
204
|
let errorMessage;
|
|
207
205
|
const err = error;
|
|
208
206
|
if (err.code === "ENOENT") {
|
|
@@ -235,28 +233,12 @@ export async function launchGeminiCLI(worktreePath, options = {}) {
|
|
|
235
233
|
}
|
|
236
234
|
finally {
|
|
237
235
|
terminal.exitRawMode();
|
|
236
|
+
resetTerminalModes(terminal.stdout);
|
|
238
237
|
}
|
|
239
238
|
}
|
|
240
239
|
/**
|
|
241
|
-
*
|
|
242
|
-
* @returns true if `gemini` command exists in PATH, false otherwise
|
|
240
|
+
* Checks whether Gemini CLI is available via `bunx` in the current environment.
|
|
243
241
|
*/
|
|
244
|
-
async function isGeminiCommandAvailable() {
|
|
245
|
-
try {
|
|
246
|
-
const command = process.platform === "win32" ? "where" : "which";
|
|
247
|
-
await execa(command, ["gemini"], {
|
|
248
|
-
shell: true,
|
|
249
|
-
stdin: "ignore",
|
|
250
|
-
stdout: "ignore",
|
|
251
|
-
stderr: "ignore",
|
|
252
|
-
});
|
|
253
|
-
return true;
|
|
254
|
-
}
|
|
255
|
-
catch {
|
|
256
|
-
// gemini command not found in PATH
|
|
257
|
-
return false;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
242
|
export async function isGeminiCLIAvailable() {
|
|
261
243
|
try {
|
|
262
244
|
await execa("bunx", [GEMINI_CLI_PACKAGE, "--version"], { shell: true });
|
package/dist/gemini.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../src/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../src/gemini.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAuBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAkQlE;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,IAAI,CAAC,CA6df;AAED,KAAK,SAAS,GAAG,MAAM,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;AAC5D,KAAK,eAAe,GAAG,CAAC,SAAS,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAWrE,wBAAsB,kBAAkB,CACtC,SAAS,GAAE,SAAqB,EAChC,eAAe,GAAE,eAAsC,GACtD,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C1C"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,6 @@ import { isGitRepository, getRepositoryRoot, branchExists, fetchAllRemotes, pull
|
|
|
3
3
|
import { launchClaudeCode } from "./claude.js";
|
|
4
4
|
import { launchCodexCLI, CodexError, } from "./codex.js";
|
|
5
5
|
import { launchGeminiCLI, GeminiError } from "./gemini.js";
|
|
6
|
-
import { launchQwenCLI, QwenError } from "./qwen.js";
|
|
7
6
|
import { WorktreeOrchestrator, } from "./services/WorktreeOrchestrator.js";
|
|
8
7
|
import chalk from "chalk";
|
|
9
8
|
import { worktreeExists, isProtectedBranchName, switchToProtectedBranch, WorktreeError, } from "./worktree.js";
|
|
@@ -64,7 +63,6 @@ function isRecoverableError(error) {
|
|
|
64
63
|
error instanceof WorktreeError ||
|
|
65
64
|
error instanceof CodexError ||
|
|
66
65
|
error instanceof GeminiError ||
|
|
67
|
-
error instanceof QwenError ||
|
|
68
66
|
error instanceof DependencyInstallError) {
|
|
69
67
|
return true;
|
|
70
68
|
}
|
|
@@ -73,7 +71,6 @@ function isRecoverableError(error) {
|
|
|
73
71
|
error.name === "WorktreeError" ||
|
|
74
72
|
error.name === "CodexError" ||
|
|
75
73
|
error.name === "GeminiError" ||
|
|
76
|
-
error.name === "QwenError" ||
|
|
77
74
|
error.name === "DependencyInstallError");
|
|
78
75
|
}
|
|
79
76
|
if (typeof error === "object" &&
|
|
@@ -83,7 +80,6 @@ function isRecoverableError(error) {
|
|
|
83
80
|
name === "WorktreeError" ||
|
|
84
81
|
name === "CodexError" ||
|
|
85
82
|
name === "GeminiError" ||
|
|
86
|
-
name === "QwenError" ||
|
|
87
83
|
name === "DependencyInstallError");
|
|
88
84
|
}
|
|
89
85
|
return false;
|
|
@@ -464,22 +460,6 @@ export async function handleAIToolWorkflow(selectionResult) {
|
|
|
464
460
|
}
|
|
465
461
|
launchResult = await launchGeminiCLI(worktreePath, launchOptions);
|
|
466
462
|
}
|
|
467
|
-
else if (tool === "qwen-cli") {
|
|
468
|
-
const launchOptions = {
|
|
469
|
-
mode: mode === "resume"
|
|
470
|
-
? "resume"
|
|
471
|
-
: mode === "continue"
|
|
472
|
-
? "continue"
|
|
473
|
-
: "normal",
|
|
474
|
-
skipPermissions,
|
|
475
|
-
envOverrides: sharedEnv,
|
|
476
|
-
sessionId: resumeSessionId,
|
|
477
|
-
};
|
|
478
|
-
if (model) {
|
|
479
|
-
launchOptions.model = model;
|
|
480
|
-
}
|
|
481
|
-
launchResult = await launchQwenCLI(worktreePath, launchOptions);
|
|
482
|
-
}
|
|
483
463
|
else {
|
|
484
464
|
// Custom tool
|
|
485
465
|
printInfo(`Launching custom tool: ${toolConfig.displayName}`);
|