122 Commits

Author SHA1 Message Date
Akhileshrangani4
4e1c5cac27 feat: Add clickable file paths in AI chat responses
- Detect file paths with dots in directory names (e.g. next/styles/SignIn.module.css)
- Create new files when path ends with "(new file)"
- Use existing socket connection and file management system
2024-12-01 18:52:28 -05:00
Akhileshrangani4
0ae89341d2 feat: file path above each code snippet 2024-12-01 14:29:23 -05:00
Akhileshrangani4
6612692d98 feat: introduce apply button functionality (v0.1)
### Summary
- Added a new "Apply" button to code snippets provided by the AI assistant.
- The button is designed to seamlessly merge the AI-generated snippet into the relevant file in the editor.

### Current Issues
1. **Sticky Accept/Decline Buttons:** These activate for every snippet instead of being limited to the relevant snippet.
2. **Discard Button:** Currently non-functional.
3. **Highlight Inconsistencies:** The green-red code highlights for old and new code are inconsistent.

### To Do
- Implement a toast notification when the "Apply" button is pressed on an irrelevant tab to prevent code application errors.

### Workflow Implemented
1. The "Apply" button is added alongside "Copy" and "Reply" for AI-generated code snippets.
2. Upon clicking "Apply," the code snippet and relevant file content (active file) are sent to a secondary model (GPT-4O).
3. The system prompt for GPT-4O instructs it to merge the snippet with the file content:
   - Ensure the original file functionality remains intact.
   - Integrate the code snippet seamlessly.
4. The output from GPT-4O is injected directly into the code editor.
5. Changes are visually highlighted:
   - Green for new code.
   - Red for removed code.
6. Highlights remain until the user explicitly accepts or discards the changes.
2024-11-30 21:52:17 -05:00
Akhileshrangani4
ba7a1dcc2c chore: formatting the code of recent changes 2024-11-29 13:05:35 -05:00
Akhileshrangani4
426af545bd feat: integrate template awareness into AI assistant
- Add template configurations with file structures and conventions
- Update AI route handler to include template context in system messages
- Pass template type through AIChat component
- Add template-specific run commands
- Enhance AI responses with project structure knowledge
- Move hardcoded run commands from navbar/run.tsx to templates/index.ts

This improves the AI's understanding of different project templates (React, Next.js, Streamlit, Vanilla JS) and enables more contextual assistance based on the project type.
2024-11-25 15:51:28 -05:00
Akhileshrangani4
34994a8c69 refactor(api): remove AI worker, add ai api route, add usage tiers
- Remove separate AI worker service
- Added generation limits:
  FREE: 1000/month (For the beta version)
  PRO: 500/month
  ENTERPRISE: 1000/month
- Integrate AI functionality into main API routes
- Added monthly generations reset and usage tier upgrade API routes
- Upgrade tier page to be added along with profile page section
2024-11-25 15:47:57 -05:00
Akhileshrangani4
b796f46dc2 fix: comment out live collaboration features 2024-11-17 22:08:26 -05:00
James Murdza
07d3802baa fix: reload the entire file list after adding or deleting files 2024-11-17 13:25:16 -05:00
Akhilesh Rangani
062e8d9226 chore: format frontend code 2024-11-17 12:43:13 -05:00
Akhileshrangani4
cd643c217e chore: remove unnecessary logs 2024-11-10 22:24:41 -05:00
Akhileshrangani4
9c6067dcd9 feat: enhance AI Chat with context management, file integration, image support, and improved code handling
- Added context tabs system for managing multiple types of context (files, code snippets, images)
   - Added preview functionality for context items
   - Added ability to expand/collapse context previews
   - Added file selection popup/dropdown
   - Added file search functionality
   - Added image upload button
   - Added image paste support
   - Added image preview in context tabs
   - Added automatic code detection on paste
   - Added line number tracking for code snippets
   - Added source file name preservation
   - Added line range display for code contexts
   - Added model selection dropdown (Claude 3.5 Sonnet/Claude 3)
   - Added Ctrl+Enter for sending with full context
   - Added Backspace to remove last context tab when input is empty
   - Added smart code detection on paste
2024-11-04 17:24:22 -05:00
James Murdza
474102aa14 fix: use new project directory path to find tsconfig files 2024-11-02 13:28:48 -06:00
Akhileshrangani4
198b59aa55 feat: add AI chat button to open it 2024-10-27 17:27:36 -04:00
Akhileshrangani4
684ee20a03 chore: removing unnecessary code 2024-10-27 17:26:43 -04:00
Hamzat Victor
8b890fdffe fix: remove editor red squiggly lines
by dynamically loading project's tsconfig file and adding nice defaults

