@faros-fde-sandbox/cli 2.0.6 → 2.1.1

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 CHANGED
@@ -145,29 +145,28 @@ faros sync linear [options]
145
145
 
146
146
  **Configuration Priority:**
147
147
  1. CLI options (`--linear-api-key`, `--cutoff-days`)
148
- 2. Environment variables (`LINEAR_API_KEY`, `FAROS_API_KEY`, `FAROS_GRAPH`)
148
+ 2. Environment variables (`LINEAR_API_KEY`, `FAROS_API_KEY`, `FAROS_GRAPH`, `FAROS_ORIGIN`)
149
149
  3. Config file (`faros.config.yaml`)
150
- 4. Defaults
150
+ 4. Built-in defaults (ships with the CLI)
151
151
 
152
152
  **Examples:**
153
153
 
154
- Set environment variables:
154
+ Minimal setup - just create a `.env` file:
155
155
  ```bash
156
- export LINEAR_API_KEY=lin_api_xxx
157
- export FAROS_API_KEY=your_faros_key
158
- export FAROS_GRAPH=default
156
+ # .env
157
+ LINEAR_API_KEY=lin_api_xxx
158
+ FAROS_API_KEY=your_faros_key
159
159
  ```
160
160
 
161
- Then run:
161
+ Then run (uses default config):
162
162
  ```bash
163
163
  faros sync linear
164
164
  ```
165
165
 
166
- Using config file (`faros.config.yaml`) for defaults:
166
+ Override defaults with your own `faros.config.yaml`:
167
167
  ```yaml
168
- url: https://prod.api.faros.ai
169
- graph: default
170
- origin: my-company-ci
168
+ graph: production
169
+ origin: my-company
171
170
 
172
171
  sources:
173
172
  linear:
@@ -175,7 +174,10 @@ sources:
175
174
  pageSize: 100 # Larger page size
176
175
  ```
177
176
 
178
- **Note:** Never put API keys in config files! Always use environment variables.
177
+ **Security Note:**
178
+ - ✅ API keys go in `.env` file (auto-loaded, never commit)
179
+ - ✅ Config goes in `faros.config.yaml` (safe to commit)
180
+ - ❌ Never put API keys in `faros.config.yaml` (CLI strips them anyway)
179
181
 
180
182
  Sync only recent issues (override config):
181
183
  ```bash
@@ -205,7 +207,29 @@ faros sync linear --preview
205
207
 
206
208
  ## Configuration
207
209
 
208
- The CLI uses a two-file configuration approach:
210
+ The CLI ships with sensible defaults in `faros.config.yaml`, so most users only need to set up a `.env` file with their API keys.
211
+
212
+ **Quick Setup:**
213
+ 1. Create a `.env` file with your API keys:
214
+ ```
215
+ FAROS_API_KEY=your_faros_api_key
216
+ LINEAR_API_KEY=your_linear_api_key # if using Linear sync
217
+ ```
218
+ 2. Run CLI commands - the default config handles the rest!
219
+
220
+ ### Two-File Configuration Approach
221
+
222
+ The CLI separates configuration into two types:
223
+ - **`.env` file** - Secrets and API keys (never commit this!)
224
+ - **`faros.config.yaml`** - Non-sensitive defaults (safe to commit)
225
+
226
+ A default `faros.config.yaml` is included with sensible defaults:
227
+ - API URL: `https://prod.api.faros.ai`
228
+ - Graph: `default`
229
+ - Origin: `faros-cli`
230
+ - Linear cutoff: 180 days
231
+
232
+ You can override these by creating your own `faros.config.yaml` or using environment variables.
209
233
 
210
234
  ### Environment Variables
211
235
 
@@ -224,7 +248,7 @@ The CLI can be configured entirely through environment variables, which is ideal
224
248
  |----------|-------------|---------|---------|
225
249
  | `FAROS_URL` | Faros API URL | `https://prod.api.faros.ai` | `https://prod.api.faros.ai` |
226
250
  | `FAROS_GRAPH` | Target graph name | `default` | `my-graph` |
227
- | `FAROS_ORIGIN` | Origin identifier for synced data | - | `my-company-ci` |
251
+ | `FAROS_ORIGIN` | Origin identifier for synced data | `faros-cli` | `my-company-ci` |
228
252
 
