codemie-sdk-python 0.1.623__tar.gz → 0.1.624__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 (74) hide show
  1. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/PKG-INFO +1 -1
  2. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/pyproject.toml +1 -1
  3. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/__init__.py +14 -0
  4. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/client/client.py +4 -0
  5. codemie_sdk_python-0.1.624/src/codemie_sdk/models/a2a.py +63 -0
  6. codemie_sdk_python-0.1.624/src/codemie_sdk/services/a2a.py +33 -0
  7. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/README.md +0 -0
  8. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/auth/__init__.py +0 -0
  9. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/auth/credentials.py +0 -0
  10. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/client/__init__.py +0 -0
  11. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/exceptions.py +0 -0
  12. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/__init__.py +0 -0
  13. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/activity_event.py +0 -0
  14. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/admin.py +0 -0
  15. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/analytics.py +0 -0
  16. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/assistant.py +0 -0
  17. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/categories.py +0 -0
  18. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/common.py +0 -0
  19. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/conversation.py +0 -0
  20. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/cost_center.py +0 -0
  21. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/datasource.py +0 -0
  22. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/errors.py +0 -0
  23. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/file_operation.py +0 -0
  24. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/guardrails.py +0 -0
  25. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/integration.py +0 -0
  26. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/llm.py +0 -0
  27. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/mcp_config.py +0 -0
  28. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/mermaid.py +0 -0
  29. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/project.py +0 -0
  30. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/skill.py +0 -0
  31. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/task.py +0 -0
  32. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/user.py +0 -0
  33. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/vendor_assistant.py +0 -0
  34. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
  35. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
  36. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/vendor_runtime.py +0 -0
  37. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/vendor_workflow.py +0 -0
  38. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/workflow.py +0 -0
  39. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
  40. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/workflow_state.py +0 -0
  41. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
  42. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/models/workflow_transition.py +0 -0
  43. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/activity_event.py +0 -0
  44. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/admin.py +0 -0
  45. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/analytics.py +0 -0
  46. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/assistant.py +0 -0
  47. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/categories.py +0 -0
  48. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
  49. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/conversation.py +0 -0
  50. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/cost_center.py +0 -0
  51. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/customer_config_service.py +0 -0
  52. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/datasource.py +0 -0
  53. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/dynamic_config.py +0 -0
  54. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/files.py +0 -0
  55. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/integration.py +0 -0
  56. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/llm.py +0 -0
  57. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/mcp_configs.py +0 -0
  58. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/mermaid.py +0 -0
  59. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/project.py +0 -0
  60. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/project_budget_groups.py +0 -0
  61. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/skill.py +0 -0
  62. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/task.py +0 -0
  63. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/user.py +0 -0
  64. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/vendor_assistant.py +0 -0
  65. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
  66. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
  67. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/vendor_runtime.py +0 -0
  68. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/vendor_workflow.py +0 -0
  69. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/webhook.py +0 -0
  70. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/workflow.py +0 -0
  71. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/workflow_execution.py +0 -0
  72. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
  73. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/src/codemie_sdk/utils/__init__.py +0 -0
  74. {codemie_sdk_python-0.1.623 → codemie_sdk_python-0.1.624}/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.623
3
+ Version: 0.1.624
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.623"
3
+ version = "0.1.624"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -157,6 +157,14 @@ from .models.integration import (
157
157
  TransferItem,
158
158
  TransferSettingsResponse,
159
159
  )
160
+ from .models.a2a import (
161
+ AgentCard,
162
+ AgentProvider,
163
+ AgentCapabilities,
164
+ AgentAuthentication,
165
+ AgentSkill,
166
+ )
167
+ from .services.a2a import A2AService
160
168
 
161
169
  __version__ = "0.2.12"
162
170
  __all__ = [
@@ -276,4 +284,10 @@ __all__ = [
276
284
  "TransferMode",
277
285
  "TransferItem",
278
286
  "TransferSettingsResponse",
287
+ "AgentCard",
288
+ "AgentProvider",
289
+ "AgentCapabilities",
290
+ "AgentAuthentication",
291
+ "AgentSkill",
292
+ "A2AService",
279
293
  ]
@@ -3,6 +3,7 @@
3
3
  from typing import Callable
4
4
 
5
5
  from ..auth.credentials import KeycloakCredentials, LocalAuthCredentials
6
+ from ..services.a2a import A2AService
6
7
  from ..services.admin import AdminService
7
8
  from ..services.analytics import AnalyticsService
8
9
  from ..services.assistant import AssistantService
@@ -181,6 +182,9 @@ class CodeMieClient:
181
182
  self.project_budget_groups = ProjectBudgetGroupsService(
182
183
  self._api_domain, _token_source, verify_ssl=self._verify_ssl
183
184
  )
185
+ self.a2a = A2AService(
186
+ self._api_domain, _token_source, verify_ssl=self._verify_ssl
187
+ )
184
188
 
185
189
  @property
186
190
  def token(self) -> str:
@@ -0,0 +1,63 @@
1
+ """A2A (agent-to-agent) models."""
2
+
3
+ from pydantic import BaseModel, ConfigDict
4
+
5
+
6
+ class AgentProvider(BaseModel):
7
+ """Provider information for an A2A agent card."""
8
+
9
+ model_config = ConfigDict(extra="ignore")
10
+
11
+ organization: str
12
+ url: str | None = None
13
+
14
+
15
+ class AgentCapabilities(BaseModel):
16
+ """Capabilities advertised by an A2A agent card."""
17
+
18
+ model_config = ConfigDict(extra="ignore")
19
+
20
+ streaming: bool = False
21
+ pushNotifications: bool = False
22
+ stateTransitionHistory: bool = False
23
+
24
+
25
+ class AgentAuthentication(BaseModel):
26
+ """Authentication schemes advertised by an A2A agent card."""
27
+
28
+ model_config = ConfigDict(extra="ignore")
29
+
30
+ schemes: list[str]
31
+ credentials: str | None = None
32
+
33
+
34
+ class AgentSkill(BaseModel):
35
+ """A single skill exposed by an A2A agent card."""
36
+
37
+ model_config = ConfigDict(extra="ignore")
38
+
39
+ id: str
40
+ name: str
41
+ description: str | None = None
42
+ tags: list[str] | None = None
43
+ examples: list[str] | None = None
44
+ inputModes: list[str] | None = None
45
+ outputModes: list[str] | None = None
46
+
47
+
48
+ class AgentCard(BaseModel):
49
+ """A2A agent card describing an assistant for agent discovery."""
50
+
51
+ model_config = ConfigDict(extra="ignore")
52
+
53
+ name: str
54
+ description: str | None = None
55
+ url: str
56
+ provider: AgentProvider | None = None
57
+ version: str
58
+ documentationUrl: str | None = None
59
+ capabilities: AgentCapabilities
60
+ authentication: AgentAuthentication | None = None
61
+ defaultInputModes: list[str] = ["text"]
62
+ defaultOutputModes: list[str] = ["text"]
63
+ skills: list[AgentSkill]
@@ -0,0 +1,33 @@
1
+ """A2A (agent-to-agent) service implementation."""
2
+
3
+ from ..models.a2a import AgentCard
4
+ from ..utils import ApiRequestHandler, TokenSource
5
+
6
+
7
+ class A2AService:
8
+ """Service for A2A agent discovery endpoints."""
9
+
10
+ def __init__(self, api_domain: str, token: TokenSource, verify_ssl: bool = True):
11
+ """Initialize the A2A service.
12
+
13
+ Args:
14
+ api_domain: Base URL for the CodeMie API
15
+ token: Authentication token
16
+ verify_ssl: Whether to verify SSL certificates
17
+ """
18
+ self._api = ApiRequestHandler(api_domain, token, verify_ssl)
19
+
20
+ def get_agent_card(self, assistant_id: str) -> AgentCard:
21
+ """Get the A2A agent card for an assistant.
22
+
23
+ Args:
24
+ assistant_id: ID of the assistant
25
+
26
+ Returns:
27
+ AgentCard: agent discovery metadata for the assistant
28
+ """
29
+ return self._api.get(
30
+ f"/v1/a2a/assistants/{assistant_id}/.well-known/agent.json",
31
+ AgentCard,
32
+ wrap_response=False,
33
+ )