codemie-sdk-python 0.1.320__tar.gz → 0.1.322__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 (55) hide show
  1. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/PKG-INFO +1 -1
  2. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/pyproject.toml +1 -1
  3. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/assistant.py +27 -0
  4. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/assistant.py +30 -0
  5. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/README.md +0 -0
  6. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/__init__.py +0 -0
  7. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/auth/__init__.py +0 -0
  8. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/auth/credentials.py +0 -0
  9. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/client/__init__.py +0 -0
  10. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/client/client.py +0 -0
  11. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/exceptions.py +0 -0
  12. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/__init__.py +0 -0
  13. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/admin.py +0 -0
  14. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/analytics.py +0 -0
  15. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/categories.py +0 -0
  16. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/common.py +0 -0
  17. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/conversation.py +0 -0
  18. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/datasource.py +0 -0
  19. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/file_operation.py +0 -0
  20. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/guardrails.py +0 -0
  21. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/integration.py +0 -0
  22. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/llm.py +0 -0
  23. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/mermaid.py +0 -0
  24. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/task.py +0 -0
  25. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/user.py +0 -0
  26. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/vendor_assistant.py +0 -0
  27. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
  28. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
  29. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/vendor_workflow.py +0 -0
  30. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/workflow.py +0 -0
  31. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
  32. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/workflow_state.py +0 -0
  33. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
  34. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/admin.py +0 -0
  35. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/analytics.py +0 -0
  36. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/categories.py +0 -0
  37. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
  38. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/conversation.py +0 -0
  39. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/datasource.py +0 -0
  40. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/files.py +0 -0
  41. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/integration.py +0 -0
  42. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/llm.py +0 -0
  43. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/mermaid.py +0 -0
  44. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/task.py +0 -0
  45. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/user.py +0 -0
  46. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/vendor_assistant.py +0 -0
  47. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
  48. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
  49. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/vendor_workflow.py +0 -0
  50. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/webhook.py +0 -0
  51. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/workflow.py +0 -0
  52. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/workflow_execution.py +0 -0
  53. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
  54. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/src/codemie_sdk/utils/__init__.py +0 -0
  55. {codemie_sdk_python-0.1.320 → codemie_sdk_python-0.1.322}/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.320
3
+ Version: 0.1.322
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.320"
3
+ version = "0.1.322"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -202,6 +202,18 @@ class Assistant(AssistantBase):
202
202
  default_factory=list,
203
203
  description="List of categories for marketplace classification (e.g., 'quality-assurance', 'data-analysis')",
204
204
  )
205
+ unique_users_count: int = Field(
206
+ default=0,
207
+ description="Number of unique users who have interacted with this assistant",
208
+ )
209
+ unique_likes_count: Optional[int] = Field(
210
+ default=None,
211
+ description="Number of unique likes for this assistant",
212
+ )
213
+ unique_dislikes_count: Optional[int] = Field(
214
+ default=None,
215
+ description="Number of unique dislikes for this assistant",
216
+ )
205
217
 
206
218
 
207
219
  class AssistantRequestBase(AssistantBase):
@@ -494,3 +506,18 @@ class AssistantEvaluationRequest(BaseModel):
494
506
  llm_model: Optional[str] = Field(
495
507
  default=None, description="LLM model to use for evaluation"
496
508
  )
509
+
510
+
511
+ class ReactionType(str, Enum):
512
+ """Enum for reaction types."""
513
+
514
+ LIKE = "like"
515
+ DISLIKE = "dislike"
516
+
517
+
518
+ class ReactionRequest(BaseModel):
519
+ """Model for assistant reaction request."""
520
+
521
+ model_config = ConfigDict(extra="ignore", use_enum_values=True)
522
+
523
+ reaction: ReactionType = Field(description="Reaction type: 'like' or 'dislike'")
@@ -23,6 +23,7 @@ from ..models.assistant import (
23
23
  Context,
24
24
  ExportAssistantPayload,
25
25
  AssistantEvaluationRequest,
26
+ ReactionRequest,
26
27
  )
27
28
  from ..models.common import PaginationParams
28
29
  from ..utils import ApiRequestHandler
@@ -520,3 +521,32 @@ class AssistantService:
520
521
  return self._api.post(
521
522
  f"/v1/assistants/{assistant_id}/marketplace/publish/validate", dict
522
523
  )
524
+
525
+ def react(self, assistant_id: str, request: ReactionRequest) -> dict:
526
+ """React to an assistant with like or dislike.
527
+
528
+ If the user already has the opposite reaction, it will be removed.
529
+
530
+ Args:
531
+ assistant_id: ID of the assistant to react to
532
+ request: Reaction request containing reaction type ('like' or 'dislike')
533
+
534
+ Returns:
535
+ Response from the API
536
+ """
537
+ return self._api.post(
538
+ f"/v1/assistants/{assistant_id}/reactions",
539
+ dict,
540
+ json_data=request.model_dump(exclude_none=True),
541
+ )
542
+
543
+ def remove_reactions(self, assistant_id: str) -> dict:
544
+ """Remove all reactions (likes/dislikes) from an assistant for the current user.
545
+
546
+ Args:
547
+ assistant_id: ID of the assistant to remove reactions from
548
+
549
+ Returns:
550
+ Response from the API
551
+ """
552
+ return self._api.delete(f"/v1/assistants/{assistant_id}/reactions", dict)