@akiojin/gwt 4.1.1 → 4.2.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/README.md CHANGED
@@ -385,8 +385,33 @@ We welcome contributions! Please read our contributing guidelines:
385
385
  - **Issues**: GitHub Issues for bug reports and feature requests
386
386
  - **Discussions**: GitHub Discussions for questions and community support
387
387
 
388
+ ## MCP Configuration
389
+
390
+ This repo includes `.mcp.json` for local MCP server definitions.
391
+
392
+ - **External endpoints**: `context7` uses an external SSE endpoint. Review trust, security, and privacy requirements before enabling it in your environment.
393
+ - **Data handling**: MCP clients may send prompts/queries (and possibly repository context depending on your tooling). Confirm compliance/DPA needs and disable the endpoint if external sharing is not permitted.
394
+ - **Overrides**: If your MCP client supports environment expansion, you can override or disable external endpoints via env vars:
395
+ - `MCP_CONTEXT7_URL` (default: `https://mcp.context7.com/sse`)
396
+ - `MCP_CONTEXT7_ENABLED` (default: `true`)
397
+ - `SERENA_MCP_REF` (default: pinned commit in `.mcp.json`)
398
+ - **Local config**: If your client does not expand env vars, generate a local config with `envsubst` and point your client to it.
399
+
388
400
  ### Icon Legend
389
401
 
390
- - First 3 columns: ⚡(main/develop) / ✨(feature) / 🐛(bugfix) / 🔥(hotfix) / 📦(release) / 📌(other), 🟢=has worktree, 🔴=has worktree (inaccessible), ✏️=uncommitted changes, ⚠️=warning, ⭐=current branch
391
- - Location column: blank=local exists, `☁`=remote only
392
- - Selection column: In color environments, selection is shown with `>` prefix (with space) instead of background inversion
402
+ - **Branch Type (first 3 columns)**:
403
+ - main/develop
404
+ - feature
405
+ - 🐛 bugfix
406
+ - 🔥 hotfix
407
+ - 📦 release
408
+ - 📌 other
409
+ - **Worktree Status**:
410
+ - 🟢 has worktree
411
+ - 🔴 has worktree (inaccessible)
412
+ - **Branch Status**:
413
+ - ✏️ uncommitted changes
414
+ - ⚠️ warning
415
+ - ⭐ current branch
416
+ - **Location column**: blank = local exists, `☁` = remote only
417
+ - **Selection column**: in color environments, selection is shown with `>` prefix (with space) instead of background inversion
package/dist/claude.d.ts CHANGED
@@ -32,6 +32,8 @@ export declare function launchClaudeCode(worktreePath: string, options?: {
32
32
  }>;
33
33
  /**
34
34
  * Checks whether Claude Code is available via `bunx` in the current environment.
35
+ *
36
+ * @returns true if Claude Code can be resolved via bunx, false otherwise.
35
37
  */
36
38
  export declare function isClaudeCodeAvailable(): Promise<boolean>;
37
39
  //# sourceMappingURL=claude.d.ts.map
@@ -1 +1 @@
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"}
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;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAgB9D"}
package/dist/claude.js CHANGED
@@ -302,6 +302,8 @@ async function isNpxCommandAvailable() {
302
302
  }
303
303
  /**
304
304
  * Checks whether Claude Code is available via `bunx` in the current environment.
305
+ *
306
+ * @returns true if Claude Code can be resolved via bunx, false otherwise.
305
307
  */
306
308
  export async function isClaudeCodeAvailable() {
307
309
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
@@ -21,13 +21,15 @@ export interface SelectProps<T extends SelectItem = SelectItem> {
21
21
  }) => React.ReactNode;
22
22
  selectedIndex?: number;
23
23
  onSelectedIndexChange?: (index: number) => void;
24
+ onSpace?: (item: T) => void;
25
+ onEscape?: () => void;
24
26
  }
25
27
  /**
26
28
  * Select component - custom implementation with no looping
27
29
  * Cursor stops at top and bottom instead of wrapping around
28
30
  * Wrapped with React.memo for performance optimization
29
31
  */
30
- declare const SelectComponent: <T extends SelectItem = SelectItem>({ items, onSelect, limit, initialIndex, disabled, renderIndicator, renderItem, selectedIndex: externalSelectedIndex, onSelectedIndexChange, }: SelectProps<T>) => React.JSX.Element;
32
+ declare const SelectComponent: <T extends SelectItem = SelectItem>({ items, onSelect, limit, initialIndex, disabled, renderIndicator, renderItem, selectedIndex: externalSelectedIndex, onSelectedIndexChange, onSpace, onEscape, }: SelectProps<T>) => React.JSX.Element;
31
33
  /**
32
34
  * Export memoized Select component
33
35
  */
@@ -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;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
+ {"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;IAChD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAoDD;;;;GAIG;AACH,QAAA,MAAM,eAAe,GAAI,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,kKAYzD,WAAW,CAAC,CAAC,CAAC,sBAyIhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,EAGd,OAAO,eAAe,CAAC"}
@@ -14,7 +14,9 @@ function arePropsEqual(prevProps, nextProps) {
14
14
  prevProps.onSelect !== nextProps.onSelect ||
15
15
  prevProps.onSelectedIndexChange !== nextProps.onSelectedIndexChange ||
16
16
  prevProps.renderIndicator !== nextProps.renderIndicator ||
17
- prevProps.renderItem !== nextProps.renderItem) {
17
+ prevProps.renderItem !== nextProps.renderItem ||
18
+ prevProps.onSpace !== nextProps.onSpace ||
19
+ prevProps.onEscape !== nextProps.onEscape) {
18
20
  return false;
19
21
  }
