@akiojin/gwt 2.11.0 â 2.12.0
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/dist/claude.d.ts +4 -1
- package/dist/claude.d.ts.map +1 -1
- package/dist/claude.js +51 -7
- package/dist/claude.js.map +1 -1
- package/dist/cli/ui/components/App.d.ts +7 -0
- package/dist/cli/ui/components/App.d.ts.map +1 -1
- package/dist/cli/ui/components/App.js +307 -18
- package/dist/cli/ui/components/App.js.map +1 -1
- package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts +21 -0
- package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts.map +1 -0
- package/dist/cli/ui/components/screens/BranchQuickStartScreen.js +145 -0
- package/dist/cli/ui/components/screens/BranchQuickStartScreen.js.map +1 -0
- package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts +2 -1
- package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js +4 -2
- package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js.map +1 -1
- package/dist/cli/ui/components/screens/ModelSelectorScreen.js +1 -1
- package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts +10 -2
- package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts.map +1 -1
- package/dist/cli/ui/components/screens/SessionSelectorScreen.js +18 -7
- package/dist/cli/ui/components/screens/SessionSelectorScreen.js.map +1 -1
- package/dist/cli/ui/types.d.ts +1 -1
- package/dist/cli/ui/types.d.ts.map +1 -1
- package/dist/cli/ui/utils/branchFormatter.d.ts.map +1 -1
- package/dist/cli/ui/utils/branchFormatter.js +0 -13
- package/dist/cli/ui/utils/branchFormatter.js.map +1 -1
- package/dist/cli/ui/utils/continueSession.d.ts +18 -0
- package/dist/cli/ui/utils/continueSession.d.ts.map +1 -0
- package/dist/cli/ui/utils/continueSession.js +67 -0
- package/dist/cli/ui/utils/continueSession.js.map +1 -0
- package/dist/codex.d.ts +4 -1
- package/dist/codex.d.ts.map +1 -1
- package/dist/codex.js +70 -5
- package/dist/codex.js.map +1 -1
- package/dist/config/index.d.ts +9 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +11 -2
- package/dist/config/index.js.map +1 -1
- package/dist/gemini.d.ts +4 -1
- package/dist/gemini.d.ts.map +1 -1
- package/dist/gemini.js +146 -32
- package/dist/gemini.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +118 -8
- package/dist/index.js.map +1 -1
- package/dist/qwen.d.ts +4 -1
- package/dist/qwen.d.ts.map +1 -1
- package/dist/qwen.js +45 -4
- package/dist/qwen.js.map +1 -1
- package/dist/utils/session.d.ts +82 -0
- package/dist/utils/session.d.ts.map +1 -0
- package/dist/utils/session.js +579 -0
- package/dist/utils/session.js.map +1 -0
- package/package.json +1 -1
- package/src/claude.ts +69 -8
- package/src/cli/ui/__tests__/components/App.protected-branch.test.tsx +12 -2
- package/src/cli/ui/__tests__/components/screens/BranchListScreen.test.tsx +2 -2
- package/src/cli/ui/__tests__/components/screens/BranchQuickStartScreen.test.tsx +142 -0
- package/src/cli/ui/__tests__/components/screens/ExecutionModeSelectorScreen.test.tsx +14 -0
- package/src/cli/ui/__tests__/components/screens/SessionSelectorScreen.test.tsx +29 -10
- package/src/cli/ui/__tests__/integration/edgeCases.test.tsx +4 -1
- package/src/cli/ui/__tests__/utils/branchFormatter.test.ts +0 -1
- package/src/cli/ui/components/App.tsx +403 -23
- package/src/cli/ui/components/screens/BranchQuickStartScreen.tsx +237 -0
- package/src/cli/ui/components/screens/ExecutionModeSelectorScreen.tsx +5 -1
- package/src/cli/ui/components/screens/ModelSelectorScreen.tsx +1 -1
- package/src/cli/ui/components/screens/SessionSelectorScreen.tsx +34 -6
- package/src/cli/ui/types.ts +1 -0
- package/src/cli/ui/utils/branchFormatter.ts +0 -13
- package/src/cli/ui/utils/continueSession.ts +106 -0
- package/src/codex.ts +91 -6
- package/src/config/index.ts +22 -2
- package/src/gemini.ts +179 -41
- package/src/index.ts +144 -16
- package/src/qwen.ts +56 -5
- package/src/utils/session.ts +704 -0
package/dist/qwen.js
CHANGED
|
@@ -2,6 +2,7 @@ import { execa } from "execa";
|
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { existsSync } from "fs";
|
|
4
4
|
import { createChildStdio, getTerminalStreams } from "./utils/terminal.js";
|
|
5
|
+
import { findLatestQwenSessionId } from "./utils/session.js";
|
|
5
6
|
const QWEN_CLI_PACKAGE = "@qwen-code/qwen-code@latest";
|
|
6
7
|
export class QwenError extends Error {
|
|
7
8
|
cause;
|
|
@@ -28,12 +29,19 @@ export async function launchQwenCLI(worktreePath, options = {}) {
|
|
|
28
29
|
// Handle execution mode
|
|
29
30
|
// Note: Qwen CLI doesn't have explicit continue/resume CLI options at startup.
|
|
30
31
|
// Session management is done via /chat commands during interactive sessions.
|
|
32
|
+
const resumeSessionId = options.sessionId && options.sessionId.trim().length > 0
|
|
33
|
+
? options.sessionId.trim()
|
|
34
|
+
: null;
|
|
31
35
|
switch (options.mode) {
|
|
32
36
|
case "continue":
|
|
33
|
-
console.log(chalk.cyan(
|
|
37
|
+
console.log(chalk.cyan(resumeSessionId
|
|
38
|
+
? ` âī¸ Starting session (then /chat resume ${resumeSessionId})`
|
|
39
|
+
: " âī¸ Starting session (use /chat resume in the CLI to continue)"));
|
|
34
40
|
break;
|
|
35
41
|
case "resume":
|
|
36
|
-
console.log(chalk.cyan(
|
|
42
|
+
console.log(chalk.cyan(resumeSessionId
|
|
43
|
+
? ` đ Starting session (then /chat resume ${resumeSessionId})`
|
|
44
|
+
: " đ Starting session (use /chat resume in the CLI to continue)"));
|
|
37
45
|
break;
|
|
38
46
|
case "normal":
|
|
39
47
|
default:
|
|
@@ -49,6 +57,7 @@ export async function launchQwenCLI(worktreePath, options = {}) {
|
|
|
49
57
|
if (options.extraArgs && options.extraArgs.length > 0) {
|
|
50
58
|
args.push(...options.extraArgs);
|
|
51
59
|
}
|
|
60
|
+
console.log(chalk.gray(` đ Args: ${args.join(" ")}`));
|
|
52
61
|
terminal.exitRawMode();
|
|
53
62
|
const baseEnv = {
|
|
54
63
|
...process.env,
|
|
@@ -58,10 +67,22 @@ export async function launchQwenCLI(worktreePath, options = {}) {
|
|
|
58
67
|
// Auto-detect locally installed qwen command
|
|
59
68
|
const hasLocalQwen = await isQwenCommandAvailable();
|
|
60
69
|
try {
|
|
70
|
+
const execChild = async (child) => {
|
|
71
|
+
try {
|
|
72
|
+
await child;
|
|
73
|
+
}
|
|
74
|
+
catch (execError) {
|
|
75
|
+
// Treat SIGINT/SIGTERM as normal exit (user pressed Ctrl+C)
|
|
76
|
+
if (execError.signal === "SIGINT" || execError.signal === "SIGTERM") {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
throw execError;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
61
82
|
if (hasLocalQwen) {
|
|
62
83
|
// Use locally installed qwen command
|
|
63
84
|
console.log(chalk.green(" ⨠Using locally installed qwen command"));
|
|
64
|
-
|
|
85
|
+
const child = execa("qwen", args, {
|
|
65
86
|
cwd: worktreePath,
|
|
66
87
|
shell: true,
|
|
67
88
|
stdin: childStdio.stdin,
|
|
@@ -69,6 +90,7 @@ export async function launchQwenCLI(worktreePath, options = {}) {
|
|
|
69
90
|
stderr: childStdio.stderr,
|
|
70
91
|
env: baseEnv,
|
|
71
92
|
});
|
|
93
|
+
await execChild(child);
|
|
72
94
|
}
|
|
73
95
|
else {
|
|
74
96
|
// Fallback to bunx
|
|
@@ -78,7 +100,7 @@ export async function launchQwenCLI(worktreePath, options = {}) {
|
|
|
78
100
|
console.log("");
|
|
79
101
|
// Wait 2 seconds to let user read the message
|
|
80
102
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
81
|
-
|
|
103
|
+
const child = execa("bunx", [QWEN_CLI_PACKAGE, ...args], {
|
|
82
104
|
cwd: worktreePath,
|
|
83
105
|
shell: true,
|
|
84
106
|
stdin: childStdio.stdin,
|
|
@@ -86,11 +108,30 @@ export async function launchQwenCLI(worktreePath, options = {}) {
|
|
|
86
108
|
stderr: childStdio.stderr,
|
|
87
109
|
env: baseEnv,
|
|
88
110
|
});
|
|
111
|
+
await execChild(child);
|
|
89
112
|
}
|
|
90
113
|
}
|
|
91
114
|
finally {
|
|
92
115
|
childStdio.cleanup();
|
|
93
116
|
}
|
|
117
|
+
let capturedSessionId = null;
|
|
118
|
+
try {
|
|
119
|
+
capturedSessionId =
|
|
120
|
+
(await findLatestQwenSessionId(worktreePath)) ??
|
|
121
|
+
resumeSessionId ??
|
|
122
|
+
null;
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
capturedSessionId = resumeSessionId ?? null;
|
|
126
|
+
}
|
|
127
|
+
if (capturedSessionId) {
|
|
128
|
+
console.log(chalk.cyan(`\n đ Session tag: ${capturedSessionId}`));
|
|
129
|
+
console.log(chalk.gray(` Resume in Qwen CLI: /chat resume ${capturedSessionId}`));
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
console.log(chalk.yellow("\n âšī¸ Could not determine Qwen session tag automatically."));
|
|
133
|
+
}
|
|
134
|
+
return capturedSessionId ? { sessionId: capturedSessionId } : {};
|
|
94
135
|
}
|
|
95
136
|
catch (error) {
|
|
96
137
|
const hasLocalQwen = await isQwenCommandAvailable();
|
package/dist/qwen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qwen.js","sourceRoot":"","sources":["../src/qwen.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,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"qwen.js","sourceRoot":"","sources":["../src/qwen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates that a string is a properly formatted UUID session ID.
|
|
3
|
+
* @param id - The string to validate
|
|
4
|
+
* @returns true if the string is a valid UUID format
|
|
5
|
+
*/
|
|
6
|
+
export declare function isValidUuidSessionId(id: string): boolean;
|
|
7
|
+
export interface CodexSessionInfo {
|
|
8
|
+
id: string;
|
|
9
|
+
mtime: number;
|
|
10
|
+
}
|
|
11
|
+
export interface GeminiSessionInfo {
|
|
12
|
+
id: string;
|
|
13
|
+
mtime: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function findLatestCodexSession(options?: {
|
|
16
|
+
since?: number;
|
|
17
|
+
until?: number;
|
|
18
|
+
preferClosestTo?: number;
|
|
19
|
+
windowMs?: number;
|
|
20
|
+
cwd?: string | null;
|
|
21
|
+
}): Promise<CodexSessionInfo | null>;
|
|
22
|
+
export declare function findLatestCodexSessionId(options?: {
|
|
23
|
+
since?: number;
|
|
24
|
+
until?: number;
|
|
25
|
+
preferClosestTo?: number;
|
|
26
|
+
windowMs?: number;
|
|
27
|
+
cwd?: string | null;
|
|
28
|
+
}): Promise<string | null>;
|
|
29
|
+
export declare function waitForCodexSessionId(options: {
|
|
30
|
+
startedAt: number;
|
|
31
|
+
timeoutMs?: number;
|
|
32
|
+
pollIntervalMs?: number;
|
|
33
|
+
cwd?: string | null;
|
|
34
|
+
}): Promise<string | null>;
|
|
35
|
+
export declare function encodeClaudeProjectPath(cwd: string): string;
|
|
36
|
+
export declare function findLatestClaudeSessionId(cwd: string, options?: {
|
|
37
|
+
since?: number;
|
|
38
|
+
until?: number;
|
|
39
|
+
preferClosestTo?: number;
|
|
40
|
+
windowMs?: number;
|
|
41
|
+
}): Promise<string | null>;
|
|
42
|
+
export interface ClaudeSessionInfo {
|
|
43
|
+
id: string;
|
|
44
|
+
mtime: number;
|
|
45
|
+
}
|
|
46
|
+
export declare function findLatestClaudeSession(cwd: string, options?: {
|
|
47
|
+
since?: number;
|
|
48
|
+
until?: number;
|
|
49
|
+
preferClosestTo?: number;
|
|
50
|
+
windowMs?: number;
|
|
51
|
+
}): Promise<ClaudeSessionInfo | null>;
|
|
52
|
+
export declare function waitForClaudeSessionId(cwd: string, options?: {
|
|
53
|
+
timeoutMs?: number;
|
|
54
|
+
pollIntervalMs?: number;
|
|
55
|
+
since?: number;
|
|
56
|
+
until?: number;
|
|
57
|
+
preferClosestTo?: number;
|
|
58
|
+
windowMs?: number;
|
|
59
|
+
}): Promise<string | null>;
|
|
60
|
+
export declare function findLatestGeminiSession(_cwd: string, options?: {
|
|
61
|
+
since?: number;
|
|
62
|
+
until?: number;
|
|
63
|
+
preferClosestTo?: number;
|
|
64
|
+
windowMs?: number;
|
|
65
|
+
cwd?: string | null;
|
|
66
|
+
}): Promise<GeminiSessionInfo | null>;
|
|
67
|
+
export declare function findLatestGeminiSessionId(cwd: string, options?: {
|
|
68
|
+
since?: number;
|
|
69
|
+
until?: number;
|
|
70
|
+
preferClosestTo?: number;
|
|
71
|
+
windowMs?: number;
|
|
72
|
+
cwd?: string | null;
|
|
73
|
+
}): Promise<string | null>;
|
|
74
|
+
export declare function findLatestQwenSessionId(_cwd: string): Promise<string | null>;
|
|
75
|
+
/**
|
|
76
|
+
* Checks if a Claude session file exists for the given session ID and worktree path.
|
|
77
|
+
* @param sessionId - The session ID to check
|
|
78
|
+
* @param worktreePath - The worktree path (used to determine project encoding)
|
|
79
|
+
* @returns true if a session file exists for this ID
|
|
80
|
+
*/
|
|
81
|
+
export declare function claudeSessionFileExists(sessionId: string, worktreePath: string): Promise<boolean>;
|
|
82
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
|