@akiojin/gwt 4.9.0 → 4.10.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.
Files changed (180) hide show
  1. package/README.ja.md +58 -34
  2. package/README.md +18 -34
  3. package/dist/cli/ui/components/App.d.ts +2 -2
  4. package/dist/cli/ui/components/App.d.ts.map +1 -1
  5. package/dist/cli/ui/components/App.js +27 -9
  6. package/dist/cli/ui/components/App.js.map +1 -1
  7. package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts +1 -1
  8. package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts.map +1 -1
  9. package/dist/cli/ui/components/screens/BranchQuickStartScreen.js +4 -1
  10. package/dist/cli/ui/components/screens/BranchQuickStartScreen.js.map +1 -1
  11. package/dist/cli/ui/components/screens/CodingAgentSelectorScreen.d.ts +27 -0
  12. package/dist/cli/ui/components/screens/CodingAgentSelectorScreen.d.ts.map +1 -0
  13. package/dist/cli/ui/components/screens/{AIToolSelectorScreen.js → CodingAgentSelectorScreen.js} +35 -35
  14. package/dist/cli/ui/components/screens/CodingAgentSelectorScreen.js.map +1 -0
  15. package/dist/cli/ui/components/screens/ModelSelectorScreen.d.ts +2 -2
  16. package/dist/cli/ui/components/screens/ModelSelectorScreen.d.ts.map +1 -1
  17. package/dist/cli/ui/components/screens/ModelSelectorScreen.js.map +1 -1
  18. package/dist/cli/ui/types.d.ts +2 -2
  19. package/dist/cli/ui/types.d.ts.map +1 -1
  20. package/dist/cli/ui/utils/modelOptions.d.ts +4 -4
  21. package/dist/cli/ui/utils/modelOptions.d.ts.map +1 -1
  22. package/dist/cli/ui/utils/modelOptions.js.map +1 -1
  23. package/dist/client/assets/{index-PqK9jkug.js → index-LNPtOrn3.js} +17 -17
  24. package/dist/client/index.html +1 -1
  25. package/dist/config/builtin-coding-agents.d.ts +27 -0
  26. package/dist/config/builtin-coding-agents.d.ts.map +1 -0
  27. package/dist/config/{builtin-tools.js → builtin-coding-agents.js} +21 -6
  28. package/dist/config/builtin-coding-agents.js.map +1 -0
  29. package/dist/config/tools.d.ts +16 -16
  30. package/dist/config/tools.d.ts.map +1 -1
  31. package/dist/config/tools.js +92 -78
  32. package/dist/config/tools.js.map +1 -1
  33. package/dist/index.js +19 -19
  34. package/dist/index.js.map +1 -1
  35. package/dist/launcher.d.ts +8 -8
  36. package/dist/launcher.d.ts.map +1 -1
  37. package/dist/launcher.js +32 -28
  38. package/dist/launcher.js.map +1 -1
  39. package/dist/services/codingAgentCommandResolver.d.ts +10 -0
  40. package/dist/services/codingAgentCommandResolver.d.ts.map +1 -0
  41. package/dist/services/{customToolResolver.js → codingAgentCommandResolver.js} +25 -20
  42. package/dist/services/codingAgentCommandResolver.js.map +1 -0
  43. package/dist/services/{aiToolResolver.d.ts → codingAgentResolver.d.ts} +6 -6
  44. package/dist/services/codingAgentResolver.d.ts.map +1 -0
  45. package/dist/services/{aiToolResolver.js → codingAgentResolver.js} +23 -23
  46. package/dist/services/codingAgentResolver.js.map +1 -0
  47. package/dist/shared/{aiToolConstants.d.ts → codingAgentConstants.d.ts} +2 -2
  48. package/dist/shared/codingAgentConstants.d.ts.map +1 -0
  49. package/dist/shared/{aiToolConstants.js → codingAgentConstants.js} +2 -2
  50. package/dist/shared/codingAgentConstants.js.map +1 -0
  51. package/dist/types/api.d.ts +12 -12
  52. package/dist/types/api.d.ts.map +1 -1
  53. package/dist/types/tools.d.ts +30 -30
  54. package/dist/types/tools.d.ts.map +1 -1
  55. package/dist/types/tools.js +1 -1
  56. package/dist/utils/command.d.ts.map +1 -1
  57. package/dist/utils/command.js +9 -0
  58. package/dist/utils/command.js.map +1 -1
  59. package/dist/utils/session/index.d.ts +5 -3
  60. package/dist/utils/session/index.d.ts.map +1 -1
  61. package/dist/utils/session/index.js +5 -2
  62. package/dist/utils/session/index.js.map +1 -1
  63. package/dist/utils/session/parsers/index.d.ts +1 -0
  64. package/dist/utils/session/parsers/index.d.ts.map +1 -1
  65. package/dist/utils/session/parsers/index.js +2 -0
  66. package/dist/utils/session/parsers/index.js.map +1 -1
  67. package/dist/utils/session/parsers/opencode.d.ts +23 -0
  68. package/dist/utils/session/parsers/opencode.d.ts.map +1 -0
  69. package/dist/utils/session/parsers/opencode.js +89 -0
  70. package/dist/utils/session/parsers/opencode.js.map +1 -0
  71. package/dist/utils/session/types.d.ts +4 -0
  72. package/dist/utils/session/types.d.ts.map +1 -1
  73. package/dist/web/client/src/components/CodingAgentLaunchModal.d.ts +9 -0
  74. package/dist/web/client/src/components/CodingAgentLaunchModal.d.ts.map +1 -0
  75. package/dist/web/client/src/components/{AIToolLaunchModal.js → CodingAgentLaunchModal.js} +58 -58
  76. package/dist/web/client/src/components/CodingAgentLaunchModal.js.map +1 -0
  77. package/dist/web/client/src/components/CustomCodingAgentForm.d.ts +23 -0
  78. package/dist/web/client/src/components/CustomCodingAgentForm.d.ts.map +1 -0
  79. package/dist/web/client/src/components/{CustomToolForm.js → CustomCodingAgentForm.js} +5 -5
  80. package/dist/web/client/src/components/CustomCodingAgentForm.js.map +1 -0
  81. package/dist/web/client/src/components/CustomCodingAgentList.d.ts +10 -0
  82. package/dist/web/client/src/components/CustomCodingAgentList.d.ts.map +1 -0
  83. package/dist/web/client/src/components/{CustomToolList.js → CustomCodingAgentList.js} +17 -17
  84. package/dist/web/client/src/components/CustomCodingAgentList.js.map +1 -0
  85. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.d.ts +2 -2
  86. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.d.ts.map +1 -1
  87. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.js +6 -6
  88. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.js.map +1 -1
  89. package/dist/web/client/src/components/branch-detail/ToolLauncher.d.ts +2 -2
  90. package/dist/web/client/src/components/branch-detail/ToolLauncher.d.ts.map +1 -1
  91. package/dist/web/client/src/components/branch-detail/ToolLauncher.js +5 -5
  92. package/dist/web/client/src/components/branch-detail/ToolLauncher.js.map +1 -1
  93. package/dist/web/client/src/hooks/useSessions.d.ts +4 -4
  94. package/dist/web/client/src/hooks/useSessions.d.ts.map +1 -1
  95. package/dist/web/client/src/hooks/useSessions.js.map +1 -1
  96. package/dist/web/client/src/lib/api.d.ts +5 -5
  97. package/dist/web/client/src/lib/api.d.ts.map +1 -1
  98. package/dist/web/client/src/lib/api.js +1 -1
  99. package/dist/web/client/src/lib/api.js.map +1 -1
  100. package/dist/web/client/src/pages/BranchDetailPage.js +24 -24
  101. package/dist/web/client/src/pages/BranchDetailPage.js.map +1 -1
  102. package/dist/web/client/src/pages/ConfigManagementPage.d.ts.map +1 -1
  103. package/dist/web/client/src/pages/ConfigManagementPage.js +15 -15
  104. package/dist/web/client/src/pages/ConfigManagementPage.js.map +1 -1
  105. package/dist/web/client/src/pages/ConfigPage.d.ts.map +1 -1
  106. package/dist/web/client/src/pages/ConfigPage.js +43 -39
  107. package/dist/web/client/src/pages/ConfigPage.js.map +1 -1
  108. package/dist/web/server/env/importer.d.ts.map +1 -1
  109. package/dist/web/server/env/importer.js +3 -3
  110. package/dist/web/server/env/importer.js.map +1 -1
  111. package/dist/web/server/pty/manager.d.ts +6 -6
  112. package/dist/web/server/pty/manager.d.ts.map +1 -1
  113. package/dist/web/server/pty/manager.js +11 -11
  114. package/dist/web/server/pty/manager.js.map +1 -1
  115. package/dist/web/server/routes/config.d.ts.map +1 -1
  116. package/dist/web/server/routes/config.js +34 -34
  117. package/dist/web/server/routes/config.js.map +1 -1
  118. package/dist/web/server/routes/sessions.d.ts +1 -1
  119. package/dist/web/server/routes/sessions.d.ts.map +1 -1
  120. package/dist/web/server/routes/sessions.js +20 -20
  121. package/dist/web/server/routes/sessions.js.map +1 -1
  122. package/package.json +2 -2
  123. package/src/cli/ui/__tests__/components/screens/{AIToolSelectorScreen.test.tsx → CodingAgentSelectorScreen.test.tsx} +38 -38
  124. package/src/cli/ui/components/App.tsx +44 -20
  125. package/src/cli/ui/components/screens/BranchQuickStartScreen.tsx +6 -3
  126. package/src/cli/ui/components/screens/CodingAgentSelectorScreen.tsx +159 -0
  127. package/src/cli/ui/components/screens/ModelSelectorScreen.tsx +6 -2
  128. package/src/cli/ui/types.ts +2 -2
  129. package/src/cli/ui/utils/modelOptions.ts +6 -4
  130. package/src/config/{builtin-tools.ts → builtin-coding-agents.ts} +25 -9
  131. package/src/config/tools.ts +120 -92
  132. package/src/index.ts +19 -19
  133. package/src/launcher.ts +38 -31
  134. package/src/services/{customToolResolver.ts → codingAgentCommandResolver.ts} +33 -28
  135. package/src/services/{aiToolResolver.ts → codingAgentResolver.ts} +28 -28
  136. package/src/shared/{aiToolConstants.ts → codingAgentConstants.ts} +1 -1
  137. package/src/types/api.ts +12 -12
  138. package/src/types/tools.ts +30 -30
  139. package/src/utils/command.ts +9 -0
  140. package/src/utils/session/index.ts +10 -2
  141. package/src/utils/session/parsers/index.ts +6 -0
  142. package/src/utils/session/parsers/opencode.ts +110 -0
  143. package/src/utils/session/types.ts +5 -0
  144. package/src/web/client/src/components/{AIToolLaunchModal.tsx → CodingAgentLaunchModal.tsx} +74 -70
  145. package/src/web/client/src/components/{CustomToolForm.tsx → CustomCodingAgentForm.tsx} +14 -14
  146. package/src/web/client/src/components/{CustomToolList.tsx → CustomCodingAgentList.tsx} +26 -26
  147. package/src/web/client/src/components/branch-detail/SessionHistoryTable.tsx +7 -7
  148. package/src/web/client/src/components/branch-detail/ToolLauncher.tsx +9 -9
  149. package/src/web/client/src/hooks/useSessions.ts +5 -5
  150. package/src/web/client/src/lib/api.ts +8 -8
  151. package/src/web/client/src/pages/BranchDetailPage.tsx +26 -26
  152. package/src/web/client/src/pages/ConfigManagementPage.tsx +32 -24
  153. package/src/web/client/src/pages/ConfigPage.tsx +55 -49
  154. package/src/web/server/env/importer.ts +6 -3
  155. package/src/web/server/pty/manager.ts +20 -20
  156. package/src/web/server/routes/config.ts +45 -39
  157. package/src/web/server/routes/sessions.ts +29 -26
  158. package/dist/cli/ui/components/screens/AIToolSelectorScreen.d.ts +0 -27
  159. package/dist/cli/ui/components/screens/AIToolSelectorScreen.d.ts.map +0 -1
  160. package/dist/cli/ui/components/screens/AIToolSelectorScreen.js.map +0 -1
  161. package/dist/config/builtin-tools.d.ts +0 -23
  162. package/dist/config/builtin-tools.d.ts.map +0 -1
  163. package/dist/config/builtin-tools.js.map +0 -1
  164. package/dist/services/aiToolResolver.d.ts.map +0 -1
  165. package/dist/services/aiToolResolver.js.map +0 -1
  166. package/dist/services/customToolResolver.d.ts +0 -10
  167. package/dist/services/customToolResolver.d.ts.map +0 -1
  168. package/dist/services/customToolResolver.js.map +0 -1
  169. package/dist/shared/aiToolConstants.d.ts.map +0 -1
  170. package/dist/shared/aiToolConstants.js.map +0 -1
  171. package/dist/web/client/src/components/AIToolLaunchModal.d.ts +0 -9
  172. package/dist/web/client/src/components/AIToolLaunchModal.d.ts.map +0 -1
  173. package/dist/web/client/src/components/AIToolLaunchModal.js.map +0 -1
  174. package/dist/web/client/src/components/CustomToolForm.d.ts +0 -23
  175. package/dist/web/client/src/components/CustomToolForm.d.ts.map +0 -1
  176. package/dist/web/client/src/components/CustomToolForm.js.map +0 -1
  177. package/dist/web/client/src/components/CustomToolList.d.ts +0 -10
  178. package/dist/web/client/src/components/CustomToolList.d.ts.map +0 -1
  179. package/dist/web/client/src/components/CustomToolList.js.map +0 -1
  180. package/src/cli/ui/components/screens/AIToolSelectorScreen.tsx +0 -153
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>gwt - Web UI</title>
7
- <script type="module" crossorigin src="/assets/index-PqK9jkug.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-LNPtOrn3.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-ChHC-Puh.css">
9
9
  </head>
