@akiojin/gwt 2.11.1 → 2.12.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.
Files changed (76) hide show
  1. package/dist/claude.d.ts +4 -1
  2. package/dist/claude.d.ts.map +1 -1
  3. package/dist/claude.js +51 -7
  4. package/dist/claude.js.map +1 -1
  5. package/dist/cli/ui/components/App.d.ts +7 -0
  6. package/dist/cli/ui/components/App.d.ts.map +1 -1
  7. package/dist/cli/ui/components/App.js +307 -18
  8. package/dist/cli/ui/components/App.js.map +1 -1
  9. package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts +21 -0
  10. package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts.map +1 -0
  11. package/dist/cli/ui/components/screens/BranchQuickStartScreen.js +145 -0
  12. package/dist/cli/ui/components/screens/BranchQuickStartScreen.js.map +1 -0
  13. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts +2 -1
  14. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts.map +1 -1
  15. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js +4 -2
  16. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js.map +1 -1
  17. package/dist/cli/ui/components/screens/ModelSelectorScreen.js +1 -1
  18. package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts +10 -2
  19. package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts.map +1 -1
  20. package/dist/cli/ui/components/screens/SessionSelectorScreen.js +18 -7
  21. package/dist/cli/ui/components/screens/SessionSelectorScreen.js.map +1 -1
  22. package/dist/cli/ui/types.d.ts +1 -1
  23. package/dist/cli/ui/types.d.ts.map +1 -1
  24. package/dist/cli/ui/utils/continueSession.d.ts +18 -0
  25. package/dist/cli/ui/utils/continueSession.d.ts.map +1 -0
  26. package/dist/cli/ui/utils/continueSession.js +67 -0
  27. package/dist/cli/ui/utils/continueSession.js.map +1 -0
  28. package/dist/codex.d.ts +4 -1
  29. package/dist/codex.d.ts.map +1 -1
  30. package/dist/codex.js +70 -5
  31. package/dist/codex.js.map +1 -1
  32. package/dist/config/index.d.ts +9 -1
  33. package/dist/config/index.d.ts.map +1 -1
  34. package/dist/config/index.js +11 -2
  35. package/dist/config/index.js.map +1 -1
  36. package/dist/gemini.d.ts +4 -1
  37. package/dist/gemini.d.ts.map +1 -1
  38. package/dist/gemini.js +146 -32
  39. package/dist/gemini.js.map +1 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +119 -48
  42. package/dist/index.js.map +1 -1
  43. package/dist/qwen.d.ts +4 -1
  44. package/dist/qwen.d.ts.map +1 -1
  45. package/dist/qwen.js +45 -4
  46. package/dist/qwen.js.map +1 -1
  47. package/dist/utils/prompt.d.ts +6 -0
  48. package/dist/utils/prompt.d.ts.map +1 -0
  49. package/dist/utils/prompt.js +57 -0
  50. package/dist/utils/prompt.js.map +1 -0
  51. package/dist/utils/session.d.ts +82 -0
  52. package/dist/utils/session.d.ts.map +1 -0
  53. package/dist/utils/session.js +579 -0
  54. package/dist/utils/session.js.map +1 -0
  55. package/package.json +2 -2
  56. package/src/claude.ts +69 -8
  57. package/src/cli/ui/__tests__/components/App.protected-branch.test.tsx +12 -2
  58. package/src/cli/ui/__tests__/components/screens/BranchQuickStartScreen.test.tsx +142 -0
  59. package/src/cli/ui/__tests__/components/screens/ExecutionModeSelectorScreen.test.tsx +14 -0
  60. package/src/cli/ui/__tests__/components/screens/SessionSelectorScreen.test.tsx +29 -10
  61. package/src/cli/ui/__tests__/integration/edgeCases.test.tsx +4 -1
  62. package/src/cli/ui/components/App.tsx +403 -23
  63. package/src/cli/ui/components/screens/BranchQuickStartScreen.tsx +237 -0
  64. package/src/cli/ui/components/screens/ExecutionModeSelectorScreen.tsx +5 -1
  65. package/src/cli/ui/components/screens/ModelSelectorScreen.tsx +1 -1
  66. package/src/cli/ui/components/screens/SessionSelectorScreen.tsx +34 -6
  67. package/src/cli/ui/types.ts +1 -0
  68. package/src/cli/ui/utils/continueSession.ts +106 -0
  69. package/src/codex.ts +91 -6
  70. package/src/config/index.ts +22 -2
  71. package/src/gemini.ts +179 -41
  72. package/src/index.ts +145 -61
  73. package/src/qwen.ts +56 -5
  74. package/src/utils/__tests__/prompt.test.ts +89 -0
  75. package/src/utils/prompt.ts +74 -0
  76. package/src/utils/session.ts +704 -0
