codemie-sdk-python 0.1.276__tar.gz → 0.1.277__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.
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/PKG-INFO +1 -1
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/pyproject.toml +1 -1
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/__init__.py +12 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/client/client.py +7 -0
- codemie_sdk_python-0.1.277/src/codemie_sdk/models/guardrails.py +62 -0
- codemie_sdk_python-0.1.277/src/codemie_sdk/services/codemie_guardrails.py +76 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/README.md +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/auth/__init__.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/auth/credentials.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/client/__init__.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/exceptions.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/__init__.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/admin.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/assistant.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/common.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/conversation.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/datasource.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/file_operation.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/integration.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/llm.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/task.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/user.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/vendor_assistant.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/vendor_workflow.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/workflow.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/workflow_state.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/admin.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/assistant.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/conversation.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/datasource.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/files.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/integration.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/llm.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/task.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/user.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/vendor_assistant.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/vendor_workflow.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/webhook.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/workflow.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/workflow_execution.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/utils/__init__.py +0 -0
- {codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/utils/http.py +0 -0
|
@@ -73,10 +73,17 @@ from .models.vendor_guardrail import (
|
|
|
73
73
|
VendorGuardrailInstallResponse,
|
|
74
74
|
VendorGuardrailUninstallResponse,
|
|
75
75
|
)
|
|
76
|
+
from .models.guardrails import (
|
|
77
|
+
GuardrailAssignmentSetting,
|
|
78
|
+
GuardrailAssignmentEntity,
|
|
79
|
+
GuardrailAssignmentRequest,
|
|
80
|
+
GuardrailAssignmentResponse,
|
|
81
|
+
)
|
|
76
82
|
from .services.vendor_assistant import VendorAssistantService
|
|
77
83
|
from .services.vendor_workflow import VendorWorkflowService
|
|
78
84
|
from .services.vendor_knowledgebase import VendorKnowledgeBaseService
|
|
79
85
|
from .services.vendor_guardrail import VendorGuardrailService
|
|
86
|
+
from .services.codemie_guardrails import CodemieGuardrailService
|
|
80
87
|
|
|
81
88
|
__version__ = "0.2.12"
|
|
82
89
|
__all__ = [
|
|
@@ -132,4 +139,9 @@ __all__ = [
|
|
|
132
139
|
"VendorGuardrailInstallResponse",
|
|
133
140
|
"VendorGuardrailUninstallResponse",
|
|
134
141
|
"VendorGuardrailService",
|
|
142
|
+
"GuardrailAssignmentSetting",
|
|
143
|
+
"GuardrailAssignmentEntity",
|
|
144
|
+
"GuardrailAssignmentRequest",
|
|
145
|
+
"GuardrailAssignmentResponse",
|
|
146
|
+
"CodemieGuardrailService",
|
|
135
147
|
]
|
|
@@ -18,6 +18,7 @@ from ..services.vendor_assistant import VendorAssistantService
|
|
|
18
18
|
from ..services.vendor_workflow import VendorWorkflowService
|
|
19
19
|
from ..services.vendor_knowledgebase import VendorKnowledgeBaseService
|
|
20
20
|
from ..services.vendor_guardrail import VendorGuardrailService
|
|
21
|
+
from ..services.codemie_guardrails import CodemieGuardrailService
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
class CodeMieClient:
|
|
@@ -107,6 +108,9 @@ class CodeMieClient:
|
|
|
107
108
|
self.vendor_guardrails = VendorGuardrailService(
|
|
108
109
|
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
109
110
|
)
|
|
111
|
+
self.codemie_guardrails = CodemieGuardrailService(
|
|
112
|
+
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
113
|
+
)
|
|
110
114
|
|
|
111
115
|
@property
|
|
112
116
|
def token(self) -> str:
|
|
@@ -175,4 +179,7 @@ class CodeMieClient:
|
|
|
175
179
|
self.vendor_guardrails = VendorGuardrailService(
|
|
176
180
|
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
177
181
|
)
|
|
182
|
+
self.codemie_guardrails = CodemieGuardrailService(
|
|
183
|
+
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
184
|
+
)
|
|
178
185
|
return self._token
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"""Models for guardrail assignments."""
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class GuardrailAssignmentSetting(BaseModel):
|
|
9
|
+
"""Model for guardrail assignment settings."""
|
|
10
|
+
|
|
11
|
+
model_config = ConfigDict(extra="ignore")
|
|
12
|
+
|
|
13
|
+
mode: str = Field(..., description="Assignment mode (e.g., 'all', 'specific')")
|
|
14
|
+
source: str = Field(..., description="Source type (e.g., 'input', 'output')")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class GuardrailAssignmentEntity(BaseModel):
|
|
18
|
+
"""Model for guardrail assignment to specific entities."""
|
|
19
|
+
|
|
20
|
+
model_config = ConfigDict(extra="ignore")
|
|
21
|
+
|
|
22
|
+
settings: List[GuardrailAssignmentSetting] = Field(
|
|
23
|
+
default_factory=list, description="List of assignment settings"
|
|
24
|
+
)
|
|
25
|
+
items: List[str] = Field(
|
|
26
|
+
default_factory=list, description="List of specific entity IDs"
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class GuardrailAssignmentRequest(BaseModel):
|
|
31
|
+
"""Request model for assigning guardrails to entities."""
|
|
32
|
+
|
|
33
|
+
model_config = ConfigDict(extra="ignore")
|
|
34
|
+
|
|
35
|
+
project: GuardrailAssignmentEntity = Field(
|
|
36
|
+
default_factory=lambda: GuardrailAssignmentEntity(settings=[], items=[]),
|
|
37
|
+
description="Project-level assignments",
|
|
38
|
+
)
|
|
39
|
+
assistants: GuardrailAssignmentEntity = Field(
|
|
40
|
+
default_factory=lambda: GuardrailAssignmentEntity(settings=[], items=[]),
|
|
41
|
+
description="Assistant-level assignments",
|
|
42
|
+
)
|
|
43
|
+
workflows: GuardrailAssignmentEntity = Field(
|
|
44
|
+
default_factory=lambda: GuardrailAssignmentEntity(settings=[], items=[]),
|
|
45
|
+
description="Workflow-level assignments",
|
|
46
|
+
)
|
|
47
|
+
datasources: GuardrailAssignmentEntity = Field(
|
|
48
|
+
default_factory=lambda: GuardrailAssignmentEntity(settings=[], items=[]),
|
|
49
|
+
description="Datasource-level assignments",
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class GuardrailAssignmentResponse(BaseModel):
|
|
54
|
+
"""Response model for guardrail assignment."""
|
|
55
|
+
|
|
56
|
+
model_config = ConfigDict(extra="ignore")
|
|
57
|
+
|
|
58
|
+
success: int = Field(..., description="Count of successful assignments")
|
|
59
|
+
failed: int = Field(..., description="Count of failed assignments")
|
|
60
|
+
errors: List[str] = Field(
|
|
61
|
+
default_factory=list, description="List of error messages"
|
|
62
|
+
)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"""CodeMie guardrail service implementation for managing guardrail assignments."""
|
|
2
|
+
|
|
3
|
+
from ..models.guardrails import (
|
|
4
|
+
GuardrailAssignmentRequest,
|
|
5
|
+
GuardrailAssignmentResponse,
|
|
6
|
+
)
|
|
7
|
+
from ..utils import ApiRequestHandler
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CodemieGuardrailService:
|
|
11
|
+
"""Service for managing CodeMie guardrail assignments."""
|
|
12
|
+
|
|
13
|
+
def __init__(self, api_domain: str, token: str, verify_ssl: bool = True):
|
|
14
|
+
"""Initialize the CodeMie guardrail service.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
api_domain: Base URL for the CodeMie API
|
|
18
|
+
token: Authentication token
|
|
19
|
+
verify_ssl: Whether to verify SSL certificates
|
|
20
|
+
"""
|
|
21
|
+
self._api = ApiRequestHandler(api_domain, token, verify_ssl)
|
|
22
|
+
|
|
23
|
+
def assign_guardrails(
|
|
24
|
+
self,
|
|
25
|
+
guardrail_id: str,
|
|
26
|
+
assignment: GuardrailAssignmentRequest,
|
|
27
|
+
) -> GuardrailAssignmentResponse:
|
|
28
|
+
"""Assign guardrails to project entities (assistants, workflows, datasources).
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
guardrail_id: ID of the guardrail to assign (AI run ID from installation)
|
|
32
|
+
assignment: Assignment configuration for different entity types
|
|
33
|
+
|
|
34
|
+
Returns:
|
|
35
|
+
GuardrailAssignmentResponse with success status
|
|
36
|
+
|
|
37
|
+
Example:
|
|
38
|
+
>>> from codemie_sdk.models.guardrails import (
|
|
39
|
+
... GuardrailAssignmentRequest,
|
|
40
|
+
... GuardrailAssignmentEntity,
|
|
41
|
+
... GuardrailAssignmentSetting
|
|
42
|
+
... )
|
|
43
|
+
>>> # Assign guardrail to all project assistants
|
|
44
|
+
>>> assignment = GuardrailAssignmentRequest(
|
|
45
|
+
... assistants=GuardrailAssignmentEntity(
|
|
46
|
+
... settings=[GuardrailAssignmentSetting(mode="all", source="input")],
|
|
47
|
+
... items=[]
|
|
48
|
+
... )
|
|
49
|
+
... )
|
|
50
|
+
>>> response = client.codemie_guardrails.assign_guardrails(
|
|
51
|
+
... guardrail_id="ai_run_123",
|
|
52
|
+
... assignment=assignment
|
|
53
|
+
... )
|
|
54
|
+
>>> if response.success:
|
|
55
|
+
... print("Guardrail assigned successfully!")
|
|
56
|
+
>>>
|
|
57
|
+
>>> # Assign to specific assistants
|
|
58
|
+
>>> assignment = GuardrailAssignmentRequest(
|
|
59
|
+
... assistants=GuardrailAssignmentEntity(
|
|
60
|
+
... settings=[],
|
|
61
|
+
... items=["asst_123", "asst_456"]
|
|
62
|
+
... )
|
|
63
|
+
... )
|
|
64
|
+
>>> response = client.codemie_guardrails.assign_guardrails(
|
|
65
|
+
... guardrail_id="ai_run_123",
|
|
66
|
+
... assignment=assignment
|
|
67
|
+
... )
|
|
68
|
+
"""
|
|
69
|
+
payload = assignment.model_dump(by_alias=True)
|
|
70
|
+
|
|
71
|
+
return self._api.put(
|
|
72
|
+
f"/v1/guardrails/{guardrail_id}/assignments",
|
|
73
|
+
GuardrailAssignmentResponse,
|
|
74
|
+
json_data=payload,
|
|
75
|
+
wrap_response=False,
|
|
76
|
+
)
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/auth/credentials.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/assistant.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/conversation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/datasource.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/file_operation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/vendor_assistant.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/vendor_guardrail.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/vendor_workflow.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/models/workflow_state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/assistant.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/conversation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/webhook.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.276 → codemie_sdk_python-0.1.277}/src/codemie_sdk/services/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|