229
253
  #### Logging and Debug
230
254
 
@@ -235,13 +259,18 @@ The CLI can be configured entirely through environment variables, which is ideal
235
259
 
236
260
  ### Configuration File
237
261
 
238
- Store non-sensitive configuration in `faros.config.yaml`:
262
+ The CLI ships with a default `faros.config.yaml` that works out of the box. You can override it by creating your own `faros.config.yaml` in your project:
239
263
 
240
264
  ```yaml
241
- # Faros API configuration
265
+ # Override API configuration (optional)
242
266
  url: https://prod.api.faros.ai
243
- graph: default
244
- origin: my-company-ci
267
+ graph: production # use a different graph
268
+ origin: my-company-ci # custom origin identifier
269
+
270
+ # Customize Linear sync defaults
271
+ sources:
272
+ linear:
273
+ cutoffDays: 30 # fetch last 30 days instead of default 180
245
274
 
246
275
  # Default values for commands
247
276
  defaults:
@@ -250,7 +279,7 @@ defaults:
250
279
  concurrency: 8
251
280
  ```
252
281
 
253
- See `faros.config.example.yaml` for a complete template with detailed comments.
282
+ **Important:** Never put API keys in `faros.config.yaml`! The CLI automatically strips any credentials from config files. All secrets must be in `.env` or environment variables.
254
283
 
255
284
  ### Configuration Priority
256
285
 
@@ -1 +1 @@
1
- {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/linear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA4M5C,wBAAgB,iBAAiB,IAAI,OAAO,CA4D3C"}
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/linear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAyU5C,wBAAgB,iBAAiB,IAAI,OAAO,CAiE3C"}
@@ -45,27 +45,41 @@ const os = __importStar(require("os"));
45
45
  const chalk_1 = __importDefault(require("chalk"));
46
46
  const loader_1 = require("../../config/loader");
47
47
  const ui_1 = require("../../lib/ui");
48
- function createTempConfig(options, config) {
48
+ const client_1 = require("../../lib/api/client");
49
+ function createTempConfig(options, config, srcImage, dstImage) {
49
50
  const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'faros-linear-'));
50
51
  const configPath = path.join(tempDir, 'faros_airbyte_cli_config.json');
52
+ // Build source config with date filtering
53
+ const srcConfig = {
54
+ api_key: options.linearApiKey || '',
55
+ page_size: options.pageSize,
56
+ };
57
+ // Date filtering: use startDate/endDate if provided, otherwise use cutoffDays
58
+ if (options.startDate) {
59
+ srcConfig.start_date = options.startDate;
60
+ }
61
+ if (options.endDate) {
62
+ srcConfig.end_date = options.endDate;
63
+ }
64
+ // Only use cutoff_days if no explicit dates provided
65
+ if (!options.startDate && !options.endDate) {
66
+ srcConfig.cutoff_days = options.cutoffDays;
67
+ }
51
68
  const airbyteConfig = {
52
69
  src: {
53
- image: 'farossam/airbyte-linear-source:1.0.1',
54
- config: {
55
- api_key: options.linearApiKey || '',
56
- cutoff_days: options.cutoffDays || 90,
57
- page_size: options.pageSize || 50,
58
- },
70
+ image: srcImage,
71
+ config: srcConfig,
59
72
  },
60
73
  dst: {
61
- image: 'farosai/airbyte-faros-destination:latest',
74
+ image: dstImage,
62
75
  config: {
63
76
  edition_configs: {
64
77
  api_key: config.apiKey,
65
78
  graph: config.graph,
66
79
  api_url: config.url,
67
- origin: config.origin,
68
80
  },
81
+ origin: config.origin,
82
+ accept_input_records_origin: false,
69
83
  },
70
84
  },
71
85
  };
@@ -105,6 +119,34 @@ async function runAirbyteSync(configPath) {
105
119
  });
106
120
  });
107
121
  }
