@gxp-dev/tools 2.0.11 → 2.0.12

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.
@@ -64,8 +64,360 @@ async function selectPrompt(question, options) {
64
64
  return 0; // Default to first option
65
65
  }
66
66
 
67
+ /**
68
+ * Prompts user for multi-line input (ends with empty line or Ctrl+D)
69
+ * @param {string} question - The initial prompt
70
+ * @param {string} hint - Hint text shown below prompt
71
+ * @returns {Promise<string>} The multi-line input
72
+ */
73
+ async function multiLinePrompt(question, hint = "Enter an empty line to finish") {
74
+ const readline = require("readline");
75
+
76
+ console.log(question);
77
+ console.log(` (${hint})`);
78
+ console.log("");
79
+
80
+ const rl = readline.createInterface({
81
+ input: process.stdin,
82
+ output: process.stdout,
83
+ });
84
+
85
+ return new Promise((resolve) => {
86
+ const lines = [];
87
+
88
+ const promptLine = () => {
89
+ rl.question(" > ", (line) => {
90
+ if (line === "") {
91
+ rl.close();
92
+ resolve(lines.join("\n").trim());
93
+ } else {
94
+ lines.push(line);
95
+ promptLine();
96
+ }
97
+ });
98
+ };
99
+
100
+ promptLine();
101
+ });
102
+ }
103
+
104
+ /**
105
+ * Prompts user with optional default value shown
106
+ * @param {string} question - The question to ask
107
+ * @param {string} defaultValue - Default value if user presses enter
108
+ * @returns {Promise<string>} The user's answer or default
109
+ */
110
+ async function promptWithDefault(question, defaultValue = "") {
111
+ const suffix = defaultValue ? ` [${defaultValue}]` : "";
112
+ const answer = await promptUser(`${question}${suffix}: `);
113
+ return answer || defaultValue;
114
+ }
115
+
116
+ /**
117
+ * Interactive arrow-key selection prompt
118
+ * @param {string} question - The question to ask
119
+ * @param {Array<{label: string, value: any, description?: string}>} options - Array of options with labels and values
120
+ * @param {number} defaultIndex - Default selected index
121
+ * @returns {Promise<any>} The selected option's value
122
+ */
123
+ async function arrowSelectPrompt(question, options, defaultIndex = 0) {
124
+ return new Promise((resolve) => {
125
+ const stdin = process.stdin;
126
+ const stdout = process.stdout;
127
+
128
+ let selectedIndex = defaultIndex;
129
+ let customInput = "";
130
+ let isCustomMode = false;
131
+
132
+ // Check if last option is custom input
133
+ const hasCustomOption = options.some(
134
+ (opt) => opt.value === "__custom__" || opt.isCustomInput
135
+ );
136
+
137
+ const render = () => {
138
+ // Clear previous render
139
+ stdout.write("\x1B[?25l"); // Hide cursor
140
+
141
+ // Move cursor up to overwrite previous options
142
+ if (options.length > 0) {
143
+ stdout.write(`\x1B[${options.length + 1}A`); // +1 for question line
144
+ }
145
+
146
+ // Clear lines
147
+ for (let i = 0; i <= options.length; i++) {
148
+ stdout.write("\x1B[2K\n");
149
+ }
150
+ stdout.write(`\x1B[${options.length + 1}A`);
151
+
152
+ // Print question
153
+ stdout.write(`\x1B[36m?\x1B[0m ${question}\n`);
154
+
155
+ // Print options
156
+ options.forEach((opt, i) => {
157
+ const isSelected = i === selectedIndex;
158
+ const prefix = isSelected ? "\x1B[36m❯\x1B[0m" : " ";
159
+ const label = isSelected ? `\x1B[36m${opt.label}\x1B[0m` : opt.label;
160
+
161
+ if (opt.isCustomInput && isSelected && isCustomMode) {
162
+ stdout.write(`${prefix} ${opt.label}: ${customInput}█\n`);
163
+ } else if (opt.description && !opt.isCustomInput) {
164
+ stdout.write(`${prefix} ${label} \x1B[90m- ${opt.description}\x1B[0m\n`);
165
+ } else {
166
+ stdout.write(`${prefix} ${label}\n`);
167
+ }
168
+ });
169
+
170
+ stdout.write("\x1B[?25h"); // Show cursor
171
+ };
172
+
173
+ const cleanup = () => {
174
+ stdin.setRawMode(false);
175
+ stdin.removeAllListeners("data");
176
+ stdin.pause();
177
+ // Clear the selection UI
178
+ stdout.write(`\x1B[${options.length + 1}A`);
179
+ for (let i = 0; i <= options.length; i++) {
180
+ stdout.write("\x1B[2K\n");
181
+ }
182
+ stdout.write(`\x1B[${options.length + 1}A`);
183
+ };
184
+
185
+ const handleKey = (key) => {
186
+ const currentOption = options[selectedIndex];
187
+
188
+ // Handle Ctrl+C
189
+ if (key === "\x03") {
190
+ cleanup();
191
+ process.exit(0);
192
+ }
193
+
194
+ // Handle Enter
195
+ if (key === "\r" || key === "\n") {
196
+ cleanup();
197
+
198
+ if (currentOption.isCustomInput) {
199
+ // Print the final selection
200
+ stdout.write(
201
+ `\x1B[36m?\x1B[0m ${question} \x1B[36m${customInput || currentOption.defaultValue || ""}\x1B[0m\n`
202
+ );
203
+ resolve(customInput || currentOption.defaultValue || "");
204
+ } else {
205
+ // Print the final selection
206
+ stdout.write(
207
+ `\x1B[36m?\x1B[0m ${question} \x1B[36m${currentOption.label}\x1B[0m\n`
208
+ );
209
+ resolve(currentOption.value);
210
+ }
211
+ return;
212
+ }
213
+
214
+ // In custom input mode, handle typing
215
+ if (currentOption && currentOption.isCustomInput && isCustomMode) {
216
+ // Backspace
217
+ if (key === "\x7f" || key === "\b") {
218
+ customInput = customInput.slice(0, -1);
219
+ render();
220
+ return;
221
+ }
222
+
223
+ // Escape - exit custom mode
224
+ if (key === "\x1b" && key.length === 1) {
225
+ isCustomMode = false;
226
+ render();
227
+ return;
228
+ }
229
+
230
+ // Regular character input (printable ASCII)
231
+ if (key.length === 1 && key.charCodeAt(0) >= 32 && key.charCodeAt(0) < 127) {
232
+ customInput += key;
233
+ render();
234
+ return;
235
+ }
236
+ }
237
+
238
+ // Arrow keys (escape sequences)
239
+ if (key === "\x1b[A" || key === "\x1bOA") {
240
+ // Up arrow
241
+ selectedIndex = Math.max(0, selectedIndex - 1);
242
+ isCustomMode = options[selectedIndex]?.isCustomInput || false;
243
+ render();
244
+ } else if (key === "\x1b[B" || key === "\x1bOB") {
245
+ // Down arrow
246
+ selectedIndex = Math.min(options.length - 1, selectedIndex + 1);
247
+ isCustomMode = options[selectedIndex]?.isCustomInput || false;
248
+ render();
249
+ } else if (currentOption && currentOption.isCustomInput && !isCustomMode) {
250
+ // Start custom input mode on any printable character
251
+ if (key.length === 1 && key.charCodeAt(0) >= 32 && key.charCodeAt(0) < 127) {
252
+ isCustomMode = true;
253
+ customInput = key;
254
+ render();
255
+ }
256
+ }
257
+ };
258
+
259
+ // Initial render with spacing
260
+ console.log(""); // Add space before question
261
+ stdout.write(`\x1B[36m?\x1B[0m ${question}\n`);
262
+ options.forEach(() => console.log(""));
263
+
264
+ stdin.setRawMode(true);
265
+ stdin.resume();
266
+ stdin.setEncoding("utf8");
267
+
268
+ let buffer = "";
269
+ stdin.on("data", (data) => {
270
+ buffer += data;
271
+
272
+ // Process escape sequences
273
+ while (buffer.length > 0) {
274
+ // Check for escape sequences
275
+ if (buffer.startsWith("\x1b[") || buffer.startsWith("\x1bO")) {
276
+ if (buffer.length >= 3) {
277
+ handleKey(buffer.slice(0, 3));
278
+ buffer = buffer.slice(3);
279
+ } else {
280
+ break; // Wait for more data
281
+ }
282
+ } else if (buffer.startsWith("\x1b")) {
283
+ if (buffer.length >= 2) {
284
+ handleKey(buffer.slice(0, 1));
285
+ buffer = buffer.slice(1);
286
+ } else {
287
+ break; // Wait for more data
288
+ }
289
+ } else {
290
+ handleKey(buffer[0]);
291
+ buffer = buffer.slice(1);
292
+ }
293
+ }
294
+ });
295
+
296
+ render();
297
+ });
298
+ }
299
+
300
+ /**
301
+ * Interactive text input with prepopulated default
302
+ * User can accept default with Enter, or type to replace
303
+ * @param {string} question - The question to ask
304
+ * @param {string} defaultValue - Prepopulated default value
305
+ * @param {string} placeholder - Placeholder text when empty
306
+ * @returns {Promise<string>} The entered value
307
+ */
308
+ async function inputWithDefault(question, defaultValue = "", placeholder = "") {
309
+ return new Promise((resolve) => {
310
+ const stdin = process.stdin;
311
+ const stdout = process.stdout;
312
+
313
+ let value = defaultValue;
314
+ let cursorPos = value.length;
315
+
316
+ const render = () => {
317
+ stdout.write("\x1B[?25l"); // Hide cursor
318
+ stdout.write("\r\x1B[2K"); // Clear line
319
+
320
+ const displayValue = value || `\x1B[90m${placeholder}\x1B[0m`;
321
+ stdout.write(`\x1B[36m?\x1B[0m ${question}: ${value ? value : displayValue}`);
322
+
323
+ // Position cursor
324
+ const totalLength = question.length + 4 + cursorPos; // 4 = "? " + ": "
325
+ stdout.write(`\r\x1B[${totalLength}C`);
326
+ stdout.write("\x1B[?25h"); // Show cursor
327
+ };
328
+
329
+ const cleanup = () => {
330
+ stdin.setRawMode(false);
331
+ stdin.removeAllListeners("data");
332
+ stdin.pause();
333
+ };
334
+
335
+ console.log(""); // Add space
336
+ render();
337
+
338
+ stdin.setRawMode(true);
339
+ stdin.resume();
340
+ stdin.setEncoding("utf8");
341
+
342
+ stdin.on("data", (key) => {
343
+ // Ctrl+C
344
+ if (key === "\x03") {
345
+ cleanup();
346
+ process.exit(0);
347
+ }
348
+
349
+ // Enter
350
+ if (key === "\r" || key === "\n") {
351
+ cleanup();
352
+ stdout.write("\r\x1B[2K");
353
+ stdout.write(`\x1B[36m?\x1B[0m ${question}: \x1B[36m${value || defaultValue}\x1B[0m\n`);
354
+ resolve(value || defaultValue);
355
+ return;
356
+ }
357
+
358
+ // Backspace
359
+ if (key === "\x7f" || key === "\b") {
360
+ if (cursorPos > 0) {
361
+ value = value.slice(0, cursorPos - 1) + value.slice(cursorPos);
362
+ cursorPos--;
363
+ }
364
+ render();
365
+ return;
366
+ }
367
+
368
+ // Delete
369
+ if (key === "\x1b[3~") {
370
+ if (cursorPos < value.length) {
371
+ value = value.slice(0, cursorPos) + value.slice(cursorPos + 1);
372
+ }
373
+ render();
374
+ return;
375
+ }
376
+
377
+ // Left arrow
378
+ if (key === "\x1b[D") {
379
+ cursorPos = Math.max(0, cursorPos - 1);
380
+ render();
381
+ return;
382
+ }
383
+
384
+ // Right arrow
385
+ if (key === "\x1b[C") {
386
+ cursorPos = Math.min(value.length, cursorPos + 1);
387
+ render();
388
+ return;
389
+ }
390
+
391
+ // Home
392
+ if (key === "\x1b[H" || key === "\x01") {
393
+ cursorPos = 0;
394
+ render();
395
+ return;
396
+ }
397
+
398
+ // End
399
+ if (key === "\x1b[F" || key === "\x05") {
400
+ cursorPos = value.length;
401
+ render();
402
+ return;
403
+ }
404
+
405
+ // Regular character
406
+ if (key.length === 1 && key.charCodeAt(0) >= 32 && key.charCodeAt(0) < 127) {
407
+ value = value.slice(0, cursorPos) + key + value.slice(cursorPos);
408
+ cursorPos++;
409
+ render();
410
+ }
411
+ });
412
+ });
413
+ }
414
+
67
415
  module.exports = {
68
416
  promptUser,
69
417
  confirmPrompt,
70
418
  selectPrompt,
419
+ multiLinePrompt,
420
+ promptWithDefault,
421
+ arrowSelectPrompt,
422
+ inputWithDefault,
71
423
  };
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../bin/lib/tui/App.tsx"],"names":[],"mappings":"AAQA,OAAO,EAUL,aAAa,EAKd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,2CAkjBxD"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../bin/lib/tui/App.tsx"],"names":[],"mappings":"AAQA,OAAO,EAUL,aAAa,EAKd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAUD,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,2CAqpBxD"}
package/dist/tui/App.js CHANGED
@@ -172,6 +172,10 @@ export default function App({ autoStart, args }) {
172
172
  case 'ai':
173
173
  handleGeminiCommand(cmdArgs);
174
174
  break;
175
+ case 'extract-config':
176
+ case 'extract':
177
+ handleExtractConfig(cmdArgs);
178
+ break;
175
179
  default:
176
180
  addSystemLog(`Unknown command: ${command}. Type /help for available commands.`);
177
181
  }
