chihlasm
10cf5f45eb
refactor: consolidate LLM JSON parsing into shared llm_utils module
Extracted duplicate _strip_markdown_fences / _parse_llm_json functions
from 7 files into app/services/llm_utils.py. Two shared functions:
- strip_markdown_fences(): fence stripping only
- parse_llm_json(): fence stripping + JSON parse + error logging
Files updated: flowpilot_engine, knowledge_flywheel, session_to_flow_service,
ai_tree_generator_service, ai_fix_service, ai_chat_service, kb_conversion_service
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 03:25:25 +00:00
..
2026-03-19 20:35:39 +00:00
2026-02-08 08:14:22 -05:00
2026-03-08 15:43:22 -04:00
2026-03-16 13:39:17 -04:00
2026-03-04 20:44:25 -05:00
2026-03-20 03:34:54 +00:00
2026-03-18 14:27:36 +00:00
2026-03-21 03:25:25 +00:00
2026-03-19 05:12:10 +00:00
2026-03-21 03:25:25 +00:00
2026-03-19 05:12:10 +00:00
2026-03-21 03:25:25 +00:00
2026-03-19 12:37:54 +00:00
2026-03-20 00:11:07 +00:00
2026-03-19 01:30:05 +00:00
2026-03-05 11:41:22 -05:00
2026-02-14 00:11:20 -05:00
2026-03-04 20:44:25 -05:00
2026-03-14 20:18:59 -04:00
2026-03-20 04:36:12 +00:00
2026-03-21 03:25:25 +00:00
2026-03-19 20:35:45 +00:00
2026-03-20 03:15:37 +00:00
2026-03-04 20:44:25 -05:00
2026-02-10 09:45:26 -05:00
2026-02-10 09:45:26 -05:00
2026-02-10 09:45:26 -05:00
2026-02-10 09:45:26 -05:00