203 Commits

Author SHA1 Message Date
Akhileshrangani4
cc4a5307cd feat: ai chat now has its own context
This commit includes refactoring and dividing the AI chat files to ensure better readability.
2024-10-14 22:34:26 -04:00
Akhileshrangani4
ab7ee17145 fix: update fetch url with env and model to sonnet 2024-10-14 17:11:54 -04:00
Akhileshrangani4
1365fecb08 feat: optimized agent response time 2024-10-13 23:04:16 -04:00
Akhileshrangani4
dd59608d73 feature: add AI chat
features:

1. Real-time message display
2. User input handling
3. AI response generation
4. Markdown rendering for AI responses
5. Syntax highlighting for code blocks
6. Copy to clipboard functionality for messages and code blocks
7. Context handling (setting, displaying, and removing context)
8. Expandable/collapsible context display
9. Ability to ask about specific code snippets
10. Auto-scrolling to the latest message
11. Loading indicator during AI response generation
12. Stop generation functionality
13. Error handling for failed API requests
14. Responsive design (flex layout)
15. Custom styling for user and AI messages
16. Support for various Markdown elements (paragraphs, lists, code blocks)
17. Language detection and display for code blocks
18. Animated text generation effect for AI responses
19. Input field placeholder changes based on context presence
20. Disable input during message generation
21. Send message on Enter key press
22. Expandable/collapsible message context for each message
23. Editable context in expanded view
24. Icons for various actions (send, stop, copy, expand/collapse)
25. Visual feedback for copied text (checkmark icon)
26. Abortable fetch requests for AI responses
27. Custom button components
28. Custom loading dots component
29. Truncated display of long messages with expand/collapse functionality
2024-10-13 22:47:47 -04:00
Akhileshrangani4
6ea86afc70 chore: fix file paths 2024-10-12 14:54:43 -04:00
James Murdza
645ff5b119 Merge branch 'refs/heads/sync-container-files'
# Conflicts:
#	backend/server/src/index.ts
2024-10-02 13:47:45 -07:00
James Murdza
7e48faa1b5 fix: prevent the file sync from timing out after the default timeout 2024-10-02 13:44:55 -07:00
James Murdza
9d06808137 feat: keep containers alive for 60s of inactivity instead of killing them on disconnect 2024-10-02 05:22:37 -07:00
James Murdza
63f3b082d5 fix: don't limit the number of terminals on the backend 2024-10-02 05:20:18 -07:00
James Murdza
8e3a6d1aa6 fix: recreate timed out E2B sandboxes on page load 2024-10-02 05:20:14 -07:00
James Murdza
023b3bdc5e fix: add missing await keywords 2024-09-30 04:20:14 -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
James Murdza
13be78dee8 fix: don't exit the script when exceptions occur 2024-09-30 02:55:30 -07:00
James Murdza
7a00d24ab9 feat: sync changes to the filesystem 2024-09-30 02:55:28 -07:00
James Murdza
69b1287349 fix: handle errors when fixing permissions 2024-09-29 17:40:09 -07:00
James Murdza
09b3cf1862 fix: don't limit the number of terminals on the backend 2024-09-29 17:23:31 -07:00
James Murdza
f4c79bbb07 fix: recreate timed out E2B sandboxes on page load 2024-09-26 05:34:14 -07:00
Akhileshrangani4
0f7eb9a856 chore: change path.join to path.posix.join 2024-09-16 15:46:55 -07:00
James Murdza
0a99eda5ec chore: split up default terminal commands 2024-09-16 15:43:41 -07:00
James Murdza
c5b197f41c chore: add missing await 2024-09-16 15:43:41 -07:00
James Murdza
70cfb5dc3f fix: remove unneeded pty.wait 2024-09-16 15:43:41 -07:00
James Murdza
6bfff62513 fix: skip creating a directory in the container when it already exists 2024-09-16 08:57:44 -07:00
James Murdza
c94678c430 feat: watch container for file changes 2024-09-15 13:11:59 -07:00
James Murdza
585dcb469e fix: skip creating a directory in the container when it already exists 2024-09-15 10:47:00 -07:00
James Murdza
2f88ff6d58 feat: speed up new project creation by copying files concurrently 2024-09-15 10:29:23 -07:00
James Murdza
4ebd6dea96 fix: catch errors when copying files to the container 2024-09-06 18:14:11 -07:00
James Murdza
8921cd83bb fix: encode line breaks when making requests to the AI generation worker 2024-09-06 15:28:36 -07:00
James Murdza
62e6d64a52 feat: change code generation to replace the selected code chunk and use Claude 3.5 Sonnet 2024-09-06 15:28:31 -07:00
James Murdza
b01934bd20 fix: change to non-streaming input method for E2B terminals 2024-09-05 14:25:11 -07:00
James Murdza
a1990a189c chore: migrate E2B SDK to beta version 2024-09-05 14:24:54 -07:00
James Murdza
6b761cc490 fix: correctly detect files and folders from R2 2024-08-18 11:09:19 -07:00
James Murdza
08c131b52d Merge branch 'refs/heads/feat/deploy-button-ui' into feat/deploy 2024-08-18 07:06:00 -07:00
James Murdza
98da0487e4 feat: store templates in R2 instead of startercode.ts 2024-08-18 06:56:22 -07:00
James Murdza
71004c61b2 fix: remove enum for project types 2024-08-18 06:52:41 -07:00
James Murdza
170bb45143 feat: pipe deployment logs to stdout 2024-08-18 06:50:11 -07:00
James Murdza
cd59b19ac7 fix: force push when deploying projects to Dokku 2024-08-18 06:46:51 -07:00
Akhilesh Rangani
61235551d3 feat/ui: deploy button popover 2024-08-17 23:08:11 -04:00
James Murdza
86db64a83b Deploy to Dokku when the deploy button is clicked. 2024-08-09 16:45:17 -07:00
James Murdza
aac602d9db Allow server to run without a Dokku connection. 2024-08-01 09:29:42 -07:00
James Murdza
6c615f1a4f Detect running server port number from terminal output. 2024-07-31 18:16:04 -07:00
James Murdza
a74f7bf71a Change React template from Vite to create-react-app. 2024-07-31 17:09:24 -07:00
James Murdza
7ed19188d4 Deploy projects by pushing files to Dokku server via git. 2024-07-23 22:17:26 -04:00
James Murdza
870783940d Add Dokku environment variables to .env.example. 2024-07-23 17:54:44 -04:00
James Murdza
de4923ec1e Connect to remote Dokku server using SSH. 2024-07-21 14:58:38 -04:00
James Murdza
769f52816f Add Dokku connection and test client. 2024-07-21 14:58:38 -04:00
Ishaan Dey
2fbabbd403
fix: handle file save bug (#36) 2024-06-27 23:43:18 -07:00
James Murdza
9f0b6a8fdc
Implement secure cloud sandboxes with E2B (#35)
* chore: rename utils.ts to fileoperations.ts

* feat: replace node-pty with E2B sandboxes

* added debounced function in the editor

* fix: move socket connection to useRef

* fix: wait until terminals are killed to close the container

* fix: ensure container remains open until all owner connections are closed

* fix: sync files to container instead of local file system

* fix: set project file permissions so that they belong to the terminal user

* fix: use the container URL for the preview panel

* fix: count only the current user's sandboxes towards the limit

* fix: remove hardcoded reference to localhost

* fix: add error handling to the backend

* docs: add information about E2B

---------

Co-authored-by: Akhilesh Rangani <akhileshrangani4@gmail.com>
2024-06-27 23:39:03 -07:00
James Murdza
664a0098a6 fix: add missing values and instructions to config files 2024-06-01 22:36:38 -04:00
Ishaan Dey
c8a2e3200a minor changes + package updates 2024-05-26 21:41:20 -07:00
Ishaan Dey
ae15e44472 remove kv 2024-05-26 18:45:28 -07:00