package/dist/index.js CHANGED
@@ -10,10 +10,13 @@ import { worktreeExists, isProtectedBranchName, switchToProtectedBranch, Worktre
10
10
  import { getTerminalStreams, waitForUserAcknowledgement, } from "./utils/terminal.js";
11
11
  import { getToolById, getSharedEnvironment } from "./config/tools.js";
12
12
  import { launchCustomAITool } from "./launcher.js";
13
- import { saveSession } from "./config/index.js";
13
+ import { saveSession, loadSession } from "./config/index.js";
14
+ import { findLatestCodexSession, findLatestClaudeSession, findLatestGeminiSession, } from "./utils/session.js";
14
15
  import { getPackageVersion } from "./utils.js";
15
- import readline from "node:readline";
16
+ import { findLatestClaudeSessionId } from "./utils/session.js";
17
+ import { resolveContinueSessionId } from "./cli/ui/utils/continueSession.js";
16
18
  import { installDependenciesForWorktree, DependencyInstallError, } from "./services/dependency-installer.js";
19
+ import { waitForEnter } from "./utils/prompt.js";
17
20
  const ERROR_PROMPT = chalk.yellow("Review the error details, then press Enter to continue.");
18
21
  async function waitForErrorAcknowledgement() {
19
22
  await waitForUserAcknowledgement(ERROR_PROMPT);
@@ -117,45 +120,6 @@ async function runDependencyInstallStep(description, step) {
117
120
  throw error;
118
121
  }
119
122
  }
120
- async function waitForEnter(promptMessage) {
121
- if (!process.stdin.isTTY) {
122
- // For non-interactive environments, resolve immediately.
123
- return;
124
- }
125
- // Ensure stdin is resumed and not in raw mode before using readline.
126
- // This is crucial for environments where stdin might be paused or in raw mode
127
- // by other libraries (like Ink.js).
128
- if (typeof process.stdin.resume === "function") {
129
- process.stdin.resume();
130
- }
131
- if (process.stdin.isRaw) {
132
- process.stdin.setRawMode(false);
133
- }
134
- await new Promise((resolve) => {
135
- const rl = readline.createInterface({
136
- input: process.stdin,
137
- output: process.stdout,
138
- });
139
- // Handle Ctrl+C to gracefully exit.
140
- rl.on("SIGINT", () => {
141
- rl.close();
142
- // Restore stdin to a paused state before exiting.
143
- if (typeof process.stdin.pause === "function") {
144
- process.stdin.pause();
145
- }
146
- process.exit(0);
147
- });
148
- rl.question(`${promptMessage}\n`, () => {
149
- rl.close();
150
- // Pause stdin again to allow other parts of the application
151
- // to take control if needed.
152
- if (typeof process.stdin.pause === "function") {
153
- process.stdin.pause();
154
- }
155
- resolve();
156
- });
157
- });
158
- }
159
123
  function showHelp() {
160
124
  console.log(`
161
125
  Worktree Manager
@@ -197,6 +161,7 @@ async function mainInkUI() {
197
161
  const { App } = await import("./cli/ui/components/App.js");
198
162
  const terminal = getTerminalStreams();
199
163
  let selectionResult;
164
+ // Resume stdin to ensure it's ready for Ink.js
200
165
  if (typeof terminal.stdin.resume === "function") {
201
166
  terminal.stdin.resume();
202
167
  }
@@ -230,7 +195,7 @@ async function mainInkUI() {
230
195
  * Handle AI tool workflow
231
196
  */
232
197
  export async function handleAIToolWorkflow(selectionResult) {
233
- const { branch, displayName, branchType, remoteBranch, tool, mode, skipPermissions, model, inferenceLevel, } = selectionResult;
198
+ const { branch, displayName, branchType, remoteBranch, tool, mode, skipPermissions, model, inferenceLevel, sessionId: selectedSessionId, } = selectionResult;
234
199
  const branchLabel = displayName ?? branch;
235
200
  const modelInfo = model || inferenceLevel
236
201
  ? `, model=${model ?? "default"}${inferenceLevel ? `/${inferenceLevel}` : ""}`
@@ -408,12 +373,36 @@ export async function handleAIToolWorkflow(selectionResult) {
408
373
  toolLabel: toolConfig.displayName ?? tool,
409
374
  mode,
410
375
  model: model ?? null,
376
+ reasoningLevel: inferenceLevel ?? null,
377
+ skipPermissions: skipPermissions ?? null,
411
378
  timestamp: Date.now(),
412
379
  repositoryRoot: repoRoot,
413
- });
380
+ }, { skipHistory: true });
381
+ // Lookup saved session ID for continue/resume
382
+ let resumeSessionId = selectedSessionId && selectedSessionId.length > 0
383
+ ? selectedSessionId
384
+ : null;
385
+ if (mode === "continue" || mode === "resume") {
386
+ const existingSession = await loadSession(repoRoot);
387
+ const history = existingSession?.history ?? [];
388
+ resumeSessionId =
389
+ resumeSessionId ??
390
+ (await resolveContinueSessionId({
391
+ history,
392
+ sessionData: existingSession,
393
+ branch,
394
+ toolId: tool,
395
+ repoRoot,
396
+ }));
397
+ if (!resumeSessionId) {
398
+ printWarning("No saved session ID found for this branch/tool. Falling back to tool default.");
399
+ }
400
+ }
401
+ const launchStartedAt = Date.now();
414
402
  // Launch selected AI tool
415
403
  // Builtin tools use their dedicated launch functions
416
404
  // Custom tools use the generic launchCustomAITool function
405
+ let launchResult;
417
406
  if (tool === "claude-code") {
418
407
  const launchOptions = {
419
408
  mode: mode === "resume"
@@ -423,11 +412,12 @@ export async function handleAIToolWorkflow(selectionResult) {
423
412
  : "normal",
424
413
  skipPermissions,
425
414
  envOverrides: sharedEnv,
415
+ sessionId: resumeSessionId,
426
416
  };
427
417
  if (model) {
428
418
  launchOptions.model = model;
429
419
  }
430
- await launchClaudeCode(worktreePath, launchOptions);
420
+ launchResult = await launchClaudeCode(worktreePath, launchOptions);
431
421
  }
432
422
  else if (tool === "codex-cli") {
433
423
  const launchOptions = {
@@ -438,6 +428,7 @@ export async function handleAIToolWorkflow(selectionResult) {
438
428
  : "normal",
439
429
  bypassApprovals: skipPermissions,
440
430
  envOverrides: sharedEnv,
431
+ sessionId: resumeSessionId,
441
432
  };
442
433
  if (model) {
443
434
  launchOptions.model = model;
@@ -445,7 +436,7 @@ export async function handleAIToolWorkflow(selectionResult) {
445
436
  if (inferenceLevel) {
446
437
  launchOptions.reasoningEffort = inferenceLevel;
447
438
  }
448
- await launchCodexCLI(worktreePath, launchOptions);
439
+ launchResult = await launchCodexCLI(worktreePath, launchOptions);
449
440
  }
450
441
  else if (tool === "gemini-cli") {
451
442
  const launchOptions = {
@@ -456,11 +447,12 @@ export async function handleAIToolWorkflow(selectionResult) {
456
447
  : "normal",
457
448
  skipPermissions,
458
449
  envOverrides: sharedEnv,
450
+ sessionId: resumeSessionId,
459
451
  };
460
452
  if (model) {
461
453
  launchOptions.model = model;
462
454
  }
463
- await launchGeminiCLI(worktreePath, launchOptions);
455
+ launchResult = await launchGeminiCLI(worktreePath, launchOptions);
464
456
  }
465
457
  else if (tool === "qwen-cli") {
466
458
  const launchOptions = {
@@ -471,16 +463,17 @@ export async function handleAIToolWorkflow(selectionResult) {
471
463
  : "normal",
472
464
  skipPermissions,
473
465
  envOverrides: sharedEnv,
466
+ sessionId: resumeSessionId,
474
467
  };
475
468
  if (model) {
476
469
  launchOptions.model = model;
477
470
  }
478
- await launchQwenCLI(worktreePath, launchOptions);
471
+ launchResult = await launchQwenCLI(worktreePath, launchOptions);
479
472
  }
480
473
  else {
481
474
  // Custom tool
482
475
  printInfo(`Launching custom tool: ${toolConfig.displayName}`);
483
- await launchCustomAITool(toolConfig, {
476
+ launchResult = await launchCustomAITool(toolConfig, {
484
477
  mode: mode === "resume"
485
478
  ? "resume"
486
479
  : mode === "continue"
@@ -491,6 +484,84 @@ export async function handleAIToolWorkflow(selectionResult) {
491
484
  sharedEnv,
492
485
  });
493
486
  }
487
+ // Persist session with captured session ID (if any)
488
+ let finalSessionId = launchResult?.sessionId ??
489
+ resumeSessionId ??
490
+ null;
491
+ if (!finalSessionId && tool === "claude-code") {
492
+ try {
493
+ finalSessionId = (await findLatestClaudeSessionId(worktreePath)) ?? null;
494
+ }
495
+ catch {
496
+ finalSessionId = null;
497
+ }
498
+ }
499
+ const finishedAt = Date.now();
500
+ if (tool === "codex-cli") {
501
+ try {
502
+ const latest = await findLatestCodexSession({
503
+ since: launchStartedAt - 60_000,
504
+ until: finishedAt + 60_000,
505
+ preferClosestTo: finishedAt,
506
+ windowMs: 60 * 60 * 1000,
507
+ cwd: worktreePath,
508
+ });
509
+ if (latest) {
510
+ finalSessionId = latest.id;
511
+ }
512
+ }
513
+ catch {
514
+ // ignore fallback failure
515
+ }
516
+ }
517
+ else if (tool === "claude-code") {
518
+ try {
519
+ const latestClaude = await findLatestClaudeSession(worktreePath, {
520
+ since: launchStartedAt - 60_000,
521
+ until: finishedAt + 60_000,
522
+ preferClosestTo: finishedAt,
523
+ windowMs: 60 * 60 * 1000,
524
+ });
525
+ if (latestClaude) {
526
+ finalSessionId = latestClaude.id;
527
+ }
528
+ }
529
+ catch {
530
+ // ignore
531
+ }
532
+ }
533
+ else if (tool === "gemini-cli") {
534
+ try {
535
+ const latestGemini = await findLatestGeminiSession(worktreePath, {
536
+ since: launchStartedAt - 60_000,
537
+ until: finishedAt + 60_000,
538
+ preferClosestTo: finishedAt,
539
+ windowMs: 60 * 60 * 1000,
540
+ cwd: worktreePath,
541
+ });
542
+ if (latestGemini) {
543
+ finalSessionId = latestGemini.id;
544
+ }
545
+ }
546
+ catch {
547
+ // ignore
548
+ }
549
+ }
550
+ await saveSession({
551
+ lastWorktreePath: worktreePath,
552
+ lastBranch: branch,
553
+ lastUsedTool: tool,
554
+ toolLabel: toolConfig.displayName ?? tool,
555
+ mode,
556
+ model: model ?? null,
557
+ reasoningLevel: inferenceLevel ?? null,
558
+ skipPermissions: skipPermissions ?? null,
559
+ timestamp: Date.now(),
560
+ repositoryRoot: repoRoot,
561
+ lastSessionId: finalSessionId,
562
+ });
563
+ // Small buffer before returning to branch list to avoid abrupt screen swap
564
+ await new Promise((resolve) => setTimeout(resolve, 3000));
494
565
  printInfo("Session completed successfully. Returning to main menu...");
495
566
  return;
496
567
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/qwen.d.ts CHANGED
@@ -8,6 +8,9 @@ export declare function launchQwenCLI(worktreePath: string, options?: {
8
8
  extraArgs?: string[];
9
9
  envOverrides?: Record<string, string>;
10
10
  model?: string;
11
- }): Promise<void>;
11
+ sessionId?: string | null;
12
+ }): Promise<{
13
+ sessionId?: string | null;
14
+ }>;
12
15
  export declare function isQwenCLIAvailable(): Promise<boolean>;
13
16
  //# sourceMappingURL=qwen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qwen.d.ts","sourceRoot":"","sources":["../src/qwen.ts"],"names":[],"mappings":"AAOA,qBAAa,SAAU,SAAQ,KAAK;IAGzB,KAAK,CAAC,EAAE,OAAO;gBADtB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,OAAO,YAAA;CAKzB;AAED,wBAAsB,aAAa,CACjC,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;CACX,GACL,OAAO,CAAC,IAAI,CAAC,CA0Jf;AAiBD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAe3D"}
1
+ {"version":3,"file":"qwen.d.ts","sourceRoot":"","sources":["../src/qwen.ts"],"names":[],"mappings":"AAQA,qBAAa,SAAU,SAAQ,KAAK;IAGzB,KAAK,CAAC,EAAE,OAAO;gBADtB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,OAAO,YAAA;CAKzB;AAED,wBAAsB,aAAa,CACjC,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,CA2MxC;AAiBD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAe3D"}
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(" â­ī¸ Starting session (use /chat resume in the CLI to continue)"));
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(" 🔄 Starting session (use /chat resume in the CLI to continue)"));
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
- await execa("qwen", args, {
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
- await execa("bunx", [QWEN_CLI_PACKAGE, ...args], {
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":"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"}
1
+ {"version":3,"file":"qwen.js","sourceRoot":"","sources":["../src/qwen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Wait for Enter using the same terminal streams as Ink.
3
+ * Falls back to no-op on non-interactive stdin to avoid blocking pipelines.
4
+ */
5
+ export declare function waitForEnter(promptMessage: string): Promise<void>;
6
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEvE"}
@@ -0,0 +1,57 @@
1
+ import readline from "node:readline";
2
+ import { getTerminalStreams } from "./terminal.js";
3
+ /**
4
+ * Wait for Enter using the same terminal streams as Ink.
5
+ * Falls back to no-op on non-interactive stdin to avoid blocking pipelines.
6
+ */
7
+ export async function waitForEnter(promptMessage) {
8
+ const terminal = getTerminalStreams();
9
+ const stdin = terminal.stdin;
10
+ const stdout = terminal.stdout;
11
+ if (!stdin || typeof stdin.on !== "function" || !stdin.isTTY) {
12
+ return;
13
+ }
14
+ terminal.exitRawMode?.();
15
+ if (typeof stdin.resume === "function") {
16
+ stdin.resume();
17
+ }
18
+ if (stdin.isRaw) {
19
+ try {
20
+ stdin.setRawMode?.(false);
21
+ }
22
+ catch {
23
+ // Ignore raw mode errors
24
+ }
25
+ }
26
+ await new Promise((resolve) => {
27
+ const rl = readline.createInterface({ input: stdin, output: stdout });
28
+ const cleanup = () => {
29
+ rl.removeAllListeners();
30
+ rl.close();
31
+ const remover = (method) => stdin[method]?.("end", onEnd);
32
+ remover("off");
33
+ remover("removeListener");
34
+ const removerErr = (method) => stdin[method]?.("error", onEnd);
35
+ removerErr("off");
36
+ removerErr("removeListener");
37
+ if (typeof stdin.pause === "function") {
38
+ stdin.pause();
39
+ }
40
+ };
41
+ const onEnd = () => {
42
+ cleanup();
43
+ resolve();
44
+ };
45
+ rl.on("SIGINT", () => {
46
+ cleanup();
47
+ process.exit(0);
48
+ });
49
+ rl.question(`${promptMessage}\n`, () => {
50
+ cleanup();
51
+ resolve();
52
+ });
53
+ stdin.once("end", onEnd);
54
+ stdin.once("error", onEnd);
55
+ });
56
+ }
57
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,aAAqB;IACtD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAsC,CAAC;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAwC,CAAC;IAEjE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;IAEzB,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACvC,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAED,IAAK,KAAiD,CAAC,KAAK,EAAE,CAAC;QAC7D,IAAI,CAAC;YACF,KAAsE,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9F,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtE,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,EAAE,CAAC,kBAAkB,EAAE,CAAC;YACxB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,CAAC,MAAgC,EAAE,EAAE,CAClD,KAA4E,CAAC,MAAM,CAAC,EAAE,CACrF,KAAK,EACL,KAAK,CACN,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,CAAC,MAAgC,EAAE,EAAE,CACrD,KAA4E,CAAC,MAAM,CAAC,EAAE,CACrF,OAAO,EACP,KAAK,CACN,CAAC;YACJ,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC7B,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACtC,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACnB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,QAAQ,CAAC,GAAG,aAAa,IAAI,EAAE,GAAG,EAAE;YACrC,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC"}