# Tingly-Box

An Intelligence Orchestrator including LLM gateway, remote control and guard rails.

# Guideline
## Frontend
API related code is generated by swagger.
For each new feature, use a placeholder function for api (if not support for current version).

- use `MUI` for new frontend component, and icons can come from suitable module but MUI only.
- take care of `layout` while add new pages.

## Backend
Golang backend contains CLI version and GUI version.

- sdk as submodules under `libs/`

## Cross Frontend and Backend
When you are working with both frontend and backend, 
still remember that `client api sdk` comes from codegen, so you can just leave placeholder and mention user to complete later.

For new api, remember to define models in backend at first, and do swagger define for it. (example as below)
```
235-       // DELETE /api/v1/usage/records - Delete old usage records                                                                             
236-       apiV1.DELETE("/usage/records", usageAPI.DeleteOldRecords,                                                                              
237-               swagger.WithTags("usage"),                                                                                                     
238-               swagger.WithDescription("Deletes usage records older than the specified number of days"),                                      
239-               swagger.WithRequestModel(DeleteOldRecordsRequest{}),                                                                           
240:               swagger.WithResponseModel(DeleteOldRecordsResponse{}))                                                                                                                                                                                                  
```