@@ -424,6 +428,83 @@ export default function App({ autoStart, args }) {
424
428
  message += '\n\nUsage: /socket send <event-name> [identifier]';
425
429
  addSystemLog(message);
426
430
  };
431
+ const handleExtractConfig = async (cmdArgs) => {
432
+ const dryRun = cmdArgs.includes('--dry-run') || cmdArgs.includes('-d');
433
+ const overwrite = cmdArgs.includes('--overwrite') || cmdArgs.includes('-o');
434
+ addSystemLog('Scanning source files for GxP configuration...');
435
+ try {
436
+ // Use require for CommonJS modules
437
+ const path = require('path');
438
+ const fs = require('fs');
439
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
440
+ const extractConfigUtils = require('../utils/extract-config.js');
441
+ const projectPath = process.cwd();
442
+ const srcDir = path.join(projectPath, 'src');
443
+ const manifestPath = path.join(projectPath, 'app-manifest.json');
444
+ // Check if src directory exists
445
+ if (!fs.existsSync(srcDir)) {
446
+ addSystemLog('Source directory not found: src/');
447
+ return;
448
+ }
449
+ // Extract configuration
450
+ const extractedConfig = extractConfigUtils.extractConfigFromSource(srcDir);
451
+ const summary = extractConfigUtils.generateSummary(extractedConfig);
452
+ addSystemLog(summary);
453
+ // Count total items
454
+ const totalItems = Object.keys(extractedConfig.strings).length +
455
+ Object.keys(extractedConfig.settings).length +
456
+ Object.keys(extractedConfig.assets).length +
457
+ Object.keys(extractedConfig.triggerState).length +
458
+ extractedConfig.dependencies.length;
459
+ if (totalItems === 0) {
460
+ addSystemLog('No GxP configuration found in source files.');
461
+ return;
462
+ }
463
+ if (dryRun) {
464
+ addSystemLog('Dry run mode - no changes made.');
465
+ addSystemLog('Run /extract-config without --dry-run to apply changes.');
466
+ return;
467
+ }
468
+ // Load or create manifest
469
+ let existingManifest = {};
470
+ if (fs.existsSync(manifestPath)) {
471
+ try {
472
+ existingManifest = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
473
+ }
474
+ catch {
475
+ addSystemLog('Could not parse existing manifest, creating new one.');
476
+ existingManifest = getDefaultManifest();
477
+ }
478
+ }
479
+ else {
480
+ addSystemLog('Creating new app-manifest.json');
481
+ existingManifest = getDefaultManifest();
482
+ }
483
+ // Merge and write
484
+ const mergedManifest = extractConfigUtils.mergeConfig(existingManifest, extractedConfig, { overwrite });
485
+ fs.writeFileSync(manifestPath, JSON.stringify(mergedManifest, null, '\t'));
486
+ addSystemLog('Updated app-manifest.json');
487
+ }
488
+ catch (err) {
489
+ addSystemLog(`Error: ${err instanceof Error ? err.message : 'Unknown error'}`);
490
+ }
491
+ };
492
+ const getDefaultManifest = () => ({
493
+ name: 'GxToolkit',
494
+ version: '1.0.0',
495
+ description: 'GxToolkit Plugin',
496
+ manifest_version: 3,
497
+ asset_dir: '/src/assets/',
498
+ configurationFile: 'configuration.json',
499
+ appInstructionsFile: 'app-instructions.md',
500
+ defaultStylingFile: 'default-styling.css',
501
+ settings: {},
502
+ strings: { default: {} },
503
+ assets: {},
504
+ triggerState: {},
505
+ dependencies: [],
506
+ permissions: [],
507
+ });
427
508
  const getHelpText = () => `
428
509
  Available commands:
429
510
  /dev Start Vite (+ Socket if SOCKET_IO_ENABLED=true)
@@ -440,6 +521,9 @@ Available commands:
440
521
  /mock Start Socket.IO + Mock API (shorthand)
441
522
  /ext chrome Launch Chrome extension
442
523
  /ext firefox Launch Firefox extension
524
+ /extract-config Extract GxP config from source to manifest
525
+ /extract-config -d Dry run (show what would be extracted)
526
+ /extract-config -o Overwrite existing values in manifest
443
527
  /stop [service] Stop a running service
444
528
  /restart [service] Restart a service
445
529
  /clear Clear current log panel
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../bin/lib/tui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../bin/lib/tui/App.tsx"],"names":[],"mappings":"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"}