#!/bin/sh /etc/rc.common
### BEGIN INIT INFO
# Provides:          picoclaw
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     99
# Default-Stop:      10
# Short-Description: PicoClaw AI Gateway
# Description:       Start PicoClaw as a procd managed service
### END INIT INFO

START=99
STOP=10
USE_PROCD=1

start_service() {
    procd_open_instance picoclaw
    procd_set_param command /usr/bin/picoclaw gateway
    procd_set_param env HOME=/root
    procd_set_param respawn 3600 5 5
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_set_param user root
    procd_close_instance
}

stop_service() {
    # First try graceful shutdown via procd
    killall picoclaw 2>/dev/null
    sleep 1
    # Force kill if still alive (procd may respawn)
    if [ -n "$(pidof picoclaw)" ]; then
        kill -9 $(pidof picoclaw) 2>/dev/null
        sleep 1
    fi
    # Final cleanup: ensure no zombie processes
    sleep 1
}

service_triggers() {
    procd_add_reload_trigger "picoclaw"
}
