Commit Graph

154 Commits

Author SHA1 Message Date
751d9a3005 feat: ai chat now has context of the active tab 2024-10-14 23:01:25 -04:00
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
ab7ee17145 fix: update fetch url with env and model to sonnet 2024-10-14 17:11:54 -04:00
1365fecb08 feat: optimized agent response time 2024-10-13 23:04:16 -04:00
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
6ea86afc70 chore: fix file paths 2024-10-12 14:54:43 -04:00
645ff5b119 Merge branch 'refs/heads/sync-container-files'
# Conflicts:
#	backend/server/src/index.ts
2024-10-02 13:47:45 -07:00
7e48faa1b5 fix: prevent the file sync from timing out after the default timeout 2024-10-02 13:44:55 -07:00
9d06808137 feat: keep containers alive for 60s of inactivity instead of killing them on disconnect 2024-10-02 05:22:37 -07:00
63f3b082d5 fix: don't limit the number of terminals on the backend 2024-10-02 05:20:18 -07:00
8e3a6d1aa6 fix: recreate timed out E2B sandboxes on page load 2024-10-02 05:20:14 -07:00
023b3bdc5e fix: add missing await keywords 2024-09-30 04:20:14 -07:00
01fb3ab921 feat: keep containers alive for 60s of inactivity instead of killing them on disconnect 2024-09-30 04:15:26 -07:00
13be78dee8 fix: don't exit the script when exceptions occur 2024-09-30 02:55:30 -07:00
7a00d24ab9 feat: sync changes to the filesystem 2024-09-30 02:55:28 -07:00
69b1287349 fix: handle errors when fixing permissions 2024-09-29 17:40:09 -07:00
09b3cf1862 fix: don't limit the number of terminals on the backend 2024-09-29 17:23:31 -07:00
f4c79bbb07 fix: recreate timed out E2B sandboxes on page load 2024-09-26 05:34:14 -07:00
0f7eb9a856 chore: change path.join to path.posix.join 2024-09-16 15:46:55 -07:00
0a99eda5ec chore: split up default terminal commands 2024-09-16 15:43:41 -07:00
c5b197f41c chore: add missing await 2024-09-16 15:43:41 -07:00
70cfb5dc3f fix: remove unneeded pty.wait 2024-09-16 15:43:41 -07:00
6bfff62513 fix: skip creating a directory in the container when it already exists 2024-09-16 08:57:44 -07:00
c94678c430 feat: watch container for file changes 2024-09-15 13:11:59 -07:00
585dcb469e fix: skip creating a directory in the container when it already exists 2024-09-15 10:47:00 -07:00
2f88ff6d58 feat: speed up new project creation by copying files concurrently 2024-09-15 10:29:23 -07:00
4ebd6dea96 fix: catch errors when copying files to the container 2024-09-06 18:14:11 -07:00
8921cd83bb fix: encode line breaks when making requests to the AI generation worker 2024-09-06 15:28:36 -07:00
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
b01934bd20 fix: change to non-streaming input method for E2B terminals 2024-09-05 14:25:11 -07:00
a1990a189c chore: migrate E2B SDK to beta version 2024-09-05 14:24:54 -07:00
6b761cc490 fix: correctly detect files and folders from R2 2024-08-18 11:09:19 -07:00
08c131b52d Merge branch 'refs/heads/feat/deploy-button-ui' into feat/deploy 2024-08-18 07:06:00 -07:00
98da0487e4 feat: store templates in R2 instead of startercode.ts 2024-08-18 06:56:22 -07:00
71004c61b2 fix: remove enum for project types 2024-08-18 06:52:41 -07:00
170bb45143 feat: pipe deployment logs to stdout 2024-08-18 06:50:11 -07:00
cd59b19ac7 fix: force push when deploying projects to Dokku 2024-08-18 06:46:51 -07:00
61235551d3 feat/ui: deploy button popover 2024-08-17 23:08:11 -04:00
86db64a83b Deploy to Dokku when the deploy button is clicked. 2024-08-09 16:45:17 -07:00
aac602d9db Allow server to run without a Dokku connection. 2024-08-01 09:29:42 -07:00
6c615f1a4f Detect running server port number from terminal output. 2024-07-31 18:16:04 -07:00
a74f7bf71a Change React template from Vite to create-react-app. 2024-07-31 17:09:24 -07:00
7ed19188d4 Deploy projects by pushing files to Dokku server via git. 2024-07-23 22:17:26 -04:00
870783940d Add Dokku environment variables to .env.example. 2024-07-23 17:54:44 -04:00
de4923ec1e Connect to remote Dokku server using SSH. 2024-07-21 14:58:38 -04:00
769f52816f Add Dokku connection and test client. 2024-07-21 14:58:38 -04:00
2fbabbd403 fix: handle file save bug (#36) 2024-06-27 23:43:18 -07:00
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
664a0098a6 fix: add missing values and instructions to config files 2024-06-01 22:36:38 -04:00
c8a2e3200a minor changes + package updates 2024-05-26 21:41:20 -07:00