Commit Graph

5 Commits

Author SHA1 Message Date
Luis Pater
31f4cfab3f feat: migrate CLIProxyAPI to version 8 2026-09-27 14:42:26 +08:00
Luis Pater
6cd86fb272 feat(auth): support terminal rejection in plugin scheduler
- Add reject flags and reason fields to `SchedulerPickResponse` with snake_case JSON unmarshaling support
- Terminate candidate selection with an auth error when scheduler rejection is flagged
- Normalize rejection response with default error code and reason in the plugin host

Closes: #6130
2026-09-26 21:50:02 +08:00
Luis Pater
1c87874966 fix(pluginhost): preserve http status codes in host callback and execution errors
- Introduce `modelExecutionStatusError` to retain explicit HTTP status codes on model execution errors
- Propagate HTTP status codes from callback errors across Unix and Windows host callback dispatchers
- Update `marshalRPCError` to encode HTTP status codes into error envelopes using `pluginabi.NewErrorEnvelope`

Closes: #5970
2026-09-20 00:23:42 +08:00
Luis Pater
6ba444557c feat(pluginabi): support HTTP status code propagation in plugin error envelopes
- Add `Error.Error`, `Error.StatusCode`, `NewError`, and `NewErrorEnvelope` helpers in `sdk/pluginabi`.
- Support extracting and forwarding HTTP status codes in Go plugin executor examples and generator script.
- Document plugin executor error handling and client HTTP status mapping conventions.

Closes: #5809
2026-09-14 18:44:04 +08:00
Luis Pater
5bc0c68284 feat(pluginhost): improve error handling with HTTP status codes for plugin calls
- Added `rpcPluginError` to encapsulate plugin errors with HTTP status codes.
- Enhanced `decodeEnvelopeResult` to preserve and return detailed plugin errors with status codes.
- Introduced `isPluginErrorEnvelope` to identify plugin error envelopes.
- Updated plugin call logic in Unix and Windows loaders to differentiate plugin errors from system errors.
- Added unit tests to verify error handling and status code preservation.
2026-06-21 10:12:10 +08:00