122
+ async function querySyncStats(apiKey, url, graph, origin) {
123
+ const config = { apiKey, url, graph, origin };
124
+ const client = (0, client_1.createClient)(config);
125
+ const query = `
126
+ query {
127
+ tms_Task_aggregate(where: {source: {_eq: "Linear"}}) {
128
+ aggregate { count }
129
+ }
130
+ tms_Project_aggregate(where: {source: {_eq: "Linear"}}) {
131
+ aggregate { count }
132
+ }
133
+ tms_TaskBoard_aggregate(where: {source: {_eq: "Linear"}}) {
134
+ aggregate { count }
135
+ }
136
+ tms_User_aggregate(where: {source: {_eq: "Linear"}}) {
137
+ aggregate { count }
138
+ }
139
+ }
140
+ `;
141
+ const response = await client.post(`/graphs/${graph}/graphql`, { query });
142
+ const data = response.data.data;
143
+ return {
144
+ tasks: data.tms_Task_aggregate.aggregate.count,
145
+ projects: data.tms_Project_aggregate.aggregate.count,
146
+ taskBoards: data.tms_TaskBoard_aggregate.aggregate.count,
147
+ users: data.tms_User_aggregate.aggregate.count,
148
+ };
149
+ }
108
150
  async function syncLinearData(options) {
109
151
  const fileConfig = await (0, loader_1.loadConfig)();
110
152
  const config = (0, loader_1.mergeConfig)(fileConfig, options);
@@ -119,22 +161,53 @@ async function syncLinearData(options) {
119
161
  if (!config.graph) {
120
162
  throw new Error('Faros graph is required. Set FAROS_GRAPH environment variable or use --graph.');
121
163
  }
122
- // Get cutoff days and page size from options or config file defaults
164
+ if (!config.origin) {
165
+ throw new Error('Origin is required. Set FAROS_ORIGIN environment variable or configure in faros.config.yaml.');
166
+ }
167
+ // Get date filtering options from CLI or config file
123
168
  const linearSource = config.sources?.linear;
124
- const cutoffDays = options.cutoffDays || linearSource?.cutoffDays || 90;
125
- const pageSize = options.pageSize || linearSource?.pageSize || 50;
169
+ const cutoffDays = options.cutoffDays || linearSource?.cutoffDays;
170
+ const startDate = options.startDate || linearSource?.startDate;
171
+ const endDate = options.endDate || linearSource?.endDate;
172
+ const pageSize = options.pageSize || linearSource?.pageSize;
173
+ // Get Docker images from config
174
+ const srcImage = linearSource?.srcImage;
175
+ const dstImage = linearSource?.dstImage;
176
+ // Validate required Linear source configuration
177
+ if (!linearSource) {
178
+ throw new Error('Linear source configuration not found in faros.config.yaml. Add a "sources.linear" section.');
179
+ }
180
+ if (!pageSize) {
181
+ throw new Error('Linear pageSize is required. Set in faros.config.yaml under sources.linear.pageSize or use --page-size.');
182
+ }
183
+ if (!srcImage) {
184
+ throw new Error('Linear srcImage is required. Set in faros.config.yaml under sources.linear.srcImage (e.g., farosfde/airbyte-linear-source:1.0.1).');
185
+ }
186
+ if (!dstImage) {
187
+ throw new Error('Linear dstImage is required. Set in faros.config.yaml under sources.linear.dstImage (e.g., farosfde/airbyte-faros-destination:1.0.1).');
188
+ }
189
+ // Require either date range OR cutoffDays
190
+ if (!startDate && !endDate && !cutoffDays) {
191
+ throw new Error('Linear date filtering is required. Set cutoffDays in faros.config.yaml or use --cutoff-days / --start-date.');
192
+ }
126
193
  // Preview mode
127
194
  if (options.preview) {
128
195
  console.log();
129
196
  console.log(chalk_1.default.bold('Linear Sync Configuration:'));
130
197
  console.log();
131
198
  console.log(chalk_1.default.blue('Source:'));
132
- console.log(` Image: farossam/airbyte-linear-source:1.0.1`);
133
- console.log(` Cutoff Days: ${cutoffDays}`);
199
+ console.log(` Image: ${srcImage}`);
200
+ // Show date filtering method
201
+ if (startDate || endDate) {
202
+ console.log(` Date Range: ${startDate || '(beginning)'} to ${endDate || '(now)'}`);
203
+ }
204
+ else {
205
+ console.log(` Cutoff Days: ${cutoffDays}`);
206
+ }
134
207
  console.log(` Page Size: ${pageSize}`);
135
208
  console.log();
136
209
  console.log(chalk_1.default.blue('Destination:'));
137
- console.log(` Image: farosai/airbyte-faros-destination:latest`);
210
+ console.log(` Image: ${dstImage}`);
138
211
  console.log(` Graph: ${config.graph}`);
139
212
  console.log(` URL: ${config.url}`);
140
213
  console.log(` Origin: ${config.origin}`);
@@ -157,19 +230,46 @@ async function syncLinearData(options) {
157
230
  ...options,
158
231
  linearApiKey,
159
232
  cutoffDays,
233
+ startDate,
234
+ endDate,
160
235
  pageSize,
161
236
  };
162
- configPath = createTempConfig(tempOptions, config);
237
+ configPath = createTempConfig(tempOptions, config, srcImage, dstImage);
163
238
  spinner.succeed('Configuration prepared');
164
239
  const syncSpinner = ui_1.ui.spinner('Syncing Linear data to Faros...');
165
240
  syncSpinner.start();
166
241
  // Run airbyte-local
167
242
  await runAirbyteSync(configPath);
168
243
  syncSpinner.succeed('Linear data synced successfully');
169
- console.log();
170
- ui_1.ui.log.success('Sync completed');
171
- console.log(chalk_1.default.dim(` Graph: ${config.graph}`));
172
- console.log(chalk_1.default.dim(` View in Faros: ${config.url.replace('/api', '')}/${config.graph}/tms`));
244
+ // Query stats after sync
245
+ const statsSpinner = ui_1.ui.spinner('Fetching sync statistics...');
246
+ statsSpinner.start();
247
+ try {
248
+ const stats = await querySyncStats(config.apiKey, config.url, config.graph, config.origin);
249
+ statsSpinner.succeed('Statistics retrieved');
250
+ console.log();
251
+ ui_1.ui.log.success('Sync completed');
252
+ console.log();
253
+ console.log(chalk_1.default.bold('Records synced:'));
254
+ console.log(chalk_1.default.cyan(` • Tasks: ${stats.tasks.toLocaleString()}`));
255
+ console.log(chalk_1.default.cyan(` • Projects: ${stats.projects.toLocaleString()}`));
256
+ console.log(chalk_1.default.cyan(` • Task Boards: ${stats.taskBoards.toLocaleString()}`));
257
+ console.log(chalk_1.default.cyan(` • Users: ${stats.users.toLocaleString()}`));
258
+ console.log();
259
+ console.log(chalk_1.default.bold('Destination:'));
260
+ console.log(chalk_1.default.dim(` • Graph: ${config.graph}`));
261
+ console.log(chalk_1.default.dim(` • Origin: ${config.origin}`));
262
+ console.log(chalk_1.default.dim(` • View in UI: ${config.url.replace('/api', '')}/${config.graph}/tms`));
263
+ }
264
+ catch (error) {
265
+ statsSpinner.fail('Could not retrieve statistics');
266
+ ui_1.ui.log.warning(`Stats query failed: ${error.message}`);
267
+ // Fall back to basic success message
268
+ console.log();
269
+ ui_1.ui.log.success('Sync completed');
270
+ console.log(chalk_1.default.dim(` Graph: ${config.graph}`));
271
+ console.log(chalk_1.default.dim(` View in Faros: ${config.url.replace('/api', '')}/${config.graph}/tms`));
272
+ }
173
273
  }
174
274
  catch (error) {
175
275
  // Try to fail spinner if it's still running
@@ -205,6 +305,8 @@ function syncLinearCommand() {
205
305
  .description('Sync Linear issues, projects, teams, and users to Faros')
206
306
  .option('--linear-api-key <key>', 'Linear API key (or set LINEAR_API_KEY env var)')
207
307
  .option('--cutoff-days <days>', 'Fetch issues updated in the last N days', parseInt)
308
+ .option('--start-date <date>', 'Start date for fetching data (YYYY-MM-DD format)')
309
+ .option('--end-date <date>', 'End date for fetching data (YYYY-MM-DD format)')
208
310
  .option('--page-size <size>', 'Number of records per API call (1-250)', parseInt)
209
311
  .option('--preview', 'Show sync configuration without executing')
210
312
  .addHelpText('after', `
@@ -219,24 +321,27 @@ Examples:
219
321
  # Sync only recent issues (last 30 days)
220
322
  $ faros sync linear --cutoff-days 30
221
323
 
324
+ # Or use explicit date range
325
+ $ faros sync linear --start-date 2024-01-01 --end-date 2024-12-31
326
+
222
327
  # Preview configuration before syncing
223
328
  $ faros sync linear --preview
224
329
 
225
330
  Configuration:
331
+ Requires faros.config.yaml with Linear source configuration.
226
332
  The command reads configuration from multiple sources (in order of precedence):
227
333
  1. CLI options (--linear-api-key, --cutoff-days, etc.)
228
334
  2. Environment variables (LINEAR_API_KEY, FAROS_API_KEY, FAROS_GRAPH)
229
- 3. Config file (faros.config.yaml)
230
- 4. Defaults (cutoff-days: 90, page-size: 50)
335
+ 3. Config file (faros.config.yaml) - required
231
336
 
232
337
  Example faros.config.yaml:
233
338
  url: https://prod.api.faros.ai
234
339
  graph: default
235
- origin: my-company-ci
340
+ origin: faros-cli
236
341
  sources:
237
342
  linear:
238
- cutoffDays: 30
239
- pageSize: 100
343
+ cutoffDays: 180 # required: days to look back
344
+ pageSize: 50 # required: records per API call
240
345
 
241
346
  Notes:
242
347
  - Linear API key can be generated at https://linear.app/settings/api
@@ -1 +1 @@
1
- {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/commands/sync/linear.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/commands/sync/linear.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkCvD,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwBzD;AAED,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,UAAU,EAAE,GAAG,EACf,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAgDR"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkCvD,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwBzD;AAED,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,UAAU,EAAE,GAAG,EACf,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAiDR"}
@@ -92,13 +92,11 @@ async function loadConfig() {
92
92
  }
93
93
  }
94
94
  function mergeConfig(fileConfig, cliOptions, envVars = process.env) {
95
+ if (!fileConfig) {
96
+ throw new Error('Configuration file not found. Please create a faros.config.yaml file. ' +
97
+ 'See https://github.com/faros-fde/faros-cli for configuration template.');
98
+ }
95
99
  const merged = {
96
- url: 'https://prod.api.faros.ai',
97
- graph: 'default',
98
- origin: 'faros-cli',
99
- defaults: {
100
- concurrency: 8,
101
- },
102
100
  ...fileConfig,
103
101
  };
104
102
  // Strip any credentials that may have been placed in the config file.
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  export declare const ConfigSchema: z.ZodObject<{
3
- url: z.ZodDefault<z.ZodString>;
4
- graph: z.ZodDefault<z.ZodString>;
5
- origin: z.ZodDefault<z.ZodString>;
3
+ url: z.ZodString;
4
+ graph: z.ZodString;
5
+ origin: z.ZodString;
6
6
  apiKey: z.ZodOptional<z.ZodString>;
7
7
  sources: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
8
8
  type: z.ZodOptional<z.ZodString>;
@@ -53,22 +53,22 @@ export declare const ConfigSchema: z.ZodObject<{
53
53
  defaults: z.ZodOptional<z.ZodObject<{
54
54
  testSource: z.ZodOptional<z.ZodString>;
55
55
  testType: z.ZodOptional<z.ZodString>;
56
- concurrency: z.ZodDefault<z.ZodNumber>;
56
+ concurrency: z.ZodOptional<z.ZodNumber>;
57
57
  }, "strip", z.ZodTypeAny, {
58
- concurrency: number;
59
58
  testSource?: string | undefined;
60
59
  testType?: string | undefined;
60
+ concurrency?: number | undefined;
61
61
  }, {
62
62
  testSource?: string | undefined;
63
63
  testType?: string | undefined;
64
64
  concurrency?: number | undefined;
65
65
  }>>;
66
66
  logs: z.ZodOptional<z.ZodObject<{
67
- level: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
67
+ level: z.ZodEnum<["debug", "info", "warn", "error"]>;
68
68
  }, "strip", z.ZodTypeAny, {
69
69
  level: "debug" | "info" | "warn" | "error";
70
70
  }, {
71
- level?: "debug" | "info" | "warn" | "error" | undefined;
71
+ level: "debug" | "info" | "warn" | "error";
72
72
  }>>;
73
73
  }, "strip", z.ZodTypeAny, {
74
74
  url: string;
@@ -92,17 +92,17 @@ export declare const ConfigSchema: z.ZodObject<{
92
92
  connectionName?: string | undefined;
93
93
  }> | null | undefined;
94
94
  defaults?: {
95
- concurrency: number;
96
95
  testSource?: string | undefined;
97
96
  testType?: string | undefined;
97
+ concurrency?: number | undefined;
98
98
  } | undefined;
99
99
  logs?: {
100
100
  level: "debug" | "info" | "warn" | "error";
101
101
  } | undefined;
102
102
  }, {
103
- url?: string | undefined;
104
- graph?: string | undefined;
105
- origin?: string | undefined;
103
+ url: string;
104
+ graph: string;
105
+ origin: string;
106
106
  apiKey?: string | undefined;
107
107
  sources?: Record<string, {
108
108
  type?: string | undefined;
@@ -126,7 +126,7 @@ export declare const ConfigSchema: z.ZodObject<{
126
126
  concurrency?: number | undefined;
127
127
  } | undefined;
128
128
  logs?: {
129
- level?: "debug" | "info" | "warn" | "error" | undefined;
129
+ level: "debug" | "info" | "warn" | "error";
130
130
  } | undefined;
131
131
  }>;
132
132
  export type Config = z.infer<typeof ConfigSchema>;
@@ -5,10 +5,10 @@ const zod_1 = require("zod");
5
5
  // Config schema
6
6
  // NOTE: All credentials (API keys, tokens) MUST be in .env or env vars, NOT in config files.
7
7
  exports.ConfigSchema = zod_1.z.object({
8
- // API Configuration (can be in config file)
9
- url: zod_1.z.string().url().default('https://prod.api.faros.ai'),
10
- graph: zod_1.z.string().default('default'),
11
- origin: zod_1.z.string().default('faros-cli'),
8
+ // API Configuration (required in config file)
9
+ url: zod_1.z.string().url(),
10
+ graph: zod_1.z.string(),
11
+ origin: zod_1.z.string(),
12
12
  // Credentials - populated at runtime from env vars / CLI flags only.
13
13
  // Not read from config file. Set FAROS_API_KEY in .env or environment.
14
14
  apiKey: zod_1.z.string().optional(),
@@ -37,11 +37,11 @@ exports.ConfigSchema = zod_1.z.object({
37
37
  defaults: zod_1.z.object({
38
38
  testSource: zod_1.z.string().optional(),
39
39
  testType: zod_1.z.string().optional(),
40
- concurrency: zod_1.z.number().default(8),
40
+ concurrency: zod_1.z.number().optional(),
41
41
  }).optional(),
42
42
  // Logging
43
43
  logs: zod_1.z.object({
44
- level: zod_1.z.enum(['debug', 'info', 'warn', 'error']).default('info'),
44
+ level: zod_1.z.enum(['debug', 'info', 'warn', 'error']),
45
45
  }).optional(),
46
46
  });
47
47
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,gBAAgB;AAChB,6FAA6F;AAChF,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,4CAA4C;IAC5C,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC;IAC1D,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAEvC,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE7B,eAAe;IACf,iFAAiF;IACjF,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,iBAAiB;QAChD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY;QAC3C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY;QAC3C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa;QAC7C,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvC,2BAA2B;QAC3B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,yBAAyB;QACzB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,sBAAsB;QACtB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAEzB,WAAW;IACX,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;KACnC,CAAC,CAAC,QAAQ,EAAE;IAEb,UAAU;IACV,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KAClE,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,gBAAgB;AAChB,6FAA6F;AAChF,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,8CAA8C;IAC9C,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAElB,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE7B,eAAe;IACf,iFAAiF;IACjF,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,iBAAiB;QAChD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY;QAC3C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY;QAC3C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa;QAC7C,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvC,2BAA2B;QAC3B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,yBAAyB;QACzB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,sBAAsB;QACtB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAEzB,WAAW;IACX,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC,CAAC,QAAQ,EAAE;IAEb,UAAU;IACV,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KAClD,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faros-fde-sandbox/cli",
3
- "version": "2.0.6",
3
+ "version": "2.1.1",
4
4
  "description": "CLI for Faros AI - sync test results and CI/CD events",
5
5
  "keywords": [
6
6
  "faros",