20
22
  // Check if items arrays have the same length
@@ -41,7 +43,7 @@ function arePropsEqual(prevProps, nextProps) {
41
43
  * Cursor stops at top and bottom instead of wrapping around
42
44
  * Wrapped with React.memo for performance optimization
43
45
  */
44
- const SelectComponent = ({ items, onSelect, limit, initialIndex = 0, disabled = false, renderIndicator, renderItem, selectedIndex: externalSelectedIndex, onSelectedIndexChange, }) => {
46
+ const SelectComponent = ({ items, onSelect, limit, initialIndex = 0, disabled = false, renderIndicator, renderItem, selectedIndex: externalSelectedIndex, onSelectedIndexChange, onSpace, onEscape, }) => {
45
47
  // Support both controlled and uncontrolled modes
46
48
  const [internalSelectedIndex, setInternalSelectedIndex] = useState(initialIndex);
47
49
  const [offset, setOffset] = useState(0);
@@ -114,6 +116,15 @@ const SelectComponent = ({ items, onSelect, limit, initialIndex = 0, disabled =
114
116
  onSelect(selectedItem);
115
117
  }
116
118
  }
119
+ else if (input === ' ' && onSpace) {
120
+ const selectedItem = items[selectedIndex];
121
+ if (selectedItem && !disabled) {
122
+ onSpace(selectedItem);
123
+ }
124
+ }
125
+ else if (key.escape && onEscape) {
126
+ onEscape();
127
+ }
117
128
  // All other keys are ignored and will propagate to parent components
118
129
  });
119
130
  // Determine visible items based on limit
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/common/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/common/Select.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAuBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAmQlE;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,IAAI,CAAC,CAuef;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA4BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAoQlE;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,IAAI,CAAC,CA8gBf;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
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { isGitRepository, getRepositoryRoot, branchExists, fetchAllRemotes, pullFastForward, getBranchDivergenceStatuses, GitError, } from "./git.js";
2
+ import { isGitRepository, getRepositoryRoot, branchExists, fetchAllRemotes, pullFastForward, getBranchDivergenceStatuses, hasUncommittedChanges, hasUnpushedCommits, getUncommittedChangesCount, getUnpushedCommitsCount, pushBranchToRemote, GitError, } from "./git.js";
3
3
  import { launchClaudeCode } from "./claude.js";
4
4
  import { launchCodexCLI, CodexError, } from "./codex.js";
5
5
  import { launchGeminiCLI, GeminiError } from "./gemini.js";
@@ -17,8 +17,9 @@ import { findLatestClaudeSessionId } from "./utils/session.js";
17
17
  import { resolveContinueSessionId } from "./cli/ui/utils/continueSession.js";
18
18
  import { normalizeModelId } from "./cli/ui/utils/modelOptions.js";
19
19
  import { installDependenciesForWorktree, DependencyInstallError, } from "./services/dependency-installer.js";
20
- import { waitForEnter } from "./utils/prompt.js";
20
+ import { confirmYesNo, waitForEnter } from "./utils/prompt.js";
21
21
  const ERROR_PROMPT = chalk.yellow("Review the error details, then press Enter to continue.");
22
+ const POST_SESSION_DELAY_MS = 3000;
22
23
  // Category: cli
23
24
  const appLogger = createLogger({ category: "cli" });
24
25
  async function waitForErrorAcknowledgement() {
@@ -558,8 +559,39 @@ export async function handleAIToolWorkflow(selectionResult) {
558
559
  repositoryRoot: repoRoot,
559
560
  lastSessionId: finalSessionId,
560
561
  });
562
+ try {
563
+ const [hasUncommitted, hasUnpushed] = await Promise.all([
564
+ hasUncommittedChanges(worktreePath),
565
+ hasUnpushedCommits(worktreePath, branch),
566
+ ]);
567
+ if (hasUncommitted) {
568
+ const uncommittedCount = await getUncommittedChangesCount(worktreePath);
569
+ const countLabel = uncommittedCount > 0 ? ` (${uncommittedCount}件)` : "";
570
+ printWarning(`未コミットの変更があります${countLabel}。`);
571
+ }
572
+ if (hasUnpushed) {
573
+ const unpushedCount = await getUnpushedCommitsCount(worktreePath, branch);
574
+ const countLabel = unpushedCount > 0 ? ` (${unpushedCount}件)` : "";
575
+ const shouldPush = await confirmYesNo(`未プッシュのコミットがあります${countLabel}。プッシュしますか?`, { defaultValue: false });
576
+ if (shouldPush) {
577
+ printInfo(`Pushing origin/${branch}...`);
578
+ try {
579
+ await pushBranchToRemote(worktreePath, branch);
580
+ printInfo(`Push completed for ${branch}.`);
581
+ }
582
+ catch (error) {
583
+ const details = error instanceof Error ? error.message : String(error);
584
+ printWarning(`Push failed for ${branch}: ${details}`);
585
+ }
586
+ }
587
+ }
588
+ }
589
+ catch (error) {
590
+ const details = error instanceof Error ? error.message : String(error);
591
+ printWarning(`Failed to check git status after session: ${details}`);
592
+ }
561
593
  // Small buffer before returning to branch list to avoid abrupt screen swap
562
- await new Promise((resolve) => setTimeout(resolve, 3000));
594
+ await new Promise((resolve) => setTimeout(resolve, POST_SESSION_DELAY_MS));
563
595
  printInfo("Session completed successfully. Returning to main menu...");
564
596
  return;
565
597
  }
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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"}
@@ -3,4 +3,16 @@
3
3
  * Falls back to no-op on non-interactive stdin to avoid blocking pipelines.
