* Implement semantic search API for unified resources
* use require.eventually to complete test faster
* reset mod and sum
* Update lib/auth/assist/assistv1/test/service_test.go
Co-authored-by: Jakub Nyckowski <jakub.nyckowski@goteleport.com>
* use correct proto numbering
* reset e
* make grpc
---------
Co-authored-by: Jakub Nyckowski <jakub.nyckowski@goteleport.com>
* add access lists to unified resource cache
* check that list got written to URW
* watch access lists
* update unified resource cache tests
* update e pointer
* update e
* update e
* update gomod and e
* don't mess with e and update it seperately. cc @mdwn
* correct godoc
* don't use x/reflect for now
* Fix node equality check in embedding processor
* Apply minor suggestions from code review
* Make process() private, test using only public API
* Remove an unused function
* Update lib/ai/embeddingprocessor.go
Co-authored-by: Alan Parra <alan.parra@goteleport.com>
---------
Co-authored-by: Alan Parra <alan.parra@goteleport.com>
This change re-adds the ServerInfo reconciler that was removed in #30190
due to an unexpected increase in backend usage. This version decreases
the load on the backend by:
- Streaming nodes from the cache instead of the backend
- Increasing the time between batches
- Adding an additional wait between reconciliation loops
* assist: extract embedding types into a dedicated module
* assist: allow the embedding tool to query nodes from proxy cache
This commit does two things:
- Introduce a new toolsConfig structure to pass all required clients to
the tools. This can also be used to enable or disable specicifc tools,
which helps with testing
- Pass the proxy node cache and the request access checker to the
embedding tool so it can try to lookup nodes from cache in if the user
has less than 10 nodes available.
* Add tests for the opportunistic proxy node lookup
* Apply suggestions from code review
* Update lib/ai/client.go