fiuai-sdk-python 0.4.2__tar.gz → 0.4.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/PKG-INFO +1 -1
  2. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/pyproject.toml +1 -1
  3. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/auth/header.py +3 -1
  4. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/auth/helper.py +18 -0
  5. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/auth/type.py +2 -0
  6. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/client.py +2 -0
  7. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/context.py +2 -2
  8. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/.gitignore +0 -0
  9. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/CHANGELOG.md +0 -0
  10. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/LICENSE +0 -0
  11. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/README.md +0 -0
  12. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/__init__.py +0 -0
  13. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/auth/__init__.py +0 -0
  14. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/bank.py +0 -0
  15. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/company.py +0 -0
  16. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/const.py +0 -0
  17. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/error.py +0 -0
  18. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/examples/fastapi_integration.py +0 -0
  19. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/item.py +0 -0
  20. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/perm.py +0 -0
  21. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/profile.py +0 -0
  22. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/resp.py +0 -0
  23. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/setup.py +0 -0
  24. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/type.py +0 -0
  25. {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fiuai_sdk_python
3
- Version: 0.4.2
3
+ Version: 0.4.3
4
4
  Summary: FiuAI Python SDK - 企业级AI服务集成开发工具包
5
5
  Project-URL: Homepage, https://github.com/fiuai/fiuai-sdk-python
6
6
  Project-URL: Documentation, https://github.com/fiuai/fiuai-sdk-python#readme
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fiuai_sdk_python"
3
- version = "0.4.2"
3
+ version = "0.4.3"
4
4
  description = "FiuAI Python SDK - 企业级AI服务集成开发工具包"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -31,6 +31,7 @@ def parse_auth_headers(headers: Dict[str, str]) -> Optional[AuthData]:
31
31
  impersonation = headers.get("x-fiuai-impersonation", "")
32
32
  unique_no = headers.get("x-fiuai-unique-no", "")
33
33
  trace_id = headers.get("x-fiuai-trace-id", "")
34
+ client = headers.get("x-fiuai-client", "unknown")
34
35
 
35
36
  # 验证必需字段
36
37
  if not user_id:
@@ -57,7 +58,8 @@ def parse_auth_headers(headers: Dict[str, str]) -> Optional[AuthData]:
57
58
  current_company=current_company[0],
58
59
  impersonation=impersonation,
59
60
  company_unique_no=unique_no,
60
- trace_id=trace_id
61
+ trace_id=trace_id,
62
+ client=client
61
63
  )
62
64
 
63
65
  except Exception as e:
@@ -143,6 +143,24 @@ def get_impersonation(
143
143
  return auth_data.impersonation
144
144
 
145
145
 
146
+ def get_current_client(
147
+ request: Union[Request, Dict[str, str]],
148
+ engine: Literal["fastapi", "dict"] = "fastapi"
149
+ ) -> str:
150
+ """
151
+ 获取当前客户端标识
152
+
153
+ Args:
154
+ request: FastAPI Request 对象或包含认证数据的字典
155
+ engine: 请求引擎类型,默认为 "fastapi"
156
+
157
+ Returns:
158
+ str: 客户端标识
159
+ """
160
+ auth_data = get_auth_data(request, engine)
161
+ return auth_data.client
162
+
163
+
146
164
  def is_impersonating(
147
165
  request: Union[Request, Dict[str, str]],
148
166
  engine: Literal["fastapi", "dict"] = "fastapi"
@@ -16,6 +16,7 @@ class AuthData(BaseModel):
16
16
  impersonation: str = Field(description="当前代表的租户ID", default="")
17
17
  company_unique_no: str = Field(description="当前公司唯一编号,正常情况等于current_company")
18
18
  trace_id: str = Field(description="追踪ID", default="")
19
+ client: str = Field(description="客户端标识", default="unknown")
19
20
 
20
21
 
21
22
 
@@ -30,6 +31,7 @@ class AuthHeader(BaseModel):
30
31
  x_fiuai_impersonation: str = Field(alias="x-fiuai-impersonation", default="", description="当前代表的租户ID")
31
32
  x_fiuai_lang: str = Field(alias="x-fiuai-lang", default="zh", description="用户当前语言")
32
33
  x_fiuai_trace_id: str = Field(alias="x-fiuai-trace-id", default="", description="追踪ID")
34
+ x_fiuai_client: str = Field(alias="x-fiuai-client", default="unknown", description="客户端标识")
33
35
  accept_language: str = Field(alias="accept-language", default="zh", description="语言")
34
36
 
35
37
  class Config:
@@ -94,6 +94,7 @@ class FiuaiSDK(object):
94
94
  "x-fiuai-impersonation": context_headers.get("x-fiuai-impersonation", self.headers.x_fiuai_impersonation),
95
95
  "x-fiuai-unique-no": company_unique_no_value,
96
96
  "x-fiuai-trace-id": context_headers.get("x-fiuai-trace-id", self.headers.x_fiuai_trace_id),
97
+ "x-fiuai-client": context_headers.get("x-fiuai-client", self.headers.x_fiuai_client),
97
98
  "x-fiuai-lang": context_headers.get("x-fiuai-lang", self.headers.x_fiuai_lang),
98
99
  "accept-language": context_headers.get("accept-language", self.headers.accept_language),
99
100
  })
@@ -112,6 +113,7 @@ class FiuaiSDK(object):
112
113
  "x-fiuai-impersonation": self.headers.x_fiuai_impersonation,
113
114
  "x-fiuai-unique-no": company_unique_no_value,
114
115
  "x-fiuai-trace-id": self.headers.x_fiuai_trace_id,
116
+ "x-fiuai-client": self.headers.x_fiuai_client,
115
117
  "x-fiuai-lang": self.headers.x_fiuai_lang,
116
118
  "accept-language": self.headers.accept_language,
117
119
  }
@@ -100,9 +100,9 @@ class RequestContext:
100
100
  # 生成新的 trace id
101
101
  processed_headers["x-fiuai-trace-id"] = str(uuid.uuid4())
102
102
 
103
- # 确保 X-Fiuai-Client 字段存在(如果不存在则设为空字符串)
103
+ # 确保 X-Fiuai-Client 字段存在(如果不存在则设为 "unknown")
104
104
  if "x-fiuai-client" not in processed_headers:
105
- processed_headers["x-fiuai-client"] = ""
105
+ processed_headers["x-fiuai-client"] = "unknown"
106
106
 
107
107
  return processed_headers
108
108