@agentuity/cli 0.0.69 → 0.0.70

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 (153) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/cmd/ai/capabilities/show.d.ts.map +1 -1
  4. package/dist/cmd/ai/capabilities/show.js +0 -13
  5. package/dist/cmd/ai/capabilities/show.js.map +1 -1
  6. package/dist/cmd/ai/prompt/agent.js +1 -1
  7. package/dist/cmd/ai/prompt/api.js +1 -1
  8. package/dist/cmd/build/ast.d.ts +1 -2
  9. package/dist/cmd/build/ast.d.ts.map +1 -1
  10. package/dist/cmd/build/ast.js +261 -260
  11. package/dist/cmd/build/ast.js.map +1 -1
  12. package/dist/cmd/build/bundler.d.ts +2 -1
  13. package/dist/cmd/build/bundler.d.ts.map +1 -1
  14. package/dist/cmd/build/bundler.js +11 -2
  15. package/dist/cmd/build/bundler.js.map +1 -1
  16. package/dist/cmd/build/index.js +1 -1
  17. package/dist/cmd/build/index.js.map +1 -1
  18. package/dist/cmd/build/plugin.d.ts.map +1 -1
  19. package/dist/cmd/build/plugin.js +152 -414
  20. package/dist/cmd/build/plugin.js.map +1 -1
  21. package/dist/cmd/build/route-registry.d.ts +36 -0
  22. package/dist/cmd/build/route-registry.d.ts.map +1 -0
  23. package/dist/cmd/build/route-registry.js +151 -0
  24. package/dist/cmd/build/route-registry.js.map +1 -0
  25. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  26. package/dist/cmd/cloud/deploy.js +1 -0
  27. package/dist/cmd/cloud/deploy.js.map +1 -1
  28. package/dist/cmd/cloud/index.d.ts.map +1 -1
  29. package/dist/cmd/cloud/index.js +0 -2
  30. package/dist/cmd/cloud/index.js.map +1 -1
  31. package/dist/cmd/dev/index.js +3 -3
  32. package/dist/cmd/dev/index.js.map +1 -1
  33. package/dist/cmd/dev/sync.d.ts.map +1 -1
  34. package/dist/cmd/dev/sync.js +0 -15
  35. package/dist/cmd/dev/sync.js.map +1 -1
  36. package/dist/cmd/dev/templates.d.ts.map +1 -1
  37. package/dist/cmd/dev/templates.js +11 -35
  38. package/dist/cmd/dev/templates.js.map +1 -1
  39. package/dist/cmd/profile/create.d.ts.map +1 -1
  40. package/dist/cmd/profile/create.js +0 -1
  41. package/dist/cmd/profile/create.js.map +1 -1
  42. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  43. package/dist/cmd/project/template-flow.js +64 -53
  44. package/dist/cmd/project/template-flow.js.map +1 -1
  45. package/dist/config.d.ts.map +1 -1
  46. package/dist/config.js +0 -3
  47. package/dist/config.js.map +1 -1
  48. package/dist/tui/box.d.ts +19 -0
  49. package/dist/tui/box.d.ts.map +1 -0
  50. package/dist/tui/box.js +160 -0
  51. package/dist/tui/box.js.map +1 -0
  52. package/dist/tui/colors.d.ts +20 -0
  53. package/dist/tui/colors.d.ts.map +1 -0
  54. package/dist/tui/colors.js +52 -0
  55. package/dist/tui/colors.js.map +1 -0
  56. package/dist/tui/group.d.ts +25 -0
  57. package/dist/tui/group.d.ts.map +1 -0
  58. package/dist/tui/group.js +32 -0
  59. package/dist/tui/group.js.map +1 -0
  60. package/dist/tui/prompt.d.ts +65 -0
  61. package/dist/tui/prompt.d.ts.map +1 -0
  62. package/dist/tui/prompt.js +377 -0
  63. package/dist/tui/prompt.js.map +1 -0
  64. package/dist/tui/symbols.d.ts +32 -0
  65. package/dist/tui/symbols.d.ts.map +1 -0
  66. package/dist/tui/symbols.js +52 -0
  67. package/dist/tui/symbols.js.map +1 -0
  68. package/dist/tui.d.ts +6 -0
  69. package/dist/tui.d.ts.map +1 -1
  70. package/dist/tui.js +6 -0
  71. package/dist/tui.js.map +1 -1
  72. package/dist/types.d.ts +0 -24
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/types.js +0 -1
  75. package/dist/types.js.map +1 -1
  76. package/package.json +3 -3
  77. package/src/cmd/ai/capabilities/show.ts +0 -13
  78. package/src/cmd/ai/prompt/agent.ts +1 -1
  79. package/src/cmd/ai/prompt/api.ts +1 -1
  80. package/src/cmd/build/ast.ts +364 -334
  81. package/src/cmd/build/bundler.ts +16 -1
  82. package/src/cmd/build/index.ts +1 -1
  83. package/src/cmd/build/plugin.ts +171 -493
  84. package/src/cmd/build/route-registry.ts +198 -0
  85. package/src/cmd/cloud/deploy.ts +1 -0
  86. package/src/cmd/cloud/index.ts +0 -2
  87. package/src/cmd/dev/index.ts +3 -3
  88. package/src/cmd/dev/sync.ts +0 -28
  89. package/src/cmd/dev/templates.ts +11 -35
  90. package/src/cmd/profile/create.ts +0 -1
  91. package/src/cmd/project/template-flow.ts +77 -57
  92. package/src/config.ts +0 -3
  93. package/src/tui/box.ts +202 -0
  94. package/src/tui/colors.ts +55 -0
  95. package/src/tui/group.ts +56 -0
  96. package/src/tui/prompt.ts +506 -0
  97. package/src/tui/symbols.ts +64 -0
  98. package/src/tui.ts +14 -0
  99. package/src/types.ts +0 -1
  100. package/dist/cmd/cloud/objectstore/delete-bucket.d.ts +0 -3
  101. package/dist/cmd/cloud/objectstore/delete-bucket.d.ts.map +0 -1
  102. package/dist/cmd/cloud/objectstore/delete-bucket.js +0 -72
  103. package/dist/cmd/cloud/objectstore/delete-bucket.js.map +0 -1
  104. package/dist/cmd/cloud/objectstore/delete.d.ts +0 -3
  105. package/dist/cmd/cloud/objectstore/delete.d.ts.map +0 -1
  106. package/dist/cmd/cloud/objectstore/delete.js +0 -65
  107. package/dist/cmd/cloud/objectstore/delete.js.map +0 -1
  108. package/dist/cmd/cloud/objectstore/get.d.ts +0 -3
  109. package/dist/cmd/cloud/objectstore/get.d.ts.map +0 -1
  110. package/dist/cmd/cloud/objectstore/get.js +0 -75
  111. package/dist/cmd/cloud/objectstore/get.js.map +0 -1
  112. package/dist/cmd/cloud/objectstore/index.d.ts +0 -3
  113. package/dist/cmd/cloud/objectstore/index.d.ts.map +0 -1
  114. package/dist/cmd/cloud/objectstore/index.js +0 -36
  115. package/dist/cmd/cloud/objectstore/index.js.map +0 -1
  116. package/dist/cmd/cloud/objectstore/list-buckets.d.ts +0 -3
  117. package/dist/cmd/cloud/objectstore/list-buckets.d.ts.map +0 -1
  118. package/dist/cmd/cloud/objectstore/list-buckets.js +0 -46
  119. package/dist/cmd/cloud/objectstore/list-buckets.js.map +0 -1
  120. package/dist/cmd/cloud/objectstore/list-keys.d.ts +0 -3
  121. package/dist/cmd/cloud/objectstore/list-keys.d.ts.map +0 -1
  122. package/dist/cmd/cloud/objectstore/list-keys.js +0 -58
  123. package/dist/cmd/cloud/objectstore/list-keys.js.map +0 -1
  124. package/dist/cmd/cloud/objectstore/put.d.ts +0 -3
  125. package/dist/cmd/cloud/objectstore/put.d.ts.map +0 -1
  126. package/dist/cmd/cloud/objectstore/put.js +0 -66
  127. package/dist/cmd/cloud/objectstore/put.js.map +0 -1
  128. package/dist/cmd/cloud/objectstore/repl.d.ts +0 -3
  129. package/dist/cmd/cloud/objectstore/repl.d.ts.map +0 -1
  130. package/dist/cmd/cloud/objectstore/repl.js +0 -224
  131. package/dist/cmd/cloud/objectstore/repl.js.map +0 -1
  132. package/dist/cmd/cloud/objectstore/url.d.ts +0 -3
  133. package/dist/cmd/cloud/objectstore/url.d.ts.map +0 -1
  134. package/dist/cmd/cloud/objectstore/url.js +0 -64
  135. package/dist/cmd/cloud/objectstore/url.js.map +0 -1
  136. package/dist/cmd/cloud/objectstore/util.d.ts +0 -11
  137. package/dist/cmd/cloud/objectstore/util.d.ts.map +0 -1
  138. package/dist/cmd/cloud/objectstore/util.js +0 -18
  139. package/dist/cmd/cloud/objectstore/util.js.map +0 -1
  140. package/src/cmd/build/ast.test.ts +0 -418
  141. package/src/cmd/build/fix-duplicate-exports.test.ts +0 -387
  142. package/src/cmd/cloud/objectstore/delete-bucket.ts +0 -77
  143. package/src/cmd/cloud/objectstore/delete.ts +0 -67
  144. package/src/cmd/cloud/objectstore/get.ts +0 -77
  145. package/src/cmd/cloud/objectstore/index.ts +0 -36
  146. package/src/cmd/cloud/objectstore/list-buckets.ts +0 -51
  147. package/src/cmd/cloud/objectstore/list-keys.ts +0 -63
  148. package/src/cmd/cloud/objectstore/put.ts +0 -74
  149. package/src/cmd/cloud/objectstore/repl.ts +0 -239
  150. package/src/cmd/cloud/objectstore/url.ts +0 -67
  151. package/src/cmd/cloud/objectstore/util.ts +0 -29
  152. package/src/crypto/box.test.ts +0 -431
  153. package/src/env-util.test.ts +0 -194