10
10
  <body>
@@ -0,0 +1,27 @@
1
+ /**
2
+ * ビルトインコーディングエージェント定義
3
+ *
4
+ * Claude Code、Codex、Gemini の CodingAgent 形式定義
5
+ */
6
+ import type { CodingAgent } from "../types/tools.js";
7
+ /**
8
+ * Claude Code のビルトイン定義
9
+ */
10
+ export declare const CLAUDE_CODE_TOOL: CodingAgent;
11
+ /**
12
+ * Codex のビルトイン定義
13
+ */
14
+ export declare const CODEX_CLI_TOOL: CodingAgent;
15
+ /**
16
+ * Gemini のビルトイン定義
17
+ */
18
+ export declare const GEMINI_CLI_TOOL: CodingAgent;
19
+ /**
20
+ * OpenCode のビルトイン定義
21
+ */
22
+ export declare const OPENCODE_TOOL: CodingAgent;
23
+ /**
24
+ * すべてのビルトインコーディングエージェント
25
+ */
26
+ export declare const BUILTIN_CODING_AGENTS: CodingAgent[];
27
+ //# sourceMappingURL=builtin-coding-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-coding-agents.d.ts","sourceRoot":"","sources":["../../src/config/builtin-coding-agents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAc9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAW5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,WAW7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,WAU3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAK9C,CAAC"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * ビルトインAIツール定義
2
+ * ビルトインコーディングエージェント定義
3
3
  *
