* 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
- 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
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
- Updated context key for model name in `Handler` and `StreamHandler` functions of `main.go` for consistency and potential future usage
- Functionality remains unchanged in this commit