from setuptools import find_packages, setup
import os
from glob import glob

package_name = 'saltybot_social'

setup(
    name=package_name,
    version='0.1.0',
    packages=find_packages(exclude=['test']),
    data_files=[
        ('share/ament_index/resource_index/packages',
            ['resource/' + package_name]),
        ('share/' + package_name, ['package.xml']),
        (os.path.join('share', package_name, 'launch'),
            glob(os.path.join('launch', '*launch.[pxy][yma]*'))),
        (os.path.join('share', package_name, 'config'),
            glob(os.path.join('config', '*.yaml'))),
    ],
    install_requires=['setuptools'],
    zip_safe=True,
    maintainer='seb',
    maintainer_email='seb@vayrette.com',
    description='Social interaction layer — person tracking, speech, LLM, TTS, orchestrator',
    license='MIT',
    tests_require=['pytest'],
    entry_points={
        'console_scripts': [
            'person_state_tracker = saltybot_social.person_state_tracker_node:main',
            'expression_node = saltybot_social.expression_node:main',
            'attention_node = saltybot_social.attention_node:main',
            'speech_pipeline_node = saltybot_social.speech_pipeline_node:main',
            'conversation_node = saltybot_social.conversation_node:main',
            'tts_node = saltybot_social.tts_node:main',
            'orchestrator_node = saltybot_social.orchestrator_node:main',
            # Voice command NLU bridge (Issue #137)
            'voice_command_node = saltybot_social.voice_command_node:main',
            # Multi-camera gesture recognition (Issue #140)
            'gesture_node = saltybot_social.gesture_node:main',
            # Facial expression recognition (Issue #161)
            'emotion_node = saltybot_social.emotion_node:main',
            # Robot mesh communication (Issue #171)
            'mesh_comms_node = saltybot_social.mesh_comms_node:main',
        ],
    },
)
