* 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
* 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
* Refactor telemetry event into RQ hook, and update to support PH
* Refactor telemetry identify into RQ hook, and update to support PH
* Refactor telemetry page into RQ hook, and update to support PH
* Clean up and deprecate lib/telemetry
* Pretty
* Add ts-ignore in docs for telemetry calls temporarily
* Add credentials include for send event, page and identify mutation hooks
* Add consent check for event and page telemetry, allow RQ mutations for those to fail silently without a toast
* 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
* Switch all top-level imports for ui-patterns components to use specific components when importing.
* Remove the @ui-patterns shorthand since it works exactly the same without the @.
* More import fixes.
* Fix the ui-patterns tests.
* Update the design of the sonner toasts. Add the close button by default.
* Migrate studio and www apps to use the SonnerToaster.
* Migrate all toasts from studio.
* Migrate all leftover toasts in studio.
* Add a new toast component with progress. Use it in studio.
* Migrate the design-system app.
* Refactor the consent toast to use sonner.
* Switch docs to use the new sonner toasts.
* Remove toast examples from the design-system app.
* Remove all toast-related components and old code.
* Fix the progress bar in the toast progress component. Also make the bottom components vertically centered.
* Fix the width of the toast progress.
* Use text-foreground-lighter instead of muted for ToastProgress text
* Rename ToastProgress to SonnerProgress.
* Shorten the text in sonner progress.
* Use the correct classes for the close button. Add a const var for the default toast duration. Remove the custom width class from sonner.
* Set the position for all progress toasts to bottom right. Set the duration for all toasts to the default (when reusing a toast id from loading/progress toast, the duration is set to infinity).
* Fix the playwright tests.
* Refactor imports to use ui instead of @ui.
* Change all imports of react-hot-toast with sonner. These components were merged since the last commit to this branch.
* Remove react-hot-toast lib.
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
* Change the getEntityDefinitions query to accept list of schemas instead of being hardcoded to public schema.
* Add a schema combo box for selecting schemas.
* Use the combobox in the SQL editor to select which schemas should be sent to the AI when asking a question.
* Add configurable schemas to AiPolicyEditor.
* Remove unneeded hook.
* Fix the AI settings modal.
* Add keys to the entity definitions query.
* Fix the AI settings modal which is used by cmdk flow.
* Minor fixes.
* Address feedback
* Some fixes
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Use ButtonTooltip component for create policy CTAs
* Use ButtonTooltip component in PolicyRow
* Remove use of old tooltip component in PolicyRow
* Update Auth policies to allow read only to access edit policy UI but prevent saving from there
* Fix
* Use expanding text area fort RLS assistant
* Use AssistantChatForm in SQL editor AI assistant
* Use AssistantChatForm in RLS AI assistant
* Fix expanding text area height change
* Clean up
* Init changes for sql fodlers
* Added upsert logic in sql-editor-v2 valtio, hooked up with templates and quickstarts
* Do up logic for creating new snippets by typing in /new or by clicking new query button
* Do up logic for updating and deleting snippets
* Do up logic for favourites and shared snippets
* Do up logic for favourites and shared snippets
* Fix
* Fix saving indicator, add empty states for favorites and shared snippets
* Implement sorting
* Some minor QOL improvements
* Minor fix on empty state for private snippets
* Add delete folder mutation
* Implement create and update folder
* Fix reinstate with AI renaming for new snippets under folder
* Support controlled multi select behaviour in private snippets
* Undo changes to tree-view-multi-select
* Support bulk deletes
* Support moving queries + rendering queries in folders
* Support deleting folders and creating a new folder when moving a query
* Fix bug where renaming query removes content
* Add initial loading state in sql editor nav + handle fallback if cannot retrieve content by id
* Fix some spelling
* Fix TS issue in sql folders mutation keys
* Fix toggling favorite
* Lint
* Revert fallback behaviour in ]id] for now
* Fix favorites and shared snippets not showing
* Fix moving currently opened snippet leads to loading
* Support bulk moving
* Improve multi select logic a little
* Nit lint
* Reinstate AI retitling for untitled snippets when running query
* Remove hardcode in useAFlag
* Support creating new snippet in a folder directly
* Fix sharing snippets that are within a folder
* Fix sharing snippets within a folder
* Fix favorite
* Add loading state when fetching folder contents
* Fix favoriting snippets in folders
* Realtime Inspector adjustments
* Leave just insert and select
* add new realtime authz docs link (#27755)
* fix: remove using from insert policies
* Add prop to differentiate db from realtime
* Update toast
---------
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
Co-authored-by: Wen Bo Xie <wenbo.xie3@gmail.com>
* Add queries and mutations for realtime channels.
* Change the layout, add a link for policies and modal for creating a channel.
* Add a page for policies.
* Add templates for realtime tables.
* Fix the spacing in the PolicyDetails component. Add better types.
* Pass templateData to the template generating functions.
* Various CSS fixes.
* Add components for rendering the realtime policies page.
* Fix the editing policy flow.
* Fix refetching when adding or deleting policies.
* Minor various fixes.
* Remove an old console.log.
* More fixes for templates.
* Make the realtime policies open by default when clicking on realtime.
* Update the realtime policy templates.
* Use a dropdown button for the three types of policies.
* Fix a copy-paste mistake.
* Fix icons.
* Fix the toast.
* Clean up the previous components.
* Clean up more unneeded code.
* Remove templateData prop.
* Remove unneeded queries and mutations.
* More cleanup.
* Reuse the components from the Auth Policies.
* Minor fixes for the new components.
* Add a feature flag for AuthZ.
* Revert some changes.
* Fix a build error.
* Fix all definitions.
* Fix an issue with copying large lines which from templates which are word-wrapped.
* Addressed various comments by Joshen.
* Revert the UI changes in the Policy Editor.
* Update the template names.
* Small style fix
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* chore: deprecate old files. add new one with first story
* init multi select
* docs
* Update multi-select.mdx
* deprecation notices
* Delete MultiSelect.stories.tsx
* Make the useUrlState typesafe.
* Remove the dependency on the valtio state for the Ai Policy Panel.
* Remove the valtio state and use the URL query state for keeping selected schema and filter string.
* Update GridHeaderActions component to include schema parameter in policy search URL
---------
Co-authored-by: Alaister Young <a@alaisteryoung.com>
* Fix 'Fix with assistant' for RLS editor
* Code editor height will consider line wraps + support right click format query
* Fix content height and line count on mnount rls ediutor
* Update comment
* check and load val from search
* Fix
* Add scroll area for table selection in RLS editor
* Further contextualize RLS templates on hover
* Fix RLS feature preview with the new UI
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Midway checking on hybrid rls assistant
* Demo
* Midway
* Polish + hook up everything for policy creation
* Temp fix for open in sql editor
* Resolve conflicts
* Support updating policies with new hybrid ui
* Fix generateQuery for altering policies
* Update to support feature preview
* Fix spelling lint
* Addressing small bugs
* Fix
* Clean upo
* Add new MultiSelectV2 in ui-patterns, use in RLS editor
* More clean uo
* Fix RadioGroupLargeItem label cursor state when disabled
* Lint lowercase sql
* Refactor and remove the CreateFunctionStore.
* Fix a duplicate key in the functions table.
* More fixes for the create-function form.
* Add excluded schemas to schema selector.
* Cleanup the createFunction code after the merge.
* Remove unneeded wrapper fragments.
* Minor fixes for the FormItemLayout stories.
* Refactor the CreateFunction panel using the new FormItemLayout.
* Revert the migration to use FormItemLayout. Will revisit later.
* Add a CSS class for popover content width to match its trigger width. Use it on the schema selector.
* Replace all listboxes with selects.
* Fix the comments.
* Switch to FormItemLayout wherever possible.
* Move the createFunction file to its own folder.
* Refactor the panel to use shadcn components: Sheet, SheetContent and SheetHeader.
* Add showClose prop to the Sheet component.
* Add function editor and a feature to maximize/minimize the code editor.
* Some fixes
* Add sameWidthAsTrigger to the popover component.
* Fix the icon size.
---------
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Connect UI Prisma DATABASE_URL param to be transaction mode - port 6543
* Connect UI Prisma DIRECT_URL param to be pooler string with session mode - port 5432
* Change checking if read replicas can deployed from if PITR addon is available, to if walg is enabled
* Fix RLS assistant not surfacing error
* Update]
* fix
* 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>
* 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 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>
* 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