* updated local APIs to return usage info (#585)
* updated APIs to return usage info
* tested all endpoints
* added autogen as an extra (#616)
* added autogen as an extra
* updated docs
Co-authored-by: hemanthsavasere <hemanth.savasere@gmail.com>
* Update LICENSE
* Add safeguard on tokens returned by functions (#576)
* swapping out hardcoded str for prefix (forgot to include in #569)
* add extra failout when the summarizer tries to run on a single message
* added function response validation code, currently will truncate responses based on character count
* added return type hints (functions/tools should either return strings or None)
* discuss function output length in custom function section
* made the truncation more informative
* patch bug where None.copy() throws runtime error (#617)
* allow passing custom host to uvicorn (#618)
* feat: initial poc for socket server
* feat: initial poc for frontend based on react
Set up an nx workspace which maks it easy to manage dependencies and added shadcn components
that allow us to build good-looking ui in a fairly simple way.
UI is a very simple and basic chat that starts with a message of the user and then simply displays the
answer string that is sent back from the fastapi ws endpoint
* feat: mapp arguments to json and return new messages
Except for the previous user message we return all newly generated messages and let the frontend figure out how to display them.
* feat: display messages based on role and show inner thoughts and connection status
* chore: build newest frontend
* feat(frontend): show loader while waiting for first message and disable send button until connection is open
* feat: make agent send the first message and loop similar to CLI
currently the CLI loops until the correct function call sends a message to the user. this is an initial try to achieve a similar behavior in the socket server
* chore: build new version of frontend
* fix: rename lib directory so it is not excluded as part of python gitignore
* chore: rebuild frontend app
* fix: save agent at end of each response to allow the conversation to carry on over multiple sessions
* feat: restructure server to support multiple endpoints and add agents and sources endpoint
* feat: setup frontend routing and settings page
* chore: build frontend
* feat: another iteration of web interface
changes include: websocket for chat. switching between different agents. introduction of zustand state management
* feat: adjust frontend to work with memgpt rest-api
* feat: adjust existing rest_api to serve and interact with frontend
* feat: build latest frontend
* chore: build latest frontend
* fix: cleanup workspace
---------
Co-authored-by: Charles Packer <packercharles@gmail.com>
Co-authored-by: hemanthsavasere <hemanth.savasere@gmail.com>
* init server refactor
* refactored websockets server/client code to use internal server API
* added intentional fail on test
* update workflow to try and get test to pass remotely
* refactor to put websocket code in a separate subdirectory
* added fastapi rest server
* add error handling
* modified interface return style
* disabled certain tests on remote
* added SSE response option for user_message
* fix ws interface test
* fallback for oai key
* add soft fail for test when localhost is borked
* add step_yield for all server related interfaces
* extra catch
* update toml + lock with server add-ons (add uvicorn+fastapi, move websockets to server extra)
* regen lock file
* added pytest-asyncio as an extra in dev
* add pydantic to deps
* renamed CreateConfig to CreateAgentConfig
* fixed POST request for creating agent + tested it