* show thinking if last message is empty
* sql toggle copy and border fix
* add table and schema context
* add suggestions for policy
* Add snippet content to ai assistant if on sql editor and assistant is open
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* start
* added panels
* remove stuff
* fixes and refinements
* clean up
* remove old assistant panel
* resizable assistant kinda
* use icon
* Add missing package
* remove canvas
* add suggestions
* updated empty state if no tables exist
* fix table condition
* Implement diffing if using assistant in sql editor
* Reinstate old assistant in SQL editor if feature preview is off
* pane size adjustment
* assistant button corners
* Add SQL snippet content to assistant if opening assistant in sql editor
* Add the necessary checks for opt in and hipaa
* revert adding snippet to assistant when opening assistant in sql editor
* Add cmd i shortcut
* Add admonitions for when disablePrompt is toggled on, and if no api key is set. Add footer note RE rate limitation
* Bump ai package in packages
* some fixes for backwards compability depending on feature preview toggled
* Rename feature preview property for new assistant
* Smol fix
* Prevent SQL snippet from running until message is finished
* only loading last message
* fix z-index
* save chat state to global state
* add debug to failed ai queries
* Add basic contextual invalidation
* Add explain code action to SQL editor
* Add link to abort ongoing queries from SqlSnippet
* Update feature preview content
* Fix
* Fix
* Fix
* Te4st
* Fix tests
* ONly show ai button within a project
* Fix PH tracking
* Beef up a bit more event tracking
* Rough fix to padding when assistant is open
* A bit more telemetry stuff
* Update prompts
* fix rls editing via assistant
* Update generate-v3.ts
prompt to get auth schema too
* Add policy satement to assistant when editing
* Address all comments
* fixc
* Fix SqlSnippet not taking full width on larger viewports
* Adjust max width
---------
Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
* Hook up RLS to new assistant if feature flag is enabled
* Reset conversation if opening a different entity
* Add prompt to use alter policy if policy definition is provided
* Remove console log
* Fix the types for API settings to include protocol.
* Use the protocol property in all usages of endpoints.
* Update
* Lint
* Revert changes to retrieving protocol
* Remove console.logs
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Add a message if openai_api_key not set
* Fix disabled state
* Some fixes
* Add same check in global assistant
* Remove check for api key for platform
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Init AiAssistantPanel
* Temp
* Temp
* iterating on assistant ux
* More spiking
* Tweaking...
* Moar tweaking..
* Even more tweaking
* Tweek
* More tweaks
* Final tweaking...
* TWEAK
* Spelling
* Fix
* Assistant error handling and small bug fix in context for message
* Add feature flag
* Fix
* Address all feedback
* Minor
* fix: only list views, foreign tables, material views in selected schema
* fix(studio): views filterings on local studio experience
---------
Co-authored-by: jingsam <jing-sam@qq.com>
* Inital setup
* Add suggest feature to the RLS Assistant
* Add AI button
* Use existing policies in AI editor
* Remove old feature preview
* Cleanup
* Tooltip
* Update
* Change panel width
* Fix type
* Fix types again
* Flag cleanup
* Add tooltip
* Cleanup
* Add a clear history button
Missed some routes when restricting edge function regions in an earlier
PR. Any edge function that calls OpenAI needs to be called from an
OpenAI-supported region.
AI edge functions error if Vercel runs them in a region that is not
supported by OpenAI. To prevent this, restrict the Edge Function regions
to the OpenAI-supported regions.
* Add an API page for run-lints endpoint.
* Fix the playwright test.
* Make the check mandatory in the github action.
* Fix a console.log.
* Use a more stable way of waiting for buttons before clicking them.
* Add helper method for dismissing toasts.
* Wait for the other toast.
* Try and fix the flakiness of the toasts.
* Minor fix.
* Upload artifacts at the end of the github action run.
* Fix yaml stuff.
* Use the newer action for uploading. Shorten the retention period to 7 days.
* Add waitForResponse for the entity types API call.
* snapshot.
* Wait for the page to be loaded.
* Make the timeout bigger when waiting for response.
* Try to fix the timeouts.
* Minor restructuring of the test.
* Add another test and few minor todo tests.
* Fix the table names.
* Don't render hcaptcha in test mode.
* Expand the test to include sorting and filtering.
* Add a test for checking if the other schemas are can be listed.
* Make the sort popover button more stable.
* Fix a unused forward ref in the NavMenuItem component.
* Don't render the Toaster container when in test mode.
* Simplify starting the dev server when testing.
* Fix all inputs to have proper test ids.
* Fix the command for testing.
* chore: libpg-query types
* feat: improved rls ai tests
* feat: simplify assertitions for sql expressions
* refactor: split ai logic into separate files
* feat(rls-ai): test select, insert, update, delete policies
* feat: adds withMetadata wrapper for failed tests
* chore: remove custom libpg-query types
* feat(rls-ai): make tests concurrent
* fix(rls-ai): rules for 'using' and 'with check'
* feat(rls-ai): discourages restrictive policies
* feat(ai): makes withMetadata util sync or async
* refactor(ai): moves withMetadata to generic test utils
* feat(rls-ai): test joined table
* feat(rls-ai): test mfa
* chore(ai): make all tests concurrent
* fix(ai): chatSql function rename in studio
* refactor(ai): isolate logic into separate files
* chore(ai): remove trailing comma in tsconfig
* chore(ai): remove unused dep
* Reset some of the package versions to the versions from master.
* chore(ai): remove unused imports
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
* Remove feature preview for the conversational AI for SQL editor.
* Remove all code related to the previous implementation of editor ai.
* Update the snapshots for the ai commands.
* Remove unneeded code from the ai panel.
* Show the diff bar when debugging.
* Convert the updateEditor function into a callback.
* Simplify the debugging functionality by using react state instead of react context.
* Erase the AI disclaimer when formatting code as modification.
* Add a button to clear the chat history.
* Hide the logout button in selfhosted version.
* Don't call project-eligibility-query on selfhosted version.
* Add local api handlers for self-hosting version.
* Fix a missing monaco editor file in the self-hosting version.
* Deleted an obsolete api route.
* Import the right get function.
* 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>
* First
* Update
* Move connection string panel to its own component
* Add connection strings
* Format button
* Add dummy files to get logic working
* Add mdx packages
* add file handling and change logic
* Support connections
* Fix icons, add direct and graphql
* Remove mdx stuff
* Add pooler toggle
* Fix child logic
* Fix grandchild logic
* Refactor data object
* Move back to dialog ui
* Refactor to shadcn tabs
* Find the files
* Wire up icons
* Loop over connection types
* Reformat file paths
* Remove from project home
* fix tab rendering issue
* Check for unique keys
* Add new libs
* comment
* Add direct connection ui
* Get project connection strings
* Cleanup
* Add project keys
* Add types file
* Undo update
* Add next app files
* Add files
* Add next pages files
* Add nuxt
* Fix env vars
* Add rest of frameworks, graphql and orms
* Add orms
* Fix types
* Add guide links
* Run prettier
* Separate graphql
* Move ui
* Move direct connection to first position
* Move to single files
* Update styling
* Fix locations
* Fix next content
* Fix dialog close button, add proper light mode theme
* Fix dialog style issues
* CleanupA
* Pin to top
* Feat/homepage connect modal combined styling update (#21079)
* chore: update styling. also moved useStates as it was sort of duplicated
* Cleanup
---------
Co-authored-by: Terry Sutton <saltcod@gmail.com>
* Close pooler modal
* Make the db connection panel blend in
* Allow for DatabaseSelector
* Dont open by default
* Some fixes
* Set min height to loader
* Fix
* Small styling fixes for table editor sort filter popover
* Make connect button stand out
---------
Co-authored-by: Jordi Enric <jordi.err@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Add a new function to ai-commands package.
* Add a new API route to all three apps.
* Refactor the Command component to use the new URL.
* Resort the imports.
* Add a badge if the pgbouncer hasn't been removed.
* Force the response to be a boolean.
* Add a CSP exception, just for testing.
* Minor correction for the CSP rule.
* Add a API route for checking whether the pgbouncer has been removed.
* Log the response and error.
* Minor fixes.
* Update based on feedback
* Add additional sanity checks on pg bouncer nextjs endpoint
* Update check
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>