codemie-sdk-python 0.1.677__py3-none-any.whl → 0.1.679__py3-none-any.whl

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.
@@ -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:
@@ -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
  ```
@@ -25,13 +25,13 @@ codemie_sdk/models/mermaid.py,sha256=dhRgX-itvfyrt0LUg5pbSo0CTH5PewiegqcZn3hWggU
25
25
  codemie_sdk/models/project.py,sha256=_iE45WdlAufZIW0XyqwxExOhHhSVY-YLs--68phj5tQ,6983
26
26
  codemie_sdk/models/skill.py,sha256=JIVHubDlPL8tH62AQRL0nMd0vieN6MPGckj9Kuqp7RA,6068
27
27
  codemie_sdk/models/task.py,sha256=YHu5DRnECS2wnqIWZ_YH8Z72p1I4aV3xWFW5joxN_8Q,1442
28
- codemie_sdk/models/user.py,sha256=qVTgyqIOSPUo_wtD_6xX25OGBc15_VJUZZfvBdDZf_Q,3531
28
+ codemie_sdk/models/user.py,sha256=YqPWzTgIKF-7Jw6aV7RD__su1iahEJPGaDR6Px-B4bU,3848
29
29
  codemie_sdk/models/vendor_assistant.py,sha256=vdpFq8aRlLj7IgRMWTA6pkrq8HZty8rgwA-kWrKKf3A,6357
30
30
  codemie_sdk/models/vendor_guardrail.py,sha256=dQtuFZXFUs_IUQlnPQth0Sd49Sx9gfDtkA2bB2Qh5e0,5227
31
31
  codemie_sdk/models/vendor_knowledgebase.py,sha256=fDj526KDJocx1Tn_B0uP3UQ5e89RMvesExFPwyeqME0,4996
32
32
  codemie_sdk/models/vendor_runtime.py,sha256=CCFmBOV6vHgRvoD_5gRofqG41Wyxtdfy8DHcWkZ3Z5g,6179
33
33
  codemie_sdk/models/vendor_workflow.py,sha256=ysu3anNa2xrSDvZb3zcTZ-_DGXcvJSUcmYIllDYceBo,4926
34
- codemie_sdk/models/workflow.py,sha256=WKP3Fn0ekRWtVe3-CsrocUBOHn9VjnyVKaAIMB3SSMM,5297
34
+ codemie_sdk/models/workflow.py,sha256=WfR-vQKhmiQxiQoab8PyjDJngk32r9xB7vSr51ADESs,5449
35
35
  codemie_sdk/models/workflow_execution_payload.py,sha256=0nhbiXyZlvbhB2SB6B_T6s2bOKruEVDlQsGan1Siw5U,1224
36
36
  codemie_sdk/models/workflow_state.py,sha256=uP1yLYwPpgPc17xpLwjanvlRzK6zT9qMZR-fAkvwFGg,1322
37
37
  codemie_sdk/models/workflow_thoughts.py,sha256=9fE380lMvC23fq677EI_JTk48Nf2jyPg3-mpj9VTx54,579
@@ -55,20 +55,20 @@ codemie_sdk/services/mcp_configs.py,sha256=MrCiWJ6-ezXE9NOTgOfHDhfyQokaumGp1rwB4
55
55
  codemie_sdk/services/mermaid.py,sha256=7cLykdrJVW576raUbON3yhuWnbGaXl8rX1QfVwbu2JE,2246
56
56
  codemie_sdk/services/project.py,sha256=ajs5ZEc7L9k6qJGjX28_LF6mrExC-uYvWhd3AuQBX_w,13309
57
57
  codemie_sdk/services/project_budget_groups.py,sha256=B7QJt3sh_LV3lfwALZlxUq0SLR30BWafHcS6eHyOh8Y,5471
58
- codemie_sdk/services/skill.py,sha256=4xe6GHK4qwj-d4eLR7zmJc-JQGpfsfBEHsI_P6wtjQg,10926
58
+ codemie_sdk/services/skill.py,sha256=bwU21qGQFm85BdqkPeNJiWyzoyJL7SfEGmUs1XTyfks,11971
59
59
  codemie_sdk/services/task.py,sha256=UaYh__xGF7VKWCJKPrncVjTvx46Gz1AN9XczPVL71oA,1052
60
- codemie_sdk/services/user.py,sha256=Y0_ufvdmKuIt77DhFf6JpaZFtXrXgIld_rqyWkMi2nA,5951
60
+ codemie_sdk/services/user.py,sha256=W0-fkY6vIbJDlIpb2PxxljSMOdWh910BmBK-n94gBs0,6998
61
61
  codemie_sdk/services/vendor_assistant.py,sha256=Vwa0rH8TYTCV1iAeKuSP5skbX8V04NLXE0g9VQRKqGI,13484
62
62
  codemie_sdk/services/vendor_guardrail.py,sha256=HFDRPKb1wXhz4sG_XUISLcBHvZB2bJkqxLCUlG_SS5Q,14280
63
63
  codemie_sdk/services/vendor_knowledgebase.py,sha256=p0SWNdBg-zXfaco0edbBUQbp7wgqvi0UmcNofPH2FX4,10415
64
64
  codemie_sdk/services/vendor_runtime.py,sha256=DxBVyF2cB02u9kM7uESALF4nPdC__wA7V4tCFzRiQGM,7092
65
65
  codemie_sdk/services/vendor_workflow.py,sha256=EJZK0mLhmZ47UZSkxUzELWhVFalJHL3vIrBEQRGG3Zo,12452
66
66
  codemie_sdk/services/webhook.py,sha256=jYPEyJ0Q0IydMF9D2UoURsr6PgdfbKs4fr5L6ix8e94,2531
67
- codemie_sdk/services/workflow.py,sha256=eTIBCX90gcSuPZOkBsmkWgOSPnBq9vuq2UkQwxXcDnU,8658
67
+ codemie_sdk/services/workflow.py,sha256=h06mLSNi4vAjJpFiwIEBJhP48UjB6ZdgkF-DxekyuI4,8881
68
68
  codemie_sdk/services/workflow_execution.py,sha256=GuI1uBtd1NGvRVHElMsgPBZlIRDP9CK73ISJABkpCs4,7225
69
69
  codemie_sdk/services/workflow_execution_state.py,sha256=u1xmGvaHjqvQS5ujhyvJ_Ac7ByjKem2Qe8q0swsmoWw,2045
70
70
  codemie_sdk/utils/__init__.py,sha256=EzK_UrS5KHmAnE73Hci9LaObB5omjVUhIq4svh0gfwo,137
71
71
  codemie_sdk/utils/http.py,sha256=Jh9l4zRPriTEjIKEWBSLdgb-Y0no1n6AnG8f9CkdOQQ,13997
72
- codemie_sdk_python-0.1.677.dist-info/METADATA,sha256=IdiURxxaRIJRey7tJE0G2RqM1HDBVrehO89C5tqwvFo,36801
73
- codemie_sdk_python-0.1.677.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
74
- codemie_sdk_python-0.1.677.dist-info/RECORD,,
72
+ codemie_sdk_python-0.1.679.dist-info/METADATA,sha256=xdt-6KZp0tBFw8P98ufVEaqVjYa8BCsION4rS1OpHaQ,36867
73
+ codemie_sdk_python-0.1.679.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
74
+ codemie_sdk_python-0.1.679.dist-info/RECORD,,