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-01-22 14:38:53 -05:00
2026-03-21 03:25:25 +00:00
2026-02-23 00:03:54 -05:00
2026-03-21 03:25:25 +00:00
2026-03-07 15:51:37 -05:00
2026-03-04 20:44:25 -05:00
2026-03-21 03:25:25 +00:00
2026-03-16 13:39:17 -04:00
2026-02-05 23:28:41 -05:00
2026-03-20 03:15:37 +00:00
2026-03-21 01:10:07 +00:00
2026-03-19 12:37:54 +00:00
2026-02-24 07:40:44 -05:00
2026-03-21 03:25:25 +00:00
2026-03-11 23:29:51 -04:00
2026-01-27 20:39:09 -05:00
2026-03-20 06:05:20 +00:00
2026-03-14 20:18:59 -04:00
2026-02-05 22:44:05 -05:00
2026-02-23 00:03:54 -05:00
2026-03-18 02:38:42 +00:00
2026-03-04 20:44:25 -05:00
2026-02-25 23:52:48 -05:00
2026-02-23 00:03:54 -05:00
2026-02-08 06:05:59 -05:00
2026-03-11 01:59:03 -04:00
2026-02-07 02:38:47 -05:00
2026-02-07 02:38:47 -05:00
2026-03-16 13:39:17 -04:00