MCPcopy Create free account
hub / github.com/Chat2AnyLLM/code-agent-manager / readConfigFile

Function readConfigFile

internal/tools/configwriter.go:149–178  ·  view source on GitHub ↗
(path, format string)

Source from the content-addressed store, hash-verified

147}
148
149func readConfigFile(path, format string) (map[string]any, error) {
150 raw, err := os.ReadFile(path)
151 if err != nil {
152 if os.IsNotExist(err) {
153 return map[string]any{}, nil
154 }
155 return nil, fmt.Errorf("configwriter: read %s: %w", path, err)
156 }
157 if len(raw) == 0 {
158 return map[string]any{}, nil
159 }
160 out := map[string]any{}
161 switch format {
162 case "json":
163 if err := json.Unmarshal(raw, &out); err != nil {
164 return nil, fmt.Errorf("configwriter: parse %s: %w", path, err)
165 }
166 case "toml":
167 if err := tomlv2.Unmarshal(raw, &out); err != nil {
168 return nil, fmt.Errorf("configwriter: parse %s: %w", path, err)
169 }
170 case "yaml":
171 if err := yaml.Unmarshal(raw, &out); err != nil {
172 return nil, fmt.Errorf("configwriter: parse %s: %w", path, err)
173 }
174 default:
175 return nil, fmt.Errorf("configwriter: unknown format %q", format)
176 }
177 return out, nil
178}
179
180func writeConfigFile(path, format string, data map[string]any) error {
181 if err := os.MkdirAll(filepath.Dir(path), 0o700); err != nil {

Callers 2

ApplyFunction · 0.85
applyCodexWireAPIFunction · 0.85

Calls 1

ReadFileMethod · 0.80

Tested by

no test coverage detected