mirror of
				https://github.com/home-assistant/core.git
				synced 2025-11-04 00:19:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Constants for the AI Task integration."""
 | 
						|
 | 
						|
from __future__ import annotations
 | 
						|
 | 
						|
from enum import IntFlag
 | 
						|
from typing import TYPE_CHECKING, Final
 | 
						|
 | 
						|
from homeassistant.util.hass_dict import HassKey
 | 
						|
 | 
						|
if TYPE_CHECKING:
 | 
						|
    from homeassistant.components.media_source import local_source
 | 
						|
    from homeassistant.helpers.entity_component import EntityComponent
 | 
						|
 | 
						|
    from . import AITaskPreferences
 | 
						|
    from .entity import AITaskEntity
 | 
						|
 | 
						|
DOMAIN = "ai_task"
 | 
						|
DATA_COMPONENT: HassKey[EntityComponent[AITaskEntity]] = HassKey(DOMAIN)
 | 
						|
DATA_PREFERENCES: HassKey[AITaskPreferences] = HassKey(f"{DOMAIN}_preferences")
 | 
						|
DATA_MEDIA_SOURCE: HassKey[local_source.LocalSource] = HassKey(f"{DOMAIN}_media_source")
 | 
						|
 | 
						|
IMAGE_DIR: Final = "image"
 | 
						|
IMAGE_EXPIRY_TIME = 60 * 60  # 1 hour
 | 
						|
 | 
						|
SERVICE_GENERATE_DATA = "generate_data"
 | 
						|
SERVICE_GENERATE_IMAGE = "generate_image"
 | 
						|
 | 
						|
ATTR_INSTRUCTIONS: Final = "instructions"
 | 
						|
ATTR_TASK_NAME: Final = "task_name"
 | 
						|
ATTR_STRUCTURE: Final = "structure"
 | 
						|
ATTR_REQUIRED: Final = "required"
 | 
						|
ATTR_ATTACHMENTS: Final = "attachments"
 | 
						|
 | 
						|
DEFAULT_SYSTEM_PROMPT = (
 | 
						|
    "You are a Home Assistant expert and help users with their tasks."
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
class AITaskEntityFeature(IntFlag):
 | 
						|
    """Supported features of the AI task entity."""
 | 
						|
 | 
						|
    GENERATE_DATA = 1
 | 
						|
    """Generate data based on instructions."""
 | 
						|
 | 
						|
    SUPPORT_ATTACHMENTS = 2
 | 
						|
    """Support attachments with generate data."""
 | 
						|
 | 
						|
    GENERATE_IMAGE = 4
 | 
						|
    """Generate images based on instructions."""
 |