# Conflicts:
#	frontend/components/editor/index.tsx
#	frontend/lib/utils.ts
2024-10-26 18:41:10 -06:00
James Murdza
1de980cdd6 refactor: pass event handler arguments as a single object 2024-10-26 18:35:29 -06:00
Hamzat Victor
9546d4ad7b Merge branch 'main' of https://github.com/Code-Victor/sandbox into feat/light-theme 2024-10-23 11:00:24 +01:00
Hamzat Victor
eb4e34cf10 feat: add light theme WIP 2024-10-23 10:51:50 +01:00
James Murdza
4f7a4a5312 Merge branch 'refs/heads/main' into feature/ai-chat
# Conflicts:
#	frontend/components/dashboard/newProject.tsx
#	frontend/components/editor/AIChat/ChatMessage.tsx
#	frontend/components/editor/AIChat/ContextDisplay.tsx
#	frontend/components/editor/AIChat/index.tsx
#	frontend/components/editor/index.tsx
#	frontend/components/editor/sidebar/index.tsx
#	frontend/components/editor/terminals/terminal.tsx
2024-10-21 18:16:26 -06:00
Akhilesh Rangani
6fb1364d6f chore: format frontend code 2024-10-21 13:57:45 -06:00
Akhilesh Rangani
3f8e27d969 chore: format frontend code 2024-10-21 13:57:17 -06:00
Akhileshrangani4
7951221310 fix: global buttons and indicators
- cmd/ctrl + L works globally now
- added the copilot and ai chat button indicators
- when aichat is open, the preview/terminal column becomes horizontal
2024-10-20 23:23:04 -04:00
James Murdza
428d2366ff Merge branch 'refs/heads/feature/ai-chat'
# Conflicts:
#	frontend/components/editor/index.tsx
2024-10-20 17:22:16 -06:00
Akhileshrangani4
751d9a3005 feat: ai chat now has context of the active tab 2024-10-14 23:01:25 -04:00
Akhileshrangani4
bfc687a3e6 fix: aichat and preview/terminal layout 2024-10-14 13:51:17 -04:00
Hamzat Victor
fa5d1e9a57 feat: add skeleton loader to file explorer 2024-10-14 12:06:54 +01:00
Akhileshrangani4
62e282da63 feat: added AI chat
backend implementation remaining
2024-10-13 01:41:48 -04:00
Akhileshrangani4
f192d9f3ab chore: default terminal column size 2024-10-12 22:33:09 -04:00
Akhileshrangani4
b6569550fc feature: add terminal/preview layout button 2024-10-12 19:46:32 -04:00
Akhileshrangani4
f863f2f763 feat: add preview panel button 2024-10-12 17:55:49 -04:00
Akhileshrangani4
cf6888e3d3 chore: remove unnecessary code 2024-10-03 06:30:28 -07:00
Akhileshrangani4
229b489c1e fix: filecontent update while switching tabs, empty file crash
# Conflicts:
#	backend/server/src/index.ts
2024-10-03 06:29:57 -07:00
James Murdza
01fb3ab921 feat: keep containers alive for 60s of inactivity instead of killing them on disconnect 2024-09-30 04:15:26 -07:00
Hamzat Victor
c2a23fcbcb fix: remove editor red squiggly lines
by dynamically loading project's tsconfig file and adding nice defaults
2024-09-24 13:00:49 +01:00
James Murdza
06118e98e9 feat: remove the ai toggle switch 2024-09-06 18:14:54 -07:00
Hamzat Victor
62311faf51 feat: add AI edit code selection 2024-09-06 20:41:45 +01:00
James Murdza
7149925539 fix: remove useCallback, fixing null socket issue when reading files 2024-09-01 21:55:29 -07:00
Akhileshrangani4
0679f99bb7 fix: socket connection 2024-09-01 19:31:25 -07:00
Akhileshrangani4
1502047bf2 fix: files not loading when creating a new project 2024-09-01 18:25:25 -07:00
Akhilesh Rangani
2da60ff4e4 fix: only one socket connection via socketcontext 2024-08-23 20:09:54 -04:00
James Murdza
d4c65ad1a3 Reload the live preview when the app is restarted. 2024-08-09 16:44:41 -07:00
James Murdza
e8a3944b9e Merge branch 'refs/heads/feat/dokku' into production
# Conflicts:
#	frontend/app/layout.tsx
2024-07-31 18:18:38 -07:00
James Murdza
2e68b0b537 Merge branch 'refs/heads/feat/run-deploy-buttons' into feat/dokku
# Conflicts:
#	backend/server/package-lock.json
#	backend/server/src/index.ts
#	frontend/components/editor/index.tsx
#	frontend/components/editor/navbar/deploy.tsx
#	frontend/components/editor/navbar/index.tsx
2024-07-27 08:24:40 -04:00
Akhilesh Rangani
deb32352fb feat: add run button 2024-07-23 17:30:35 -04:00
James Murdza
dead84ac4d fix: make server url an environment variable 2024-07-17 13:29:43 -04:00
James Murdza
62a3d6d8f7 Merge branch 'refs/heads/fix-editor' into production 2024-07-17 11:02:35 -04:00
James Murdza
08d562ee54 chore: remove unused variable reactDefinitionFile 2024-07-17 10:49:58 -04:00
Akhilesh Rangani
db1410f587 fix: remove editorRef from useEffect 2024-07-17 10:46:34 -04:00
Akhilesh Rangani
7a80734c25 fix: remove extra state variables from useEffect 2024-07-17 10:46:29 -04:00
Akhilesh Rangani
0a21cb2637 fix: store rooms in map 2024-07-17 10:46:21 -04:00