4
- * Claude Code、Codex、Gemini の CustomAITool 形式定義
4
+ * Claude Code、Codex、Gemini の CodingAgent 形式定義
5
5
  */
6
- import { CLAUDE_PERMISSION_SKIP_ARGS, CODEX_DEFAULT_ARGS, } from "../shared/aiToolConstants.js";
6
+ import { CLAUDE_PERMISSION_SKIP_ARGS, CODEX_DEFAULT_ARGS, } from "../shared/codingAgentConstants.js";
7
7
  /**
8
8
  * Claude Code のビルトイン定義
9
9
  */
@@ -53,11 +53,26 @@ export const GEMINI_CLI_TOOL = {
53
53
  permissionSkipArgs: ["-y"],
54
54
  };
55
55
  /**
56
- * すべてのビルトインツール
56
+ * OpenCode のビルトイン定義
57
57
  */
58
- export const BUILTIN_TOOLS = [
58
+ export const OPENCODE_TOOL = {
59
+ id: "opencode",
60
+ displayName: "OpenCode",
61
+ type: "bunx",
62
+ command: "opencode-ai@latest",
63
+ modeArgs: {
64
+ normal: [],
65
+ continue: ["-c"],
66
+ resume: ["-s"],
67
+ },
68
+ };
69
+ /**
70
+ * すべてのビルトインコーディングエージェント
71
+ */
72
+ export const BUILTIN_CODING_AGENTS = [
59
73
  CLAUDE_CODE_TOOL,
60
74
  CODEX_CLI_TOOL,
61
75
  GEMINI_CLI_TOOL,
76
+ OPENCODE_TOOL,
62
77
  ];
63
- //# sourceMappingURL=builtin-tools.js.map
78
+ //# sourceMappingURL=builtin-coding-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-coding-agents.js","sourceRoot":"","sources":["../../src/config/builtin-coding-agents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,kCAAkC;IAC3C,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,MAAM,EAAE,CAAC,IAAI,CAAC;KACf;IACD,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC;IAC3D,GAAG,EAAE;QACH,eAAe,EAAE,MAAM;KACxB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,EAAE,EAAE,WAAW;IACf,WAAW,EAAE,OAAO;IACpB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC3C,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC;KACnB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,EAAE,EAAE,YAAY;IAChB,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;KACzB;IACD,kBAAkB,EAAE,CAAC,IAAI,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,EAAE,EAAE,UAAU;IACd,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,oBAAoB;IAC7B,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,MAAM,EAAE,CAAC,IAAI,CAAC;KACf;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,gBAAgB;IAChB,cAAc;IACd,eAAe;IACf,aAAa;CACd,CAAC"}
@@ -1,32 +1,32 @@
1
1
  /**
2
- * カスタムツール設定管理
2
+ * コーディングエージェント設定管理
3
3
  *
4
4
  * ~/.gwt/tools.jsonから設定を読み込み、
5
- * ビルトインツールと統合して管理します。
5
+ * ビルトインエージェントと統合して管理します。
6
6
  */
7
- import type { ToolsConfig, CustomAITool, AIToolConfig } from "../types/tools.js";
7
+ import type { CodingAgentsConfig, CodingAgent, CodingAgentConfig } from "../types/tools.js";
8
8
  /**
9
- * ツール設定ファイルのパス
9
+ * コーディングエージェント設定ファイルのパス
10
10
  * 環境変数 GWT_HOME が設定されている場合はそれを使用、それ以外はホームディレクトリ
11
11
  */
12
12
  export declare const WORKTREE_HOME: string;
13
13
  export declare const CONFIG_DIR: string;
14
14
  export declare const TOOLS_CONFIG_PATH: string;
15
15
  /**
16
- * ツール設定を読み込む
16
+ * コーディングエージェント設定を読み込む
17
17
  *
18
18
  * ~/.gwt/tools.jsonから設定を読み込みます。
19
19
  * ファイルが存在しない場合は空配列を返します。
20
20
  *
21
- * @returns ToolsConfig
21
+ * @returns CodingAgentsConfig
22
22
  * @throws JSON構文エラー時
23
23
  */
24
- export declare function loadToolsConfig(): Promise<ToolsConfig>;
25
- export declare function saveToolsConfig(config: ToolsConfig): Promise<void>;
24
+ export declare function loadCodingAgentsConfig(): Promise<CodingAgentsConfig>;
25
+ export declare function saveCodingAgentsConfig(config: CodingAgentsConfig): Promise<void>;
26
26
  /**
27
27
  * 共有環境変数を取得
28
28
  *
29
- * AIツール起動時に適用される環境変数を返します。
29
+ * コーディングエージェント起動時に適用される環境変数を返します。
30
30
  * マージ優先順位(後勝ち):
31
31
  * 1. tools.json の env フィールド
32
32
  * 2. profiles.yaml のアクティブプロファイル
@@ -35,16 +35,16 @@ export declare function saveToolsConfig(config: ToolsConfig): Promise<void>;
35
35
  */
36
36
  export declare function getSharedEnvironment(): Promise<Record<string, string>>;
37
37
  /**
38
- * IDでツールを検索
38
+ * IDでコーディングエージェントを検索
39
39
  *
40
- * @param id - ツールID
41
- * @returns ツール設定(見つからない場合はundefined)
40
+ * @param id - エージェントID
41
+ * @returns エージェント設定(見つからない場合はundefined)
42
42
  */
43
- export declare function getToolById(id: string): Promise<CustomAITool | undefined>;
43
+ export declare function getCodingAgentById(id: string): Promise<CodingAgent | undefined>;
44
44
  /**
45
- * すべてのツール(ビルトイン+カスタム)を取得
45
+ * すべてのコーディングエージェント(ビルトイン+カスタム)を取得
46
46
  *
47
- * @returns AIToolConfigの配列
47
+ * @returns CodingAgentConfigの配列
48
48
  */
49
- export declare function getAllTools(): Promise<AIToolConfig[]>;
49
+ export declare function getAllCodingAgents(): Promise<CodingAgentConfig[]>;
50
50
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACb,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,eAAO,MAAM,aAAa,QAGX,CAAC;AAEhB,eAAO,MAAM,UAAU,QAAmC,CAAC;AAC3D,eAAO,MAAM,iBAAiB,QAAsC,CAAC;AASrE;;;;;;;;GAQG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CA0C5D;AA2DD,wBAAsB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAcxE;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAU5E;AAsDD;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAanC;AAED;;;;GAIG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAsB3D"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,eAAO,MAAM,aAAa,QAGX,CAAC;AAEhB,eAAO,MAAM,UAAU,QAAmC,CAAC;AAC3D,eAAO,MAAM,iBAAiB,QAAsC,CAAC;AASrE;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA6D1E;AA2DD,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAU5E;AAsDD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAgBlC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0BvE"}
@@ -1,18 +1,18 @@
1
1
  /**
2
- * カスタムツール設定管理
2
+ * コーディングエージェント設定管理
3
3
  *
4
4
  * ~/.gwt/tools.jsonから設定を読み込み、
5
- * ビルトインツールと統合して管理します。
5
+ * ビルトインエージェントと統合して管理します。
6
6
  */
