Skip to content

Commit f710d8f

Browse files
committed
Version 1.4.79
1 parent 0a6f98e commit f710d8f

343 files changed

Lines changed: 4593 additions & 156 deletions

File tree

Some content is hidden

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

abacusai/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@
172172
from .mcp_server_query_result import McpServerQueryResult
173173
from .memory_options import MemoryOptions
174174
from .messaging_connector_response import MessagingConnectorResponse
175+
from .mobile_app_build_status import MobileAppBuildStatus
175176
from .model import Model
176177
from .model_artifacts_export import ModelArtifactsExport
177178
from .model_blueprint_export import ModelBlueprintExport
@@ -238,6 +239,8 @@
238239
from .python_function import PythonFunction
239240
from .python_plot_function import PythonPlotFunction
240241
from .range_violation import RangeViolation
242+
from .razorpay_payment_requirements import RazorpayPaymentRequirements
243+
from .razorpay_payment_status import RazorpayPaymentStatus
241244
from .realtime_monitor import RealtimeMonitor
242245
from .refresh_pipeline_run import RefreshPipelineRun
243246
from .refresh_policy import RefreshPolicy
@@ -281,6 +284,7 @@
281284
from .video_search_result import VideoSearchResult
282285
from .voice_gen_details import VoiceGenDetails
283286
from .web_app_conversation import WebAppConversation
287+
from .web_app_deployment import WebAppDeployment
284288
from .web_app_deployment_permission_dict import WebAppDeploymentPermissionDict
285289
from .web_app_domain import WebAppDomain
286290
from .web_page_response import WebPageResponse
@@ -292,4 +296,4 @@
292296
from .workflow_node_template import WorkflowNodeTemplate
293297

294298

295-
__version__ = "1.4.78"
299+
__version__ = "1.4.79"