@@ -0,0 +1,377 @@
1
+ /**
2
+ * Interactive prompt system for TUI
3
+ */
4
+ import * as readline from 'node:readline';
5
+ import { symbols } from './symbols';
6
+ import { colors } from './colors';
7
+ /**
8
+ * Main prompt flow class
9
+ */
10
+ export class PromptFlow {
11
+ states = [];
12
+ hasIntro = false;
13
+ /**
14
+ * Display intro banner
15
+ */
16
+ intro(title) {
17
+ console.log(`${colors.secondary(symbols.squareTL)} ${colors.inverseCyan(` ⨺ ${title} `)}`);
18
+ console.log(colors.secondary(symbols.bar));
19
+ this.hasIntro = true;
20
+ }
21
+ /**
22
+ * Display outro message
23
+ */
24
+ outro(...messages) {
25
+ for (const message of messages) {
26
+ console.log(colors.secondary(symbols.bar));
27
+ console.log(`${colors.secondary(symbols.squareBL)} ${message}`);
28
+ }
29
+ console.log();
30
+ // Ensure stdin is properly closed
31
+ if (process.stdin.isTTY) {
32
+ process.stdin.pause();
33
+ process.stdin.setRawMode(false);
34
+ }
35
+ }
36
+ /**
37
+ * Text input prompt
38
+ */
39
+ async text(options) {
40
+ const { message, initial = '', validate } = options;
41
+ return new Promise((resolve, reject) => {
42
+ const rl = readline.createInterface({
43
+ input: process.stdin,
44
+ output: process.stdout,
45
+ });
46
+ let hasError = false;
47
+ const showPrompt = () => {
48
+ // Show prompt with active symbol
49
+ process.stdout.write(`${colors.active(symbols.active)} ${message}\n${colors.secondary(symbols.bar)} `);
50
+ };
51
+ showPrompt();
52
+ rl.on('line', async (input) => {
53
+ const trimmed = input.trim();
54
+ const value = trimmed.length > 0 ? trimmed : initial;
55
+ // Validate
56
+ if (validate) {
57
+ try {
58
+ const result = await validate(value);
59
+ if (result !== true) {
60
+ const errorMsg = typeof result === 'string' ? result : 'Invalid input';
61
+ // Clear all previous lines (prompt + optional error)
62
+ const linesToClear = hasError ? 3 : 2;
63
+ readline.moveCursor(process.stdout, 0, -linesToClear);
64
+ readline.clearScreenDown(process.stdout);
65
+ // Redraw prompt with error
66
+ process.stdout.write(`${colors.error(symbols.error)} ${message}\n${colors.secondary(symbols.bar)} ${colors.error(errorMsg)}\n${colors.secondary(symbols.bar)} `);
67
+ hasError = true;
68
+ return;
69
+ }
70
+ }
71
+ catch (error) {
72
+ // Handle validation errors
73
+ const errorMsg = error instanceof Error ? error.message : 'Validation failed';
74
+ // Clear all previous lines
75
+ const linesToClear = hasError ? 3 : 2;
76
+ readline.moveCursor(process.stdout, 0, -linesToClear);
77
+ readline.clearScreenDown(process.stdout);
78
+ // Show error and cleanup
79
+ process.stdout.write(`${colors.error(symbols.error)} ${message}\n${colors.secondary(symbols.bar)} ${colors.error(errorMsg)}\n`);
80
+ rl.close();
81
+ if (process.stdin.isTTY) {
82
+ process.stdin.pause();
83
+ }
84
+ reject(error);
85
+ return;
86
+ }
87
+ }
88
+ // Clear all lines and show completed state
89
+ const linesToClear = hasError ? 3 : 2;
90
+ readline.moveCursor(process.stdout, 0, -linesToClear);
91
+ readline.clearScreenDown(process.stdout);
92
+ process.stdout.write(`${colors.completed(symbols.completed)} ${message}\n${colors.secondary(symbols.bar)} ${colors.muted(value)}\n${colors.secondary(symbols.bar)}\n`);
93
+ this.states.push({
94
+ type: 'completed',
95
+ message,
96
+ value,
97
+ });
98
+ rl.close();
99
+ // Important: pause stdin so next prompt can use it
100
+ if (process.stdin.isTTY) {
101
+ process.stdin.pause();
102
+ }
103
+ resolve(value);
104
+ });
105
+ rl.on('SIGINT', () => {
106
+ rl.close();
107
+ console.log('\n');
108
+ this.cancel('Operation cancelled');
109
+ reject(new Error('User cancelled'));
110
+ });
111
+ });
112
+ }
113
+ /**
114
+ * Confirm (yes/no) prompt
115
+ */
116
+ async confirm(options) {
117
+ const { message, initial = false } = options;
118
+ return new Promise((resolve, reject) => {
119
+ const hint = initial ? 'Y/n' : 'y/N';
120
+ // Resume stdin if it was paused
121
+ if (process.stdin.isTTY && process.stdin.isPaused()) {
122
+ process.stdin.resume();
123
+ }
124
+ // Hide cursor
125
+ if (process.stdout.isTTY) {
126
+ process.stdout.write('\x1b[?25l');
127
+ }
128
+ process.stdout.write(`${colors.active(symbols.active)} ${message} ${colors.muted(`(${hint})`)} `);
129
+ readline.emitKeypressEvents(process.stdin);
130
+ if (process.stdin.isTTY) {
131
+ process.stdin.setRawMode(true);
132
+ }
133
+ const onKeypress = (str, key) => {
134
+ const normalized = (str || '').toLowerCase();
135
+ let value = initial;
136
+ // Check for y/n keypress
137
+ if (normalized === 'y') {
138
+ value = true;
139
+ }
140
+ else if (normalized === 'n') {
141
+ value = false;
142
+ }
143
+ else if (key.name === 'return') {
144
+ // Enter key uses default
145
+ value = initial;
146
+ }
147
+ else if (key.ctrl && key.name === 'c') {
148
+ cleanup();
149
+ console.log('\n');
150
+ this.cancel('Operation cancelled');
151
+ reject(new Error('User cancelled'));
152
+ return;
153
+ }
154
+ else {
155
+ // Ignore other keys
156
+ return;
157
+ }
158
+ cleanup();
159
+ // Clear the line and show completed state
160
+ readline.cursorTo(process.stdout, 0);
161
+ readline.clearLine(process.stdout, 0);
162
+ const displayValue = value ? 'Yes' : 'No';
163
+ process.stdout.write(`${colors.completed(symbols.completed)} ${message}\n${colors.secondary(symbols.bar)} ${colors.muted(displayValue)}\n${colors.secondary(symbols.bar)}\n`);
164
+ this.states.push({
165
+ type: 'completed',
166
+ message,
167
+ value,
168
+ });
169
+ resolve(value);
170
+ };
171
+ const cleanup = () => {
172
+ process.stdin.removeListener('keypress', onKeypress);
173
+ if (process.stdin.isTTY) {
174
+ process.stdin.setRawMode(false);
175
+ // Show cursor again
176
+ process.stdout.write('\x1b[?25h');
177
+ }
178
+ };
179
+ process.stdin.on('keypress', onKeypress);
180
+ });
181
+ }
182
+ /**
183
+ * Select (single choice) prompt
184
+ */
185
+ async select(options) {
186
+ const { message, options: choices, initial } = options;
187
+ return new Promise((resolve, reject) => {
188
+ let selectedIndex = choices.findIndex((c) => c.value === initial);
189
+ if (selectedIndex === -1)
190
+ selectedIndex = 0;
191
+ let hasRendered = false;
192
+ const render = () => {
193
+ // Clear previous render
194
+ if (hasRendered && process.stdout.isTTY) {
195
+ // Move cursor up to the start of the prompt (message + all choices)
196
+ const totalLines = choices.length + 1;
197
+ readline.moveCursor(process.stdout, 0, -totalLines);
198
+ readline.cursorTo(process.stdout, 0);
199
+ readline.clearScreenDown(process.stdout);
200
+ }
201
+ process.stdout.write(`${colors.active(symbols.active)} ${message}\n`);
202
+ choices.forEach((choice, index) => {
203
+ const isSelected = index === selectedIndex;
204
+ const symbol = isSelected ? symbols.radioActive : symbols.radioInactive;
205
+ const colorFn = isSelected ? colors.active : colors.secondary;
206
+ const label = choice.hint
207
+ ? `${choice.label} ${colors.muted(choice.hint)}`
208
+ : choice.label;
209
+ process.stdout.write(`${colors.secondary(symbols.bar)} ${colorFn(symbol)} ${label}\n`);
210
+ });
211
+ hasRendered = true;
212
+ };
213
+ // Resume stdin if it was paused
214
+ if (process.stdin.isTTY && process.stdin.isPaused()) {
215
+ process.stdin.resume();
216
+ }
217
+ render();
218
+ readline.emitKeypressEvents(process.stdin);
219
+ if (process.stdin.isTTY) {
220
+ process.stdin.setRawMode(true);
221
+ }
222
+ const onKeypress = (_str, key) => {
223
+ if (key.name === 'up' || key.name === 'k') {
224
+ selectedIndex = Math.max(0, selectedIndex - 1);
225
+ render();
226
+ }
227
+ else if (key.name === 'down' || key.name === 'j') {
228
+ selectedIndex = Math.min(choices.length - 1, selectedIndex + 1);
229
+ render();
230
+ }
231
+ else if (key.name === 'return') {
232
+ cleanup();
233
+ const selected = choices[selectedIndex];
234
+ // Clear all lines (message + all choices)
235
+ const totalLines = choices.length + 1;
236
+ for (let i = 0; i < totalLines; i++) {
237
+ readline.moveCursor(process.stdout, 0, -1);
238
+ readline.clearLine(process.stdout, 0);
239
+ }
240
+ readline.cursorTo(process.stdout, 0);
241
+ // Show completed state
242
+ process.stdout.write(`${colors.completed(symbols.completed)} ${message}\n${colors.secondary(symbols.bar)} ${colors.muted(selected.label)}\n${colors.secondary(symbols.bar)}\n`);
243
+ this.states.push({
244
+ type: 'completed',
245
+ message,
246
+ value: selected.value,
247
+ });
248
+ resolve(selected.value);
249
+ }
250
+ else if (key.ctrl && key.name === 'c') {
251
+ cleanup();
252
+ console.log('\n');
253
+ this.cancel('Operation cancelled');
254
+ reject(new Error('User cancelled'));
255
+ }
256
+ };
257
+ const cleanup = () => {
258
+ process.stdin.removeListener('keypress', onKeypress);
259
+ if (process.stdin.isTTY) {
260
+ process.stdin.setRawMode(false);
261
+ }
262
+ };
263
+ process.stdin.on('keypress', onKeypress);
264
+ });
265
+ }
266
+ /**
267
+ * Multi-select (multiple choices) prompt
268
+ */
269
+ async multiselect(options) {
270
+ const { message, options: choices, initial = [] } = options;
271
+ return new Promise((resolve, reject) => {
272
+ let cursorIndex = 0;
273
+ const selected = new Set(choices.map((c, i) => (initial.includes(c.value) ? i : -1)).filter((i) => i >= 0));
274
+ let hasRendered = false;
275
+ const render = () => {
276
+ // Clear previous render
277
+ if (hasRendered && process.stdout.isTTY) {
278
+ // Move cursor up to the start of the prompt (message + all choices)
279
+ const totalLines = choices.length + 1;
280
+ readline.moveCursor(process.stdout, 0, -totalLines);
281
+ readline.cursorTo(process.stdout, 0);
282
+ readline.clearScreenDown(process.stdout);
283
+ }
284
+ process.stdout.write(`${colors.active(symbols.active)} ${message} ${colors.muted('(space to select, enter to confirm)')}\n`);
285
+ choices.forEach((choice, index) => {
286
+ const isCursor = index === cursorIndex;
287
+ const isSelected = selected.has(index);
288
+ const symbol = isSelected ? symbols.checkboxSelected : symbols.checkboxActive;
289
+ const colorFn = isCursor ? colors.active : colors.secondary;
290
+ const label = choice.hint
291
+ ? `${choice.label} ${colors.muted(choice.hint)}`
292
+ : choice.label;
293
+ process.stdout.write(`${colors.secondary(symbols.bar)} ${colorFn(symbol)} ${label}\n`);
294
+ });
295
+ hasRendered = true;
296
+ };
297
+ // Resume stdin if it was paused
298
+ if (process.stdin.isTTY && process.stdin.isPaused()) {
299
+ process.stdin.resume();
300
+ }
301
+ render();
302
+ readline.emitKeypressEvents(process.stdin);
303
+ if (process.stdin.isTTY) {
304
+ process.stdin.setRawMode(true);
305
+ }
306
+ const onKeypress = (_str, key) => {
307
+ if (key.name === 'up' || key.name === 'k') {
308
+ cursorIndex = Math.max(0, cursorIndex - 1);
309
+ render();
310
+ }
311
+ else if (key.name === 'down' || key.name === 'j') {
312
+ cursorIndex = Math.min(choices.length - 1, cursorIndex + 1);
313
+ render();
314
+ }
315
+ else if (key.name === 'space') {
316
+ if (selected.has(cursorIndex)) {
317
+ selected.delete(cursorIndex);
318
+ }
319
+ else {
320
+ selected.add(cursorIndex);
321
+ }
322
+ render();
323
+ }
324
+ else if (key.name === 'return') {
325
+ cleanup();
326
+ // Sort indices to get consistent order for both values and labels
327
+ const sortedIndices = Array.from(selected).sort((a, b) => a - b);
328
+ const values = sortedIndices.map((i) => choices[i].value);
329
+ const labels = sortedIndices.map((i) => choices[i].label);
330
+ // Clear all lines (message + all choices)
331
+ const totalLines = choices.length + 1;
332
+ for (let i = 0; i < totalLines; i++) {
333
+ readline.moveCursor(process.stdout, 0, -1);
334
+ readline.clearLine(process.stdout, 0);
335
+ }
336
+ readline.cursorTo(process.stdout, 0);
337
+ // Show completed state
338
+ const displayValue = labels.length > 0 ? labels.join(', ') : 'None';
339
+ process.stdout.write(`${colors.completed(symbols.completed)} ${message}\n${colors.secondary(symbols.bar)} ${colors.muted(displayValue)}\n${colors.secondary(symbols.bar)}\n`);
340
+ this.states.push({
341
+ type: 'completed',
342
+ message,
343
+ value: values,
344
+ });
345
+ resolve(values);
346
+ }
347
+ else if (key.ctrl && key.name === 'c') {
348
+ cleanup();
349
+ console.log('\n');
350
+ this.cancel('Operation cancelled');
351
+ reject(new Error('User cancelled'));
352
+ }
353
+ };
354
+ const cleanup = () => {
355
+ process.stdin.removeListener('keypress', onKeypress);
356
+ if (process.stdin.isTTY) {
357
+ process.stdin.setRawMode(false);
358
+ }
359
+ };
360
+ process.stdin.on('keypress', onKeypress);
361
+ });
362
+ }
363
+ /**
364
+ * Cancel the flow
365
+ */
366
+ cancel(message) {
367
+ console.log(`${colors.error(symbols.cancel)} ${message}\n`);
368
+ process.exit(0);
369
+ }
370
+ }
371
+ /**
372
+ * Create a new prompt flow instance
373
+ */
374
+ export function createPrompt() {
375
+ return new PromptFlow();
376
+ }
377
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/tui/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Box drawing and UI symbols for TUI components
3
+ * Supports Unicode with ASCII fallbacks for non-unicode terminals
4
+ */
5
+ export declare const symbols: {
6
+ active: string;
7
+ completed: string;
8
+ error: string;
9
+ warning: string;
10
+ cancel: string;
11
+ bar: string;
12
+ barH: string;
13
+ cornerTL: string;
14
+ cornerTR: string;
15
+ cornerBL: string;
16
+ cornerBR: string;
17
+ squareTL: string;
18
+ squareTR: string;
19
+ squareBL: string;
20
+ squareBR: string;
21
+ connect: string;
22
+ connectRight: string;
23
+ radioActive: string;
24
+ radioInactive: string;
25
+ checkboxActive: string;
26
+ checkboxSelected: string;
27
+ checkboxInactive: string;
28
+ passwordMask: string;
29
+ info: string;
30
+ };
31
+ export declare const isUnicode: boolean;
32
+ //# sourceMappingURL=symbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/tui/symbols.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAsCnB,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Box drawing and UI symbols for TUI components
3
+ * Supports Unicode with ASCII fallbacks for non-unicode terminals
4
+ */
5
+ // Detect unicode support
6
+ const isUnicodeSupported = () => {
7
+ if (process.platform !== 'win32') {
8
+ return process.env.TERM !== 'linux'; // Linux console (kernel) doesn't support Unicode
9
+ }
10
+ return (Boolean(process.env.WT_SESSION) || // Windows Terminal
11
+ Boolean(process.env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
12
+ process.env.TERM_PROGRAM === 'vscode' ||
13
+ process.env.TERM === 'xterm-256color' ||
14
+ process.env.TERM === 'alacritty' ||
15
+ process.env.TERMINAL_EMULATOR === 'JetBrains-JediTerm');
16
+ };
17
+ const unicode = isUnicodeSupported();
18
+ export const symbols = {
19
+ // Step symbols
20
+ active: unicode ? '◆' : '*',
21
+ completed: unicode ? '◇' : 'o',
22
+ error: unicode ? '■' : 'x',
23
+ warning: unicode ? '▲' : '!',
24
+ cancel: unicode ? '■' : 'x',
25
+ // Borders - bars
26
+ bar: unicode ? '│' : '|',
27
+ barH: unicode ? '─' : '-',
28
+ // Borders - rounded corners
29
+ cornerTL: unicode ? '╭' : '+',
30
+ cornerTR: unicode ? '╮' : '+',
31
+ cornerBL: unicode ? '╰' : '+',
32
+ cornerBR: unicode ? '╯' : '+',
33
+ // Borders - square corners
34
+ squareTL: unicode ? '┌' : 'T',
35
+ squareTR: unicode ? '┐' : 'T',
36
+ squareBL: unicode ? '└' : 'L',
37
+ squareBR: unicode ? '┘' : 'J',
38
+ // Connectors
39
+ connect: unicode ? '├' : '+',
40
+ connectRight: unicode ? '┤' : '+',
41
+ // Selection symbols
42
+ radioActive: unicode ? '●' : '>',
43
+ radioInactive: unicode ? '○' : ' ',
44
+ checkboxActive: unicode ? '◻' : '[ ]',
45
+ checkboxSelected: unicode ? '◼' : '[x]',
46
+ checkboxInactive: unicode ? '◻' : '[ ]',
47
+ // Other
48
+ passwordMask: unicode ? '▪' : '*',
49
+ info: unicode ? '●' : '*',
50
+ };
51
+ export const isUnicode = unicode;
52
+ //# sourceMappingURL=symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/tui/symbols.ts"],"names":[],"mappings":"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"}
package/dist/tui.d.ts CHANGED
@@ -4,6 +4,12 @@ import type { Profile } from './types';
4
4
  import { type APIClient as APIClientType } from './api';
5
5
  import { maskSecret } from './env-util';
6
6
  export { maskSecret };
7
+ export { createPrompt, PromptFlow } from './tui/prompt';
8
+ export { group } from './tui/group';
9
+ export { note, drawBox } from './tui/box';
10
+ export { symbols } from './tui/symbols';
11
+ export { colors as tuiColors } from './tui/colors';
12
+ export type { TextOptions, ConfirmOptions, SelectOptions, SelectOption, MultiSelectOptions, } from './tui/prompt';
7
13
  export declare function shouldUseColors(): boolean;
8
14
  export declare function setColorScheme(scheme: ColorScheme): void;
9
15
  export declare function isDarkMode(): boolean;
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
package/dist/tui.js CHANGED
@@ -13,6 +13,12 @@ import { getExitCode } from './errors';
13
13
  import { maskSecret } from './env-util';
14
14
  // Re-export maskSecret for convenience
15
15
  export { maskSecret };
16
+ // Export new TUI components
17
+ export { createPrompt, PromptFlow } from './tui/prompt';
18
+ export { group } from './tui/group';
19
+ export { note, drawBox } from './tui/box';
20
+ export { symbols } from './tui/symbols';
21
+ export { colors as tuiColors } from './tui/colors';
16
22
  // Icons
17
23
  const ICONS = {
18
24
  success: '✓',