Commit Graph

10 Commits

Author SHA1 Message Date
dwrz
6b7a30c4ad Rename module to github.com/chimerical-llc/raven
Update go.mod and internal import paths for public release.
2026-01-05 01:29:32 +00:00
dwrz
30e68fd3ee Add .gitignore 2026-01-04 21:12:10 +00:00
dwrz
2e8a85be6f Add README 2026-01-04 21:11:23 +00:00
dwrz
49d41fe31e Add LICENSE (MIT) 2026-01-04 21:11:00 +00:00
dwrz
2ad8a7928d Add example configuration and systemd units 2026-01-04 21:09:05 +00:00
dwrz
0de0793500 Add service orchestration and command
Wire the intake and answer subsystems together into a running
application.

- config: maps YAML file to internal package configuration.
- service: manages lifecycle and graceful shutdown.
- cmd/raven: entry point for flag parsing and signal handling.
2026-01-04 21:07:26 +00:00
dwrz
486cc5fa52 Add answer worker
Subsystem for message processing: parses messages, generates LLM
responses, and replies with SMTP.

Introduces:
- answer: message processing worker.
- llm: OpenAI API compatible client with support for tool execution.
- message: message parsing and response logic.
- tool: converts YAML configuration into executable subprocesses.
- smtp: simple config and client wrapper for sending email.
2026-01-04 21:01:57 +00:00
dwrz
c53ee5f6ad Add intake worker
Subsystem to monitor IMAP mailbox for new messages.

Introduces:
- intake: worker that uses IDLE or polling to detect new emails.
- imap: client wrapper for connection management and IMAP commands.
- filter: logic for IMAP search and sender allow-list.
- tracker: concurrency control to prevent processing the same UID twice.
- backoff: for handling connection retries with jitter.
2026-01-04 20:59:26 +00:00
dwrz
ce3943cc1d Add build configuration 2026-01-04 20:58:30 +00:00
dwrz
a3b390c008 Initialize module and dependencies 2026-01-04 20:57:40 +00:00