Guillem Arias Fauste
f25fe30a41
feat(ai): honor Setting.llm_provider for batch and PDF flows ( #2265 )
...
Auto-categorization, merchant detection/enhancement, and PDF/bank-statement
extraction hard-coded Provider::Registry.get_provider(:openai), so selecting
Anthropic (or running an Anthropic-only self-hosted install) left those
operations using/missing OpenAI rather than the chosen provider.
Add Provider::Registry.preferred_llm_provider, which resolves the LLM provider
honoring Setting.llm_provider with a configured-provider fallback (mirroring how
chat picks its provider), and route all six TODO(#2113 ) call sites through it:
- Family::AutoCategorizer#llm_provider
- Family::AutoMerchantDetector#llm_provider
- ProviderMerchant::Enhancer#llm_provider
- PdfImport (process_pdf + extract_bank_statement)
- Assistant::Function::ImportBankStatement
Provider::Anthropic already implements auto_categorize / auto_detect_merchants /
enhance_provider_merchants (#1984 ) and process_pdf / extract_bank_statement
(#1985 ), so no provider changes are needed — only the wiring.
Closes #2113 .
2026-06-09 23:02:26 +02:00
..
2026-06-08 21:45:35 +02:00
2026-06-02 21:44:57 +02:00
2026-06-02 21:44:57 +02:00
2026-06-02 21:44:57 +02:00
2026-06-02 14:00:16 +02:00
2026-06-04 22:11:51 +02:00
2026-05-27 23:58:00 +02:00
2026-05-27 23:58:00 +02:00
2026-05-13 18:13:48 +02:00
2026-05-13 18:13:48 +02:00
2026-05-13 18:13:48 +02:00
2026-05-30 00:12:54 +02:00
2026-04-01 20:25:06 +02:00
2026-04-01 20:25:06 +02:00
2026-06-08 22:40:34 +02:00
2026-02-06 18:04:03 +01:00
2026-05-13 14:03:37 +02:00
2026-05-12 00:17:49 +02:00
2026-06-04 19:53:52 +02:00
2026-02-06 18:04:03 +01:00
2026-04-13 00:51:23 +02:00
2026-06-04 11:48:44 +02:00
2026-06-08 21:45:35 +02:00
2026-05-27 23:33:08 +02:00
2026-05-26 22:48:23 +02:00
2026-05-12 23:45:19 +02:00
2026-04-27 18:33:22 +02:00
2026-05-12 00:22:37 +02:00
2026-05-12 00:22:37 +02:00
2026-01-09 13:14:14 +01:00
2026-02-19 18:58:01 +01:00
2026-01-23 00:53:24 +01:00
2026-05-30 23:27:18 +02:00
2026-03-11 15:54:01 +01:00
2025-10-28 19:32:27 +01:00
2025-05-24 19:16:55 -04:00
2026-06-09 23:02:26 +02:00
2026-06-09 23:02:26 +02:00
2026-03-26 19:01:35 +01:00
2026-02-16 13:50:06 +01:00
2026-05-17 16:55:01 +02:00
2025-11-24 14:07:14 +01:00
2026-05-13 18:17:10 +02:00
2026-04-07 14:43:17 +02:00
2026-04-18 09:50:34 +02:00
2026-05-12 00:55:46 +02:00
2026-05-09 21:55:20 +02:00
2026-05-31 22:17:56 +02:00
2026-04-08 21:05:58 +02:00
2025-07-15 11:42:41 -04:00
2026-06-08 21:35:12 +02:00
2026-05-12 23:45:19 +02:00
2026-05-13 20:07:00 +02:00
2026-01-07 15:59:04 +01:00
2026-03-25 10:50:23 +01:00
2025-11-24 14:07:14 +01:00
2026-06-01 14:58:18 +02:00
2026-05-31 16:24:01 +02:00
2026-05-18 18:38:53 +02:00
2026-04-29 15:30:04 +02:00
2026-06-02 21:44:57 +02:00
2026-06-02 21:44:57 +02:00
2026-06-02 21:44:57 +02:00
2026-02-06 21:25:52 +01:00
2026-03-14 20:14:18 +01:00
2026-05-03 20:33:29 +02:00
2026-05-03 20:33:29 +02:00
2026-06-04 22:11:51 +02:00
2026-04-07 14:43:17 +02:00
2026-04-07 14:43:17 +02:00
2026-05-13 18:13:48 +02:00
2026-05-13 18:13:48 +02:00
2026-05-30 00:51:16 +02:00
2026-04-23 21:28:38 +02:00
2026-03-11 15:54:01 +01:00
2026-06-01 21:59:46 +02:00
2026-05-31 16:11:28 +02:00
2026-01-21 22:56:39 +01:00
2026-01-21 22:56:39 +01:00
2026-04-11 21:37:07 +02:00
2026-01-07 15:59:04 +01:00
2026-02-19 19:51:42 +01:00
2024-10-03 14:42:22 -04:00
2026-05-17 16:55:01 +02:00
2026-04-10 23:19:48 +02:00
2026-06-04 19:53:52 +02:00
2026-05-09 12:36:41 +02:00
2026-04-13 00:51:23 +02:00
2026-02-19 18:07:47 +01:00
2026-02-11 15:22:56 +01:00
2025-09-24 00:19:51 +02:00
2026-04-13 19:53:04 +02:00
2026-06-02 14:00:16 +02:00
2026-06-06 17:25:27 +02:00
2026-05-12 23:45:19 +02:00
2026-05-18 21:03:04 +02:00
2026-05-12 23:45:19 +02:00
2026-05-12 23:45:19 +02:00
2026-05-12 23:45:19 +02:00
2025-09-24 00:19:51 +02:00
2026-01-12 14:40:30 +01:00
2026-06-04 11:48:44 +02:00
2026-06-03 00:09:03 +02:00
2026-02-08 18:19:37 +01:00
2026-02-08 18:19:37 +01:00
2026-06-06 17:11:33 +02:00
2026-05-28 14:49:04 +02:00
2026-05-05 01:04:29 +02:00
2026-05-27 23:25:46 +02:00
2024-02-02 19:37:10 -06:00
2026-05-12 00:22:37 +02:00
2026-06-01 22:00:48 +02:00
2026-04-18 00:06:24 +02:00
2026-05-12 12:18:17 +02:00
2026-04-07 20:46:05 +02:00
2026-05-03 10:56:31 +02:00
2026-05-03 10:56:31 +02:00
2026-05-12 00:00:49 +02:00
2026-02-06 18:04:29 +01:00
2026-05-12 21:55:22 +02:00
2026-05-30 00:22:25 +02:00
2026-06-04 23:11:43 +02:00
2026-03-19 15:17:55 +01:00
2026-05-28 14:55:21 +02:00
2026-05-12 00:22:37 +02:00
2026-05-30 23:27:18 +02:00
2025-04-01 08:41:49 -04:00
2026-04-05 09:27:24 +02:00
2026-06-03 00:04:32 +02:00
2026-04-03 12:38:37 +02:00
2026-03-13 07:59:45 +01:00
2026-04-10 17:42:16 +02:00
2025-11-11 19:51:07 +01:00
2026-04-29 13:00:38 +02:00
2026-05-17 09:52:49 +02:00
2025-11-17 21:51:37 +01:00
2025-10-22 19:51:24 +02:00
2026-05-30 23:29:37 +02:00
2026-03-20 14:52:09 +01:00
2026-01-23 00:27:00 +01:00
2026-05-12 12:17:00 +02:00
2026-05-08 15:15:23 +02:00
2026-05-09 21:55:20 +02:00
2026-02-10 23:14:58 +01:00
2026-05-05 00:47:45 +02:00
2025-05-13 15:53:13 -04:00
2026-06-03 00:37:21 +02:00
2026-05-28 00:01:34 +02:00
2024-07-10 11:22:59 -04:00
2026-05-13 20:07:00 +02:00
2026-05-12 23:45:19 +02:00
2026-03-14 23:56:27 +01:00
2026-05-13 20:07:00 +02:00
2026-05-12 23:45:19 +02:00
2026-01-12 15:35:14 -05:00
2025-02-21 11:57:59 -05:00
2026-05-03 20:33:29 +02:00
2026-05-19 14:41:02 +02:00