artificialcitizens / acai.so

Your AI Powered Toolkit
https://acai.so
Other
14 stars 2 forks source link

beta release #99

Closed mabry1985 closed 1 year ago

mabry1985 commented 1 year ago

UI Updates We've given acai.so a facelift! From a simplified Chat component to an updated layout, we've made several changes to make the interface more user-friendly and intuitive. More interface updates to come as we work through the beta stages.

Sharing Workspaces What good is knowledge if you can't share it? With our new Import/Export functionality, sharing workspaces has never been easier. You can now effortlessly save your workspace to a file and load it back whenever you need it. Sharing your workspaces with your team is now as simple as a click!

Mobile Responsiveness We understand that you need to access your workspaces on the go. That's why we've made acai.so mobile-responsive. Whether you're on your tablet or your smartphone, you can now interact with your acai.so workspaces seamlessly, without compromising on functionality or experience.

PWA Functionality You can now install acai.so on your device and access it like a native app. With the PWA functionality, you can use acai.so offline, receive push notifications and even access hardware features of your device.

We're excited for you to try out these new features and can't wait to hear your feedback! Remember, this is just the beginning - we have a lot more exciting updates in the pipeline. So stay tuned!

coderabbitai[bot] commented 1 year ago

Walkthrough

The changes encompass updates to state management and database, component refactoring, and documentation. New tables were added to the database, and state machines were updated to handle new events. Components were refactored for improved functionality, and new components were introduced. Documentation was updated to reflect the new features and functionality.

Changes

Changeset 1: State Management and Database Updates

File Summary
db.ts Added two new tables, workspaces and docs, to the AcaiDexie class. Added corresponding properties to the class and initialized them in the constructor.
src/state/app.xstate.ts Updated the Workspace interface to include a docIds property. Introduced the AppContext interface to represent the application state. Updated the appStateMachine to handle new events and use the appDbService to save and delete the corresponding data.
src/state/agent.xstate.ts Renamed the AgentWorkspace interface to AgentContext and added a new property customPrompt. Updated the AgentEvent type to include events for updating custom prompts. Updated the saveAgentState and loadAgentState functions to use the AgentContext type.
src/state/ui.xstate.ts Renamed the IContext interface to UIContext and added new properties modalOpen and modalContent. Updated the uiMachine to use the UIContext and AC_UIEvent types.
src/state/speech.xstate.ts Introduced the SpeechContext interface and the SpeechEvent type. Created the speechMachine state machine to handle speech events.
src/state/index.ts Added a new export statement for the "speech.xstate" module.
src/state/use-voice-command.ts Updated the useVoiceCommands hook to use a state management service and selectors instead of local state and context.
src/context/GlobalStateContext.tsx Updated the type of appStateService, uiStateService, agentStateService, and speechStateService to use the Interpreter type from xstate. Added an useEffect hook to load the state from appDbService and initialize the appStateMachine with the loaded state.

Changeset 2: Component Updates and Refactoring

File Summary
src/App.tsx Modified import statements, updated function calls, and added new components.
src/components/Ava/Ava.tsx Removed several components and updated the UI layout.
src/components/Ava/use-ava.ts Updated import statements and refactored the useAva hook.
src/components/AvaNav/AvaNav.tsx Added a new component called AvaNav which represents a navigation bar.
src/components/Chat/Chat.tsx Simplified the send function within the Chat component.
src/components/ChatSettings/ChatSettings.tsx Changed the property names in two event handlers for consistency.
src/components/Cursor/Cursor.tsx Removed a console.log statement.
src/components/Icons/Icons.tsx Removed the MicIcon component and added three new components: SettingIcon, MicIcon, and KnowledgeIcon.
src/components/Knowledge/Knowledge.tsx Updated import statements, function calls, and event handling.
src/components/KnowledgeView/KnowledgeView.tsx Modified the knowledgeTab function to use the full UUID as the id property.
src/components/MainView/MainView.tsx Commented out unused imports and variables, replaced the Tab interface with the ACDoc interface, and updated function calls and state updates.
src/components/Modal/Modal.module.css Introduced two new CSS classes: .modal and .modalContent.
src/components/Modal/Modal.tsx Added a new component called ACModal which is a modal dialog component.
src/components/NotificationCenter/index.tsx Modified the rendering logic of the NotificationCenter component.
src/components/QuickSettings/QuickSettings.tsx Updated import statements, refactored state variables and logic, and modified the JSX structure.
src/components/SettingsTabs/AudioSettings.tsx Added a new component called AudioSettings for managing audio settings.
src/components/SettingsTabs/Settings.css Updated the CSS classes used in a React component for tabs.
src/components/SettingsTabs/SettingsTabs.tsx Added a new component called Settings which is a container for various settings panels.
src/components/SideNav/SideNav.tsx Updated import statements, function calls, and state management.
src/components/Sidebar/SBSidebar.tsx Replaced the ToggleView component with the AvaNav component and introduced a scaling factor for resizing the sidebar.
src/components/SocketManager/SocketManager.tsx Changed the function signatures and updated the WebSocket event handlers.

Changeset 3: Documentation Updates

File Summary
public/docs/introduction.md Introduced a new document describing the features and functionality of the acai.so platform.
public/docs/knowledge.md Introduced a new section titled "Knowledge" that provides information about using a tool called "acai.so" for chatting with files and data using a Retrieval Augmented Generation (RAG) pipeline.
public/docs/voice-synthesis.md Introduced a voice synthesis component that allows users to interact with AVA and the acai.so toolkit using voice commands.
src/utils/docs.ts Introduced a new module that fetches documentation files and formats them for display.

Changeset 4: Hooks and Configuration Updates

File Summary
src/hooks/use-load-workspace.ts Added a new hook called useLoadWorkspace for loading a workspace from a file.
src/hooks/use-save-workspace.ts Added a new hook called useSaveWorkspace for saving a workspace to a file.
vite.config.ts Updated the Vite configuration to include the PWA plugin and new icon paths.

"Hoppity hop, the code doesn't stop, šŸ‡ With every commit, we reach the top. šŸ”ļø New tables to store, and states galore, šŸ“Š Our app is now better than before! šŸŽ‰ With components so fine, and docs that shine, šŸ“š Celebrate, for all is divine! šŸ„³"


Tips ### Chat with CodeRabbit Bot (`@coderabbitai`) - If you reply to a *review comment* from CodeRabbit, the bot will automatically respond. - To engage with CodeRabbit bot directly around the specific lines of code in the PR, mention @coderabbitai in your review comment - Note: Review comments are made on code diffs or files, not on the PR overview. - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai help` to get help. - `@coderabbitai resolve` to resolve all the CodeRabbit review comments. Note: For conversation with the bot, please use the review comments on code diffs or files. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - The JSON schema for the configuration file is available [here](https://coderabbit.ai/integrations/coderabbit-overrides.v2.json). - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json`
vercel[bot] commented 1 year ago

The latest updates on your projects. Learn more about Vercel for Git ā†—ļøŽ

Name Status Preview Comments Updated (UTC)
acai-so āœ… Ready (Inspect) Visit Preview šŸ’¬ Add feedback Nov 5, 2023 8:08pm