@faros-fde-sandbox/cli 1.0.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.
Files changed (48) hide show
  1. package/LICENSE +17 -0
  2. package/README.md +416 -0
  3. package/bin/faros +3 -0
  4. package/lib/commands/logs/index.d.ts +3 -0
  5. package/lib/commands/logs/index.d.ts.map +1 -0
  6. package/lib/commands/logs/index.js +162 -0
  7. package/lib/commands/logs/index.js.map +1 -0
  8. package/lib/commands/sources/index.d.ts +3 -0
  9. package/lib/commands/sources/index.d.ts.map +1 -0
  10. package/lib/commands/sources/index.js +99 -0
  11. package/lib/commands/sources/index.js.map +1 -0
  12. package/lib/commands/sync/ci-cd.d.ts +3 -0
  13. package/lib/commands/sync/ci-cd.d.ts.map +1 -0
  14. package/lib/commands/sync/ci-cd.js +188 -0
  15. package/lib/commands/sync/ci-cd.js.map +1 -0
  16. package/lib/commands/sync/index.d.ts +3 -0
  17. package/lib/commands/sync/index.d.ts.map +1 -0
  18. package/lib/commands/sync/index.js +25 -0
  19. package/lib/commands/sync/index.js.map +1 -0
  20. package/lib/commands/sync/tests.d.ts +3 -0
  21. package/lib/commands/sync/tests.d.ts.map +1 -0
  22. package/lib/commands/sync/tests.js +317 -0
  23. package/lib/commands/sync/tests.js.map +1 -0
  24. package/lib/config/loader.d.ts +5 -0
  25. package/lib/config/loader.d.ts.map +1 -0
  26. package/lib/config/loader.js +137 -0
  27. package/lib/config/loader.js.map +1 -0
  28. package/lib/index.d.ts +3 -0
  29. package/lib/index.d.ts.map +1 -0
  30. package/lib/index.js +73 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/lib/api/client.d.ts +8 -0
  33. package/lib/lib/api/client.d.ts.map +1 -0
  34. package/lib/lib/api/client.js +43 -0
  35. package/lib/lib/api/client.js.map +1 -0
  36. package/lib/lib/sources/s3.d.ts +19 -0
  37. package/lib/lib/sources/s3.d.ts.map +1 -0
  38. package/lib/lib/sources/s3.js +139 -0
  39. package/lib/lib/sources/s3.js.map +1 -0
  40. package/lib/lib/ui/index.d.ts +32 -0
  41. package/lib/lib/ui/index.d.ts.map +1 -0
  42. package/lib/lib/ui/index.js +88 -0
  43. package/lib/lib/ui/index.js.map +1 -0
  44. package/lib/types/config.d.ts +160 -0
  45. package/lib/types/config.d.ts.map +1 -0
  46. package/lib/types/config.js +40 -0
  47. package/lib/types/config.js.map +1 -0
  48. package/package.json +74 -0
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.sourcesCommand = sourcesCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const loader_1 = require("../../config/loader");
10
+ const ui_1 = require("../../lib/ui");
11
+ async function listSources() {
12
+ const config = await (0, loader_1.loadConfig)();
13
+ if (!config || !config.sources || Object.keys(config.sources).length === 0) {
14
+ ui_1.ui.log.info('No sources configured');
15
+ console.log();
16
+ console.log(chalk_1.default.dim('Configure sources in .farosrc.json or use:'));
17
+ console.log(chalk_1.default.dim(' faros config init'));
18
+ return;
19
+ }
20
+ console.log(chalk_1.default.bold('\nConfigured Sources:\n'));
21
+ const table = ui_1.ui.table(['Source', 'Type', 'Status', 'Config']);
22
+ for (const [name, sourceConfig] of Object.entries(config.sources)) {
23
+ const type = sourceConfig.type || 'Unknown';
24
+ const hasAuth = sourceConfig.apiKey || sourceConfig.token ? ui_1.ui.success : chalk_1.default.yellow('⚠');
25
+ const status = sourceConfig.apiKey || sourceConfig.token ? 'Configured' : 'Missing credentials';
26
+ table.push([
27
+ name,
28
+ type,
29
+ hasAuth,
30
+ status
31
+ ]);
32
+ }
33
+ console.log(table.toString());
34
+ console.log();
35
+ console.log(chalk_1.default.dim('Run \'faros sources get <name>\' for details'));
36
+ }
37
+ async function getSource(name) {
38
+ const config = await (0, loader_1.loadConfig)();
39
+ if (!config || !config.sources || !config.sources[name]) {
40
+ ui_1.ui.log.error(`Source '${name}' not found`);
41
+ console.log(chalk_1.default.dim('Run \'faros sources list\' to see all sources'));
42
+ process.exit(1);
43
+ }
44
+ const source = config.sources[name];
45
+ console.log(chalk_1.default.bold(`\nSource: ${name}\n`));
46
+ console.log(`Type: ${source.type || 'Unknown'}`);
47
+ if (source.apiKey) {
48
+ console.log(`API Key: ${source.apiKey.substring(0, 10)}***`);
49
+ }
50
+ if (source.token) {
51
+ console.log(`Token: ${source.token.substring(0, 10)}***`);
52
+ }
53
+ if (source.syncInterval) {
54
+ console.log(`Sync Interval: ${source.syncInterval}`);
55
+ }
56
+ if (source.streams && source.streams.length > 0) {
57
+ console.log(`Streams: ${source.streams.join(', ')}`);
58
+ }
59
+ console.log();
60
+ }
61
+ function sourcesCommand() {
62
+ const cmd = new commander_1.Command('sources');
63
+ cmd
64
+ .description('Manage data sources')
65
+ .addHelpText('after', `
66
+ Examples:
67
+ $ faros sources list
68
+ $ faros sources get linear
69
+ `);
70
+ // List subcommand
71
+ const listCmd = new commander_1.Command('list')
72
+ .description('List all configured sources')
73
+ .action(async () => {
74
+ try {
75
+ await listSources();
76
+ }
77
+ catch (error) {
78
+ ui_1.ui.log.error(error.message);
79
+ process.exit(1);
80
+ }
81
+ });
82
+ // Get subcommand
83
+ const getCmd = new commander_1.Command('get')
84
+ .description('Get details for a specific source')
85
+ .argument('<name>', 'Source name')
86
+ .action(async (name) => {
87
+ try {
88
+ await getSource(name);
89
+ }
90
+ catch (error) {
91
+ ui_1.ui.log.error(error.message);
92
+ process.exit(1);
93
+ }
94
+ });
95
+ cmd.addCommand(listCmd);
96
+ cmd.addCommand(getCmd);
97
+ return cmd;
98
+ }
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sources/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function syncCICDCommand(): Command;
3
+ //# sourceMappingURL=ci-cd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-cd.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/ci-cd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAoJ5C,wBAAgB,eAAe,IAAI,OAAO,CAqDzC"}
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.syncCICDCommand = syncCICDCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const loader_1 = require("../../config/loader");
10
+ const client_1 = require("../../lib/api/client");
11
+ const ui_1 = require("../../lib/ui");
12
+ var Status;
13
+ (function (Status) {
14
+ Status["Success"] = "Success";
15
+ Status["Failed"] = "Failed";
16
+ Status["Canceled"] = "Canceled";
17
+ Status["Queued"] = "Queued";
18
+ Status["Running"] = "Running";
19
+ Status["Unknown"] = "Unknown";
20
+ })(Status || (Status = {}));
21
+ var DeployStatus;
22
+ (function (DeployStatus) {
23
+ DeployStatus["Success"] = "Success";
24
+ DeployStatus["Failed"] = "Failed";
25
+ DeployStatus["Canceled"] = "Canceled";
26
+ DeployStatus["Queued"] = "Queued";
27
+ DeployStatus["Running"] = "Running";
28
+ DeployStatus["RolledBack"] = "RolledBack";
29
+ })(DeployStatus || (DeployStatus = {}));
30
+ function parseTime(time) {
31
+ if (time.toLowerCase() === 'now') {
32
+ return new Date().toISOString();
33
+ }
34
+ if (/^\d+$/.test(time)) {
35
+ return new Date(parseInt(time, 10)).toISOString();
36
+ }
37
+ return time;
38
+ }
39
+ async function syncBuildStatus(options) {
40
+ const fileConfig = await (0, loader_1.loadConfig)();
41
+ const config = (0, loader_1.mergeConfig)(fileConfig, options);
42
+ if (!options.commit && !options.run) {
43
+ throw new Error('Either --commit or --run is required');
44
+ }
45
+ const targetGraph = options.dryRun ? (0, loader_1.getStagingGraph)(config) : config.graph;
46
+ if (options.dryRun) {
47
+ ui_1.ui.log.warning(`Dry-run mode: syncing to staging graph '${targetGraph}'`);
48
+ console.log();
49
+ }
50
+ const data = {
51
+ type: 'CI',
52
+ version: '0.0.1',
53
+ origin: config.origin,
54
+ data: {},
55
+ };
56
+ if (options.commit) {
57
+ data.data.commit = { uri: options.commit };
58
+ }
59
+ if (options.artifact) {
60
+ data.data.artifact = { uri: options.artifact };
61
+ }
62
+ if (options.run) {
63
+ const run = { uri: options.run };
64
+ if (options.runStatus)
65
+ run.status = { category: options.runStatus };
66
+ if (options.runStartTime)
67
+ run.startedAt = parseTime(options.runStartTime);
68
+ if (options.runEndTime)
69
+ run.endedAt = parseTime(options.runEndTime);
70
+ data.data.run = run;
71
+ }
72
+ const spinner = ui_1.ui.spinner('Reporting build status...');
73
+ spinner.start();
74
+ const client = (0, client_1.createClient)(config);
75
+ await (0, client_1.sendEvent)(client, targetGraph, data);
76
+ spinner.succeed('Build status reported');
77
+ if (options.dryRun) {
78
+ console.log(chalk_1.default.dim(` Graph: ${targetGraph}`));
79
+ console.log(chalk_1.default.dim(' Run without --dry-run to sync to production'));
80
+ }
81
+ }
82
+ async function syncDeployStatus(options) {
83
+ const fileConfig = await (0, loader_1.loadConfig)();
84
+ const config = (0, loader_1.mergeConfig)(fileConfig, options);
85
+ if (!options.deploy) {
86
+ throw new Error('--deploy is required for deployment events');
87
+ }
88
+ if (!options.commit && !options.artifact) {
89
+ throw new Error('Either --commit or --artifact is required');
90
+ }
91
+ const targetGraph = options.dryRun ? (0, loader_1.getStagingGraph)(config) : config.graph;
92
+ if (options.dryRun) {
93
+ ui_1.ui.log.warning(`Dry-run mode: syncing to staging graph '${targetGraph}'`);
94
+ console.log();
95
+ }
96
+ const data = {
97
+ type: 'CD',
98
+ version: '0.0.1',
99
+ origin: config.origin,
100
+ data: {
101
+ deploy: { uri: options.deploy },
102
+ },
103
+ };
104
+ if (options.commit) {
105
+ data.data.commit = { uri: options.commit };
106
+ }
107
+ else if (options.artifact) {
108
+ data.data.artifact = { uri: options.artifact };
109
+ }
110
+ const deploy = data.data.deploy;
111
+ if (options.deployStatus)
112
+ deploy.status = { category: options.deployStatus };
113
+ if (options.deployStartTime)
114
+ deploy.startedAt = parseTime(options.deployStartTime);
115
+ if (options.deployEndTime)
116
+ deploy.endedAt = parseTime(options.deployEndTime);
117
+ if (options.run) {
118
+ const run = { uri: options.run };
119
+ if (options.runStatus)
120
+ run.status = { category: options.runStatus };
121
+ if (options.runStartTime)
122
+ run.startedAt = parseTime(options.runStartTime);
123
+ if (options.runEndTime)
124
+ run.endedAt = parseTime(options.runEndTime);
125
+ data.data.run = run;
126
+ }
127
+ const spinner = ui_1.ui.spinner('Reporting deployment...');
128
+ spinner.start();
129
+ const client = (0, client_1.createClient)(config);
130
+ await (0, client_1.sendEvent)(client, targetGraph, data);
131
+ spinner.succeed('Deployment reported');
132
+ if (options.dryRun) {
133
+ console.log(chalk_1.default.dim(` Graph: ${targetGraph}`));
134
+ console.log(chalk_1.default.dim(' Run without --dry-run to sync to production'));
135
+ }
136
+ }
137
+ function syncCICDCommand() {
138
+ const cmd = new commander_1.Command('ci-cd');
139
+ cmd.description('Sync CI/CD events (builds and deployments) to Faros');
140
+ // Build subcommand
141
+ const buildCmd = new commander_1.Command('build')
142
+ .description('Report build status')
143
+ .option('--status <status>', 'Build status')
144
+ .option('--commit <uri>', 'Commit URI')
145
+ .option('--run <uri>', 'Run URI')
146
+ .option('--run-status <status>', 'Run status')
147
+ .option('--run-start-time <time>', 'Run start time')
148
+ .option('--run-end-time <time>', 'Run end time')
149
+ .option('--artifact <uri>', 'Artifact URI')
150
+ .option('--dry-run', 'Sync to staging graph')
151
+ .action(async (options) => {
152
+ try {
153
+ await syncBuildStatus({ ...options, runStatus: options.status || options.runStatus });
154
+ }
155
+ catch (error) {
156
+ ui_1.ui.log.error(error.message);
157
+ process.exit(1);
158
+ }
159
+ });
160
+ // Deploy subcommand
161
+ const deployCmd = new commander_1.Command('deploy')
162
+ .description('Report deployment status')
163
+ .option('--status <status>', 'Deploy status')
164
+ .option('--commit <uri>', 'Commit URI')
165
+ .option('--deploy <uri>', 'Deploy URI (required)')
166
+ .option('--deploy-status <status>', 'Deploy status')
167
+ .option('--deploy-start-time <time>', 'Deploy start time')
168
+ .option('--deploy-end-time <time>', 'Deploy end time')
169
+ .option('--artifact <uri>', 'Artifact URI')
170
+ .option('--run <uri>', 'Run URI')
171
+ .option('--run-status <status>', 'Run status')
172
+ .option('--run-start-time <time>', 'Run start time')
173
+ .option('--run-end-time <time>', 'Run end time')
174
+ .option('--dry-run', 'Sync to staging graph')
175
+ .action(async (options) => {
176
+ try {
177
+ await syncDeployStatus({ ...options, deployStatus: options.status || options.deployStatus });
178
+ }
179
+ catch (error) {
180
+ ui_1.ui.log.error(error.message);
181
+ process.exit(1);
182
+ }
183
+ });
184
+ cmd.addCommand(buildCmd);
185
+ cmd.addCommand(deployCmd);
186
+ return cmd;
187
+ }
188
+ //# sourceMappingURL=ci-cd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-cd.js","sourceRoot":"","sources":["../../../src/commands/sync/ci-cd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function syncCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,WAAW,IAAI,OAAO,CAoBrC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncCommand = syncCommand;
4
+ const commander_1 = require("commander");
5
+ const tests_1 = require("./tests");
6
+ const ci_cd_1 = require("./ci-cd");
7
+ function syncCommand() {
8
+ const cmd = new commander_1.Command('sync');
9
+ cmd
10
+ .description('Sync data from various sources to Faros')
11
+ .addHelpText('after', `
12
+ Available Sources:
13
+ tests Sync test results (JUnit/TestNG/xUnit/Cucumber/Mocha)
14
+ ci-cd Sync CI/CD events (builds and deployments)
15
+
16
+ Examples:
17
+ $ faros sync tests test-results/*.xml --source "Jenkins"
18
+ $ faros sync ci-cd build --status Success --commit "GitHub://org/repo/abc"
19
+ `);
20
+ // Register subcommands
21
+ cmd.addCommand((0, tests_1.syncTestsCommand)());
22
+ cmd.addCommand((0, ci_cd_1.syncCICDCommand)());
23
+ return cmd;
24
+ }
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":";;AAIA,kCAoBC;AAxBD,yCAAoC;AACpC,mCAA2C;AAC3C,mCAA0C;AAE1C,SAAgB,WAAW;IACzB,MAAM,GAAG,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC,CAAC;IAEhC,GAAG;SACA,WAAW,CAAC,yCAAyC,CAAC;SACtD,WAAW,CAAC,OAAO,EAAE;;;;;;;;KAQrB,CAAC,CAAC;IAEL,uBAAuB;IACvB,GAAG,CAAC,UAAU,CAAC,IAAA,wBAAgB,GAAE,CAAC,CAAC;IACnC,GAAG,CAAC,UAAU,CAAC,IAAA,uBAAe,GAAE,CAAC,CAAC;IAElC,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function syncTestsCommand(): Command;
3
+ //# sourceMappingURL=tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAuT5C,wBAAgB,gBAAgB,IAAI,OAAO,CAwD1C"}