@@ -9,57 +9,97 @@ https://marketplace.visualstudio.com/items?itemName=fiatinnovations.ola-code-bud
99
1010
1111## Architecture
12-
1312``` mermaid
14- graph TB
15- subgraph VSCode["VS Code Extension"]
16- Editor["Editor Interface"]
17- Commands["Commands Layer"]
18- Webview["Webview UI (React)"]
13+ flowchart TD
14+
15+ %% VS Code Extension Frontend
16+ subgraph "VS Code Extension Frontend"
17+ CE["Editor Interface"]:::frontend
18+ CL["Commands Layer"]:::frontend
19+ WV1["Webview (VS Code)"]:::frontend
20+ WV2["Webview (React UI)"]:::frontend
1921 end
2022
21- subgraph Core["Core Application"]
22- direction TB
23- Agents["AI Agents Layer"]
24- AppServices["Application Services"]
25- Infrastructure["Infrastructure Layer"]
26- Memory["Memory System"]
23+ %% Core Application Layer
24+ subgraph "Core Application"
25+ AA["AI Agents"]:::core
26+ MS["Memory System"]:::core
27+ subgraph "Application Services"
28+ BL["Business Logic"]:::core
29+ AI["Application Interfaces"]:::core
30+ end
31+ subgraph "Infrastructure Layer"
32+ HTTP["HTTP Services"]:::infra
33+ LOG["Logging"]:::infra
34+ REP["Repository"]:::infra
35+ LS["Local Storage"]:::infra
36+ end
2737 end
2838
29- subgraph AIProviders["AI Providers"]
30- Gemini["Gemini API"]
31- Groq["Groq API"]
32- Anthropic["Anthropic API"]
33- XGrok["XGrok API"]
39+ %% AI Providers
40+ subgraph "AI Providers"
41+ LLM["Language Model Integrations"]:::provider
42+ ESP["External Service Providers"]:::provider
3443 end
3544
36- subgraph Storage["Storage Layer"]
37- SQLite["SQLite Database"]
38- VectorDB["Vector Embeddings"]
39- FileSystem["File System Service"]
45+ %% Storage Layer
46+ subgraph "Storage Layer"
47+ DB["Database (SQLite)"]:::storage
48+ FS["File System"]:::storage
49+ VD["Vector Database"]:::storage
4050 end
4151
42- %% Main Flow Connections
43- Editor -->|"User Input"| Commands
44- Commands -->|"Process Request"| Agents
45- Agents -->|"Context Management"| Memory
46- Agents -->|"API Requests"| Infrastructure
47- Infrastructure -->|"Model Selection"| AIProviders
48- AppServices -->|"Data Access"| Storage
49- Memory -->|"Store Context"| Storage
50- Infrastructure -->|"Response"| Webview
51-
52- %% Additional Connections
53- Agents -->|"Business Logic"| AppServices
54- Commands -->|"UI Updates"| Webview
55- FileSystem -->|"Code Analysis"| Agents
56-
57-
58- class VSCode vscode
59- class Core core
60- class AIProviders ai
61- class Storage storage
52+ %% Connections between VS Code Extension Frontend
53+ CE -->|"UserInput"| CL
54+ CL -->|"ProcessRequest"| AA
55+ CL -->|"UIUpdate"| WV1
56+
57+ %% Connections within Core Application
58+ AA -->|"ContextManagement"| MS
59+ AA -->|"Orchestration"| BL
60+ AA -->|"ContractCall"| AI
61+
62+ %% Connections to Infrastructure
63+ AA -->|"APIRequest"| HTTP
64+ HTTP -->|"APICall"| LLM
65+ HTTP -->|"APICall"| ESP
66+ HTTP -->|"Feedback"| WV1
67+
68+ %% Connections from Application Services to Storage
69+ BL -->|"DataAccess"| DB
70+ BL -->|"FileAccess"| FS
71+ BL -->|"EmbedData"| VD
72+ AI -->|"RepositoryAccess"| REP
73+
74+ %% Memory System stores context to Storage
75+ MS -->|"StoreContext"| DB
76+
77+ %% Styling Classes
78+ classDef frontend fill:#cce5ff,stroke:#2a6592,stroke-width:2px;
79+ classDef core fill:#d4edda,stroke:#155724,stroke-width:2px;
80+ classDef infra fill:#f8d7da,stroke:#a71d2a,stroke-width:2px;
81+ classDef provider fill:#fff3cd,stroke:#856404,stroke-width:2px;
82+ classDef storage fill:#d1ecf1,stroke:#0c5460,stroke-width:2px;
83+
84+ %% Click Events
85+ click CE "https://github.com/olasunkanmi-se/codebuddy/blob/main/src/extension.ts"
86+ click CL "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/commands"
87+ click WV1 "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/webview"
88+ click WV2 "https://github.com/olasunkanmi-se/codebuddy/tree/main/webviewUi"
89+ click AA "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/agents"
90+ click MS "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/memory"
91+ click BL "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/services"
92+ click AI "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/application"
93+ click HTTP "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/infrastructure/http"
94+ click LOG "https://github.com/olasunkanmi-se/codebuddy/blob/main/src/infrastructure/logger/logger.ts"
95+ click REP "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/infrastructure/repository"
96+ click LS "https://github.com/olasunkanmi-se/codebuddy/blob/main/src/infrastructure/storage/local-storage.ts"
97+ click LLM "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/llms"
98+ click ESP "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/providers"
99+ click DB "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/infrastructure/repository"
100+ click FS "https://github.com/olasunkanmi-se/codebuddy/blob/main/src/services/file-system.ts"
62101```
102+
63103### Database
64104- SQLite database for code pattern storage
65105- Vector embeddings for semantic code search
0 commit comments