Skip to content

Commit 6266398

Browse files
committed
Version 1.4.60
1 parent 080919b commit 6266398

File tree

323 files changed

+1726
-398
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

323 files changed

+1726
-398
lines changed

abacusai/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from .chatllm_computer_status import ChatllmComputerStatus
3333
from .chatllm_memory import ChatllmMemory
3434
from .chatllm_project import ChatllmProject
35+
from .chatllm_project_permissions import ChatllmProjectPermissions
3536
from .chatllm_referral_invite import ChatllmReferralInvite
3637
from .chatllm_task import ChatllmTask
3738
from .client import AgentResponse, ApiClient, ApiException, ClientOptions, ReadOnlyClient, ToolResponse, _request_context
@@ -277,4 +278,4 @@
277278
from .workflow_node_template import WorkflowNodeTemplate
278279

279280

280-
__version__ = "1.4.59"
281+
__version__ = "1.4.60"

abacusai/api_class/enums.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,8 @@ class ApplicationConnectorType(ApiEnum):
419419
SALESFORCE = 'SALESFORCE'
420420
TWITTER = 'TWITTER'
421421
MCP = 'MCP'
422+
ODBC = 'ODBC'
423+
DBC = 'DBC'
422424

423425
@classmethod
424426
def user_connectors(cls):
@@ -436,11 +438,13 @@ def user_connectors(cls):
436438
cls.CONFLUENCE,
437439
cls.BOX,
438440
cls.GITHUBUSER,
441+
cls.ODBC,
442+
cls.DBC
439443
]
440444

441445
@classmethod
442446
def database_connectors(cls):
443-
return [cls.SALESFORCE]
447+
return [cls.SALESFORCE, cls.ODBC, cls.DBC]
444448

445449

446450
class StreamingConnectorType(ApiEnum):
@@ -570,7 +574,7 @@ class LLMName(ApiEnum):
570574
QWEN3_235B_A22B = 'QWEN3_235B_A22B_2507'
571575
QWEN3_235B_A22B_THINKING = 'QWEN3_235B_A22B_THINKING_2507'
572576
QWEN3_CODER = 'QWEN3_CODER'
573-
DEEPSEEK_V3 = 'DEEPSEEK_V3'
577+
DEEPSEEK_V3_1 = 'DEEPSEEK_V3_1'
574578
DEEPSEEK_R1 = 'DEEPSEEK_R1'
575579

576580

abacusai/batch_prediction.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def __init__(self, client, batchPredictionId=None, createdAt=None, name=None, de
8484
BatchPredictionArgs, globalPredictionArgs)
8585
self.batch_prediction_args = client._build_class(getattr(
8686
api_class, batchPredictionArgsType, BatchPredictionArgs) if batchPredictionArgsType else BatchPredictionArgs, batchPredictionArgs)
87-
self.deprecated_keys = {'explanations', 'global_prediction_args'}
87+
self.deprecated_keys = {'global_prediction_args', 'explanations'}
8888

