* first cut at redis
* some new helper functions for the db
* ignore kombu tables in alembic migrations (used by celery)
* multiline commands for readability, add vespa_metadata_sync queue to worker
* typo fix
* fix returning tuple fields
* add constants
* fix _get_access_for_document
* docstrings!
* fix double function declaration and typing
* fix type hinting
* add a global redis pool
* Add get_document function
* use task_logger in various celery tasks
* add celeryconfig.py to simplify configuration. Will be used in a subsequent commit
* Add celery redis helper. used in a subsequent PR
* kombu warning getting spammy since celery is not self managing its queue in Postgres any more
* add last_modified and last_synced to documents
* fix task naming convention
* use celeryconfig.py
* the big one. adds queues and tasks, updates functions to use the queues with priorities, etc
* change vespa index log line to debug
* mypy fixes
* update alembic migration
* fix fence ordering, rename to "monitor", fix fetch_versioned_implementation call
* mypy
* switch to monotonic time
* fix startup dependencies on redis
* rebase alembic migration
* kombu cleanup - fail silently
* mypy
* add redis_host environment override
* update REDIS_HOST env var in docker-compose.dev.yml
* update the rest of the docker files
* harden indexing-status endpoint against db changes happening in the background. Needs further improvement but OK for now.
* allow no task syncs to run because we create certain objects with no entries but initially marked as out of date
* add back writing to vespa on indexing
* update contributing guide
* backporting fixes from background_deletion
* renaming cache to cache_volume
* add redis password to various deployments
* try setting up pr testing for helm
* fix indent
* hopefully this release version actually exists
* fix command line option to --chart-dirs
* fetch-depth 0
* edit values.yaml
* try setting ct working directory
* bypass testing only on change for now
* move files and lint them
* update helm testing
* some issues suggest using --config works
* add vespa repo
* add postgresql repo
* increase timeout
* try amd64 runner
* fix redis password reference
* add comment to helm chart testing workflow
* rename helm testing workflow to disable it
* adding clarifying comments
* address code review
* missed a file
* remove commented warning ... just not needed
---------
Co-authored-by: Richard Kuo <rkuo@rkuo.com>
* Add user when they interact outside of UI (e.g. Slack bot)
* fix mypy errors
* don't use user manager to avoid async messiness
* fix email is none scenario
* fix mypy
* make code slightly clearer
* PR comments
* get slack email in generate button as well
* fix alembic migration
* update name to be more descriptive
---------
Co-authored-by: Hyeong Joon Suh <hyeongjoonsuh@Hyeongs-MacBook-Pro.local>
* initial commit
* almost done
* finished 3 tests
* minor refactor
* built out initial permisison tests
* reworked test_deletion
* removed logging
* all original tests have been converted
* renamed user_groups to user_group
* mypy
* added test for doc set permissions
* unified naming for manager methods
* Refactored models and added new deletion test
* minor additions
* better logging+fixed input variables
* commented out failed tests
* Added readme
* readme update
* Added auth to IT
set auth_type to basic and require_email_verification to false
* Update run-it.yml
* used verify and added to readme
* added api key manager
* ran bump-pydantic
* replace root_validator with model_validator
* mostly working. some alternate assistant error. changed root_validator and typing_extensions
* working generation chat. changed type
* replacing .dict with .model_dump
* argument needed to bring model_dump up to parity with dict()
* fix a fewremaining issues -- working with llama and gpt
* updating requirements file
* more requirement updates
* more requirement updates
* fix to make search work
* return type fix:
* half way tpyes change
* fixes for mypy and pydantic:
* endpoint fix
* fix pydantic protected namespaces
* it works!
* removed unecessary None initializations
* better logging
* changed default values to empty lists
* mypy fixes
* fixed array defaulting
---------
Co-authored-by: hagen-danswer <hagen@danswer.ai>
* add new user provider hook
* account for additional logic
* add users
* remove is loading
* Curator polish
* useeffect -> provider + effect
* squash
* use use user for user default models
* squash
* Added ability to add users to groups among other things
* final polish
* added connection button to groups
* mypy fix
* Improved document set clarity
* string fixes
---------
Co-authored-by: pablodanswer <pablo@danswer.ai>
* Added backend support for curator role
* modal refactor
* finalized first 2 commits
same as before
finally
what was it for
* added credential, cc_pair, and cleanup
mypy is super helpful hahahahahahahahahahahaha
* curator support for personas
* added connector management permission checks
* fixed the connector creation flow
* added document access to curator
* small cleanup added comments and started ui
* groups and assistant editor
* Persona frontend
* Document set frontend
* cleaned up the entire frontend
* alembic fix
* Minor fixes
* credentials section
* some credential updates
* removed logging statements
* fixed try catch
* fixed model name
* made everything happen in one db commit
* Final cleanup
* cleaned up fast code
* mypy/build fixes
* polish
* more token rate limit polish
* fixed weird credential permissions
* Addressed chris feedback
* addressed pablo feedback
* fixed alembic
* removed deduping and caching
* polish!!!!
* allow admin role api keys
* bump to rerun deployment
* types needs explicit export now for APIKey
* remove api_key.role, use User.role instead
* fix formatting
* formatting
* formatting
---------
Co-authored-by: Richard Kuo <rkuo@rkuo.com>
* add send-message-simple-with-history endpoint to support ramp. avoids bad json output in models and allows client to pass history in instead of maintaining it in our own session
* slightly better error checking
* addressing code review
* reject on any empty message
* update test naming
* avoid reindexing secondary indexes after they succeed
* use postgres application names to facilitate connection debugging
* centralize all postgres application_name constants in the constants file
* missed a couple of files
* mypy fixes
* update dev background script
* Added ability to control LLM access based on group
* completed relationship deletion
* cleaned up function
* added comments
* fixed frontend strings
* mypy fixes
* added case handling for deletion of user groups
* hidden advanced options now
* removed unnecessary code