codemie-sdk-python 0.1.677__tar.gz → 0.1.679__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.677 → codemie_sdk_python-0.1.679}/PKG-INFO +3 -2
  2. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/README.md +2 -1
  3. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/pyproject.toml +1 -1
  4. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/user.py +15 -7
  5. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/workflow.py +3 -0
  6. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/skill.py +30 -0
  7. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/user.py +29 -0
  8. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/workflow.py +3 -0
  9. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/__init__.py +0 -0
  10. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/auth/__init__.py +0 -0
  11. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/auth/credentials.py +0 -0
  12. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/client/__init__.py +0 -0
  13. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/client/client.py +0 -0
  14. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/exceptions.py +0 -0
  15. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/__init__.py +0 -0
  16. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/a2a.py +0 -0
  17. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/activity_event.py +0 -0
  18. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/admin.py +0 -0
  19. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/analytics.py +0 -0
  20. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/assistant.py +0 -0
  21. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/categories.py +0 -0
  22. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/common.py +0 -0
  23. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/conversation.py +0 -0
  24. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/cost_center.py +0 -0
  25. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/datasource.py +0 -0
  26. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/errors.py +0 -0
  27. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/file_operation.py +0 -0
  28. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/guardrails.py +0 -0
  29. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/integration.py +0 -0
  30. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/llm.py +0 -0
  31. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/mcp_config.py +0 -0
  32. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/mermaid.py +0 -0
  33. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/project.py +0 -0
  34. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/skill.py +0 -0
  35. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/task.py +0 -0
  36. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/vendor_assistant.py +0 -0
  37. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
  38. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
  39. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/vendor_runtime.py +0 -0
  40. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/vendor_workflow.py +0 -0
  41. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
  42. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/workflow_state.py +0 -0
  43. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
  44. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/models/workflow_transition.py +0 -0
  45. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/a2a.py +0 -0
  46. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/activity_event.py +0 -0
  47. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/admin.py +0 -0
  48. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/analytics.py +0 -0
  49. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/assistant.py +0 -0
  50. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/categories.py +0 -0
  51. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
  52. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/conversation.py +0 -0
  53. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/cost_center.py +0 -0
  54. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/customer_config_service.py +0 -0
  55. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/datasource.py +0 -0
  56. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/dynamic_config.py +0 -0
  57. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/files.py +0 -0
  58. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/integration.py +0 -0
  59. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/llm.py +0 -0
  60. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/mcp_configs.py +0 -0
  61. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/mermaid.py +0 -0
  62. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/project.py +0 -0
  63. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/project_budget_groups.py +0 -0
  64. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/task.py +0 -0
  65. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/vendor_assistant.py +0 -0
  66. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
  67. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
  68. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/vendor_runtime.py +0 -0
  69. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/vendor_workflow.py +0 -0
  70. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/webhook.py +0 -0
  71. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/workflow_execution.py +0 -0
  72. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
  73. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/src/codemie_sdk/utils/__init__.py +0 -0
  74. {codemie_sdk_python-0.1.677 → codemie_sdk_python-0.1.679}/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.677
3
+ Version: 0.1.679
4
4
  Summary: CodeMie SDK for Python
5
5
  Author: Vadym Vlasenko
6
6
  Author-email: vadym_vlasenko@epam.com
@@ -664,7 +664,8 @@ workflow_request = WorkflowCreateRequest(
664
664
  yaml_config="your-yaml-configuration",
665
665
  mode="SEQUENTIAL", # Optional, defaults to SEQUENTIAL
666
666
  shared=False, # Optional, defaults to False
667
- icon_url="https://example.com/icon.png" # Optional
667
+ icon_url="https://example.com/icon.png", # Optional
668
+ categories=["category-id"] # Optional, up to 3 category IDs
668
669
  )
669
670
  result = client.workflows.create_workflow(workflow_request)
670
671
  ```
@@ -651,7 +651,8 @@ workflow_request = WorkflowCreateRequest(
651
651
  yaml_config="your-yaml-configuration",
652
652
  mode="SEQUENTIAL", # Optional, defaults to SEQUENTIAL
653
653
  shared=False, # Optional, defaults to False
654
- icon_url="https://example.com/icon.png" # Optional
654
+ icon_url="https://example.com/icon.png", # Optional
655
+ categories=["category-id"] # Optional, up to 3 category IDs
655
656
  )
656
657
  result = client.workflows.create_workflow(workflow_request)
657
658
  ```
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codemie-sdk-python"
3
- version = "0.1.677"
3
+ version = "0.1.679"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -13,6 +13,15 @@ class PaginationInfo(BaseModel):
13
13
  per_page: int
14
14
 
15
15
 
16
+ class AdminUserProjectInfo(BaseModel):
17
+ model_config = ConfigDict(extra="ignore")
18
+
19
+ name: str
20
+ display_name: Optional[str] = None
21
+ is_project_admin: bool = False
22
+ is_default: bool = False
23
+
24
+
16
25
  class AdminUserListItem(BaseModel):
17
26
  model_config = ConfigDict(extra="ignore")
18
27
 
@@ -26,6 +35,7 @@ class AdminUserListItem(BaseModel):
26
35
  is_maintainer: bool = False
27
36
  auth_source: Optional[str] = None
28
37
  last_login_at: Optional[str] = None
38
+ projects: List[AdminUserProjectInfo] = []
29
39
  date: Optional[str] = None
30
40
 
31
41
 
@@ -36,13 +46,6 @@ class PaginatedUserListResponse(BaseModel):
36
46
  pagination: PaginationInfo
37
47
 
38
48
 
