125 Commits

Author SHA1 Message Date
Akhileshrangani4
1d21d55437 fix: prevent duplicate tabs when clicking file paths
Modify selectFile function to check for existing tabs before creating new ones.
When clicking file paths in AIChat, it will now switch to the existing tab
instead of creating duplicates.
2025-01-01 08:33:13 -05:00
Akhileshrangani4
274c945fac fix: ctrl/cmd + z with applied code 2025-01-01 08:16:16 -05:00
Akhileshrangani4
0d0eed34b2 fix: apply code- discard button 2024-12-01 22:15:16 -05:00
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