| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- import json
 
- from pathlib import Path
 
- import sys
 
- # The configuration is expected to be in a 'config' subdirectory relative to this script's location.
 
- CONFIG_DIR = Path(__file__).parent.parent / 'config'
 
- CONFIG_FILE = CONFIG_DIR / 'llm_config.json'
 
- DEFAULT_CONFIG = {
 
-     "_comment": "Controls the output of the data extractors. 'shrink_json' (true/false) tokenizes all JSON keys to reduce file size. 'indentation_level' (e.g., 2, 4) controls pretty-printing; use 0 or null for compact, single-line output. `shrink_json` takes precedence on formatting.",
 
-     "shrink_json": False,
 
-     "indentation_level": 4,
 
-     "ignored_folders": []
 
- }
 
- def get_config_path():
 
-     """Returns the absolute path to the configuration file."""
 
-     return CONFIG_FILE
 
- def load_config():
 
-     """
 
-     Loads the configuration from llm_config.json.
 
-     If the file doesn't exist, it creates a default one.
 
-     Returns the configuration dictionary.
 
-     """
 
-     if not CONFIG_FILE.is_file():
 
-         print(f"Configuration file not found at {CONFIG_FILE}. Creating a default one.")
 
-         try:
 
-             CONFIG_DIR.mkdir(parents=True, exist_ok=True)
 
-             with open(CONFIG_FILE, 'w', encoding='utf-8') as f:
 
-                 json.dump(DEFAULT_CONFIG, f, indent=4)
 
-             return DEFAULT_CONFIG
 
-         except IOError as e:
 
-             print(f"Error: Could not create default configuration file at {CONFIG_FILE}. {e}", file=sys.stderr)
 
-             # Return default config to allow the script to proceed if possible
 
-             return DEFAULT_CONFIG
 
-     try:
 
-         with open(CONFIG_FILE, 'r', encoding='utf-8') as f:
 
-             # Use a more robust way to load to handle comments if any
 
-             config_text = ''.join(line for line in f if not line.strip().startswith('//'))
 
-             config = json.loads(config_text)
 
-             
 
-             # Ensure all default keys are present
 
-             for key, value in DEFAULT_CONFIG.items():
 
-                 config.setdefault(key, value)
 
-             return config
 
-     except (json.JSONDecodeError, IOError) as e:
 
-         print(f"Warning: Could not read or parse {CONFIG_FILE}. Using default settings. Error: {e}", file=sys.stderr)
 
-         return DEFAULT_CONFIG
 
- if __name__ == '__main__':
 
-     # For testing purposes, you can run this script directly
 
-     print(f"Config file path: {get_config_path()}")
 
-     config = load_config()
 
-     print("Loaded configuration:")
 
-     print(json.dumps(config, indent=4))
 
 
  |