Skip to content

Commit ca3cbc9

Browse files
committed
Version 1.4.32
1 parent 094115d commit ca3cbc9

File tree

280 files changed

+1452
-281
lines changed

Some content is hidden

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

280 files changed

+1452
-281
lines changed

abacusai/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
from .code_source import CodeSource
4141
from .compute_point_info import ComputePointInfo
4242
from .concatenation_config import ConcatenationConfig
43+
from .constants_autocomplete_response import ConstantsAutocompleteResponse
4344
from .cpu_gpu_memory_specs import CpuGpuMemorySpecs
4445
from .custom_chat_instructions import CustomChatInstructions
4546
from .custom_loss_function import CustomLossFunction
@@ -236,4 +237,4 @@
236237
from .workflow_node_template import WorkflowNodeTemplate
237238

238239

239-
__version__ = "1.4.31"
240+
__version__ = "1.4.32"

abacusai/api_class/ai_agents.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -302,10 +302,10 @@ class WorkflowGraphNode(ApiClass):
302302
Args:
303303
name (str): A unique name for the workflow node.
304304
input_mappings (List[WorkflowNodeInputMapping]): List of input mappings for the node. Each arg/kwarg of the node function should have a corresponding input mapping.
305-
output_mappings (List[WorkflowNodeOutputMapping]): List of output mappings for the node. Each field in the returned dict/AgentResponse must have a corresponding output mapping.
305+
output_mappings (List[str]): List of outputs for the node. Each field in the returned dict/AgentResponse must have a corresponding output in the list.
306306
function (callable): The callable node function reference.
307307
input_schema (WorkflowNodeInputSchema): The react json schema for the user input variables.
308-
output_schema (WorkflowNodeOutputSchema): The react json schema for the output to be shown on UI.
308+
output_schema (List[str]): The list of outputs to be shown on UI. Each output corresponds to a field in the output mappings of the node.
309309
310310
Additional Attributes:
311311
function_name (str): The name of the function.
@@ -595,16 +595,13 @@ class WorkflowGraph(ApiClass):
595595
"""
596596
Represents an Agent workflow graph.
597597
598-
The edges define the node invocation order.
599-
600598
Args:
601599
nodes (List[WorkflowGraphNode]): A list of nodes in the workflow graph.
602-
edges (List[WorkflowGraphEdge]): A list of edges in the workflow graph, where each edge is a tuple of source, target, and details.
603600
primary_start_node (Union[str, WorkflowGraphNode]): The primary node to start the workflow from.
604601
common_source_code (str): Common source code that can be used across all nodes.
605602
"""
606603
nodes: List[WorkflowGraphNode] = dataclasses.field(default_factory=list)
607-
edges: List[Union[WorkflowGraphEdge, Tuple[WorkflowGraphNode, WorkflowGraphNode, dict], Tuple[str, str, dict]]] = dataclasses.field(default_factory=list)
604+
edges: List[Union[WorkflowGraphEdge, Tuple[WorkflowGraphNode, WorkflowGraphNode, dict], Tuple[str, str, dict]]] = dataclasses.field(default_factory=list, metadata={'deprecated': True})
608605
primary_start_node: Union[str, WorkflowGraphNode] = dataclasses.field(default=None)
609606
common_source_code: str = dataclasses.field(default=None)
610607
specification_type: str = dataclasses.field(default='data_flow')