7
7
  import { homedir } from "node:os";
8
8
  import path from "node:path";
9
9
  import { readFile, writeFile, mkdir, rename } from "node:fs/promises";
10
- import { BUILTIN_TOOLS } from "./builtin-tools.js";
10
+ import { BUILTIN_CODING_AGENTS } from "./builtin-coding-agents.js";
11
11
  import { createLogger } from "../logging/logger.js";
12
12
  import { resolveProfileEnv } from "./profiles.js";
13
13
  const logger = createLogger({ category: "config" });
14
14
  /**
15
- * ツール設定ファイルのパス
15
+ * コーディングエージェント設定ファイルのパス
16
16
  * 環境変数 GWT_HOME が設定されている場合はそれを使用、それ以外はホームディレクトリ
17
17
  */
18
18
  export const WORKTREE_HOME = process.env.GWT_HOME && process.env.GWT_HOME.trim().length > 0
@@ -24,24 +24,38 @@ const TEMP_CONFIG_PATH = `${TOOLS_CONFIG_PATH}.tmp`;
24
24
  const DEFAULT_CONFIG = {
25
25
  version: "1.0.0",
26
26
  env: {},
27
- customTools: [],
27
+ customCodingAgents: [],
28
28
  };
29
29
  /**
30
- * ツール設定を読み込む
30
+ * コーディングエージェント設定を読み込む
31
31
  *
32
32
  * ~/.gwt/tools.jsonから設定を読み込みます。
33
33
  * ファイルが存在しない場合は空配列を返します。
34
34
  *
35
- * @returns ToolsConfig
35
+ * @returns CodingAgentsConfig
36
36
  * @throws JSON構文エラー時
37
37
  */
