@akiojin/gwt 2.2.0 → 2.4.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 (172) hide show
  1. package/README.ja.md +6 -4
  2. package/README.md +6 -4
  3. package/dist/claude.d.ts +1 -0
  4. package/dist/claude.d.ts.map +1 -1
  5. package/dist/claude.js +6 -3
  6. package/dist/claude.js.map +1 -1
  7. package/dist/cli/ui/components/App.d.ts +6 -4
  8. package/dist/cli/ui/components/App.d.ts.map +1 -1
  9. package/dist/cli/ui/components/App.js +184 -107
  10. package/dist/cli/ui/components/App.js.map +1 -1
  11. package/dist/cli/ui/components/common/Confirm.d.ts +1 -1
  12. package/dist/cli/ui/components/common/Confirm.d.ts.map +1 -1
  13. package/dist/cli/ui/components/common/Confirm.js +7 -7
  14. package/dist/cli/ui/components/common/Confirm.js.map +1 -1
  15. package/dist/cli/ui/components/common/ErrorBoundary.d.ts +1 -1
  16. package/dist/cli/ui/components/common/ErrorBoundary.d.ts.map +1 -1
  17. package/dist/cli/ui/components/common/ErrorBoundary.js +4 -4
  18. package/dist/cli/ui/components/common/ErrorBoundary.js.map +1 -1
  19. package/dist/cli/ui/components/common/Input.d.ts +2 -2
  20. package/dist/cli/ui/components/common/Input.d.ts.map +1 -1
  21. package/dist/cli/ui/components/common/Input.js +4 -4
  22. package/dist/cli/ui/components/common/Input.js.map +1 -1
  23. package/dist/cli/ui/components/common/LoadingIndicator.d.ts +1 -1
  24. package/dist/cli/ui/components/common/LoadingIndicator.d.ts.map +1 -1
  25. package/dist/cli/ui/components/common/LoadingIndicator.js +4 -4
  26. package/dist/cli/ui/components/common/LoadingIndicator.js.map +1 -1
  27. package/dist/cli/ui/components/common/Select.d.ts +1 -1
  28. package/dist/cli/ui/components/common/Select.d.ts.map +1 -1
  29. package/dist/cli/ui/components/common/Select.js +11 -12
  30. package/dist/cli/ui/components/common/Select.js.map +1 -1
  31. package/dist/cli/ui/components/screens/AIToolSelectorScreen.d.ts +3 -3
  32. package/dist/cli/ui/components/screens/AIToolSelectorScreen.d.ts.map +1 -1
  33. package/dist/cli/ui/components/screens/AIToolSelectorScreen.js +11 -11
  34. package/dist/cli/ui/components/screens/AIToolSelectorScreen.js.map +1 -1
  35. package/dist/cli/ui/components/screens/BranchCreatorScreen.d.ts +1 -1
  36. package/dist/cli/ui/components/screens/BranchCreatorScreen.d.ts.map +1 -1
  37. package/dist/cli/ui/components/screens/BranchCreatorScreen.js +39 -36
  38. package/dist/cli/ui/components/screens/BranchCreatorScreen.js.map +1 -1
  39. package/dist/cli/ui/components/screens/BranchListScreen.d.ts +3 -3
  40. package/dist/cli/ui/components/screens/BranchListScreen.d.ts.map +1 -1
  41. package/dist/cli/ui/components/screens/BranchListScreen.js +55 -50
  42. package/dist/cli/ui/components/screens/BranchListScreen.js.map +1 -1
  43. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts +2 -2
  44. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts.map +1 -1
  45. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js +25 -25
  46. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js.map +1 -1
  47. package/dist/cli/ui/components/screens/ModelSelectorScreen.d.ts +18 -0
  48. package/dist/cli/ui/components/screens/ModelSelectorScreen.d.ts.map +1 -0
  49. package/dist/cli/ui/components/screens/ModelSelectorScreen.js +201 -0
  50. package/dist/cli/ui/components/screens/ModelSelectorScreen.js.map +1 -0
  51. package/dist/cli/ui/components/screens/PRCleanupScreen.d.ts +2 -2
  52. package/dist/cli/ui/components/screens/PRCleanupScreen.js +21 -21
  53. package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts +1 -1
  54. package/dist/cli/ui/components/screens/SessionSelectorScreen.js +8 -8
  55. package/dist/cli/ui/components/screens/WorktreeManagerScreen.d.ts +1 -1
  56. package/dist/cli/ui/components/screens/WorktreeManagerScreen.js +8 -8
  57. package/dist/cli/ui/screens/BranchActionSelectorScreen.d.ts.map +1 -1
  58. package/dist/cli/ui/screens/BranchActionSelectorScreen.js +7 -4
  59. package/dist/cli/ui/screens/BranchActionSelectorScreen.js.map +1 -1
  60. package/dist/cli/ui/types.d.ts +11 -1
  61. package/dist/cli/ui/types.d.ts.map +1 -1
  62. package/dist/cli/ui/utils/modelOptions.d.ts +6 -0
  63. package/dist/cli/ui/utils/modelOptions.d.ts.map +1 -0
  64. package/dist/cli/ui/utils/modelOptions.js +111 -0
  65. package/dist/cli/ui/utils/modelOptions.js.map +1 -0
  66. package/dist/client/assets/{index-V6hDu9KS.js → index-Difv1Hwu.js} +2 -2
  67. package/dist/client/index.html +1 -1
  68. package/dist/codex.d.ts +6 -0
  69. package/dist/codex.d.ts.map +1 -1
  70. package/dist/codex.js +11 -4
  71. package/dist/codex.js.map +1 -1
  72. package/dist/config/builtin-tools.d.ts +10 -2
  73. package/dist/config/builtin-tools.d.ts.map +1 -1
  74. package/dist/config/builtin-tools.js +40 -4
  75. package/dist/config/builtin-tools.js.map +1 -1
  76. package/dist/config/index.d.ts.map +1 -1
  77. package/dist/config/index.js.map +1 -1
  78. package/dist/config/tools.d.ts.map +1 -1
  79. package/dist/config/tools.js +4 -3
  80. package/dist/config/tools.js.map +1 -1
  81. package/dist/gemini.d.ts +13 -0
  82. package/dist/gemini.d.ts.map +1 -0
  83. package/dist/gemini.js +157 -0
  84. package/dist/gemini.js.map +1 -0
  85. package/dist/git.d.ts.map +1 -1
  86. package/dist/git.js.map +1 -1
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +59 -7
  89. package/dist/index.js.map +1 -1
  90. package/dist/qwen.d.ts +13 -0
  91. package/dist/qwen.d.ts.map +1 -0
  92. package/dist/qwen.js +157 -0
  93. package/dist/qwen.js.map +1 -0
  94. package/dist/services/git.service.d.ts.map +1 -1
  95. package/dist/services/git.service.js.map +1 -1
  96. package/dist/web/client/src/components/BranchGraph.d.ts.map +1 -1
  97. package/dist/web/client/src/components/BranchGraph.js +1 -1
  98. package/dist/web/client/src/components/BranchGraph.js.map +1 -1
  99. package/dist/web/client/src/components/EnvEditor.d.ts.map +1 -1
  100. package/dist/web/client/src/components/EnvEditor.js +7 -4
  101. package/dist/web/client/src/components/EnvEditor.js.map +1 -1
  102. package/dist/web/client/src/pages/BranchDetailPage.d.ts.map +1 -1
  103. package/dist/web/client/src/pages/BranchDetailPage.js +55 -18
  104. package/dist/web/client/src/pages/BranchDetailPage.js.map +1 -1
  105. package/dist/web/client/src/pages/BranchListPage.d.ts.map +1 -1
  106. package/dist/web/client/src/pages/BranchListPage.js +10 -4
  107. package/dist/web/client/src/pages/BranchListPage.js.map +1 -1
  108. package/dist/web/client/src/pages/ConfigManagementPage.d.ts.map +1 -1
  109. package/dist/web/client/src/pages/ConfigManagementPage.js +4 -2
  110. package/dist/web/client/src/pages/ConfigManagementPage.js.map +1 -1
  111. package/package.json +2 -1
  112. package/src/claude.ts +8 -3
  113. package/src/cli/ui/__tests__/acceptance/navigation.acceptance.test.tsx +69 -50
  114. package/src/cli/ui/__tests__/components/App.protected-branch.test.tsx +67 -45
  115. package/src/cli/ui/__tests__/components/App.shortcuts.test.tsx +117 -75
  116. package/src/cli/ui/__tests__/components/App.test.tsx +45 -37
  117. package/src/cli/ui/__tests__/components/ModelSelectorScreen.initial.test.tsx +81 -0
  118. package/src/cli/ui/__tests__/components/common/Confirm.test.tsx +35 -22
  119. package/src/cli/ui/__tests__/components/common/ErrorBoundary.test.tsx +22 -22
  120. package/src/cli/ui/__tests__/components/common/Input.test.tsx +29 -22
  121. package/src/cli/ui/__tests__/components/common/LoadingIndicator.test.tsx +63 -43
  122. package/src/cli/ui/__tests__/components/common/Select.memo.test.tsx +57 -66
  123. package/src/cli/ui/__tests__/components/common/Select.test.tsx +121 -91
  124. package/src/cli/ui/__tests__/components/parts/Footer.test.tsx +18 -16
  125. package/src/cli/ui/__tests__/components/parts/Header.test.tsx +13 -13
  126. package/src/cli/ui/__tests__/components/parts/ScrollableList.test.tsx +20 -20
  127. package/src/cli/ui/__tests__/components/parts/Stats.test.tsx +38 -26
  128. package/src/cli/ui/__tests__/components/screens/AIToolSelectorScreen.test.tsx +31 -31
  129. package/src/cli/ui/__tests__/components/screens/BranchCreatorScreen.test.tsx +73 -37
  130. package/src/cli/ui/__tests__/components/screens/BranchListScreen.test.tsx +261 -153
  131. package/src/cli/ui/__tests__/components/screens/ExecutionModeSelectorScreen.test.tsx +38 -32
  132. package/src/cli/ui/__tests__/components/screens/PRCleanupScreen.test.tsx +39 -39
  133. package/src/cli/ui/__tests__/components/screens/SessionSelectorScreen.test.tsx +49 -21
  134. package/src/cli/ui/__tests__/components/screens/WorktreeManagerScreen.test.tsx +52 -28
  135. package/src/cli/ui/__tests__/integration/edgeCases.test.tsx +84 -48
  136. package/src/cli/ui/__tests__/integration/navigation.test.tsx +111 -83
  137. package/src/cli/ui/__tests__/integration/realtimeUpdate.test.tsx +111 -108
  138. package/src/cli/ui/__tests__/performance/branchList.performance.test.tsx +50 -37
  139. package/src/cli/ui/__tests__/performance/useMemoOptimization.test.tsx +75 -76
  140. package/src/cli/ui/components/App.tsx +317 -150
  141. package/src/cli/ui/components/common/Confirm.tsx +13 -9
  142. package/src/cli/ui/components/common/ErrorBoundary.tsx +8 -5
  143. package/src/cli/ui/components/common/Input.tsx +12 -4
  144. package/src/cli/ui/components/common/LoadingIndicator.tsx +8 -5
  145. package/src/cli/ui/components/common/Select.tsx +28 -17
  146. package/src/cli/ui/components/parts/Header.test.tsx +5 -15
  147. package/src/cli/ui/components/screens/AIToolSelectorScreen.tsx +20 -15
  148. package/src/cli/ui/components/screens/BranchCreatorScreen.tsx +74 -54
  149. package/src/cli/ui/components/screens/BranchListScreen.tsx +92 -75
  150. package/src/cli/ui/components/screens/ExecutionModeSelectorScreen.tsx +35 -28
  151. package/src/cli/ui/components/screens/ModelSelectorScreen.tsx +320 -0
  152. package/src/cli/ui/components/screens/PRCleanupScreen.tsx +22 -22
  153. package/src/cli/ui/components/screens/SessionSelectorScreen.tsx +8 -8
  154. package/src/cli/ui/components/screens/WorktreeManagerScreen.tsx +8 -8
  155. package/src/cli/ui/screens/BranchActionSelectorScreen.tsx +9 -4
  156. package/src/cli/ui/types.ts +21 -1
  157. package/src/cli/ui/utils/modelOptions.test.ts +36 -0
  158. package/src/cli/ui/utils/modelOptions.ts +122 -0
  159. package/src/codex.ts +23 -4
  160. package/src/config/builtin-tools.ts +42 -4
  161. package/src/config/index.ts +2 -12
  162. package/src/config/tools.ts +16 -6
  163. package/src/gemini.ts +207 -0
  164. package/src/git.ts +2 -1
  165. package/src/index.ts +86 -6
  166. package/src/qwen.ts +213 -0
  167. package/src/services/git.service.ts +2 -1
  168. package/src/web/client/src/components/BranchGraph.tsx +3 -2
  169. package/src/web/client/src/components/EnvEditor.tsx +44 -11
  170. package/src/web/client/src/pages/BranchDetailPage.tsx +165 -54
  171. package/src/web/client/src/pages/BranchListPage.tsx +37 -13
  172. package/src/web/client/src/pages/ConfigManagementPage.tsx +28 -9
