* Add a ClockSkewBanner on top of studio.
* Fix the color of the RestrictionBanner.
* Add an API endpoint which return the current UTC time on the server.
* Fix the glob pattern for docs in turbo.json.
* Force docs to build.
* Revert unneeded changes.
* Add feature flag for clock skew banner.
* Add a comment.
* fix: response error codes
* upgrade docs
* remove request url modification middleware
* move api routes for self-hosted to platform folder
* remove some lib/common/fetch usage
* docs: use middleware for openapi-fetch (#30600)
Get rid of the unauthedAllowedPost function (I don't think there's any harm in letting any requests that require authentication to just 403, they should be disabled at the React Query level and if not they will fail gracefully enough...)
* fix local count query
* add default values for clone mutation
* fix ts and codegen
* add missing lodash dep to playwright tests
* Fix the playwright tests to match the new folder structure for selfhosted variant.
* remove unused import
* Remove unused state
* remove unused sql debug mutation
* remove unused export
* fix notifications query
* fix jwt updating status
* fix typescript
* save sql snippet after renaming
* update codegen & fix ts error
* override array querySerializer
---------
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
* some early ideas
* better approach
* fix globe stuff
* add initial step
* reset and submit button for chat
* cleanup
* remove www
* more clean up
* mobile and more cleanup
* fixes
* update advanced and security
* fix project checks
* connect form
* fix reset and tidied up other things
* add layout options
* a/b test
* add offset
* add ab test
* remove www packages
* remove www
* package
* update coordinates
* feat: create ProjectCreationInitialStepSubmittedEvent
* feat: add event for capturing intention of prompting
* fix: bring pnpm-lock up to date
* fix ts errors
* fix globe
* fix globe animation
* fix ts
* remove imports and tools
* update module resolution
* global redirect
* delay rendering
* Update apps/studio/pages/new/[slug].tsx
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* take directly to v2 via project create dropdown
* move redirect to useEffect
* feat: distinguish events between initial and second step
* feat: emit an event when create project is clicked on new/v2
* fix: correct event type defs
* remove unused imports
* Various clean ups
* improvements
* Minor refactors
* clean up
* ts fixes
---------
Co-authored-by: Long Hoang <1732217+loong@users.noreply.github.com>
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Add disk autoscale configuration parameters in compute and disk settings
* TS fix
* Fix
* Fixes based on comments
* Address all feedbacks
* Small tweak
---------
Co-authored-by: Alaister Young <a@alaisteryoung.com>
* Add rules for RLS policies when using functions from auth schema
* Add rules to never expose auth.users through a public view
* Add rule for ensuring all tables have a PK
* Add rule to create a DB index when a foreign key is created
* Add rule to enable RLS on tables by default
* Add rule to use security invoker for views
* Add rules for materialized view, foreign table, and extensions
* 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.