()
| 115 | } |
| 116 | |
| 117 | function _loadSystemFile() { |
| 118 | const settingsFilePath = _getSettingsFilePath(); |
| 119 | const content = fs.existsSync(settingsFilePath) |
| 120 | ? fs.readFileSync(settingsFilePath, "utf-8") |
| 121 | : ""; |
| 122 | const data = Ini.parse(content); |
| 123 | |
| 124 | return Z.looseObject({ |
| 125 | auth: Z.looseObject({ |
| 126 | apiKey: Z.string().optional(), |
| 127 | apiUrl: Z.string().optional(), |
| 128 | webUrl: Z.string().optional(), |
| 129 | vnext: Z.object({ |
| 130 | apiKey: Z.string().optional(), |
| 131 | }).optional(), |
| 132 | }).optional(), |
| 133 | llm: Z.looseObject({ |
| 134 | openaiApiKey: Z.string().optional(), |
| 135 | anthropicApiKey: Z.string().optional(), |
| 136 | groqApiKey: Z.string().optional(), |
| 137 | googleApiKey: Z.string().optional(), |
| 138 | openrouterApiKey: Z.string().optional(), |
| 139 | mistralApiKey: Z.string().optional(), |
| 140 | }).optional(), |
| 141 | }).parse(data); |
| 142 | } |
| 143 | |
| 144 | function _saveSystemFile(settings: CliSettings) { |
| 145 | const settingsFilePath = _getSettingsFilePath(); |
no test coverage detected