remote_entities.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package plugin_entities
  2. import "encoding/json"
  3. type RemoteAssetPayload struct {
  4. Filename string `json:"filename" validate:"required"`
  5. Data string `json:"data" validate:"required"`
  6. }
  7. type RemotePluginRegisterEventType string
  8. const (
  9. REGISTER_EVENT_TYPE_HAND_SHAKE RemotePluginRegisterEventType = "handshake"
  10. REGISTER_EVENT_TYPE_ASSET_CHUNK RemotePluginRegisterEventType = "asset_chunk"
  11. REGISTER_EVENT_TYPE_MANIFEST_DECLARATION RemotePluginRegisterEventType = "manifest_declaration"
  12. REGISTER_EVENT_TYPE_TOOL_DECLARATION RemotePluginRegisterEventType = "tool_declaration"
  13. REGISTER_EVENT_TYPE_MODEL_DECLARATION RemotePluginRegisterEventType = "model_declaration"
  14. REGISTER_EVENT_TYPE_ENDPOINT_DECLARATION RemotePluginRegisterEventType = "endpoint_declaration"
  15. REGISTER_EVENT_TYPE_AGENT_STRATEGY_DECLARATION RemotePluginRegisterEventType = "agent_strategy_declaration"
  16. REGISTER_EVENT_TYPE_END RemotePluginRegisterEventType = "end"
  17. )
  18. type RemotePluginRegisterAssetChunk struct {
  19. Filename string `json:"filename" validate:"required"`
  20. Data string `json:"data" validate:"required"`
  21. End bool `json:"end"` // if true, it's the last chunk of the file
  22. }
  23. type RemotePluginRegisterHandshake struct {
  24. Key string `json:"key" validate:"required"`
  25. }
  26. type RemotePluginRegisterPayload struct {
  27. Type RemotePluginRegisterEventType `json:"type" validate:"required"`
  28. Data json.RawMessage `json:"data" validate:"required"`
  29. }