ai-first-cli 1.1.1 → 1.1.2
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/CHANGELOG.md +78 -0
- package/README.es.md +137 -1
- package/README.md +136 -4
- package/ai/ai_context.md +2 -2
- package/ai/architecture.md +3 -3
- package/ai/cache.json +85 -57
- package/ai/ccp/jira-123/context.json +7 -0
- package/ai/context/repo.json +56 -0
- package/ai/context/utils.json +7 -0
- package/ai/dependencies.json +51 -1026
- package/ai/files.json +195 -3
- package/ai/git/commit-activity.json +8646 -0
- package/ai/git/recent-features.json +1 -0
- package/ai/git/recent-files.json +52 -0
- package/ai/git/recent-flows.json +1 -0
- package/ai/graph/knowledge-graph.json +43643 -0
- package/ai/graph/module-graph.json +4 -0
- package/ai/graph/symbol-graph.json +3307 -879
- package/ai/graph/symbol-references.json +119 -32
- package/ai/index-state.json +843 -188
- package/ai/index.db +0 -0
- package/ai/modules.json +4 -0
- package/ai/repo-map.json +81 -17
- package/ai/repo_map.json +81 -17
- package/ai/repo_map.md +21 -7
- package/ai/summary.md +5 -5
- package/ai/symbols.json +1 -20287
- package/dist/analyzers/androidResources.d.ts +23 -0
- package/dist/analyzers/androidResources.d.ts.map +1 -0
- package/dist/analyzers/androidResources.js +93 -0
- package/dist/analyzers/androidResources.js.map +1 -0
- package/dist/analyzers/dependencies.d.ts.map +1 -1
- package/dist/analyzers/dependencies.js +37 -0
- package/dist/analyzers/dependencies.js.map +1 -1
- package/dist/analyzers/entrypoints.d.ts.map +1 -1
- package/dist/analyzers/entrypoints.js +71 -1
- package/dist/analyzers/entrypoints.js.map +1 -1
- package/dist/analyzers/gradleModules.d.ts +22 -0
- package/dist/analyzers/gradleModules.d.ts.map +1 -0
- package/dist/analyzers/gradleModules.js +75 -0
- package/dist/analyzers/gradleModules.js.map +1 -0
- package/dist/analyzers/techStack.d.ts +7 -0
- package/dist/analyzers/techStack.d.ts.map +1 -1
- package/dist/analyzers/techStack.js +44 -1
- package/dist/analyzers/techStack.js.map +1 -1
- package/dist/commands/ai-first.d.ts.map +1 -1
- package/dist/commands/ai-first.js +311 -1
- package/dist/commands/ai-first.js.map +1 -1
- package/dist/core/adapters/adapterRegistry.d.ts +39 -0
- package/dist/core/adapters/adapterRegistry.d.ts.map +1 -0
- package/dist/core/adapters/adapterRegistry.js +155 -0
- package/dist/core/adapters/adapterRegistry.js.map +1 -0
- package/dist/core/adapters/baseAdapter.d.ts +49 -0
- package/dist/core/adapters/baseAdapter.d.ts.map +1 -0
- package/dist/core/adapters/baseAdapter.js +28 -0
- package/dist/core/adapters/baseAdapter.js.map +1 -0
- package/dist/core/adapters/community/fastapiAdapter.d.ts +7 -0
- package/dist/core/adapters/community/fastapiAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/fastapiAdapter.js +40 -0
- package/dist/core/adapters/community/fastapiAdapter.js.map +1 -0
- package/dist/core/adapters/community/index.d.ts +11 -0
- package/dist/core/adapters/community/index.d.ts.map +1 -0
- package/dist/core/adapters/community/index.js +11 -0
- package/dist/core/adapters/community/index.js.map +1 -0
- package/dist/core/adapters/community/laravelAdapter.d.ts +7 -0
- package/dist/core/adapters/community/laravelAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/laravelAdapter.js +47 -0
- package/dist/core/adapters/community/laravelAdapter.js.map +1 -0
- package/dist/core/adapters/community/nestjsAdapter.d.ts +7 -0
- package/dist/core/adapters/community/nestjsAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/nestjsAdapter.js +48 -0
- package/dist/core/adapters/community/nestjsAdapter.js.map +1 -0
- package/dist/core/adapters/community/phoenixAdapter.d.ts +7 -0
- package/dist/core/adapters/community/phoenixAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/phoenixAdapter.js +45 -0
- package/dist/core/adapters/community/phoenixAdapter.js.map +1 -0
- package/dist/core/adapters/community/springBootAdapter.d.ts +7 -0
- package/dist/core/adapters/community/springBootAdapter.d.ts.map +1 -0
- package/dist/core/adapters/community/springBootAdapter.js +44 -0
- package/dist/core/adapters/community/springBootAdapter.js.map +1 -0
- package/dist/core/adapters/dotnetAdapter.d.ts +20 -0
- package/dist/core/adapters/dotnetAdapter.d.ts.map +1 -0
- package/dist/core/adapters/dotnetAdapter.js +86 -0
- package/dist/core/adapters/dotnetAdapter.js.map +1 -0
- package/dist/core/adapters/index.d.ts +18 -0
- package/dist/core/adapters/index.d.ts.map +1 -0
- package/dist/core/adapters/index.js +19 -0
- package/dist/core/adapters/index.js.map +1 -0
- package/dist/core/adapters/javascriptAdapter.d.ts +11 -0
- package/dist/core/adapters/javascriptAdapter.d.ts.map +1 -0
- package/dist/core/adapters/javascriptAdapter.js +47 -0
- package/dist/core/adapters/javascriptAdapter.js.map +1 -0
- package/dist/core/adapters/pythonAdapter.d.ts +20 -0
- package/dist/core/adapters/pythonAdapter.d.ts.map +1 -0
- package/dist/core/adapters/pythonAdapter.js +99 -0
- package/dist/core/adapters/pythonAdapter.js.map +1 -0
- package/dist/core/adapters/railsAdapter.d.ts +10 -0
- package/dist/core/adapters/railsAdapter.d.ts.map +1 -0
- package/dist/core/adapters/railsAdapter.js +52 -0
- package/dist/core/adapters/railsAdapter.js.map +1 -0
- package/dist/core/adapters/salesforceAdapter.d.ts +16 -0
- package/dist/core/adapters/salesforceAdapter.d.ts.map +1 -0
- package/dist/core/adapters/salesforceAdapter.js +64 -0
- package/dist/core/adapters/salesforceAdapter.js.map +1 -0
- package/dist/core/adapters/sdk.d.ts +83 -0
- package/dist/core/adapters/sdk.d.ts.map +1 -0
- package/dist/core/adapters/sdk.js +114 -0
- package/dist/core/adapters/sdk.js.map +1 -0
- package/dist/core/ccp.d.ts +37 -0
- package/dist/core/ccp.d.ts.map +1 -0
- package/dist/core/ccp.js +184 -0
- package/dist/core/ccp.js.map +1 -0
- package/dist/core/gitAnalyzer.d.ts +74 -0
- package/dist/core/gitAnalyzer.d.ts.map +1 -0
- package/dist/core/gitAnalyzer.js +298 -0
- package/dist/core/gitAnalyzer.js.map +1 -0
- package/dist/core/incrementalAnalyzer.d.ts +28 -0
- package/dist/core/incrementalAnalyzer.d.ts.map +1 -0
- package/dist/core/incrementalAnalyzer.js +343 -0
- package/dist/core/incrementalAnalyzer.js.map +1 -0
- package/dist/core/knowledgeGraphBuilder.d.ts +31 -0
- package/dist/core/knowledgeGraphBuilder.d.ts.map +1 -0
- package/dist/core/knowledgeGraphBuilder.js +197 -0
- package/dist/core/knowledgeGraphBuilder.js.map +1 -0
- package/dist/core/lazyAnalyzer.d.ts +57 -0
- package/dist/core/lazyAnalyzer.d.ts.map +1 -0
- package/dist/core/lazyAnalyzer.js +204 -0
- package/dist/core/lazyAnalyzer.js.map +1 -0
- package/dist/core/schema.d.ts +57 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/schema.js +131 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/core/semanticContexts.d.ts +40 -0
- package/dist/core/semanticContexts.d.ts.map +1 -0
- package/dist/core/semanticContexts.js +454 -0
- package/dist/core/semanticContexts.js.map +1 -0
- package/docs/es/guide/adapters.md +143 -0
- package/docs/es/guide/ai-repository-schema.md +119 -0
- package/docs/es/guide/features.md +67 -0
- package/docs/es/guide/flows.md +134 -0
- package/docs/es/guide/git-intelligence.md +170 -0
- package/docs/es/guide/incremental-analysis.md +131 -0
- package/docs/es/guide/knowledge-graph.md +135 -0
- package/docs/es/guide/lazy-indexing.md +144 -0
- package/docs/es/guide/performance.md +125 -0
- package/docs/guide/adapters.md +225 -0
- package/docs/guide/ai-repository-schema.md +119 -0
- package/docs/guide/architecture.md +69 -1
- package/docs/guide/flows.md +134 -0
- package/docs/guide/git-intelligence.md +170 -0
- package/docs/guide/incremental-analysis.md +131 -0
- package/docs/guide/knowledge-graph.md +135 -0
- package/docs/guide/lazy-indexing.md +144 -0
- package/docs/guide/performance.md +125 -0
- package/package.json +5 -2
- package/src/analyzers/androidResources.ts +113 -0
- package/src/analyzers/dependencies.ts +41 -0
- package/src/analyzers/entrypoints.ts +80 -1
- package/src/analyzers/gradleModules.ts +100 -0
- package/src/analyzers/techStack.ts +56 -0
- package/src/commands/ai-first.ts +342 -1
- package/src/core/adapters/adapterRegistry.ts +187 -0
- package/src/core/adapters/baseAdapter.ts +82 -0
- package/src/core/adapters/community/fastapiAdapter.ts +50 -0
- package/src/core/adapters/community/index.ts +11 -0
- package/src/core/adapters/community/laravelAdapter.ts +56 -0
- package/src/core/adapters/community/nestjsAdapter.ts +57 -0
- package/src/core/adapters/community/phoenixAdapter.ts +54 -0
- package/src/core/adapters/community/springBootAdapter.ts +53 -0
- package/src/core/adapters/dotnetAdapter.ts +104 -0
- package/src/core/adapters/index.ts +24 -0
- package/src/core/adapters/javascriptAdapter.ts +56 -0
- package/src/core/adapters/pythonAdapter.ts +118 -0
- package/src/core/adapters/railsAdapter.ts +65 -0
- package/src/core/adapters/salesforceAdapter.ts +76 -0
- package/src/core/adapters/sdk.ts +172 -0
- package/src/core/ccp.ts +240 -0
- package/src/core/gitAnalyzer.ts +391 -0
- package/src/core/incrementalAnalyzer.ts +382 -0
- package/src/core/knowledgeGraphBuilder.ts +181 -0
- package/src/core/lazyAnalyzer.ts +261 -0
- package/src/core/schema.ts +157 -0
- package/src/core/semanticContexts.ts +575 -0
- package/tests/adapters.test.ts +159 -0
- package/tests/gitAnalyzer.test.ts +133 -0
- package/tests/incrementalAnalyzer.test.ts +83 -0
- package/tests/knowledgeGraph.test.ts +146 -0
- package/tests/lazyAnalyzer.test.ts +230 -0
- package/tests/schema.test.ts +203 -0
- package/tests/semanticContexts.test.ts +435 -0
- package/ai/context/analyzers.Symbol.json +0 -19
- package/ai/context/analyzers.extractSymbols.json +0 -19
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* .NET Adapter
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - ASP.NET Core
|
|
6
|
+
* - .NET Framework
|
|
7
|
+
* - Blazor
|
|
8
|
+
* - Xamarin
|
|
9
|
+
*/
|
|
10
|
+
export const dotnetAdapter = {
|
|
11
|
+
name: 'dotnet',
|
|
12
|
+
displayName: '.NET',
|
|
13
|
+
detectionSignals: [
|
|
14
|
+
{ type: 'file', pattern: '*.csproj' },
|
|
15
|
+
{ type: 'file', pattern: '*.sln' },
|
|
16
|
+
{ type: 'file', pattern: '*.fsproj' },
|
|
17
|
+
{ type: 'file', pattern: 'Program.cs' },
|
|
18
|
+
{ type: 'file', pattern: 'Startup.cs' },
|
|
19
|
+
{ type: 'file', pattern: 'appsettings.json' }
|
|
20
|
+
],
|
|
21
|
+
featureRoots: ['src', 'app', 'Services', 'Controllers', 'Models', 'ViewModels', 'Components'],
|
|
22
|
+
ignoredFolders: [
|
|
23
|
+
'bin', 'obj', 'Properties', 'wwwroot', 'Test', 'Tests',
|
|
24
|
+
'node_modules', '.git', 'packages', '.vs', '.idea'
|
|
25
|
+
],
|
|
26
|
+
entrypointPatterns: [
|
|
27
|
+
'Controller', 'ApiController', 'Endpoint', 'Handler',
|
|
28
|
+
'Service', 'Command', 'Query', 'Middleware', 'Component'
|
|
29
|
+
],
|
|
30
|
+
layerRules: [
|
|
31
|
+
{ name: 'api', priority: 1, patterns: ['Controller', 'ApiController', 'Endpoint', 'Handler', 'Middleware', 'Filter'] },
|
|
32
|
+
{ name: 'service', priority: 2, patterns: ['Service', 'Services', 'Command', 'Query', 'Handler', 'Mediator'] },
|
|
33
|
+
{ name: 'data', priority: 3, patterns: ['Repository', 'Repo', 'DbContext', 'Data', 'Entity'] },
|
|
34
|
+
{ name: 'domain', priority: 4, patterns: ['Model', 'Entity', 'Domain', 'ValueObject', 'Aggregate'] },
|
|
35
|
+
{ name: 'util', priority: 5, patterns: ['Helper', 'Util', 'Common', 'Extensions'] }
|
|
36
|
+
],
|
|
37
|
+
supportedExtensions: ['.cs', '.fs', '.vb', '.razor', '.cshtml', '.xaml'],
|
|
38
|
+
flowEntrypointPatterns: ['Controller', 'ApiController', 'Endpoint', 'Handler', 'Command', 'Page'],
|
|
39
|
+
flowExcludePatterns: [
|
|
40
|
+
'Repository', 'Service', 'Model', 'Entity', 'Dto',
|
|
41
|
+
'ViewModel', 'Mapping', 'Configuration', 'Middleware',
|
|
42
|
+
'Test', 'Tests', 'Helper', 'Util', 'Extensions'
|
|
43
|
+
]
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* ASP.NET Core specific
|
|
47
|
+
*/
|
|
48
|
+
export const aspnetCoreAdapter = {
|
|
49
|
+
...dotnetAdapter,
|
|
50
|
+
name: 'aspnetcore',
|
|
51
|
+
displayName: 'ASP.NET Core',
|
|
52
|
+
detectionSignals: [
|
|
53
|
+
{ type: 'file', pattern: '*.csproj' },
|
|
54
|
+
{ type: 'content', pattern: 'Microsoft.AspNetCore', contentPattern: '' },
|
|
55
|
+
{ type: 'file', pattern: 'Program.cs' },
|
|
56
|
+
{ type: 'file', pattern: 'Startup.cs' }
|
|
57
|
+
],
|
|
58
|
+
featureRoots: ['Controllers', 'Services', 'Models', 'Views', 'Pages', 'Components', 'Areas'],
|
|
59
|
+
entrypointPatterns: [
|
|
60
|
+
'Controller', 'ApiController', 'Endpoint', 'MinimalApi',
|
|
61
|
+
'Middleware', 'Filter', 'Service'
|
|
62
|
+
]
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Blazor specific
|
|
66
|
+
*/
|
|
67
|
+
export const blazorAdapter = {
|
|
68
|
+
...dotnetAdapter,
|
|
69
|
+
name: 'blazor',
|
|
70
|
+
displayName: 'Blazor',
|
|
71
|
+
detectionSignals: [
|
|
72
|
+
{ type: 'file', pattern: '*.csproj' },
|
|
73
|
+
{ type: 'file', pattern: '_Imports.razor' },
|
|
74
|
+
{ type: 'content', pattern: '@page', contentPattern: '' }
|
|
75
|
+
],
|
|
76
|
+
featureRoots: ['Components', 'Pages', 'Shared', 'Services'],
|
|
77
|
+
entrypointPatterns: ['Component', 'Page', 'Layout', 'Service', 'Controller'],
|
|
78
|
+
layerRules: [
|
|
79
|
+
{ name: 'ui', priority: 1, patterns: ['Component', 'Page', 'Layout', 'Razor'] },
|
|
80
|
+
{ name: 'service', priority: 2, patterns: ['Service', 'Services', 'State', 'Store'] },
|
|
81
|
+
{ name: 'data', priority: 3, patterns: ['Repository', 'DbContext', 'Model', 'Entity'] },
|
|
82
|
+
{ name: 'domain', priority: 4, patterns: ['Entity', 'Domain', 'Model'] },
|
|
83
|
+
{ name: 'util', priority: 5, patterns: ['Helper', 'Util', 'Extensions'] }
|
|
84
|
+
]
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=dotnetAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dotnetAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/dotnetAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analysis Adapters
|
|
3
|
+
*
|
|
4
|
+
* Language and framework-specific adapters for customizing
|
|
5
|
+
* feature and flow detection.
|
|
6
|
+
*/
|
|
7
|
+
export { AnalysisAdapter, DetectionSignal, LayerRule, DEFAULT_ADAPTER } from './baseAdapter.js';
|
|
8
|
+
export { javascriptAdapter } from './javascriptAdapter.js';
|
|
9
|
+
export { pythonAdapter, djangoAdapter, flaskAdapter } from './pythonAdapter.js';
|
|
10
|
+
export { railsAdapter, rubyAdapter } from './railsAdapter.js';
|
|
11
|
+
export { salesforceAdapter, sfdxAdapter } from './salesforceAdapter.js';
|
|
12
|
+
export { dotnetAdapter, aspnetCoreAdapter, blazorAdapter } from './dotnetAdapter.js';
|
|
13
|
+
export { createAdapter, validateAdapter, fileSignal, directorySignal, contentSignal, layerRule } from './sdk.js';
|
|
14
|
+
export type { AdapterConfig } from './sdk.js';
|
|
15
|
+
export { laravelAdapter, nestjsAdapter, springBootAdapter, phoenixAdapter, fastapiAdapter } from './community/index.js';
|
|
16
|
+
export { detectAdapter, detectAllAdapters, getAdapter, listAdapters, ADAPTERS } from './adapterRegistry.js';
|
|
17
|
+
export type { AdapterDetectionResult } from './adapterRegistry.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGrF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACjH,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGxH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5G,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analysis Adapters
|
|
3
|
+
*
|
|
4
|
+
* Language and framework-specific adapters for customizing
|
|
5
|
+
* feature and flow detection.
|
|
6
|
+
*/
|
|
7
|
+
export { DEFAULT_ADAPTER } from './baseAdapter.js';
|
|
8
|
+
export { javascriptAdapter } from './javascriptAdapter.js';
|
|
9
|
+
export { pythonAdapter, djangoAdapter, flaskAdapter } from './pythonAdapter.js';
|
|
10
|
+
export { railsAdapter, rubyAdapter } from './railsAdapter.js';
|
|
11
|
+
export { salesforceAdapter, sfdxAdapter } from './salesforceAdapter.js';
|
|
12
|
+
export { dotnetAdapter, aspnetCoreAdapter, blazorAdapter } from './dotnetAdapter.js';
|
|
13
|
+
// SDK exports
|
|
14
|
+
export { createAdapter, validateAdapter, fileSignal, directorySignal, contentSignal, layerRule } from './sdk.js';
|
|
15
|
+
// Community adapters
|
|
16
|
+
export { laravelAdapter, nestjsAdapter, springBootAdapter, phoenixAdapter, fastapiAdapter } from './community/index.js';
|
|
17
|
+
// Registry
|
|
18
|
+
export { detectAdapter, detectAllAdapters, getAdapter, listAdapters, ADAPTERS } from './adapterRegistry.js';
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA+C,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAErF,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGjH,qBAAqB;AACrB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExH,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AnalysisAdapter } from './baseAdapter.js';
|
|
2
|
+
/**
|
|
3
|
+
* JavaScript/TypeScript Adapter
|
|
4
|
+
*
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Node.js projects
|
|
7
|
+
* - React/Vue/Angular apps
|
|
8
|
+
* - TypeScript projects
|
|
9
|
+
*/
|
|
10
|
+
export declare const javascriptAdapter: AnalysisAdapter;
|
|
11
|
+
//# sourceMappingURL=javascriptAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascriptAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/javascriptAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA8B,MAAM,kBAAkB,CAAC;AAE/E;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,eA6C/B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JavaScript/TypeScript Adapter
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Node.js projects
|
|
6
|
+
* - React/Vue/Angular apps
|
|
7
|
+
* - TypeScript projects
|
|
8
|
+
*/
|
|
9
|
+
export const javascriptAdapter = {
|
|
10
|
+
name: 'javascript',
|
|
11
|
+
displayName: 'JavaScript / TypeScript',
|
|
12
|
+
detectionSignals: [
|
|
13
|
+
{ type: 'file', pattern: 'package.json' },
|
|
14
|
+
{ type: 'file', pattern: 'tsconfig.json' },
|
|
15
|
+
{ type: 'file', pattern: 'jest.config.js' },
|
|
16
|
+
{ type: 'file', pattern: 'vite.config.ts' },
|
|
17
|
+
{ type: 'file', pattern: 'webpack.config.js' },
|
|
18
|
+
{ type: 'file', pattern: 'next.config.js' },
|
|
19
|
+
{ type: 'file', pattern: 'angular.json' }
|
|
20
|
+
],
|
|
21
|
+
featureRoots: ['src', 'app', 'packages', 'services', 'modules', 'features', 'pages', 'components'],
|
|
22
|
+
ignoredFolders: [
|
|
23
|
+
'utils', 'helpers', 'types', 'interfaces', 'constants', 'config',
|
|
24
|
+
'dto', 'models', 'common', 'shared', 'node_modules', '.git',
|
|
25
|
+
'dist', 'build', 'coverage', '__tests__', 'test', 'tests',
|
|
26
|
+
'.next', '.nuxt', '.vite'
|
|
27
|
+
],
|
|
28
|
+
entrypointPatterns: [
|
|
29
|
+
'controller', 'route', 'router', 'handler', 'command',
|
|
30
|
+
'service', 'middleware', 'endpoint', 'api'
|
|
31
|
+
],
|
|
32
|
+
layerRules: [
|
|
33
|
+
{ name: 'api', priority: 1, patterns: ['controller', 'handler', 'route', 'router', 'api', 'endpoint', 'middleware'] },
|
|
34
|
+
{ name: 'service', priority: 2, patterns: ['service', 'services', 'usecase', 'interactor', 'business'] },
|
|
35
|
+
{ name: 'data', priority: 3, patterns: ['repository', 'repo', 'dal', 'dao', 'data', 'persistence', 'db'] },
|
|
36
|
+
{ name: 'domain', priority: 4, patterns: ['model', 'entity', 'schema', 'domain', 'type'] },
|
|
37
|
+
{ name: 'util', priority: 5, patterns: ['util', 'helper', 'lib', 'common', 'static'] }
|
|
38
|
+
],
|
|
39
|
+
supportedExtensions: ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs', '.vue', '.svelte'],
|
|
40
|
+
flowEntrypointPatterns: ['controller', 'route', 'handler', 'command', 'router', 'api'],
|
|
41
|
+
flowExcludePatterns: [
|
|
42
|
+
'repository', 'repo', 'utils', 'helper', 'model', 'entity',
|
|
43
|
+
'dto', 'type', 'interface', 'constant', 'config', 'schema',
|
|
44
|
+
'middleware', 'util', 'lib', 'test', 'spec'
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=javascriptAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascriptAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/javascriptAdapter.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,yBAAyB;IAEtC,gBAAgB,EAAE;QAChB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE;QACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE;QAC1C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE;QAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE;QAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;QAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE;QAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE;KAC1C;IAED,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC;IAElG,cAAc,EAAE;QACd,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ;QAChE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM;QAC3D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO;QACzD,OAAO,EAAE,OAAO,EAAE,OAAO;KAC1B;IAED,kBAAkB,EAAE;QAClB,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;QACrD,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK;KAC3C;IAED,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE;QACrH,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE;QACxG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE;QAC1G,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;QAC1F,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;KACvF;IAED,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;IAEtF,sBAAsB,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;IAEtF,mBAAmB,EAAE;QACnB,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC1D,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ;QAC1D,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;KAC5C;CACF,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AnalysisAdapter } from './baseAdapter.js';
|
|
2
|
+
/**
|
|
3
|
+
* Python Adapter
|
|
4
|
+
*
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Django projects
|
|
7
|
+
* - Flask projects
|
|
8
|
+
* - FastAPI projects
|
|
9
|
+
* - Generic Python packages
|
|
10
|
+
*/
|
|
11
|
+
export declare const pythonAdapter: AnalysisAdapter;
|
|
12
|
+
/**
|
|
13
|
+
* Django-specific adapter
|
|
14
|
+
*/
|
|
15
|
+
export declare const djangoAdapter: AnalysisAdapter;
|
|
16
|
+
/**
|
|
17
|
+
* Flask/FastAPI adapter
|
|
18
|
+
*/
|
|
19
|
+
export declare const flaskAdapter: AnalysisAdapter;
|
|
20
|
+
//# sourceMappingURL=pythonAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pythonAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/pythonAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,eA4C3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,eA0B3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,eA0B1B,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Python Adapter
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Django projects
|
|
6
|
+
* - Flask projects
|
|
7
|
+
* - FastAPI projects
|
|
8
|
+
* - Generic Python packages
|
|
9
|
+
*/
|
|
10
|
+
export const pythonAdapter = {
|
|
11
|
+
name: 'python',
|
|
12
|
+
displayName: 'Python',
|
|
13
|
+
detectionSignals: [
|
|
14
|
+
{ type: 'file', pattern: 'pyproject.toml' },
|
|
15
|
+
{ type: 'file', pattern: 'requirements.txt' },
|
|
16
|
+
{ type: 'file', pattern: 'Pipfile' },
|
|
17
|
+
{ type: 'file', pattern: 'setup.py' },
|
|
18
|
+
{ type: 'file', pattern: 'setup.cfg' },
|
|
19
|
+
{ type: 'directory', pattern: 'venv' },
|
|
20
|
+
{ type: 'directory', pattern: '.venv' },
|
|
21
|
+
{ type: 'file', pattern: 'manage.py' }
|
|
22
|
+
],
|
|
23
|
+
featureRoots: ['src', 'app', 'apps', 'modules', 'services', 'api', 'core'],
|
|
24
|
+
ignoredFolders: [
|
|
25
|
+
'utils', 'helpers', 'types', 'constants', 'config',
|
|
26
|
+
'migrations', '__pycache__', '.git', 'venv', '.venv',
|
|
27
|
+
'tests', 'test', '.pytest_cache', 'docs', 'scripts'
|
|
28
|
+
],
|
|
29
|
+
entrypointPatterns: [
|
|
30
|
+
'view', 'views', 'controller', 'endpoint', 'api',
|
|
31
|
+
'service', 'task', 'celery', 'command', 'management'
|
|
32
|
+
],
|
|
33
|
+
layerRules: [
|
|
34
|
+
{ name: 'api', priority: 1, patterns: ['view', 'views', 'controller', 'endpoint', 'api', 'route', 'resource'] },
|
|
35
|
+
{ name: 'service', priority: 2, patterns: ['service', 'services', 'usecase', 'interactor', 'business', 'logic'] },
|
|
36
|
+
{ name: 'data', priority: 3, patterns: ['repository', 'repo', 'model', 'dao', 'data', 'persistence', 'db'] },
|
|
37
|
+
{ name: 'domain', priority: 4, patterns: ['entity', 'schema', 'domain', 'core'] },
|
|
38
|
+
{ name: 'util', priority: 5, patterns: ['util', 'helper', 'lib', 'common'] }
|
|
39
|
+
],
|
|
40
|
+
supportedExtensions: ['.py'],
|
|
41
|
+
flowEntrypointPatterns: ['view', 'controller', 'endpoint', 'api', 'command', 'task'],
|
|
42
|
+
flowExcludePatterns: [
|
|
43
|
+
'model', 'entity', 'utils', 'helper', 'migration',
|
|
44
|
+
'test', 'tests', '__pycache__', 'conftest', 'schema'
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Django-specific adapter
|
|
49
|
+
*/
|
|
50
|
+
export const djangoAdapter = {
|
|
51
|
+
...pythonAdapter,
|
|
52
|
+
name: 'django',
|
|
53
|
+
displayName: 'Django',
|
|
54
|
+
detectionSignals: [
|
|
55
|
+
{ type: 'file', pattern: 'manage.py' },
|
|
56
|
+
{ type: 'file', pattern: 'settings.py' },
|
|
57
|
+
{ type: 'file', pattern: 'wsgi.py' },
|
|
58
|
+
{ type: 'content', pattern: 'DJANGO_SETTINGS_MODULE', contentPattern: '' }
|
|
59
|
+
],
|
|
60
|
+
featureRoots: ['apps', 'modules', 'api', 'core'],
|
|
61
|
+
entrypointPatterns: [
|
|
62
|
+
'view', 'views', 'api_view', 'controller', 'endpoint',
|
|
63
|
+
'serializer', 'service', 'task', 'management'
|
|
64
|
+
],
|
|
65
|
+
layerRules: [
|
|
66
|
+
{ name: 'api', priority: 1, patterns: ['view', 'views', 'api_view', 'controller', 'endpoint', 'resource', 'serializer'] },
|
|
67
|
+
{ name: 'service', priority: 2, patterns: ['service', 'services', 'usecase', 'business', 'logic'] },
|
|
68
|
+
{ name: 'data', priority: 3, patterns: ['model', 'models', 'repository', 'dao', 'manager'] },
|
|
69
|
+
{ name: 'domain', priority: 4, patterns: ['entity', 'schema', 'domain', 'signals'] },
|
|
70
|
+
{ name: 'util', priority: 5, patterns: ['util', 'helpers', 'lib', 'common', 'middleware'] }
|
|
71
|
+
]
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Flask/FastAPI adapter
|
|
75
|
+
*/
|
|
76
|
+
export const flaskAdapter = {
|
|
77
|
+
...pythonAdapter,
|
|
78
|
+
name: 'flask',
|
|
79
|
+
displayName: 'Flask / FastAPI',
|
|
80
|
+
detectionSignals: [
|
|
81
|
+
{ type: 'file', pattern: 'app.py' },
|
|
82
|
+
{ type: 'file', pattern: 'main.py' },
|
|
83
|
+
{ type: 'content', pattern: 'from flask import', contentPattern: '' },
|
|
84
|
+
{ type: 'content', pattern: 'from fastapi import', contentPattern: '' }
|
|
85
|
+
],
|
|
86
|
+
featureRoots: ['src', 'app', 'api', 'routes', 'services', 'models'],
|
|
87
|
+
entrypointPatterns: [
|
|
88
|
+
'route', 'routes', 'endpoint', 'api', 'view',
|
|
89
|
+
'service', 'command', 'blueprint'
|
|
90
|
+
],
|
|
91
|
+
layerRules: [
|
|
92
|
+
{ name: 'api', priority: 1, patterns: ['route', 'routes', 'endpoint', 'api', 'blueprint', 'view'] },
|
|
93
|
+
{ name: 'service', priority: 2, patterns: ['service', 'services', 'usecase', 'business'] },
|
|
94
|
+
{ name: 'data', priority: 3, patterns: ['model', 'models', 'repository', 'dao'] },
|
|
95
|
+
{ name: 'domain', priority: 4, patterns: ['entity', 'schema', 'domain'] },
|
|
96
|
+
{ name: 'util', priority: 5, patterns: ['util', 'helpers', 'lib'] }
|
|
97
|
+
]
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=pythonAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pythonAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/pythonAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AnalysisAdapter } from './baseAdapter.js';
|
|
2
|
+
/**
|
|
3
|
+
* Ruby on Rails Adapter
|
|
4
|
+
*/
|
|
5
|
+
export declare const railsAdapter: AnalysisAdapter;
|
|
6
|
+
/**
|
|
7
|
+
* Ruby Gem adapter
|
|
8
|
+
*/
|
|
9
|
+
export declare const rubyAdapter: AnalysisAdapter;
|
|
10
|
+
//# sourceMappingURL=railsAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"railsAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/railsAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,eAyC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,eAazB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ruby on Rails Adapter
|
|
3
|
+
*/
|
|
4
|
+
export const railsAdapter = {
|
|
5
|
+
name: 'rails',
|
|
6
|
+
displayName: 'Ruby on Rails',
|
|
7
|
+
detectionSignals: [
|
|
8
|
+
{ type: 'file', pattern: 'Gemfile' },
|
|
9
|
+
{ type: 'file', pattern: 'config.ru' },
|
|
10
|
+
{ type: 'file', pattern: 'Rakefile' },
|
|
11
|
+
{ type: 'directory', pattern: 'app/controllers' },
|
|
12
|
+
{ type: 'directory', pattern: 'app/models' }
|
|
13
|
+
],
|
|
14
|
+
featureRoots: ['app', 'modules', 'lib', 'engines'],
|
|
15
|
+
ignoredFolders: [
|
|
16
|
+
'assets', 'javascripts', 'stylesheets', 'images', 'fonts',
|
|
17
|
+
'helpers', 'views', 'mailers', 'jobs', 'channels',
|
|
18
|
+
'node_modules', '.git', 'log', 'tmp', 'coverage', 'spec', 'test'
|
|
19
|
+
],
|
|
20
|
+
entrypointPatterns: [
|
|
21
|
+
'controller', 'endpoint', 'api', 'service', 'job',
|
|
22
|
+
'channel', 'mailer', 'serializer'
|
|
23
|
+
],
|
|
24
|
+
layerRules: [
|
|
25
|
+
{ name: 'api', priority: 1, patterns: ['controller', 'endpoint', 'api', 'channel', 'mailer'] },
|
|
26
|
+
{ name: 'service', priority: 2, patterns: ['service', 'services', 'usecase', 'interactor', 'operation'] },
|
|
27
|
+
{ name: 'data', priority: 3, patterns: ['model', 'repository', 'record', 'concern'] },
|
|
28
|
+
{ name: 'domain', priority: 4, patterns: ['entity', 'domain', 'value_object'] },
|
|
29
|
+
{ name: 'util', priority: 5, patterns: ['helper', 'lib', 'concern', 'middleware'] }
|
|
30
|
+
],
|
|
31
|
+
supportedExtensions: ['.rb', '.erb', '.rake'],
|
|
32
|
+
flowEntrypointPatterns: ['controller', 'endpoint', 'api', 'job', 'channel'],
|
|
33
|
+
flowExcludePatterns: [
|
|
34
|
+
'model', 'helper', 'view', 'mailer', 'channel',
|
|
35
|
+
'serializer', 'concern', 'lib', 'config', 'spec', 'test'
|
|
36
|
+
]
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Ruby Gem adapter
|
|
40
|
+
*/
|
|
41
|
+
export const rubyAdapter = {
|
|
42
|
+
...railsAdapter,
|
|
43
|
+
name: 'ruby',
|
|
44
|
+
displayName: 'Ruby',
|
|
45
|
+
detectionSignals: [
|
|
46
|
+
{ type: 'file', pattern: '*.gemspec' },
|
|
47
|
+
{ type: 'file', pattern: 'Gemfile' }
|
|
48
|
+
],
|
|
49
|
+
featureRoots: ['lib', 'app'],
|
|
50
|
+
ignoredFolders: ['spec', 'test', 'examples', 'node_modules', '.git']
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=railsAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"railsAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/railsAdapter.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,eAAe;IAE5B,gBAAgB,EAAE;QAChB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;QACtC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;QACrC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE;QACjD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE;KAC7C;IAED,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC;IAElD,cAAc,EAAE;QACd,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO;QACzD,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU;QACjD,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;KACjE;IAED,kBAAkB,EAAE;QAClB,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK;QACjD,SAAS,EAAE,QAAQ,EAAE,YAAY;KAClC;IAED,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;QAC9F,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE;QACzG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;QACrF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE;QAC/E,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE;KACpF;IAED,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;IAE7C,sBAAsB,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;IAE3E,mBAAmB,EAAE;QACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS;QAC9C,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;KACzD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoB;IAC1C,GAAG,YAAY;IACf,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IAEnB,gBAAgB,EAAE;QAChB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;QACtC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KACrC;IAED,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAE5B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC;CACrE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AnalysisAdapter } from './baseAdapter.js';
|
|
2
|
+
/**
|
|
3
|
+
* Salesforce Adapter
|
|
4
|
+
*
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Salesforce DX projects
|
|
7
|
+
* - Aura components
|
|
8
|
+
* - Lightning Web Components (LWC)
|
|
9
|
+
* - Apex classes
|
|
10
|
+
*/
|
|
11
|
+
export declare const salesforceAdapter: AnalysisAdapter;
|
|
12
|
+
/**
|
|
13
|
+
* Salesforce DX specific
|
|
14
|
+
*/
|
|
15
|
+
export declare const sfdxAdapter: AnalysisAdapter;
|
|
16
|
+
//# sourceMappingURL=salesforceAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"salesforceAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/salesforceAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,eA+C/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,eAYzB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Salesforce Adapter
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Salesforce DX projects
|
|
6
|
+
* - Aura components
|
|
7
|
+
* - Lightning Web Components (LWC)
|
|
8
|
+
* - Apex classes
|
|
9
|
+
*/
|
|
10
|
+
export const salesforceAdapter = {
|
|
11
|
+
name: 'salesforce',
|
|
12
|
+
displayName: 'Salesforce',
|
|
13
|
+
detectionSignals: [
|
|
14
|
+
{ type: 'file', pattern: 'sfdx-project.json' },
|
|
15
|
+
{ type: 'file', pattern: 'project-scratch-def.json' },
|
|
16
|
+
{ type: 'directory', pattern: 'force-app' },
|
|
17
|
+
{ type: 'directory', pattern: 'src/classes' },
|
|
18
|
+
{ type: 'file', pattern: 'package.xml' }
|
|
19
|
+
],
|
|
20
|
+
featureRoots: [
|
|
21
|
+
'force-app/main/default',
|
|
22
|
+
'src',
|
|
23
|
+
'src/classes',
|
|
24
|
+
'src/objects',
|
|
25
|
+
'src/triggers'
|
|
26
|
+
],
|
|
27
|
+
ignoredFolders: [
|
|
28
|
+
'node_modules', '.git', 'dist', 'build', 'coverage',
|
|
29
|
+
'test', 'tests', 'mdapi', 'deploy', 'package.xml'
|
|
30
|
+
],
|
|
31
|
+
entrypointPatterns: [
|
|
32
|
+
'Controller', 'Trigger', 'Batch', 'Queueable', 'Schedulable',
|
|
33
|
+
'AuraEnabled', 'RestResource', 'FlowAction', 'FlowConnector',
|
|
34
|
+
'LWC', 'Component', 'App', 'Event', 'Interface'
|
|
35
|
+
],
|
|
36
|
+
layerRules: [
|
|
37
|
+
{ name: 'api', priority: 1, patterns: ['Controller', 'Trigger', 'RestResource', 'AuraEnabled', 'FlowAction'] },
|
|
38
|
+
{ name: 'service', priority: 2, patterns: ['Service', 'Selector', 'Domain', 'UnitOfWork'] },
|
|
39
|
+
{ name: 'data', priority: 3, patterns: ['Repository', 'DAO', 'Selector', 'Model'] },
|
|
40
|
+
{ name: 'domain', priority: 4, patterns: ['Entity', 'SObject', 'Schema', 'Object'] },
|
|
41
|
+
{ name: 'util', priority: 5, patterns: ['Util', 'Helper', 'Constants', 'Exception'] }
|
|
42
|
+
],
|
|
43
|
+
supportedExtensions: ['.cls', '.trigger', '.apex', '.js', '.html', '.css', '.xml', '.meta.xml'],
|
|
44
|
+
flowEntrypointPatterns: ['Controller', 'Trigger', 'Batch', 'Queueable', 'RestResource', 'AuraEnabled', 'LWC'],
|
|
45
|
+
flowExcludePatterns: [
|
|
46
|
+
'Test', 'TestSuite', 'Settings', 'PermissionSet', 'Profile',
|
|
47
|
+
'SharingRule', 'ValidationRule', 'Workflow', 'Flow', 'ProcessBuilder'
|
|
48
|
+
]
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Salesforce DX specific
|
|
52
|
+
*/
|
|
53
|
+
export const sfdxAdapter = {
|
|
54
|
+
...salesforceAdapter,
|
|
55
|
+
name: 'sfdx',
|
|
56
|
+
displayName: 'Salesforce DX',
|
|
57
|
+
detectionSignals: [
|
|
58
|
+
{ type: 'file', pattern: 'sfdx-project.json' },
|
|
59
|
+
{ type: 'file', pattern: 'project-scratch-def.json' },
|
|
60
|
+
{ type: 'file', pattern: '.forceignore' }
|
|
61
|
+
],
|
|
62
|
+
featureRoots: ['force-app', 'src', 'unpackaged', 'mdapi']
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=salesforceAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"salesforceAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/salesforceAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter SDK - Create custom adapters easily
|
|
3
|
+
*
|
|
4
|
+
* This module provides a developer-friendly API for creating
|
|
5
|
+
* ecosystem adapters for AI-First.
|
|
6
|
+
*/
|
|
7
|
+
import { AnalysisAdapter, DetectionSignal, LayerRule } from './baseAdapter.js';
|
|
8
|
+
/**
|
|
9
|
+
* Configuration for creating a new adapter
|
|
10
|
+
*/
|
|
11
|
+
export interface AdapterConfig {
|
|
12
|
+
/** Unique adapter name */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Human-readable display name */
|
|
15
|
+
displayName: string;
|
|
16
|
+
/** Detection signals - what files/directories indicate this adapter */
|
|
17
|
+
detectionSignals?: DetectionSignal[];
|
|
18
|
+
/** Feature root directories */
|
|
19
|
+
featureRoots?: string[];
|
|
20
|
+
/** Folders to ignore */
|
|
21
|
+
ignoredFolders?: string[];
|
|
22
|
+
/** Entrypoint patterns */
|
|
23
|
+
entrypointPatterns?: string[];
|
|
24
|
+
/** Layer rules for flow detection */
|
|
25
|
+
layerRules?: LayerRule[];
|
|
26
|
+
/** Supported file extensions */
|
|
27
|
+
supportedExtensions?: string[];
|
|
28
|
+
/** Flow entrypoint patterns */
|
|
29
|
+
flowEntrypointPatterns?: string[];
|
|
30
|
+
/** Patterns to exclude from flows */
|
|
31
|
+
flowExcludePatterns?: string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Default layer rules for common architectures
|
|
35
|
+
*/
|
|
36
|
+
export declare const DEFAULT_LAYER_RULES: LayerRule[];
|
|
37
|
+
/**
|
|
38
|
+
* Default ignored folders
|
|
39
|
+
*/
|
|
40
|
+
export declare const DEFAULT_IGNORED_FOLDERS: string[];
|
|
41
|
+
/**
|
|
42
|
+
* Create a new adapter with sensible defaults
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* import { createAdapter } from './adapters/sdk.js';
|
|
47
|
+
*
|
|
48
|
+
* export const myAdapter = createAdapter('laravel', {
|
|
49
|
+
* displayName: 'Laravel',
|
|
50
|
+
* detectionSignals: [
|
|
51
|
+
* { type: 'file', pattern: 'composer.json' },
|
|
52
|
+
* { type: 'file', pattern: 'artisan' }
|
|
53
|
+
* ],
|
|
54
|
+
* featureRoots: ['app/Http', 'app/Services', 'app/Models'],
|
|
55
|
+
* entrypointPatterns: ['Controller', 'Request', 'Command']
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function createAdapter(config: AdapterConfig): AnalysisAdapter;
|
|
60
|
+
/**
|
|
61
|
+
* Create a file-based detection signal
|
|
62
|
+
*/
|
|
63
|
+
export declare function fileSignal(pattern: string): DetectionSignal;
|
|
64
|
+
/**
|
|
65
|
+
* Create a directory-based detection signal
|
|
66
|
+
*/
|
|
67
|
+
export declare function directorySignal(pattern: string): DetectionSignal;
|
|
68
|
+
/**
|
|
69
|
+
* Create a content-based detection signal
|
|
70
|
+
*/
|
|
71
|
+
export declare function contentSignal(pattern: string, contentPattern?: string): DetectionSignal;
|
|
72
|
+
/**
|
|
73
|
+
* Create a layer rule
|
|
74
|
+
*/
|
|
75
|
+
export declare function layerRule(name: string, priority: number, patterns: string[]): LayerRule;
|
|
76
|
+
/**
|
|
77
|
+
* Validate an adapter configuration
|
|
78
|
+
*/
|
|
79
|
+
export declare function validateAdapter(adapter: AnalysisAdapter): {
|
|
80
|
+
valid: boolean;
|
|
81
|
+
errors: string[];
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=sdk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/sdk.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IAErC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,wBAAwB;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,0BAA0B;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,qCAAqC;IACrC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IAEzB,gCAAgC;IAChC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B,+BAA+B;IAC/B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAElC,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,EAM1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,UAKnC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAuBpE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAE3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,eAAe,CAEvF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAEvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAgC9F"}
|