@staticpayload/zai-code 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  };
35
35
  })();
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
- const interactive_1 = require("./interactive");
37
+ const tui_1 = require("./tui");
38
38
  const auth_1 = require("./auth");
39
39
  const runtime_1 = require("./runtime");
40
40
  const apply_1 = require("./apply");
@@ -55,12 +55,12 @@ async function handleDefault() {
55
55
  if ((0, settings_1.isFirstRun)()) {
56
56
  (0, settings_1.markFirstRunComplete)();
57
57
  }
58
- await (0, interactive_1.startInteractive)({
58
+ // Launch blessed TUI
59
+ await (0, tui_1.startTUI)({
59
60
  projectName: path.basename(session.workingDirectory),
60
61
  restored,
61
62
  onExit: () => {
62
63
  ws.saveState();
63
- process.exit(0);
64
64
  },
65
65
  });
66
66
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/tui.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export interface TUIOptions {
2
+ projectName: string;
3
+ restored?: boolean;
4
+ onExit?: () => void;
5
+ }
6
+ export declare function startTUI(options: TUIOptions): Promise<void>;
7
+ //# sourceMappingURL=tui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,UAAU;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AA8BD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoWjE"}
package/dist/tui.js ADDED
@@ -0,0 +1,391 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.startTUI = startTUI;
37
+ const blessed = __importStar(require("blessed"));
38
+ const session_1 = require("./session");
39
+ const orchestrator_1 = require("./orchestrator");
40
+ const git_1 = require("./git");
41
+ const settings_1 = require("./settings");
42
+ const profiles_1 = require("./profiles");
43
+ // Command definitions
44
+ const COMMANDS = [
45
+ { name: 'help', description: 'Show all commands' },
46
+ { name: 'plan', description: 'Generate execution plan' },
47
+ { name: 'generate', description: 'Create file changes' },
48
+ { name: 'diff', description: 'Review pending changes' },
49
+ { name: 'apply', description: 'Apply changes' },
50
+ { name: 'undo', description: 'Rollback last operation' },
51
+ { name: 'model', description: 'Select AI model' },
52
+ { name: 'mode', description: 'Set mode' },
53
+ { name: 'settings', description: 'Open settings menu' },
54
+ { name: 'git', description: 'Show git status' },
55
+ { name: 'reset', description: 'Reset session' },
56
+ { name: 'exit', description: 'Exit zcode' },
57
+ ];
58
+ // ASCII Logo - wide, typographic, blue-themed
59
+ const ASCII_LOGO = `
60
+ {bold}{blue-fg}███████╗{/blue-fg}{cyan-fg} █████╗ {/cyan-fg}{blue-fg}██╗{/blue-fg}{/bold}
61
+ {bold}{blue-fg}╚══███╔╝{/blue-fg}{cyan-fg}██╔══██╗{/cyan-fg}{blue-fg}██║{/blue-fg}{/bold}
62
+ {bold}{blue-fg} ███╔╝ {/blue-fg}{cyan-fg}███████║{/cyan-fg}{blue-fg}██║{/blue-fg}{/bold}
63
+ {bold}{blue-fg} ███╔╝ {/blue-fg}{cyan-fg}██╔══██║{/cyan-fg}{blue-fg}██║{/blue-fg}{/bold}
64
+ {bold}{blue-fg}███████╗{/blue-fg}{cyan-fg}██║ ██║{/cyan-fg}{blue-fg}██║{/blue-fg}{/bold}
65
+ {bold}{blue-fg}╚══════╝{/blue-fg}{cyan-fg}╚═╝ ╚═╝{/cyan-fg}{blue-fg}╚═╝{/blue-fg}{/bold} {bold}code{/bold}
66
+ `;
67
+ const MINIMAL_LOGO = '{bold}{blue-fg}zai{/blue-fg}{cyan-fg}·{/cyan-fg}code{/bold}';
68
+ async function startTUI(options) {
69
+ const { projectName, restored, onExit } = options;
70
+ const session = (0, session_1.getSession)();
71
+ // Create screen
72
+ const screen = blessed.screen({
73
+ smartCSR: true,
74
+ title: 'zai·code',
75
+ fullUnicode: true,
76
+ });
77
+ // Header with logo
78
+ const header = blessed.box({
79
+ top: 0,
80
+ left: 0,
81
+ width: '100%',
82
+ height: (0, settings_1.shouldShowLogo)() ? 8 : 2,
83
+ tags: true,
84
+ content: (0, settings_1.shouldShowLogo)() ? ASCII_LOGO : MINIMAL_LOGO,
85
+ style: {
86
+ fg: 'white',
87
+ bg: 'default',
88
+ },
89
+ });
90
+ // Tips section
91
+ const tips = blessed.box({
92
+ top: (0, settings_1.shouldShowLogo)() ? 8 : 2,
93
+ left: 0,
94
+ width: '100%',
95
+ height: 4,
96
+ tags: true,
97
+ content: `{bold}Tips for getting started:{/bold}
98
+ 1. Type a task or question to begin.
99
+ 2. Use {bold}/commands{/bold} for direct actions.
100
+ 3. {bold}/help{/bold} for more information.`,
101
+ style: {
102
+ fg: 'white',
103
+ bg: 'default',
104
+ },
105
+ padding: { left: 1 },
106
+ });
107
+ // Warning box (if in home directory)
108
+ const warningTop = (0, settings_1.shouldShowLogo)() ? 12 : 6;
109
+ const warning = blessed.box({
110
+ top: warningTop,
111
+ left: 0,
112
+ width: '100%',
113
+ height: 3,
114
+ tags: true,
115
+ border: {
116
+ type: 'line',
117
+ },
118
+ style: {
119
+ fg: 'yellow',
120
+ bg: 'default',
121
+ border: {
122
+ fg: 'yellow',
123
+ },
124
+ },
125
+ padding: { left: 1 },
126
+ hidden: true,
127
+ });
128
+ // Check warnings
129
+ const gitInfo = (0, git_1.getGitInfo)(session.workingDirectory);
130
+ if (session.workingDirectory === require('os').homedir()) {
131
+ warning.setContent('You are running in your home directory. It is recommended to run in a project-specific directory.');
132
+ warning.show();
133
+ }
134
+ else if (!gitInfo.isRepo) {
135
+ warning.setContent('Not a git repository. Changes cannot be tracked.');
136
+ warning.show();
137
+ }
138
+ // Context line (Using: X files)
139
+ const contextTop = warning.hidden ? warningTop : warningTop + 3;
140
+ const context = blessed.box({
141
+ top: contextTop,
142
+ left: 0,
143
+ width: '100%',
144
+ height: 1,
145
+ tags: true,
146
+ content: `{bold}Using:{/bold} ${session.openFiles.length || 1} ${projectName} file(s)`,
147
+ style: {
148
+ fg: 'white',
149
+ bg: 'default',
150
+ },
151
+ padding: { left: 1 },
152
+ });
153
+ // Main output area
154
+ const outputTop = contextTop + 2;
155
+ const output = blessed.log({
156
+ top: outputTop,
157
+ left: 0,
158
+ width: '100%',
159
+ height: `100%-${outputTop + 6}`,
160
+ tags: true,
161
+ scrollable: true,
162
+ alwaysScroll: true,
163
+ scrollbar: {
164
+ ch: '│',
165
+ style: {
166
+ fg: 'blue',
167
+ },
168
+ },
169
+ style: {
170
+ fg: 'white',
171
+ bg: 'default',
172
+ },
173
+ padding: { left: 1, right: 1 },
174
+ });
175
+ // Input box container
176
+ const inputContainer = blessed.box({
177
+ bottom: 2,
178
+ left: 0,
179
+ width: '100%',
180
+ height: 3,
181
+ border: {
182
+ type: 'line',
183
+ },
184
+ style: {
185
+ border: {
186
+ fg: 'blue',
187
+ },
188
+ },
189
+ });
190
+ // Input prompt symbol
191
+ const inputPrompt = blessed.text({
192
+ parent: inputContainer,
193
+ left: 1,
194
+ top: 0,
195
+ content: '{bold}{blue-fg}❯{/blue-fg}{/bold}',
196
+ tags: true,
197
+ });
198
+ // Input textbox
199
+ const input = blessed.textbox({
200
+ parent: inputContainer,
201
+ left: 3,
202
+ top: 0,
203
+ width: '100%-5',
204
+ height: 1,
205
+ inputOnFocus: true,
206
+ style: {
207
+ fg: 'white',
208
+ bg: 'default',
209
+ },
210
+ });
211
+ // Placeholder text
212
+ const placeholder = blessed.text({
213
+ parent: inputContainer,
214
+ left: 3,
215
+ top: 0,
216
+ tags: true,
217
+ content: '{gray-fg}Type your message or @path/to/file{/gray-fg}',
218
+ style: {
219
+ fg: 'gray',
220
+ },
221
+ });
222
+ // Status bar at bottom
223
+ const statusBar = blessed.box({
224
+ bottom: 0,
225
+ left: 0,
226
+ width: '100%',
227
+ height: 1,
228
+ tags: true,
229
+ style: {
230
+ fg: 'white',
231
+ bg: 'default',
232
+ },
233
+ padding: { left: 1, right: 1 },
234
+ });
235
+ // Update status bar
236
+ function updateStatusBar() {
237
+ const model = (0, settings_1.getModel)();
238
+ const mode = (0, session_1.getSession)().mode;
239
+ const gitStatus = gitInfo.isRepo ? `${gitInfo.branch}${gitInfo.isDirty ? '*' : ''}` : 'no-git';
240
+ const profile = (0, profiles_1.getActiveProfileName)() || 'custom';
241
+ const left = `{bold}~{/bold}`;
242
+ const center = `no {bold}sandbox{/bold} {gray-fg}(see /docs){/gray-fg}`;
243
+ const right = `{bold}Manual{/bold} ({cyan-fg}${model}{/cyan-fg}) {bold}/model{/bold}`;
244
+ const width = screen.width || 80;
245
+ const padding = Math.max(0, Math.floor((width - 60) / 2));
246
+ statusBar.setContent(`${left}${' '.repeat(padding)}${center}${' '.repeat(padding)}${right}`);
247
+ }
248
+ // Command palette
249
+ const palette = blessed.list({
250
+ bottom: 5,
251
+ left: 1,
252
+ width: 40,
253
+ height: 10,
254
+ tags: true,
255
+ border: {
256
+ type: 'line',
257
+ },
258
+ style: {
259
+ fg: 'white',
260
+ bg: 'default',
261
+ border: {
262
+ fg: 'blue',
263
+ },
264
+ selected: {
265
+ bg: 'blue',
266
+ fg: 'white',
267
+ bold: true,
268
+ },
269
+ },
270
+ keys: true,
271
+ vi: true,
272
+ hidden: true,
273
+ });
274
+ // Add all elements to screen
275
+ screen.append(header);
276
+ screen.append(tips);
277
+ screen.append(warning);
278
+ screen.append(context);
279
+ screen.append(output);
280
+ screen.append(inputContainer);
281
+ screen.append(statusBar);
282
+ screen.append(palette);
283
+ // State
284
+ let showPalette = false;
285
+ let paletteFilter = '';
286
+ // Update palette content
287
+ function updatePalette(filter) {
288
+ const query = filter.replace(/^\//, '').toLowerCase();
289
+ const filtered = COMMANDS.filter(c => c.name.startsWith(query));
290
+ palette.setItems(filtered.map(c => `{bold}/${c.name}{/bold} {gray-fg}${c.description}{/gray-fg}`));
291
+ palette.select(0);
292
+ }
293
+ // Show/hide palette
294
+ function togglePalette(show, filter = '/') {
295
+ showPalette = show;
296
+ paletteFilter = filter;
297
+ if (show) {
298
+ updatePalette(filter);
299
+ palette.show();
300
+ palette.focus();
301
+ }
302
+ else {
303
+ palette.hide();
304
+ input.focus();
305
+ }
306
+ screen.render();
307
+ }
308
+ // Process input
309
+ async function processInput(value) {
310
+ if (!value.trim())
311
+ return;
312
+ placeholder.hide();
313
+ output.log(`{gray-fg}> ${value}{/gray-fg}`);
314
+ if (value === '/exit' || value === 'exit' || value === 'quit') {
315
+ onExit?.();
316
+ return process.exit(0);
317
+ }
318
+ // Capture console.log
319
+ const originalLog = console.log;
320
+ console.log = (...args) => {
321
+ output.log(args.map(a => String(a)).join(' '));
322
+ };
323
+ try {
324
+ await (0, orchestrator_1.orchestrate)(value);
325
+ }
326
+ catch (e) {
327
+ output.log(`{red-fg}Error: ${e}{/red-fg}`);
328
+ }
329
+ console.log = originalLog;
330
+ updateStatusBar();
331
+ screen.render();
332
+ }
333
+ // Input events
334
+ input.on('focus', () => {
335
+ placeholder.hide();
336
+ screen.render();
337
+ });
338
+ input.on('blur', () => {
339
+ if (!input.getValue()) {
340
+ placeholder.show();
341
+ }
342
+ screen.render();
343
+ });
344
+ input.on('submit', async (value) => {
345
+ input.clearValue();
346
+ await processInput(value);
347
+ input.focus();
348
+ });
349
+ input.key('/', () => {
350
+ if (input.getValue() === '') {
351
+ togglePalette(true, '/');
352
+ }
353
+ });
354
+ // Palette events
355
+ palette.on('select', (item) => {
356
+ const text = item.getContent().replace(/{[^}]+}/g, '').trim();
357
+ const cmd = text.split(' ')[0];
358
+ input.setValue(cmd + ' ');
359
+ togglePalette(false);
360
+ input.focus();
361
+ screen.render();
362
+ });
363
+ palette.key('escape', () => {
364
+ togglePalette(false);
365
+ });
366
+ // Global key bindings
367
+ screen.key(['escape'], () => {
368
+ if (showPalette) {
369
+ togglePalette(false);
370
+ }
371
+ });
372
+ screen.key(['C-c'], () => {
373
+ onExit?.();
374
+ return process.exit(0);
375
+ });
376
+ screen.key(['q'], () => {
377
+ // Only quit if 'q' is pressed outside input
378
+ onExit?.();
379
+ return process.exit(0);
380
+ });
381
+ // Initial render
382
+ updateStatusBar();
383
+ input.focus();
384
+ screen.render();
385
+ // Restored message
386
+ if (restored) {
387
+ output.log('{gray-fg}Session restored.{/gray-fg}');
388
+ screen.render();
389
+ }
390
+ }
391
+ //# sourceMappingURL=tui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@staticpayload/zai-code",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "Z.ai-native AI code editor - CLI-first, interactive editor shell with keyboard-driven settings, plan-diff-apply workflow, and safety-first design",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -40,6 +40,8 @@
40
40
  "typescript": "^5.3.3"
41
41
  },
42
42
  "dependencies": {
43
+ "@types/blessed": "^0.1.27",
44
+ "blessed": "^0.1.81",
43
45
  "keytar": "^7.9.0"
44
46
  }
45
47
  }