- Añadir bin/config/rates/ al archivo .gitignore
- Evitar el seguimiento de los archivos de tarifas generados
- Mantener los archivos de tarifas como datos locales no versionados
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir rates.prompt con la plantilla de consulta para tarifas
- Eliminar archivos de tarifas antiguos de la ubicación original
- Organizar archivos para nueva estructura donde las tarifas se guardan por tipo
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Leer el prompt desde el archivo rates.prompt en lugar de tenerlo hardcoded
- Traducir tipos de programadores a sus equivalentes en inglés
- Adaptar sistema de prompts para trabajar con textos en inglés
- Mejorar instrucciones al modelo para obtener solo valores numéricos
- Agregar manejo de errores si el archivo del prompt no existe
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminar toda la lógica compleja relacionada con factores de conversión
- Simplificar el proceso de extracción numérica de respuestas de Perplexity
- Usar prompt más directo enfocado específicamente en la tarifa por hora
- Reemplazar función get_fallback_rate por get_default_rate más simple
- Eliminar código innecesario para análisis de períodos de tiempo
- Mantener la lógica central de consulta a la API y extracción de valores
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reorganizar la lógica para crear un archivo por tipo de programador
- Simplificar la estructura de archivos usando [tipo].rate
- Crear tarifas solo para tipos de programadores que no tengan archivo existente
- Mejorar prompts para obtener específicamente tarifas por hora
- Añadir función get_programmer_types para centralizar la lista de profesionales
- Optimizar la función get_fallback_rate para soportar nueva estructura
- Aplicar consistentemente el límite de 200 USD/hora para todas las tarifas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminar archivo kdevs.rate ya que no es necesario
- Mover todos los archivos .rate a la carpeta bin/config/rates
- Actualizar rate_update.py para usar la nueva ubicación de archivos
- Agregar creación automática de la carpeta rates si no existe
- Actualizar manejo de casos especiales en el código
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Considerar solo tarifas que no exceden el umbral al calcular promedios
- Añadir mensajes de log detallados sobre tarifas incluidas o excluidas
- Eliminar verificación redundante de umbral en el cálculo del promedio
- Mejorar la claridad de los mensajes sobre tarifas válidas utilizadas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Asegurar que el promedio calculado nunca exceda el umbral de 200.00 USD/hora
- Modificar el cálculo de fallback para respetar estrictamente el umbral
- Aplicar límite explícito en todos los casos de cálculo de tarifa
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir parámetro temperature=0.2 para respuestas más consistentes
- Implementar límite de tarifa máxima de 200.00 USD/hora
- Calcular promedio de tarifas del mismo tipo si se supera el límite
- Usar fallback ajustado si no hay datos para calcular promedio
- Mejorar mensajes de log para casos donde se ajustan tarifas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Detectar período de tiempo mencionado en la respuesta (hora, día, semana, mes, año)
- Aplicar factores de conversión automáticos para estandarizar a tarifa por hora
- Mejorar patrones de búsqueda para detectar valores con comas y diferentes formatos
- Ajustar rangos de validación según el período de tiempo detectado
- Aclarar en el prompt que se necesita específicamente la tarifa POR HORA
- Mejorar la extracción de números con formato miles (1,000.00)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminar declaración global SHOW_RESULTS innecesaria
- Eliminar uso de globals() que causaba SyntaxError
- Simplificar el manejo de variables globales
- Eliminar asignación redundante a variable pycountry_available
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modificar el nivel de log para mostrar solo errores y resultados importantes
- Añadir función show_result para controlar la salida de resultados
- Agregar opciones de línea de comandos para controlar verbosidad (-v, -q)
- Mostrar solo el valor guardado para cada archivo procesado
- Añadir manejo de errores global para mejor experiencia de usuario
- Proporcionar retroalimentación clara sobre éxito o fracaso
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir declaración de codificación UTF-8 en el encabezado del script
- Especificar codificación UTF-8 en todas las operaciones de lectura de archivos
- Especificar codificación UTF-8 en todas las operaciones de escritura de archivos
- Mejorar compatibilidad con caracteres internacionales en múltiples sistemas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cambiar el modelo por defecto de 'o1' a 'sonar' para mejor compatibilidad con la API
- Actualizar el archivo de configuración rate_model.ai
- Simplificar la lógica de selección de modelo
- Usar el modelo más estable y preciso disponible en Perplexity
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminar el salto de línea al escribir el valor en los archivos .rate
- Asegurar que el archivo contenga solamente el valor numérico con separador decimal
- Mantener el formato consistente con los demás archivos del sistema
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir sistema de respaldo para cuando la API de Perplexity no está disponible
- Crear función get_fallback_rate para generar estimaciones basadas en datos de mercado
- Mejorar la extracción de valores numéricos con múltiples estrategias de parsing
- Permitir estimaciones aproximadas cuando no hay datos del año actual
- Implementar factores regionales para ajustar tarifas según la ubicación
- Continuar con valores de respaldo cuando hay errores de API consecutivos
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Mejorar la función query_perplexity con mejor manejo de errores y debugging
- Actualizar el modelo por defecto de 'o1' a 'sonar' que es compatible con la API
- Expandir get_perplexity_api_key para buscar la clave en múltiples ubicaciones
- Implementar sistema de control de errores consecutivos para detener el proceso
- Agregar validación del formato de la API key
- Mejorar registro de depuración para identificar problemas de conexión
- Incluir pausa entre solicitudes tras errores para evitar limitaciones de la API
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Usar advertencias en lugar de errores cuando falta pycountry
- Continuar la ejecución sin validación en lugar de detener el script
- Proporcionar instrucciones claras para instalar pycountry manualmente
- Evitar intentar instalar dependencias sin privilegios de administrador
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Definir todas las funciones necesarias dentro de update_python_and_pip
- Pasar command_installed explícitamente al subproceso sudo
- Eliminar dependencia de bibliotecas externas en el subproceso
- Mejorar la autonomía del script para actualizaciones con privilegios elevados
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Adoptar el enfoque de bootstrap.sh para la elevación de privilegios
- Encapsular la actualización de Python y pip en una función dedicada
- Usar sudo con bash -c para pasar funciones y variables correctamente
- Mejorar mensajes y flujo de ejecución en el script update.sh
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>