opencroc 1.7.0 → 1.8.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/dist/cli/index.js +2832 -54
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +379 -1
- package/dist/index.js +2115 -35
- package/dist/index.js.map +1 -1
- package/dist/web/index-studio.html +1644 -0
- package/dist/web/index.html +1 -1
- package/package.json +9 -3
package/dist/index.d.ts
CHANGED
|
@@ -1828,4 +1828,382 @@ declare function writeOrchestrationSummary(summary: OrchestrationSummary, option
|
|
|
1828
1828
|
*/
|
|
1829
1829
|
declare function printOrchestrationSummary(summary: OrchestrationSummary): string[];
|
|
1830
1830
|
|
|
1831
|
-
|
|
1831
|
+
/**
|
|
1832
|
+
* OpenCroc Studio — Universal Knowledge Graph Types
|
|
1833
|
+
*
|
|
1834
|
+
* Multi-layer knowledge graph for any project type and language.
|
|
1835
|
+
*/
|
|
1836
|
+
/** All possible node types in the knowledge graph */
|
|
1837
|
+
type GraphNodeType = 'module' | 'file' | 'class' | 'function' | 'api' | 'model' | 'field' | 'route' | 'middleware' | 'service' | 'config' | 'dependency' | 'database' | 'queue' | 'cache' | 'external-api' | 'event' | 'permission' | 'component' | 'page' | 'store' | 'test' | 'unknown';
|
|
1838
|
+
/** All possible edge relation types */
|
|
1839
|
+
type GraphEdgeRelation = 'imports' | 'exports' | 'calls' | 'extends' | 'implements' | 'reads' | 'writes' | 'depends-on' | 'has-field' | 'foreign-key' | 'middleware-of' | 'belongs-to' | 'triggers' | 'listens-to' | 'renders' | 'routes-to' | 'publishes' | 'consumes' | 'caches' | 'requires-permission' | 'cascade-delete' | 'associated-with';
|
|
1840
|
+
interface GraphNode {
|
|
1841
|
+
id: string;
|
|
1842
|
+
label: string;
|
|
1843
|
+
type: GraphNodeType;
|
|
1844
|
+
/** File path relative to project root */
|
|
1845
|
+
filePath?: string;
|
|
1846
|
+
/** Line number in source file */
|
|
1847
|
+
line?: number;
|
|
1848
|
+
/** Which module/package this belongs to */
|
|
1849
|
+
module?: string;
|
|
1850
|
+
/** Language of the source */
|
|
1851
|
+
language?: string;
|
|
1852
|
+
/** Additional metadata */
|
|
1853
|
+
metadata: Record<string, unknown>;
|
|
1854
|
+
/** Risk annotations attached by analysis */
|
|
1855
|
+
risks?: RiskAnnotation[];
|
|
1856
|
+
/** Status for visualization */
|
|
1857
|
+
status?: 'idle' | 'scanning' | 'analyzed' | 'at-risk';
|
|
1858
|
+
}
|
|
1859
|
+
interface GraphEdge {
|
|
1860
|
+
id: string;
|
|
1861
|
+
source: string;
|
|
1862
|
+
target: string;
|
|
1863
|
+
relation: GraphEdgeRelation;
|
|
1864
|
+
/** Weight/strength of the relationship (0-1) */
|
|
1865
|
+
weight?: number;
|
|
1866
|
+
/** Additional context */
|
|
1867
|
+
metadata?: Record<string, unknown>;
|
|
1868
|
+
}
|
|
1869
|
+
interface KnowledgeGraph {
|
|
1870
|
+
nodes: GraphNode[];
|
|
1871
|
+
edges: GraphEdge[];
|
|
1872
|
+
/** Project-level metadata */
|
|
1873
|
+
projectInfo: ProjectMetadata;
|
|
1874
|
+
/** Timestamp of last build */
|
|
1875
|
+
builtAt: string;
|
|
1876
|
+
/** Build duration in ms */
|
|
1877
|
+
buildDuration: number;
|
|
1878
|
+
}
|
|
1879
|
+
interface ProjectMetadata {
|
|
1880
|
+
name: string;
|
|
1881
|
+
description?: string;
|
|
1882
|
+
/** Source: 'local' | 'github' | 'gitlab' | 'url' */
|
|
1883
|
+
source: 'local' | 'github' | 'gitlab' | 'url';
|
|
1884
|
+
sourceUrl?: string;
|
|
1885
|
+
rootPath: string;
|
|
1886
|
+
/** Detected languages and their file counts */
|
|
1887
|
+
languages: Record<string, number>;
|
|
1888
|
+
/** Detected frameworks */
|
|
1889
|
+
frameworks: string[];
|
|
1890
|
+
/** Detected package manager */
|
|
1891
|
+
packageManager?: string;
|
|
1892
|
+
/** Project type classification */
|
|
1893
|
+
projectType: ProjectType;
|
|
1894
|
+
/** Statistics */
|
|
1895
|
+
stats: ProjectStats;
|
|
1896
|
+
}
|
|
1897
|
+
type ProjectType = 'backend-api' | 'frontend-spa' | 'frontend-ssr' | 'fullstack' | 'monorepo' | 'library' | 'cli-tool' | 'mobile' | 'microservice' | 'unknown';
|
|
1898
|
+
interface ProjectStats {
|
|
1899
|
+
totalFiles: number;
|
|
1900
|
+
totalLines: number;
|
|
1901
|
+
modules: number;
|
|
1902
|
+
classes: number;
|
|
1903
|
+
functions: number;
|
|
1904
|
+
apiEndpoints: number;
|
|
1905
|
+
dataModels: number;
|
|
1906
|
+
dependencies: number;
|
|
1907
|
+
/** Per-language line counts */
|
|
1908
|
+
linesByLanguage: Record<string, number>;
|
|
1909
|
+
}
|
|
1910
|
+
type RiskSeverity = 'critical' | 'high' | 'medium' | 'low' | 'info';
|
|
1911
|
+
type RiskCategory = 'security' | 'performance' | 'data-integrity' | 'logic' | 'maintainability' | 'reliability' | 'compliance';
|
|
1912
|
+
interface RiskAnnotation {
|
|
1913
|
+
id: string;
|
|
1914
|
+
category: RiskCategory;
|
|
1915
|
+
severity: RiskSeverity;
|
|
1916
|
+
title: string;
|
|
1917
|
+
description: string;
|
|
1918
|
+
/** Affected node IDs */
|
|
1919
|
+
affectedNodes: string[];
|
|
1920
|
+
/** Suggested fix */
|
|
1921
|
+
suggestion?: string;
|
|
1922
|
+
/** Confidence score 0-1 */
|
|
1923
|
+
confidence: number;
|
|
1924
|
+
}
|
|
1925
|
+
interface ImpactAnalysis {
|
|
1926
|
+
/** The changed node */
|
|
1927
|
+
sourceNode: string;
|
|
1928
|
+
/** Directly affected nodes */
|
|
1929
|
+
directImpact: string[];
|
|
1930
|
+
/** Transitively affected nodes (BFS from direct) */
|
|
1931
|
+
transitiveImpact: string[];
|
|
1932
|
+
/** Risk level of the change */
|
|
1933
|
+
riskLevel: RiskSeverity;
|
|
1934
|
+
/** Human-readable summary */
|
|
1935
|
+
summary: string;
|
|
1936
|
+
/** Mermaid diagram of impact */
|
|
1937
|
+
mermaidText: string;
|
|
1938
|
+
}
|
|
1939
|
+
type ReportPerspective = 'developer' | 'architect' | 'tester' | 'product' | 'student' | 'executive';
|
|
1940
|
+
interface PerspectiveReport {
|
|
1941
|
+
perspective: ReportPerspective;
|
|
1942
|
+
title: string;
|
|
1943
|
+
summary: string;
|
|
1944
|
+
sections: ReportSection[];
|
|
1945
|
+
generatedAt: string;
|
|
1946
|
+
}
|
|
1947
|
+
interface ReportSection {
|
|
1948
|
+
heading: string;
|
|
1949
|
+
content: string;
|
|
1950
|
+
/** Optional visualization (mermaid, chart data) */
|
|
1951
|
+
visualization?: {
|
|
1952
|
+
type: 'mermaid' | 'chart' | 'table' | 'tree';
|
|
1953
|
+
data: string;
|
|
1954
|
+
};
|
|
1955
|
+
}
|
|
1956
|
+
interface SimulationScenario {
|
|
1957
|
+
name: string;
|
|
1958
|
+
description: string;
|
|
1959
|
+
/** API call sequence to simulate */
|
|
1960
|
+
steps: SimulationStep[];
|
|
1961
|
+
/** Expected state changes */
|
|
1962
|
+
expectedOutcome: string;
|
|
1963
|
+
}
|
|
1964
|
+
interface SimulationStep {
|
|
1965
|
+
order: number;
|
|
1966
|
+
action: string;
|
|
1967
|
+
endpoint?: string;
|
|
1968
|
+
input?: Record<string, unknown>;
|
|
1969
|
+
/** AI-predicted response */
|
|
1970
|
+
predictedResponse?: {
|
|
1971
|
+
status: number;
|
|
1972
|
+
body: Record<string, unknown>;
|
|
1973
|
+
};
|
|
1974
|
+
/** AI-predicted side effects */
|
|
1975
|
+
predictedSideEffects?: string[];
|
|
1976
|
+
}
|
|
1977
|
+
interface SimulationResult {
|
|
1978
|
+
scenario: SimulationScenario;
|
|
1979
|
+
/** AI-predicted outcome */
|
|
1980
|
+
prediction: string;
|
|
1981
|
+
/** Detected anomalies */
|
|
1982
|
+
anomalies: string[];
|
|
1983
|
+
/** Risk score 0-100 */
|
|
1984
|
+
riskScore: number;
|
|
1985
|
+
confidence: number;
|
|
1986
|
+
}
|
|
1987
|
+
interface ScanResult {
|
|
1988
|
+
/** Detected language breakdown */
|
|
1989
|
+
languages: Record<string, number>;
|
|
1990
|
+
/** Detected frameworks */
|
|
1991
|
+
frameworks: FrameworkDetection[];
|
|
1992
|
+
/** Discovered files by category */
|
|
1993
|
+
files: DiscoveredFile[];
|
|
1994
|
+
/** Extracted entities (pre-graph) */
|
|
1995
|
+
entities: ExtractedEntity[];
|
|
1996
|
+
/** Extracted relationships (pre-graph) */
|
|
1997
|
+
relationships: ExtractedRelationship[];
|
|
1998
|
+
/** Scan duration in ms */
|
|
1999
|
+
duration: number;
|
|
2000
|
+
}
|
|
2001
|
+
interface FrameworkDetection {
|
|
2002
|
+
name: string;
|
|
2003
|
+
version?: string;
|
|
2004
|
+
confidence: number;
|
|
2005
|
+
evidence: string;
|
|
2006
|
+
}
|
|
2007
|
+
interface DiscoveredFile {
|
|
2008
|
+
path: string;
|
|
2009
|
+
language: string;
|
|
2010
|
+
category: 'source' | 'config' | 'test' | 'docs' | 'build' | 'asset' | 'other';
|
|
2011
|
+
lines: number;
|
|
2012
|
+
size: number;
|
|
2013
|
+
}
|
|
2014
|
+
interface ExtractedEntity {
|
|
2015
|
+
id: string;
|
|
2016
|
+
name: string;
|
|
2017
|
+
type: GraphNodeType;
|
|
2018
|
+
filePath: string;
|
|
2019
|
+
line?: number;
|
|
2020
|
+
language: string;
|
|
2021
|
+
metadata: Record<string, unknown>;
|
|
2022
|
+
}
|
|
2023
|
+
interface ExtractedRelationship {
|
|
2024
|
+
sourceId: string;
|
|
2025
|
+
targetId: string;
|
|
2026
|
+
relation: GraphEdgeRelation;
|
|
2027
|
+
metadata?: Record<string, unknown>;
|
|
2028
|
+
}
|
|
2029
|
+
|
|
2030
|
+
/**
|
|
2031
|
+
* Language Detector
|
|
2032
|
+
*
|
|
2033
|
+
* Detects programming languages, frameworks, and project type
|
|
2034
|
+
* from a project directory without reading source code ASTs.
|
|
2035
|
+
* Uses file extensions, config files, and package manifests.
|
|
2036
|
+
*/
|
|
2037
|
+
|
|
2038
|
+
interface LanguageDetectionResult {
|
|
2039
|
+
/** Language → file count */
|
|
2040
|
+
languages: Record<string, number>;
|
|
2041
|
+
/** Language → total line count */
|
|
2042
|
+
linesByLanguage: Record<string, number>;
|
|
2043
|
+
/** Total files found */
|
|
2044
|
+
totalFiles: number;
|
|
2045
|
+
/** Total lines of code */
|
|
2046
|
+
totalLines: number;
|
|
2047
|
+
/** Primary language */
|
|
2048
|
+
primaryLanguage: string;
|
|
2049
|
+
/** Detected frameworks */
|
|
2050
|
+
frameworks: FrameworkDetection[];
|
|
2051
|
+
/** Detected project type */
|
|
2052
|
+
projectType: ProjectType;
|
|
2053
|
+
/** Package manager */
|
|
2054
|
+
packageManager?: string;
|
|
2055
|
+
/** All discovered source files */
|
|
2056
|
+
files: Array<{
|
|
2057
|
+
path: string;
|
|
2058
|
+
language: string;
|
|
2059
|
+
lines: number;
|
|
2060
|
+
size: number;
|
|
2061
|
+
}>;
|
|
2062
|
+
}
|
|
2063
|
+
/**
|
|
2064
|
+
* Detect languages, frameworks, and project type from a directory.
|
|
2065
|
+
*/
|
|
2066
|
+
declare function detectProject(rootDir: string): LanguageDetectionResult;
|
|
2067
|
+
|
|
2068
|
+
/**
|
|
2069
|
+
* Universal Project Scanner
|
|
2070
|
+
*
|
|
2071
|
+
* Scans any project directory and extracts entities (modules, classes,
|
|
2072
|
+
* functions, APIs, models) and relationships. Works with any language
|
|
2073
|
+
* by combining:
|
|
2074
|
+
* 1. Static analysis (ts-morph for TS/JS)
|
|
2075
|
+
* 2. Pattern matching (regex for Python/Go/Java/etc.)
|
|
2076
|
+
* 3. Config file parsing (package.json, OpenAPI, etc.)
|
|
2077
|
+
* 4. LLM fallback (for unknown patterns)
|
|
2078
|
+
*/
|
|
2079
|
+
|
|
2080
|
+
interface ScanOptions {
|
|
2081
|
+
/** Project root directory */
|
|
2082
|
+
rootDir: string;
|
|
2083
|
+
/** Max files to deeply analyze (default: 500) */
|
|
2084
|
+
maxDeepScan?: number;
|
|
2085
|
+
/** Enable LLM fallback for unknown patterns */
|
|
2086
|
+
useLlm?: boolean;
|
|
2087
|
+
/** Progress callback */
|
|
2088
|
+
onProgress?: (phase: string, percent: number, detail?: string) => void;
|
|
2089
|
+
}
|
|
2090
|
+
/**
|
|
2091
|
+
* Scan a project and extract all entities and relationships.
|
|
2092
|
+
*/
|
|
2093
|
+
declare function scanProject(options: ScanOptions): Promise<ScanResult>;
|
|
2094
|
+
|
|
2095
|
+
/**
|
|
2096
|
+
* GitHub Cloner
|
|
2097
|
+
*
|
|
2098
|
+
* Clone a GitHub/GitLab/any git repository and scan it.
|
|
2099
|
+
* Supports: HTTPS URLs, shorthand (user/repo), and local paths.
|
|
2100
|
+
*/
|
|
2101
|
+
|
|
2102
|
+
interface CloneOptions extends Omit<ScanOptions, 'rootDir'> {
|
|
2103
|
+
/** GitHub URL, shorthand (user/repo), or local path */
|
|
2104
|
+
target: string;
|
|
2105
|
+
/** Where to clone into (default: os temp dir) */
|
|
2106
|
+
cloneDir?: string;
|
|
2107
|
+
/** Branch/tag to clone (default: default branch) */
|
|
2108
|
+
branch?: string;
|
|
2109
|
+
/** Shallow clone depth (default: 1) */
|
|
2110
|
+
depth?: number;
|
|
2111
|
+
/** Keep cloned repo after scan (default: false for remote, true for local) */
|
|
2112
|
+
keepClone?: boolean;
|
|
2113
|
+
}
|
|
2114
|
+
/**
|
|
2115
|
+
* Clone (if needed) and scan a project.
|
|
2116
|
+
*/
|
|
2117
|
+
declare function cloneAndScan(options: CloneOptions): Promise<ScanResult & {
|
|
2118
|
+
clonedPath?: string;
|
|
2119
|
+
}>;
|
|
2120
|
+
|
|
2121
|
+
/**
|
|
2122
|
+
* Knowledge Graph Builder
|
|
2123
|
+
*
|
|
2124
|
+
* Transforms raw ScanResult entities and relationships into a
|
|
2125
|
+
* fully connected KnowledgeGraph with deduplication, wildcard
|
|
2126
|
+
* resolution, module grouping, and statistics.
|
|
2127
|
+
*/
|
|
2128
|
+
|
|
2129
|
+
interface GraphBuildOptions {
|
|
2130
|
+
/** Project name (from package.json or dir name) */
|
|
2131
|
+
projectName: string;
|
|
2132
|
+
/** Source type */
|
|
2133
|
+
source: 'local' | 'github' | 'gitlab' | 'url';
|
|
2134
|
+
sourceUrl?: string;
|
|
2135
|
+
/** Project root path */
|
|
2136
|
+
rootPath: string;
|
|
2137
|
+
}
|
|
2138
|
+
/**
|
|
2139
|
+
* Build a KnowledgeGraph from scan results.
|
|
2140
|
+
*/
|
|
2141
|
+
declare function buildKnowledgeGraph(scanResult: ScanResult, options: GraphBuildOptions): KnowledgeGraph;
|
|
2142
|
+
/**
|
|
2143
|
+
* Query the knowledge graph for nodes matching criteria.
|
|
2144
|
+
*/
|
|
2145
|
+
declare function queryNodes(graph: KnowledgeGraph, filter: Partial<Pick<GraphNode, 'type' | 'language' | 'module'>>): GraphNode[];
|
|
2146
|
+
/**
|
|
2147
|
+
* Get all neighbors of a node (incoming + outgoing).
|
|
2148
|
+
*/
|
|
2149
|
+
declare function getNeighbors(graph: KnowledgeGraph, nodeId: string): {
|
|
2150
|
+
incoming: GraphEdge[];
|
|
2151
|
+
outgoing: GraphEdge[];
|
|
2152
|
+
};
|
|
2153
|
+
/**
|
|
2154
|
+
* BFS traversal from a node, returning all reachable nodes within maxDepth.
|
|
2155
|
+
*/
|
|
2156
|
+
declare function bfsTraversal(graph: KnowledgeGraph, startNodeId: string, maxDepth?: number): string[];
|
|
2157
|
+
/**
|
|
2158
|
+
* Find all paths between two nodes (up to maxPaths).
|
|
2159
|
+
*/
|
|
2160
|
+
declare function findPaths(graph: KnowledgeGraph, fromId: string, toId: string, maxPaths?: number, maxDepth?: number): string[][];
|
|
2161
|
+
/**
|
|
2162
|
+
* Generate a Mermaid diagram from the knowledge graph.
|
|
2163
|
+
*/
|
|
2164
|
+
declare function toMermaid(graph: KnowledgeGraph, options?: {
|
|
2165
|
+
maxNodes?: number;
|
|
2166
|
+
nodeTypes?: string[];
|
|
2167
|
+
}): string;
|
|
2168
|
+
/**
|
|
2169
|
+
* Get graph statistics summary.
|
|
2170
|
+
*/
|
|
2171
|
+
declare function getGraphStats(graph: KnowledgeGraph): Record<string, number>;
|
|
2172
|
+
|
|
2173
|
+
/**
|
|
2174
|
+
* AI Insight Engine
|
|
2175
|
+
*
|
|
2176
|
+
* Multi-perspective analysis powered by LLM. Generates:
|
|
2177
|
+
* - Risk reports (security, performance, data integrity, logic)
|
|
2178
|
+
* - Impact analysis (change blast radius)
|
|
2179
|
+
* - Multi-role reports (developer, architect, tester, product, student, executive)
|
|
2180
|
+
* - Digital twin simulation (AI-predicted test outcomes)
|
|
2181
|
+
*/
|
|
2182
|
+
|
|
2183
|
+
interface InsightOptions {
|
|
2184
|
+
/** LLM provider for AI-enhanced analysis */
|
|
2185
|
+
llm?: LlmProvider;
|
|
2186
|
+
/** Enable LLM-based analysis (requires llm provider) */
|
|
2187
|
+
useLlm?: boolean;
|
|
2188
|
+
/** Progress callback */
|
|
2189
|
+
onProgress?: (phase: string, percent: number, detail?: string) => void;
|
|
2190
|
+
}
|
|
2191
|
+
/**
|
|
2192
|
+
* Analyze a knowledge graph for risks across all categories.
|
|
2193
|
+
* Combines rule-based static analysis with optional LLM enhancement.
|
|
2194
|
+
*/
|
|
2195
|
+
declare function analyzeRisks(graph: KnowledgeGraph, options?: InsightOptions): Promise<RiskAnnotation[]>;
|
|
2196
|
+
/**
|
|
2197
|
+
* Analyze the impact of changing a specific node.
|
|
2198
|
+
*/
|
|
2199
|
+
declare function analyzeImpact(graph: KnowledgeGraph, nodeId: string): ImpactAnalysis;
|
|
2200
|
+
/**
|
|
2201
|
+
* Generate a report from a specific perspective.
|
|
2202
|
+
*/
|
|
2203
|
+
declare function generateReport(graph: KnowledgeGraph, perspective: ReportPerspective, risks: RiskAnnotation[], options?: InsightOptions): Promise<PerspectiveReport>;
|
|
2204
|
+
/**
|
|
2205
|
+
* Run AI-powered simulation on a scenario (requires LLM).
|
|
2206
|
+
*/
|
|
2207
|
+
declare function simulateScenario(graph: KnowledgeGraph, scenario: SimulationScenario, llm: LlmProvider): Promise<SimulationResult>;
|
|
2208
|
+
|
|
2209
|
+
export { type AIAttributionResult, type ApiChainAnalysisResult, type ApiDependency, type ApiEndpoint, type ApiRecord, type ApiRecordForRules, type ApiRuleViolation, type AttemptRecord, type AutoFixPROptions, type AutoFixPRResult, type BackendAdapter, type BackendDomainItem, type BuildWorkordersOptions, type CandidateApiRequest, type ChainFailureResult, type ChainPlanResult, type CloneOptions, type ConfigFixer, type ConfigValidator, type ControlledFixOptions, type ControlledFixOutcome, type ControlledFixerOptions, type CriticalApiRule, type DTOFieldInfo, type DTOInfo, type DashboardData, type DashboardOutput, type DialogLoopConfig, type DialogLoopOptions, type DialogLoopSummary, type DirectedAcyclicGraph, type DiscoveredFile, type ERDiagramResult, type ExecutionConfig, type ExecutionMetrics, type ExtractedEntity, type ExtractedRelationship, type FailureCategory, type FailureSummary, type FieldSchema, type FixApplier, type FixContext, type FixHistoryEntry, type FixOutcome, type FixResult, type FixScope, type ForeignKeyRelation, type FrameworkDetection, type FsOps, type GeneratedTestFile, type GitExecutor, type GraphEdge, type GraphEdgeRelation, type GraphNode, type GraphNodeType, type HookConfig, type ImpactAnalysis, type ImpactReport, type IndexSchema, type IterationResult, type LanguageDetectionResult, type LayerValidationResult, type LlmProvider, type LogCompletionRecord, type LogCompletionResult, type LogCompletionSummary, type LogEntry, type LogPollerOptions, type ModuleConfigErrorType, type ModuleConfigValidationContext, type ModuleConfigValidationError, type ModuleConfigValidationResult, type ModuleConfigValidationWarning, type ModuleDefinition, type ModuleMetadata, type ModuleTestConfig, type NetworkError, NetworkMonitor, type NetworkMonitorOptions, type OpenCrocConfig, type OpenCrocPlugin, type OrchestrationOptions, type OrchestrationPhase, type OrchestrationReportOptions, type OrchestrationSummary, type PRGenerator, type PatchWriter, type PerspectiveReport, type PhaseResult, type PhaseStatus, type PipelineRunResult, type PluginRegistry, type ProjectMetadata, type ProjectStats, type ProjectType, type ReportOutput, type ReportPerspective, type ReportSection, type ResilientFetchOptions, type ResilientFetchResult, type ResolvedConfig, type ResolvedRoute, type ResultParser, type RiskAnnotation, type RiskCategory, type RiskSeverity, type RouteEntry, type RuntimeConfig, SYSTEM_PROMPTS, type ScanOptions, type ScanResult, type SeedStep, type SelfHealingResult, type SimulationResult, type SimulationScenario, type KnowledgeGraph as StudioKnowledgeGraph, type TableSchema, type TestChain, type TestFailureInfo, type TestResultRecord, type TestRunner, type TestStep, TokenTracker, type TokenUsageEntry, type TokenUsageSummary, COMMANDS as VSCODE_COMMANDS, type ValidationError, type ValidatorRule, type WorkorderItem, aggregateLogCompletion, analyzeFailureWithLLM, analyzeImpact, analyzeRisks, applyControlledFix, autoFix, bfsTraversal, buildBackendChecklist, buildClassToTableMap, buildDashboardDataFromPipeline, buildDashboardDataFromReportJson, buildFailureSummary, buildGraph, buildKnowledgeGraph, buildModuleTree, buildPath, buildStatusTree, buildTestRunSummary, buildWorkorders, categorizeFailure, classNameToTableName, classifyFailure, cloneAndScan, compareTestRuns, createAdapter, createApiChainAnalyzer, createAssociationParser, createChainPlanner, createControllerParser, createDrizzleAdapter, createERDiagramGenerator, createImpactReporter, createJsonResultParser, createLlmChainPlanner, createLlmProvider, createMockDataGenerator, createModelParser, createOllamaProvider, createOpenAIProvider, createOrchestrator, createPipeline, createPluginRegistry, createPrismaAdapter, createRulesEngine, createSelfHealingLoop, createSequelizeAdapter, createTestCodeGenerator, createTokenTracker, createTypeORMAdapter, defineConfig, definePlugin, detectAdapter, detectCycles, detectProject, extractIdFromText, extractParamNames, extractParamsFromHref, findPaths, formatComparisonReport, formatValidationResult, generateAllModuleConfigs, generateAuthSetup, generateCiTemplate, generateEnhancedConfig, generateExtensionEntrypoint, generateExtensionManifest, generateFixPR, generateGitHubActionsTemplate, generateGitLabCITemplate, generateGlobalSetup, generateGlobalTeardown, generateHtmlReport, generateReport as generateInsightReport, generateJsonReport, generateMarkdownReport, generateModuleConfig, generatePlaywrightConfig, generateReports, generateVisualDashboard, generateVisualDashboardHtml, getGraphStats, getModulePreset, getNeighbors, inferDependencies, inferRelatedTables, listCiPlatforms, listModulePresets, loadModulePresets, mergeCandidates, parseApiDomain, parseAssociationFile, parseControllerDirectory, parseControllerFile, parseDTOs, parseDrizzleDirectory, parseDrizzleFile, parseModelFile, parseModuleModels, parsePlaywrightReport, parseValidatorRules, printOrchestrationSummary, queryNodes, recoverJSON, renderChecklistMarkdown, renderTokenReportMarkdown, renderWorkordersMarkdown, resilientFetch, resolveAdapter, resolveFromSeedData, runDialogLoop, scanModuleMetadata, scanProject, selectCandidates, selectCandidatesFromLogs, simulateScenario, toMermaid, topologicalSort, validateConfig, validateDryrun, validateModuleConfig, validateSchema, validateSemantic, waitForBackend, waitForLogCompletion, writeOrchestrationSummary };
|