codemie-sdk-python 0.1.683__tar.gz → 0.1.685__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.683 → codemie_sdk_python-0.1.685}/PKG-INFO +1 -1
  2. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/pyproject.toml +1 -1
  3. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/analytics.py +41 -0
  4. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/utils/http.py +3 -0
  5. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/README.md +0 -0
  6. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/__init__.py +0 -0
  7. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/auth/__init__.py +0 -0
  8. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/auth/credentials.py +0 -0
  9. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/client/__init__.py +0 -0
  10. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/client/client.py +0 -0
  11. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/exceptions.py +0 -0
  12. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/__init__.py +0 -0
  13. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/a2a.py +0 -0
  14. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/activity_event.py +0 -0
  15. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/admin.py +0 -0
  16. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/analytics.py +0 -0
  17. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/assistant.py +0 -0
  18. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/categories.py +0 -0
  19. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/common.py +0 -0
  20. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/conversation.py +0 -0
  21. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/cost_center.py +0 -0
  22. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/datasource.py +0 -0
  23. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/errors.py +0 -0
  24. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/file_operation.py +0 -0
  25. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/guardrails.py +0 -0
  26. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/integration.py +0 -0
  27. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/llm.py +0 -0
  28. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/mcp_config.py +0 -0
  29. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/mermaid.py +0 -0
  30. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/project.py +0 -0
  31. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/skill.py +0 -0
  32. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/task.py +0 -0
  33. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/user.py +0 -0
  34. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/vendor_assistant.py +0 -0
  35. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
  36. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
  37. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/vendor_runtime.py +0 -0
  38. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/vendor_workflow.py +0 -0
  39. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/workflow.py +0 -0
  40. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
  41. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/workflow_state.py +0 -0
  42. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
  43. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/models/workflow_transition.py +0 -0
  44. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/a2a.py +0 -0
  45. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/activity_event.py +0 -0
  46. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/admin.py +0 -0
  47. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/assistant.py +0 -0
  48. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/categories.py +0 -0
  49. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
  50. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/conversation.py +0 -0
  51. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/cost_center.py +0 -0
  52. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/customer_config_service.py +0 -0
  53. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/datasource.py +0 -0
  54. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/dynamic_config.py +0 -0
  55. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/files.py +0 -0
  56. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/integration.py +0 -0
  57. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/llm.py +0 -0
  58. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/mcp_configs.py +0 -0
  59. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/mermaid.py +0 -0
  60. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/project.py +0 -0
  61. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/project_budget_groups.py +0 -0
  62. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/skill.py +0 -0
  63. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/task.py +0 -0
  64. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/user.py +0 -0
  65. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/vendor_assistant.py +0 -0
  66. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
  67. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
  68. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/vendor_runtime.py +0 -0
  69. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/vendor_workflow.py +0 -0
  70. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/webhook.py +0 -0
  71. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/workflow.py +0 -0
  72. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/workflow_execution.py +0 -0
  73. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
  74. {codemie_sdk_python-0.1.683 → codemie_sdk_python-0.1.685}/src/codemie_sdk/utils/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.683
3
+ Version: 0.1.685
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.683"
3
+ version = "0.1.685"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -1,5 +1,7 @@
1
1
  """Analytics service implementation."""
2
2
 
3
+ import json
4
+
3
5
  from ..models.analytics import (
4
6
  AnalyticsQueryParams,
5
7
  PaginatedAnalyticsQueryParams,
@@ -540,3 +542,42 @@ class AnalyticsService:
540
542
  params=kwargs if kwargs else None,
541
543
  wrap_response=False,
542
544
  )
545
+
546
+ def send_cli_hook_events(self, events: list[dict]) -> dict:
547
+ """POST /v1/analytics/cli-analytics/event-hooks — ingest CLI plugin hook events.
548
+
549
+ The events are sent as NDJSON (one JSON object per line), the format the
550
+ codemie-code analytics plugin uses. The authenticated user becomes the
551
+ events' sender. Events with an ``event_id`` already stored are skipped.
552
+
553
+ Args:
554
+ events: Hook events, e.g. ``{"type": "agent.session.start", "session_id": ...}``
555
+
556
+ Returns:
557
+ Ingest response body (an empty object on success)
558
+ """
559
+ body = "\n".join(json.dumps(event) for event in events) + "\n"
560
+ return self._api.post(
561
+ "/v1/analytics/cli-analytics/event-hooks",
562
+ dict,
563
+ data=body.encode("utf-8"),
564
+ extra_headers={"Content-Type": "application/x-ndjson"},
565
+ wrap_response=False,
566
+ )
567
+
568
+ def get_cli_sessions(self, **kwargs) -> dict:
569
+ """GET /v1/analytics/cli-analytics/sessions — CLI Analytics session list.
570
+
571
+ Args:
572
+ **kwargs: Query parameters (time_period, start_date, end_date, users,
573
+ projects, page, per_page, sort_by, search, framework, branch)
574
+
575
+ Returns:
576
+ Response with ``data.sessions`` (one row per session) and paging fields
577
+ """
578
+ return self._api.get(
579
+ "/v1/analytics/cli-analytics/sessions",
580
+ dict,
581
+ params=kwargs if kwargs else None,
582
+ wrap_response=False,
583
+ )
@@ -199,6 +199,7 @@ class ApiRequestHandler:
199
199
  raise_on_error: bool = True,
200
200
  extra_headers: dict[str, str] | None = None,
201
201
  include_auth: bool = True,
202
+ data: str | bytes | None = None,
202
203
  ) -> T:
203
204
  """Makes a POST request and parses the response.
204
205
 
@@ -212,6 +213,7 @@ class ApiRequestHandler:
212
213
  raise_on_error: Whether to raise exception on HTTP error status codes
213
214
  extra_headers: Optional additional HTTP headers to include (e.g., X-* for MCP propagation)
214
215
  include_auth: Whether to include the Authorization header
216
+ data: Raw request body for non-JSON payloads; set its Content-Type via extra_headers
215
217
  """
216
218
  if json_data:
217
219
  logger.debug(f"Request body: {json_data}")
@@ -224,6 +226,7 @@ class ApiRequestHandler:
224
226
  url=f"{self._base_url}{endpoint}",
225
227
  headers=headers,
226
228
  json=json_data,
229
+ data=data,
227
230
  params=params,
228
231
  verify=self._verify_ssl,
229
232
  stream=stream,