* Add a API endpoint for generating queries for the SQL editor.
* Merge all multiline props.
* Add a new component for diff actions.
* Copy components for the AI panel.
* Add useChat hook.
* Add a feature preview for the this feature. The preview is dependent on the feature flag.
* Reorder the nesting in the SQL editor to accomodate the AI assistant.
* Try to fit both AI assistants in the SQL editor, available via a feature preview.
* Refactor the SQL editor to make the diff work correctly in all cases.
* Minor fixes for the old AI feature.
* Fix the debug functionality to work with both assistants.
* Fix some copy-paste leftovers.
* Remove unneeded code.
* Make the icons softer.
* Fix the name of the panel component.
* Fix console.logs.
* Add overflow to the AI assistant.
* surface opt in config in ai settings button
* Skip diffing if editor is empty
* Add selected state when selecting a message to insert/replace code
* Add sample prompts
* Add SQL ai dislaimer when replacing code
* Light mode action bar nudges
* Add text for the feature preview.
* lang nudges
* Hide the command suggestions for now.
* Set the discussion url to undefined.
* Don't add the disclaimer twice.
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Terry Sutton <saltcod@gmail.com>
* Close nav bar on click link
* Remove onClick for navigationiconbutton
* If user clicked on nav icon thats within the nav bar, dont reopen until mouse left side bar once
* Fix
* Add templates to RLS assistant
* Update button
* lint
* Chore/rls assistant iteration templates styling (#21459)
* Update index.tsx
* update icon pack
* add new classes
* expose hover card
* add slight shadow to scroll area
* monaco editor updated
* tabs border-b updated
* message styling updated to use circle AI icon
* templates side panel updated to use new tailwind classes and ScrollArea
* Updated tab label to "Assistant" and adjusted background colors
* header updated to use simpler open/close button
* divide-y styling added to chat
* fix tabs bg state
* shadcn tooltip updated to use correct bg color and added default delay duration
* updated styling of codeblocks in chat
* updated open / close button. also added a tooltip
* divide border styling
* add 'slide in' animation option for Hover Card
* update code block
* switch to Card Button
* Update CardButton to expose props and allow any props to be applied
* init
* Apply suggestions from code review
* Add entry step when clicking on create new policy for rls ai
* templates code replacement state highlight selected template
* Ai message code replacement state highlight selected message
* Opt to leave templates panel open
* Fix templates to use template name in policy sql
* Fixes
* fix
* Remove unused imports
---------
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
* Start
* Refactor code and remove unused imports
* Refactor SchemaFlowHandler and UserChat components
* Refactor code and remove unused files
* Refactor Thread component and remove CurrentThreadName import
* Remove oldest_messages view from supabase.ts
* Refactor supabase.ts file
* Hook up loading state ChatInput component and remove old route handlers
* Add updated prompt
* Refactor chat form component and remove unused code
* Make the suspense work when fetching messages.
* Small refactor in the chat assistant form component.
* Experimenting with streaming responses. WIP.
* Move all components to thread_id/message_id folder.
* Massive refactor but uses Nextjs app router properly.
* Add a conditional submit which is used if the user haven't been logged in.
* Add a typecheck command to db-new app.
* Minor fixes.
* Bunch of minor fixes.
* Clean up more code.
* Refactor the AssistantChatForm to use the new React forms features.
* Run fitView after 50 milliseconds because it didn't run in some cases.
* Style and flow nudges
* Prettier
* Delete old file
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
* Add create, update and delete mutations for tables.
* Use the new mutations instead of the table store.
* Fully remove the TableStore from the MetaStore.
* Move the methods from MetaStore into pure functions in SidePanelEditor utils.
* Remove TableStore.
* Refactor the onError callbacks to be on the mutations.
* Convert some of the UIStore invocations.
* Fixed not closing the modal in case of an error. Migrate some uses of uiStore.
* Use onSettled on all RQ hooks.
* Remove the ui param to the create/updateTable functions.
* Add a missing connection string.
* Add progress bar for loading UI for importing rows
* Update apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/SidePanelEditor.utils.tsx
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* Add highlight for new rls assistant
* Optional close function
* Update UI
* Update button text
* Small style fixes on rls assistant ui
* Small style fixes
* Add cta to revert feature preview in rls assistant
* Fixes and ensure RLS assistant CTAs do not overlap into storage policies
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* chore: improve auth screens loading
* Update apps/studio/components/interfaces/Auth/Users/UsersList.tsx
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* handle error
* better pagination for users list
* disgusting boolean logic
* return user to previous page after deleting last user
* only show reloading indicator when it's refetching
* fix date formatting
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Fix new role form
* Rewrite form
* Commit a sin against ts
* Make the afterLabel a ReactNode.
* Fix minor type issues.
* Fix type
* Types
* Use lodash sortBy instead of the mutating array.sort.
* Fix the order of the roles with active connections.
* Sort the roles by lowercased names.
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
* feat: track rls ai editor usage
when user accepts consent, we track when rls editor:
ai suggestion accepted
ai suggestion discarded
copy code from code block in ai assistant
apply changes from code block in ai assistant
when question is asked in ai assistant
when sql has and error and ai debugger was requested
* fix: add asking part and change to past tense
* chore: add fix with assistant tracking
* fix: deploy error and merge master
* fix: action label fixed at queryerror
* Init RQ for database roles
* Shift all use of roles from pg meta mobx store to RQ
* Deprecate and remove roles pg meta mobx store
* Fix import
* Fix
* Address comments
* remove function child
---------
Co-authored-by: Alaister Young <a@alaisteryoung.com>
* refactor: ai sql logic to common package
* feat: ai sql tests
* feat: test rls policy ai chat assistant
* refactor: jest env loading
* feat(ai): improve sql title and description quality
* fix: ai message role type
* Move the new files to a separate package.
* Remove a forgotten console.log.
* Migrate the tests to use snapshots and commit the snapshots.
* Separate the functions which require edge runtime to be exported via /edge subpath.
* Bust the turbo cache when one of the deps has been rebuilt.
* chore: fix package main/type references
* fix: package lock out of sync
* fix: ai sql debugging to fix typos
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
* Add database policies RQ and shift all usage of policies from pg meta mobx to RQ
* Deprecate and remove policies store from pg meta mobx store
* Fix policies not showing by table and schema
* Update create policy mutation body
* Shift all usage of database functions from pg meta store to RQ
* Remove functions store from pg meta mobx store
* fix
* Fix
* Fixes
* fix
* Address comments
* Change the config to only allow TS files.
* Rename bunch of files from js to ts.
* Add better types to some files.
* Rename the big StorageExplorerStore but with no-check flag.
* Add some more instructions to the AI Editor.
* More updates to the suggestion instructions.
* Add spacing to policy details
* Monaco settings
* Copy changes to check when clicked
* Spelling
* More instructions for the AI.
* Make the error panel wrap text. Calculate the height of the editor dynamically.
* Add a comment.
---------
Co-authored-by: Terry Sutton <saltcod@gmail.com>
* Update the wording on few places.
* Update instructions for AI when generating policies.
* Format the SQL in the suggestion blocks to have uppercased keywords.
* Add padding before each code block.
* Word wrap the code in the diff editor.
* Remove unused component.
* Remove the added instruction.
* Add tab instructions.