<?php

declare(strict_types=1);

return [
    'base_url' => 'https://gps.bovintel.uy',
    'token' => '62d89f629683e20e7e3f4267c7cd9623e63a1cc48f8e8aa084059ea288f84e94',
    'timeout_seconds' => 20,
    'connect_timeout_seconds' => 5,
    'page_limit' => 500,
    'timezone_interface' => 'America/Montevideo',
    'manual_run_key' => 'F29Sync2026LaCamelia7081698344',

    /*
     * Interruptor maestro del Paso 4.
     *
     * Debe permanecer en false durante instalación y prevalidación.
     * Cambiarlo a true no alcanza por sí solo: el motor vuelve a
     * comprobar el modo del establecimiento, el permiso global, el
     * permiso individual, la posición UD elegible, el cruce activo,
     * el breaker y las restricciones del piloto.
     */
    'automatic_command_dispatch_enabled' => true,

    /*
     * Ventana temporal de primera prueba real, exclusivamente en banco
     * y sin animal. La lógica sigue siendo genérica: el TEID y los
     * niveles permitidos se declaran en configuración, no en el código.
     */
    'automatic_command_dispatch_pilot_mode' => true,
    'automatic_command_dispatch_allowed_teids' => [
        '7081698344',
    ],
    'automatic_command_dispatch_allowed_levels' => [
        3,
    ],
    'automatic_command_dispatch_allow_escalation' => false,
    'automatic_command_dispatch_open_breaker_after_send' => true,

    /*
     * El VPS debe crear el STOP obligatorio en la misma transacción que
     * la orden eléctrica y devolver su external_command_id. Si la
     * respuesta no acredita ese STOP, la plataforma envía un STOP de
     * seguridad inmediato y abre el breaker.
     */
    'automatic_command_dispatch_require_auto_stop' => true,
    'automatic_command_dispatch_require_auto_stop_response' => true,
    'automatic_command_auto_stop_seconds' => 5,

    /*
     * Durante el piloto se procesa una sola orden por ciclo y no se
     * reintenta automáticamente una orden eléctrica. La idempotencia por
     * external_command_id se conserva para reconciliar respuestas.
     */
    'automatic_command_dispatch_batch_size' => 1,
    'automatic_command_dispatch_max_attempts' => 1,
];
