codemie-sdk-python 0.1.609__tar.gz → 0.1.610__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 (72) hide show
  1. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/PKG-INFO +1 -1
  2. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/pyproject.toml +1 -1
  3. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/assistant.py +40 -0
  4. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/assistant.py +30 -0
  5. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/README.md +0 -0
  6. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/__init__.py +0 -0
  7. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/auth/__init__.py +0 -0
  8. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/auth/credentials.py +0 -0
  9. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/client/__init__.py +0 -0
  10. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/client/client.py +0 -0
  11. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/exceptions.py +0 -0
  12. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/__init__.py +0 -0
  13. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/activity_event.py +0 -0
  14. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/admin.py +0 -0
  15. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/analytics.py +0 -0
  16. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/categories.py +0 -0
  17. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/common.py +0 -0
  18. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/conversation.py +0 -0
  19. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/cost_center.py +0 -0
  20. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/datasource.py +0 -0
  21. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/errors.py +0 -0
  22. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/file_operation.py +0 -0
  23. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/guardrails.py +0 -0
  24. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/integration.py +0 -0
  25. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/llm.py +0 -0
  26. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/mcp_config.py +0 -0
  27. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/mermaid.py +0 -0
  28. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/project.py +0 -0
  29. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/skill.py +0 -0
  30. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/task.py +0 -0
  31. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/user.py +0 -0
  32. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/vendor_assistant.py +0 -0
  33. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
  34. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
  35. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/vendor_runtime.py +0 -0
  36. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/vendor_workflow.py +0 -0
  37. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/workflow.py +0 -0
  38. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
  39. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/workflow_state.py +0 -0
  40. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
  41. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/models/workflow_transition.py +0 -0
  42. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/activity_event.py +0 -0
  43. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/admin.py +0 -0
  44. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/analytics.py +0 -0
  45. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/categories.py +0 -0
  46. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
  47. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/conversation.py +0 -0
  48. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/cost_center.py +0 -0
  49. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/customer_config_service.py +0 -0
  50. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/datasource.py +0 -0
  51. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/dynamic_config.py +0 -0
  52. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/files.py +0 -0
  53. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/integration.py +0 -0
  54. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/llm.py +0 -0
  55. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/mcp_configs.py +0 -0
  56. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/mermaid.py +0 -0
  57. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/project.py +0 -0
  58. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/project_budget_groups.py +0 -0
  59. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/skill.py +0 -0
  60. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/task.py +0 -0
  61. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/user.py +0 -0
  62. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/vendor_assistant.py +0 -0
  63. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
  64. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
  65. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/vendor_runtime.py +0 -0
  66. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/vendor_workflow.py +0 -0
  67. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/webhook.py +0 -0
  68. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/workflow.py +0 -0
  69. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/workflow_execution.py +0 -0
  70. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
  71. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/src/codemie_sdk/utils/__init__.py +0 -0
  72. {codemie_sdk_python-0.1.609 → codemie_sdk_python-0.1.610}/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.609
3
+ Version: 0.1.610
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.609"
3
+ version = "0.1.610"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -181,6 +181,44 @@ class AssistantListResponse(BaseModel):
181
181
  created_by: User | None = None
182
182
 
183
183
 
184
+ class ToolCallPolicy(str, Enum):
185
+ """Policy governing when tool calls require user approval."""
186
+
187
+ AUTO_APPROVE = "auto_approve"
188
+ APPROVE_FOR_ME = "approve_for_me"
189
+ ASK_FOR_APPROVAL = "ask_for_approval"
190
+
191
+
192
+ class ToolCallAction(str, Enum):
193
+ """User action on a pending tool-call confirmation."""
194
+
195
+ ALLOW = "allow"
196
+ DENY = "deny"
197
+
198
+
199
+ class ToolPermissionsConfig(BaseModel):
200
+ """Configuration for tool-call approval policy on an assistant."""
201
+
202
+ model_config = ConfigDict(extra="ignore")
203
+
204
+ tool_call_policy: ToolCallPolicy = ToolCallPolicy.AUTO_APPROVE
205
+ allow_override: bool = True
206
+
207
+
208
+ class ToolCallResumeRequest(BaseModel):
209
+ """Request body for POST /v1/assistants/{id}/model/tool-call/resume."""
210
+
211
+ model_config = ConfigDict(extra="ignore", use_enum_values=True)
212
+
213
+ conversation_id: str = Field(
214
+ description="Conversation ID that has a pending tool-call checkpoint"
215
+ )
216
+ action: ToolCallAction = Field(
217
+ description="User decision: 'allow' executes the tool, 'deny' rejects it"
218
+ )
219
+ stream: bool = Field(default=True, description="Enable streaming NDJSON response")
220
+
221
+
184
222
  class Assistant(AssistantBase):
185
223
  """Full assistant model with additional fields."""
186
224
 
@@ -233,6 +271,7 @@ class Assistant(AssistantBase):
233
271
  default=None,
234
272
  description="Number of times this assistant has been cloned in the Marketplace",
235
273
  )
274
+ tool_permissions: ToolPermissionsConfig | None = None
236
275
 
237
276
 
238
277
  class AssistantRequestBase(AssistantBase):
@@ -268,6 +307,7 @@ class AssistantRequestBase(AssistantBase):
268
307
  enabled_builtin_subagents: list[str] | None = None
269
308
  prompt_variables: list[PromptVariable] = Field(default_factory=list)
270
309
  skip_integration_validation: bool | None = Field(default=False)
310
+ tool_permissions: ToolPermissionsConfig | None = None
271
311
 
272
312
 
273
313
  class AssistantCreateRequest(AssistantRequestBase):
@@ -28,6 +28,7 @@ from ..models.assistant import (
28
28
  ExportAssistantPayload,
29
29
  AssistantEvaluationRequest,
30
30
  ReactionRequest,
31
+ ToolCallResumeRequest,
31
32
  )
32
33
  from ..models.common import PaginationParams
33
34
  from ..utils import ApiRequestHandler, TokenSource
@@ -586,6 +587,35 @@ class AssistantService:
586
587
  f"/v1/assistants/{assistant_id}/marketplace/publish/validate", dict
587
588
  )
588
589
 
590
+ def resume_tool_call(
591
+ self,
592
+ assistant_id: str,
593
+ request: ToolCallResumeRequest,
594
+ ):
595
+ """Resume a paused tool-call after user approval or denial.
596
+
597
+ Calls POST /v1/assistants/{id}/model/tool-call/resume.
598
+ When stream=True, returns the raw streaming requests.Response so the
599
+ caller can iterate the NDJSON chunks. When stream=False, returns a
600
+ parsed dict containing the final generated text.
601
+
602
+ Args:
603
+ assistant_id: ID of the assistant that has a pending tool call
604
+ request: Resume request with conversation_id, action, and stream flag
605
+
606
+ Returns:
607
+ requests.Response (streaming) or dict (non-streaming)
608
+ """
609
+ import requests as _requests
610
+
611
+ response = self._api.post(
612
+ f"/v1/assistants/{assistant_id}/model/tool-call/resume",
613
+ _requests.Response,
614
+ json_data=request.model_dump(),
615
+ stream=request.stream,
616
+ )
617
+ return response
618
+
589
619
  def react(self, assistant_id: str, request: ReactionRequest) -> dict:
590
620
  """React to an assistant with like or dislike.
591
621