package dto

// AccountBehaviorSettingsUpdateRequest updates account-level behavior settings.
type AccountBehaviorSettingsUpdateRequest struct {
	VisibleReplyContractEnabled *bool `json:"visibleReplyContractEnabled"`
	RuntimeDebugEnabled         *bool `json:"runtimeDebugEnabled"`
}

// AccountBehaviorSettingsResponse reports account-level behavior settings.
type AccountBehaviorSettingsResponse struct {
	AccountID                   string `json:"accountId"`
	VisibleReplyContractEnabled bool   `json:"visibleReplyContractEnabled"`
	RuntimeDebugEnabled         bool   `json:"runtimeDebugEnabled"`
}

// AgentBehaviorSettingsUpdateRequest is a legacy always-on compatibility
// surface for the agent reply enhancement field.
type AgentBehaviorSettingsUpdateRequest struct {
	VisibleReplyContractEnabled OptionalBool `json:"visibleReplyContractEnabled"`
}

// AgentBehaviorSettingsResponse is a legacy always-on compatibility surface
// for the agent reply enhancement fields.
type AgentBehaviorSettingsResponse struct {
	WorkspaceID                          string `json:"workspaceId"`
	AgentID                              string `json:"agentId"`
	AccountVisibleReplyContractEnabled   bool   `json:"accountVisibleReplyContractEnabled"`
	VisibleReplyContractEnabled          bool   `json:"visibleReplyContractEnabled"`
	EffectiveVisibleReplyContractEnabled bool   `json:"effectiveVisibleReplyContractEnabled"`
}
