Files
BLIGHT--CUE/ai/base.py
Spencer 4c9fecda16 Initial commit: BLIGHT: CUE
Webhook listener that monitors Gitea repos for BLIGHT: triggers in
markdown files, processes them via Gemini 2.5 Flash-Lite, and writes
results back in-place.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 20:17:31 -05:00

22 lines
682 B
Python

from abc import ABC, abstractmethod
class AIProvider(ABC):
"""Base class for all AI provider implementations.
To add a new provider, subclass this and implement `complete`, then
instantiate your provider in `processor.py` instead of GeminiProvider.
"""
@abstractmethod
def complete(self, document: str, instruction: str) -> str:
"""Process an instruction in the context of a full document.
Args:
document: The full markdown document text (for context).
instruction: The BLIGHT instruction extracted from the trigger line.
Returns:
The text to insert in place of the trigger line.
"""