ciyidogan commited on
Commit
f29818e
·
verified ·
1 Parent(s): cb1c41a

Update config_provider.py

Browse files
Files changed (1) hide show
  1. config_provider.py +16 -19
config_provider.py CHANGED
@@ -1,20 +1,24 @@
1
  """
2
- Flare – Configuration Loader (JSONC + Pydantic v2)
3
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
- • Global, Project, Version, Intent, API tanımları
5
- • JSONC yorum temizleme (string literal’lere dokunmaz)
6
- • Alias’lar (version_number, max_attempts vb.)
7
- • apis[] artık liste → runtime’da dict’e map’lenir
8
  """
9
 
10
  from __future__ import annotations
11
-
12
- import json
13
  from pathlib import Path
14
  from typing import Any, Dict, List, Optional
15
 
16
- from pydantic import BaseModel, Field, HttpUrl, ValidationError, ConfigDict
17
  from utils import log
 
 
 
 
 
 
 
 
 
 
18
 
19
  # ---------------- Global -----------------
20
  class UserConfig(BaseModel):
@@ -23,13 +27,6 @@ class UserConfig(BaseModel):
23
  salt: str
24
 
25
 
26
- class GlobalConfig(BaseModel):
27
- work_mode: str = Field("hfcloud", pattern=r"^(hfcloud|cloud|on-premise)$")
28
- cloud_token: Optional[str] = None
29
- spark_endpoint: HttpUrl
30
- users: List[UserConfig] = []
31
-
32
-
33
  # ---------------- Retry / Proxy ----------
34
  class RetryConfig(BaseModel):
35
  retry_count: int = Field(3, alias="max_attempts")
@@ -115,10 +112,10 @@ class VersionConfig(BaseModel):
115
  caption: Optional[str] = ""
116
  published: bool = False
117
  general_prompt: str
118
- llm: LLMConfig
119
- intents: List[IntentConfig]
120
 
121
- class Config:
122
  extra = "allow"
123
  populate_by_name = True
124
 
 
1
  """
2
+ Flare – ConfigProvider (şifreli cloud_token desteği)
 
 
 
 
 
3
  """
4
 
5
  from __future__ import annotations
6
+ import json, os
 
7
  from pathlib import Path
8
  from typing import Any, Dict, List, Optional
9
 
10
+ from pydantic import BaseModel, Field, HttpUrl, ValidationError
11
  from utils import log
12
+ from encryption_utils import decrypt
13
+
14
+ class GlobalConfig(BaseModel):
15
+ work_mode: str = Field("hfcloud", pattern=r"^(hfcloud|cloud|on-premise)$")
16
+ cloud_token: Optional[str] = None
17
+ spark_endpoint: HttpUrl
18
+ users: List["UserConfig"] = []
19
+
20
+ def get_plain_token(self) -> Optional[str]:
21
+ return decrypt(self.cloud_token) if self.cloud_token else None
22
 
23
  # ---------------- Global -----------------
24
  class UserConfig(BaseModel):
 
27
  salt: str
28
 
29
 
 
 
 
 
 
 
 
30
  # ---------------- Retry / Proxy ----------
31
  class RetryConfig(BaseModel):
32
  retry_count: int = Field(3, alias="max_attempts")
 
112
  caption: Optional[str] = ""
113
  published: bool = False
114
  general_prompt: str
115
+ llm: "LLMConfig"
116
+ intents: List["IntentConfig"]
117
 
118
+ class Config:
119
  extra = "allow"
120
  populate_by_name = True
121