-// dataDir returns the data directory and creates it with mode 0700 when it
-// does not exist. It is ONECHAT_DIR when that is set. Otherwise it is
-// $XDG_DATA_HOME/onechat when XDG_DATA_HOME is an absolute path, or else
-// ~/.local/share/onechat.
-func dataDir() (string, error) {
- dir := os.Getenv("ONECHAT_DIR")
- if dir == "" {
- var err error
- dir, err = defaultDataDir()
- if err != nil {
- return "", err
- }
- }
-
- err := os.MkdirAll(dir, 0o700)
- if err != nil {
- return "", fmt.Errorf("create data directory: %w", err)
- }
-
- return dir, nil
+// ModelConfig names a model and its reasoning effort.
+type ModelConfig struct {
+ Model string `json:"model"`
+ Effort string `json:"effort"`