codemie-sdk-python 0.1.394__tar.gz → 0.1.396__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 (58) hide show
  1. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/PKG-INFO +1 -1
  2. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/pyproject.toml +1 -1
  3. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/auth/credentials.py +18 -1
  4. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/client/client.py +6 -0
  5. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/README.md +0 -0
  6. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/__init__.py +0 -0
  7. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/auth/__init__.py +0 -0
  8. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/client/__init__.py +0 -0
  9. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/exceptions.py +0 -0
  10. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/__init__.py +0 -0
  11. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/admin.py +0 -0
  12. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/analytics.py +0 -0
  13. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/assistant.py +0 -0
  14. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/categories.py +0 -0
  15. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/common.py +0 -0
  16. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/conversation.py +0 -0
  17. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/datasource.py +0 -0
  18. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/errors.py +0 -0
  19. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/file_operation.py +0 -0
  20. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/guardrails.py +0 -0
  21. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/integration.py +0 -0
  22. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/llm.py +0 -0
  23. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/mermaid.py +0 -0
  24. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/skill.py +0 -0
  25. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/task.py +0 -0
  26. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/user.py +0 -0
  27. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/vendor_assistant.py +0 -0
  28. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
  29. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
  30. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/vendor_workflow.py +0 -0
  31. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/workflow.py +0 -0
  32. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
  33. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/workflow_state.py +0 -0
  34. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
  35. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/admin.py +0 -0
  36. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/analytics.py +0 -0
  37. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/assistant.py +0 -0
  38. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/categories.py +0 -0
  39. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
  40. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/conversation.py +0 -0
  41. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/datasource.py +0 -0
  42. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/files.py +0 -0
  43. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/integration.py +0 -0
  44. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/llm.py +0 -0
  45. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/mermaid.py +0 -0
  46. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/skill.py +0 -0
  47. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/task.py +0 -0
  48. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/user.py +0 -0
  49. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/vendor_assistant.py +0 -0
  50. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
  51. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
  52. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/vendor_workflow.py +0 -0
  53. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/webhook.py +0 -0
  54. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/workflow.py +0 -0
  55. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/workflow_execution.py +0 -0
  56. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
  57. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/utils/__init__.py +0 -0
  58. {codemie_sdk_python-0.1.394 → codemie_sdk_python-0.1.396}/src/codemie_sdk/utils/http.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.394
3
+ Version: 0.1.396
4
4
  Summary: CodeMie SDK for Python
5
5
  Author: Vadym Vlasenko
6
6
  Author-email: vadym_vlasenko@epam.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codemie-sdk-python"
3
- version = "0.1.394"
3
+ version = "0.1.396"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -15,6 +15,8 @@ class KeycloakCredentials:
15
15
  client_secret: Optional[str] = None,
16
16
  username: Optional[str] = None,
17
17
  password: Optional[str] = None,
18
+ external_token: Optional[str] = None,
19
+ external_idp: Optional[str] = None,
18
20
  verify_ssl: bool = True,
19
21
  ):
20
22
  """Initialize Keycloak credentials.
@@ -26,6 +28,8 @@ class KeycloakCredentials:
26
28
  client_secret: Client secret (optional if using username/password)
27
29
  username: Username/email for password grant (optional)
28
30
  password: Password for password grant (optional)
31
+ external_token: External token for authentication (optional)
32
+ external_idp: Identity provider ID to validate token (optional)
29
33
  verify_ssl: Whether to verify SSL certificates (default: True)
30
34
  """
31
35
  self.server_url = server_url.rstrip("/")
@@ -34,12 +38,16 @@ class KeycloakCredentials:
34
38
  self.client_secret = client_secret
35
39
  self.username = username
36
40
  self.password = password
41
+ self.external_token = external_token
42
+ self.external_idp = external_idp
37
43
  self.verify_ssl = verify_ssl
38
44
 
39
45
  def get_token(self) -> str:
40
46
  """Get access token using either client credentials or password grant."""
41
47
  if not (
42
- (self.client_id and self.client_secret) or (self.username and self.password)
48
+ (self.client_id and self.client_secret)
49
+ or (self.username and self.password)
50
+ or (self.external_token and self.external_idp)
43
51
  ):
44
52
  raise ValueError(
45
53
  "Either client credentials (client_id, client_secret) or "
@@ -60,6 +68,15 @@ class KeycloakCredentials:
60
68
  }
61
69
  if self.client_secret:
62
70
  payload["client_secret"] = self.client_secret
71
+ elif self.external_token and self.external_idp:
72
+ payload = {
73
+ "client_id": self.client_id,
74
+ "client_secret": self.client_secret,
75
+ "grant_type": "urn:ietf:params:oauth:grant-type:token-exchange",
76
+ "subject_token": self.external_token,
77
+ "subject_issuer": self.external_idp,
78
+ "requested_token_type": "urn:ietf:params:oauth:token-type:access_token",
79
+ }
63
80
  else:
64
81
  # Use Client Credentials flow
65
82
  payload = {
@@ -37,6 +37,8 @@ class CodeMieClient:
37
37
  auth_client_secret: Optional[str] = None,
38
38
  username: Optional[str] = None,
39
39
  password: Optional[str] = None,
40
+ external_token: Optional[str] = None,
41
+ external_idp: Optional[str] = None,
40
42
  verify_ssl: bool = True,
41
43
  ):
42
44
  """Initialize CodeMie client with authentication credentials.
@@ -49,6 +51,8 @@ class CodeMieClient:
49
51
  auth_client_secret: Client secret for authentication (optional if using username/password)
50
52
  username: Username/email for password grant (optional if using client credentials)
51
53
  password: Password for password grant (optional if using client credentials)
54
+ external_token: External token for authentication (optional, replaces username/password)
55
+ external_idp: Identity provider ID to validate extern_token with (optional, required if using external_token)
52
56
  verify_ssl: Whether to verify SSL certificates (default: True)
53
57
  """
54
58
  self.auth = KeycloakCredentials(
@@ -58,6 +62,8 @@ class CodeMieClient:
58
62
  client_secret=auth_client_secret,
59
63
  username=username,
60
64
  password=password,
65
+ external_token=external_token,
66
+ external_idp=external_idp,
61
67
  verify_ssl=verify_ssl,
62
68
  )
63
69