@akiojin/gwt 4.12.0 → 4.12.2

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 (65) hide show
  1. package/bin/gwt.js +35 -9
  2. package/dist/claude.d.ts.map +1 -1
  3. package/dist/claude.js +67 -14
  4. package/dist/claude.js.map +1 -1
  5. package/dist/cli/ui/App.solid.d.ts.map +1 -1
  6. package/dist/cli/ui/App.solid.js +40 -8
  7. package/dist/cli/ui/App.solid.js.map +1 -1
  8. package/dist/cli/ui/components/solid/WizardController.d.ts.map +1 -1
  9. package/dist/cli/ui/components/solid/WizardController.js +48 -2
  10. package/dist/cli/ui/components/solid/WizardController.js.map +1 -1
  11. package/dist/cli/ui/components/solid/WizardSteps.d.ts +5 -0
  12. package/dist/cli/ui/components/solid/WizardSteps.d.ts.map +1 -1
  13. package/dist/cli/ui/components/solid/WizardSteps.js +29 -6
  14. package/dist/cli/ui/components/solid/WizardSteps.js.map +1 -1
  15. package/dist/cli/ui/utils/installedVersionCache.d.ts +33 -0
  16. package/dist/cli/ui/utils/installedVersionCache.d.ts.map +1 -0
  17. package/dist/cli/ui/utils/installedVersionCache.js +59 -0
  18. package/dist/cli/ui/utils/installedVersionCache.js.map +1 -0
  19. package/dist/cli/ui/utils/modelOptions.d.ts.map +1 -1
  20. package/dist/cli/ui/utils/modelOptions.js +16 -0
  21. package/dist/cli/ui/utils/modelOptions.js.map +1 -1
  22. package/dist/codex.d.ts.map +1 -1
  23. package/dist/codex.js +63 -22
  24. package/dist/codex.js.map +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +5 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/logging/reader.d.ts +2 -1
  29. package/dist/logging/reader.d.ts.map +1 -1
  30. package/dist/logging/reader.js +37 -1
  31. package/dist/logging/reader.js.map +1 -1
  32. package/dist/opentui/index.solid.js +298 -264
  33. package/dist/services/codingAgentResolver.d.ts.map +1 -1
  34. package/dist/services/codingAgentResolver.js +8 -6
  35. package/dist/services/codingAgentResolver.js.map +1 -1
  36. package/dist/shared/codingAgentConstants.d.ts +3 -0
  37. package/dist/shared/codingAgentConstants.d.ts.map +1 -1
  38. package/dist/shared/codingAgentConstants.js +66 -0
  39. package/dist/shared/codingAgentConstants.js.map +1 -1
  40. package/dist/utils/bun-runtime.d.ts +12 -0
  41. package/dist/utils/bun-runtime.d.ts.map +1 -0
  42. package/dist/utils/bun-runtime.js +13 -0
  43. package/dist/utils/bun-runtime.js.map +1 -0
  44. package/dist/utils/session/parsers/codex.d.ts.map +1 -1
  45. package/dist/utils/session/parsers/codex.js +0 -1
  46. package/dist/utils/session/parsers/codex.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/claude.ts +79 -15
  49. package/src/cli/ui/App.solid.tsx +55 -6
  50. package/src/cli/ui/__tests__/solid/AppSolid.cleanup.test.tsx +91 -0
  51. package/src/cli/ui/__tests__/solid/components/WizardController.test.tsx +63 -0
  52. package/src/cli/ui/__tests__/solid/components/WizardSteps.test.tsx +91 -1
  53. package/src/cli/ui/components/solid/WizardController.tsx +65 -1
  54. package/src/cli/ui/components/solid/WizardSteps.tsx +55 -10
  55. package/src/cli/ui/utils/__tests__/installedVersionCache.test.ts +46 -0
  56. package/src/cli/ui/utils/installedVersionCache.ts +84 -0
  57. package/src/cli/ui/utils/modelOptions.test.ts +6 -0
  58. package/src/cli/ui/utils/modelOptions.ts +16 -0
  59. package/src/codex.ts +78 -22
  60. package/src/index.ts +5 -0
  61. package/src/logging/reader.ts +48 -1
  62. package/src/services/codingAgentResolver.ts +12 -5
  63. package/src/shared/codingAgentConstants.ts +73 -0
  64. package/src/utils/bun-runtime.ts +29 -0
  65. package/src/utils/session/parsers/codex.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"codingAgentResolver.d.ts","sourceRoot":"","sources":["../../src/services/codingAgentResolver.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAQlE,eAAO,MAAM,kBAAkB,qCAAqC,CAAC;AACrE,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,uBAAuB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IAE1C,IAAI,EAAE,iBAAiB;IAEvB,KAAK,CAAC,EAAE,MAAM,EAAE;gBAFhB,IAAI,EAAE,iBAAiB,EAC9B,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,MAAM,EAAE,YAAA;CAK1B;AA8FD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,EAAE,CAmC5E;AAED,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,eAAe,CAAC,CAqC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,mBAAwB,GAAG,MAAM,EAAE,CAoC1E;AAED,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,eAAe,CAAC,CAgC1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,eAAe,CAAC,CA2B1B;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAU9D;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAUzD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
1
+ {"version":3,"file":"codingAgentResolver.d.ts","sourceRoot":"","sources":["../../src/services/codingAgentResolver.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AASlE,eAAO,MAAM,kBAAkB,qCAAqC,CAAC;AACrE,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,uBAAuB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IAE1C,IAAI,EAAE,iBAAiB;IAEvB,KAAK,CAAC,EAAE,MAAM,EAAE;gBAFhB,IAAI,EAAE,iBAAiB,EAC9B,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,MAAM,EAAE,YAAA;CAK1B;AA8FD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,EAAE,CAmC5E;AAED,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,eAAe,CAAC,CAqC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,mBAAwB,GAAG,MAAM,EAAE,CAoC1E;AAED,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,eAAe,CAAC,CAoC1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,eAAe,CAAC,CA2B1B;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAU9D;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAUzD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
@@ -2,9 +2,10 @@ import { execa } from "execa";
2
2
  import { platform } from "os";
3
3
  import { getCodingAgentById } from "../config/tools.js";
4
4
  import { CLAUDE_CODE_TOOL } from "../config/builtin-coding-agents.js";
5
- import { CODEX_DEFAULT_ARGS, CLAUDE_PERMISSION_SKIP_ARGS, } from "../shared/codingAgentConstants.js";
5
+ import { CODEX_DEFAULT_ARGS, CLAUDE_PERMISSION_SKIP_ARGS, shouldEnableCodexSkillsFlag, withCodexSkillsFlag, } from "../shared/codingAgentConstants.js";
6
6
  import { prepareCodingAgentExecution } from "./codingAgentCommandResolver.js";
7
7
  import { createLogger } from "../logging/logger.js";
8
+ import { findCommand } from "../utils/command.js";
8
9
  const logger = createLogger({ category: "resolver" });
9
10
  const DETECTION_COMMAND = platform() === "win32" ? "where" : "which";
10
11
  const MIN_BUN_MAJOR = 1;
@@ -192,13 +193,14 @@ export function buildCodexArgs(options = {}) {
192
193
  return args;
193
194
  }
194
195
  export async function resolveCodexCommand(options = {}) {
195
- const args = buildCodexArgs(options);
196
+ const codexLookup = await findCommand("codex");
197
+ const baseArgs = buildCodexArgs(options);
198
+ const args = withCodexSkillsFlag(baseArgs, shouldEnableCodexSkillsFlag(codexLookup.version));
196
199
  // フルパスを取得(node-ptyはシェルを経由しないため必要)
197
- const codexPath = await resolveCommandPath("codex");
198
- if (codexPath) {
199
- logger.info({ command: codexPath, usesFallback: false }, "Codex command resolved");
200
+ if (codexLookup.source === "installed" && codexLookup.path) {
201
+ logger.info({ command: codexLookup.path, usesFallback: false }, "Codex command resolved");
200
202
  return {
201
- command: codexPath,
203
+ command: codexLookup.path,
202
204
  args,
203
205
  usesFallback: false,
204
206
  };
@@ -1 +1 @@
1
- {"version":3,"file":"codingAgentResolver.js","sourceRoot":"","sources":["../../src/services/codingAgentResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codingAgentResolver.js","sourceRoot":"","sources":["../../src/services/codingAgentResolver.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,7 @@
6
6
  */
7
7
  export declare const CLAUDE_PERMISSION_SKIP_ARGS: readonly ["--dangerously-skip-permissions"];
8
8
  export declare const CODEX_DEFAULT_ARGS: readonly ["--enable", "web_search_request", "--model=gpt-5.2-codex", "--sandbox", "workspace-write", "-c", "model_reasoning_effort=high", "-c", "model_reasoning_summaries=detailed", "-c", "sandbox_workspace_write.network_access=true", "-c", "shell_environment_policy.inherit=all", "-c", "shell_environment_policy.ignore_default_excludes=true", "-c", "shell_environment_policy.experimental_use_profile=true"];
9
+ export declare const CODEX_SKILLS_FLAG_DEPRECATED_FROM = "0.80.0";
10
+ export declare function shouldEnableCodexSkillsFlag(version?: string | null): boolean;
11
+ export declare function withCodexSkillsFlag(args: readonly string[], enable: boolean): string[];
9
12
  //# sourceMappingURL=codingAgentConstants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codingAgentConstants.d.ts","sourceRoot":"","sources":["../../src/shared/codingAgentConstants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,2BAA2B,6CAE9B,CAAC;AAEX,eAAO,MAAM,kBAAkB,yZAkBrB,CAAC"}
1
+ {"version":3,"file":"codingAgentConstants.d.ts","sourceRoot":"","sources":["../../src/shared/codingAgentConstants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,2BAA2B,6CAE9B,CAAC;AAEX,eAAO,MAAM,kBAAkB,yZAkBrB,CAAC;AAEX,eAAO,MAAM,iCAAiC,WAAW,CAAC;AAiD1D,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAM5E;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,EAAE,OAAO,GACd,MAAM,EAAE,CAWV"}
@@ -26,4 +26,70 @@ export const CODEX_DEFAULT_ARGS = [
26
26
  "-c",
27
27
  "shell_environment_policy.experimental_use_profile=true",
28
28
  ];
29
+ export const CODEX_SKILLS_FLAG_DEPRECATED_FROM = "0.80.0";
30
+ const MODEL_FLAG_PREFIX = "--model=";
31
+ function normalizeVersion(value) {
32
+ if (!value)
33
+ return null;
34
+ const trimmed = value.trim();
35
+ if (!trimmed)
36
+ return null;
37
+ return trimmed.replace(/^v/i, "");
38
+ }
39
+ function parseVersion(value) {
40
+ const normalized = normalizeVersion(value);
41
+ if (!normalized)
42
+ return null;
43
+ const match = normalized.match(/^(\d+)\.(\d+)(?:\.(\d+))?(?:-([0-9A-Za-z.-]+))?$/);
44
+ if (!match)
45
+ return null;
46
+ const major = Number(match[1]);
47
+ const minor = Number(match[2]);
48
+ const patch = Number(match[3] ?? "0");
49
+ if (![major, minor, patch].every(Number.isFinite))
50
+ return null;
51
+ return {
52
+ major,
53
+ minor,
54
+ patch,
55
+ prerelease: match[4] ?? null,
56
+ };
57
+ }
58
+ function compareVersions(a, b) {
59
+ if (a.major !== b.major)
60
+ return a.major - b.major;
61
+ if (a.minor !== b.minor)
62
+ return a.minor - b.minor;
63
+ if (a.patch !== b.patch)
64
+ return a.patch - b.patch;
65
+ if (a.prerelease && !b.prerelease)
66
+ return -1;
67
+ if (!a.prerelease && b.prerelease)
68
+ return 1;
69
+ if (a.prerelease && b.prerelease) {
70
+ return a.prerelease.localeCompare(b.prerelease);
71
+ }
72
+ return 0;
73
+ }
74
+ export function shouldEnableCodexSkillsFlag(version) {
75
+ const parsed = parseVersion(version);
76
+ if (!parsed)
77
+ return false;
78
+ const threshold = parseVersion(CODEX_SKILLS_FLAG_DEPRECATED_FROM);
79
+ if (!threshold)
80
+ return false;
81
+ return compareVersions(parsed, threshold) < 0;
82
+ }
83
+ export function withCodexSkillsFlag(args, enable) {
84
+ if (!enable)
85
+ return Array.from(args);
86
+ const alreadyEnabled = args.some((arg, index) => arg === "--enable" && args[index + 1] === "skills");
87
+ if (alreadyEnabled)
88
+ return Array.from(args);
89
+ const next = Array.from(args);
90
+ const modelIndex = next.findIndex((arg) => arg.startsWith(MODEL_FLAG_PREFIX));
91
+ const insertIndex = modelIndex === -1 ? next.length : modelIndex;
92
+ next.splice(insertIndex, 0, "--enable", "skills");
93
+ return next;
94
+ }
29
95
  //# sourceMappingURL=codingAgentConstants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codingAgentConstants.js","sourceRoot":"","sources":["../../src/shared/codingAgentConstants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,gCAAgC;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU;IACV,oBAAoB;IACpB,uBAAuB;IACvB,WAAW;IACX,iBAAiB;IACjB,IAAI;IACJ,6BAA6B;IAC7B,IAAI;IACJ,oCAAoC;IACpC,IAAI;IACJ,6CAA6C;IAC7C,IAAI;IACJ,sCAAsC;IACtC,IAAI;IACJ,uDAAuD;IACvD,IAAI;IACJ,wDAAwD;CAChD,CAAC"}
1
+ {"version":3,"file":"codingAgentConstants.js","sourceRoot":"","sources":["../../src/shared/codingAgentConstants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface BunReexecInput {
2
+ hasBunGlobal: boolean;
3
+ bunExecPath?: string | null;
4
+ argv: string[];
5
+ scriptPath: string;
6
+ }
7
+ export interface BunReexecCommand {
8
+ command: string;
9
+ args: string[];
10
+ }
11
+ export declare function buildBunReexecCommand(input: BunReexecInput): BunReexecCommand | null;
12
+ //# sourceMappingURL=bun-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-runtime.d.ts","sourceRoot":"","sources":["../../src/utils/bun-runtime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,gBAAgB,GAAG,IAAI,CAczB"}
@@ -0,0 +1,13 @@
1
+ export function buildBunReexecCommand(input) {
2
+ if (input.hasBunGlobal) {
3
+ return null;
4
+ }
5
+ const scriptPath = input.scriptPath?.trim();
6
+ if (!scriptPath) {
7
+ return null;
8
+ }
9
+ const bunCommand = input.bunExecPath?.trim() || "bun";
10
+ const args = [scriptPath, ...(input.argv?.slice(2) ?? [])];
11
+ return { command: bunCommand, args };
12
+ }
13
+ //# sourceMappingURL=bun-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-runtime.js","sourceRoot":"","sources":["../../src/utils/bun-runtime.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,qBAAqB,CACnC,KAAqB;IAErB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/utils/session/parsers/codex.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAU1E;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA6FlC;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBzB"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/utils/session/parsers/codex.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAU1E;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA4FlC;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBzB"}
@@ -101,7 +101,6 @@ export async function findLatestCodexSession(options = {}) {
101
101
  if (sessionId) {
102
102
  return { id: sessionId, mtime: file.mtime };
103
103
  }
104
- // Priority 2: Fallback to reading file content if filename lacks UUID
105
104
  // (already handled via info above)
106
105
  }
107
106
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/utils/session/parsers/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/utils/session/parsers/codex.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.12.0",
3
+ "version": "4.12.2",
4
4
  "description": "Interactive Git worktree manager with Coding Agent selection (Claude Code / Codex CLI / Gemini CLI)",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
package/src/claude.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { execa, type Options as ExecaOptions } from "execa";
2
2
  import chalk from "chalk";
3
3
  import { existsSync, readFileSync } from "fs";
4
+ import os from "node:os";
4
5
  import {
5
6
  createChildStdio,
6
7
  getTerminalStreams,
@@ -13,8 +14,15 @@ import {
13
14
  runAgentWithPty,
14
15
  shouldCaptureAgentOutput,
15
16
  } from "./logging/agentOutput.js";
17
+ import { createLogger } from "./logging/logger.js";
16
18
 
17
19
  const CLAUDE_CLI_PACKAGE = "@anthropic-ai/claude-code@latest";
20
+ const logger = createLogger({ category: "claude" });
21
+ const signalNumberToName: ReadonlyMap<number, string> = new Map(
22
+ Object.entries(os.constants.signals)
23
+ .filter(([, value]) => typeof value === "number")
24
+ .map(([name, value]) => [value as number, name]),
25
+ );
18
26
 
19
27
  /**
20
28
  * Error wrapper used by `launchClaudeCode` to preserve the original failure
@@ -267,12 +275,32 @@ export async function launchClaudeCode(
267
275
  }
268
276
  };
269
277
 
270
- // Treat SIGHUP (1), SIGINT (2), SIGTERM (15) as normal exit signals
271
- // SIGHUP can occur when the PTY closes, SIGINT/SIGTERM are user interrupts
272
- const isNormalExitSignal = (signal?: number | null) =>
273
- signal === 1 || signal === 2 || signal === 15;
278
+ const normalizeSignal = (
279
+ signal?: number | string | null,
280
+ ): string | null => {
281
+ if (signal === null || signal === undefined) {
282
+ return null;
283
+ }
284
+ if (typeof signal === "number") {
285
+ return signalNumberToName.get(signal) ?? String(signal);
286
+ }
287
+ return signal.trim().toUpperCase();
288
+ };
289
+
290
+ // Treat SIGINT (2), SIGTERM (15) as normal exit signals (user interrupts)
291
+ const isNormalExitSignal = (
292
+ signal?: number | string | null,
293
+ exitCode?: number | null,
294
+ ) => {
295
+ const normalized = normalizeSignal(signal);
296
+ if (normalized === "SIGINT" || normalized === "SIGTERM") {
297
+ return true;
298
+ }
299
+ return exitCode === 130 || exitCode === 143;
300
+ };
274
301
 
275
302
  const runCommand = async (file: string, fileArgs: string[]) => {
303
+ const runStartedAt = Date.now();
276
304
  if (captureOutput) {
277
305
  const result = await runAgentWithPty({
278
306
  command: file,
@@ -281,12 +309,28 @@ export async function launchClaudeCode(
281
309
  env: launchEnv,
282
310
  agentId: "claude-code",
283
311
  });
284
- // Treat normal exit signals (SIGHUP, SIGINT, SIGTERM) as successful exit
285
- if (isNormalExitSignal(result.signal)) {
312
+ const durationMs = Date.now() - runStartedAt;
313
+ const exitCode = result.exitCode ?? null;
314
+ const rawSignal = result.signal ?? null;
315
+ const signal = normalizeSignal(rawSignal);
316
+ // isNormalExitSignal covers SIGINT/SIGTERM and 130/143 exit codes.
317
+ const signalIsNormal = isNormalExitSignal(rawSignal, exitCode);
318
+ const hasError =
319
+ (!signalIsNormal && signal !== null && signal !== undefined) ||
320
+ (exitCode !== null && exitCode !== 0 && !signalIsNormal);
321
+ if (hasError) {
322
+ logger.error({ exitCode, signal, durationMs }, "Claude Code exited");
323
+ } else {
324
+ logger.info({ exitCode, signal, durationMs }, "Claude Code exited");
325
+ }
326
+ if (signalIsNormal) {
286
327
  return;
287
328
  }
288
- if (result.exitCode !== null && result.exitCode !== 0) {
289
- throw new Error(`Claude Code exited with code ${result.exitCode}`);
329
+ if (signal !== null && signal !== undefined) {
330
+ throw new Error(`Claude Code terminated by signal ${signal}`);
331
+ }
332
+ if (exitCode !== null && exitCode !== 0) {
333
+ throw new Error(`Claude Code exited with code ${exitCode}`);
290
334
  }
291
335
  return;
292
336
  }
@@ -295,13 +339,33 @@ export async function launchClaudeCode(
295
339
  return;
296
340
  }
297
341
 
298
- await execInteractive(file, fileArgs, {
299
- cwd: worktreePath,
300
- stdin: childStdio.stdin,
301
- stdout: childStdio.stdout,
302
- stderr: childStdio.stderr,
303
- env: launchEnv,
304
- });
342
+ try {
343
+ await execInteractive(file, fileArgs, {
344
+ cwd: worktreePath,
345
+ stdin: childStdio.stdin,
346
+ stdout: childStdio.stdout,
347
+ stderr: childStdio.stderr,
348
+ env: launchEnv,
349
+ });
350
+ const durationMs = Date.now() - runStartedAt;
351
+ logger.info(
352
+ { exitCode: 0, signal: null, durationMs },
353
+ "Claude Code exited",
354
+ );
355
+ } catch (execError: unknown) {
356
+ const durationMs = Date.now() - runStartedAt;
357
+ const exitCode =
358
+ (execError as { exitCode?: number | null })?.exitCode ?? null;
359
+ const rawSignal =
360
+ (execError as { signal?: string | number | null })?.signal ?? null;
361
+ const signal = normalizeSignal(rawSignal);
362
+ if (isNormalExitSignal(rawSignal, exitCode)) {
363
+ logger.info({ exitCode, signal, durationMs }, "Claude Code exited");
364
+ return;
365
+ }
366
+ logger.error({ exitCode, signal, durationMs }, "Claude Code failed");
367
+ throw execError;
368
+ }
305
369
  };
306
370
 
307
371
  // Determine execution strategy based on version selection
@@ -60,6 +60,7 @@ import {
60
60
  getLocalBranches,
61
61
  getRepositoryRoot,
62
62
  deleteBranch,
63
+ fetchAllRemotes,
63
64
  } from "../../git.js";
64
65
  import {
65
66
  isProtectedBranchName,
@@ -85,6 +86,8 @@ import {
85
86
  getTodayLogDate,
86
87
  readLogLinesForDate,
87
88
  resolveLogTarget,
89
+ selectLogTargetByRecency,
90
+ type LogTargetResolution,
88
91
  } from "../../logging/reader.js";
89
92
  import { parseLogLines } from "../../logging/formatter.js";
90
93
  import { copyToClipboard } from "./utils/clipboard.js";
@@ -102,11 +105,13 @@ import {
102
105
  } from "../../types/profiles.js";
103
106
  import { BRANCH_PREFIXES } from "../../config/constants.js";
104
107
  import { prefetchAgentVersions } from "./utils/versionCache.js";
108
+ import { prefetchInstalledVersions } from "./utils/installedVersionCache.js";
105
109
  import { getBunxAgentIds } from "./utils/versionFetcher.js";
106
110
 
107
111
  export type ExecutionMode = "normal" | "continue" | "resume";
108
112
 
109
113
  const UNSAFE_SELECTION_MESSAGE = "Unsafe branch selected. Select anyway?";
114
+ const SAFETY_PENDING_MESSAGE = "Safety check in progress. Select anyway?";
110
115
 
111
116
  export interface SelectionResult {
112
117
  branch: string;
@@ -297,6 +302,9 @@ export function AppSolid(props: AppSolidProps) {
297
302
  const [unsafeSelectionTarget, setUnsafeSelectionTarget] = createSignal<
298
303
  string | null
299
304
  >(null);
305
+ const [unsafeSelectionMessage, setUnsafeSelectionMessage] = createSignal(
306
+ UNSAFE_SELECTION_MESSAGE,
307
+ );
300
308
  const [branchFooterMessage, setBranchFooterMessage] = createSignal<{
301
309
  text: string;
302
310
  isSpinning?: boolean;
@@ -437,12 +445,20 @@ export function AppSolid(props: AppSolidProps) {
437
445
  const [profileConfirmMode, setProfileConfirmMode] =
438
446
  createSignal<ProfileConfirmMode>("delete-profile");
439
447
 
440
- const logTarget = createMemo(() =>
448
+ const [logEffectiveTarget, setLogEffectiveTarget] =
449
+ createSignal<LogTargetResolution | null>(null);
450
+ const logPrimaryTarget = createMemo(() =>
441
451
  resolveLogTarget(logTargetBranch(), workingDirectory()),
442
452
  );
453
+ const logFallbackTarget = createMemo(() =>
454
+ resolveLogTarget(null, workingDirectory()),
455
+ );
456
+ const logActiveTarget = createMemo(
457
+ () => logEffectiveTarget() ?? logPrimaryTarget(),
458
+ );
443
459
  const logBranchLabel = createMemo(() => logTargetBranch()?.label ?? null);
444
460
  const logSourceLabel = createMemo(() => {
445
- const target = logTarget();
461
+ const target = logActiveTarget();
446
462
  if (!target.sourcePath) {
447
463
  return "(none)";
448
464
  }
@@ -452,11 +468,18 @@ export function AppSolid(props: AppSolidProps) {
452
468
  ) {
453
469
  return `${target.sourcePath} (cwd)`;
454
470
  }
471
+ if (target.reason === "working-directory-fallback") {
472
+ return `${target.sourcePath} (cwd fallback)`;
473
+ }
455
474
  if (target.reason === "worktree-inaccessible") {
456
475
  return `${target.sourcePath} (inaccessible)`;
457
476
  }
458
477
  return target.sourcePath;
459
478
  });
479
+ createEffect(() => {
480
+ logPrimaryTarget();
481
+ setLogEffectiveTarget(null);
482
+ });
460
483
  const selectedProfileConfig = createMemo(() => {
461
484
  const name = selectedProfileName();
462
485
  const config = profilesConfig();
@@ -623,7 +646,13 @@ export function AppSolid(props: AppSolidProps) {
623
646
  setLogLoading(true);
624
647
  setLogError(null);
625
648
  try {
626
- const target = logTarget();
649
+ const primaryTarget = logPrimaryTarget();
650
+ const fallbackTarget = logFallbackTarget();
651
+ const target = await selectLogTargetByRecency(
652
+ primaryTarget,
653
+ fallbackTarget,
654
+ );
655
+ setLogEffectiveTarget(target);
627
656
  if (!target.logDir) {
628
657
  setLogEntries([]);
629
658
  setLogSelectedDate(targetDate);
@@ -658,7 +687,7 @@ export function AppSolid(props: AppSolidProps) {
658
687
  };
659
688
 
660
689
  const resetLogFiles = async () => {
661
- const target = logTarget();
690
+ const target = logActiveTarget();
662
691
  if (!target.logDir) {
663
692
  showLogNotification("No logs available.", "error");
664
693
  return;
@@ -723,6 +752,14 @@ export function AppSolid(props: AppSolidProps) {
723
752
  void refreshCleanupSafety();
724
753
 
725
754
  void (async () => {
755
+ // Fetch remote updates with --prune to remove stale tracking refs
756
+ await withTimeout(
757
+ fetchAllRemotes({ cwd: repoRoot }),
758
+ BRANCH_FULL_LOAD_TIMEOUT_MS,
759
+ ).catch(() => {
760
+ // Ignore fetch errors (e.g., network issues)
761
+ });
762
+
726
763
  const [branches, latestWorktrees] = await Promise.all([
727
764
  withTimeout(
728
765
  getAllBranches(repoRoot),
@@ -850,11 +887,15 @@ export function AppSolid(props: AppSolidProps) {
850
887
  void prefetchAgentVersions(bunxAgentIds).catch(() => {
851
888
  // Silently handle errors - cache will return null and UI will show "latest" only
852
889
  });
890
+ // FR-017: Prefetch installed versions for all builtin agents at startup
891
+ void prefetchInstalledVersions(bunxAgentIds).catch(() => {
892
+ // Silently handle errors - cache will return null and UI won't show "installed"
893
+ });
853
894
  });
854
895
 
855
896
  createEffect(() => {
856
897
  if (currentScreen() === "log-list") {
857
- logTarget();
898
+ logPrimaryTarget();
858
899
  void loadLogEntries(logSelectedDate());
859
900
  }
860
901
  });
@@ -1530,8 +1571,15 @@ export function AppSolid(props: AppSolidProps) {
1530
1571
  !hasSafetyPending &&
1531
1572
  (hasUncommitted || hasUnpushed || isUnmerged || !safeToCleanup);
1532
1573
 
1574
+ if (branch && hasSafetyPending) {
1575
+ setUnsafeSelectionTarget(branch.name);
1576
+ setUnsafeSelectionMessage(SAFETY_PENDING_MESSAGE);
1577
+ setUnsafeSelectionConfirmVisible(true);
1578
+ return;
1579
+ }
1533
1580
  if (branch && isUnsafe) {
1534
1581
  setUnsafeSelectionTarget(branch.name);
1582
+ setUnsafeSelectionMessage(UNSAFE_SELECTION_MESSAGE);
1535
1583
  setUnsafeSelectionConfirmVisible(true);
1536
1584
  return;
1537
1585
  }
@@ -1545,6 +1593,7 @@ export function AppSolid(props: AppSolidProps) {
1545
1593
  const target = unsafeSelectionTarget();
1546
1594
  setUnsafeSelectionConfirmVisible(false);
1547
1595
  setUnsafeSelectionTarget(null);
1596
+ setUnsafeSelectionMessage(UNSAFE_SELECTION_MESSAGE);
1548
1597
  if (!confirmed || !target) {
1549
1598
  return;
1550
1599
  }
@@ -2005,7 +2054,7 @@ export function AppSolid(props: AppSolidProps) {
2005
2054
  padding={1}
2006
2055
  >
2007
2056
  <ConfirmScreen
2008
- message={UNSAFE_SELECTION_MESSAGE}
2057
+ message={unsafeSelectionMessage()}
2009
2058
  onConfirm={confirmUnsafeSelection}
2010
2059
  yesLabel="OK"
2011
2060
  noLabel="Cancel"