abacusai/api_class/ai_agents.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,7 @@ def __init__(self, name: str, chatbot_deployment_id: str = None, chatbot_paramet
763763
self.uid = str(uuid.uuid4())[:6]
764764
self.chatbot_deployment_id = chatbot_deployment_id
765765
self.chatbot_parameters = chatbot_parameters or {}
766+
self.chatbot_parameters['_is_llm_agent_node'] = True
766767

767768
# Prepare input and output mappings
768769
input_mappings = [

abacusai/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ class BaseApiClient:
667667
client_options (ClientOptions): Optional API client configurations
668668
skip_version_check (bool): If true, will skip checking the server's current API version on initializing the client
669669
"""
670-
client_version = '1.4.78'
670+
client_version = '1.4.79'
671671

672672
def __init__(self, api_key: str = None, server: str = None, client_options: ClientOptions = None, skip_version_check: bool = False, include_tb: bool = False):
673673
self.api_key = api_key
@@ -7989,7 +7989,7 @@ def execute_agent(self, deployment_token: str, deployment_id: str, arguments: li
79897989
deployment_id (str): A unique string identifier for the deployment created under the project.
79907990
arguments (list): Positional arguments to the agent execute function.
79917991
keyword_arguments (dict): A dictionary where each 'key' represents the paramter name and its corresponding 'value' represents the value of that parameter for the agent execute function."""
7992-
return self._proxy_request('executeAgent', 'POST', query_params={'deploymentToken': deployment_token, 'deploymentId': deployment_id}, body={'arguments': arguments, 'keywordArguments': keyword_arguments}, is_sync=True)
7992+
return self._proxy_request('executeAgent', 'POST', query_params={'deploymentToken': deployment_token, 'deploymentId': deployment_id}, body={'arguments': arguments, 'keywordArguments': keyword_arguments}, is_sync=True, timeout=1500)
79937993

79947994
def get_matrix_agent_schema(self, deployment_token: str, deployment_id: str, query: str, doc_infos: list = None, deployment_conversation_id: str = None, external_session_id: str = None) -> Dict:
79957995
"""Executes a deployed AI agent function using the arguments as keyword arguments to the agent execute function.

abacusai/hosted_app_container.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ class HostedAppContainer(AbstractApiClass):
3535
webAppProjectId (id): The ID of the web app project
3636
parentConversationId (id): The ID of the parent conversation
3737
projectMetadata (dict): The metadata of the web app project
38+
memoryGb (float): The memory in GB of the web app deployment
3839
"""
3940

40-
def __init__(self, client, hostedAppContainerId=None, hostedAppId=None, deploymentConversationId=None, hostedAppVersion=None, name=None, userId=None, email=None, createdAt=None, updatedAt=None, containerImage=None, route=None, appConfig=None, isDev=None, isDeployable=None, isPreviewAvailable=None, lifecycle=None, status=None, deployedStatus=None, accessLevel=None, hostname=None, llmArtifactId=None, artifactType=None, deployedLlmArtifactId=None, hasDatabase=None, hasStorage=None, webAppProjectId=None, parentConversationId=None, projectMetadata=None):
41+
def __init__(self, client, hostedAppContainerId=None, hostedAppId=None, deploymentConversationId=None, hostedAppVersion=None, name=None, userId=None, email=None, createdAt=None, updatedAt=None, containerImage=None, route=None, appConfig=None, isDev=None, isDeployable=None, isPreviewAvailable=None, lifecycle=None, status=None, deployedStatus=None, accessLevel=None, hostname=None, llmArtifactId=None, artifactType=None, deployedLlmArtifactId=None, hasDatabase=None, hasStorage=None, webAppProjectId=None, parentConversationId=None, projectMetadata=None, memoryGb=None):
4142
super().__init__(client, hostedAppContainerId)
4243
self.hosted_app_container_id = hostedAppContainerId
4344
self.hosted_app_id = hostedAppId
@@ -67,11 +68,12 @@ def __init__(self, client, hostedAppContainerId=None, hostedAppId=None, deployme
6768
self.web_app_project_id = webAppProjectId
6869
self.parent_conversation_id = parentConversationId
6970
self.project_metadata = projectMetadata
71+
self.memory_gb = memoryGb
7072
self.deprecated_keys = {}
7173

7274
def __repr__(self):
7375
repr_dict = {f'hosted_app_container_id': repr(self.hosted_app_container_id), f'hosted_app_id': repr(self.hosted_app_id), f'deployment_conversation_id': repr(self.deployment_conversation_id), f'hosted_app_version': repr(self.hosted_app_version), f'name': repr(self.name), f'user_id': repr(self.user_id), f'email': repr(self.email), f'created_at': repr(self.created_at), f'updated_at': repr(self.updated_at), f'container_image': repr(self.container_image), f'route': repr(self.route), f'app_config': repr(self.app_config), f'is_dev': repr(self.is_dev), f'is_deployable': repr(self.is_deployable), f'is_preview_available': repr(
74-
self.is_preview_available), f'lifecycle': repr(self.lifecycle), f'status': repr(self.status), f'deployed_status': repr(self.deployed_status), f'access_level': repr(self.access_level), f'hostname': repr(self.hostname), f'llm_artifact_id': repr(self.llm_artifact_id), f'artifact_type': repr(self.artifact_type), f'deployed_llm_artifact_id': repr(self.deployed_llm_artifact_id), f'has_database': repr(self.has_database), f'has_storage': repr(self.has_storage), f'web_app_project_id': repr(self.web_app_project_id), f'parent_conversation_id': repr(self.parent_conversation_id), f'project_metadata': repr(self.project_metadata)}
76+
self.is_preview_available), f'lifecycle': repr(self.lifecycle), f'status': repr(self.status), f'deployed_status': repr(self.deployed_status), f'access_level': repr(self.access_level), f'hostname': repr(self.hostname), f'llm_artifact_id': repr(self.llm_artifact_id), f'artifact_type': repr(self.artifact_type), f'deployed_llm_artifact_id': repr(self.deployed_llm_artifact_id), f'has_database': repr(self.has_database), f'has_storage': repr(self.has_storage), f'web_app_project_id': repr(self.web_app_project_id), f'parent_conversation_id': repr(self.parent_conversation_id), f'project_metadata': repr(self.project_metadata), f'memory_gb': repr(self.memory_gb)}
7577
class_name = "HostedAppContainer"
7678
repr_str = ',\n '.join([f'{key}={value}' for key, value in repr_dict.items(
7779
) if getattr(self, key, None) is not None and key not in self.deprecated_keys])
@@ -85,5 +87,5 @@ def to_dict(self):
8587
dict: The dict value representation of the class parameters
8688
"""
8789
resp = {'hosted_app_container_id': self.hosted_app_container_id, 'hosted_app_id': self.hosted_app_id, 'deployment_conversation_id': self.deployment_conversation_id, 'hosted_app_version': self.hosted_app_version, 'name': self.name, 'user_id': self.user_id, 'email': self.email, 'created_at': self.created_at, 'updated_at': self.updated_at, 'container_image': self.container_image, 'route': self.route, 'app_config': self.app_config, 'is_dev': self.is_dev, 'is_deployable': self.is_deployable, 'is_preview_available': self.is_preview_available,
88-
'lifecycle': self.lifecycle, 'status': self.status, 'deployed_status': self.deployed_status, 'access_level': self.access_level, 'hostname': self.hostname, 'llm_artifact_id': self.llm_artifact_id, 'artifact_type': self.artifact_type, 'deployed_llm_artifact_id': self.deployed_llm_artifact_id, 'has_database': self.has_database, 'has_storage': self.has_storage, 'web_app_project_id': self.web_app_project_id, 'parent_conversation_id': self.parent_conversation_id, 'project_metadata': self.project_metadata}
90+
'lifecycle': self.lifecycle, 'status': self.status, 'deployed_status': self.deployed_status, 'access_level': self.access_level, 'hostname': self.hostname, 'llm_artifact_id': self.llm_artifact_id, 'artifact_type': self.artifact_type, 'deployed_llm_artifact_id': self.deployed_llm_artifact_id, 'has_database': self.has_database, 'has_storage': self.has_storage, 'web_app_project_id': self.web_app_project_id, 'parent_conversation_id': self.parent_conversation_id, 'project_metadata': self.project_metadata, 'memory_gb': self.memory_gb}
8991
return {key: value for key, value in resp.items() if value is not None and key not in self.deprecated_keys}
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 MobileAppBuildStatus(AbstractApiClass):
5+
"""
6+
Status and details of a mobile app build.
7+
8+
Args:
9+
client (ApiClient): An authenticated API Client instance
10+
status (str): Current build status ('PENDING', 'SUCCESS', 'FAILED', 'CANCELLED')
11+
buildUrl (str): URL to download the built artifact when SUCCESS
12+
mobileAppBuildId (str): build identifier
13+
hostname (str): The hostname associated with the build
14+
"""
15+
16+
def __init__(self, client, status=None, buildUrl=None, mobileAppBuildId=None, hostname=None):
17+
super().__init__(client, None)
18+
self.status = status
19+
self.build_url = buildUrl
20+
self.mobile_app_build_id = mobileAppBuildId
21+
self.hostname = hostname
22+
self.deprecated_keys = {}
23+
24+
def __repr__(self):
25+
repr_dict = {f'status': repr(self.status), f'build_url': repr(
26+
self.build_url), f'mobile_app_build_id': repr(self.mobile_app_build_id), f'hostname': repr(self.hostname)}
27+
class_name = "MobileAppBuildStatus"
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 = {'status': self.status, 'build_url': self.build_url,
40+
'mobile_app_build_id': self.mobile_app_build_id, 'hostname': self.hostname}
41+
return {key: value for key, value in resp.items() if value is not None and key not in self.deprecated_keys}
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 RazorpayPaymentRequirements(AbstractApiClass):
5+
"""
6+
A Razorpay customer and order
7+
8+
Args:
9+
client (ApiClient): An authenticated API Client instance
10+
customerId (str): The unique identifier of the customer.
11+
orderId (str): The unique identifier of the order.
12+
invoiceId (str): The unique identifier of the invoice.
13+
"""
14+
15+
def __init__(self, client, customerId=None, orderId=None, invoiceId=None):
16+
super().__init__(client, None)
17+
self.customer_id = customerId
18+
self.order_id = orderId
19+
self.invoice_id = invoiceId
20+
self.deprecated_keys = {}
21+
22+
def __repr__(self):
23+
repr_dict = {f'customer_id': repr(self.customer_id), f'order_id': repr(
24+
self.order_id), f'invoice_id': repr(self.invoice_id)}
25+
class_name = "RazorpayPaymentRequirements"
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 = {'customer_id': self.customer_id,
38+
'order_id': self.order_id, 'invoice_id': self.invoice_id}
39+
return {key: value for key, value in resp.items() if value is not None and key not in self.deprecated_keys}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from .return_class import AbstractApiClass
2+
3+
4+
class RazorpayPaymentStatus(AbstractApiClass):
5+
"""
6+
The status of a Razorpay payment
7+
8+
Args:
9+
client (ApiClient): An authenticated API Client instance
10+
status (str): The status of the payment.
11+
"""
12+
13+
def __init__(self, client, status=None):
14+
super().__init__(client, None)
15+
self.status = status
16+
self.deprecated_keys = {}
17+
18+
def __repr__(self):
19+
repr_dict = {f'status': repr(self.status)}
20+
class_name = "RazorpayPaymentStatus"
21+
repr_str = ',\n '.join([f'{key}={value}' for key, value in repr_dict.items(
22+
) if getattr(self, key, None) is not None and key not in self.deprecated_keys])
23+
return f"{class_name}({repr_str})"
24+
25+
def to_dict(self):
26+
"""
27+
Get a dict representation of the parameters in this class
28+
29+
Returns:
30+
dict: The dict value representation of the class parameters
31+
"""
32+
resp = {'status': self.status}
33+
return {key: value for key, value in resp.items() if value is not None and key not in self.deprecated_keys}

abacusai/web_app_deployment.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
from .return_class import AbstractApiClass
2+
3+
4+
class WebAppDeployment(AbstractApiClass):
5+
"""
6+
Web app deployment.
7+
8+
Args:
9+
client (ApiClient): An authenticated API Client instance
10+
webAppDeploymentId (id): The ID of the web app deployment.
11+
hostname (str): The hostname of the web app deployment.
12+
accessLevel (str): The access level of the web app deployment.
13+
llmArtifactId (id): The ID of the LLM artifact.
14+
artifactsPath (str): The path to the artifacts of the web app deployment.
15+
applicationType (str): The type of application.
16+
memoryGb (float): The memory in GB of the web app deployment.
17+
"""
18+
19+
def __init__(self, client, webAppDeploymentId=None, hostname=None, accessLevel=None, llmArtifactId=None, artifactsPath=None, applicationType=None, memoryGb=None):
20+
super().__init__(client, webAppDeploymentId)
21+
self.web_app_deployment_id = webAppDeploymentId
22+
self.hostname = hostname
23+
self.access_level = accessLevel
24+
self.llm_artifact_id = llmArtifactId
25+
self.artifacts_path = artifactsPath
26+
self.application_type = applicationType
27+
self.memory_gb = memoryGb
28+
self.deprecated_keys = {}
29+
30+
def __repr__(self):
31+
repr_dict = {f'web_app_deployment_id': repr(self.web_app_deployment_id), f'hostname': repr(self.hostname), f'access_level': repr(self.access_level), f'llm_artifact_id': repr(
32+
self.llm_artifact_id), f'artifacts_path': repr(self.artifacts_path), f'application_type': repr(self.application_type), f'memory_gb': repr(self.memory_gb)}
33+
class_name = "WebAppDeployment"
34+
repr_str = ',\n '.join([f'{key}={value}' for key, value in repr_dict.items(
35+
) if getattr(self, key, None) is not None and key not in self.deprecated_keys])
36+
return f"{class_name}({repr_str})"
37+
38+
def to_dict(self):
39+
"""
40+
Get a dict representation of the parameters in this class
41+
42+
Returns:
43+
dict: The dict value representation of the class parameters
44+
"""
45+
resp = {'web_app_deployment_id': self.web_app_deployment_id, 'hostname': self.hostname, 'access_level': self.access_level,
46+
'llm_artifact_id': self.llm_artifact_id, 'artifacts_path': self.artifacts_path, 'application_type': self.application_type, 'memory_gb': self.memory_gb}
47+
return {key: value for key, value in resp.items() if value is not None and key not in self.deprecated_keys}

abacusai/web_app_deployment_permission_dict.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class WebAppDeploymentPermissionDict(AbstractApiClass):
77
88
Args:
99
client (ApiClient): An authenticated API Client instance
10-
deploymentPermissions (dict): Dictionary containing deployment ID as key and list of tuples containing (user_group_id, permission) as value.
10+
deploymentPermissions (dict): Dictionary containing hostname as key and list of tuples containing (user_id, user_group_id, permission) as value.
1111
"""
1212

1313
def __init__(self, client, deploymentPermissions=None):

docs/.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 83f5dc97472bfb08cd934f5b9735673a
3+
config: df4b3fc78cc9b7bc30e9104def812ac3
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

0 commit comments

Comments
 (0)