@staticpayload/zai-code 1.0.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/cli.js +7 -17
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands.d.ts.map +1 -1
  4. package/dist/commands.js +40 -1
  5. package/dist/commands.js.map +1 -1
  6. package/dist/interactive.d.ts +2 -0
  7. package/dist/interactive.d.ts.map +1 -1
  8. package/dist/interactive.js +287 -191
  9. package/dist/interactive.js.map +1 -1
  10. package/dist/profiles.js +3 -3
  11. package/dist/profiles.js.map +1 -1
  12. package/dist/runtime.js +1 -1
  13. package/dist/runtime.js.map +1 -1
  14. package/dist/settings.d.ts +6 -0
  15. package/dist/settings.d.ts.map +1 -1
  16. package/dist/settings.js +9 -9
  17. package/dist/settings.js.map +1 -1
  18. package/dist/tui/App.d.ts +11 -0
  19. package/dist/tui/App.d.ts.map +1 -0
  20. package/dist/tui/App.js +159 -0
  21. package/dist/tui/App.js.map +1 -0
  22. package/dist/tui/CommandPalette.d.ts +17 -0
  23. package/dist/tui/CommandPalette.d.ts.map +1 -0
  24. package/dist/tui/CommandPalette.js +50 -0
  25. package/dist/tui/CommandPalette.js.map +1 -0
  26. package/dist/tui/Header.d.ts +8 -0
  27. package/dist/tui/Header.d.ts.map +1 -0
  28. package/dist/tui/Header.js +33 -0
  29. package/dist/tui/Header.js.map +1 -0
  30. package/dist/tui/InputBox.d.ts +13 -0
  31. package/dist/tui/InputBox.d.ts.map +1 -0
  32. package/dist/tui/InputBox.js +42 -0
  33. package/dist/tui/InputBox.js.map +1 -0
  34. package/dist/tui/OutputArea.d.ts +13 -0
  35. package/dist/tui/OutputArea.d.ts.map +1 -0
  36. package/dist/tui/OutputArea.js +26 -0
  37. package/dist/tui/OutputArea.js.map +1 -0
  38. package/dist/tui/entry.d.ts +2 -0
  39. package/dist/tui/entry.d.ts.map +1 -0
  40. package/dist/tui/entry.js +84 -0
  41. package/dist/tui/entry.js.map +1 -0
  42. package/dist/tui/index.d.ts +6 -0
  43. package/dist/tui/index.d.ts.map +1 -0
  44. package/dist/tui/index.js +14 -0
  45. package/dist/tui/index.js.map +1 -0
  46. package/package.json +1 -1
@@ -2,254 +2,350 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.startInteractive = startInteractive;
4
4
  const session_1 = require("./session");
5
- const ui_1 = require("./ui");
6
5
  const orchestrator_1 = require("./orchestrator");
