forked from Alishahryar1/free-claude-code
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpaths.py
More file actions
74 lines (45 loc) · 2.02 KB
/
Copy pathpaths.py
File metadata and controls
74 lines (45 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
"""Shared filesystem paths for Free Claude Code configuration."""
from pathlib import Path
FCC_CONFIG_DIRNAME = ".fcc"
FCC_ENV_FILENAME = ".env"
LEGACY_REPO_DIRNAME = "free-claude-code"
LEGACY_XDG_CONFIG_DIRNAME = ".config"
MESSAGING_STATE_DIRNAME = "agent_workspace"
FCC_LOGS_DIRNAME = "logs"
SERVER_LOG_FILENAME = "server.log"
CODEX_MODEL_CATALOG_FILENAME = "codex-model-catalog.json"
AUTH_DIRNAME = "auth"
OPENAI_AUTH_FILENAME = "openai.json"
OPENAI_AUTH_LOCK_FILENAME = "openai.lock"
CONFIG_LOCK_FILENAME = "config.lock"
def config_dir_path() -> Path:
"""Return the default user config directory."""
return Path.home() / FCC_CONFIG_DIRNAME
def managed_env_path() -> Path:
"""Return the default user-managed env file path."""
return config_dir_path() / FCC_ENV_FILENAME
def config_lock_path() -> Path:
"""Return the cross-process managed-config migration lock path."""
return config_dir_path() / CONFIG_LOCK_FILENAME
def legacy_env_paths() -> tuple[Path, ...]:
"""Return legacy user env paths that can be migrated to ~/.fcc/.env."""
home = Path.home()
return (
home / LEGACY_REPO_DIRNAME / FCC_ENV_FILENAME,
home / LEGACY_XDG_CONFIG_DIRNAME / LEGACY_REPO_DIRNAME / FCC_ENV_FILENAME,
)
def messaging_state_dir_path() -> Path:
"""Return the managed messaging state directory."""
return config_dir_path() / MESSAGING_STATE_DIRNAME
def server_log_path() -> Path:
"""Return the canonical server log path."""
return config_dir_path() / FCC_LOGS_DIRNAME / SERVER_LOG_FILENAME
def codex_model_catalog_path() -> Path:
"""Return the generated Codex model catalog path."""
return config_dir_path() / CODEX_MODEL_CATALOG_FILENAME
def openai_auth_path() -> Path:
"""Return FCC's private ChatGPT credential file path."""
return config_dir_path() / AUTH_DIRNAME / OPENAI_AUTH_FILENAME
def openai_auth_lock_path() -> Path:
"""Return the cross-process lock path for ChatGPT credentials."""
return config_dir_path() / AUTH_DIRNAME / OPENAI_AUTH_LOCK_FILENAME