# Maintainer: Markus Fritsche <mfritsche@reauktion.de>
# aish — AI-augmented conversational shell in LuaJIT.
# Source of truth: git.reauktion.de/marfrit/aish

pkgname=aish
pkgver=0.1.0
pkgrel=1
pkgdesc="AI-augmented conversational shell (LuaJIT, FFI-only)"
arch=('any')
url="https://git.reauktion.de/marfrit/aish"
license=('MIT')
depends=('luajit' 'readline' 'curl')
# The _tag back-translation handles both clean releases (no '_') and
# pre-release pkgvers (e.g. 0.1.0_rc1 → v0.1.0-rc1).
_tag="v${pkgver//_/-}"
source=("${pkgname}-${pkgver}.tar.gz::https://git.reauktion.de/marfrit/aish/archive/${_tag}.tar.gz")
sha256sums=('9ebc3939e028832e39391ae33efacb5ec9bcd99d123cbc8ca1cd6ca9a640b5b5')

package() {
    cd "${pkgname}"
    local libdir="${pkgdir}/usr/share/lua/5.1/aish"

    # Top-level modules
    install -Dm644 main.lua     "${libdir}/main.lua"
    install -Dm644 broker.lua   "${libdir}/broker.lua"
    install -Dm644 context.lua  "${libdir}/context.lua"
    install -Dm644 executor.lua "${libdir}/executor.lua"
    install -Dm644 history.lua  "${libdir}/history.lua"
    install -Dm644 mcp.lua      "${libdir}/mcp.lua"
    install -Dm644 renderer.lua "${libdir}/renderer.lua"
    install -Dm644 repl.lua     "${libdir}/repl.lua"
    install -Dm644 router.lua   "${libdir}/router.lua"
    install -Dm644 safety.lua   "${libdir}/safety.lua"
    install -Dm644 secrets.lua  "${libdir}/secrets.lua"

    # FFI bindings
    install -Dm644 ffi/curl.lua     "${libdir}/ffi/curl.lua"
    install -Dm644 ffi/libc.lua     "${libdir}/ffi/libc.lua"
    install -Dm644 ffi/pty.lua      "${libdir}/ffi/pty.lua"
    install -Dm644 ffi/readline.lua "${libdir}/ffi/readline.lua"

    # Vendored dependencies
    install -Dm644 vendor/dkjson.lua "${libdir}/vendor/dkjson.lua"

    # Launch wrapper
    install -Dm755 bin/aish "${pkgdir}/usr/bin/aish"

    # Documentation + example config
    install -Dm644 README.md  "${pkgdir}/usr/share/doc/${pkgname}/README.md"
    install -Dm644 LICENSE    "${pkgdir}/usr/share/doc/${pkgname}/LICENSE"
    install -Dm644 examples/config.lua \
        "${pkgdir}/usr/share/doc/${pkgname}/examples/config.lua"
}