38
- export async function loadToolsConfig() {
38
+ export async function loadCodingAgentsConfig() {
39
39
  try {
40
40
  const content = await readFile(TOOLS_CONFIG_PATH, "utf-8");
41
41
  const config = JSON.parse(content);
42
+ // マイグレーション: customTools → customCodingAgents (後方互換性)
43
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
+ const legacyConfig = config;
45
+ if (!config.customCodingAgents && legacyConfig.customTools) {
46
+ config.customCodingAgents = legacyConfig.customTools;
47
+ logger.warn({ path: TOOLS_CONFIG_PATH }, "Migrating deprecated 'customTools' to 'customCodingAgents'");
48
+ }
49
+ // フォールバック: undefined/null → 空配列
50
+ if (!config.customCodingAgents) {
51
+ config.customCodingAgents = [];
52
+ }
42
53
  // 検証
43
- validateToolsConfig(config);
44
- logger.debug({ path: TOOLS_CONFIG_PATH, toolCount: config.customTools.length }, "Tools config loaded");
54
+ validateCodingAgentsConfig(config);
55
+ logger.debug({
56
+ path: TOOLS_CONFIG_PATH,
57
+ agentCount: config.customCodingAgents.length,
58
+ }, "Coding agents config loaded");
45
59
  return {
46
60
  ...config,
47
61
  env: config.env ?? {},
@@ -50,12 +64,12 @@ export async function loadToolsConfig() {
50
64
  catch (error) {
51
65
  // ファイルが存在しない場合は空配列を返す
52
66
  if (error instanceof Error && "code" in error && error.code === "ENOENT") {
53
- logger.debug({ path: TOOLS_CONFIG_PATH }, "Tools config not found, using defaults");
67
+ logger.debug({ path: TOOLS_CONFIG_PATH }, "Coding agents config not found, using defaults");
54
68
  return { ...DEFAULT_CONFIG };
55
69
  }
56
70
  // JSON構文エラーの場合
57
71
  if (error instanceof SyntaxError) {
58
- logger.error({ path: TOOLS_CONFIG_PATH, error: error.message }, "Tools config parse error");
72
+ logger.error({ path: TOOLS_CONFIG_PATH, error: error.message }, "Coding agents config parse error");
59
73
  throw new Error(`Failed to parse tools.json: ${error.message}\n` +
60
74
  `Please check the JSON syntax in ${TOOLS_CONFIG_PATH}`);
61
75
  }
@@ -64,19 +78,19 @@ export async function loadToolsConfig() {
64
78
  }
65
79
  }
66
80
  /**
67
- * ToolsConfig全体を検証
81
+ * CodingAgentsConfig全体を検証
68
82
  *
69
83
  * @param config - 検証対象の設定
70
84
  * @throws 検証エラー時
71
85
  */
72
- function validateToolsConfig(config) {
86
+ function validateCodingAgentsConfig(config) {
73
87
  // versionフィールドの検証
74
88
  if (!config.version || typeof config.version !== "string") {
75
89
  throw new Error("version field is required and must be a string");
76
90
  }
77
- // customToolsフィールドの検証
78
- if (!Array.isArray(config.customTools)) {
79
- throw new Error("customTools field must be an array");
91
+ // customCodingAgentsフィールドの検証
92
+ if (!Array.isArray(config.customCodingAgents)) {
93
+ throw new Error("customCodingAgents field must be an array");
80
94
  }
81
95
  if (config.env && typeof config.env !== "object") {
82
96
  throw new Error("env field must be an object map of key/value pairs");
@@ -91,32 +105,32 @@ function validateToolsConfig(config) {
91
105
  }
92
106
  }
93
107
  }
94
- // 各ツールの検証
108
+ // 各エージェントの検証
95
109
  const seenIds = new Set();
96
- for (const tool of config.customTools) {
97
- validateCustomAITool(tool);
110
+ for (const agent of config.customCodingAgents) {
111
+ validateCodingAgent(agent);
98
112
  // ID重複チェック
99
- if (seenIds.has(tool.id)) {
100
- throw new Error(`Duplicate tool ID found: "${tool.id}"\n` +
101
- `Each tool must have a unique ID in ${TOOLS_CONFIG_PATH}`);
113
+ if (seenIds.has(agent.id)) {
114
+ throw new Error(`Duplicate agent ID found: "${agent.id}"\n` +
115
+ `Each agent must have a unique ID in ${TOOLS_CONFIG_PATH}`);
102
116
  }
103
- seenIds.add(tool.id);
104
- // ビルトインツールとのID重複チェック
105
- const builtinIds = BUILTIN_TOOLS.map((t) => t.id);
106
- if (builtinIds.includes(tool.id)) {
107
- throw new Error(`Tool ID "${tool.id}" conflicts with builtin tool\n` +
108
- `Builtin tool IDs: ${builtinIds.join(", ")}`);
117
+ seenIds.add(agent.id);
118
+ // ビルトインエージェントとのID重複チェック
119
+ const builtinIds = BUILTIN_CODING_AGENTS.map((t) => t.id);
120
+ if (builtinIds.includes(agent.id)) {
121
+ throw new Error(`Agent ID "${agent.id}" conflicts with builtin agent\n` +
122
+ `Builtin agent IDs: ${builtinIds.join(", ")}`);
109
123
  }
110
124
  }
111
125
  }
112
- export async function saveToolsConfig(config) {
126
+ export async function saveCodingAgentsConfig(config) {
113
127
  const normalized = {
114
128
  version: config.version,
115
129
  updatedAt: config.updatedAt ?? new Date().toISOString(),
116
130
  env: config.env ?? {},
117
- customTools: config.customTools,
131
+ customCodingAgents: config.customCodingAgents,
118
132
  };
119
- validateToolsConfig(normalized);
133
+ validateCodingAgentsConfig(normalized);
120
134
  await mkdir(CONFIG_DIR, { recursive: true });
121
135
  const payload = JSON.stringify(normalized, null, 2);
122
136
  await writeFile(TEMP_CONFIG_PATH, payload, { mode: 0o600 });
@@ -125,7 +139,7 @@ export async function saveToolsConfig(config) {
125
139
  /**
126
140
  * 共有環境変数を取得
127
141
  *
128
- * AIツール起動時に適用される環境変数を返します。
142
+ * コーディングエージェント起動時に適用される環境変数を返します。
129
143
  * マージ優先順位(後勝ち):
130
144
  * 1. tools.json の env フィールド
131
145
  * 2. profiles.yaml のアクティブプロファイル
@@ -134,7 +148,7 @@ export async function saveToolsConfig(config) {
134
148
  */
135
149
  export async function getSharedEnvironment() {
136
150
  const [config, profileEnv] = await Promise.all([
137
- loadToolsConfig(),
151
+ loadCodingAgentsConfig(),
138
152
  resolveProfileEnv(),
139
153
  ]);
140
154
  return {
@@ -143,81 +157,81 @@ export async function getSharedEnvironment() {
143
157
  };
144
158
  }
145
159
  /**
146
- * CustomAITool単体を検証
160
+ * CodingAgent単体を検証
147
161
  *
148
- * @param tool - 検証対象のツール
162
+ * @param agent - 検証対象のエージェント
149
163
  * @throws 検証エラー時
150
164
  */
151
- function validateCustomAITool(tool) {
165
+ function validateCodingAgent(agent) {
152
166
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
153
- const t = tool;
167
+ const a = agent;
154
168
  // 必須フィールドの存在チェック
155
169
  const requiredFields = ["id", "displayName", "type", "command", "modeArgs"];
156
170
  for (const field of requiredFields) {
157
- if (!t[field]) {
158
- throw new Error(`Required field "${field}" is missing in tool configuration`);
171
+ if (!a[field]) {
172
+ throw new Error(`Required field "${field}" is missing in agent configuration`);
159
173
  }
160
174
  }
161
175
  // id形式の検証(小文字英数字とハイフンのみ)
162
- if (!/^[a-z0-9-]+$/.test(t.id)) {
163
- throw new Error(`Invalid tool ID format: "${t.id}"\n` +
164
- `Tool ID must contain only lowercase letters, numbers, and hyphens (pattern: ^[a-z0-9-]+$)`);
176
+ if (!/^[a-z0-9-]+$/.test(a.id)) {
177
+ throw new Error(`Invalid agent ID format: "${a.id}"\n` +
178
+ `Agent ID must contain only lowercase letters, numbers, and hyphens (pattern: ^[a-z0-9-]+$)`);
165
179
  }
166
180
  // typeフィールドの値検証
167
181
  const validTypes = ["path", "bunx", "command"];
168
- if (!validTypes.includes(t.type)) {
169
- throw new Error(`Invalid type: "${t.type}"\n` +
182
+ if (!validTypes.includes(a.type)) {
183
+ throw new Error(`Invalid type: "${a.type}"\n` +
170
184
  `Type must be one of: ${validTypes.join(", ")}`);
171
185
  }
172
186
  // type='path'の場合、commandが絶対パスであることを確認
173
- if (t.type === "path" && !path.isAbsolute(t.command)) {
174
- throw new Error(`For type="path", command must be an absolute path: "${t.command}"`);
187
+ if (a.type === "path" && !path.isAbsolute(a.command)) {
188
+ throw new Error(`For type="path", command must be an absolute path: "${a.command}"`);
175
189
  }
176
190
  // modeArgsの検証(少なくとも1つのモードが定義されている)
177
- if (!t.modeArgs.normal && !t.modeArgs.continue && !t.modeArgs.resume) {
178
- throw new Error(`modeArgs must define at least one mode (normal, continue, or resume) for tool "${t.id}"`);
191
+ if (!a.modeArgs.normal && !a.modeArgs.continue && !a.modeArgs.resume) {
192
+ throw new Error(`modeArgs must define at least one mode (normal, continue, or resume) for agent "${a.id}"`);
179
193
  }
180
194
  }
181
195
  /**
182
- * IDでツールを検索
196
+ * IDでコーディングエージェントを検索
183
197
  *
184
- * @param id - ツールID
185
- * @returns ツール設定(見つからない場合はundefined)
198
+ * @param id - エージェントID
199
+ * @returns エージェント設定(見つからない場合はundefined)
186
200
  */
187
- export async function getToolById(id) {
188
- // ビルトインツールから検索
189
- const builtinTool = BUILTIN_TOOLS.find((t) => t.id === id);
190
- if (builtinTool) {
191
- logger.debug({ id, found: true, isBuiltin: true }, "Tool lookup");
192
- return builtinTool;
201
+ export async function getCodingAgentById(id) {
202
+ // ビルトインエージェントから検索
203
+ const builtinAgent = BUILTIN_CODING_AGENTS.find((a) => a.id === id);
204
+ if (builtinAgent) {
205
+ logger.debug({ id, found: true, isBuiltin: true }, "Coding agent lookup");
206
+ return builtinAgent;
193
207
  }
194
- // カスタムツールから検索
195
- const config = await loadToolsConfig();
196
- const customTool = config.customTools.find((t) => t.id === id);
197
- logger.debug({ id, found: !!customTool, isBuiltin: false }, "Tool lookup");
198
- return customTool;
208
+ // カスタムエージェントから検索
209
+ const config = await loadCodingAgentsConfig();
210
+ const customAgent = config.customCodingAgents.find((a) => a.id === id);
211
+ logger.debug({ id, found: !!customAgent, isBuiltin: false }, "Coding agent lookup");
212
+ return customAgent;
199
213
  }
200
214
  /**
201
- * すべてのツール(ビルトイン+カスタム)を取得
215
+ * すべてのコーディングエージェント(ビルトイン+カスタム)を取得
202
216
  *
203
- * @returns AIToolConfigの配列
217
+ * @returns CodingAgentConfigの配列
204
218
  */
205
- export async function getAllTools() {
206
- const config = await loadToolsConfig();
207
- // ビルトインツールをAIToolConfig形式に変換
208
- const builtinConfigs = BUILTIN_TOOLS.map((tool) => ({
209
- id: tool.id,
210
- displayName: tool.displayName,
211
- ...(tool.icon ? { icon: tool.icon } : {}),
219
+ export async function getAllCodingAgents() {
220
+ const config = await loadCodingAgentsConfig();
221
+ // ビルトインエージェントをCodingAgentConfig形式に変換
222
+ const builtinConfigs = BUILTIN_CODING_AGENTS.map((agent) => ({
223
+ id: agent.id,
224
+ displayName: agent.displayName,
225
+ ...(agent.icon ? { icon: agent.icon } : {}),
212
226
  isBuiltin: true,
213
227
  }));
214
- // カスタムツールをAIToolConfig形式に変換
215
- const customConfigs = config.customTools.map((tool) => ({
216
- id: tool.id,
217
- displayName: tool.displayName,
218
- ...(tool.icon ? { icon: tool.icon } : {}),
228
+ // カスタムエージェントをCodingAgentConfig形式に変換
229
+ const customConfigs = config.customCodingAgents.map((agent) => ({
230
+ id: agent.id,
231
+ displayName: agent.displayName,
232
+ ...(agent.icon ? { icon: agent.icon } : {}),
219
233
  isBuiltin: false,
220
- customConfig: tool,
234
+ customConfig: agent,
221
235
  }));
222
236
  // ビルトイン + カスタム の順で統合
223
237
  return [...builtinConfigs, ...customConfigs];
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,8 +10,8 @@ import chalk from "chalk";
10
10
  import { isProtectedBranchName, switchToProtectedBranch, WorktreeError, resolveWorktreePathForBranch, } from "./worktree.js";
11
11
  import { getTerminalStreams, waitForUserAcknowledgement, } from "./utils/terminal.js";
12
12
  import { createLogger } from "./logging/logger.js";
13
- import { getToolById, getSharedEnvironment } from "./config/tools.js";
14
- import { launchCustomAITool } from "./launcher.js";
13
+ import { getCodingAgentById, getSharedEnvironment } from "./config/tools.js";
14
+ import { launchCodingAgent } from "./launcher.js";
15
15
  import { saveSession, loadSession } from "./config/index.js";
16
16
  import { findLatestCodexSession, findLatestClaudeSession, findLatestGeminiSession, } from "./utils/session.js";
17
17
  import { getPackageVersion } from "./utils.js";
@@ -373,22 +373,22 @@ export async function handleAIToolWorkflow(selectionResult) {
373
373
  else if (fastForwardError) {
374
374
  printWarning(`Fast-forward pull could not complete (${fastForwardError.message}). Continuing without blocking.`);
375
375
  }
376
- // Get tool definition and shared environment overrides
377
- const [toolConfig, sharedEnv] = await Promise.all([
378
- getToolById(tool),
376
+ // Get coding agent definition and shared environment overrides
377
+ const [agentConfig, sharedEnv] = await Promise.all([
378
+ getCodingAgentById(tool),
379
379
  getSharedEnvironment(),
380
380
  ]);
381
- if (!toolConfig) {
382
- throw new Error(`Tool not found: ${tool}`);
381
+ if (!agentConfig) {
382
+ throw new Error(`Coding agent not found: ${tool}`);
383
383
  }
384
- // Save selection immediately (including history) so "last tool" is reflected
385
- // even if the tool is interrupted or killed mid-run (e.g., Ctrl+C).
386
- // FR-042: Record timestamp to session history immediately on tool start.
384
+ // Save selection immediately (including history) so "last agent" is reflected
385
+ // even if the agent is interrupted or killed mid-run (e.g., Ctrl+C).
386
+ // FR-042: Record timestamp to session history immediately on agent start.
387
387
  await saveSession({
388
388
  lastWorktreePath: worktreePath,
389
389
  lastBranch: branch,
390
390
  lastUsedTool: tool,
391
- toolLabel: toolConfig.displayName ?? tool,
391
+ toolLabel: agentConfig.displayName ?? tool,
392
392
  mode,
393
393
  model: normalizedModel ?? null,
394
394
  reasoningLevel: inferenceLevel ?? null,
@@ -426,7 +426,7 @@ export async function handleAIToolWorkflow(selectionResult) {
426
426
  lastWorktreePath: worktreePath,
427
427
  lastBranch: branch,
428
428
  lastUsedTool: tool,
429
- toolLabel: toolConfig.displayName ?? tool,
429
+ toolLabel: agentConfig.displayName ?? tool,
430
430
  mode,
431
431
  model: normalizedModel ?? null,
432
432
  reasoningLevel: inferenceLevel ?? null,
@@ -439,9 +439,9 @@ export async function handleAIToolWorkflow(selectionResult) {
439
439
  // Ignore errors during periodic update
440
440
  }
441
441
  }, SESSION_UPDATE_INTERVAL_MS);
442
- // Launch selected AI tool
443
- // Builtin tools use their dedicated launch functions
444
- // Custom tools use the generic launchCustomAITool function
442
+ // Launch selected coding agent
443
+ // Builtin agents use their dedicated launch functions
444
+ // Custom agents use the generic launchCodingAgent function
445
445
  let launchResult;
446
446
  try {
447
447
  if (tool === "claude-code") {
@@ -498,9 +498,9 @@ export async function handleAIToolWorkflow(selectionResult) {
498
498
  launchResult = await launchGeminiCLI(worktreePath, launchOptions);
499
499
  }
500
500
  else {
501
- // Custom tool
502
- printInfo(`Launching custom tool: ${toolConfig.displayName}`);
503
- launchResult = await launchCustomAITool(toolConfig, {
501
+ // Custom coding agent
502
+ printInfo(`Launching custom agent: ${agentConfig.displayName}`);
503
+ launchResult = await launchCodingAgent(agentConfig, {
504
504
  mode: mode === "resume"
505
505
  ? "resume"
506
506
  : mode === "continue"
@@ -584,7 +584,7 @@ export async function handleAIToolWorkflow(selectionResult) {
584
584
  lastWorktreePath: worktreePath,
585
585
  lastBranch: branch,
586
586
  lastUsedTool: tool,
587
- toolLabel: toolConfig.displayName ?? tool,
587
+ toolLabel: agentConfig.displayName ?? tool,
588
588
  mode,
589
589
  model: normalizedModel ?? null,
590
590
  reasoningLevel: inferenceLevel ?? null,