39
- class AdminUserProjectInfo(BaseModel):
40
- model_config = ConfigDict(extra="ignore")
41
-
42
- name: str
43
- is_project_admin: bool = False
44
-
45
-
46
49
  class CodeMieUserDetail(BaseModel):
47
50
  model_config = ConfigDict(extra="ignore")
48
51
 
@@ -71,6 +74,7 @@ class AdminUserProject(BaseModel):
71
74
 
72
75
  project_name: str
73
76
  is_project_admin: bool = False
77
+ is_default: bool = False
74
78
  date: Optional[str] = None
75
79
 
76
80
 
@@ -102,6 +106,10 @@ class User(BaseModel):
102
106
  description="List of applications where user has admin rights",
103
107
  validation_alias="applicationsAdmin",
104
108
  )
109
+ projects: list[AdminUserProjectInfo] = Field(
110
+ default_factory=list,
111
+ description="Projects the user belongs to, including the default-project flag",
112
+ )
105
113
  picture: str = Field(default="", description="URL to user's profile picture")
106
114
  knowledge_bases: list[str] = Field(
107
115
  default_factory=list,
@@ -27,6 +27,7 @@ class WorkflowCreateRequest(BaseModel):
27
27
  mode: WorkflowMode = WorkflowMode.SEQUENTIAL
28
28
  shared: bool = False
29
29
  icon_url: str | None = None
30
+ categories: list[str] = Field(default_factory=list)
30
31
 
31
32
 
32
33
  class WorkflowUpdateRequest(BaseModel):
@@ -40,6 +41,7 @@ class WorkflowUpdateRequest(BaseModel):
40
41
  mode: WorkflowMode | None = None
41
42
  shared: bool | None = None
42
43
  icon_url: str | None = None
44
+ categories: list[str] | None = None
43
45
 
44
46
 
45
47
  class Workflow(BaseModel):
@@ -58,6 +60,7 @@ class Workflow(BaseModel):
58
60
  mode: WorkflowMode = WorkflowMode.SEQUENTIAL
59
61
  shared: bool = False
60
62
  icon_url: str | None = None
63
+ categories: list[str] = Field(default_factory=list)
61
64
  created_date: datetime | None = Field(None, alias="date")
62
65
  update_date: datetime | None = Field(None)
63
66
  created_by: User | None = None
@@ -397,3 +397,33 @@ class SkillService:
397
397
  Skill config with max_content_length and min_content_length
398
398
  """
399
399
  return self._api.get("/v1/skills/config", SkillConfigResponse)
400
+
401
+ def generate_instructions(
402
+ self,
403
+ description: str,
404
+ existing_instructions: str | None = None,
405
+ skill_name: str | None = None,
406
+ llm_model: str | None = None,
407
+ ) -> dict:
408
+ """Generate skill instructions from a description with AI.
409
+
410
+ Args:
411
+ description: User description of what the skill should do
412
+ existing_instructions: Existing instructions to refine (optional)
413
+ skill_name: Skill name for context (optional)
414
+ llm_model: LLM model to use; platform default when omitted
415
+
416
+ Returns:
417
+ Dict with generated `instructions` and generation `metadata`
418
+ """
419
+ return self._api.post(
420
+ "/v1/skills/instructions/generate",
421
+ dict,
422
+ json_data={
423
+ "description": description,
424
+ "existing_instructions": existing_instructions,
425
+ "skill_name": skill_name,
426
+ "llm_model": llm_model,
427
+ },
428
+ wrap_response=False,
429
+ )
@@ -159,6 +159,35 @@ class UserService:
159
159
  wrap_response=False,
160
160
  )
161
161
 
162
+ def set_default_project(self, user_id: str, project_name: str) -> dict:
163
+ """Mark a project as the user's default project (admin or maintainer).
164
+
165
+ Replaces any previously set default. The user must be a member of the project.
166
+
167
+ Args:
168
+ user_id: The user's unique identifier
169
+ project_name: Name of the project to mark as default
170
+ """
171
+ return self._api.put(
172
+ f"/v1/admin/users/{user_id}/projects/{project_name}/default",
173
+ dict,
174
+ json_data={},
175
+ wrap_response=False,
176
+ )
177
+
178
+ def clear_default_project(self, user_id: str, project_name: str) -> dict:
179
+ """Unset a project as the user's default project (admin or maintainer).
180
+
181
+ Args:
182
+ user_id: The user's unique identifier
183
+ project_name: Name of the project to unset as default
184
+ """
185
+ return self._api.delete(
186
+ f"/v1/admin/users/{user_id}/projects/{project_name}/default",
187
+ dict,
188
+ wrap_response=False,
189
+ )
190
+
162
191
  def deactivate_user(self, user_id: str) -> None:
163
192
  """Deactivate (soft-delete) a user (SuperAdmin only).
164
193
 
@@ -52,6 +52,7 @@ class WorkflowService:
52
52
  - mode: WorkflowMode (defaults to SEQUENTIAL)
53
53
  - shared: bool (defaults to False)
54
54
  - icon_url: Optional URL for workflow icon
55
+ - categories: Optional list of category IDs (at most 3)
55
56
 
56
57
  Returns:
57
58
  Created WorkflowTemplate instance
@@ -109,6 +110,8 @@ class WorkflowService:
109
110
  - mode: New workflow mode
110
111
  - shared: New sharing status
111
112
  - icon_url: New icon URL
113
+ - categories: New list of category IDs (at most 3); omit to keep
114
+ the current ones, pass [] to clear them
112
115
  Only specified fields will be updated.
113
116
 
114
117
  Returns: