circle-ir-ai 2.7.1 → 2.7.3

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 (158) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/dist/health-score/calculator.d.ts.map +1 -1
  3. package/dist/health-score/calculator.js +15 -0
  4. package/dist/health-score/calculator.js.map +1 -1
  5. package/dist/quality/calculator.d.ts +4 -0
  6. package/dist/quality/calculator.d.ts.map +1 -1
  7. package/dist/quality/calculator.js +4 -0
  8. package/dist/quality/calculator.js.map +1 -1
  9. package/dist/specifica/conflict-resolver.d.ts.map +1 -1
  10. package/dist/specifica/conflict-resolver.js +13 -1
  11. package/dist/specifica/conflict-resolver.js.map +1 -1
  12. package/dist/specifica/generator.js +19 -3
  13. package/dist/specifica/generator.js.map +1 -1
  14. package/package.json +2 -2
  15. package/dist/cli/args.d.ts +0 -86
  16. package/dist/cli/args.d.ts.map +0 -1
  17. package/dist/cli/args.js +0 -653
  18. package/dist/cli/args.js.map +0 -1
  19. package/dist/cli/colors.d.ts +0 -31
  20. package/dist/cli/colors.d.ts.map +0 -1
  21. package/dist/cli/colors.js +0 -80
  22. package/dist/cli/colors.js.map +0 -1
  23. package/dist/cli/commands/analyze-skill.d.ts +0 -33
  24. package/dist/cli/commands/analyze-skill.d.ts.map +0 -1
  25. package/dist/cli/commands/analyze-skill.js +0 -217
  26. package/dist/cli/commands/analyze-skill.js.map +0 -1
  27. package/dist/cli/commands/analyze.d.ts +0 -19
  28. package/dist/cli/commands/analyze.d.ts.map +0 -1
  29. package/dist/cli/commands/analyze.js +0 -303
  30. package/dist/cli/commands/analyze.js.map +0 -1
  31. package/dist/cli/commands/benchmark-runner.d.ts +0 -42
  32. package/dist/cli/commands/benchmark-runner.d.ts.map +0 -1
  33. package/dist/cli/commands/benchmark-runner.js +0 -18
  34. package/dist/cli/commands/benchmark-runner.js.map +0 -1
  35. package/dist/cli/commands/benchmark.d.ts +0 -11
  36. package/dist/cli/commands/benchmark.d.ts.map +0 -1
  37. package/dist/cli/commands/benchmark.js +0 -90
  38. package/dist/cli/commands/benchmark.js.map +0 -1
  39. package/dist/cli/commands/cluster.d.ts +0 -12
  40. package/dist/cli/commands/cluster.d.ts.map +0 -1
  41. package/dist/cli/commands/cluster.js +0 -203
  42. package/dist/cli/commands/cluster.js.map +0 -1
  43. package/dist/cli/commands/compare.d.ts +0 -13
  44. package/dist/cli/commands/compare.d.ts.map +0 -1
  45. package/dist/cli/commands/compare.js +0 -109
  46. package/dist/cli/commands/compare.js.map +0 -1
  47. package/dist/cli/commands/dead-code.d.ts +0 -11
  48. package/dist/cli/commands/dead-code.d.ts.map +0 -1
  49. package/dist/cli/commands/dead-code.js +0 -75
  50. package/dist/cli/commands/dead-code.js.map +0 -1
  51. package/dist/cli/commands/generate-spec.d.ts +0 -11
  52. package/dist/cli/commands/generate-spec.d.ts.map +0 -1
  53. package/dist/cli/commands/generate-spec.js +0 -120
  54. package/dist/cli/commands/generate-spec.js.map +0 -1
  55. package/dist/cli/commands/health.d.ts +0 -11
  56. package/dist/cli/commands/health.d.ts.map +0 -1
  57. package/dist/cli/commands/health.js +0 -76
  58. package/dist/cli/commands/health.js.map +0 -1
  59. package/dist/cli/commands/index.d.ts +0 -30
  60. package/dist/cli/commands/index.d.ts.map +0 -1
  61. package/dist/cli/commands/index.js +0 -36
  62. package/dist/cli/commands/index.js.map +0 -1
  63. package/dist/cli/commands/metrics.d.ts +0 -12
  64. package/dist/cli/commands/metrics.d.ts.map +0 -1
  65. package/dist/cli/commands/metrics.js +0 -231
  66. package/dist/cli/commands/metrics.js.map +0 -1
  67. package/dist/cli/commands/project.d.ts +0 -21
  68. package/dist/cli/commands/project.d.ts.map +0 -1
  69. package/dist/cli/commands/project.js +0 -92
  70. package/dist/cli/commands/project.js.map +0 -1
  71. package/dist/cli/commands/quality.d.ts +0 -15
  72. package/dist/cli/commands/quality.d.ts.map +0 -1
  73. package/dist/cli/commands/quality.js +0 -86
  74. package/dist/cli/commands/quality.js.map +0 -1
  75. package/dist/cli/commands/scan.d.ts +0 -11
  76. package/dist/cli/commands/scan.d.ts.map +0 -1
  77. package/dist/cli/commands/scan.js +0 -102
  78. package/dist/cli/commands/scan.js.map +0 -1
  79. package/dist/cli/commands/secrets.d.ts +0 -11
  80. package/dist/cli/commands/secrets.d.ts.map +0 -1
  81. package/dist/cli/commands/secrets.js +0 -79
  82. package/dist/cli/commands/secrets.js.map +0 -1
  83. package/dist/cli/commands/spec-diff.d.ts +0 -12
  84. package/dist/cli/commands/spec-diff.d.ts.map +0 -1
  85. package/dist/cli/commands/spec-diff.js +0 -150
  86. package/dist/cli/commands/spec-diff.js.map +0 -1
  87. package/dist/cli/commands/swarm.d.ts +0 -21
  88. package/dist/cli/commands/swarm.d.ts.map +0 -1
  89. package/dist/cli/commands/swarm.js +0 -175
  90. package/dist/cli/commands/swarm.js.map +0 -1
  91. package/dist/cli/commands/trust.d.ts +0 -23
  92. package/dist/cli/commands/trust.d.ts.map +0 -1
  93. package/dist/cli/commands/trust.js +0 -397
  94. package/dist/cli/commands/trust.js.map +0 -1
  95. package/dist/cli/commands/understand.d.ts +0 -12
  96. package/dist/cli/commands/understand.d.ts.map +0 -1
  97. package/dist/cli/commands/understand.js +0 -188
  98. package/dist/cli/commands/understand.js.map +0 -1
  99. package/dist/cli/config.d.ts +0 -161
  100. package/dist/cli/config.d.ts.map +0 -1
  101. package/dist/cli/config.js +0 -383
  102. package/dist/cli/config.js.map +0 -1
  103. package/dist/cli/discovery.d.ts +0 -31
  104. package/dist/cli/discovery.d.ts.map +0 -1
  105. package/dist/cli/discovery.js +0 -212
  106. package/dist/cli/discovery.js.map +0 -1
  107. package/dist/cli/effective-options.d.ts +0 -42
  108. package/dist/cli/effective-options.d.ts.map +0 -1
  109. package/dist/cli/effective-options.js +0 -80
  110. package/dist/cli/effective-options.js.map +0 -1
  111. package/dist/cli/file-collection.d.ts +0 -49
  112. package/dist/cli/file-collection.d.ts.map +0 -1
  113. package/dist/cli/file-collection.js +0 -142
  114. package/dist/cli/file-collection.js.map +0 -1
  115. package/dist/cli/formatters/index.d.ts +0 -15
  116. package/dist/cli/formatters/index.d.ts.map +0 -1
  117. package/dist/cli/formatters/index.js +0 -51
  118. package/dist/cli/formatters/index.js.map +0 -1
  119. package/dist/cli/formatters/json.d.ts +0 -11
  120. package/dist/cli/formatters/json.d.ts.map +0 -1
  121. package/dist/cli/formatters/json.js +0 -12
  122. package/dist/cli/formatters/json.js.map +0 -1
  123. package/dist/cli/formatters/project-json.d.ts +0 -11
  124. package/dist/cli/formatters/project-json.d.ts.map +0 -1
  125. package/dist/cli/formatters/project-json.js +0 -12
  126. package/dist/cli/formatters/project-json.js.map +0 -1
  127. package/dist/cli/formatters/project-sarif.d.ts +0 -11
  128. package/dist/cli/formatters/project-sarif.d.ts.map +0 -1
  129. package/dist/cli/formatters/project-sarif.js +0 -127
  130. package/dist/cli/formatters/project-sarif.js.map +0 -1
  131. package/dist/cli/formatters/project-summary.d.ts +0 -11
  132. package/dist/cli/formatters/project-summary.d.ts.map +0 -1
  133. package/dist/cli/formatters/project-summary.js +0 -202
  134. package/dist/cli/formatters/project-summary.js.map +0 -1
  135. package/dist/cli/formatters/sarif-shared.d.ts +0 -101
  136. package/dist/cli/formatters/sarif-shared.d.ts.map +0 -1
  137. package/dist/cli/formatters/sarif-shared.js +0 -57
  138. package/dist/cli/formatters/sarif-shared.js.map +0 -1
  139. package/dist/cli/formatters/sarif.d.ts +0 -12
  140. package/dist/cli/formatters/sarif.d.ts.map +0 -1
  141. package/dist/cli/formatters/sarif.js +0 -92
  142. package/dist/cli/formatters/sarif.js.map +0 -1
  143. package/dist/cli/formatters/summary.d.ts +0 -11
  144. package/dist/cli/formatters/summary.d.ts.map +0 -1
  145. package/dist/cli/formatters/summary.js +0 -240
  146. package/dist/cli/formatters/summary.js.map +0 -1
  147. package/dist/cli/formatters/two-phase-summary.d.ts +0 -11
  148. package/dist/cli/formatters/two-phase-summary.d.ts.map +0 -1
  149. package/dist/cli/formatters/two-phase-summary.js +0 -188
  150. package/dist/cli/formatters/two-phase-summary.js.map +0 -1
  151. package/dist/cli/index.d.ts +0 -10
  152. package/dist/cli/index.d.ts.map +0 -1
  153. package/dist/cli/index.js +0 -72
  154. package/dist/cli/index.js.map +0 -1
  155. package/dist/cli/program.d.ts +0 -117
  156. package/dist/cli/program.d.ts.map +0 -1
  157. package/dist/cli/program.js +0 -825
  158. package/dist/cli/program.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../../src/cli/commands/trust.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Understand Command
3
- *
4
- * Extracts semantic understanding from source files: what each function
5
- * does, module roles, side effects, and security surface.
6
- *
7
- * Usage:
8
- * cognium-ai understand <path> [--format json]
9
- */
10
- import type { CliArgs } from '../args.js';
11
- export declare function executeUnderstand(args: CliArgs): Promise<number>;
12
- //# sourceMappingURL=understand.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"understand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/understand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAmF1C,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA6GtE"}
@@ -1,188 +0,0 @@
1
- /**
2
- * Understand Command
3
- *
4
- * Extracts semantic understanding from source files: what each function
5
- * does, module roles, side effects, and security surface.
6
- *
7
- * Usage:
8
- * cognium-ai understand <path> [--format json]
9
- */
10
- import * as fs from 'fs';
11
- import * as path from 'path';
12
- import { isAnalyzerInitialized, analyze } from 'circle-ir';
13
- import { ensureAnalyzerInitialized } from '../../utils/analyzer-init.js';
14
- import { summarizeAllFunctions } from '../../understand/effect-summarizer.js';
15
- import { summarizeModule } from '../../understand/module-summarizer.js';
16
- import { collectFiles as collectSourceFiles } from '../file-collection.js';
17
- import { getEffectiveOptions } from '../effective-options.js';
18
- // ---------------------------------------------------------------------------
19
- // Text formatting
20
- // ---------------------------------------------------------------------------
21
- function formatTextReport(summaries, totalBeforeTop) {
22
- const lines = [];
23
- lines.push('===============================================================');
24
- lines.push(' UNDERSTAND REPORT');
25
- lines.push('===============================================================');
26
- lines.push('');
27
- // Role breakdown summary at top
28
- if (summaries.length > 0) {
29
- const byRole = {};
30
- for (const m of summaries)
31
- byRole[m.role] = (byRole[m.role] || 0) + 1;
32
- const roleSummary = Object.entries(byRole)
33
- .sort((a, b) => b[1] - a[1])
34
- .map(([r, n]) => `${r}: ${n}`)
35
- .join(' ');
36
- lines.push(`Modules by role: ${roleSummary}`);
37
- lines.push('');
38
- }
39
- for (const mod of summaries) {
40
- lines.push(`Module: ${mod.file}`);
41
- lines.push(` Role: ${mod.role}`);
42
- lines.push(` Purpose: ${mod.purpose}`);
43
- lines.push('');
44
- if (mod.publicAPI.length > 0) {
45
- lines.push(' Public API:');
46
- for (const fn of mod.publicAPI) {
47
- const params = fn.parameters.map(p => `${p.name}: ${p.type}`).join(', ');
48
- lines.push(` ${fn.name}(${params}) -> ${fn.returnType}`);
49
- if (fn.sideEffects.length > 0) {
50
- const effects = fn.sideEffects.map(se => `${se.kind} (${se.detail})`).join(', ');
51
- lines.push(` Side effects: ${effects}`);
52
- }
53
- }
54
- lines.push('');
55
- }
56
- const sec = mod.securitySurface;
57
- if (sec.inputSources > 0 || sec.dangerousSinks > 0 || sec.unsanitizedFlows > 0) {
58
- lines.push(` Security Surface: ${sec.inputSources} sources, ${sec.dangerousSinks} sinks, ${sec.unsanitizedFlows} unsanitized flows`);
59
- lines.push('');
60
- }
61
- if (mod.dependencies.length > 0) {
62
- lines.push(` Dependencies: ${mod.dependencies.join(', ')}`);
63
- lines.push('');
64
- }
65
- lines.push('---------------------------------------------------------------');
66
- }
67
- // Summary
68
- const totalFunctions = summaries.reduce((sum, m) => sum + m.publicAPI.length, 0);
69
- const totalEffects = summaries.reduce((sum, m) => sum + m.publicAPI.reduce((s, f) => s + f.sideEffects.length, 0), 0);
70
- lines.push('');
71
- const truncatedHint = totalBeforeTop !== undefined && totalBeforeTop > summaries.length
72
- ? ` (showing ${summaries.length} of ${totalBeforeTop} after filters)`
73
- : '';
74
- lines.push(` Files: ${summaries.length} Functions: ${totalFunctions} Side Effects: ${totalEffects}${truncatedHint}`);
75
- lines.push('===============================================================');
76
- return lines.join('\n');
77
- }
78
- // ---------------------------------------------------------------------------
79
- // Main command
80
- // ---------------------------------------------------------------------------
81
- export async function executeUnderstand(args) {
82
- const targetPath = args.directory || args.file || process.cwd();
83
- if (!fs.existsSync(targetPath)) {
84
- console.error(`Error: Path not found: ${targetPath}`);
85
- return 1;
86
- }
87
- if (!args.quiet) {
88
- console.error(`Running semantic understanding on ${targetPath}...`);
89
- }
90
- try {
91
- // Initialize analyzer
92
- if (!isAnalyzerInitialized()) {
93
- if (!args.quiet)
94
- console.error(' Initializing analyzer...');
95
- await ensureAnalyzerInitialized();
96
- }
97
- // Collect and analyze files (respects --include/--exclude and config)
98
- const eff = getEffectiveOptions(args, targetPath);
99
- const files = collectSourceFiles(targetPath, {
100
- include: eff.include,
101
- exclude: eff.exclude,
102
- maxFiles: args.maxFiles ?? 500,
103
- });
104
- if (!args.quiet) {
105
- console.error(` Found ${files.length} source file(s)`);
106
- }
107
- const summaries = [];
108
- for (const file of files) {
109
- try {
110
- const content = fs.readFileSync(file.path, 'utf-8');
111
- const ir = await analyze(content, path.basename(file.path), file.language);
112
- const effects = summarizeAllFunctions(ir);
113
- const moduleSummary = await summarizeModule(file.path, ir, effects);
114
- summaries.push(moduleSummary);
115
- if (!args.quiet) {
116
- console.error(` [${moduleSummary.role}] ${path.basename(file.path)} — ${moduleSummary.publicAPI.length} public methods`);
117
- }
118
- }
119
- catch {
120
- // Skip files that fail analysis
121
- }
122
- }
123
- // Apply --role filter and --security-only filter
124
- let filtered = summaries;
125
- if (args.role.length > 0) {
126
- const allowed = new Set(args.role);
127
- filtered = filtered.filter(m => allowed.has(m.role));
128
- }
129
- if (args.securityOnly) {
130
- filtered = filtered.filter(m => {
131
- const sec = m.securitySurface;
132
- return sec.inputSources > 0 || sec.dangerousSinks > 0 || sec.unsanitizedFlows > 0;
133
- });
134
- }
135
- // Sort by public-API size (descending) and apply --top
136
- filtered = [...filtered].sort((a, b) => b.publicAPI.length - a.publicAPI.length);
137
- const totalAfterFilter = filtered.length;
138
- if (args.top !== null && args.top > 0) {
139
- filtered = filtered.slice(0, args.top);
140
- }
141
- // Build result
142
- const result = {
143
- files: filtered,
144
- totalFunctions: filtered.reduce((sum, m) => sum + m.publicAPI.length, 0),
145
- totalSideEffects: filtered.reduce((sum, m) => sum + m.publicAPI.reduce((s, f) => s + f.sideEffects.length, 0), 0),
146
- method: 'static',
147
- };
148
- if (!args.quiet && filtered.length < summaries.length) {
149
- const reasons = [];
150
- if (args.role.length > 0)
151
- reasons.push(`role=[${args.role.join(',')}]`);
152
- if (args.securityOnly)
153
- reasons.push('security-only');
154
- if (args.top !== null)
155
- reasons.push(`top=${args.top}`);
156
- console.error(` Filtered to ${filtered.length} of ${summaries.length} module(s) (${reasons.join(', ')})`);
157
- }
158
- // Output
159
- if (args.format === 'json') {
160
- const output = JSON.stringify(result, null, 2);
161
- if (args.output) {
162
- fs.writeFileSync(args.output, output);
163
- if (!args.quiet)
164
- console.error(`Output written to ${args.output}`);
165
- }
166
- else {
167
- console.log(output);
168
- }
169
- }
170
- else {
171
- const report = formatTextReport(filtered, totalAfterFilter);
172
- if (args.output) {
173
- fs.writeFileSync(args.output, report);
174
- if (!args.quiet)
175
- console.error(`Output written to ${args.output}`);
176
- }
177
- else {
178
- console.log(report);
179
- }
180
- }
181
- return 0;
182
- }
183
- catch (error) {
184
- console.error('Error:', error instanceof Error ? error.message : error);
185
- return 1;
186
- }
187
- }
188
- //# sourceMappingURL=understand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"understand.js","sourceRoot":"","sources":["../../../src/cli/commands/understand.ts"],"names":[],"mappings":"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"}
@@ -1,161 +0,0 @@
1
- /**
2
- * Configuration File Loader
3
- *
4
- * Loads and parses .circle-ir.yaml configuration files.
5
- */
6
- import type { TaintConfig } from 'circle-ir';
7
- /**
8
- * User configuration file schema.
9
- */
10
- export interface UserConfig {
11
- project?: {
12
- name?: string;
13
- framework?: string;
14
- framework_version?: string;
15
- };
16
- include?: string[];
17
- exclude?: string[];
18
- analysis?: {
19
- max_files?: number;
20
- timeout_ms?: number;
21
- severity_threshold?: 'critical' | 'high' | 'medium' | 'low';
22
- };
23
- rules?: {
24
- sources?: UserSourcePattern[];
25
- sinks?: UserSinkPattern[];
26
- sanitizers?: UserSanitizerPattern[];
27
- };
28
- overrides?: {
29
- disable_rules?: string[];
30
- severity_overrides?: Record<string, string>;
31
- };
32
- }
33
- /**
34
- * User-defined source pattern (simplified).
35
- */
36
- export interface UserSourcePattern {
37
- method?: string;
38
- class?: string;
39
- annotation?: string;
40
- type: string;
41
- severity?: 'critical' | 'high' | 'medium' | 'low';
42
- }
43
- /**
44
- * User-defined sink pattern (simplified).
45
- */
46
- export interface UserSinkPattern {
47
- method: string;
48
- class?: string;
49
- type: string;
50
- cwe: string;
51
- severity?: 'critical' | 'high' | 'medium' | 'low';
52
- arg_positions?: number[];
53
- }
54
- /**
55
- * User-defined sanitizer pattern (simplified).
56
- */
57
- export interface UserSanitizerPattern {
58
- method?: string;
59
- class?: string;
60
- annotation?: string;
61
- removes: string[];
62
- }
63
- /**
64
- * Resolved configuration with all defaults applied.
65
- */
66
- export interface ResolvedConfig {
67
- project: {
68
- name?: string;
69
- framework?: string;
70
- framework_version?: string;
71
- };
72
- include: string[];
73
- exclude: string[];
74
- analysis: {
75
- max_files: number;
76
- timeout_ms: number;
77
- severity_threshold: 'critical' | 'high' | 'medium' | 'low';
78
- };
79
- taint: TaintConfig;
80
- disabled_rules: Set<string>;
81
- severity_overrides: Map<string, string>;
82
- }
83
- /**
84
- * Find a config file by searching up from a directory.
85
- */
86
- export declare function findConfigFile(startDir: string): string | null;
87
- /**
88
- * Load a config file.
89
- */
90
- export declare function loadConfigFile(configPath: string): UserConfig;
91
- /**
92
- * Resolve configuration by merging user config with defaults.
93
- */
94
- export declare function resolveConfig(userConfig: UserConfig | null): ResolvedConfig;
95
- /**
96
- * Load and resolve configuration.
97
- */
98
- export declare function loadConfig(configPath: string | null, startDir?: string): ResolvedConfig;
99
- /**
100
- * Create an example config file.
101
- */
102
- export declare function createExampleConfig(): string;
103
- import type { PassOptions } from 'circle-ir';
104
- /**
105
- * Suppression entry to exclude specific findings.
106
- */
107
- export interface Suppression {
108
- /** Pass name to suppress (e.g., 'naming-convention', 'unbounded-collection') */
109
- pass: string;
110
- /** File path (relative or absolute) — if omitted, applies to all files */
111
- file?: string;
112
- /** Specific line number — if omitted, applies to all lines in the file */
113
- line?: number;
114
- /** Reason for suppression (for documentation) */
115
- reason?: string;
116
- }
117
- /**
118
- * cognium.config.json schema — shared with cognium and cognium-ai CLIs.
119
- */
120
- export interface CogniumConfig {
121
- /** Config version for future compatibility */
122
- version?: string;
123
- /** Glob patterns to include */
124
- include?: string[];
125
- /** Glob patterns to exclude */
126
- exclude?: string[];
127
- /** Pass-specific options (passed to circle-ir via analyze() 4th arg) */
128
- passes?: {
129
- [passName: string]: boolean | {
130
- enabled?: boolean;
131
- threshold?: number;
132
- skipPatterns?: string[];
133
- enforceIPrefix?: boolean;
134
- [key: string]: unknown;
135
- };
136
- };
137
- /** Trust-specific configuration */
138
- trust?: {
139
- /** Trust passes to skip (e.g., 'god-class', 'naming-convention') */
140
- disabledPasses?: string[];
141
- };
142
- /** Findings to suppress */
143
- suppressions?: Suppression[];
144
- /** Minimum severity filter */
145
- severity?: string;
146
- /** Category filter */
147
- categories?: string[];
148
- }
149
- /**
150
- * Load CogniumConfig from cognium.config.json.
151
- * Searches up from startDir or uses explicit configPath.
152
- */
153
- export declare function loadCogniumConfig(configPath?: string, startDir?: string): CogniumConfig | null;
154
- /**
155
- * Convert CogniumConfig passes to circle-ir PassOptions and disabledPasses.
156
- */
157
- export declare function convertCogniumConfigToPassOptions(config: CogniumConfig): {
158
- passOptions: PassOptions;
159
- disabledPasses: string[];
160
- };
161
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}