# Pin to specific SBCL version (checked 2025-10-15: clfoundation/sbcl:latest is stable)
FROM clfoundation/sbcl:latest

# Install Quicklisp (Common Lisp package manager)
RUN curl -O https://beta.quicklisp.org/quicklisp.lisp && \
    sbcl --load quicklisp.lisp --eval '(quicklisp-quickstart:install)' --quit && \
    echo '(load "~/quicklisp/setup.lisp")' >> ~/.sbclrc

# Install Dexador HTTP client and JSON parser
RUN sbcl --eval '(ql:quickload :dexador)' \
         --eval '(ql:quickload :jonathan)' \
         --quit

# Set working directory
WORKDIR /app

# Copy application files
COPY hermes-nonstreaming.lisp .
COPY hermes-streaming.lisp .
COPY qwen-nonstreaming.lisp .
COPY qwen-streaming.lisp .
COPY tts.lisp .

# Default command shows available examples
CMD ["sbcl", "--eval", "(format t \"Available examples:~%  sbcl --script hermes-nonstreaming.lisp~%  sbcl --script hermes-streaming.lisp~%  sbcl --script qwen-nonstreaming.lisp~%  sbcl --script qwen-streaming.lisp~%  sbcl --script tts.lisp~%\")", "--quit"]