7
- const commands_1 = require("./commands");
8
- // Command definitions with descriptions for autocomplete
9
- const COMMAND_DESCRIPTIONS = {
10
- help: 'Show all commands',
11
- plan: 'Generate execution plan',
12
- generate: 'Create file changes',
13
- diff: 'Review pending changes',
14
- apply: 'Apply changes',
15
- undo: 'Rollback last operation',
16
- reset: 'Reset session state',
17
- exit: 'Exit zcode',
18
- mode: 'Set mode (edit/explain/review/debug)',
19
- 'dry-run': 'Toggle dry-run mode',
20
- profile: 'Manage profiles',
21
- settings: 'Open settings menu',
22
- context: 'Show current context',
23
- files: 'List open files',
24
- open: 'Add file to context',
25
- workspace: 'Show workspace info',
26
- git: 'Show git status',
27
- exec: 'Run shell command',
28
- history: 'View task history',
29
- doctor: 'System health check',
30
- decompose: 'Break task into steps',
31
- step: 'Plan current step',
32
- next: 'Complete and advance',
33
- skip: 'Skip current step',
34
- progress: 'Show task progress',
35
- 'undo-history': 'View undo history',
6
+ const git_1 = require("./git");
7
+ const settings_1 = require("./settings");
8
+ const profiles_1 = require("./profiles");
9
+ // Command definitions with descriptions
10
+ const COMMANDS = [
11
+ { name: 'help', description: 'Show all commands' },
12
+ { name: 'plan', description: 'Generate execution plan' },
13
+ { name: 'generate', description: 'Create file changes' },
14
+ { name: 'diff', description: 'Review pending changes' },
15
+ { name: 'apply', description: 'Apply changes' },
16
+ { name: 'undo', description: 'Rollback last operation' },
17
+ { name: 'reset', description: 'Reset session state' },
18
+ { name: 'exit', description: 'Exit zcode' },
19
+ { name: 'mode', description: 'Set mode' },
20
+ { name: 'model', description: 'Select AI model' },
21
+ { name: 'dry-run', description: 'Toggle dry-run mode' },
22
+ { name: 'profile', description: 'Manage profiles' },
23
+ { name: 'settings', description: 'Open settings menu' },
24
+ { name: 'context', description: 'Show current context' },
25
+ { name: 'files', description: 'List open files' },
26
+ { name: 'open', description: 'Add file to context' },
27
+ { name: 'workspace', description: 'Show workspace info' },
28
+ { name: 'git', description: 'Show git status' },
29
+ { name: 'exec', description: 'Run shell command' },
30
+ { name: 'history', description: 'View task history' },
31
+ { name: 'doctor', description: 'System health check' },
32
+ { name: 'decompose', description: 'Break task into steps' },
33
+ { name: 'step', description: 'Plan current step' },
34
+ { name: 'next', description: 'Complete and advance' },
35
+ { name: 'skip', description: 'Skip current step' },
36
+ { name: 'progress', description: 'Show task progress' },
37
+ ];
38
+ // ANSI escape codes
39
+ const ESC = '\x1b';
40
+ const CSI = `${ESC}[`;
41
+ // Screen control
42
+ const screen = {
43
+ clear: () => process.stdout.write(`${CSI}2J${CSI}H`),
44
+ clearLine: () => process.stdout.write(`${CSI}2K`),
45
+ moveTo: (row, col) => process.stdout.write(`${CSI}${row};${col}H`),
46
+ moveUp: (n) => process.stdout.write(`${CSI}${n}A`),
47
+ moveDown: (n) => process.stdout.write(`${CSI}${n}B`),
48
+ saveCursor: () => process.stdout.write(`${ESC}7`),
49
+ restoreCursor: () => process.stdout.write(`${ESC}8`),
50
+ showCursor: () => process.stdout.write(`${CSI}?25h`),
51
+ hideCursor: () => process.stdout.write(`${CSI}?25l`),
36
52
  };
37
- // Get filtered commands based on input
38
- function getFilteredCommands(input) {
39
- const query = input.toLowerCase().replace(/^\//, '');
40
- const commands = (0, commands_1.getAvailableCommands)();
41
- return commands
42
- .filter(cmd => cmd.startsWith(query))
43
- .map(cmd => ({
44
- name: cmd,
45
- description: COMMAND_DESCRIPTIONS[cmd] || '',
46
- }))
47
- .slice(0, 8); // Max 8 suggestions
53
+ // Colors
54
+ const c = {
55
+ reset: `${CSI}0m`,
56
+ dim: `${CSI}2m`,
57
+ bold: `${CSI}1m`,
58
+ cyan: `${CSI}36m`,
59
+ green: `${CSI}32m`,
60
+ yellow: `${CSI}33m`,
61
+ red: `${CSI}31m`,
62
+ inverse: `${CSI}7m`,
63
+ };
64
+ // Get terminal dimensions
65
+ function getTermSize() {
66
+ return {
67
+ rows: process.stdout.rows || 24,
68
+ cols: process.stdout.columns || 80,
69
+ };
70
+ }
71
+ // Render header
72
+ function renderHeader(projectName) {
73
+ const { cols } = getTermSize();
74
+ const session = (0, session_1.getSession)();
75
+ const gitInfo = (0, git_1.getGitInfo)(session.workingDirectory);
76
+ const model = (0, settings_1.getModel)().split('-').slice(1, 3).join('-');
77
+ const profile = (0, profiles_1.getActiveProfileName)() || 'custom';
78
+ const gitStatus = gitInfo.isRepo
79
+ ? `${gitInfo.branch || '?'}${gitInfo.isDirty ? '*' : ''}`
80
+ : 'no-git';
81
+ const left = `${c.bold}${c.cyan}zai${c.reset}${c.dim}·code${c.reset} ${c.dim}${projectName}${c.reset}`;
82
+ const right = `${c.dim}${gitStatus} · ${model} · ${profile}${c.reset}`;
83
+ // Strip ANSI for length calculation
84
+ const stripAnsi = (s) => s.replace(/\x1b\[[0-9;]*m/g, '');
85
+ const leftLen = stripAnsi(left).length;
86
+ const rightLen = stripAnsi(right).length;
87
+ const padding = Math.max(0, cols - leftLen - rightLen - 2);
88
+ screen.moveTo(1, 1);
89
+ screen.clearLine();
90
+ process.stdout.write(`${left}${' '.repeat(padding)}${right}`);
91
+ // Separator line
92
+ screen.moveTo(2, 1);
93
+ screen.clearLine();
94
+ process.stdout.write(`${c.dim}${'─'.repeat(cols)}${c.reset}`);
95
+ }
96
+ // Render prompt
97
+ function renderPrompt(input) {
98
+ const { rows, cols } = getTermSize();
99
+ const session = (0, session_1.getSession)();
100
+ // State
101
+ const state = session.pendingActions || session.lastDiff ? 'pending' :
102
+ session.lastPlan?.length ? 'planned' : 'ready';
103
+ // Build prompt
104
+ const prompt = `${c.cyan}${session.mode}${c.reset}${session.dryRun ? `${c.yellow}(dry)${c.reset}` : ''}${c.dim}:${c.reset}${state}${c.bold}>${c.reset} `;
105
+ const stripAnsi = (s) => s.replace(/\x1b\[[0-9;]*m/g, '');
106
+ const promptLen = stripAnsi(prompt).length;
107
+ // Separator
108
+ screen.moveTo(rows - 1, 1);
109
+ screen.clearLine();
110
+ process.stdout.write(`${c.dim}${'─'.repeat(cols)}${c.reset}`);
111
+ // Prompt line
112
+ screen.moveTo(rows, 1);
113
+ screen.clearLine();
114
+ if (input) {
115
+ process.stdout.write(`${prompt}${input}`);
116
+ }
117
+ else {
118
+ process.stdout.write(`${prompt}${c.dim}Type / for commands...${c.reset}`);
119
+ }
120
+ // Position cursor
121
+ screen.moveTo(rows, promptLen + input.length + 1);
48
122
  }
49
- // Render suggestions dropdown
50
- function renderSuggestions(suggestions, selectedIndex, promptLength) {
51
- if (suggestions.length === 0)
52
- return;
53
- // Move cursor to new line and show suggestions
54
- process.stdout.write('\n');
55
- for (let i = 0; i < suggestions.length; i++) {
56
- const cmd = suggestions[i];
57
- const prefix = i === selectedIndex ? '>' : ' ';
58
- const highlight = i === selectedIndex;
59
- const line = ` ${prefix} /${cmd.name.padEnd(12)} ${(0, ui_1.dim)(cmd.description)}`;
60
- if (highlight) {
61
- process.stdout.write(`\x1b[7m${line}\x1b[0m\n`); // Inverted colors
123
+ // Render command palette
124
+ function renderPalette(filter, selectedIndex) {
125
+ const { rows, cols } = getTermSize();
126
+ const query = filter.replace(/^\//, '').toLowerCase();
127
+ const filtered = COMMANDS.filter(cmd => cmd.name.startsWith(query)).slice(0, 8);
128
+ if (filtered.length === 0)
129
+ return 0;
130
+ const paletteTop = rows - 2 - filtered.length;
131
+ for (let i = 0; i < filtered.length; i++) {
132
+ const cmd = filtered[i];
133
+ const row = paletteTop + i;
134
+ const isSelected = i === selectedIndex;
135
+ screen.moveTo(row, 1);
136
+ screen.clearLine();
137
+ if (isSelected) {
138
+ process.stdout.write(`${c.inverse} ▸ /${cmd.name.padEnd(14)} ${cmd.description.substring(0, cols - 20)} ${c.reset}`);
62
139
  }
63
140
  else {
64
- process.stdout.write(`${line}\n`);
141
+ process.stdout.write(` ${c.dim}/${cmd.name.padEnd(14)}${c.reset} ${c.dim}${cmd.description.substring(0, cols - 20)}${c.reset}`);
65
142
  }
66
143
  }
67
- // Move cursor back up
68
- process.stdout.write(`\x1b[${suggestions.length + 1}A`);
69
- // Move to end of current input
70
- process.stdout.write(`\x1b[${promptLength}G`);
144
+ // Hint line
145
+ screen.moveTo(rows - 2, 1);
146
+ screen.clearLine();
147
+ process.stdout.write(`${c.dim}↑↓ navigate · Enter select · Esc close${c.reset}`);
148
+ return filtered.length;
149
+ }
150
+ // Clear palette
151
+ function clearPalette(count) {
152
+ const { rows } = getTermSize();
153
+ const paletteTop = rows - 2 - count;
154
+ for (let i = 0; i <= count + 1; i++) {
155
+ screen.moveTo(paletteTop + i, 1);
156
+ screen.clearLine();
157
+ }
71
158
  }
72
- // Clear suggestions from screen
73
- function clearSuggestions(count) {
74
- if (count === 0)
75
- return;
76
- // Save cursor position
77
- process.stdout.write('\x1b[s');
78
- // Move down and clear each line
79
- for (let i = 0; i < count + 1; i++) {
80
- process.stdout.write('\n\x1b[2K');
159
+ // Output buffer
160
+ let outputLines = [];
161
+ // Add output line
162
+ function addOutput(line) {
163
+ outputLines.push(line);
164
+ renderOutput();
165
+ }
166
+ // Render output area
167
+ function renderOutput() {
168
+ const { rows } = getTermSize();
169
+ const outputStart = 3;
170
+ const outputEnd = rows - 2;
171
+ const outputHeight = outputEnd - outputStart;
172
+ const visible = outputLines.slice(-outputHeight);
173
+ for (let i = 0; i < outputHeight; i++) {
174
+ screen.moveTo(outputStart + i, 1);
175
+ screen.clearLine();
176
+ if (visible[i]) {
177
+ process.stdout.write(visible[i]);
178
+ }
81
179
  }
82
- // Restore cursor position
83
- process.stdout.write('\x1b[u');
84
180
  }
85
- // Main interactive loop with autocomplete
181
+ // Main interactive loop
86
182
  async function startInteractive(options) {
87
- let currentInput = '';
88
- let suggestions = [];
89
- let selectedIndex = 0;
90
- let showingSuggestions = false;
91
- // Print initial hint
92
- console.log((0, ui_1.dim)('Type / for commands, or enter a task'));
93
- console.log('');
94
- // Show prompt
95
- const printPrompt = () => {
96
- const session = (0, session_1.getSession)();
97
- const prompt = (0, ui_1.getPrompt)(session);
98
- process.stdout.write(prompt + currentInput);
99
- };
100
- // Enable raw mode for key-by-key input
183
+ const projectName = options?.projectName || 'project';
184
+ let input = '';
185
+ let showPalette = false;
186
+ let paletteIndex = 0;
187
+ let paletteCount = 0;
188
+ // Initial render
189
+ screen.clear();
190
+ renderHeader(projectName);
191
+ if (options?.restored) {
192
+ addOutput(`${c.dim}Session restored.${c.reset}`);
193
+ }
194
+ addOutput(`${c.dim}Type / for commands, or enter a task${c.reset}`);
195
+ renderOutput();
196
+ renderPrompt(input);
197
+ // Enable raw mode
101
198
  if (process.stdin.isTTY) {
102
199
  process.stdin.setRawMode(true);
103
200
  }
104
201
  process.stdin.resume();
105
202
  process.stdin.setEncoding('utf8');
106
- printPrompt();
203
+ screen.showCursor();
107
204
  const handleKey = async (key) => {
108
- const session = (0, session_1.getSession)();
109
- const prompt = (0, ui_1.getPrompt)(session);
110
- const promptLen = prompt.length + currentInput.length;
111
- // Ctrl+C - exit
205
+ // Ctrl+C
112
206
  if (key === '\x03') {
207
+ screen.clear();
208
+ screen.moveTo(1, 1);
209
+ screen.showCursor();
113
210
  if (process.stdin.isTTY)
114
211
  process.stdin.setRawMode(false);
115
- process.stdout.write('\n');
116
212
  options?.onExit?.();
117
213
  return;
118
214
  }
119
- // Escape - close suggestions or clear input
120
- if (key === '\x1b' && showingSuggestions) {
121
- clearSuggestions(suggestions.length);
122
- showingSuggestions = false;
123
- suggestions = [];
124
- selectedIndex = 0;
215
+ // Escape
216
+ if (key === '\x1b' && showPalette) {
217
+ clearPalette(paletteCount);
218
+ showPalette = false;
219
+ paletteIndex = 0;
220
+ paletteCount = 0;
221
+ renderPrompt(input);
125
222
  return;
126
223
  }
127
- // Up arrow - navigate suggestions
128
- if (key === '\x1b[A' && showingSuggestions) {
129
- selectedIndex = Math.max(0, selectedIndex - 1);
130
- clearSuggestions(suggestions.length);
131
- renderSuggestions(suggestions, selectedIndex, promptLen);
224
+ // Up arrow
225
+ if (key === '\x1b[A' && showPalette) {
226
+ paletteIndex = Math.max(0, paletteIndex - 1);
227
+ paletteCount = renderPalette(input, paletteIndex);
228
+ renderPrompt(input);
132
229
  return;
133
230
  }
134
- // Down arrow - navigate suggestions
135
- if (key === '\x1b[B' && showingSuggestions) {
136
- selectedIndex = Math.min(suggestions.length - 1, selectedIndex + 1);
137
- clearSuggestions(suggestions.length);
138
- renderSuggestions(suggestions, selectedIndex, promptLen);
231
+ // Down arrow
232
+ if (key === '\x1b[B' && showPalette) {
233
+ paletteIndex = Math.min(paletteCount - 1, paletteIndex + 1);
234
+ paletteCount = renderPalette(input, paletteIndex);
235
+ renderPrompt(input);
139
236
  return;
140
237
  }
141
- // Tab - autocomplete if showing suggestions
142
- if (key === '\t' && showingSuggestions && suggestions.length > 0) {
143
- clearSuggestions(suggestions.length);
144
- currentInput = '/' + suggestions[selectedIndex].name + ' ';
145
- showingSuggestions = false;
146
- suggestions = [];
147
- selectedIndex = 0;
148
- // Reprint line
149
- process.stdout.write('\r\x1b[2K');
150
- printPrompt();
238
+ // Tab - autocomplete
239
+ if (key === '\t' && showPalette && paletteCount > 0) {
240
+ const query = input.replace(/^\//, '').toLowerCase();
241
+ const filtered = COMMANDS.filter(cmd => cmd.name.startsWith(query));
242
+ if (filtered[paletteIndex]) {
243
+ input = `/${filtered[paletteIndex].name} `;
244
+ clearPalette(paletteCount);
245
+ showPalette = false;
246
+ paletteIndex = 0;
247
+ paletteCount = 0;
248
+ renderPrompt(input);
249
+ }
151
250
  return;
152
251
  }
153
- // Enter - submit or select suggestion
252
+ // Enter
154
253
  if (key === '\r' || key === '\n') {
155
- if (showingSuggestions && suggestions.length > 0) {
156
- // Select suggestion
157
- clearSuggestions(suggestions.length);
158
- currentInput = '/' + suggestions[selectedIndex].name;
159
- showingSuggestions = false;
160
- suggestions = [];
161
- selectedIndex = 0;
162
- // Reprint line
163
- process.stdout.write('\r\x1b[2K');
164
- printPrompt();
165
- return;
166
- }
167
- // Submit input
168
- clearSuggestions(suggestions.length);
169
- process.stdout.write('\n');
170
- const input = currentInput.trim();
171
- currentInput = '';
172
- showingSuggestions = false;
173
- suggestions = [];
174
- selectedIndex = 0;
175
- // Handle exit
176
- if (input === 'exit' || input === 'quit' || input === ':q' || input === '/exit') {
177
- if (process.stdin.isTTY)
178
- process.stdin.setRawMode(false);
179
- options?.onExit?.();
180
- return;
254
+ // Select from palette
255
+ if (showPalette && paletteCount > 0) {
256
+ const query = input.replace(/^\//, '').toLowerCase();
257
+ const filtered = COMMANDS.filter(cmd => cmd.name.startsWith(query));
258
+ if (filtered[paletteIndex]) {
259
+ input = `/${filtered[paletteIndex].name}`;
260
+ }
261
+ clearPalette(paletteCount);
262
+ showPalette = false;
263
+ paletteIndex = 0;
264
+ paletteCount = 0;
181
265
  }
182
- // Process input
183
- if (input) {
266
+ // Submit
267
+ const trimmed = input.trim();
268
+ input = '';
269
+ if (trimmed) {
270
+ addOutput(`${c.dim}> ${trimmed}${c.reset}`);
271
+ // Exit
272
+ if (trimmed === '/exit' || trimmed === 'exit' || trimmed === 'quit') {
273
+ screen.clear();
274
+ screen.moveTo(1, 1);
275
+ screen.showCursor();
276
+ if (process.stdin.isTTY)
277
+ process.stdin.setRawMode(false);
278
+ options?.onExit?.();
279
+ return;
280
+ }
281
+ // Process command
282
+ const originalLog = console.log;
283
+ console.log = (...args) => {
284
+ addOutput(args.map(a => String(a)).join(' '));
285
+ };
184
286
  try {
185
- await (0, orchestrator_1.orchestrate)(input);
287
+ await (0, orchestrator_1.orchestrate)(trimmed);
186
288
  }
187
289
  catch (e) {
188
- // Swallow errors
290
+ addOutput(`${c.red}Error: ${e}${c.reset}`);
189
291
  }
292
+ console.log = originalLog;
293
+ renderHeader(projectName);
294
+ renderOutput();
190
295
  }
191
- // Show prompt again
192
- console.log('');
193
- printPrompt();
296
+ renderPrompt(input);
194
297
  return;
195
298
  }
196
299
  // Backspace
197
300
  if (key === '\x7f' || key === '\b') {
198
- if (currentInput.length > 0) {
199
- currentInput = currentInput.slice(0, -1);
200
- process.stdout.write('\b \b');
201
- // Update suggestions
202
- if (currentInput.startsWith('/')) {
203
- clearSuggestions(suggestions.length);
204
- suggestions = getFilteredCommands(currentInput);
205
- selectedIndex = 0;
206
- if (suggestions.length > 0) {
207
- showingSuggestions = true;
208
- const newPromptLen = prompt.length + currentInput.length;
209
- renderSuggestions(suggestions, selectedIndex, newPromptLen);
210
- }
211
- else {
212
- showingSuggestions = false;
213
- }
301
+ if (input.length > 0) {
302
+ input = input.slice(0, -1);
303
+ if (input.startsWith('/')) {
304
+ clearPalette(paletteCount);
305
+ paletteIndex = 0;
306
+ paletteCount = renderPalette(input, paletteIndex);
307
+ showPalette = paletteCount > 0;
214
308
  }
215
- else {
216
- if (showingSuggestions) {
217
- clearSuggestions(suggestions.length);
218
- showingSuggestions = false;
219
- suggestions = [];
220
- }
309
+ else if (showPalette) {
310
+ clearPalette(paletteCount);
311
+ showPalette = false;
312
+ paletteCount = 0;
221
313
  }
314
+ renderPrompt(input);
222
315
  }
223
316
  return;
224
317
  }
225
- // Regular character input
318
+ // Regular character
226
319
  if (key.length === 1 && key >= ' ') {
227
- currentInput += key;
228
- process.stdout.write(key);
229
- // Check if typing slash command
230
- if (currentInput.startsWith('/')) {
231
- clearSuggestions(suggestions.length);
232
- suggestions = getFilteredCommands(currentInput);
233
- selectedIndex = 0;
234
- if (suggestions.length > 0) {
235
- showingSuggestions = true;
236
- const newPromptLen = prompt.length + currentInput.length;
237
- renderSuggestions(suggestions, selectedIndex, newPromptLen);
238
- }
239
- else {
240
- showingSuggestions = false;
241
- }
320
+ input += key;
321
+ if (input.startsWith('/')) {
322
+ clearPalette(paletteCount);
323
+ paletteIndex = 0;
324
+ paletteCount = renderPalette(input, paletteIndex);
325
+ showPalette = paletteCount > 0;
242
326
  }
327
+ renderPrompt(input);
243
328
  }
244
329
  };
245
330
  process.stdin.on('data', handleKey);
246
- // Handle SIGINT
247
331
  process.on('SIGINT', () => {
332
+ screen.clear();
333
+ screen.moveTo(1, 1);
334
+ screen.showCursor();
248
335
  if (process.stdin.isTTY)
249
336
  process.stdin.setRawMode(false);
250
- process.stdout.write('\n');
251
337
  options?.onExit?.();
252
338
  });
339
+ // Handle terminal resize
340
+ process.stdout.on('resize', () => {
341
+ screen.clear();
342
+ renderHeader(projectName);
343
+ renderOutput();
344
+ if (showPalette) {
345
+ paletteCount = renderPalette(input, paletteIndex);
346
+ }
347
+ renderPrompt(input);
348
+ });
253
349
  return new Promise(() => { });
254
350
  }
255
351
  //# sourceMappingURL=interactive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
package/dist/profiles.js CHANGED
@@ -11,7 +11,7 @@ exports.BUILT_IN_PROFILES = [
11
11
  name: 'safe',
12
12
  description: 'Conservative settings, strict confirmation',
13
13
  settings: {
14
- model: 'claude-sonnet-4-20250514',
14
+ model: 'glm-4.7',
15
15
  contextScope: 'open',
16
16
  confirmationMode: 'strict',
17
17
  maxPlanIterations: 3,
@@ -21,7 +21,7 @@ exports.BUILT_IN_PROFILES = [
21
21
  name: 'balanced',
22
22
  description: 'Default settings for typical use',
23
23
  settings: {
24
- model: 'claude-sonnet-4-20250514',
24
+ model: 'glm-4.7',
25
25
  contextScope: 'touched',
26
26
  confirmationMode: 'strict',
27
27
  maxPlanIterations: 5,
@@ -31,7 +31,7 @@ exports.BUILT_IN_PROFILES = [
31
31
  name: 'fast',
32
32
  description: 'Faster execution, less confirmation',
33
33
  settings: {
34
- model: 'claude-3-5-haiku-20241022',
34
+ model: 'glm-4.5',
35
35
  contextScope: 'open',
36
36
  confirmationMode: 'normal',
37
37
  maxPlanIterations: 3,
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":";;;AA8CA,gCAEC;AAED,oCAEC;AAED,oCAqBC;AAED,oDAgBC;AA7FD,yCAAkE;AAarD,QAAA,iBAAiB,GAAc;IAC1C;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE;YACR,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,MAAM;YACpB,gBAAgB,EAAE,QAAQ;YAC1B,iBAAiB,EAAE,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE;YACR,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE,QAAQ;YAC1B,iBAAiB,EAAE,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE;YACR,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,MAAM;YACpB,gBAAgB,EAAE,QAAQ;YAC1B,iBAAiB,EAAE,CAAC;SACrB;KACF;CACF,CAAC;AAEF,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,yBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AAC9D,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,yBAAiB,CAAC;AAC3B,CAAC;AAED,SAAgB,YAAY,CAAC,IAAY;IACvC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,MAAM,QAAQ,GAAG,IAAA,uBAAY,GAAE,CAAC;IAEhC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QACtC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACrD,QAAQ,CAAC,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC5E,CAAC;IAED,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,oBAAoB;IAClC,MAAM,QAAQ,GAAG,IAAA,uBAAY,GAAE,CAAC;IAEhC,KAAK,MAAM,OAAO,IAAI,yBAAiB,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3B,IACE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC;YAChD,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,YAAY,CAAC;YAC9D,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,QAAQ,CAAC,SAAS,CAAC,gBAAgB,KAAK,CAAC,CAAC,gBAAgB,CAAC;YACnF,CAAC,CAAC,CAAC,iBAAiB,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,iBAAiB,KAAK,CAAC,CAAC,iBAAiB,CAAC,EACnG,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}