(aiDataDir: string)
| 233 | } |
| 234 | |
| 235 | function loadRawConfigStore(aiDataDir: string): AIConfigStore { |
| 236 | const configPath = path.join(aiDataDir, 'llm-config.json') |
| 237 | if (!fs.existsSync(configPath)) { |
| 238 | return { configs: [], defaultAssistant: null, fastModel: null } |
| 239 | } |
| 240 | try { |
| 241 | const data = JSON.parse(fs.readFileSync(configPath, 'utf-8')) |
| 242 | return { |
| 243 | configs: data.configs || [], |
| 244 | defaultAssistant: data.defaultAssistant ?? null, |
| 245 | fastModel: data.fastModel ?? null, |
| 246 | } |
| 247 | } catch { |
| 248 | return { configs: [], defaultAssistant: null, fastModel: null } |
| 249 | } |
| 250 | } |
| 251 | |
| 252 | // ==================== PiModel Builder ==================== |
| 253 |
no test coverage detected