package errors

import "errors"

var (
	ErrNotFound              = errors.New("not found")
	ErrEmptyKey              = errors.New("empty key")
	ErrInvalidData           = errors.New("invalid data type")
	ErrEntityExists          = errors.New("entity already exists")
	ErrMissingValue          = errors.New("missing required value")
	ErrInvalidValue          = errors.New("invalid value provided")
	ErrTimeout               = errors.New("operation timed out")
	ErrInternal              = errors.New("internal server error")
	ErrMQTTConnectionFailed  = errors.New("failed to connect to MQTT broker")
	ErrMQTTInvalidBrokerURL  = errors.New("invalid MQTT broker URL")
	ErrMQTTWillPayloadFailed = errors.New("failed to set MQTT last will payload")
	ErrInvalidMethod         = errors.New("invalid RPC method")
	ErrInvalidParams         = errors.New("invalid RPC parameters")
	ErrMissingAppName        = errors.New("app name is missing")
	ErrInvalidStatus         = errors.New("invalid response status")
	ErrMissingResult         = errors.New("missing result in RPC response")
	ErrAppAlreadyRunning     = errors.New("application is already running")
	ErrAppNotRunning         = errors.New("application is not running")
	ErrFunctionNotFound      = errors.New("specified function not found in Wasm module")
	ErrModuleInstantiation   = errors.New("failed to instantiate Wasm module")
	ErrModuleStopFailed      = errors.New("failed to stop Wasm module")
	ErrChunkValidationFailed = errors.New("chunk validation failed")
	ErrArtifactRequestFailed = errors.New("failed to request artifact")
	ErrAppStartFailed        = errors.New("failed to start application")
	ErrAppStopFailed         = errors.New("failed to stop application")
	ErrChunksTimeout         = errors.New("timeout waiting for Wasm chunks")
	ErrReassemblyFailed      = errors.New("failed to reassemble Wasm binary from chunks")
	ErrNilMQTTClient         = errors.New("MQTT client is nil")
	ErrConfigValidation      = errors.New("configuration validation failed")
	ErrPublishDiscovery      = errors.New("failed to publish discovery message")
	ErrMissingChannelID      = errors.New("ChannelID is missing in the configuration")
	ErrMissingPropletID      = errors.New("PropletID is missing in the configuration")
)
