sapiopycommons 2025.8.14a703__py3-none-any.whl → 2026.1.22a847__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.
- sapiopycommons/ai/agent_service_base.py +2051 -0
- sapiopycommons/ai/converter_service_base.py +163 -0
- sapiopycommons/ai/external_credentials.py +131 -0
- sapiopycommons/ai/protoapi/agent/agent_pb2.py +87 -0
- sapiopycommons/ai/protoapi/agent/agent_pb2.pyi +282 -0
- sapiopycommons/ai/protoapi/agent/agent_pb2_grpc.py +154 -0
- sapiopycommons/ai/protoapi/agent/entry_pb2.py +49 -0
- sapiopycommons/ai/protoapi/agent/entry_pb2.pyi +40 -0
- sapiopycommons/ai/protoapi/agent/entry_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/agent/item/item_container_pb2.py +61 -0
- sapiopycommons/ai/protoapi/agent/item/item_container_pb2.pyi +181 -0
- sapiopycommons/ai/protoapi/agent/item/item_container_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/externalcredentials/external_credentials_pb2.py +41 -0
- sapiopycommons/ai/protoapi/externalcredentials/external_credentials_pb2.pyi +36 -0
- sapiopycommons/ai/protoapi/externalcredentials/external_credentials_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.py +51 -0
- sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.pyi +59 -0
- sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.py +123 -0
- sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.pyi +599 -0
- sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/pipeline/converter/converter_pb2.py +59 -0
- sapiopycommons/ai/protoapi/pipeline/converter/converter_pb2.pyi +68 -0
- sapiopycommons/ai/protoapi/pipeline/converter/converter_pb2_grpc.py +149 -0
- sapiopycommons/ai/protoapi/pipeline/script/script_pb2.py +69 -0
- sapiopycommons/ai/protoapi/pipeline/script/script_pb2.pyi +109 -0
- sapiopycommons/ai/protoapi/pipeline/script/script_pb2_grpc.py +153 -0
- sapiopycommons/ai/protoapi/pipeline/step_output_pb2.py +49 -0
- sapiopycommons/ai/protoapi/pipeline/step_output_pb2.pyi +56 -0
- sapiopycommons/ai/protoapi/pipeline/step_output_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/pipeline/step_pb2.py +43 -0
- sapiopycommons/ai/protoapi/pipeline/step_pb2.pyi +44 -0
- sapiopycommons/ai/protoapi/pipeline/step_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.py +39 -0
- sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.pyi +33 -0
- sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2_grpc.py +24 -0
- sapiopycommons/ai/protobuf_utils.py +583 -0
- sapiopycommons/ai/request_validation.py +561 -0
- sapiopycommons/ai/server.py +152 -0
- sapiopycommons/ai/test_client.py +534 -0
- sapiopycommons/callbacks/callback_util.py +26 -7
- sapiopycommons/eln/experiment_handler.py +12 -5
- sapiopycommons/files/file_util.py +128 -1
- sapiopycommons/files/temp_files.py +82 -0
- sapiopycommons/general/aliases.py +4 -1
- sapiopycommons/general/macros.py +172 -0
- sapiopycommons/general/time_util.py +199 -4
- sapiopycommons/recordmodel/record_handler.py +47 -12
- sapiopycommons/rules/eln_rule_handler.py +3 -0
- sapiopycommons/rules/on_save_rule_handler.py +3 -0
- sapiopycommons/webhook/webservice_handlers.py +1 -1
- {sapiopycommons-2025.8.14a703.dist-info → sapiopycommons-2026.1.22a847.dist-info}/METADATA +2 -2
- sapiopycommons-2026.1.22a847.dist-info/RECORD +113 -0
- sapiopycommons/ai/tool_of_tools.py +0 -917
- sapiopycommons-2025.8.14a703.dist-info/RECORD +0 -72
- {sapiopycommons-2025.8.14a703.dist-info → sapiopycommons-2026.1.22a847.dist-info}/WHEEL +0 -0
- {sapiopycommons-2025.8.14a703.dist-info → sapiopycommons-2026.1.22a847.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import traceback
|
|
4
|
+
from abc import ABC, abstractmethod
|
|
5
|
+
|
|
6
|
+
from grpc import ServicerContext
|
|
7
|
+
|
|
8
|
+
from sapiopycommons.ai.protoapi.agent.item.item_container_pb2 import ContentTypePbo, StepItemContainerPbo
|
|
9
|
+
from sapiopycommons.ai.protoapi.pipeline.converter.converter_pb2 import ConverterDetailsResponsePbo, ConvertResponsePbo, \
|
|
10
|
+
ConvertRequestPbo, ConverterDetailsRequestPbo, ContentTypePairPbo
|
|
11
|
+
from sapiopycommons.ai.protoapi.pipeline.converter.converter_pb2_grpc import ConverterServiceServicer
|
|
12
|
+
from sapiopycommons.files.temp_files import TempFileHandler
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ConverterServiceBase(ConverterServiceServicer, ABC):
|
|
16
|
+
debug_mode: bool = False
|
|
17
|
+
|
|
18
|
+
def GetConverterDetails(self, request: ConverterDetailsRequestPbo, context: ServicerContext) \
|
|
19
|
+
-> ConverterDetailsResponsePbo:
|
|
20
|
+
try:
|
|
21
|
+
supported_types: list[ContentTypePairPbo] = []
|
|
22
|
+
for c in self.register_converters():
|
|
23
|
+
converter = c(self.debug_mode)
|
|
24
|
+
supported_types.append(ContentTypePairPbo(
|
|
25
|
+
converter_name=converter.name(),
|
|
26
|
+
input_content_type=converter.input_type_pbo(),
|
|
27
|
+
output_content_type=converter.output_type_pbo()
|
|
28
|
+
))
|
|
29
|
+
return ConverterDetailsResponsePbo(supported_types=supported_types, service_name=self.name())
|
|
30
|
+
except Exception as e:
|
|
31
|
+
print(f"CRITICAL ERROR: {e}")
|
|
32
|
+
print(traceback.format_exc())
|
|
33
|
+
return ConverterDetailsResponsePbo()
|
|
34
|
+
|
|
35
|
+
def ConvertContent(self, request: ConvertRequestPbo, context: ServicerContext) -> ConvertResponsePbo:
|
|
36
|
+
try:
|
|
37
|
+
input_container: StepItemContainerPbo = request.item_container
|
|
38
|
+
input_type: ContentTypePbo = input_container.content_type
|
|
39
|
+
target_type: ContentTypePbo = request.target_content_type
|
|
40
|
+
|
|
41
|
+
use_converter: ConverterBase | None = None
|
|
42
|
+
for c in self.register_converters():
|
|
43
|
+
converter = c(self.debug_mode)
|
|
44
|
+
if converter.can_convert(input_type, target_type):
|
|
45
|
+
use_converter = converter
|
|
46
|
+
break
|
|
47
|
+
if use_converter is None:
|
|
48
|
+
raise ValueError(f"No converter found for converting {input_type.name} ({', '.join(input_type.extensions)}) "
|
|
49
|
+
f"to {target_type.name} ({', '.join(target_type.extensions)}).")
|
|
50
|
+
|
|
51
|
+
return ConvertResponsePbo(item_container=self.run(use_converter, input_container))
|
|
52
|
+
except Exception as e:
|
|
53
|
+
print(f"CRITICAL ERROR: {e}")
|
|
54
|
+
print(traceback.format_exc())
|
|
55
|
+
return ConvertResponsePbo()
|
|
56
|
+
|
|
57
|
+
@staticmethod
|
|
58
|
+
@abstractmethod
|
|
59
|
+
def name() -> str:
|
|
60
|
+
"""
|
|
61
|
+
:return: The name of this converter service.
|
|
62
|
+
"""
|
|
63
|
+
pass
|
|
64
|
+
|
|
65
|
+
@abstractmethod
|
|
66
|
+
def register_converters(self) -> list[type[ConverterBase]]:
|
|
67
|
+
"""
|
|
68
|
+
Register converter types with this service. Provided converters should implement the ConverterBase class.
|
|
69
|
+
|
|
70
|
+
:return: A list of converters to register to this service.
|
|
71
|
+
"""
|
|
72
|
+
pass
|
|
73
|
+
|
|
74
|
+
def run(self, converter: ConverterBase, input_container: StepItemContainerPbo) -> StepItemContainerPbo:
|
|
75
|
+
try:
|
|
76
|
+
return converter.convert(input_container)
|
|
77
|
+
finally:
|
|
78
|
+
# Clean up any temporary files created by the converter. If in debug mode, then log the files instead
|
|
79
|
+
# so that they can be manually inspected.
|
|
80
|
+
if self.debug_mode:
|
|
81
|
+
print("Temporary files/directories created during converter execution:")
|
|
82
|
+
for directory in converter.temp_data.directories:
|
|
83
|
+
print(f"\tDirectory: {directory}")
|
|
84
|
+
for file in converter.temp_data.files:
|
|
85
|
+
print(f"\tFile: {file}")
|
|
86
|
+
else:
|
|
87
|
+
converter.temp_data.cleanup()
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class ConverterBase(ABC):
|
|
91
|
+
temp_data: TempFileHandler
|
|
92
|
+
debug_mode: bool
|
|
93
|
+
|
|
94
|
+
def __init__(self, debug_mode: bool):
|
|
95
|
+
self.temp_data = TempFileHandler()
|
|
96
|
+
self.debug_mode = debug_mode
|
|
97
|
+
|
|
98
|
+
def name(self) -> str:
|
|
99
|
+
"""
|
|
100
|
+
:return: The name of this converter, typically in the format "<input_type> to <output_type>".
|
|
101
|
+
"""
|
|
102
|
+
return self.input_type() + " to " + self.output_type()
|
|
103
|
+
|
|
104
|
+
def input_type_pbo(self) -> ContentTypePbo:
|
|
105
|
+
"""
|
|
106
|
+
:return: The input content type this converter accepts as a ContentTypePbo.
|
|
107
|
+
"""
|
|
108
|
+
return ContentTypePbo(name=self.input_type(), extensions=self.input_file_extensions())
|
|
109
|
+
|
|
110
|
+
def output_type_pbo(self) -> ContentTypePbo:
|
|
111
|
+
"""
|
|
112
|
+
:return: The output content type this converter produces as a ContentTypePbo.
|
|
113
|
+
"""
|
|
114
|
+
return ContentTypePbo(name=self.output_type(), extensions=self.output_file_extensions())
|
|
115
|
+
|
|
116
|
+
@abstractmethod
|
|
117
|
+
def input_type(self) -> str:
|
|
118
|
+
"""
|
|
119
|
+
:return: The input content type this converter accepts.
|
|
120
|
+
"""
|
|
121
|
+
pass
|
|
122
|
+
|
|
123
|
+
@abstractmethod
|
|
124
|
+
def input_file_extensions(self) -> list[str]:
|
|
125
|
+
"""
|
|
126
|
+
:return: A list of file extensions this converter accepts as input.
|
|
127
|
+
"""
|
|
128
|
+
pass
|
|
129
|
+
|
|
130
|
+
@abstractmethod
|
|
131
|
+
def output_type(self) -> str:
|
|
132
|
+
"""
|
|
133
|
+
:return: The output content type this converter produces.
|
|
134
|
+
"""
|
|
135
|
+
pass
|
|
136
|
+
|
|
137
|
+
@abstractmethod
|
|
138
|
+
def output_file_extensions(self) -> list[str]:
|
|
139
|
+
"""
|
|
140
|
+
:return: A list of file extensions this converter produces as output.
|
|
141
|
+
"""
|
|
142
|
+
pass
|
|
143
|
+
|
|
144
|
+
def can_convert(self, input_type: ContentTypePbo, target_type: ContentTypePbo) -> bool:
|
|
145
|
+
"""
|
|
146
|
+
Check if this converter can convert from the input type to the target type.
|
|
147
|
+
|
|
148
|
+
:param input_type: The input content type.
|
|
149
|
+
:param target_type: The target content type.
|
|
150
|
+
:return: True if this converter can convert from the input type to the target type, False otherwise.
|
|
151
|
+
"""
|
|
152
|
+
return (self.input_type().lower() == input_type.name.lower()
|
|
153
|
+
and self.output_type().lower() == target_type.name.lower())
|
|
154
|
+
|
|
155
|
+
@abstractmethod
|
|
156
|
+
def convert(self, content: StepItemContainerPbo) -> StepItemContainerPbo:
|
|
157
|
+
"""
|
|
158
|
+
Convert the provided content from the input type to the output type.
|
|
159
|
+
|
|
160
|
+
:param content: The content to convert.
|
|
161
|
+
:return: The converted content.
|
|
162
|
+
"""
|
|
163
|
+
pass
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from sapiopycommons.ai.protoapi.externalcredentials.external_credentials_pb2 import ExternalCredentialsPbo
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ExternalCredentials:
|
|
7
|
+
"""
|
|
8
|
+
A class representing external credentials.
|
|
9
|
+
"""
|
|
10
|
+
_identifier: str
|
|
11
|
+
_display_name: str
|
|
12
|
+
_description: str
|
|
13
|
+
_category: str
|
|
14
|
+
_url: str
|
|
15
|
+
_username: str
|
|
16
|
+
_password: str
|
|
17
|
+
_token: str
|
|
18
|
+
_custom_fields: dict[str, str]
|
|
19
|
+
|
|
20
|
+
def __init__(self, identifier: str, display_name: str, url: str = "", category: str = "", description: str = "",
|
|
21
|
+
username: str = "", password: str = "", token: str = "", custom_fields: dict[str, str] | None = None):
|
|
22
|
+
"""
|
|
23
|
+
:param identifier: The unique identifier for the credentials.
|
|
24
|
+
:param display_name: The display name for the credentials.
|
|
25
|
+
:param url: The URL that the credentials are for.
|
|
26
|
+
:param category: The category of the credentials. This can be used to search for the credentials using the
|
|
27
|
+
AgentBase.get_credentials function.
|
|
28
|
+
:param description: A description of the credentials.
|
|
29
|
+
:param username: The username for the credentials.
|
|
30
|
+
:param password: The password for the credentials.
|
|
31
|
+
:param token: The token for the credentials.
|
|
32
|
+
:param custom_fields: A dictionary of custom fields associated with the credentials.
|
|
33
|
+
"""
|
|
34
|
+
self._identifier = identifier
|
|
35
|
+
self._display_name = display_name
|
|
36
|
+
self._description = description
|
|
37
|
+
self._category = category
|
|
38
|
+
self._url = url
|
|
39
|
+
self._username = username
|
|
40
|
+
self._password = password
|
|
41
|
+
self._token = token
|
|
42
|
+
self._custom_fields = custom_fields or {}
|
|
43
|
+
|
|
44
|
+
def __str__(self) -> str:
|
|
45
|
+
return f"{self._display_name} ({self._identifier})"
|
|
46
|
+
|
|
47
|
+
@staticmethod
|
|
48
|
+
def from_pbo(pbo: ExternalCredentialsPbo) -> ExternalCredentials:
|
|
49
|
+
"""
|
|
50
|
+
Create an ExternalCredentials instance from a protobuf object.
|
|
51
|
+
|
|
52
|
+
:param pbo: An ExternalCredentialsPbo object.
|
|
53
|
+
:return: An ExternalCredentials instance.
|
|
54
|
+
"""
|
|
55
|
+
creds = ExternalCredentials(pbo.id, pbo.display_name)
|
|
56
|
+
creds._url = pbo.url
|
|
57
|
+
creds._category = pbo.category
|
|
58
|
+
creds._description = pbo.description
|
|
59
|
+
creds._username = pbo.username
|
|
60
|
+
creds._password = pbo.password
|
|
61
|
+
creds._token = pbo.token
|
|
62
|
+
creds._custom_fields = dict(pbo.custom_field)
|
|
63
|
+
return creds
|
|
64
|
+
|
|
65
|
+
@property
|
|
66
|
+
def identifier(self) -> str:
|
|
67
|
+
"""The unique identifier for the credentials."""
|
|
68
|
+
return self._identifier
|
|
69
|
+
|
|
70
|
+
@property
|
|
71
|
+
def display_name(self) -> str:
|
|
72
|
+
"""The display name for the credentials."""
|
|
73
|
+
return self._display_name
|
|
74
|
+
|
|
75
|
+
@property
|
|
76
|
+
def description(self) -> str:
|
|
77
|
+
"""A description of the credentials."""
|
|
78
|
+
return self._description
|
|
79
|
+
|
|
80
|
+
@property
|
|
81
|
+
def category(self) -> str:
|
|
82
|
+
"""The category of the credentials."""
|
|
83
|
+
return self._category
|
|
84
|
+
|
|
85
|
+
@property
|
|
86
|
+
def url(self) -> str:
|
|
87
|
+
"""The URL that the credentials are for."""
|
|
88
|
+
return self._url
|
|
89
|
+
|
|
90
|
+
@property
|
|
91
|
+
def username(self) -> str:
|
|
92
|
+
"""The username for the credentials."""
|
|
93
|
+
return self._username
|
|
94
|
+
|
|
95
|
+
@property
|
|
96
|
+
def password(self) -> str:
|
|
97
|
+
"""The password for the credentials."""
|
|
98
|
+
return self._password
|
|
99
|
+
|
|
100
|
+
@property
|
|
101
|
+
def token(self) -> str:
|
|
102
|
+
"""The token for the credentials."""
|
|
103
|
+
return self._token
|
|
104
|
+
|
|
105
|
+
def get_custom_field(self, key: str, default: str = None) -> str | None:
|
|
106
|
+
"""
|
|
107
|
+
Get a custom field by key.
|
|
108
|
+
|
|
109
|
+
:param key: The key of the custom field to retrieve.
|
|
110
|
+
:param default: The value to return if the key does not exist.
|
|
111
|
+
:return: The value of the custom field, or None if the key does not exist.
|
|
112
|
+
"""
|
|
113
|
+
return self._custom_fields.get(key, default)
|
|
114
|
+
|
|
115
|
+
def to_pbo(self) -> ExternalCredentialsPbo:
|
|
116
|
+
"""
|
|
117
|
+
Convert the ExternalCredentials instance to a protobuf object.
|
|
118
|
+
|
|
119
|
+
:return: An ExternalCredentialsPbo object.
|
|
120
|
+
"""
|
|
121
|
+
return ExternalCredentialsPbo(
|
|
122
|
+
id=self._identifier,
|
|
123
|
+
display_name=self._display_name,
|
|
124
|
+
description=self._description,
|
|
125
|
+
category=self._category,
|
|
126
|
+
url=self._url,
|
|
127
|
+
username=self._username,
|
|
128
|
+
password=self._password,
|
|
129
|
+
token=self._token,
|
|
130
|
+
custom_field=self._custom_fields
|
|
131
|
+
)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: sapiopycommons/ai/protoapi/agent/agent.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
31,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'sapiopycommons/ai/protoapi/agent/agent.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from sapiopycommons.ai.protoapi.externalcredentials import external_credentials_pb2 as sapiopycommons_dot_ai_dot_protoapi_dot_externalcredentials_dot_external__credentials__pb2
|
|
26
|
+
from sapiopycommons.ai.protoapi.fielddefinitions import fields_pb2 as sapiopycommons_dot_ai_dot_protoapi_dot_fielddefinitions_dot_fields__pb2
|
|
27
|
+
from sapiopycommons.ai.protoapi.fielddefinitions import velox_field_def_pb2 as sapiopycommons_dot_ai_dot_protoapi_dot_fielddefinitions_dot_velox__field__def__pb2
|
|
28
|
+
from sapiopycommons.ai.protoapi.agent import entry_pb2 as sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_entry__pb2
|
|
29
|
+
try:
|
|
30
|
+
sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_item_dot_item__container__pb2 = sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_entry__pb2.sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_item_dot_item__container__pb2
|
|
31
|
+
except AttributeError:
|
|
32
|
+
sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_item_dot_item__container__pb2 = sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_entry__pb2.sapiopycommons.ai.protoapi.agent.item.item_container_pb2
|
|
33
|
+
try:
|
|
34
|
+
sapiopycommons_dot_ai_dot_protoapi_dot_fielddefinitions_dot_velox__field__def__pb2 = sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_entry__pb2.sapiopycommons_dot_ai_dot_protoapi_dot_fielddefinitions_dot_velox__field__def__pb2
|
|
35
|
+
except AttributeError:
|
|
36
|
+
sapiopycommons_dot_ai_dot_protoapi_dot_fielddefinitions_dot_velox__field__def__pb2 = sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_entry__pb2.sapiopycommons.ai.protoapi.fielddefinitions.velox_field_def_pb2
|
|
37
|
+
try:
|
|
38
|
+
sapiopycommons_dot_ai_dot_protoapi_dot_fielddefinitions_dot_fields__pb2 = sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_entry__pb2.sapiopycommons_dot_ai_dot_protoapi_dot_fielddefinitions_dot_fields__pb2
|
|
39
|
+
except AttributeError:
|
|
40
|
+
sapiopycommons_dot_ai_dot_protoapi_dot_fielddefinitions_dot_fields__pb2 = sapiopycommons_dot_ai_dot_protoapi_dot_agent_dot_entry__pb2.sapiopycommons.ai.protoapi.fielddefinitions.fields_pb2
|
|
41
|
+
from sapiopycommons.ai.protoapi.pipeline import step_pb2 as sapiopycommons_dot_ai_dot_protoapi_dot_pipeline_dot_step__pb2
|
|
42
|
+
from sapiopycommons.ai.protoapi.session import sapio_conn_info_pb2 as sapiopycommons_dot_ai_dot_protoapi_dot_session_dot_sapio__conn__info__pb2
|
|
43
|
+
|
|
44
|
+
from sapiopycommons.ai.protoapi.externalcredentials.external_credentials_pb2 import *
|
|
45
|
+
from sapiopycommons.ai.protoapi.fielddefinitions.fields_pb2 import *
|
|
46
|
+
from sapiopycommons.ai.protoapi.fielddefinitions.velox_field_def_pb2 import *
|
|
47
|
+
from sapiopycommons.ai.protoapi.agent.entry_pb2 import *
|
|
48
|
+
from sapiopycommons.ai.protoapi.pipeline.step_pb2 import *
|
|
49
|
+
from sapiopycommons.ai.protoapi.session.sapio_conn_info_pb2 import *
|
|
50
|
+
|
|
51
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,sapiopycommons/ai/protoapi/agent/agent.proto\x1aIsapiopycommons/ai/protoapi/externalcredentials/external_credentials.proto\x1a\x38sapiopycommons/ai/protoapi/fielddefinitions/fields.proto\x1a\x41sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def.proto\x1a,sapiopycommons/ai/protoapi/agent/entry.proto\x1a.sapiopycommons/ai/protoapi/pipeline/step.proto\x1a\x38sapiopycommons/ai/protoapi/session/sapio_conn_info.proto\"R\n\x13\x45xampleContainerPbo\x12\x16\n\x0ctext_example\x18\x01 \x01(\tH\x00\x12\x18\n\x0e\x62inary_example\x18\x02 \x01(\x0cH\x00\x42\t\n\x07\x65xample\"\xaf\x02\n\x14\x41gentIoConfigBasePbo\x12\x14\n\x0c\x63ontent_type\x18\x01 \x01(\t\x12\x11\n\tio_number\x18\x02 \x01(\x05\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x1e\n\x16\x64\x65precated_old_example\x18\x05 \x01(\t\x12/\n\x11structure_example\x18\x06 \x01(\x0b\x32\x14.ExampleContainerPbo\x12-\n\x0ftesting_example\x18\x07 \x01(\x0b\x32\x14.ExampleContainerPbo\x12\x16\n\x0e\x64\x61ta_type_name\x18\x08 \x01(\t\x12+\n\x10\x64\x61ta_type_fields\x18\t \x03(\x0b\x32\x11.VeloxFieldDefPbo\"\xdb\x02\n\x14\x41gentInputDetailsPbo\x12*\n\x0b\x62\x61se_config\x18\x01 \x01(\x0b\x32\x15.AgentIoConfigBasePbo\x12\x12\n\nvalidation\x18\x02 \x01(\t\x12\x1c\n\x0fmin_input_count\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0fmax_input_count\x18\x04 \x01(\x05H\x01\x88\x01\x01\x12\r\n\x05paged\x18\x05 \x01(\x08\x12\x1a\n\rmin_page_size\x18\x06 \x01(\x05H\x02\x88\x01\x01\x12\x1a\n\rmax_page_size\x18\x07 \x01(\x05H\x03\x88\x01\x01\x12\x1e\n\x11max_request_bytes\x18\x08 \x01(\x05H\x04\x88\x01\x01\x42\x12\n\x10_min_input_countB\x12\n\x10_max_input_countB\x10\n\x0e_min_page_sizeB\x10\n\x0e_max_page_sizeB\x14\n\x12_max_request_bytes\"C\n\x15\x41gentOutputDetailsPbo\x12*\n\x0b\x62\x61se_config\x18\x01 \x01(\x0b\x32\x15.AgentIoConfigBasePbo\"\xbf\x04\n\x15ProcessStepRequestPbo\x12+\n\nsapio_user\x18\x01 \x01(\x0b\x32\x17.SapioConnectionInfoPbo\x12\x12\n\nagent_name\x18\x02 \x01(\t\x12\x13\n\x0bpipeline_id\x18\x03 \x01(\x03\x12\x18\n\x10pipeline_step_id\x18\x04 \x01(\x03\x12\x15\n\rinvocation_id\x18\x05 \x01(\x03\x12%\n\rinput_configs\x18\x06 \x03(\x0b\x32\x0e.StepIoInfoPbo\x12&\n\x0eoutput_configs\x18\x07 \x03(\x0b\x32\x0e.StepIoInfoPbo\x12J\n\x13\x63onfig_field_values\x18\x08 \x03(\x0b\x32-.ProcessStepRequestPbo.ConfigFieldValuesEntry\x12\x0f\n\x07\x64ry_run\x18\t \x01(\x08\x12\x17\n\x0fverbose_logging\x18\n \x01(\x08\x12\x34\n\x13\x65xternal_credential\x18\x0b \x03(\x0b\x32\x17.ExternalCredentialsPbo\x12\x1d\n\x15output_data_type_name\x18\x0c \x01(\t\x12\x17\n\x0f\x61gent_import_id\x18\r \x01(\t\x12\"\n\x05input\x18\xff\x0f \x03(\x0b\x32\x12.StepInputBatchPbo\x1aH\n\x16\x43onfigFieldValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.FieldValuePbo:\x02\x38\x01\"\xd2\x01\n\x16ProcessStepResponsePbo\x12-\n\x06status\x18\x01 \x01(\x0e\x32\x1d.ProcessStepResponseStatusPbo\x12\x16\n\x0estatus_message\x18\x02 \x01(\t\x12\x14\n\x0cstep_summary\x18\x03 \x01(\t\x12\'\n\x0bnew_records\x18\xfd\x0f \x03(\x0b\x32\x11.FieldValueMapPbo\x12\x0c\n\x03log\x18\xfe\x0f \x03(\t\x12$\n\x06output\x18\xff\x0f \x03(\x0b\x32\x13.StepOutputBatchPbo\"J\n\x16\x41gentDetailsRequestPbo\x12\x30\n\x0fsapio_conn_info\x18\x01 \x01(\x0b\x32\x17.SapioConnectionInfoPbo\"\xfc\x03\n\x0f\x41gentDetailsPbo\x12\x11\n\timport_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x1d\n\x15output_data_type_name\x18\x04 \x01(\t\x12,\n\rinput_configs\x18\x05 \x03(\x0b\x32\x15.AgentInputDetailsPbo\x12.\n\x0eoutput_configs\x18\x06 \x03(\x0b\x32\x16.AgentOutputDetailsPbo\x12(\n\rconfig_fields\x18\x07 \x03(\x0b\x32\x11.VeloxFieldDefPbo\x12\x14\n\x0clicense_info\x18\x08 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\t \x01(\t\x12#\n\x08\x63itation\x18\x0b \x03(\x0b\x32\x11.AgentCitationPbo\x12&\n\x1ereview_on_instance_field_names\x18\x0c \x03(\t\x12%\n\x1doutput_data_type_display_name\x18\r \x01(\t\x12-\n\x12output_type_fields\x18\x0e \x03(\x0b\x32\x11.VeloxFieldDefPbo\x12\x14\n\x0csub_category\x18\x0f \x01(\t\x12\x0c\n\x04icon\x18\x10 \x01(\x0c\x12\x1d\n\x15output_data_type_icon\x18\x11 \x01(\x0c\".\n\x10\x41gentCitationPbo\x12\r\n\x05title\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"c\n\x17\x41gentDetailsResponsePbo\x12\x1f\n\x17\x61gent_framework_version\x18\x01 \x01(\x05\x12\'\n\ragent_details\x18\x02 \x03(\x0b\x32\x10.AgentDetailsPbo*E\n\x1cProcessStepResponseStatusPbo\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x0b\n\x07\x46\x41ILURE\x10\x02\x32\x94\x01\n\x0c\x41gentService\x12\x44\n\x0fGetAgentDetails\x12\x17.AgentDetailsRequestPbo\x1a\x18.AgentDetailsResponsePbo\x12>\n\x0bProcessData\x12\x16.ProcessStepRequestPbo\x1a\x17.ProcessStepResponsePboB\x1c\n\x18\x63om.velox.protoapi.agentP\x01P\x00P\x01P\x02P\x03P\x04P\x05\x62\x06proto3')
|
|
52
|
+
|
|
53
|
+
_globals = globals()
|
|
54
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
55
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapiopycommons.ai.protoapi.agent.agent_pb2', _globals)
|
|
56
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
57
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
58
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\030com.velox.protoapi.agentP\001'
|
|
59
|
+
_globals['_PROCESSSTEPREQUESTPBO_CONFIGFIELDVALUESENTRY']._loaded_options = None
|
|
60
|
+
_globals['_PROCESSSTEPREQUESTPBO_CONFIGFIELDVALUESENTRY']._serialized_options = b'8\001'
|
|
61
|
+
_globals['_PROCESSSTEPRESPONSESTATUSPBO']._serialized_start=2736
|
|
62
|
+
_globals['_PROCESSSTEPRESPONSESTATUSPBO']._serialized_end=2805
|
|
63
|
+
_globals['_EXAMPLECONTAINERPBO']._serialized_start=400
|
|
64
|
+
_globals['_EXAMPLECONTAINERPBO']._serialized_end=482
|
|
65
|
+
_globals['_AGENTIOCONFIGBASEPBO']._serialized_start=485
|
|
66
|
+
_globals['_AGENTIOCONFIGBASEPBO']._serialized_end=788
|
|
67
|
+
_globals['_AGENTINPUTDETAILSPBO']._serialized_start=791
|
|
68
|
+
_globals['_AGENTINPUTDETAILSPBO']._serialized_end=1138
|
|
69
|
+
_globals['_AGENTOUTPUTDETAILSPBO']._serialized_start=1140
|
|
70
|
+
_globals['_AGENTOUTPUTDETAILSPBO']._serialized_end=1207
|
|
71
|
+
_globals['_PROCESSSTEPREQUESTPBO']._serialized_start=1210
|
|
72
|
+
_globals['_PROCESSSTEPREQUESTPBO']._serialized_end=1785
|
|
73
|
+
_globals['_PROCESSSTEPREQUESTPBO_CONFIGFIELDVALUESENTRY']._serialized_start=1713
|
|
74
|
+
_globals['_PROCESSSTEPREQUESTPBO_CONFIGFIELDVALUESENTRY']._serialized_end=1785
|
|
75
|
+
_globals['_PROCESSSTEPRESPONSEPBO']._serialized_start=1788
|
|
76
|
+
_globals['_PROCESSSTEPRESPONSEPBO']._serialized_end=1998
|
|
77
|
+
_globals['_AGENTDETAILSREQUESTPBO']._serialized_start=2000
|
|
78
|
+
_globals['_AGENTDETAILSREQUESTPBO']._serialized_end=2074
|
|
79
|
+
_globals['_AGENTDETAILSPBO']._serialized_start=2077
|
|
80
|
+
_globals['_AGENTDETAILSPBO']._serialized_end=2585
|
|
81
|
+
_globals['_AGENTCITATIONPBO']._serialized_start=2587
|
|
82
|
+
_globals['_AGENTCITATIONPBO']._serialized_end=2633
|
|
83
|
+
_globals['_AGENTDETAILSRESPONSEPBO']._serialized_start=2635
|
|
84
|
+
_globals['_AGENTDETAILSRESPONSEPBO']._serialized_end=2734
|
|
85
|
+
_globals['_AGENTSERVICE']._serialized_start=2808
|
|
86
|
+
_globals['_AGENTSERVICE']._serialized_end=2956
|
|
87
|
+
# @@protoc_insertion_point(module_scope)
|