Commit Graph

65 Commits

Author SHA1 Message Date
Yeuoly 56fcd686e1 feat: add active request tracking to health check and dispatch routes (#384)
- Implemented middleware to track active requests and active dispatch requests using atomic counters.
- Updated health check response to include counts of active requests and active dispatch requests.
- Integrated the new middleware into the HTTP server and plugin dispatch group for improved monitoring.
2025-07-04 19:56:42 +08:00
Yeuoly a6c8fae9c7 feat: add decode plugin from identifier endpoint (#349)
* feat: add decode plugin from identifier endpoint

- Introduced a new endpoint to decode a plugin from a unique identifier.
- Implemented the DecodePluginFromIdentifier function to handle decoding and verification of plugin signatures.
- Updated the HTTP server routes to include the new decode endpoint.

* refactor: update decode plugin endpoint path

- Moved the decode plugin from identifier endpoint to a new path for better organization.
- Updated the HTTP server routes accordingly to reflect the new endpoint structure.
2025-06-18 16:01:15 +08:00
Yeuoly b6906f7eb5 feat: Generate HTTP server routes from template (#306)
* feat: Generate HTTP server routes from template

- Added a new file `http_server.gen.go` to automatically generate HTTP server routes based on defined dispatchers.
- Refactored existing route definitions in `http_server.go` to utilize the generated routes, improving maintainability.
- Introduced a code generation function in `generator.go` to create the HTTP server file, enhancing the plugin development workflow.
- Updated the template for HTTP server generation to streamline route creation for various controllers.

* fix: Update OAuth paths in PluginDispatchers for consistency

- Changed the path for authorization URL from `/oauth/authorization_url` to `/oauth/get_authorization_url`.
- Updated the path for credentials from `/oauth/credentials` to `/oauth/get_credentials` to align with naming conventions.
2025-05-23 15:27:43 +08:00
Yeuoly d884cab8ae feat: add plugin reinstallation functionality and admin API support (#285)
* feat: add plugin reinstallation functionality and admin API support

- Implemented ReinstallToAWSFromPkg method to allow reinstallation of plugins on AWS Lambda, updating function URL and name.
- Added clearServerlessRuntimeCache method to manage serverless runtime cache.
- Enhanced LaunchPlugin to support an ignoreIdempotent flag for forced reinstallation.
- Introduced admin API endpoints for plugin reinstallation, secured with an API key validation middleware.
- Updated configuration to include AdminApiEnabled and AdminApiKey settings.

* refactor: update plugin reinstallation endpoint and improve unauthorized response

- Changed the plugin reinstallation endpoint from "/plugins/reinstall" to "/plugin/serverless/reinstall" for better clarity.
- Modified the unauthorized response in the AdminAPIKey middleware to return a more descriptive JSON message.
2025-05-15 15:22:25 +08:00
Yeuoly d80630acd5 feat: implement OAuth functionality (#245)
* feat: implement OAuth functionality in plugin daemon

- Added OAuth service methods for getting authorization URLs and credentials.
- Updated access types to include OAuth-related actions.
- Created new controller for handling OAuth requests.
- Introduced entities for OAuth results and requests.
- Enhanced plugin entities to support OAuth schema in tool declarations.

* feat: add OAuth endpoints for authorization and credentials retrieval

- Introduced new POST endpoints for obtaining authorization URLs and credentials in the OAuth controller.
- Enhanced the plugin dispatch group to include these new OAuth routes, improving integration with OAuth services.
2025-04-27 13:59:57 +08:00
mr-chenguang lcgash 0cd7591aea change log health api by env switch 2025-03-11 07:58:16 +00:00
mr-chenguang lcgash 7bb0b42c88 fix: skip log health api 2025-03-11 05:43:09 +00:00
Yeuoly 8ab1e2a91e feat: Add max execution time parameter to endpoint handling (#88)
Modify endpoint-related functions to support configurable maximum execution time:
- Update EndpointHandler signature to include maxExecutionTime
- Pass max execution timeout from config to endpoint service
- Modify timeout mechanism to use configurable duration instead of hardcoded 240 seconds
2025-03-10 18:23:13 +08:00
Yeuoly b19140ca23 refactor: optimize plugin declaration caching and encoding (#34) 2025-02-25 20:52:51 +08:00
Yeuoly 6a54d44142 refactor: rename aws_lambda to serverless 2025-02-10 15:04:24 +08:00
Yeuoly c26f5f9359 fix: use double pointer to implement setDefaultValue 2025-01-08 01:35:12 +08:00
Yeuoly e39b35d7d9 refactor: docker build 2025-01-06 14:38:44 +08:00
Yeuoly 3bb694e958 fix: incorrect endpoint path 2024-12-17 21:54:58 +08:00
Yeuoly a00e6ad26f fix: remove healthcheck from healthcheck 2024-12-17 21:46:22 +08:00
Yeuoly 9ef9f16e6e feat: support for sentry 2024-12-17 20:51:14 +08:00
Yeuoly 548adf4c0c refactor: rename agent to agent strategy 2024-12-12 18:26:55 +08:00
Yeuoly 1aecaf9a7c feat: support agent management 2024-12-09 22:25:41 +08:00
Yeuoly 7bb4705a48 feat: agent pluign 2024-12-09 22:01:01 +08:00
Yeuoly 31fd5590ea fix: add mutex and threadcreate traces 2024-12-06 01:28:55 +08:00
Yeuoly 5df0c68632 fix: add more traces for pprof 2024-12-06 01:28:09 +08:00
Yeuoly 407fb941ca feat: support for pprof 2024-12-04 14:15:16 +08:00
Yeuoly 0ab0fc15fc feat: support fetch installed tools 2024-11-25 23:19:38 +08:00
Yeuoly d341ff9918 fix: incorrect route of delete all installing tasks 2024-11-25 17:11:08 +08:00
Yeuoly dd5325b681 feat: support delete all install tasks 2024-11-25 17:01:25 +08:00
Yeuoly 9c9a6c26c0 feat: support upload bundle 2024-11-14 22:59:51 +08:00
Yeuoly 44a2de1f62 feat: support upload bundle 2024-11-14 21:23:33 +08:00
Yeuoly 26fd94ebcd refactor: convert snakecase to camelcase 2024-11-12 21:24:41 +08:00
Yeuoly c57b554245 feat: checking missing dependencies 2024-11-12 19:51:28 +08:00
Yeuoly eeadb3e29c refactor: support upgrade plugin to any verions 2024-10-25 17:41:14 +08:00
Yeuoly 0c5eac1897 fix: add subpath 2024-10-25 13:27:05 +08:00
Yeuoly f339a21001 feat: support remove single item from installation task 2024-10-25 13:19:54 +08:00
Yeuoly 090f1e004d fix: install progress has bad handing logics 2024-10-16 14:36:48 +08:00
Yeuoly fc7bfc91b4 fix: async install plugins task 2024-10-16 14:01:08 +08:00
Yeuoly a74a1a4801 refactor: plugin installation changed to sync tasks 2024-10-14 18:11:22 +08:00
Yeuoly 1fae793cdf feat: support tool get runtime parameters 2024-09-29 18:19:50 +08:00
Yeuoly 37a5b12c86 feat: support fetch tool entity 2024-09-29 17:09:09 +08:00
Yeuoly b92d497ced refactor: using plugin id to dispatch request instead 2024-09-27 21:48:20 +08:00
takatost 5251bdb92b fix: missing few routes of model 2024-09-26 15:21:25 +08:00
Yeuoly ab3def1052 feat: add endpoints counter for installation 2024-09-26 11:36:46 +08:00
Yeuoly 1b3e9cede4 enhance: add gzip 2024-09-24 14:00:30 +08:00
Yeuoly 08f2c50b49 fix 2024-09-24 13:10:13 +08:00
Yeuoly d838b924de fix: model credential from schemas 2024-09-23 21:31:09 +08:00
Yeuoly d0bc14a515 feat: installation lifetime 2024-09-20 21:52:35 +08:00
Yeuoly 89c1f325bb refactor: debugging key 2024-09-20 14:35:58 +08:00
Yeuoly 140602667c fix: missing file extension 2024-09-20 14:28:46 +08:00
Yeuoly 755f3f1bb5 feat: support inner key 2024-09-20 13:32:46 +08:00
Yeuoly e7b57878d2 refactor: uri 2024-09-18 13:01:28 +08:00
Yeuoly 91fd7c3e7f feat: plugin managment 2024-09-14 18:39:02 +08:00
Yeuoly b52cbe0815 refactor 2024-09-14 16:48:11 +08:00
Yeuoly f179f0f663 feat: add get_tts_model_voices/get_num_tokens/get_model_schema 2024-09-11 18:55:46 +08:00