codemie-sdk-python 0.1.225__py3-none-any.whl → 0.1.226__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.
- codemie_sdk/__init__.py +25 -1
- codemie_sdk/client/client.py +7 -0
- codemie_sdk/models/vendor_knowledgebase.py +151 -0
- codemie_sdk/services/vendor_knowledgebase.py +270 -0
- {codemie_sdk_python-0.1.225.dist-info → codemie_sdk_python-0.1.226.dist-info}/METADATA +1 -1
- {codemie_sdk_python-0.1.225.dist-info → codemie_sdk_python-0.1.226.dist-info}/RECORD +7 -5
- {codemie_sdk_python-0.1.225.dist-info → codemie_sdk_python-0.1.226.dist-info}/WHEEL +0 -0
codemie_sdk/__init__.py
CHANGED
|
@@ -48,10 +48,23 @@ from .models.vendor_workflow import (
|
|
|
48
48
|
VendorWorkflowInstallResponse,
|
|
49
49
|
VendorWorkflowUninstallResponse,
|
|
50
50
|
)
|
|
51
|
+
from .models.vendor_knowledgebase import (
|
|
52
|
+
VendorKnowledgeBaseSetting,
|
|
53
|
+
VendorKnowledgeBaseSettingsResponse,
|
|
54
|
+
VendorKnowledgeBase,
|
|
55
|
+
VendorKnowledgeBaseStatus,
|
|
56
|
+
VendorKnowledgeBasesResponse,
|
|
57
|
+
VendorKnowledgeBaseDetail,
|
|
58
|
+
VendorKnowledgeBaseInstallRequest,
|
|
59
|
+
VendorKnowledgeBaseInstallSummary,
|
|
60
|
+
VendorKnowledgeBaseInstallResponse,
|
|
61
|
+
VendorKnowledgeBaseUninstallResponse,
|
|
62
|
+
)
|
|
51
63
|
from .services.vendor_assistant import VendorAssistantService
|
|
52
64
|
from .services.vendor_workflow import VendorWorkflowService
|
|
65
|
+
from .services.vendor_knowledgebase import VendorKnowledgeBaseService
|
|
53
66
|
|
|
54
|
-
__version__ = "0.2.
|
|
67
|
+
__version__ = "0.2.11"
|
|
55
68
|
__all__ = [
|
|
56
69
|
"CodeMieClient",
|
|
57
70
|
"VendorType",
|
|
@@ -82,4 +95,15 @@ __all__ = [
|
|
|
82
95
|
"VendorWorkflowInstallResponse",
|
|
83
96
|
"VendorWorkflowUninstallResponse",
|
|
84
97
|
"VendorWorkflowService",
|
|
98
|
+
"VendorKnowledgeBaseSetting",
|
|
99
|
+
"VendorKnowledgeBaseSettingsResponse",
|
|
100
|
+
"VendorKnowledgeBase",
|
|
101
|
+
"VendorKnowledgeBaseStatus",
|
|
102
|
+
"VendorKnowledgeBasesResponse",
|
|
103
|
+
"VendorKnowledgeBaseDetail",
|
|
104
|
+
"VendorKnowledgeBaseInstallRequest",
|
|
105
|
+
"VendorKnowledgeBaseInstallSummary",
|
|
106
|
+
"VendorKnowledgeBaseInstallResponse",
|
|
107
|
+
"VendorKnowledgeBaseUninstallResponse",
|
|
108
|
+
"VendorKnowledgeBaseService",
|
|
85
109
|
]
|
codemie_sdk/client/client.py
CHANGED
|
@@ -15,6 +15,7 @@ from ..services.files import FileOperationService
|
|
|
15
15
|
from ..services.webhook import WebhookService
|
|
16
16
|
from ..services.vendor_assistant import VendorAssistantService
|
|
17
17
|
from ..services.vendor_workflow import VendorWorkflowService
|
|
18
|
+
from ..services.vendor_knowledgebase import VendorKnowledgeBaseService
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
class CodeMieClient:
|
|
@@ -97,6 +98,9 @@ class CodeMieClient:
|
|
|
97
98
|
self.vendor_workflows = VendorWorkflowService(
|
|
98
99
|
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
99
100
|
)
|
|
101
|
+
self.vendor_knowledgebases = VendorKnowledgeBaseService(
|
|
102
|
+
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
103
|
+
)
|
|
100
104
|
|
|
101
105
|
@property
|
|
102
106
|
def token(self) -> str:
|
|
@@ -149,4 +153,7 @@ class CodeMieClient:
|
|
|
149
153
|
self.vendor_workflows = VendorWorkflowService(
|
|
150
154
|
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
151
155
|
)
|
|
156
|
+
self.vendor_knowledgebases = VendorKnowledgeBaseService(
|
|
157
|
+
self._api_domain, self._token, verify_ssl=self._verify_ssl
|
|
158
|
+
)
|
|
152
159
|
return self._token
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"""Models for vendor knowledge base settings."""
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from enum import Enum
|
|
5
|
+
from typing import Optional, List
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
from .vendor_assistant import PaginationInfo, TokenPagination
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class VendorKnowledgeBaseSetting(BaseModel):
|
|
13
|
+
"""Model representing a vendor knowledge base setting."""
|
|
14
|
+
|
|
15
|
+
model_config = ConfigDict(extra="ignore")
|
|
16
|
+
|
|
17
|
+
setting_id: str = Field(..., description="Unique identifier for the setting")
|
|
18
|
+
setting_name: str = Field(..., description="Name of the setting")
|
|
19
|
+
project: str = Field(..., description="Project associated with the setting")
|
|
20
|
+
entities: List[str] = Field(
|
|
21
|
+
default_factory=list, description="List of entities associated with the setting"
|
|
22
|
+
)
|
|
23
|
+
invalid: Optional[bool] = Field(None, description="Whether the setting is invalid")
|
|
24
|
+
error: Optional[str] = Field(
|
|
25
|
+
None, description="Error message if the setting is invalid"
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class VendorKnowledgeBaseSettingsResponse(BaseModel):
|
|
30
|
+
"""Response model for vendor knowledge base settings list."""
|
|
31
|
+
|
|
32
|
+
model_config = ConfigDict(extra="ignore")
|
|
33
|
+
|
|
34
|
+
data: List[VendorKnowledgeBaseSetting] = Field(
|
|
35
|
+
..., description="List of vendor knowledge base settings"
|
|
36
|
+
)
|
|
37
|
+
pagination: PaginationInfo = Field(..., description="Pagination information")
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class VendorKnowledgeBaseStatus(str, Enum):
|
|
41
|
+
"""Status of vendor knowledge base."""
|
|
42
|
+
|
|
43
|
+
PREPARED = "PREPARED"
|
|
44
|
+
NOT_PREPARED = "NOT_PREPARED"
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class VendorKnowledgeBase(BaseModel):
|
|
48
|
+
"""Model representing a vendor knowledge base."""
|
|
49
|
+
|
|
50
|
+
model_config = ConfigDict(extra="ignore")
|
|
51
|
+
|
|
52
|
+
id: str = Field(..., description="Unique identifier for the knowledge base")
|
|
53
|
+
name: str = Field(..., description="Name of the knowledge base")
|
|
54
|
+
status: VendorKnowledgeBaseStatus = Field(
|
|
55
|
+
..., description="Status of the knowledge base"
|
|
56
|
+
)
|
|
57
|
+
description: Optional[str] = Field(
|
|
58
|
+
None, description="Description of the knowledge base"
|
|
59
|
+
)
|
|
60
|
+
updatedAt: datetime = Field(
|
|
61
|
+
..., description="Last update timestamp", alias="updatedAt"
|
|
62
|
+
)
|
|
63
|
+
aiRunId: Optional[str] = Field(
|
|
64
|
+
None,
|
|
65
|
+
description="AI run ID if the knowledge base is installed",
|
|
66
|
+
alias="aiRunId",
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class VendorKnowledgeBasesResponse(BaseModel):
|
|
71
|
+
"""Response model for vendor knowledge bases list."""
|
|
72
|
+
|
|
73
|
+
model_config = ConfigDict(extra="ignore")
|
|
74
|
+
|
|
75
|
+
data: List[VendorKnowledgeBase] = Field(
|
|
76
|
+
..., description="List of vendor knowledge bases"
|
|
77
|
+
)
|
|
78
|
+
pagination: TokenPagination = Field(
|
|
79
|
+
..., description="Token-based pagination information"
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class VendorKnowledgeBaseDetail(BaseModel):
|
|
84
|
+
"""Model representing detailed information about a vendor knowledge base."""
|
|
85
|
+
|
|
86
|
+
model_config = ConfigDict(extra="ignore")
|
|
87
|
+
|
|
88
|
+
id: str = Field(..., description="Unique identifier for the knowledge base")
|
|
89
|
+
name: str = Field(..., description="Name of the knowledge base")
|
|
90
|
+
description: Optional[str] = Field(
|
|
91
|
+
None, description="Description of the knowledge base"
|
|
92
|
+
)
|
|
93
|
+
type: str = Field(..., description="Type of knowledge base (e.g., VECTOR)")
|
|
94
|
+
status: VendorKnowledgeBaseStatus = Field(
|
|
95
|
+
..., description="Status of the knowledge base"
|
|
96
|
+
)
|
|
97
|
+
embeddingModel: str = Field(
|
|
98
|
+
...,
|
|
99
|
+
description="Embedding model used by the knowledge base",
|
|
100
|
+
alias="embeddingModel",
|
|
101
|
+
)
|
|
102
|
+
kendraIndexArn: Optional[str] = Field(
|
|
103
|
+
None, description="Kendra index ARN if applicable", alias="kendraIndexArn"
|
|
104
|
+
)
|
|
105
|
+
createdAt: datetime = Field(
|
|
106
|
+
..., description="Creation timestamp", alias="createdAt"
|
|
107
|
+
)
|
|
108
|
+
updatedAt: datetime = Field(
|
|
109
|
+
..., description="Last update timestamp", alias="updatedAt"
|
|
110
|
+
)
|
|
111
|
+
aiRunId: Optional[str] = Field(
|
|
112
|
+
None,
|
|
113
|
+
description="AI run ID if the knowledge base is installed",
|
|
114
|
+
alias="aiRunId",
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class VendorKnowledgeBaseInstallRequest(BaseModel):
|
|
119
|
+
"""Model for a single knowledge base installation request."""
|
|
120
|
+
|
|
121
|
+
model_config = ConfigDict(extra="ignore")
|
|
122
|
+
|
|
123
|
+
id: str = Field(..., description="Knowledge base ID to install")
|
|
124
|
+
setting_id: str = Field(..., description="Vendor setting ID")
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class VendorKnowledgeBaseInstallSummary(BaseModel):
|
|
128
|
+
"""Model for knowledge base installation summary."""
|
|
129
|
+
|
|
130
|
+
model_config = ConfigDict(extra="ignore")
|
|
131
|
+
|
|
132
|
+
knowledgeBaseId: str = Field(..., description="Installed knowledge base ID")
|
|
133
|
+
aiRunId: str = Field(..., description="AI run ID for the installation")
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class VendorKnowledgeBaseInstallResponse(BaseModel):
|
|
137
|
+
"""Response model for knowledge base installation."""
|
|
138
|
+
|
|
139
|
+
model_config = ConfigDict(extra="ignore")
|
|
140
|
+
|
|
141
|
+
summary: List[VendorKnowledgeBaseInstallSummary] = Field(
|
|
142
|
+
..., description="List of installation summaries"
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
class VendorKnowledgeBaseUninstallResponse(BaseModel):
|
|
147
|
+
"""Response model for knowledge base uninstallation."""
|
|
148
|
+
|
|
149
|
+
model_config = ConfigDict(extra="ignore")
|
|
150
|
+
|
|
151
|
+
success: bool = Field(..., description="Whether the uninstallation was successful")
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"""Vendor knowledge base service implementation for managing cloud vendor knowledge base settings."""
|
|
2
|
+
|
|
3
|
+
from typing import Union, Optional, List
|
|
4
|
+
|
|
5
|
+
from ..models.vendor_assistant import VendorType
|
|
6
|
+
from ..models.vendor_knowledgebase import (
|
|
7
|
+
VendorKnowledgeBaseSettingsResponse,
|
|
8
|
+
VendorKnowledgeBasesResponse,
|
|
9
|
+
VendorKnowledgeBaseDetail,
|
|
10
|
+
VendorKnowledgeBaseInstallRequest,
|
|
11
|
+
VendorKnowledgeBaseInstallResponse,
|
|
12
|
+
VendorKnowledgeBaseUninstallResponse,
|
|
13
|
+
)
|
|
14
|
+
from ..utils import ApiRequestHandler
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class VendorKnowledgeBaseService:
|
|
18
|
+
"""Service for managing cloud vendor knowledge base settings (AWS, Azure, GCP)."""
|
|
19
|
+
|
|
20
|
+
def __init__(self, api_domain: str, token: str, verify_ssl: bool = True):
|
|
21
|
+
"""Initialize the vendor knowledge base service.
|
|
22
|
+
|
|
23
|
+
Args:
|
|
24
|
+
api_domain: Base URL for the CodeMie API
|
|
25
|
+
token: Authentication token
|
|
26
|
+
verify_ssl: Whether to verify SSL certificates
|
|
27
|
+
"""
|
|
28
|
+
self._api = ApiRequestHandler(api_domain, token, verify_ssl)
|
|
29
|
+
|
|
30
|
+
def get_knowledgebase_settings(
|
|
31
|
+
self,
|
|
32
|
+
vendor: Union[VendorType, str],
|
|
33
|
+
page: int = 0,
|
|
34
|
+
per_page: int = 10,
|
|
35
|
+
) -> VendorKnowledgeBaseSettingsResponse:
|
|
36
|
+
"""Get knowledge base settings for a specific cloud vendor.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
vendor: Cloud vendor type (aws, azure, gcp). Can be VendorType enum or string.
|
|
40
|
+
page: Page number for pagination (0-based)
|
|
41
|
+
per_page: Number of items per page
|
|
42
|
+
|
|
43
|
+
Returns:
|
|
44
|
+
VendorKnowledgeBaseSettingsResponse containing list of settings and pagination info
|
|
45
|
+
|
|
46
|
+
Example:
|
|
47
|
+
>>> # Using enum
|
|
48
|
+
>>> settings = client.vendor_knowledgebases.get_knowledgebase_settings(VendorType.AWS, page=0, per_page=10)
|
|
49
|
+
>>> # Using string
|
|
50
|
+
>>> settings = client.vendor_knowledgebases.get_knowledgebase_settings("aws", page=0, per_page=10)
|
|
51
|
+
>>> # Access settings data
|
|
52
|
+
>>> for setting in settings.data:
|
|
53
|
+
... print(f"Setting: {setting.setting_name}, Project: {setting.project}")
|
|
54
|
+
... if setting.invalid:
|
|
55
|
+
... print(f"Error: {setting.error}")
|
|
56
|
+
"""
|
|
57
|
+
# Convert enum to string value if needed
|
|
58
|
+
vendor_str = vendor.value if isinstance(vendor, VendorType) else vendor
|
|
59
|
+
|
|
60
|
+
params = {
|
|
61
|
+
"page": page,
|
|
62
|
+
"per_page": per_page,
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return self._api.get(
|
|
66
|
+
f"/v1/vendors/{vendor_str}/knowledgebases/settings",
|
|
67
|
+
VendorKnowledgeBaseSettingsResponse,
|
|
68
|
+
params=params,
|
|
69
|
+
wrap_response=False,
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
def get_knowledgebases(
|
|
73
|
+
self,
|
|
74
|
+
vendor: Union[VendorType, str],
|
|
75
|
+
setting_id: str,
|
|
76
|
+
per_page: int = 10,
|
|
77
|
+
next_token: Optional[str] = None,
|
|
78
|
+
) -> VendorKnowledgeBasesResponse:
|
|
79
|
+
"""Get knowledge bases for a specific vendor setting.
|
|
80
|
+
|
|
81
|
+
Args:
|
|
82
|
+
vendor: Cloud vendor type (aws, azure, gcp). Can be VendorType enum or string.
|
|
83
|
+
setting_id: ID of the vendor setting to retrieve knowledge bases for
|
|
84
|
+
per_page: Number of items per page
|
|
85
|
+
next_token: Token for pagination (optional, for retrieving next page)
|
|
86
|
+
|
|
87
|
+
Returns:
|
|
88
|
+
VendorKnowledgeBasesResponse containing list of knowledge bases and pagination token
|
|
89
|
+
|
|
90
|
+
Example:
|
|
91
|
+
>>> # Get first page
|
|
92
|
+
>>> kbs = client.vendor_knowledgebases.get_knowledgebases(
|
|
93
|
+
... vendor=VendorType.AWS,
|
|
94
|
+
... setting_id="cac90788-39b7-4ffe-8b57-e8b047fa1f6c",
|
|
95
|
+
... per_page=8
|
|
96
|
+
... )
|
|
97
|
+
>>> # Access knowledge base data
|
|
98
|
+
>>> for kb in kbs.data:
|
|
99
|
+
... print(f"Name: {kb.name}, Status: {kb.status}")
|
|
100
|
+
... if kb.aiRunId:
|
|
101
|
+
... print(f" AI Run ID: {kb.aiRunId}")
|
|
102
|
+
>>> # Get next page if available
|
|
103
|
+
>>> if kbs.pagination.next_token:
|
|
104
|
+
... next_page = client.vendor_knowledgebases.get_knowledgebases(
|
|
105
|
+
... vendor=VendorType.AWS,
|
|
106
|
+
... setting_id="cac90788-39b7-4ffe-8b57-e8b047fa1f6c",
|
|
107
|
+
... per_page=8,
|
|
108
|
+
... next_token=kbs.pagination.next_token
|
|
109
|
+
... )
|
|
110
|
+
"""
|
|
111
|
+
# Convert enum to string value if needed
|
|
112
|
+
vendor_str = vendor.value if isinstance(vendor, VendorType) else vendor
|
|
113
|
+
|
|
114
|
+
params = {
|
|
115
|
+
"setting_id": setting_id,
|
|
116
|
+
"per_page": per_page,
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if next_token:
|
|
120
|
+
params["next_token"] = next_token
|
|
121
|
+
|
|
122
|
+
return self._api.get(
|
|
123
|
+
f"/v1/vendors/{vendor_str}/knowledgebases",
|
|
124
|
+
VendorKnowledgeBasesResponse,
|
|
125
|
+
params=params,
|
|
126
|
+
wrap_response=False,
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
def get_knowledgebase(
|
|
130
|
+
self,
|
|
131
|
+
vendor: Union[VendorType, str],
|
|
132
|
+
knowledgebase_id: str,
|
|
133
|
+
setting_id: str,
|
|
134
|
+
) -> VendorKnowledgeBaseDetail:
|
|
135
|
+
"""Get detailed information about a specific knowledge base by ID.
|
|
136
|
+
|
|
137
|
+
Args:
|
|
138
|
+
vendor: Cloud vendor type (aws, azure, gcp). Can be VendorType enum or string.
|
|
139
|
+
knowledgebase_id: ID of the knowledge base to retrieve
|
|
140
|
+
setting_id: ID of the vendor setting
|
|
141
|
+
|
|
142
|
+
Returns:
|
|
143
|
+
VendorKnowledgeBaseDetail containing detailed knowledge base information
|
|
144
|
+
|
|
145
|
+
Example:
|
|
146
|
+
>>> kb = client.vendor_knowledgebases.get_knowledgebase(
|
|
147
|
+
... vendor=VendorType.AWS,
|
|
148
|
+
... knowledgebase_id="HIKPIQ2FMT",
|
|
149
|
+
... setting_id="cac90788-39b7-4ffe-8b57-e8b047fa1f6c"
|
|
150
|
+
... )
|
|
151
|
+
>>> print(f"Name: {kb.name}")
|
|
152
|
+
>>> print(f"Type: {kb.type}")
|
|
153
|
+
>>> print(f"Status: {kb.status}")
|
|
154
|
+
>>> print(f"Embedding Model: {kb.embeddingModel}")
|
|
155
|
+
>>> if kb.aiRunId:
|
|
156
|
+
... print(f"AI Run ID: {kb.aiRunId}")
|
|
157
|
+
"""
|
|
158
|
+
# Convert enum to string value if needed
|
|
159
|
+
vendor_str = vendor.value if isinstance(vendor, VendorType) else vendor
|
|
160
|
+
|
|
161
|
+
params = {
|
|
162
|
+
"setting_id": setting_id,
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return self._api.get(
|
|
166
|
+
f"/v1/vendors/{vendor_str}/knowledgebases/{knowledgebase_id}",
|
|
167
|
+
VendorKnowledgeBaseDetail,
|
|
168
|
+
params=params,
|
|
169
|
+
wrap_response=False,
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
def install_knowledgebases(
|
|
173
|
+
self,
|
|
174
|
+
vendor: Union[VendorType, str],
|
|
175
|
+
knowledgebases: List[VendorKnowledgeBaseInstallRequest],
|
|
176
|
+
) -> VendorKnowledgeBaseInstallResponse:
|
|
177
|
+
"""Install/activate vendor knowledge bases.
|
|
178
|
+
|
|
179
|
+
Args:
|
|
180
|
+
vendor: Cloud vendor type (aws, azure, gcp). Can be VendorType enum or string.
|
|
181
|
+
knowledgebases: List of knowledge base installation requests with knowledge base ID and setting ID
|
|
182
|
+
|
|
183
|
+
Returns:
|
|
184
|
+
VendorKnowledgeBaseInstallResponse containing installation summary with AI run IDs
|
|
185
|
+
|
|
186
|
+
Example:
|
|
187
|
+
>>> from codemie_sdk import VendorKnowledgeBaseInstallRequest
|
|
188
|
+
>>> # Install single knowledge base
|
|
189
|
+
>>> install_request = VendorKnowledgeBaseInstallRequest(
|
|
190
|
+
... id="HIKPIQ2FMT",
|
|
191
|
+
... setting_id="cac90788-39b7-4ffe-8b57-e8b047fa1f6c"
|
|
192
|
+
... )
|
|
193
|
+
>>> response = client.vendor_knowledgebases.install_knowledgebases(
|
|
194
|
+
... vendor=VendorType.AWS,
|
|
195
|
+
... knowledgebases=[install_request]
|
|
196
|
+
... )
|
|
197
|
+
>>> for item in response.summary:
|
|
198
|
+
... print(f"Installed knowledge base {item.knowledgeBaseId} with run ID: {item.aiRunId}")
|
|
199
|
+
>>>
|
|
200
|
+
>>> # Install multiple knowledge bases
|
|
201
|
+
>>> requests = [
|
|
202
|
+
... VendorKnowledgeBaseInstallRequest(
|
|
203
|
+
... id="KB_ID_1",
|
|
204
|
+
... setting_id="SETTING_ID"
|
|
205
|
+
... ),
|
|
206
|
+
... VendorKnowledgeBaseInstallRequest(
|
|
207
|
+
... id="KB_ID_2",
|
|
208
|
+
... setting_id="SETTING_ID"
|
|
209
|
+
... )
|
|
210
|
+
... ]
|
|
211
|
+
>>> response = client.vendor_knowledgebases.install_knowledgebases(
|
|
212
|
+
... vendor=VendorType.AWS,
|
|
213
|
+
... knowledgebases=requests
|
|
214
|
+
... )
|
|
215
|
+
"""
|
|
216
|
+
# Convert enum to string value if needed
|
|
217
|
+
vendor_str = vendor.value if isinstance(vendor, VendorType) else vendor
|
|
218
|
+
|
|
219
|
+
# Convert list of Pydantic models to list of dicts
|
|
220
|
+
payload = [kb.model_dump(by_alias=True) for kb in knowledgebases]
|
|
221
|
+
|
|
222
|
+
return self._api.post(
|
|
223
|
+
f"/v1/vendors/{vendor_str}/knowledgebases",
|
|
224
|
+
VendorKnowledgeBaseInstallResponse,
|
|
225
|
+
json_data=payload,
|
|
226
|
+
wrap_response=False,
|
|
227
|
+
)
|
|
228
|
+
|
|
229
|
+
def uninstall_knowledgebase(
|
|
230
|
+
self,
|
|
231
|
+
vendor: Union[VendorType, str],
|
|
232
|
+
ai_run_id: str,
|
|
233
|
+
) -> VendorKnowledgeBaseUninstallResponse:
|
|
234
|
+
"""Uninstall/deactivate a vendor knowledge base.
|
|
235
|
+
|
|
236
|
+
Args:
|
|
237
|
+
vendor: Cloud vendor type (aws, azure, gcp). Can be VendorType enum or string.
|
|
238
|
+
ai_run_id: AI run ID returned from the knowledge base (aiRunId field)
|
|
239
|
+
|
|
240
|
+
Returns:
|
|
241
|
+
VendorKnowledgeBaseUninstallResponse with success status
|
|
242
|
+
|
|
243
|
+
Example:
|
|
244
|
+
>>> # Get knowledge bases to find the aiRunId
|
|
245
|
+
>>> kbs = client.vendor_knowledgebases.get_knowledgebases(
|
|
246
|
+
... vendor=VendorType.AWS,
|
|
247
|
+
... setting_id="cac90788-39b7-4ffe-8b57-e8b047fa1f6c"
|
|
248
|
+
... )
|
|
249
|
+
>>> # Find an installed knowledge base with aiRunId
|
|
250
|
+
>>> for kb in kbs.data:
|
|
251
|
+
... if kb.aiRunId:
|
|
252
|
+
... ai_run_id = kb.aiRunId
|
|
253
|
+
... break
|
|
254
|
+
>>>
|
|
255
|
+
>>> # Uninstall the knowledge base using the AI run ID
|
|
256
|
+
>>> response = client.vendor_knowledgebases.uninstall_knowledgebase(
|
|
257
|
+
... vendor=VendorType.AWS,
|
|
258
|
+
... ai_run_id="2364feec-f8c7-4db8-a8b4-ea56289e67a4"
|
|
259
|
+
... )
|
|
260
|
+
>>> if response.success:
|
|
261
|
+
... print("Knowledge base successfully uninstalled!")
|
|
262
|
+
"""
|
|
263
|
+
# Convert enum to string value if needed
|
|
264
|
+
vendor_str = vendor.value if isinstance(vendor, VendorType) else vendor
|
|
265
|
+
|
|
266
|
+
return self._api.delete(
|
|
267
|
+
f"/v1/vendors/{vendor_str}/knowledgebases/{ai_run_id}",
|
|
268
|
+
VendorKnowledgeBaseUninstallResponse,
|
|
269
|
+
wrap_response=False,
|
|
270
|
+
)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
codemie_sdk/__init__.py,sha256=
|
|
1
|
+
codemie_sdk/__init__.py,sha256=6y3b2H8kyhYJzP7wmWAO4Vm1yz5l_6tDy7krha4Adfs,3309
|
|
2
2
|
codemie_sdk/auth/__init__.py,sha256=IksEj223xEZtJ-cQ0AT9L0Bs9psIJ8QNzDXrPTUQ3xQ,126
|
|
3
3
|
codemie_sdk/auth/credentials.py,sha256=OzR_CXPBNTEC6VmNdzcCHF7rWWGrVf3agAlGKgPtTiU,4361
|
|
4
4
|
codemie_sdk/client/__init__.py,sha256=yf6C39MmrJ6gK9ZHMhBeynKwUUYVSUTQbKxU8-4qpKg,101
|
|
5
|
-
codemie_sdk/client/client.py,sha256=
|
|
5
|
+
codemie_sdk/client/client.py,sha256=PnVWutwE2jPWqmouON1G1xSIOmmVnxSxNguFA-XATdE,6549
|
|
6
6
|
codemie_sdk/exceptions.py,sha256=XoVPyognx-JmyVxLHkZPAcX1CMi1OoT1diBFJLU54so,1183
|
|
7
7
|
codemie_sdk/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
codemie_sdk/models/assistant.py,sha256=zb_k9EZ7rVFD7T2BwSqu_UA0psLKn7VHbY6JB6SyMOo,10946
|
|
@@ -15,6 +15,7 @@ codemie_sdk/models/llm.py,sha256=ppb9-1dx1UFhRuJpSR3ij7H6Pfhe9nO4C4BEOIbToy4,119
|
|
|
15
15
|
codemie_sdk/models/task.py,sha256=J4ZFRY3s8qBGrqB5NLQF0rMbInLh4s7OEZ0ZfmnW0Ho,1476
|
|
16
16
|
codemie_sdk/models/user.py,sha256=Q0rjimZh-IbeaPfq6b6fk6ZaCtwLqWHEIlU863suCS4,1777
|
|
17
17
|
codemie_sdk/models/vendor_assistant.py,sha256=4xPBwE-x2eWNNHAVsdOrZSDKvvp4UqlsunR0Q9pQccc,6409
|
|
18
|
+
codemie_sdk/models/vendor_knowledgebase.py,sha256=uRfKRaOPh71IMSJMFB-9Kki01TVtGbEjF_wupTvDG58,5051
|
|
18
19
|
codemie_sdk/models/vendor_workflow.py,sha256=EbBwpj4lDLsYawrflomDW0KcHUXN-34FKPqQBVQYJ4I,4975
|
|
19
20
|
codemie_sdk/models/workflow.py,sha256=qfk0rBJnFUMpcEDq_E5GB3hzYKbe_bb2NYJlLZJwUEE,2453
|
|
20
21
|
codemie_sdk/models/workflow_execution_payload.py,sha256=Jd9pwmkOQ0q9Xih-8Jw4CZ3CfazRnuwPesjbDEWBva8,559
|
|
@@ -29,6 +30,7 @@ codemie_sdk/services/llm.py,sha256=0-e4_7RvLHs2giCyoQ5U4KDTh6p5VXgPKNxnDP9ZDFU,1
|
|
|
29
30
|
codemie_sdk/services/task.py,sha256=3e9t8_LMkR4xfeMBwMCo7ZF87PxPS-ZbzDg85ilda2M,1031
|
|
30
31
|
codemie_sdk/services/user.py,sha256=7B-Qw451qKPD5Io6qLda-kbFDaPRQ3TamJamiGwCQu4,1013
|
|
31
32
|
codemie_sdk/services/vendor_assistant.py,sha256=QP8Qgo1rb0ak199mACFmNN2qrnYMAefs3VIBB5uHJxg,13485
|
|
33
|
+
codemie_sdk/services/vendor_knowledgebase.py,sha256=wHLUexRwX-5V-GZcfdoMwjMiCPE4gD5w6D8A1YvB21E,10413
|
|
32
34
|
codemie_sdk/services/vendor_workflow.py,sha256=h-UlEnYjV8d0EoEPb9BgMdxPBJvtY0KUZXLQfqYeqX4,12453
|
|
33
35
|
codemie_sdk/services/webhook.py,sha256=QhRKo7y9BcboYJm_cPdPqYDhmv_OWTf9eodsT3UkAjM,1210
|
|
34
36
|
codemie_sdk/services/workflow.py,sha256=cAGv2jEnb3dOSk5xxqg3L15mTcSkAVxaZHVZwTYjT-w,5407
|
|
@@ -36,6 +38,6 @@ codemie_sdk/services/workflow_execution.py,sha256=P57fz3fsUnKLg8qUYszMxCn_ykovh2
|
|
|
36
38
|
codemie_sdk/services/workflow_execution_state.py,sha256=tXoaa8yT09xgYEUNiHhVULe76TwGwVgZupMIUyyLxdo,2070
|
|
37
39
|
codemie_sdk/utils/__init__.py,sha256=BXAJJfAzO89-kMYvWWo9wSNhSbGgF3vB1In9sePFhMM,109
|
|
38
40
|
codemie_sdk/utils/http.py,sha256=1eNjCoVh_hq0TIsDSlsXZWmqODznIXvPpRrIn-KeftY,9759
|
|
39
|
-
codemie_sdk_python-0.1.
|
|
40
|
-
codemie_sdk_python-0.1.
|
|
41
|
-
codemie_sdk_python-0.1.
|
|
41
|
+
codemie_sdk_python-0.1.226.dist-info/METADATA,sha256=ozwOZJzTBX35PereVb3J5Akee0Vp6xzam3FAZfLvMbY,24882
|
|
42
|
+
codemie_sdk_python-0.1.226.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
43
|
+
codemie_sdk_python-0.1.226.dist-info/RECORD,,
|
|
File without changes
|