@@ -0,0 +1,201 @@
1
+ import React, { useEffect, useMemo, useState } from "react";
2
+ import { Box, Text, useInput } from "ink";
3
+ import { Header } from "../parts/Header.js";
4
+ import { Footer } from "../parts/Footer.js";
5
+ import { Select } from "../common/Select.js";
6
+ import { useTerminalSize } from "../../hooks/useTerminalSize.js";
7
+ import { getDefaultInferenceForModel, getDefaultModelOption, getInferenceLevelsForModel, getModelOptions, } from "../../utils/modelOptions.js";
8
+ const TOOL_LABELS = {
9
+ "claude-code": "Claude Code",
10
+ "codex-cli": "Codex",
11
+ "gemini-cli": "Gemini",
12
+ "qwen-cli": "Qwen",
13
+ };
14
+ const INFERENCE_LABELS = {
15
+ low: "Low (lighter reasoning)",
16
+ medium: "Medium (balanced reasoning)",
17
+ high: "High (deeper reasoning)",
18
+ xhigh: "Extra high (maximum reasoning)",
19
+ };
20
+ /**
21
+ * モデル選択 → (必要なら) 推論レベル選択を行う画面
22
+ */
23
+ export function ModelSelectorScreen({ tool, onBack, onSelect, version, initialSelection, }) {
24
+ const { rows } = useTerminalSize();
25
+ const [step, setStep] = useState("model");
26
+ const [modelOptions, setModelOptions] = useState([]);
27
+ const [selectedModel, setSelectedModel] = useState(null);
28
+ // モデル候補をツールに応じてロード
29
+ useEffect(() => {
30
+ const options = getModelOptions(tool);
31
+ setModelOptions(options);
32
+ // 初期選択が有効なら保持
33
+ if (initialSelection?.model) {
34
+ const found = options.find((opt) => opt.id === initialSelection.model);
35
+ if (found) {
36
+ setSelectedModel(found);
37
+ setStep("model");
38
+ return;
39
+ }
40
+ }
41
+ setSelectedModel(null);
42
+ setStep("model");
43
+ }, [tool, initialSelection?.model]);
44
+ const modelItems = useMemo(() => modelOptions.map((option) => ({
45
+ label: option.label,
46
+ value: option.id,
47
+ ...(option.description ? { description: option.description } : {}),
48
+ })), [modelOptions]);
49
+ const defaultModelIndex = useMemo(() => {
50
+ const initial = initialSelection?.model
51
+ ? modelOptions.findIndex((opt) => opt.id === initialSelection.model)
52
+ : -1;
53
+ if (initial !== -1)
54
+ return initial;
55
+ const defaultOption = getDefaultModelOption(tool);
56
+ if (!defaultOption)
57
+ return 0;
58
+ const index = modelOptions.findIndex((opt) => opt.id === defaultOption.id);
59
+ return index >= 0 ? index : 0;
60
+ }, [initialSelection?.model, modelOptions, tool]);
61
+ const inferenceOptions = useMemo(() => getInferenceLevelsForModel(selectedModel ?? undefined), [selectedModel]);
62
+ const inferenceItems = useMemo(() => {
63
+ return inferenceOptions.map((level) => {
64
+ if (selectedModel?.id === "gpt-5.1-codex-max") {
65
+ if (level === "low") {
66
+ return {
67
+ label: "Low",
68
+ value: level,
69
+ hint: "Fast responses with lighter reasoning",
70
+ };
71
+ }
72
+ if (level === "medium") {
73
+ return {
74
+ label: "Medium (default)",
75
+ value: level,
76
+ hint: "Balances speed and reasoning depth for everyday tasks",
77
+ };
78
+ }
79
+ if (level === "high") {
80
+ return {
81
+ label: "High",
82
+ value: level,
83
+ hint: "Maximizes reasoning depth for complex problems",
84
+ };
85
+ }
86
+ if (level === "xhigh") {
87
+ return {
88
+ label: "Extra high",
89
+ value: level,
90
+ hint: "Extra high reasoning depth; may quickly consume Plus plan rate limits.",
91
+ };
92
+ }
93
+ }
94
+ return {
95
+ label: INFERENCE_LABELS[level],
96
+ value: level,
97
+ };
98
+ });
99
+ }, [inferenceOptions, selectedModel?.id]);
100
+ const defaultInferenceIndex = useMemo(() => {
101
+ const initialLevel = initialSelection?.inferenceLevel;
102
+ if (initialLevel && inferenceOptions.includes(initialLevel)) {
103
+ return inferenceOptions.findIndex((lvl) => lvl === initialLevel);
104
+ }
105
+ const defaultLevel = getDefaultInferenceForModel(selectedModel ?? undefined);
106
+ if (!defaultLevel)
107
+ return 0;
108
+ const index = inferenceOptions.findIndex((lvl) => lvl === defaultLevel);
109
+ return index >= 0 ? index : 0;
110
+ }, [initialSelection?.inferenceLevel, inferenceOptions, selectedModel]);
111
+ useInput((_input, key) => {
112
+ if (key.escape) {
113
+ if (step === "inference") {
114
+ setStep("model");
115
+ return;
116
+ }
117
+ onBack();
118
+ }
119
+ });
120
+ const handleModelSelect = (item) => {
121
+ const option = modelOptions.find((opt) => opt.id === item.value) ?? modelOptions[0];
122
+ if (!option) {
123
+ onSelect({ model: null });
124
+ return;
125
+ }
126
+ setSelectedModel(option);
127
+ const levels = getInferenceLevelsForModel(option);
128
+ if (levels.length > 0) {
129
+ setStep("inference");
130
+ }
131
+ else {
132
+ onSelect({ model: option.id });
133
+ }
134
+ };
135
+ const handleInferenceSelect = (item) => {
136
+ if (!selectedModel) {
137
+ setStep("model");
138
+ return;
139
+ }
140
+ onSelect({
141
+ model: selectedModel.id,
142
+ inferenceLevel: item.value,
143
+ });
144
+ };
145
+ const footerActions = step === "model"
146
+ ? [
147
+ { key: "enter", description: "Select" },
148
+ { key: "esc", description: "Back" },
149
+ ]
150
+ : [
151
+ { key: "enter", description: "Select" },
152
+ { key: "esc", description: "Back to model" },
153
+ ];
154
+ const toolLabel = TOOL_LABELS[tool] ?? tool;
155
+ const renderModelItem = (item, isSelected) => (React.createElement(Box, { flexDirection: "column" },
156
+ isSelected ? (React.createElement(Text, { color: "cyan" },
157
+ "\u27A4 ",
158
+ item.label)) : (React.createElement(Text, null,
159
+ " ",
160
+ item.label)),
161
+ item.description ? (React.createElement(Text, { color: "gray" },
162
+ " ",
163
+ item.description)) : null));
164
+ return (React.createElement(Box, { flexDirection: "column", height: rows },
165
+ React.createElement(Header, { title: step === "model" ? "Model Selection" : "Inference Level", titleColor: "blue", version: version }),
166
+ React.createElement(Box, { flexDirection: "column", flexGrow: 1, marginTop: 1 }, step === "model" ? (React.createElement(React.Fragment, null,
167
+ tool === "gemini-cli" ? (React.createElement(Box, { marginBottom: 1, flexDirection: "column" },
168
+ React.createElement(Text, null, "Gemini 3 preview is enabled."),
169
+ React.createElement(Text, null, "Selecting Pro uses gemini-3-pro-preview and falls back to gemini-2.5-pro if unavailable."),
170
+ React.createElement(Text, null, "Use --model to pin a specific Gemini model."))) : null,
171
+ React.createElement(Box, { marginBottom: 1 },
172
+ React.createElement(Text, null,
173
+ "Select a model for ",
174
+ toolLabel,
175
+ modelOptions.length === 0 ? " (no options)" : "")),
176
+ tool === "qwen-cli" ? (React.createElement(Box, { marginBottom: 1, flexDirection: "column" },
177
+ React.createElement(Text, null, "Latest Qwen models from Alibaba Cloud ModelStudio:"),
178
+ React.createElement(Text, null, "\u2022 coder-model (qwen3-coder-plus-2025-09-23)"),
179
+ React.createElement(Text, null, "\u2022 vision-model (qwen3-vl-plus-2025-09-23)"))) : null,
180
+ modelItems.length === 0 ? (React.createElement(Select, { items: [
181
+ {
182
+ label: "No model selection required. Press Enter to continue.",
183
+ value: "__continue__",
184
+ },
185
+ ], onSelect: () => onSelect({ model: null }) })) : (React.createElement(Select, { items: modelItems, onSelect: handleModelSelect, initialIndex: defaultModelIndex, renderItem: renderModelItem })))) : (React.createElement(React.Fragment, null,
186
+ React.createElement(Box, { marginBottom: 1 },
187
+ React.createElement(Text, null,
188
+ "Select reasoning level for ",
189
+ selectedModel?.label ?? "model")),
190
+ React.createElement(Select, { items: inferenceItems, onSelect: handleInferenceSelect, initialIndex: defaultInferenceIndex, renderItem: (item, isSelected) => (React.createElement(Box, { flexDirection: "column" },
191
+ isSelected ? (React.createElement(Text, { color: "cyan" },
192
+ "\u27A4 ",
193
+ item.label)) : (React.createElement(Text, null,
194
+ " ",
195
+ item.label)),
196
+ "hint" in item && item.hint ? (React.createElement(Text, { color: "gray" },
197
+ " ",
198
+ item.hint)) : null)) })))),
199
+ React.createElement(Footer, { actions: footerActions })));
200
+ }
201
+ //# sourceMappingURL=ModelSelectorScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelSelectorScreen.js","sourceRoot":"","sources":["../../../../../src/cli/ui/components/screens/ModelSelectorScreen.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import type { CleanupTarget } from '../../types.js';
1
+ import React from "react";
2
+ import type { CleanupTarget } from "../../types.js";
3
3
  export interface PRItem {
4
4
  label: string;
5
5
  value: string;
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- import { Box, Text, useInput } from 'ink';
3
- import { Header } from '../parts/Header.js';
4
- import { Footer } from '../parts/Footer.js';
5
- import { Select } from '../common/Select.js';
6
- import { useTerminalSize } from '../../hooks/useTerminalSize.js';
1
+ import React from "react";
2
+ import { Box, Text, useInput } from "ink";
3
+ import { Header } from "../parts/Header.js";
4
+ import { Footer } from "../parts/Footer.js";
5
+ import { Select } from "../common/Select.js";
6
+ import { useTerminalSize } from "../../hooks/useTerminalSize.js";
7
7
  /**
8
8
  * PRCleanupScreen - Screen for cleaning up merged pull requests
9
9
  * Layout: Header + Stats + PR List + Footer
@@ -16,7 +16,7 @@ export function PRCleanupScreen({ targets, loading, error, statusMessage, onBack
16
16
  if (key.escape) {
17
17
  onBack();
18
18
  }
19
- else if (input === 'r') {
19
+ else if (input === "r") {
20
20
  onRefresh();
21
21
  }
22
22
  });
@@ -24,28 +24,28 @@ export function PRCleanupScreen({ targets, loading, error, statusMessage, onBack
24
24
  const prItems = targets.map((target) => {
25
25
  const pr = target.pullRequest;
26
26
  const flags = [];
27
- if (target.cleanupType === 'worktree-and-branch') {
28
- flags.push('worktree');
27
+ if (target.cleanupType === "worktree-and-branch") {
28
+ flags.push("worktree");
29
29
  }
30
30
  else {
31
- flags.push('branch');
31
+ flags.push("branch");
32
32
  }
33
- if (target.reasons?.includes('merged-pr')) {
34
- flags.push('merged');
33
+ if (target.reasons?.includes("merged-pr")) {
34
+ flags.push("merged");
35
35
  }
36
- if (target.reasons?.includes('no-diff-with-base')) {
37
- flags.push('base');
36
+ if (target.reasons?.includes("no-diff-with-base")) {
37
+ flags.push("base");
38
38
  }
39
39
  if (target.hasUncommittedChanges) {
40
- flags.push('changes');
40
+ flags.push("changes");
41
41
  }
42
42
  if (target.hasUnpushedCommits) {
43
- flags.push('unpushed');
43
+ flags.push("unpushed");
44
44
  }
45
45
  if (target.isAccessible === false) {
46
- flags.push('inaccessible');
46
+ flags.push("inaccessible");
47
47
  }
48
- const flagText = flags.length > 0 ? ` [${flags.join(', ')}]` : '';
48
+ const flagText = flags.length > 0 ? ` [${flags.join(", ")}]` : "";
49
49
  const label = pr
50
50
  ? `${target.branch} - #${pr.number} ${pr.title}${flagText}`
51
51
  : `${target.branch}${flagText}`;
@@ -65,9 +65,9 @@ export function PRCleanupScreen({ targets, loading, error, statusMessage, onBack
65
65
  const limit = Math.max(5, contentHeight);
66
66
  // Footer actions
67
67
  const footerActions = [
68
- { key: 'enter', description: 'Cleanup' },
69
- { key: 'r', description: 'Refresh' },
70
- { key: 'esc', description: 'Back' },
68
+ { key: "enter", description: "Cleanup" },
69
+ { key: "r", description: "Refresh" },
70
+ { key: "esc", description: "Back" },
71
71
  ];
72
72
  return (React.createElement(Box, { flexDirection: "column", height: rows },
73
73
  React.createElement(Header, { title: "Branch Cleanup", titleColor: "yellow", version: version }),
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React from "react";
2
2
  export interface SessionItem {
3
3
  label: string;
4
4
  value: string;
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- import { Box, Text, useInput } from 'ink';
3
- import { Header } from '../parts/Header.js';
4
- import { Footer } from '../parts/Footer.js';
5
- import { Select } from '../common/Select.js';
6
- import { useTerminalSize } from '../../hooks/useTerminalSize.js';
1
+ import React from "react";
2
+ import { Box, Text, useInput } from "ink";
3
+ import { Header } from "../parts/Header.js";
4
+ import { Footer } from "../parts/Footer.js";
5
+ import { Select } from "../common/Select.js";
6
+ import { useTerminalSize } from "../../hooks/useTerminalSize.js";
7
7
  /**
8
8
  * SessionSelectorScreen - Screen for selecting a session
9
9
  * Layout: Header + Stats + Session List + Footer
@@ -36,8 +36,8 @@ export function SessionSelectorScreen({ sessions, onBack, onSelect, version, })
36
36
  const limit = Math.max(5, contentHeight);
37
37
  // Footer actions
38
38
  const footerActions = [
39
- { key: 'enter', description: 'Select' },
40
- { key: 'esc', description: 'Back' },
39
+ { key: "enter", description: "Select" },
40
+ { key: "esc", description: "Back" },
41
41
  ];
42
42
  return (React.createElement(Box, { flexDirection: "column", height: rows },
43
43
  React.createElement(Header, { title: "Session Selection", titleColor: "cyan", version: version }),
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React from "react";
2
2
  export interface WorktreeItem {
3
3
  branch: string;
4
4
  path: string;
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- import { Box, Text, useInput } from 'ink';
3
- import { Header } from '../parts/Header.js';
4
- import { Footer } from '../parts/Footer.js';
5
- import { Select } from '../common/Select.js';
6
- import { useTerminalSize } from '../../hooks/useTerminalSize.js';
1
+ import React from "react";
2
+ import { Box, Text, useInput } from "ink";
3
+ import { Header } from "../parts/Header.js";
4
+ import { Footer } from "../parts/Footer.js";
5
+ import { Select } from "../common/Select.js";
6
+ import { useTerminalSize } from "../../hooks/useTerminalSize.js";
7
7
  /**
8
8
  * WorktreeManagerScreen - Screen for managing worktrees
9
9
  * Layout: Header + Stats + Worktree List + Footer
@@ -38,8 +38,8 @@ export function WorktreeManagerScreen({ worktrees, onBack, onSelect, version, })
38
38
  const limit = Math.max(5, contentHeight);
39
39
  // Footer actions
40
40
  const footerActions = [
41
- { key: 'enter', description: 'Select' },
42
- { key: 'esc', description: 'Back' },
41
+ { key: "enter", description: "Select" },
42
+ { key: "esc", description: "Back" },
43
43
  ];
44
44
  return (React.createElement(Box, { flexDirection: "column", height: rows },
45
45
  React.createElement(Header, { title: "Worktree Manager", titleColor: "magenta", version: version }),
@@ -1 +1 @@
1
- {"version":3,"file":"BranchActionSelectorScreen.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/screens/BranchActionSelectorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,WAAW,+BAA+B;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,YAAmB,EACnB,IAAgB,EAChB,WAAW,EACX,YAAY,EACZ,cAAc,GACf,EAAE,+BAA+B,qBAkEjC"}
1
+ {"version":3,"file":"BranchActionSelectorScreen.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/screens/BranchActionSelectorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,WAAW,+BAA+B;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,YAAmB,EACnB,IAAgB,EAChB,WAAW,EACX,YAAY,EACZ,cAAc,GACf,EAAE,+BAA+B,qBAuEjC"}
@@ -19,7 +19,9 @@ export function BranchActionSelectorScreen({ selectedBranch, onUseExisting, onCr
19
19
  const primaryActionLabel = primaryLabel ??
20
20
  (mode === "protected" ? "Switch to root branch" : "Use existing branch");
21
21
  const secondaryActionLabel = secondaryLabel ??
22
- (mode === "protected" ? "Create new branch from this branch" : "Create new branch");
22
+ (mode === "protected"
23
+ ? "Create new branch from this branch"
24
+ : "Create new branch");
23
25
  const items = [
24
26
  {
25
27
  label: primaryActionLabel,
@@ -43,13 +45,14 @@ export function BranchActionSelectorScreen({ selectedBranch, onUseExisting, onCr
43
45
  };
44
46
  // Footer actions
45
47
  const footerActions = [
46
- { key: 'enter', description: 'Select' },
47
- { key: 'esc', description: 'Back' },
48
+ { key: "enter", description: "Select" },
49
+ { key: "esc", description: "Back" },
48
50
  ];
49
51
  return (React.createElement(Box, { flexDirection: "column" },
50
52
  React.createElement(Box, { marginBottom: 1 },
51
53
  React.createElement(Text, null,
52
- "Selected branch: ",
54
+ "Selected branch:",
55
+ " ",
53
56
  React.createElement(Text, { bold: true, color: "cyan" }, selectedBranch))),
54
57
  infoMessage ? (React.createElement(Box, { marginBottom: 1 },
55
58
  React.createElement(Text, { color: "yellow" }, infoMessage))) : null,
@@ -1 +1 @@
1
- {"version":3,"file":"BranchActionSelectorScreen.js","sourceRoot":"","sources":["../../../../src/cli/ui/screens/BranchActionSelectorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAmB,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAevD;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,YAAY,GAAG,IAAI,EACnB,IAAI,GAAG,SAAS,EAChB,WAAW,EACX,YAAY,EACZ,cAAc,GACkB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GACtB,YAAY;QACZ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC3E,MAAM,oBAAoB,GACxB,cAAc;QACd,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAEtF,MAAM,KAAK,GAAiB;QAC1B;YACE,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE,cAAc;SACtB;KACF,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,oBAAoB;YAC3B,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAqB,CAAC;QAE1C,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,aAAa,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACnC,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,iBAAiB;IACjB,MAAM,aAAa,GAAG;QACpB,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE;QACvC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;KACpC,CAAC;IAEF,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI;;gBACc,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,IAAE,cAAc,CAAQ,CAC3D,CACH;QACL,WAAW,CAAC,CAAC,CAAC,CACb,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAAE,WAAW,CAAQ,CACrC,CACP,CAAC,CAAC,CAAC,IAAI;QACR,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wBAAyB,CACvC;QACN,oBAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAI;QAGhD,oBAAC,MAAM,IAAC,OAAO,EAAE,aAAa,GAAI,CAC9B,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"BranchActionSelectorScreen.js","sourceRoot":"","sources":["../../../../src/cli/ui/screens/BranchActionSelectorScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAmB,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAevD;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,YAAY,GAAG,IAAI,EACnB,IAAI,GAAG,SAAS,EAChB,WAAW,EACX,YAAY,EACZ,cAAc,GACkB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GACtB,YAAY;QACZ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC3E,MAAM,oBAAoB,GACxB,cAAc;QACd,CAAC,IAAI,KAAK,WAAW;YACnB,CAAC,CAAC,oCAAoC;YACtC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE3B,MAAM,KAAK,GAAiB;QAC1B;YACE,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE,cAAc;SACtB;KACF,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,oBAAoB;YAC3B,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAqB,CAAC;QAE1C,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,aAAa,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACnC,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,iBAAiB;IACjB,MAAM,aAAa,GAAG;QACpB,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE;QACvC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;KACpC,CAAC;IAEF,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI;;gBACc,GAAG;gBACpB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,IACpB,cAAc,CACV,CACF,CACH;QACL,WAAW,CAAC,CAAC,CAAC,CACb,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAAE,WAAW,CAAQ,CACrC,CACP,CAAC,CAAC,CAAC,IAAI;QACR,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wBAAyB,CACvC;QACN,oBAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAI;QAGhD,oBAAC,MAAM,IAAC,OAAO,EAAE,aAAa,GAAI,CAC9B,CACP,CAAC;AACJ,CAAC"}
@@ -4,6 +4,16 @@ export interface WorktreeInfo {
4
4
  prunable: boolean;
5
5
  isAccessible?: boolean;
6
6
  }
7
+ export type AITool = string;
8
+ export type InferenceLevel = "low" | "medium" | "high" | "xhigh";
9
+ export interface ModelOption {
10
+ id: string;
11
+ label: string;
12
+ description?: string;
13
+ inferenceLevels?: InferenceLevel[];
14
+ defaultInference?: InferenceLevel;
15
+ isDefault?: boolean;
16
+ }
7
17
  export interface BranchInfo {
8
18
  name: string;
9
19
  type: "local" | "remote";
@@ -125,7 +135,7 @@ export interface GitHubPRResponse {
125
135
  /**
126
136
  * Screen types for Ink.js UI
127
137
  */
128
- export type ScreenType = "branch-list" | "worktree-manager" | "branch-creator" | "branch-action-selector" | "ai-tool-selector" | "session-selector" | "execution-mode-selector" | "batch-merge-progress" | "batch-merge-result";
138
+ export type ScreenType = "branch-list" | "worktree-manager" | "branch-creator" | "branch-action-selector" | "ai-tool-selector" | "model-selector" | "session-selector" | "execution-mode-selector" | "batch-merge-progress" | "batch-merge-result";
129
139
  /**
130
140
  * Branch action types for action selector screen
131
141
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { AITool, InferenceLevel, ModelOption } from "../types.js";
2
+ export declare function getModelOptions(tool: AITool): ModelOption[];
3
+ export declare function getDefaultModelOption(tool: AITool): ModelOption | undefined;
4
+ export declare function getInferenceLevelsForModel(model?: ModelOption): InferenceLevel[];
5
+ export declare function getDefaultInferenceForModel(model?: ModelOption): InferenceLevel | undefined;
6
+ //# sourceMappingURL=modelOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelOptions.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/utils/modelOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgGvE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAG3E;AAED,wBAAgB,0BAA0B,CACxC,KAAK,CAAC,EAAE,WAAW,GAClB,cAAc,EAAE,CAKlB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,CAAC,EAAE,WAAW,GAClB,cAAc,GAAG,SAAS,CAK5B"}
@@ -0,0 +1,111 @@
1
+ const CODEX_BASE_LEVELS = ["high", "medium", "low"];
2
+ const CODEX_MAX_LEVELS = ["xhigh", "high", "medium", "low"];
3
+ const MODEL_OPTIONS = {
4
+ "claude-code": [
5
+ {
6
+ id: "claude-sonnet-4.5",
7
+ label: "Default (recommended) — Sonnet 4.5",
8
+ description: "Smartest model for daily use (released Sep 29, 2025)",
9
+ isDefault: true,
10
+ },
11
+ {
12
+ id: "claude-opus-4.1",
13
+ label: "Opus 4.1",
14
+ description: "Legacy: Opus 4.1 · reaches usage limits faster",
15
+ },
16
+ {
17
+ id: "claude-haiku-4.5",
18
+ label: "Haiku 4.5",
19
+ description: "Fastest model for simple tasks (released Oct 15, 2025)",
20
+ },
21
+ ],
22
+ "codex-cli": [
23
+ {
24
+ id: "gpt-5.1-codex",
25
+ label: "gpt-5.1-codex",
26
+ description: "Standard Codex model",
27
+ inferenceLevels: CODEX_BASE_LEVELS,
28
+ defaultInference: "high",
29
+ isDefault: true,
30
+ },
31
+ {
32
+ id: "gpt-5.1-codex-max",
33
+ label: "gpt-5.1-codex-max",
34
+ description: "Max performance (xhigh available)",
35
+ inferenceLevels: CODEX_MAX_LEVELS,
36
+ defaultInference: "medium",
37
+ },
38
+ {
39
+ id: "gpt-5.1-codex-mini",
40
+ label: "gpt-5.1-codex-mini",
41
+ description: "Lightweight / cost-saving",
42
+ inferenceLevels: CODEX_BASE_LEVELS,
43
+ defaultInference: "medium",
44
+ },
45
+ {
46
+ id: "gpt-5.1",
47
+ label: "gpt-5.1",
48
+ description: "General-purpose GPT-5.1",
49
+ inferenceLevels: CODEX_BASE_LEVELS,
50
+ defaultInference: "high",
51
+ },
52
+ ],
53
+ "gemini-cli": [
54
+ {
55
+ id: "gemini-3-pro-preview",
56
+ label: "Pro (gemini-3-pro-preview)",
57
+ description: "Default Pro. Falls back to gemini-2.5-pro when preview is unavailable.",
58
+ isDefault: true,
59
+ },
60
+ {
61
+ id: "gemini-2.5-pro",
62
+ label: "Pro (gemini-2.5-pro)",
63
+ description: "Stable Pro model for deep reasoning and creativity",
64
+ },
65
+ {
66
+ id: "gemini-2.5-flash",
67
+ label: "Flash (gemini-2.5-flash)",
68
+ description: "Balance of speed and reasoning",
69
+ },
70
+ {
71
+ id: "gemini-2.5-flash-lite",
72
+ label: "Flash-Lite (gemini-2.5-flash-lite)",
73
+ description: "Fastest for simple tasks",
74
+ },
75
+ ],
76
+ "qwen-cli": [
77
+ {
78
+ id: "coder-model",
79
+ label: "Coder Model",
80
+ description: "Latest Qwen Coder model (qwen3-coder-plus-2025-09-23) from Alibaba Cloud ModelStudio",
81
+ isDefault: true,
82
+ },
83
+ {
84
+ id: "vision-model",
85
+ label: "Vision Model",
86
+ description: "Latest Qwen Vision model (qwen3-vl-plus-2025-09-23) from Alibaba Cloud ModelStudio",
87
+ },
88
+ ],
89
+ };
90
+ export function getModelOptions(tool) {
91
+ return MODEL_OPTIONS[tool] ?? [];
92
+ }
93
+ export function getDefaultModelOption(tool) {
94
+ const options = getModelOptions(tool);
95
+ return options.find((opt) => opt.isDefault) ?? options[0];
96
+ }
97
+ export function getInferenceLevelsForModel(model) {
98
+ if (!model?.inferenceLevels || model.inferenceLevels.length === 0) {
99
+ return [];
100
+ }
101
+ return model.inferenceLevels;
102
+ }
103
+ export function getDefaultInferenceForModel(model) {
104
+ if (!model)
105
+ return undefined;
106
+ if (model.defaultInference)
107
+ return model.defaultInference;
108
+ const levels = getInferenceLevelsForModel(model);
109
+ return levels[0];
110
+ }
111
+ //# sourceMappingURL=modelOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelOptions.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/modelOptions.ts"],"names":[],"mappings":"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"}