8989
def __repr__(self):
9090
repr_dict = {f'batch_prediction_id': repr(self.batch_prediction_id), f'created_at': repr(self.created_at), f'name': repr(self.name), f'deployment_id': repr(self.deployment_id), f'file_connector_output_location': repr(self.file_connector_output_location), f'database_connector_id': repr(self.database_connector_id), f'database_output_configuration': repr(self.database_output_configuration), f'file_output_format': repr(self.file_output_format), f'connector_type': repr(self.connector_type), f'legacy_input_location': repr(self.legacy_input_location), f'output_feature_group_id': repr(self.output_feature_group_id), f'feature_group_table_name': repr(self.feature_group_table_name), f'output_feature_group_table_name': repr(self.output_feature_group_table_name), f'summary_feature_group_table_name': repr(self.summary_feature_group_table_name), f'csv_input_prefix': repr(

abacusai/batch_prediction_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def __init__(self, client, batchPredictionVersion=None, batchPredictionId=None,
100100
BatchPredictionArgs, globalPredictionArgs)
101101
self.batch_prediction_args = client._build_class(getattr(
102102
api_class, batchPredictionArgsType, BatchPredictionArgs) if batchPredictionArgsType else BatchPredictionArgs, batchPredictionArgs)
103-
self.deprecated_keys = {'explanations', 'global_prediction_args'}
103+
self.deprecated_keys = {'global_prediction_args', 'explanations'}
104104

105105
def __repr__(self):
106106
repr_dict = {f'batch_prediction_version': repr(self.batch_prediction_version), f'batch_prediction_id': repr(self.batch_prediction_id), f'status': repr(self.status), f'drift_monitor_status': repr(self.drift_monitor_status), f'deployment_id': repr(self.deployment_id), f'model_id': repr(self.model_id), f'model_version': repr(self.model_version), f'predictions_started_at': repr(self.predictions_started_at), f'predictions_completed_at': repr(self.predictions_completed_at), f'database_output_error': repr(self.database_output_error), f'total_predictions': repr(self.total_predictions), f'failed_predictions': repr(self.failed_predictions), f'database_connector_id': repr(self.database_connector_id), f'database_output_configuration': repr(self.database_output_configuration), f'file_connector_output_location': repr(self.file_connector_output_location), f'file_output_format': repr(self.file_output_format), f'connector_type': repr(self.connector_type), f'legacy_input_location': repr(self.legacy_input_location), f'error': repr(self.error), f'drift_monitor_error': repr(self.drift_monitor_error), f'monitor_warnings': repr(self.monitor_warnings), f'csv_input_prefix': repr(
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
from .return_class import AbstractApiClass
2+
3+
4+
class ChatllmProjectPermissions(AbstractApiClass):
5+
"""
6+
ChatLLM Project Permissions
7+
8+
Args:
9+
client (ApiClient): An authenticated API Client instance
10+
chatllmProjectId (id): The ID of the chatllm project.
11+
accessLevel (str): The access level of the chatllm project.
12+
userPermissions (list): List of tuples containing (user_id, permission).
13+
userGroupPermissions (list): List of tuples containing (user_group_id, permission).
14+
"""
15+
16+
def __init__(self, client, chatllmProjectId=None, accessLevel=None, userPermissions=None, userGroupPermissions=None):
17+
super().__init__(client, None)
18+
self.chatllm_project_id = chatllmProjectId
19+
self.access_level = accessLevel
20+
self.user_permissions = userPermissions
21+
self.user_group_permissions = userGroupPermissions
22+
self.deprecated_keys = {}
23+
24+
def __repr__(self):
25+
repr_dict = {f'chatllm_project_id': repr(self.chatllm_project_id), f'access_level': repr(
26+
self.access_level), f'user_permissions': repr(self.user_permissions), f'user_group_permissions': repr(self.user_group_permissions)}
27+
class_name = "ChatllmProjectPermissions"
28+
repr_str = ',\n '.join([f'{key}={value}' for key, value in repr_dict.items(
29+
) if getattr(self, key, None) is not None and key not in self.deprecated_keys])
30+
return f"{class_name}({repr_str})"
31+
32+
def to_dict(self):
33+
"""
34+
Get a dict representation of the parameters in this class
35+
36+
Returns:
37+
dict: The dict value representation of the class parameters
38+
"""
39+
resp = {'chatllm_project_id': self.chatllm_project_id, 'access_level': self.access_level,
40+
'user_permissions': self.user_permissions, 'user_group_permissions': self.user_group_permissions}
41+
return {key: value for key, value in resp.items() if value is not None and key not in self.deprecated_keys}

abacusai/client.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,7 @@ class BaseApiClient:
663663
client_options (ClientOptions): Optional API client configurations
664664
skip_version_check (bool): If true, will skip checking the server's current API version on initializing the client
665665
"""
666-
client_version = '1.4.59'
666+
client_version = '1.4.60'
667667

668668
def __init__(self, api_key: str = None, server: str = None, client_options: ClientOptions = None, skip_version_check: bool = False, include_tb: bool = False):
669669
self.api_key = api_key
@@ -2758,7 +2758,7 @@ def list_chat_sessions(self, most_recent_per_project: bool = False) -> ChatSessi
27582758
ChatSession: The chat sessions with Data Science Co-pilot"""
27592759
return self._call_api('listChatSessions', 'GET', query_params={'mostRecentPerProject': most_recent_per_project}, parse_type=ChatSession)
27602760

2761-
def get_deployment_conversation(self, deployment_conversation_id: str = None, external_session_id: str = None, deployment_id: str = None, filter_intermediate_conversation_events: bool = True, get_unused_document_uploads: bool = False, start: int = None, limit: int = None) -> DeploymentConversation:
2761+
def get_deployment_conversation(self, deployment_conversation_id: str = None, external_session_id: str = None, deployment_id: str = None, filter_intermediate_conversation_events: bool = True, get_unused_document_uploads: bool = False, start: int = None, limit: int = None, include_all_versions: bool = False) -> DeploymentConversation:
27622762
"""Gets a deployment conversation.
27632763

27642764
Args:
@@ -2769,10 +2769,11 @@ def get_deployment_conversation(self, deployment_conversation_id: str = None, ex
27692769
get_unused_document_uploads (bool): If true, unused document uploads will be returned. Default is false.
27702770
start (int): The start index of the conversation.
27712771
limit (int): The limit of the conversation.
2772+
include_all_versions (bool): If True, includes all versions of the last bot message for version switching functionality.
27722773

27732774
Returns:
27742775
DeploymentConversation: The deployment conversation."""
2775-
return self._proxy_request('getDeploymentConversation', 'GET', query_params={'deploymentConversationId': deployment_conversation_id, 'externalSessionId': external_session_id, 'deploymentId': deployment_id, 'filterIntermediateConversationEvents': filter_intermediate_conversation_events, 'getUnusedDocumentUploads': get_unused_document_uploads, 'start': start, 'limit': limit}, parse_type=DeploymentConversation, is_sync=True)
2776+
return self._proxy_request('getDeploymentConversation', 'GET', query_params={'deploymentConversationId': deployment_conversation_id, 'externalSessionId': external_session_id, 'deploymentId': deployment_id, 'filterIntermediateConversationEvents': filter_intermediate_conversation_events, 'getUnusedDocumentUploads': get_unused_document_uploads, 'start': start, 'limit': limit, 'includeAllVersions': include_all_versions}, parse_type=DeploymentConversation, is_sync=True)
27762777

27772778
def list_deployment_conversations(self, deployment_id: str = None, external_application_id: str = None, conversation_type: Union[DeploymentConversationType, str] = None, fetch_last_llm_info: bool = False, limit: int = None, search: str = None) -> List[DeploymentConversation]:
27782779
"""Lists all conversations for the given deployment and current user.
@@ -5276,9 +5277,7 @@ def create_merge_feature_group(self, source_feature_group_id: str, table_name: s
52765277
description (str): Human-readable description of this feature group.
52775278

52785279
Returns:
5279-
FeatureGroup: The created feature group.
5280-
Description:
5281-
Creates a new feature group defined as the union of other feature group versions."""
5280+
FeatureGroup: The created feature group."""
52825281
return self._call_api('createMergeFeatureGroup', 'POST', query_params={}, body={'sourceFeatureGroupId': source_feature_group_id, 'tableName': table_name, 'mergeConfig': merge_config, 'description': description}, parse_type=FeatureGroup)
52835282

52845283
def create_operator_feature_group(self, source_feature_group_id: str, table_name: str, operator_config: Union[dict, OperatorConfig], description: str = None) -> FeatureGroup:

abacusai/deployment_conversation.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def to_dict(self):
9696
'metadata': self.metadata, 'llm_display_name': self.llm_display_name, 'llm_bot_icon': self.llm_bot_icon, 'search_suggestions': self.search_suggestions, 'chatllm_task_id': self.chatllm_task_id, 'conversation_status': self.conversation_status, 'computer_status': self.computer_status, 'total_events': self.total_events, 'contest_names': self.contest_names, 'daemon_task_id': self.daemon_task_id, 'parent_deployment_conversation_id': self.parent_deployment_conversation_id, 'intro_message': self.intro_message, 'preview_info': self.preview_info, 'history': self._get_attribute_as_dict(self.history), 'hosted_artifacts': self._get_attribute_as_dict(self.hosted_artifacts)}
9797
return {key: value for key, value in resp.items() if value is not None and key not in self.deprecated_keys}
9898

99-
def get(self, external_session_id: str = None, deployment_id: str = None, filter_intermediate_conversation_events: bool = True, get_unused_document_uploads: bool = False, start: int = None, limit: int = None):
99+
def get(self, external_session_id: str = None, deployment_id: str = None, filter_intermediate_conversation_events: bool = True, get_unused_document_uploads: bool = False, start: int = None, limit: int = None, include_all_versions: bool = False):
100100
"""
101101
Gets a deployment conversation.
102102
@@ -107,11 +107,12 @@ def get(self, external_session_id: str = None, deployment_id: str = None, filter
107107
get_unused_document_uploads (bool): If true, unused document uploads will be returned. Default is false.
108108
start (int): The start index of the conversation.
109109
limit (int): The limit of the conversation.
110+
include_all_versions (bool): If True, includes all versions of the last bot message for version switching functionality.
110111
111112
Returns:
112113
DeploymentConversation: The deployment conversation.
113114
"""
114-
return self.client.get_deployment_conversation(self.deployment_conversation_id, external_session_id, deployment_id, filter_intermediate_conversation_events, get_unused_document_uploads, start, limit)
115+
return self.client.get_deployment_conversation(self.deployment_conversation_id, external_session_id, deployment_id, filter_intermediate_conversation_events, get_unused_document_uploads, start, limit, include_all_versions)
115116

116117
def delete(self, deployment_id: str = None):
117118
"""

0 commit comments

Comments
 (0)