* feat: add the ui for configuring the third-party standard OAuth2.0/OIDC.
- update SystemSetting.js
- add setup ui
- add configuration
* feat: add the ui for "allow the OAuth 2.0 to login"
- update SystemSetting.js
* feat: add OAuth 2.0 web ui and its process functions
- update common.js
- update AuthLogin.js
- update config.js
* fix: missing "Userinfo" endpoint configuration entry, used by OAuth clients to request user information from the IdP.
- update config.js
- update SystemSetting.js
* feat: updated the icons for Lark and OIDC to match the style of the icons for WeChat, EMail, GitHub.
- update lark.svg
- new oidc.svg
* refactor: Changing OAuth 2.0 to OIDC
* feat: add OIDC login method
* feat: Add support for OIDC login to the backend
* fix: Change the AppId and AppSecret on the Web UI to the standard usage: ClientId, ClientSecret.
* feat: Support quick configuration of OIDC through Well-Known Discovery Endpoint
* feat: Standardize terminology, add well-known configuration
- Change the AppId and AppSecret on the Server End to the standard usage: ClientId, ClientSecret.
- add Well-Known configuration to store in database, no actual use in server end but store and display in web ui only
This commit modifies the ConsumeToken function in the token.go file to decrease the token quota by the specified amount. It replaces the previous code that directly updated the quota values with a call to the DecreaseTokenQuota function from the model package. This change improves code clarity and maintainability.
Closes#123
This commit adds a new endpoint `/token/consume` to the API router, allowing users to consume tokens from another source. It includes changes to the `token.go` file in the `controller` package.
* feat: generate default token after register
* chore: use go routine to create default token for new user
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>
* feat: support aws bedrockruntime claude3
closes#622, closes#749, closes#1300
* fix: convert to aws claude model id
* fix: Update AWS adapter to handle stream completions and calculate usage metrics
Based on the file summaries provided, here are the important bullet points for the commit message:
- Add functionality to handle stream completion events from AWS in the relay/adaptor/aws/main.go file
- Marshall AWS response to OpenAI format and calculate usage metrics in the same file
- Implement a custom render function for streaming events in the same file
- Improve error handling for JSON unmarshalling and marshalling errors in the same file
* fix: Implement AWS handler with usage tracking and error handling
- Implemented streaming response handling for AWS handler
- Set response content type to text/event-stream
- Added error handling for failed marshaling/unmarshaling
- Updated return values to include `relaymodel.ErrorWithStatusCode` and `relaymodel.Usage`
- Improved error handling and response formatting for AWS adaptor
* fix: Refactor AWS Adapter for Improved Model Mapping and Error Handling
* Refactor AWS adapter to improve model management
- Replace hardcoded model list in `adapter.go` with a function to get models from `awsModelIDMap`
- Update `GetModelList` function to return model list directly
- Add `GetChannelName` function to get channel name from `Adaptor` object
* Improve error handling and code organization in main.go
- Replace switch statement with a map to map AWS model IDs to OpenAI model IDs
- Return an error if the model is not found in the map
- Use a single return statement instead of wrapping multiple return statements in the `awsModelID` function
- Add a new error message for when the model is not found in the map in the `Handler` function
* fix: bug fix
* chore: change variable name & package
* chore: change variable name
* perf: update config related code
---------
Co-authored-by: JustSong <songquanpeng@foxmail.com>
- Refactor constant definitions and organization
- Clean up package level variables and functions
- Introduce new `relaymode` and `apitype` packages for constant definitions
- Refactor and simplify code in several packages including `openai`, `relay/channel/baidu`, `relay/util`, `relay/controller`, `relay/channeltype`
- Add helper functions in `relay/channeltype` package to convert channel type constants to corresponding API type constants
- Remove deprecated functions such as `ResponseText2Usage` from `relay/channel/openai/helper.go`
- Modify code in `relay/util/validation.go` and related files to use new `validator.ValidateTextRequest` function
- Rename `util` package to `relaymode` and update related imports in several packages