@aiready/cli 0.12.11 → 0.12.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.
@@ -184,7 +184,7 @@ export async function scanAction(directory: string, options: ScanOptions) {
184
184
  const results = await analyzeUnified({
185
185
  ...finalOptions,
186
186
  progressCallback,
187
- onProgress: () => { },
187
+ onProgress: () => {},
188
188
  suppressToolConfig: true,
189
189
  });
190
190
 
package/src/index.ts CHANGED
@@ -181,15 +181,26 @@ export async function analyzeUnified(
181
181
  // 1. Pass through all known infra and fine-tuning options from root level
182
182
  [...GLOBAL_INFRA_OPTIONS, ...COMMON_FINE_TUNING_OPTIONS].forEach(
183
183
  (key) => {
184
- if (key in options && key !== 'toolConfigs') {
184
+ if (key in options && key !== 'toolConfigs' && key !== 'tools') {
185
185
  toolOptions[key] = (options as any)[key];
186
186
  }
187
187
  }
188
188
  );
189
189
 
190
190
  // 3. Add tool-specific overrides
191
+ // Check priority:
192
+ // a) options.toolConfigs[toolId]
193
+ // b) options.tools[toolId] (if tools is an object, not the array of tool names)
194
+ // c) options[toolId] (legacy)
191
195
  if (options.toolConfigs?.[provider.id]) {
192
196
  Object.assign(toolOptions, options.toolConfigs[provider.id]);
197
+ } else if (
198
+ options.tools &&
199
+ !Array.isArray(options.tools) &&
200
+ typeof options.tools === 'object' &&
201
+ (options.tools as any)[provider.id]
202
+ ) {
203
+ Object.assign(toolOptions, (options.tools as any)[provider.id]);
193
204
  } else if ((options as any)[provider.id]) {
194
205
  // Fallback for legacy tool-specific keys
195
206
  Object.assign(toolOptions, (options as any)[provider.id]);
@@ -275,10 +286,18 @@ export async function analyzeUnified(
275
286
  }
276
287
  }
277
288
 
278
- // Finalize configuration for metadata
289
+ // Finalize configuration for metadata to match AIReadyConfig structure
279
290
  result.summary.config = {
280
- ...options,
281
- toolConfigs: result.summary.toolConfigs,
291
+ scan: {
292
+ tools: requestedTools,
293
+ include: options.include,
294
+ exclude: options.exclude,
295
+ },
296
+ // Use 'tools' for tool-specific configurations to match AIReadyConfig
297
+ tools: result.summary.toolConfigs,
298
+ // Keep top-level options for backward compatibility
299
+ rootDir: options.rootDir,
300
+ useSmartDefaults: options.useSmartDefaults,
282
301
  };
283
302
 
284
303
  result.summary.executionTime = Date.now() - startTime;