* Fix thoughts init error when ai configure run first
When 'hyprlayer ai configure' is run before 'hyprlayer thoughts init',
the config file is created with agent_tool set but thoughts_repo,
repos_dir, global_dir, and user fields remain as empty strings.
Previously, thoughts init would skip the interactive setup prompts
if a config file existed, then fail with "os error 3: the system
cannot find the path specified" when trying to create directories
from these empty paths.
Now load_or_create_config checks if essential thoughts fields are
populated before returning the existing config. If any are empty,
it prompts for them while preserving other fields like agent_tool.
Bump version to 1.4.5.
* Add validation for incomplete configs and ensure init always prompts
Added is_thoughts_configured() method to check if all essential fields
(thoughts_repo, repos_dir, global_dir, user) are populated. This prevents
commands like 'thoughts sync' and 'thoughts status' from operating on
configs that only have AI fields set.
ConfigArgs::load() now validates the config is complete before returning,
giving a clear error message instead of cryptic OS errors when trying to
use empty paths.
Updated thoughts init to always prompt for directory configuration,
allowing users to reconfigure existing setups. Existing values are
pre-filled as defaults so users can easily accept current settings.
Added 3 unit tests for the validation method.
* Fix clippy warning: use if-let instead of single-arm match