db4ai 0.1.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/README.md +438 -0
- package/dist/cli/bin.d.ts +50 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +418 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/dashboard/App.d.ts +16 -0
- package/dist/cli/dashboard/App.d.ts.map +1 -0
- package/dist/cli/dashboard/App.js +116 -0
- package/dist/cli/dashboard/App.js.map +1 -0
- package/dist/cli/dashboard/components/index.d.ts +70 -0
- package/dist/cli/dashboard/components/index.d.ts.map +1 -0
- package/dist/cli/dashboard/components/index.js +192 -0
- package/dist/cli/dashboard/components/index.js.map +1 -0
- package/dist/cli/dashboard/hooks/index.d.ts +76 -0
- package/dist/cli/dashboard/hooks/index.d.ts.map +1 -0
- package/dist/cli/dashboard/hooks/index.js +201 -0
- package/dist/cli/dashboard/hooks/index.js.map +1 -0
- package/dist/cli/dashboard/index.d.ts +17 -0
- package/dist/cli/dashboard/index.d.ts.map +1 -0
- package/dist/cli/dashboard/index.js +16 -0
- package/dist/cli/dashboard/index.js.map +1 -0
- package/dist/cli/dashboard/types.d.ts +84 -0
- package/dist/cli/dashboard/types.d.ts.map +1 -0
- package/dist/cli/dashboard/types.js +5 -0
- package/dist/cli/dashboard/types.js.map +1 -0
- package/dist/cli/dashboard/views/index.d.ts +51 -0
- package/dist/cli/dashboard/views/index.d.ts.map +1 -0
- package/dist/cli/dashboard/views/index.js +72 -0
- package/dist/cli/dashboard/views/index.js.map +1 -0
- package/dist/cli/index.d.ts +16 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +48 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/runtime/index.d.ts +236 -0
- package/dist/cli/runtime/index.d.ts.map +1 -0
- package/dist/cli/runtime/index.js +705 -0
- package/dist/cli/runtime/index.js.map +1 -0
- package/dist/cli/scanner/index.d.ts +90 -0
- package/dist/cli/scanner/index.d.ts.map +1 -0
- package/dist/cli/scanner/index.js +640 -0
- package/dist/cli/scanner/index.js.map +1 -0
- package/dist/cli/seed/index.d.ts +160 -0
- package/dist/cli/seed/index.d.ts.map +1 -0
- package/dist/cli/seed/index.js +774 -0
- package/dist/cli/seed/index.js.map +1 -0
- package/dist/cli/sync/index.d.ts +197 -0
- package/dist/cli/sync/index.d.ts.map +1 -0
- package/dist/cli/sync/index.js +706 -0
- package/dist/cli/sync/index.js.map +1 -0
- package/dist/cli/terminal.d.ts +60 -0
- package/dist/cli/terminal.d.ts.map +1 -0
- package/dist/cli/terminal.js +210 -0
- package/dist/cli/terminal.js.map +1 -0
- package/dist/cli/workflow/index.d.ts +152 -0
- package/dist/cli/workflow/index.d.ts.map +1 -0
- package/dist/cli/workflow/index.js +308 -0
- package/dist/cli/workflow/index.js.map +1 -0
- package/dist/errors.d.ts +43 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +47 -0
- package/dist/errors.js.map +1 -0
- package/dist/handlers.d.ts +147 -0
- package/dist/handlers.d.ts.map +1 -0
- package/dist/handlers.js +39 -0
- package/dist/handlers.js.map +1 -0
- package/dist/index.d.ts +1281 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3164 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +215 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/docs/api-reference.mdx +3 -0
- package/docs/examples.mdx +3 -0
- package/docs/getting-started.mdx +3 -0
- package/docs/index.mdx +3 -0
- package/docs/schema-dsl.mdx +3 -0
- package/package.json +121 -0
package/dist/cli/bin.js
ADDED
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* db4ai CLI - Command Line Interface
|
|
4
|
+
*
|
|
5
|
+
* Entry point for the db4ai CLI tool.
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync } from 'fs';
|
|
8
|
+
import { resolve } from 'path';
|
|
9
|
+
// Version from package.json
|
|
10
|
+
export const CLI_VERSION = '0.1.0';
|
|
11
|
+
const COMMANDS = ['scan', 'seed', 'workflow', 'sync', 'dashboard'];
|
|
12
|
+
const COMMAND_DESCRIPTIONS = {
|
|
13
|
+
scan: 'Scan project for schemas',
|
|
14
|
+
seed: 'Run seed files',
|
|
15
|
+
workflow: 'Execute workflows',
|
|
16
|
+
sync: 'Synchronize data',
|
|
17
|
+
dashboard: 'Launch dashboard',
|
|
18
|
+
};
|
|
19
|
+
// Main help text
|
|
20
|
+
function getMainHelp() {
|
|
21
|
+
let help = 'Usage: db4ai [options] [command]\n\n';
|
|
22
|
+
help += 'Commands:\n';
|
|
23
|
+
for (const cmd of COMMANDS) {
|
|
24
|
+
help += ` ${cmd.padEnd(12)} ${COMMAND_DESCRIPTIONS[cmd]}\n`;
|
|
25
|
+
}
|
|
26
|
+
help += '\nGlobal Options:\n';
|
|
27
|
+
help += ' --version, -v Show version number\n';
|
|
28
|
+
help += ' --help, -h Show help\n';
|
|
29
|
+
help += ' --config <file> Path to config file\n';
|
|
30
|
+
help += ' --verbose Enable verbose output\n';
|
|
31
|
+
help += ' --quiet Suppress output\n';
|
|
32
|
+
help += ' --no-color Disable colored output\n';
|
|
33
|
+
help += ' --json Output as JSON\n';
|
|
34
|
+
return help;
|
|
35
|
+
}
|
|
36
|
+
// Command-specific help
|
|
37
|
+
function getScanHelp() {
|
|
38
|
+
return `Usage: db4ai scan [options]
|
|
39
|
+
|
|
40
|
+
Scan project for schemas
|
|
41
|
+
|
|
42
|
+
Options:
|
|
43
|
+
--root <path> Root directory to scan
|
|
44
|
+
--include <glob> Glob pattern for files to include
|
|
45
|
+
--exclude <glob> Glob pattern for files to exclude
|
|
46
|
+
--json Output as JSON
|
|
47
|
+
--help Show help
|
|
48
|
+
`;
|
|
49
|
+
}
|
|
50
|
+
function getSeedHelp() {
|
|
51
|
+
return `Usage: db4ai seed [file] [options]
|
|
52
|
+
|
|
53
|
+
Run seed files
|
|
54
|
+
|
|
55
|
+
Options:
|
|
56
|
+
--dry-run Show what would be created without making changes
|
|
57
|
+
--concurrency <n> Number of concurrent operations
|
|
58
|
+
--continue-on-error Continue running even if errors occur
|
|
59
|
+
--reset Reset before seeding
|
|
60
|
+
--help Show help
|
|
61
|
+
`;
|
|
62
|
+
}
|
|
63
|
+
function getWorkflowHelp() {
|
|
64
|
+
return `Usage: db4ai workflow [name] [options]
|
|
65
|
+
|
|
66
|
+
Execute workflows
|
|
67
|
+
|
|
68
|
+
Options:
|
|
69
|
+
--list List all workflows
|
|
70
|
+
--watch Watch for changes
|
|
71
|
+
--timeout <ms> Timeout in milliseconds
|
|
72
|
+
--help Show help
|
|
73
|
+
`;
|
|
74
|
+
}
|
|
75
|
+
function getSyncHelp() {
|
|
76
|
+
return `Usage: db4ai sync [subcommand] [options]
|
|
77
|
+
|
|
78
|
+
Synchronize data
|
|
79
|
+
|
|
80
|
+
Subcommands:
|
|
81
|
+
push Push local changes to remote
|
|
82
|
+
pull Pull remote changes to local
|
|
83
|
+
|
|
84
|
+
Options:
|
|
85
|
+
--remote <url> Remote URL
|
|
86
|
+
--force Force sync
|
|
87
|
+
--conflict-strategy Strategy for handling conflicts
|
|
88
|
+
--help Show help
|
|
89
|
+
`;
|
|
90
|
+
}
|
|
91
|
+
function getSyncPushHelp() {
|
|
92
|
+
return `Usage: db4ai sync push [options]
|
|
93
|
+
|
|
94
|
+
Push local changes to remote
|
|
95
|
+
|
|
96
|
+
Options:
|
|
97
|
+
--remote <url> Remote URL
|
|
98
|
+
--force Force push
|
|
99
|
+
--help Show help
|
|
100
|
+
`;
|
|
101
|
+
}
|
|
102
|
+
function getSyncPullHelp() {
|
|
103
|
+
return `Usage: db4ai sync pull [options]
|
|
104
|
+
|
|
105
|
+
Pull remote changes to local
|
|
106
|
+
|
|
107
|
+
Options:
|
|
108
|
+
--remote <url> Remote URL
|
|
109
|
+
--force Force pull
|
|
110
|
+
--help Show help
|
|
111
|
+
`;
|
|
112
|
+
}
|
|
113
|
+
function getDashboardHelp() {
|
|
114
|
+
return `Usage: db4ai dashboard [options]
|
|
115
|
+
|
|
116
|
+
Launch dashboard
|
|
117
|
+
|
|
118
|
+
Options:
|
|
119
|
+
--port <port> Port to run on
|
|
120
|
+
--db <path> Path to database
|
|
121
|
+
--open Open in browser
|
|
122
|
+
--help Show help
|
|
123
|
+
`;
|
|
124
|
+
}
|
|
125
|
+
// Find similar commands for typo suggestions
|
|
126
|
+
function findSimilarCommand(input) {
|
|
127
|
+
const threshold = 2; // Levenshtein distance threshold
|
|
128
|
+
function levenshtein(a, b) {
|
|
129
|
+
const matrix = [];
|
|
130
|
+
for (let i = 0; i <= b.length; i++) {
|
|
131
|
+
matrix[i] = [i];
|
|
132
|
+
}
|
|
133
|
+
for (let j = 0; j <= a.length; j++) {
|
|
134
|
+
matrix[0][j] = j;
|
|
135
|
+
}
|
|
136
|
+
for (let i = 1; i <= b.length; i++) {
|
|
137
|
+
for (let j = 1; j <= a.length; j++) {
|
|
138
|
+
if (b.charAt(i - 1) === a.charAt(j - 1)) {
|
|
139
|
+
matrix[i][j] = matrix[i - 1][j - 1];
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j] + 1);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return matrix[b.length][a.length];
|
|
147
|
+
}
|
|
148
|
+
let closest = null;
|
|
149
|
+
let closestDistance = Infinity;
|
|
150
|
+
for (const cmd of COMMANDS) {
|
|
151
|
+
const distance = levenshtein(input, cmd);
|
|
152
|
+
if (distance < closestDistance && distance <= threshold) {
|
|
153
|
+
closest = cmd;
|
|
154
|
+
closestDistance = distance;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return closest;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Parse CLI arguments into a structured format
|
|
161
|
+
* @param args - Raw command line arguments (process.argv.slice(2))
|
|
162
|
+
* @returns Parsed arguments with flags, command, and remaining args
|
|
163
|
+
*/
|
|
164
|
+
export function parseArgs(args) {
|
|
165
|
+
const result = {
|
|
166
|
+
version: false,
|
|
167
|
+
help: false,
|
|
168
|
+
args: [],
|
|
169
|
+
verbose: false,
|
|
170
|
+
quiet: false,
|
|
171
|
+
noColor: false,
|
|
172
|
+
json: false,
|
|
173
|
+
};
|
|
174
|
+
let i = 0;
|
|
175
|
+
let foundCommand = false;
|
|
176
|
+
while (i < args.length) {
|
|
177
|
+
const arg = args[i];
|
|
178
|
+
if (!foundCommand) {
|
|
179
|
+
// Global flags before command
|
|
180
|
+
if (arg === '--version' || arg === '-v') {
|
|
181
|
+
result.version = true;
|
|
182
|
+
i++;
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
if (arg === '--help' || arg === '-h') {
|
|
186
|
+
result.help = true;
|
|
187
|
+
i++;
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
if (arg === '--config') {
|
|
191
|
+
result.config = args[i + 1];
|
|
192
|
+
i += 2;
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
if (arg === '--verbose') {
|
|
196
|
+
result.verbose = true;
|
|
197
|
+
i++;
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
if (arg === '--quiet') {
|
|
201
|
+
result.quiet = true;
|
|
202
|
+
i++;
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
if (arg === '--no-color') {
|
|
206
|
+
result.noColor = true;
|
|
207
|
+
i++;
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
if (arg === '--json') {
|
|
211
|
+
result.json = true;
|
|
212
|
+
i++;
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
// Check if it's a command
|
|
216
|
+
if (COMMANDS.includes(arg)) {
|
|
217
|
+
result.command = arg;
|
|
218
|
+
foundCommand = true;
|
|
219
|
+
i++;
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
// Unknown argument before command - treat as command (will error later)
|
|
223
|
+
if (!arg.startsWith('-')) {
|
|
224
|
+
result.command = arg;
|
|
225
|
+
foundCommand = true;
|
|
226
|
+
i++;
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// After command, collect all remaining args
|
|
231
|
+
if (foundCommand) {
|
|
232
|
+
// Check for subcommand (for sync)
|
|
233
|
+
if (result.command === 'sync' && !result.subcommand && !arg.startsWith('-')) {
|
|
234
|
+
if (arg === 'push' || arg === 'pull') {
|
|
235
|
+
result.subcommand = arg;
|
|
236
|
+
i++;
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// Check for global options after command
|
|
241
|
+
if (arg === '--verbose') {
|
|
242
|
+
result.verbose = true;
|
|
243
|
+
i++;
|
|
244
|
+
continue;
|
|
245
|
+
}
|
|
246
|
+
if (arg === '--quiet') {
|
|
247
|
+
result.quiet = true;
|
|
248
|
+
i++;
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
if (arg === '--help' || arg === '-h') {
|
|
252
|
+
result.help = true;
|
|
253
|
+
i++;
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
if (arg === '--json') {
|
|
257
|
+
result.json = true;
|
|
258
|
+
i++;
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
result.args.push(arg);
|
|
262
|
+
}
|
|
263
|
+
i++;
|
|
264
|
+
}
|
|
265
|
+
return result;
|
|
266
|
+
}
|
|
267
|
+
// Command handlers
|
|
268
|
+
export async function handleScan(args, streams) {
|
|
269
|
+
// Check for help
|
|
270
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
271
|
+
streams.stdout.write(getScanHelp());
|
|
272
|
+
return 0;
|
|
273
|
+
}
|
|
274
|
+
// Check for unknown options
|
|
275
|
+
for (const arg of args) {
|
|
276
|
+
if (arg.startsWith('--') && !['--root', '--include', '--exclude', '--json', '--verbose', '--quiet'].includes(arg)) {
|
|
277
|
+
streams.stderr.write(`Unknown option: ${arg}\n`);
|
|
278
|
+
return 2;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
// Actual scan implementation would go here
|
|
282
|
+
streams.stdout.write('Scanning...\n');
|
|
283
|
+
return 0;
|
|
284
|
+
}
|
|
285
|
+
export async function handleSeed(args, streams) {
|
|
286
|
+
// Check for help
|
|
287
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
288
|
+
streams.stdout.write(getSeedHelp());
|
|
289
|
+
return 0;
|
|
290
|
+
}
|
|
291
|
+
// Actual seed implementation would go here
|
|
292
|
+
streams.stdout.write('Seeding...\n');
|
|
293
|
+
return 0;
|
|
294
|
+
}
|
|
295
|
+
export async function handleWorkflow(args, streams) {
|
|
296
|
+
// Check for help
|
|
297
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
298
|
+
streams.stdout.write(getWorkflowHelp());
|
|
299
|
+
return 0;
|
|
300
|
+
}
|
|
301
|
+
// Actual workflow implementation would go here
|
|
302
|
+
streams.stdout.write('Running workflow...\n');
|
|
303
|
+
return 0;
|
|
304
|
+
}
|
|
305
|
+
export async function handleSync(args, subcommand, streams) {
|
|
306
|
+
// Check for help on main sync command
|
|
307
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
308
|
+
if (subcommand === 'push') {
|
|
309
|
+
streams.stdout.write(getSyncPushHelp());
|
|
310
|
+
}
|
|
311
|
+
else if (subcommand === 'pull') {
|
|
312
|
+
streams.stdout.write(getSyncPullHelp());
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
streams.stdout.write(getSyncHelp());
|
|
316
|
+
}
|
|
317
|
+
return 0;
|
|
318
|
+
}
|
|
319
|
+
// Actual sync implementation would go here
|
|
320
|
+
if (subcommand) {
|
|
321
|
+
streams.stdout.write(`Syncing (${subcommand})...\n`);
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
streams.stdout.write('Syncing...\n');
|
|
325
|
+
}
|
|
326
|
+
return 0;
|
|
327
|
+
}
|
|
328
|
+
export async function handleDashboard(args, streams) {
|
|
329
|
+
// Check for help
|
|
330
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
331
|
+
streams.stdout.write(getDashboardHelp());
|
|
332
|
+
return 0;
|
|
333
|
+
}
|
|
334
|
+
// Actual dashboard implementation would go here
|
|
335
|
+
streams.stdout.write('Launching dashboard...\n');
|
|
336
|
+
return 0;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Main CLI entry point
|
|
340
|
+
* @param args - Command line arguments
|
|
341
|
+
* @param options - Optional output streams for testing
|
|
342
|
+
* @returns Exit code (0 = success, 1 = error, 2 = invalid args)
|
|
343
|
+
*/
|
|
344
|
+
export async function run(args, options = {}) {
|
|
345
|
+
const streams = {
|
|
346
|
+
stdout: options.stdout || process.stdout,
|
|
347
|
+
stderr: options.stderr || process.stderr,
|
|
348
|
+
};
|
|
349
|
+
const parsed = parseArgs(args);
|
|
350
|
+
// Handle version
|
|
351
|
+
if (parsed.version) {
|
|
352
|
+
if (parsed.json) {
|
|
353
|
+
streams.stdout.write(JSON.stringify({ version: CLI_VERSION }) + '\n');
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
streams.stdout.write(CLI_VERSION + '\n');
|
|
357
|
+
}
|
|
358
|
+
return 0;
|
|
359
|
+
}
|
|
360
|
+
// Check for config file if specified - do this early, before help
|
|
361
|
+
// Only error on missing config if it's a custom config file (not default db4.config.ts/js)
|
|
362
|
+
if (parsed.config) {
|
|
363
|
+
const configPath = resolve(process.cwd(), parsed.config);
|
|
364
|
+
const isDefaultConfig = parsed.config === 'db4.config.ts' || parsed.config === 'db4.config.js';
|
|
365
|
+
if (!existsSync(configPath) && !isDefaultConfig) {
|
|
366
|
+
streams.stderr.write(`Config file not found: ${parsed.config}\n`);
|
|
367
|
+
return 1;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
// Handle help (no command)
|
|
371
|
+
if (parsed.help && !parsed.command) {
|
|
372
|
+
streams.stdout.write(getMainHelp());
|
|
373
|
+
return 0;
|
|
374
|
+
}
|
|
375
|
+
// No command - show help
|
|
376
|
+
if (!parsed.command) {
|
|
377
|
+
streams.stdout.write(getMainHelp());
|
|
378
|
+
return 0;
|
|
379
|
+
}
|
|
380
|
+
// Check for unknown command
|
|
381
|
+
if (!COMMANDS.includes(parsed.command)) {
|
|
382
|
+
const similar = findSimilarCommand(parsed.command);
|
|
383
|
+
streams.stderr.write(`Unknown command: ${parsed.command}\n`);
|
|
384
|
+
if (similar) {
|
|
385
|
+
streams.stderr.write(`Did you mean '${similar}'?\n`);
|
|
386
|
+
}
|
|
387
|
+
streams.stderr.write(`Run 'db4ai --help' for usage.\n`);
|
|
388
|
+
return 1;
|
|
389
|
+
}
|
|
390
|
+
// Route to command handler
|
|
391
|
+
// If help flag is set, pass it to the handler
|
|
392
|
+
const commandArgs = parsed.help ? ['--help', ...parsed.args] : parsed.args;
|
|
393
|
+
switch (parsed.command) {
|
|
394
|
+
case 'scan':
|
|
395
|
+
return handleScan(commandArgs, streams);
|
|
396
|
+
case 'seed':
|
|
397
|
+
return handleSeed(commandArgs, streams);
|
|
398
|
+
case 'workflow':
|
|
399
|
+
return handleWorkflow(commandArgs, streams);
|
|
400
|
+
case 'sync':
|
|
401
|
+
return handleSync(commandArgs, parsed.subcommand, streams);
|
|
402
|
+
case 'dashboard':
|
|
403
|
+
return handleDashboard(commandArgs, streams);
|
|
404
|
+
default:
|
|
405
|
+
streams.stderr.write(`Unknown command: ${parsed.command}\n`);
|
|
406
|
+
return 1;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
// CLI entry point
|
|
410
|
+
if (process.argv[1] === import.meta.url.replace('file://', '') ||
|
|
411
|
+
process.argv[1]?.endsWith('/bin.ts') ||
|
|
412
|
+
process.argv[1]?.endsWith('/bin.js')) {
|
|
413
|
+
const args = process.argv.slice(2);
|
|
414
|
+
run(args).then((code) => {
|
|
415
|
+
process.exit(code);
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
//# sourceMappingURL=bin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../cli/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module 17: React Ink Dashboard - App Component
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import type { DbConfig } from './types';
|
|
6
|
+
export interface AppProps {
|
|
7
|
+
db: DbConfig;
|
|
8
|
+
theme?: 'dark' | 'light';
|
|
9
|
+
onQuit?: () => void;
|
|
10
|
+
onAnnounce?: (message: string) => void;
|
|
11
|
+
onRetry?: () => void;
|
|
12
|
+
connectionError?: string;
|
|
13
|
+
children?: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export declare function App({ db, theme, onQuit, onAnnounce, onRetry, connectionError, children, }: AppProps): React.ReactElement;
|
|
16
|
+
//# sourceMappingURL=App.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../cli/dashboard/App.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAsD,MAAM,OAAO,CAAA;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAwC,MAAM,SAAS,CAAA;AAgE7E,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,QAAQ,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,wBAAgB,GAAG,CAAC,EAClB,EAAE,EACF,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,eAAe,EACf,QAAQ,GACT,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CA6I/B"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Module 17: React Ink Dashboard - App Component
|
|
4
|
+
*/
|
|
5
|
+
import React, { useState, useCallback } from 'react';
|
|
6
|
+
import { Box, Text, useApp } from 'ink';
|
|
7
|
+
import { useKeyboard, useStats, useActivity, useCascade, useWorkflow, useGeneration } from './hooks';
|
|
8
|
+
import { Layout, Header, HelpOverlay } from './components';
|
|
9
|
+
import { MainView, GenerateView, CascadeView, SeedView, WorkflowView, QueryView, LogsView, } from './views';
|
|
10
|
+
class ErrorBoundary extends React.Component {
|
|
11
|
+
constructor(props) {
|
|
12
|
+
super(props);
|
|
13
|
+
this.state = { hasError: false };
|
|
14
|
+
}
|
|
15
|
+
static getDerivedStateFromError(error) {
|
|
16
|
+
return { hasError: true, error };
|
|
17
|
+
}
|
|
18
|
+
componentDidCatch(error, errorInfo) {
|
|
19
|
+
console.error('Dashboard error:', error, errorInfo);
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
if (this.state.hasError) {
|
|
23
|
+
return (this.props.fallback ?? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "red", children: "Something went wrong" }), _jsx(Text, { color: "gray", children: this.state.error?.message })] })));
|
|
24
|
+
}
|
|
25
|
+
return this.props.children;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export function App({ db, theme, onQuit, onAnnounce, onRetry, connectionError, children, }) {
|
|
29
|
+
const { exit } = useApp();
|
|
30
|
+
const [currentView, setCurrentView] = useState('main');
|
|
31
|
+
const [showHelp, setShowHelp] = useState(false);
|
|
32
|
+
// Data hooks
|
|
33
|
+
const { stats, loading: statsLoading } = useStats(db);
|
|
34
|
+
const { activity } = useActivity(db);
|
|
35
|
+
const { nodes: cascadeNodes } = useCascade(db);
|
|
36
|
+
const { workflow } = useWorkflow(db);
|
|
37
|
+
const { generate, generating } = useGeneration(db);
|
|
38
|
+
// Mock data for types
|
|
39
|
+
const [types] = useState(() => Object.keys(db.schema).map(name => ({
|
|
40
|
+
name,
|
|
41
|
+
count: Math.floor(Math.random() * 100),
|
|
42
|
+
lastGenerated: new Date(),
|
|
43
|
+
})));
|
|
44
|
+
// Navigation handlers
|
|
45
|
+
const handleQuit = useCallback(() => {
|
|
46
|
+
// Call the callback first to ensure it's tracked by tests
|
|
47
|
+
if (onQuit) {
|
|
48
|
+
onQuit();
|
|
49
|
+
}
|
|
50
|
+
// Then exit the app (wrapped to handle test environments gracefully)
|
|
51
|
+
try {
|
|
52
|
+
exit();
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// In test environment, exit() may throw
|
|
56
|
+
}
|
|
57
|
+
}, [onQuit, exit]);
|
|
58
|
+
const handleBack = useCallback(() => {
|
|
59
|
+
if (showHelp) {
|
|
60
|
+
setShowHelp(false);
|
|
61
|
+
}
|
|
62
|
+
else if (currentView !== 'main') {
|
|
63
|
+
setCurrentView('main');
|
|
64
|
+
}
|
|
65
|
+
}, [showHelp, currentView]);
|
|
66
|
+
const handleViewChange = useCallback((view) => {
|
|
67
|
+
setCurrentView(view);
|
|
68
|
+
onAnnounce?.(`${view.charAt(0).toUpperCase() + view.slice(1)} view`);
|
|
69
|
+
}, [onAnnounce]);
|
|
70
|
+
// Keyboard navigation
|
|
71
|
+
useKeyboard({
|
|
72
|
+
onQuit: handleQuit,
|
|
73
|
+
onGenerate: () => handleViewChange('generate'),
|
|
74
|
+
onSeed: () => handleViewChange('seed'),
|
|
75
|
+
onWorkflow: () => handleViewChange('workflow'),
|
|
76
|
+
onCascade: () => handleViewChange('cascade'),
|
|
77
|
+
onQuery: () => handleViewChange('query'),
|
|
78
|
+
onLogs: () => handleViewChange('logs'),
|
|
79
|
+
onHelp: () => setShowHelp(h => !h),
|
|
80
|
+
onBack: handleBack,
|
|
81
|
+
onRetry,
|
|
82
|
+
});
|
|
83
|
+
// Handle generation
|
|
84
|
+
const handleGenerate = useCallback(async (type, options) => {
|
|
85
|
+
await generate(type, options);
|
|
86
|
+
}, [generate]);
|
|
87
|
+
// Render current view
|
|
88
|
+
const renderView = () => {
|
|
89
|
+
// Show connection error if present
|
|
90
|
+
if (connectionError) {
|
|
91
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "red", children: connectionError }), _jsx(Text, { color: "gray", children: "Press [r] to retry" })] }));
|
|
92
|
+
}
|
|
93
|
+
// Show loading state
|
|
94
|
+
if (statsLoading) {
|
|
95
|
+
return _jsx(Text, { color: "gray", children: "Loading..." });
|
|
96
|
+
}
|
|
97
|
+
switch (currentView) {
|
|
98
|
+
case 'generate':
|
|
99
|
+
return (_jsx(GenerateView, { types: types, onGenerate: handleGenerate, generating: generating }));
|
|
100
|
+
case 'cascade':
|
|
101
|
+
return _jsx(CascadeView, { nodes: cascadeNodes });
|
|
102
|
+
case 'seed':
|
|
103
|
+
return _jsx(SeedView, { seedFiles: [], onSeed: () => { } });
|
|
104
|
+
case 'workflow':
|
|
105
|
+
return _jsx(WorkflowView, { workflow: workflow });
|
|
106
|
+
case 'query':
|
|
107
|
+
return _jsx(QueryView, { db: db });
|
|
108
|
+
case 'logs':
|
|
109
|
+
return _jsx(LogsView, { logs: [] });
|
|
110
|
+
default:
|
|
111
|
+
return (_jsx(MainView, { stats: stats, types: types, activity: activity }));
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
return (_jsx(ErrorBoundary, { children: _jsxs(Layout, { header: _jsx(Header, { namespace: db.namespace, view: currentView !== 'main' ? currentView : undefined }), footer: _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "[g]enerate [s]eed [w]orkflow [c]ascade [/]query [l]ogs [?]help [q]uit" }) }), children: [showHelp ? (_jsx(HelpOverlay, { visible: true, context: currentView })) : (renderView()), children] }) }));
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=App.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../../cli/dashboard/App.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module 17: React Ink Dashboard - Components
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import type { DashboardStats, TypeInfo, ActivityEvent, CascadeNode } from '../types';
|
|
6
|
+
export interface LayoutProps {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
header?: React.ReactNode;
|
|
9
|
+
footer?: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export declare function Layout({ children, header, footer }: LayoutProps): React.ReactElement;
|
|
12
|
+
export interface HeaderProps {
|
|
13
|
+
namespace: string;
|
|
14
|
+
connected?: boolean;
|
|
15
|
+
view?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function Header({ namespace, connected, view }: HeaderProps): React.ReactElement;
|
|
18
|
+
export interface StatsProps {
|
|
19
|
+
stats: DashboardStats;
|
|
20
|
+
}
|
|
21
|
+
export declare function Stats({ stats }: StatsProps): React.ReactElement;
|
|
22
|
+
export interface TypeListProps {
|
|
23
|
+
types: TypeInfo[];
|
|
24
|
+
selectedIndex?: number;
|
|
25
|
+
onSelect?: (type: TypeInfo) => void;
|
|
26
|
+
maxWidth?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare function TypeList({ types, selectedIndex, onSelect, maxWidth, }: TypeListProps): React.ReactElement;
|
|
29
|
+
export interface ActivityFeedProps {
|
|
30
|
+
events: ActivityEvent[];
|
|
31
|
+
limit?: number;
|
|
32
|
+
autoScroll?: boolean;
|
|
33
|
+
filter?: 'generate' | 'seed' | 'workflow';
|
|
34
|
+
}
|
|
35
|
+
export declare function ActivityFeed({ events, limit, autoScroll, filter, }: ActivityFeedProps): React.ReactElement;
|
|
36
|
+
export interface ProgressBarProps {
|
|
37
|
+
current: number;
|
|
38
|
+
total: number;
|
|
39
|
+
label?: string;
|
|
40
|
+
showCount?: boolean;
|
|
41
|
+
width?: number;
|
|
42
|
+
color?: string;
|
|
43
|
+
animated?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare function ProgressBar({ current, total, label, showCount, width, color, }: ProgressBarProps): React.ReactElement;
|
|
46
|
+
export interface CascadeTreeProps {
|
|
47
|
+
nodes: CascadeNode[];
|
|
48
|
+
flat?: boolean;
|
|
49
|
+
onNodeSelect?: (node: CascadeNode) => void;
|
|
50
|
+
}
|
|
51
|
+
export declare function CascadeTree({ nodes, flat, onNodeSelect, }: CascadeTreeProps): React.ReactElement;
|
|
52
|
+
export interface TableProps<T extends Record<string, unknown>> {
|
|
53
|
+
data: T[];
|
|
54
|
+
columns: (keyof T)[];
|
|
55
|
+
headers?: Partial<Record<keyof T, string>>;
|
|
56
|
+
}
|
|
57
|
+
export declare function Table<T extends Record<string, unknown>>({ data, columns, headers, }: TableProps<T>): React.ReactElement;
|
|
58
|
+
export interface InputProps {
|
|
59
|
+
placeholder?: string;
|
|
60
|
+
value?: string;
|
|
61
|
+
onChange: (value: string) => void;
|
|
62
|
+
onSubmit?: (value: string) => void;
|
|
63
|
+
}
|
|
64
|
+
export declare function Input({ placeholder, value: initialValue, onChange, onSubmit, }: InputProps): React.ReactElement;
|
|
65
|
+
export interface HelpOverlayProps {
|
|
66
|
+
visible: boolean;
|
|
67
|
+
context?: string;
|
|
68
|
+
}
|
|
69
|
+
export declare function HelpOverlay({ visible, context }: HelpOverlayProps): React.ReactElement | null;
|
|
70
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../cli/dashboard/components/index.tsx"],"names":[],"mappings":"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"}
|