4
4
  */
5
5
  export declare function waitForEnter(promptMessage: string): Promise<void>;
6
+ /**
7
+ * Prompts the user for a yes/no confirmation in the terminal.
8
+ * Falls back to the default value on non-interactive stdin or fallback terminals.
9
+ *
10
+ * @param promptMessage - The message to display to the user
11
+ * @param options - Configuration options
12
+ * @param options.defaultValue - The default value when input is empty or stdin is non-interactive
13
+ * @returns A promise that resolves to true for yes, false for no
14
+ */
15
+ export declare function confirmYesNo(promptMessage: string, options?: {
16
+ defaultValue?: boolean;
17
+ }): Promise<boolean>;
6
18
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +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,CAwEvE"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAgGA;;;GAGG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvE;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAAC,OAAO,CAAC,CA6BlB"}
@@ -1,15 +1,14 @@
1
1
  import readline from "node:readline";
2
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) {
3
+ async function runReadlinePrompt(promptText, { fallback, onAnswer, shouldSkip }) {
8
4
  const terminal = getTerminalStreams();
9
5
  const stdin = terminal.stdin;
10
6
  const stdout = terminal.stdout;
11
7
  if (!stdin || typeof stdin.on !== "function" || !stdin.isTTY) {
12
- return;
8
+ return fallback;
9
+ }
10
+ if (shouldSkip?.(terminal)) {
11
+ return fallback;
13
12
  }
14
13
  terminal.exitRawMode?.();
15
14
  if (typeof stdin.resume === "function") {
@@ -23,9 +22,14 @@ export async function waitForEnter(promptMessage) {
23
22
  // Ignore raw mode errors
24
23
  }
25
24
  }
26
- await new Promise((resolve) => {
25
+ return new Promise((resolve) => {
27
26
  const rl = readline.createInterface({ input: stdin, output: stdout });
27
+ let finished = false;
28
28
  const cleanup = () => {
29
+ if (finished) {
30
+ return;
31
+ }
32
+ finished = true;
29
33
  rl.removeAllListeners();
30
34
  rl.close();
31
35
  const remover = (method) => stdin[method]?.("end", onEnd);
@@ -40,18 +44,64 @@ export async function waitForEnter(promptMessage) {
40
44
  };
41
45
  const onEnd = () => {
42
46
  cleanup();
43
- resolve();
47
+ resolve(fallback);
44
48
  };
45
49
  rl.on("SIGINT", () => {
46
50
  cleanup();
47
51
  process.exit(0);
48
52
  });
49
- rl.question(`${promptMessage}\n`, () => {
53
+ rl.question(`${promptText}\n`, (answer) => {
54
+ const result = onAnswer(answer);
50
55
  cleanup();
51
- resolve();
56
+ resolve(result !== undefined ? result : fallback);
52
57
  });
53
58
  stdin.once("end", onEnd);
54
59
  stdin.once("error", onEnd);
55
60
  });
56
61
  }
62
+ /**
63
+ * Wait for Enter using the same terminal streams as Ink.
64
+ * Falls back to no-op on non-interactive stdin to avoid blocking pipelines.
65
+ */
66
+ export async function waitForEnter(promptMessage) {
67
+ await runReadlinePrompt(promptMessage, {
68
+ fallback: undefined,
69
+ onAnswer: () => undefined,
70
+ });
71
+ }
72
+ /**
73
+ * Prompts the user for a yes/no confirmation in the terminal.
74
+ * Falls back to the default value on non-interactive stdin or fallback terminals.
75
+ *
76
+ * @param promptMessage - The message to display to the user
77
+ * @param options - Configuration options
78
+ * @param options.defaultValue - The default value when input is empty or stdin is non-interactive
79
+ * @returns A promise that resolves to true for yes, false for no
80
+ */
81
+ export async function confirmYesNo(promptMessage, options = {}) {
82
+ const fallback = options.defaultValue ?? false;
83
+ const suffix = options.defaultValue === undefined
84
+ ? "[y/n]"
85
+ : options.defaultValue
86
+ ? "[Y/n]"
87
+ : "[y/N]";
88
+ const promptText = `${promptMessage} ${suffix}`.trim();
89
+ return runReadlinePrompt(promptText, {
90
+ fallback,
91
+ shouldSkip: (terminal) => terminal.usingFallback,
92
+ onAnswer: (answer) => {
93
+ const normalized = answer.trim().toLowerCase();
94
+ if (normalized === "y" || normalized === "yes") {
95
+ return true;
96
+ }
97
+ if (normalized === "n" || normalized === "no") {
98
+ return false;
99
+ }
100
+ if (normalized.length === 0 && options.defaultValue !== undefined) {
101
+ return options.defaultValue;
102
+ }
103
+ return undefined;
104
+ },
105
+ });
106
+ }
57
107
  //# sourceMappingURL=prompt.js.map
@@ -1 +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;YAED,KACD,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACxB,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,CAEjD,KAID,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,CAAC,MAAgC,EAAE,EAAE,CAEpD,KAID,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9B,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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akiojin/gwt",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "description": "Interactive Git worktree manager for Claude Code with graphical branch selection",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -120,7 +120,7 @@
120
120
  "vitest": "^4.0.8"
121
121
  },
122
122
  "lint-staged": {
123
- "*.md": "bunx --bun markdownlint-cli -c .markdownlint.json",
123
+ "**/*.md": "bunx --bun markdownlint-cli -c .markdownlint.json --ignore CHANGELOG.md --ignore node_modules",
124
124
  "*.{ts,tsx}": [
125
125
  "bunx eslint --max-warnings=0 --no-warn-ignored",
126
126
  "bunx prettier --check"
package/src/claude.ts CHANGED
@@ -407,6 +407,8 @@ async function isNpxCommandAvailable(): Promise<boolean> {
407
407
 
408
408
  /**
409
409
  * Checks whether Claude Code is available via `bunx` in the current environment.
410
+ *
411
+ * @returns true if Claude Code can be resolved via bunx, false otherwise.
410
412
  */
411
413
  export async function isClaudeCodeAvailable(): Promise<boolean> {
412
414
  try {
@@ -103,6 +103,7 @@ describe("App protected branch handling", () => {
103
103
  branchListProps.length = 0;
104
104
  branchActionProps.length = 0;
105
105
  aiToolProps.length = 0;
106
+ branchQuickStartProps.length = 0;
106
107
 
107
108
  useGitDataMock.mockReset();
108
109
  switchToProtectedBranchMock.mockReset();
@@ -194,7 +195,6 @@ describe("App protected branch handling", () => {
194
195
  await act(async () => {
195
196
  actionProps?.onUseExisting();
196
197
  await Promise.resolve();
197
- await Promise.resolve();
198
198
  });
199
199
 
200
200
  expect(switchToProtectedBranchMock).toHaveBeenCalledWith({
@@ -206,6 +206,7 @@ describe("App protected branch handling", () => {
206
206
  expect(navigateToMock).toHaveBeenCalledWith("branch-action-selector");
207
207
  // When branchQuickStart is empty, navigates to ai-tool-selector instead of branch-quick-start
208
208
  // So AIToolSelectorScreen should be rendered, not BranchQuickStartScreen
209
+ expect(branchQuickStartProps).toHaveLength(0);
209
210
  expect(aiToolProps).not.toHaveLength(0);
210
211
  });
211
212
  });
@@ -35,10 +35,10 @@ vi.mock("../../hooks/useScreenState.js", () => ({
35
35
  useScreenState: (...args: unknown[]) => useScreenStateMock(...args),
36
36
  }));
37
37
 
38
- vi.mock("../../../../worktree.js", async () => {
38
+ vi.mock("../../../../worktree.ts", async () => {
39
39
  const actual = await vi.importActual<
40
- typeof import("../../../../worktree.js")
41
- >("../../../../worktree.js");
40
+ typeof import("../../../../worktree.ts")
41
+ >("../../../../worktree.ts");
42
42
  return {
43
43
  ...actual,
44
44
  getMergedPRWorktrees: getMergedPRWorktreesMock,
@@ -48,10 +48,10 @@ vi.mock("../../../../worktree.js", async () => {
48
48
  };
49
49
  });
50
50
 
51
- vi.mock("../../../../git.js", async () => {
51
+ vi.mock("../../../../git.ts", async () => {
52
52
  const actual =
53
- await vi.importActual<typeof import("../../../../git.js")>(
54
- "../../../../git.js",
53
+ await vi.importActual<typeof import("../../../../git.ts")>(
54
+ "../../../../git.ts",
55
55
  );
56
56
  return {
57
57
  ...actual,
@@ -92,7 +92,20 @@ describe("App shortcuts integration", () => {
92
92
  goBackMock.mockClear();
93
93
  resetMock.mockClear();
94
94
  useGitDataMock.mockReturnValue({
95
- branches: [],
95
+ branches: [
96
+ {
97
+ name: "feature/add-new-feature",
98
+ type: "local",
99
+ branchType: "feature",
100
+ isCurrent: false,
101
+ },
102
+ {
103
+ name: "hotfix/urgent-fix",
104
+ type: "local",
105
+ branchType: "hotfix",
106
+ isCurrent: false,
107
+ },
108
+ ],
96
109
  worktrees: [
97
110
  {
98
111
  branch: "feature/existing",
@@ -197,6 +210,8 @@ describe("App shortcuts integration", () => {
197
210
 
198
211
  it("displays per-branch cleanup indicators and waits before clearing results", async () => {
199
212
  vi.useFakeTimers();
213
+ const originalNodeEnv = process.env.NODE_ENV;
214
+ process.env.NODE_ENV = "production";
200
215
 
201
216
  try {
202
217
  const onExit = vi.fn();
@@ -234,8 +249,22 @@ describe("App shortcuts integration", () => {
234
249
  throw new Error("BranchListScreen props missing");
235
250
  }
236
251
 
252
+ await act(async () => {
253
+ initialProps.onToggleSelect?.("feature/add-new-feature");
254
+ initialProps.onToggleSelect?.("hotfix/urgent-fix");
255
+ });
256
+
257
+ await act(async () => {
258
+ await Promise.resolve();
259
+ });
260
+
261
+ const selectedProps = branchListProps.at(-1);
262
+ expect(selectedProps?.selectedBranches).toEqual([
263
+ "feature/add-new-feature",
264
+ "hotfix/urgent-fix",
265
+ ]);
237
266
  act(() => {
238
- initialProps.onCleanupCommand?.();
267
+ selectedProps?.onCleanupCommand?.();
239
268
  });
240
269
 
241
270
  await act(async () => {
@@ -296,6 +325,7 @@ describe("App shortcuts integration", () => {
296
325
  ),
297
326
  ).toBe(false);
298
327
  } finally {
328
+ process.env.NODE_ENV = originalNodeEnv;
299
329
  vi.useRealTimers();
300
330
  }
301
331
  });
@@ -251,6 +251,7 @@ describe("App", () => {
251
251
  });
252
252
 
253
253
  describe("BranchActionSelectorScreen integration", () => {
254
+ // TODO: replace placeholder assertions with real integration checks.
254
255
  it("should show BranchActionSelectorScreen after branch selection", () => {
255
256
  useGitDataMock.mockImplementation(() => ({
256
257
  branches: mockBranches,
@@ -263,7 +264,7 @@ describe("App", () => {
263
264
  const onExit = vi.fn();
264
265
  const { container } = render(<App onExit={onExit} />);
265
266
 
266
- // After implementation, should verify BranchActionSelectorScreen appears
267
+ // TODO: verify BranchActionSelectorScreen appears
267
268
  expect(container).toBeDefined();
268
269
  });
269
270
 
@@ -279,7 +280,7 @@ describe("App", () => {
279
280
  const onExit = vi.fn();
280
281
  const { container } = render(<App onExit={onExit} />);
281
282
 
282
- // After implementation, should verify navigation to AIToolSelectorScreen
283
+ // TODO: verify navigation to AIToolSelectorScreen
283
284
  expect(container).toBeDefined();
284
285
  });
285
286
 
@@ -295,7 +296,7 @@ describe("App", () => {
295
296
  const onExit = vi.fn();
296
297
  const { container } = render(<App onExit={onExit} />);
297
298
 
298
- // After implementation, should verify navigation to BranchCreatorScreen
299
+ // TODO: verify navigation to BranchCreatorScreen
299
300
  expect(container).toBeDefined();
300
301
  });
301
302
  });
@@ -54,6 +54,7 @@ describe("ModelSelectorScreen initial selection", () => {
54
54
 
55
55
  await waitFor(() => expect(selectMocks.length).toBeGreaterThan(0));
56
56
  const modelSelect = selectMocks.at(-1);
57
+ expect(modelSelect).toBeDefined();
57
58
  const index = modelSelect.initialIndex as number;
58
59
  // codex-cli models: ["", gpt-5.2-codex, gpt-5.1-codex-max, gpt-5.1-codex-mini, gpt-5.2]
59
60
  // (index 0 = Default/Auto, index 2 = gpt-5.1-codex-max)
@@ -12,6 +12,9 @@ interface TestItem {
12
12
  value: string;
13
13
  }
14
14
 
15
+ const delay = (ms = 0): Promise<void> =>
16
+ new Promise((resolve) => setTimeout(resolve, ms));
17
+
15
18
  describe("Select", () => {
16
19
  const mockItems: TestItem[] = [
17
20
  { label: "Option 1", value: "opt1" },
@@ -281,4 +284,46 @@ describe("Select", () => {
281
284
  expect(onSelect).not.toHaveBeenCalled();
282
285
  });
283
286
  });
287
+
288
+ describe('Space/Escape handlers', () => {
289
+ it('should call onSpace with the currently highlighted item', async () => {
290
+ const onSelect = vi.fn();
291
+ const onSpace = vi.fn();
292
+ const { stdin } = render(
293
+ <Select items={mockItems} onSelect={onSelect} onSpace={onSpace} />
294
+ );
295
+
296
+ stdin.write(' ');
297
+ await delay(10);
298
+
299
+ expect(onSpace).toHaveBeenCalledTimes(1);
300
+ expect(onSpace).toHaveBeenCalledWith(mockItems[0]);
301
+ });
302
+
303
+ it('should not trigger onSpace when disabled', async () => {
304
+ const onSelect = vi.fn();
305
+ const onSpace = vi.fn();
306
+ const { stdin } = render(
307
+ <Select items={mockItems} onSelect={onSelect} onSpace={onSpace} disabled />
308
+ );
309
+
310
+ stdin.write(' ');
311
+ await delay(10);
312
+
313
+ expect(onSpace).not.toHaveBeenCalled();
314
+ });
315
+
316
+ it('should call onEscape when escape key is pressed', async () => {
317
+ const onSelect = vi.fn();
318
+ const onEscape = vi.fn();
319
+ const { stdin } = render(
320
+ <Select items={mockItems} onSelect={onSelect} onEscape={onEscape} />
321
+ );
322
+
323
+ stdin.write('\u001B');
324
+ await delay(30);
325
+
326
+ expect(onEscape).toHaveBeenCalledTimes(1);
327
+ });
328
+ });
284
329
  });
@@ -28,6 +28,8 @@ export interface SelectProps<T extends SelectItem = SelectItem> {
28
28
  // Optional controlled component props for cursor position
29
29
  selectedIndex?: number;
30
30
  onSelectedIndexChange?: (index: number) => void;
31
+ onSpace?: (item: T) => void;
32
+ onEscape?: () => void;
31
33
  }
32
34
 
33
35
  /**
@@ -47,7 +49,9 @@ function arePropsEqual<T extends SelectItem = SelectItem>(
47
49
  prevProps.onSelect !== nextProps.onSelect ||
48
50
  prevProps.onSelectedIndexChange !== nextProps.onSelectedIndexChange ||
49
51
  prevProps.renderIndicator !== nextProps.renderIndicator ||
50
- prevProps.renderItem !== nextProps.renderItem
52
+ prevProps.renderItem !== nextProps.renderItem ||
53
+ prevProps.onSpace !== nextProps.onSpace ||
54
+ prevProps.onEscape !== nextProps.onEscape
51
55
  ) {
52
56
  return false;
53
57
  }
@@ -93,6 +97,8 @@ const SelectComponent = <T extends SelectItem = SelectItem>({
93
97
  renderItem,
94
98
  selectedIndex: externalSelectedIndex,
95
99
  onSelectedIndexChange,
100
+ onSpace,
101
+ onEscape,
96
102
  }: SelectProps<T>) => {
97
103
  // Support both controlled and uncontrolled modes
98
104
  const [internalSelectedIndex, setInternalSelectedIndex] =
@@ -177,6 +183,13 @@ const SelectComponent = <T extends SelectItem = SelectItem>({
177
183
  if (selectedItem && !disabled) {
178
184
  onSelect(selectedItem);
179
185
  }
186
+ } else if (input === ' ' && onSpace) {
187
+ const selectedItem = items[selectedIndex];
188
+ if (selectedItem && !disabled) {
189
+ onSpace(selectedItem);
190
+ }
191
+ } else if (key.escape && onEscape) {
192
+ onEscape();
180
193
  }
181
194
  // All other keys are ignored and will propagate to parent components
182
195
  });
package/src/index.ts CHANGED
@@ -7,6 +7,11 @@ import {
7
7
  fetchAllRemotes,
8
8
  pullFastForward,
9
9
  getBranchDivergenceStatuses,
10
+ hasUncommittedChanges,
11
+ hasUnpushedCommits,
12
+ getUncommittedChangesCount,
13
+ getUnpushedCommitsCount,
14
+ pushBranchToRemote,
10
15
  GitError,
11
16
  } from "./git.js";
12
17
  import { launchClaudeCode } from "./claude.js";
@@ -50,11 +55,12 @@ import {
50
55
  DependencyInstallError,
51
56
  type DependencyInstallResult,
52
57
  } from "./services/dependency-installer.js";
53
- import { waitForEnter } from "./utils/prompt.js";
58
+ import { confirmYesNo, waitForEnter } from "./utils/prompt.js";
54
59
 
55
60
  const ERROR_PROMPT = chalk.yellow(
56
61
  "Review the error details, then press Enter to continue.",
57
62
  );
63
+ const POST_SESSION_DELAY_MS = 3000;
58
64
 
59
65
  // Category: cli
60
66
  const appLogger = createLogger({ category: "cli" });
@@ -757,8 +763,47 @@ export async function handleAIToolWorkflow(
757
763
  lastSessionId: finalSessionId,
758
764
  });
759
765
 
766
+ try {
767
+ const [hasUncommitted, hasUnpushed] = await Promise.all([
768
+ hasUncommittedChanges(worktreePath),
769
+ hasUnpushedCommits(worktreePath, branch),
770
+ ]);
771
+
772
+ if (hasUncommitted) {
773
+ const uncommittedCount = await getUncommittedChangesCount(worktreePath);
774
+ const countLabel =
775
+ uncommittedCount > 0 ? ` (${uncommittedCount}件)` : "";
776
+ printWarning(`未コミットの変更があります${countLabel}。`);
777
+ }
778
+
779
+ if (hasUnpushed) {
780
+ const unpushedCount = await getUnpushedCommitsCount(
781
+ worktreePath,
782
+ branch,
783
+ );
784
+ const countLabel = unpushedCount > 0 ? ` (${unpushedCount}件)` : "";
785
+ const shouldPush = await confirmYesNo(
786
+ `未プッシュのコミットがあります${countLabel}。プッシュしますか?`,
787
+ { defaultValue: false },
788
+ );
789
+ if (shouldPush) {
790
+ printInfo(`Pushing origin/${branch}...`);
791
+ try {
792
+ await pushBranchToRemote(worktreePath, branch);
793
+ printInfo(`Push completed for ${branch}.`);
794
+ } catch (error) {
795
+ const details =
796
+ error instanceof Error ? error.message : String(error);
797
+ printWarning(`Push failed for ${branch}: ${details}`);
798
+ }
799
+ }
800
+ }
801
+ } catch (error) {
802
+ const details = error instanceof Error ? error.message : String(error);
803
+ printWarning(`Failed to check git status after session: ${details}`);
804
+ }
760
805
  // Small buffer before returning to branch list to avoid abrupt screen swap
761
- await new Promise((resolve) => setTimeout(resolve, 3000));
806
+ await new Promise((resolve) => setTimeout(resolve, POST_SESSION_DELAY_MS));
762
807
  printInfo("Session completed successfully. Returning to main menu...");
763
808
  return;
764
809
  } catch (error) {
@@ -1,5 +1,5 @@
1
1
  import { PassThrough } from "node:stream";
2
- import { describe, expect, it, vi } from "vitest";
2
+ import { describe, expect, it, vi, beforeEach } from "vitest";
3
3
 
4
4
  // Shared mock target to avoid hoisting issues
5
5
  const terminalStreams: Record<string, unknown> = {};
@@ -16,16 +16,32 @@ const withTimeout = <T>(promise: Promise<T>, ms = 500): Promise<T> =>
16
16
  ),
17
17
  ]);
18
18
 
19
+ const resetTerminalStreams = () => {
20
+ vi.resetModules();
21
+ for (const key of Object.keys(terminalStreams)) {
22
+ delete terminalStreams[key];
23
+ }
24
+ };
25
+
26
+ const setupTerminalStreams = (isTTY: boolean) => {
27
+ const stdin = new PassThrough() as unknown as NodeJS.ReadStream;
28
+ const stdout = new PassThrough() as unknown as NodeJS.WriteStream;
29
+ Object.defineProperty(stdin, "isTTY", { value: isTTY, configurable: true });
30
+ const exitRawMode = vi.fn();
31
+ Object.assign(terminalStreams, {
32
+ stdin,
33
+ stdout,
34
+ stderr: stdout,
35
+ usingFallback: false,
36
+ exitRawMode,
37
+ });
38
+ return { stdin, stdout, exitRawMode };
39
+ };
40
+
19
41
  describe("waitForEnter", () => {
20
42
  it("uses terminal stdin/stdout and resolves after newline on TTY", async () => {
21
- vi.resetModules();
22
- for (const key of Object.keys(terminalStreams)) {
23
- delete terminalStreams[key];
24
- }
25
-
26
- const stdin = new PassThrough() as unknown as NodeJS.ReadStream;
27
- const stdout = new PassThrough() as unknown as NodeJS.WriteStream;
28
- Object.defineProperty(stdin, "isTTY", { value: true });
43
+ resetTerminalStreams();
44
+ const { stdin, exitRawMode } = setupTerminalStreams(true);
29
45
 
30
46
  let resumed = false;
31
47
  let paused = false;
@@ -41,16 +57,6 @@ describe("waitForEnter", () => {
41
57
  return originalPause();
42
58
  }) as typeof stdin.pause;
43
59
 
44
- const exitRawMode = vi.fn();
45
-
46
- Object.assign(terminalStreams, {
47
- stdin,
48
- stdout,
49
- stderr: stdout,
50
- usingFallback: false,
51
- exitRawMode,
52
- });
53
-
54
60
  const { waitForEnter } = await import("../prompt.js");
55
61
 
56
62
  const waiting = withTimeout(waitForEnter("prompt"), 200);
@@ -63,22 +69,8 @@ describe("waitForEnter", () => {
63
69
  });
64
70
 
65
71
  it("returns immediately on non-TTY stdin", async () => {
66
- vi.resetModules();
67
- for (const key of Object.keys(terminalStreams)) {
68
- delete terminalStreams[key];
69
- }
70
-
71
- const stdin = new PassThrough() as unknown as NodeJS.ReadStream;
72
- const stdout = new PassThrough() as unknown as NodeJS.WriteStream;
73
- Object.defineProperty(stdin, "isTTY", { value: false });
74
-
75
- Object.assign(terminalStreams, {
76
- stdin,
77
- stdout,
78
- stderr: stdout,
79
- usingFallback: false,
80
- exitRawMode: vi.fn(),
81
- });
72
+ resetTerminalStreams();
73
+ setupTerminalStreams(false);
82
74
 
83
75
  const { waitForEnter } = await import("../prompt.js");
84
76
 
@@ -87,3 +79,48 @@ describe("waitForEnter", () => {
87
79
  expect(Date.now() - start).toBeLessThan(50);
88
80
  });
89
81
  });
82
+
83
+ describe("confirmYesNo", () => {
84
+ let stdin: NodeJS.ReadStream;
85
+ let exitRawMode: ReturnType<typeof vi.fn>;
86
+
87
+ beforeEach(() => {
88
+ resetTerminalStreams();
89
+ const setup = setupTerminalStreams(true);
90
+ stdin = setup.stdin;
91
+ exitRawMode = setup.exitRawMode;
92
+ });
93
+
94
+ it("resolves true when user inputs y on TTY", async () => {
95
+ const { confirmYesNo } = await import("../prompt.js");
96
+
97
+ const waiting = withTimeout(confirmYesNo("push?"), 200);
98
+ stdin.write("y\n");
99
+
100
+ await expect(waiting).resolves.toBe(true);
101
+ expect(exitRawMode).toHaveBeenCalled();
102
+ });
103
+
104
+ it("uses default value when input is empty on TTY", async () => {
105
+ const { confirmYesNo } = await import("../prompt.js");
106
+
107
+ const waiting = withTimeout(
108
+ confirmYesNo("push?", { defaultValue: true }),
109
+ 200,
110
+ );
111
+ stdin.write("\n");
112
+
113
+ await expect(waiting).resolves.toBe(true);
114
+ });
115
+
116
+ it("returns default immediately on non-TTY stdin", async () => {
117
+ Object.defineProperty(stdin, "isTTY", { value: false });
118
+
119
+ const { confirmYesNo } = await import("../prompt.js");
120
+
121
+ const start = Date.now();
122
+ const result = await confirmYesNo("push?", { defaultValue: false });
123
+ expect(result).toBe(false);
124
+ expect(Date.now() - start).toBeLessThan(50);
125
+ });
126
+ });
@@ -1,17 +1,26 @@
1
1
  import readline from "node:readline";
2
2
  import { getTerminalStreams } from "./terminal.js";
3
3
 
4
- /**
5
- * Wait for Enter using the same terminal streams as Ink.
6
- * Falls back to no-op on non-interactive stdin to avoid blocking pipelines.
7
- */
8
- export async function waitForEnter(promptMessage: string): Promise<void> {
4
+ type ReadlinePromptOptions<T> = {
5
+ fallback: T;
6
+ onAnswer: (answer: string) => T | undefined;
7
+ shouldSkip?: (terminal: ReturnType<typeof getTerminalStreams>) => boolean;
8
+ };
9
+
10
+ async function runReadlinePrompt<T>(
11
+ promptText: string,
12
+ { fallback, onAnswer, shouldSkip }: ReadlinePromptOptions<T>,
13
+ ): Promise<T> {
9
14
  const terminal = getTerminalStreams();
10
15
  const stdin = terminal.stdin as NodeJS.ReadStream | undefined;
11
16
  const stdout = terminal.stdout as NodeJS.WriteStream | undefined;
12
17
 
13
18
  if (!stdin || typeof stdin.on !== "function" || !stdin.isTTY) {
14
- return;
19
+ return fallback;
20
+ }
21
+
22
+ if (shouldSkip?.(terminal)) {
23
+ return fallback;
15
24
  }
16
25
 
17
26
  terminal.exitRawMode?.();
@@ -30,10 +39,15 @@ export async function waitForEnter(promptMessage: string): Promise<void> {
30
39
  }
31
40
  }
32
41
 
33
- await new Promise<void>((resolve) => {
42
+ return new Promise<T>((resolve) => {
34
43
  const rl = readline.createInterface({ input: stdin, output: stdout });
44
+ let finished = false;
35
45
 
36
46
  const cleanup = () => {
47
+ if (finished) {
48
+ return;
49
+ }
50
+ finished = true;
37
51
  rl.removeAllListeners();
38
52
  rl.close();
39
53
  const remover = (method: "off" | "removeListener") =>
@@ -61,7 +75,7 @@ export async function waitForEnter(promptMessage: string): Promise<void> {
61
75
 
62
76
  const onEnd = () => {
63
77
  cleanup();
64
- resolve();
78
+ resolve(fallback);
65
79
  };
66
80
 
67
81
  rl.on("SIGINT", () => {
@@ -69,12 +83,67 @@ export async function waitForEnter(promptMessage: string): Promise<void> {
69
83
  process.exit(0);
70
84
  });
71
85
 
72
- rl.question(`${promptMessage}\n`, () => {
86
+ rl.question(`${promptText}\n`, (answer) => {
87
+ const result = onAnswer(answer);
73
88
  cleanup();
74
- resolve();
89
+ resolve(result !== undefined ? result : fallback);
75
90
  });
76
91
 
77
92
  stdin.once("end", onEnd);
78
93
  stdin.once("error", onEnd);
79
94
  });
80
95
  }
96
+
97
+ /**
98
+ * Wait for Enter using the same terminal streams as Ink.
99
+ * Falls back to no-op on non-interactive stdin to avoid blocking pipelines.
100
+ */
101
+ export async function waitForEnter(promptMessage: string): Promise<void> {
102
+ await runReadlinePrompt(promptMessage, {
103
+ fallback: undefined,
104
+ onAnswer: () => undefined,
105
+ });
106
+ }
107
+
108
+ /**
109
+ * Prompts the user for a yes/no confirmation in the terminal.
110
+ * Falls back to the default value on non-interactive stdin or fallback terminals.
111
+ *
112
+ * @param promptMessage - The message to display to the user
113
+ * @param options - Configuration options
114
+ * @param options.defaultValue - The default value when input is empty or stdin is non-interactive
115
+ * @returns A promise that resolves to true for yes, false for no
116
+ */
117
+ export async function confirmYesNo(
118
+ promptMessage: string,
119
+ options: { defaultValue?: boolean } = {},
120
+ ): Promise<boolean> {
121
+ const fallback = options.defaultValue ?? false;
122
+
123
+ const suffix =
124
+ options.defaultValue === undefined
125
+ ? "[y/n]"
126
+ : options.defaultValue
127
+ ? "[Y/n]"
128
+ : "[y/N]";
129
+
130
+ const promptText = `${promptMessage} ${suffix}`.trim();
131
+
132
+ return runReadlinePrompt(promptText, {
133
+ fallback,
134
+ shouldSkip: (terminal) => terminal.usingFallback,
135
+ onAnswer: (answer) => {
136
+ const normalized = answer.trim().toLowerCase();
137
+ if (normalized === "y" || normalized === "yes") {
138
+ return true;
139
+ }
140
+ if (normalized === "n" || normalized === "no") {
141
+ return false;
142
+ }
143
+ if (normalized.length === 0 && options.defaultValue !== undefined) {
144
+ return options.defaultValue;
145
+ }
146
+ return undefined;
147
+ },
148
+ });
149
+ }