abacusai/api_class/enums.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,3 +722,7 @@ class DeploymentConversationType(ApiEnum):
722722
COPILOT = 'COPILOT'
723723
AGENT_CONTROLLER = 'AGENT_CONTROLLER'
724724
CODE_LLM = 'CODE_LLM'
725+
CODE_LLM_AGENT = 'CODE_LLM_AGENT'
726+
CHAT_LLM_TASK = 'CHAT_LLM_TASK'
727+
COMPUTER_AGENT = 'COMPUTER_AGENT'
728+
SEARCH_LLM = 'SEARCH_LLM'

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 = {'global_prediction_args', 'explanations'}
87+
self.deprecated_keys = {'explanations', 'global_prediction_args'}
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 = {'global_prediction_args', 'explanations'}
103+
self.deprecated_keys = {'explanations', 'global_prediction_args'}
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(

abacusai/chatllm_task.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@ class ChatllmTask(AbstractApiClass):
1616
deploymentConversationId (str): The deployment conversation id associated with the chatllm task.
1717
enableEmailAlerts (bool): Whether email alerts are enabled for the chatllm task.
1818
email (str): The email to send alerts to.
19+
computePointsUsed (int): The compute points used for the chatllm task.
20+
wasSeen (bool): Whether the chatllm task has been seen.
1921
"""
2022

21-
def __init__(self, client, chatllmTaskId=None, name=None, instructions=None, lifecycle=None, scheduleInfo=None, externalApplicationId=None, deploymentConversationId=None, enableEmailAlerts=None, email=None):
23+
def __init__(self, client, chatllmTaskId=None, name=None, instructions=None, lifecycle=None, scheduleInfo=None, externalApplicationId=None, deploymentConversationId=None, enableEmailAlerts=None, email=None, computePointsUsed=None, wasSeen=None):
2224
super().__init__(client, chatllmTaskId)
2325
self.chatllm_task_id = chatllmTaskId
2426
self.name = name
@@ -29,11 +31,13 @@ def __init__(self, client, chatllmTaskId=None, name=None, instructions=None, lif
2931
self.deployment_conversation_id = deploymentConversationId
3032
self.enable_email_alerts = enableEmailAlerts
3133
self.email = email
34+
self.compute_points_used = computePointsUsed
35+
self.was_seen = wasSeen
3236
self.deprecated_keys = {}
3337

3438
def __repr__(self):
35-
repr_dict = {f'chatllm_task_id': repr(self.chatllm_task_id), f'name': repr(self.name), f'instructions': repr(self.instructions), f'lifecycle': repr(self.lifecycle), f'schedule_info': repr(
36-
self.schedule_info), f'external_application_id': repr(self.external_application_id), f'deployment_conversation_id': repr(self.deployment_conversation_id), f'enable_email_alerts': repr(self.enable_email_alerts), f'email': repr(self.email)}
39+
repr_dict = {f'chatllm_task_id': repr(self.chatllm_task_id), f'name': repr(self.name), f'instructions': repr(self.instructions), f'lifecycle': repr(self.lifecycle), f'schedule_info': repr(self.schedule_info), f'external_application_id': repr(
40+
self.external_application_id), f'deployment_conversation_id': repr(self.deployment_conversation_id), f'enable_email_alerts': repr(self.enable_email_alerts), f'email': repr(self.email), f'compute_points_used': repr(self.compute_points_used), f'was_seen': repr(self.was_seen)}
3741
class_name = "ChatllmTask"
3842
repr_str = ',\n '.join([f'{key}={value}' for key, value in repr_dict.items(
3943
) if getattr(self, key, None) is not None and key not in self.deprecated_keys])
@@ -46,6 +50,6 @@ def to_dict(self):
4650
Returns:
4751
dict: The dict value representation of the class parameters
4852
"""
49-
resp = {'chatllm_task_id': self.chatllm_task_id, 'name': self.name, 'instructions': self.instructions, 'lifecycle': self.lifecycle, 'schedule_info': self.schedule_info,
50-
'external_application_id': self.external_application_id, 'deployment_conversation_id': self.deployment_conversation_id, 'enable_email_alerts': self.enable_email_alerts, 'email': self.email}
53+
resp = {'chatllm_task_id': self.chatllm_task_id, 'name': self.name, 'instructions': self.instructions, 'lifecycle': self.lifecycle, 'schedule_info': self.schedule_info, 'external_application_id': self.external_application_id,
54+
'deployment_conversation_id': self.deployment_conversation_id, 'enable_email_alerts': self.enable_email_alerts, 'email': self.email, 'compute_points_used': self.compute_points_used, 'was_seen': self.was_seen}
5155
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: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ class BaseApiClient:
652652
client_options (ClientOptions): Optional API client configurations
653653
skip_version_check (bool): If true, will skip checking the server's current API version on initializing the client
654654
"""
655-
client_version = '1.4.31'
655+
client_version = '1.4.32'
656656

657657
def __init__(self, api_key: str = None, server: str = None, client_options: ClientOptions = None, skip_version_check: bool = False, include_tb: bool = False):
658658
self.api_key = api_key
@@ -3935,9 +3935,9 @@ def get_agent_context_user_info(self):
39353935
raise ValueError(
39363936
'User information not available. Please use UI interface for this agent to work.')
39373937

3938-
def get_agent_runtime_config(self, key: str):
3938+
def get_runtime_config(self, key: str):
39393939
"""
3940-
Gets the deployment level runtime config for the agent
3940+
Gets the deployment level runtime config value given the key
39413941

39423942
Args:
39433943
key(str): Key for which the config value is to be fetched
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
from .return_class import AbstractApiClass
2+
3+
4+
class ConstantsAutocompleteResponse(AbstractApiClass):
5+
"""
6+
A dictionary of constants to be used in the autocomplete.
7+
8+
Args:
9+
client (ApiClient): An authenticated API Client instance
10+
maxPendingRequests (int): The maximum number of pending requests.
11+
acceptanceDelay (int): The acceptance delay.
12+
debounceDelay (int): The debounce delay.
13+
"""
14+
15+
def __init__(self, client, maxPendingRequests=None, acceptanceDelay=None, debounceDelay=None):
16+
super().__init__(client, None)
17+
self.max_pending_requests = maxPendingRequests
18+
self.acceptance_delay = acceptanceDelay
19+
self.debounce_delay = debounceDelay
20+
self.deprecated_keys = {}
21+
22+
def __repr__(self):
23+
repr_dict = {f'max_pending_requests': repr(self.max_pending_requests), f'acceptance_delay': repr(
24+
self.acceptance_delay), f'debounce_delay': repr(self.debounce_delay)}
25+
class_name = "ConstantsAutocompleteResponse"
26+
repr_str = ',\n '.join([f'{key}={value}' for key, value in repr_dict.items(
27+
) if getattr(self, key, None) is not None and key not in self.deprecated_keys])
28+
return f"{class_name}({repr_str})"
29+
30+
def to_dict(self):
31+
"""
32+
Get a dict representation of the parameters in this class
33+
34+
Returns:
35+
dict: The dict value representation of the class parameters
36+
"""
37+
resp = {'max_pending_requests': self.max_pending_requests,
38+
'acceptance_delay': self.acceptance_delay, 'debounce_delay': self.debounce_delay}
39+
return {key: value for key, value in resp.items() if value is not None and key not in self.deprecated_keys}

docs/_sources/autoapi/abacusai/api_class/ai_agents/index.rst.txt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -357,14 +357,14 @@ Module Contents
357357
:type name: str
358358
:param input_mappings: List of input mappings for the node. Each arg/kwarg of the node function should have a corresponding input mapping.
359359
:type input_mappings: List[WorkflowNodeInputMapping]
360-
:param output_mappings: List of output mappings for the node. Each field in the returned dict/AgentResponse must have a corresponding output mapping.
361-
:type output_mappings: List[WorkflowNodeOutputMapping]
360+
:param output_mappings: List of outputs for the node. Each field in the returned dict/AgentResponse must have a corresponding output in the list.
361+
:type output_mappings: List[str]
362362
:param function: The callable node function reference.
363363
:type function: callable
364364
:param input_schema: The react json schema for the user input variables.
365365
:type input_schema: WorkflowNodeInputSchema
366-
:param output_schema: The react json schema for the output to be shown on UI.
367-
:type output_schema: WorkflowNodeOutputSchema
366+
:param output_schema: The list of outputs to be shown on UI. Each output corresponds to a field in the output mappings of the node.
367+
:type output_schema: List[str]
368368

369369
Additional Attributes:
370370
function_name (str): The name of the function.
@@ -469,12 +469,8 @@ Module Contents
469469

470470
Represents an Agent workflow graph.
471471

472-
The edges define the node invocation order.
473-
474472
:param nodes: A list of nodes in the workflow graph.
475473
:type nodes: List[WorkflowGraphNode]
476-
:param edges: A list of edges in the workflow graph, where each edge is a tuple of source, target, and details.
477-
:type edges: List[WorkflowGraphEdge]
478474
:param primary_start_node: The primary node to start the workflow from.
479475
:type primary_start_node: Union[str, WorkflowGraphNode]
480476
:param common_source_code: Common source code that can be used across all nodes.

docs/_sources/autoapi/abacusai/api_class/enums/index.rst.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2999,3 +2999,23 @@ Module Contents
29992999

30003000

30013001

3002+
.. py:attribute:: CODE_LLM_AGENT
3003+
:value: 'CODE_LLM_AGENT'
3004+
3005+
3006+
3007+
.. py:attribute:: CHAT_LLM_TASK
3008+
:value: 'CHAT_LLM_TASK'
3009+
3010+
3011+
3012+
.. py:attribute:: COMPUTER_AGENT
3013+
:value: 'COMPUTER_AGENT'
3014+
3015+
3016+
3017+
.. py:attribute:: SEARCH_LLM
3018+
:value: 'SEARCH_LLM'
3019+
3020+
3021+

0 commit comments

Comments
 (0)