sapiopycommons 2025.10.1a772__tar.gz → 2025.10.2a773__tar.gz

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.

Potentially problematic release.


This version of sapiopycommons might be problematic. Click here for more details.

Files changed (127) hide show
  1. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/PKG-INFO +1 -1
  2. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/pyproject.toml +1 -1
  3. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/converter_service_base.py +163 -0
  4. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.py +43 -0
  5. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.pyi +31 -0
  6. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2_grpc.py +24 -0
  7. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.py +123 -0
  8. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.pyi +598 -0
  9. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2_grpc.py +24 -0
  10. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/converter/converter_pb2.py +51 -0
  11. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/converter/converter_pb2.pyi +63 -0
  12. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/converter/converter_pb2_grpc.py +149 -0
  13. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/item/item_container_pb2.py +55 -0
  14. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/item/item_container_pb2.pyi +90 -0
  15. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/item/item_container_pb2_grpc.py +24 -0
  16. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/script/script_pb2.py +59 -0
  17. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/script/script_pb2.pyi +102 -0
  18. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/script/script_pb2_grpc.py +153 -0
  19. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/step_output_pb2.py +45 -0
  20. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/step_output_pb2.pyi +42 -0
  21. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/step_output_pb2_grpc.py +24 -0
  22. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/step_pb2.py +43 -0
  23. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/step_pb2.pyi +43 -0
  24. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/step_pb2_grpc.py +24 -0
  25. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/tool/entry_pb2.py +41 -0
  26. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/tool/entry_pb2.pyi +35 -0
  27. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/tool/entry_pb2_grpc.py +24 -0
  28. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/tool/tool_pb2.py +77 -0
  29. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/tool/tool_pb2.pyi +253 -0
  30. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/plan/tool/tool_pb2_grpc.py +154 -0
  31. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.py +39 -0
  32. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.pyi +32 -0
  33. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2_grpc.py +24 -0
  34. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/protobuf_utils.py +504 -0
  35. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/request_validation.py +451 -0
  36. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/server.py +152 -0
  37. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/test_client.py +367 -0
  38. sapiopycommons-2025.10.2a773/src/sapiopycommons/ai/tool_service_base.py +1114 -0
  39. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/file_util.py +128 -1
  40. sapiopycommons-2025.10.2a773/src/sapiopycommons/files/temp_files.py +82 -0
  41. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/webhook/webservice_handlers.py +1 -1
  42. sapiopycommons-2025.10.2a773/tests/file_compression_tests.py +39 -0
  43. sapiopycommons-2025.10.1a772/src/sapiopycommons/ai/tool_of_tools.py +0 -917
  44. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/.gitignore +0 -0
  45. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/LICENSE +0 -0
  46. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/README.md +0 -0
  47. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/__init__.py +0 -0
  48. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/ai/__init__.py +0 -0
  49. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/callbacks/__init__.py +0 -0
  50. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/callbacks/callback_util.py +0 -0
  51. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/callbacks/field_builder.py +0 -0
  52. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/chem/IndigoMolecules.py +0 -0
  53. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/chem/Molecules.py +0 -0
  54. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/chem/__init__.py +0 -0
  55. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/customreport/__init__.py +0 -0
  56. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/customreport/auto_pagers.py +0 -0
  57. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/customreport/column_builder.py +0 -0
  58. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/customreport/custom_report_builder.py +0 -0
  59. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/customreport/term_builder.py +0 -0
  60. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/datatype/__init__.py +0 -0
  61. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/datatype/attachment_util.py +0 -0
  62. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/datatype/data_fields.py +0 -0
  63. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/datatype/pseudo_data_types.py +0 -0
  64. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/eln/__init__.py +0 -0
  65. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/eln/experiment_cache.py +0 -0
  66. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/eln/experiment_handler.py +0 -0
  67. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/eln/experiment_report_util.py +0 -0
  68. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/eln/experiment_step_factory.py +0 -0
  69. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/eln/experiment_tags.py +0 -0
  70. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/eln/plate_designer.py +0 -0
  71. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/eln/step_creation.py +0 -0
  72. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/__init__.py +0 -0
  73. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/assay_plate_reader.py +0 -0
  74. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/complex_data_loader.py +0 -0
  75. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/file_bridge.py +0 -0
  76. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/file_bridge_handler.py +0 -0
  77. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/file_data_handler.py +0 -0
  78. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/file_text_converter.py +0 -0
  79. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/file_validator.py +0 -0
  80. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/files/file_writer.py +0 -0
  81. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/flowcyto/flow_cyto.py +0 -0
  82. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/flowcyto/flowcyto_data.py +0 -0
  83. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/__init__.py +0 -0
  84. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/accession_service.py +0 -0
  85. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/aliases.py +0 -0
  86. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/audit_log.py +0 -0
  87. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/custom_report_util.py +0 -0
  88. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/data_structure_util.py +0 -0
  89. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/directive_util.py +0 -0
  90. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/exceptions.py +0 -0
  91. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/html_formatter.py +0 -0
  92. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/popup_util.py +0 -0
  93. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/sapio_links.py +0 -0
  94. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/storage_util.py +0 -0
  95. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/general/time_util.py +0 -0
  96. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/multimodal/multimodal.py +0 -0
  97. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/multimodal/multimodal_data.py +0 -0
  98. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/processtracking/__init__.py +0 -0
  99. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/processtracking/custom_workflow_handler.py +0 -0
  100. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/processtracking/endpoints.py +0 -0
  101. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/recordmodel/__init__.py +0 -0
  102. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/recordmodel/record_handler.py +0 -0
  103. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/rules/__init__.py +0 -0
  104. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/rules/eln_rule_handler.py +0 -0
  105. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/rules/on_save_rule_handler.py +0 -0
  106. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/samples/aliquot.py +0 -0
  107. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/sftpconnect/__init__.py +0 -0
  108. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/sftpconnect/sftp_builder.py +0 -0
  109. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/webhook/__init__.py +0 -0
  110. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/webhook/webhook_context.py +0 -0
  111. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/src/sapiopycommons/webhook/webhook_handlers.py +0 -0
  112. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/AF-A0A009IHW8-F1-model_v4.cif +0 -0
  113. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/_do_not_add_init_py_here +0 -0
  114. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/accession_test.py +0 -0
  115. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/aliquot_test.py +0 -0
  116. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/assay_plate_reader/BMGLabtech96.txt +0 -0
  117. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/assay_plate_reader/assay_plate_processing_test.py +0 -0
  118. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/bio_reg_test.py +0 -0
  119. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/chem_test.py +0 -0
  120. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/chem_test_curation_queue.py +0 -0
  121. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/curation_queue_test.sdf +0 -0
  122. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/data_type_models.py +0 -0
  123. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/flowcyto/8_color_ICS.wsp +0 -0
  124. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/flowcyto_test.py +0 -0
  125. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/kappa.chains.fasta +0 -0
  126. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/mafft_test.py +0 -0
  127. {sapiopycommons-2025.10.1a772 → sapiopycommons-2025.10.2a773}/tests/test.gb +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: sapiopycommons
3
- Version: 2025.10.1a772
3
+ Version: 2025.10.2a773
4
4
  Summary: Official Sapio Python API Utilities Package
5
5
  Project-URL: Homepage, https://github.com/sapiosciences
6
6
  Author-email: Jonathan Steck <jsteck@sapiosciences.com>, Yechen Qiao <yqiao@sapiosciences.com>
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sapiopycommons"
7
- version='2025.10.01a772'
7
+ version='2025.10.02a773'
8
8
  authors = [
9
9
  { name="Jonathan Steck", email="jsteck@sapiosciences.com" },
10
10
  { name="Yechen Qiao", email="yqiao@sapiosciences.com" },
@@ -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.plan.converter.converter_pb2 import ConverterDetailsResponsePbo, ConvertResponsePbo, \
9
+ ConvertRequestPbo, ConverterDetailsRequestPbo, ContentTypePairPbo
10
+ from sapiopycommons.ai.protoapi.plan.converter.converter_pb2_grpc import ConverterServiceServicer
11
+ from sapiopycommons.ai.protoapi.plan.item.item_container_pb2 import ContentTypePbo, StepItemContainerPbo
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,43 @@
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/fielddefinitions/fields.proto
5
+ # Protobuf Python Version: 5.29.0
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
+ 5,
15
+ 29,
16
+ 0,
17
+ '',
18
+ 'sapiopycommons/ai/protoapi/fielddefinitions/fields.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8sapiopycommons/ai/protoapi/fielddefinitions/fields.proto\"s\n\rFieldValuePbo\x12\x16\n\x0cstring_value\x18\x0f \x01(\tH\x00\x12\x13\n\tint_value\x18\x0e \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\r \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x0c \x01(\x08H\x00\x42\x07\n\x05\x66ield\"\x80\x01\n\x10\x46ieldValueMapPbo\x12-\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1d.FieldValueMapPbo.FieldsEntry\x1a=\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.FieldValuePbo:\x02\x38\x01\x42\'\n#com.velox.protoapi.fielddefinitionsP\x01\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapiopycommons.ai.protoapi.fielddefinitions.fields_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ _globals['DESCRIPTOR']._loaded_options = None
34
+ _globals['DESCRIPTOR']._serialized_options = b'\n#com.velox.protoapi.fielddefinitionsP\001'
35
+ _globals['_FIELDVALUEMAPPBO_FIELDSENTRY']._loaded_options = None
36
+ _globals['_FIELDVALUEMAPPBO_FIELDSENTRY']._serialized_options = b'8\001'
37
+ _globals['_FIELDVALUEPBO']._serialized_start=60
38
+ _globals['_FIELDVALUEPBO']._serialized_end=175
39
+ _globals['_FIELDVALUEMAPPBO']._serialized_start=178
40
+ _globals['_FIELDVALUEMAPPBO']._serialized_end=306
41
+ _globals['_FIELDVALUEMAPPBO_FIELDSENTRY']._serialized_start=245
42
+ _globals['_FIELDVALUEMAPPBO_FIELDSENTRY']._serialized_end=306
43
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,31 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class FieldValuePbo(_message.Message):
9
+ __slots__ = ("string_value", "int_value", "double_value", "bool_value")
10
+ STRING_VALUE_FIELD_NUMBER: _ClassVar[int]
11
+ INT_VALUE_FIELD_NUMBER: _ClassVar[int]
12
+ DOUBLE_VALUE_FIELD_NUMBER: _ClassVar[int]
13
+ BOOL_VALUE_FIELD_NUMBER: _ClassVar[int]
14
+ string_value: str
15
+ int_value: int
16
+ double_value: float
17
+ bool_value: bool
18
+ def __init__(self, string_value: _Optional[str] = ..., int_value: _Optional[int] = ..., double_value: _Optional[float] = ..., bool_value: bool = ...) -> None: ...
19
+
20
+ class FieldValueMapPbo(_message.Message):
21
+ __slots__ = ("fields",)
22
+ class FieldsEntry(_message.Message):
23
+ __slots__ = ("key", "value")
24
+ KEY_FIELD_NUMBER: _ClassVar[int]
25
+ VALUE_FIELD_NUMBER: _ClassVar[int]
26
+ key: str
27
+ value: FieldValuePbo
28
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[FieldValuePbo, _Mapping]] = ...) -> None: ...
29
+ FIELDS_FIELD_NUMBER: _ClassVar[int]
30
+ fields: _containers.MessageMap[str, FieldValuePbo]
31
+ def __init__(self, fields: _Optional[_Mapping[str, FieldValuePbo]] = ...) -> None: ...
@@ -0,0 +1,24 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+ import warnings
5
+
6
+
7
+ GRPC_GENERATED_VERSION = '1.70.0'
8
+ GRPC_VERSION = grpc.__version__
9
+ _version_not_supported = False
10
+
11
+ try:
12
+ from grpc._utilities import first_version_is_lower
13
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
14
+ except ImportError:
15
+ _version_not_supported = True
16
+
17
+ if _version_not_supported:
18
+ raise RuntimeError(
19
+ f'The grpc package installed is at version {GRPC_VERSION},'
20
+ + f' but the generated code in sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2_grpc.py depends on'
21
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
22
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
23
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
24
+ )
@@ -0,0 +1,123 @@
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/fielddefinitions/velox_field_def.proto
5
+ # Protobuf Python Version: 5.29.0
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
+ 5,
15
+ 29,
16
+ 0,
17
+ '',
18
+ 'sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAsapiopycommons/ai/protoapi/fielddefinitions/velox_field_def.proto\"D\n\x11\x46ieldValidatorPbo\x12\x18\n\x10validation_regex\x18\x01 \x01(\t\x12\x15\n\rerror_message\x18\x02 \x01(\t\"D\n\rColorRangePbo\x12\x12\n\nfrom_value\x18\x01 \x01(\x01\x12\x10\n\x08to_value\x18\x02 \x01(\x01\x12\r\n\x05\x63olor\x18\x03 \x01(\t\"K\n\x1d\x42ooleanDependentFieldEntryPbo\x12\x0b\n\x03key\x18\x01 \x01(\x08\x12\x1d\n\x15\x64\x65pendent_field_names\x18\x02 \x03(\t\"M\n\x1fSelectionDependentFieldEntryPbo\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x15\x64\x65pendent_field_names\x18\x02 \x03(\t\"H\n\x1a\x45numDependentFieldEntryPbo\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x15\x64\x65pendent_field_names\x18\x02 \x03(\t\",\n\x15ProcessDetailEntryPbo\x12\x13\n\x0btodo_fields\x18\x01 \x03(\t\"\xbd\x01\n\x14\x42ooleanPropertiesPbo\x12\x1a\n\rdefault_value\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1c\n\x14is_process_todo_item\x18\x02 \x01(\x08\x12\x38\n\x10\x64\x65pendent_fields\x18\x03 \x03(\x0b\x32\x1e.BooleanDependentFieldEntryPbo\x12\x1f\n\x17is_hide_disabled_fields\x18\x04 \x01(\x08\x42\x10\n\x0e_default_value\"s\n\x11\x44\x61tePropertiesPbo\x12\x15\n\rdefault_value\x18\x01 \x01(\t\x12\x13\n\x0bstatic_date\x18\x02 \x01(\x08\x12\x1d\n\x10\x64\x61te_time_format\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_date_time_format\"\xc1\x02\n\x13\x44oublePropertiesPbo\x12\x11\n\tmin_value\x18\x01 \x01(\x01\x12\x11\n\tmax_value\x18\x02 \x01(\x01\x12\x1a\n\rdefault_value\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x11\n\tprecision\x18\x04 \x01(\x05\x12\'\n\rdouble_format\x18\x05 \x01(\x0e\x32\x10.DoubleFormatPbo\x12$\n\x0c\x63olor_ranges\x18\x06 \x03(\x0b\x32\x0e.ColorRangePbo\x12>\n1scientific_notation_min_digits_from_decimal_point\x18\x07 \x01(\x05H\x01\x88\x01\x01\x42\x10\n\x0e_default_valueB4\n2_scientific_notation_min_digits_from_decimal_point\"\xea\x02\n\x14IntegerPropertiesPbo\x12\x11\n\tmin_value\x18\x01 \x01(\x05\x12\x11\n\tmax_value\x18\x02 \x01(\x05\x12\x1a\n\rdefault_value\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x0cunique_value\x18\x04 \x01(\x08\x12$\n\x0c\x63olor_ranges\x18\x05 \x03(\x0b\x32\x0e.ColorRangePbo\x12>\n1scientific_notation_min_digits_from_decimal_point\x18\x06 \x01(\x05H\x01\x88\x01\x01\x12*\n\x1dscientific_notation_precision\x18\x07 \x01(\x05H\x02\x88\x01\x01\x42\x10\n\x0e_default_valueB4\n2_scientific_notation_min_digits_from_decimal_pointB \n\x1e_scientific_notation_precision\"\xe7\x02\n\x11LongPropertiesPbo\x12\x11\n\tmin_value\x18\x01 \x01(\x03\x12\x11\n\tmax_value\x18\x02 \x01(\x03\x12\x1a\n\rdefault_value\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x14\n\x0cunique_value\x18\x04 \x01(\x08\x12$\n\x0c\x63olor_ranges\x18\x05 \x03(\x0b\x32\x0e.ColorRangePbo\x12>\n1scientific_notation_min_digits_from_decimal_point\x18\x06 \x01(\x05H\x01\x88\x01\x01\x12*\n\x1dscientific_notation_precision\x18\x07 \x01(\x05H\x02\x88\x01\x01\x42\x10\n\x0e_default_valueB4\n2_scientific_notation_min_digits_from_decimal_pointB \n\x1e_scientific_notation_precision\"\xe8\x02\n\x12ShortPropertiesPbo\x12\x11\n\tmin_value\x18\x01 \x01(\x05\x12\x11\n\tmax_value\x18\x02 \x01(\x05\x12\x1a\n\rdefault_value\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x0cunique_value\x18\x04 \x01(\x08\x12$\n\x0c\x63olor_ranges\x18\x05 \x03(\x0b\x32\x0e.ColorRangePbo\x12>\n1scientific_notation_min_digits_from_decimal_point\x18\x06 \x01(\x05H\x01\x88\x01\x01\x12*\n\x1dscientific_notation_precision\x18\x07 \x01(\x05H\x02\x88\x01\x01\x42\x10\n\x0e_default_valueB4\n2_scientific_notation_min_digits_from_decimal_pointB \n\x1e_scientific_notation_precision\"\xdf\x05\n\x16SelectionPropertiesPbo\x12\x15\n\rdefault_value\x18\x01 \x01(\t\x12\x11\n\tlist_mode\x18\x02 \x01(\t\x12\x11\n\tauto_sort\x18\x03 \x01(\x08\x12\x13\n\x0b\x64irect_edit\x18\x04 \x01(\x08\x12\x14\n\x0cunique_value\x18\x05 \x01(\x08\x12\x10\n\x08link_out\x18\x06 \x01(\x08\x12\x14\n\x0clink_out_url\x18\x07 \x01(\t\x12\x14\n\x0cmulti_select\x18\x08 \x01(\x08\x12\x18\n\x10index_for_search\x18\t \x01(\x08\x12\x14\n\x0cis_auto_size\x18\n \x01(\x08\x12\x30\n\x0f\x66ield_validator\x18\x0b \x01(\x0b\x32\x12.FieldValidatorPboH\x00\x88\x01\x01\x12\x1a\n\x12static_list_values\x18\x0c \x03(\t\x12@\n\rcolor_mapping\x18\r \x03(\x0b\x32).SelectionPropertiesPbo.ColorMappingEntry\x12\x1d\n\x15\x61uto_clear_field_list\x18\x0e \x03(\t\x12I\n\x12process_detail_map\x18\x0f \x03(\x0b\x32-.SelectionPropertiesPbo.ProcessDetailMapEntry\x12:\n\x10\x64\x65pendent_fields\x18\x10 \x03(\x0b\x32 .SelectionDependentFieldEntryPbo\x12\x1f\n\x17is_hide_disabled_fields\x18\x11 \x01(\x08\x1a\x33\n\x11\x43olorMappingEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aO\n\x15ProcessDetailMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessDetailEntryPbo:\x02\x38\x01\x42\x12\n\x10_field_validator\"\xdf\x02\n\x13StringPropertiesPbo\x12\x15\n\rdefault_value\x18\x01 \x01(\t\x12\x12\n\nmax_length\x18\x02 \x01(\x05\x12\x11\n\tnum_lines\x18\x03 \x01(\x05\x12\x14\n\x0cunique_value\x18\x04 \x01(\x08\x12\x18\n\x10index_for_search\x18\x05 \x01(\x08\x12\x13\n\x0bhtml_editor\x18\x06 \x01(\x08\x12\x10\n\x08link_out\x18\x07 \x01(\x08\x12\x14\n\x0clink_out_url\x18\x08 \x01(\t\x12\'\n\rstring_format\x18\t \x01(\x0e\x32\x10.StringFormatPbo\x12\x14\n\x0cis_auto_size\x18\n \x01(\x08\x12\x30\n\x0f\x66ield_validator\x18\x0b \x01(\x0b\x32\x12.FieldValidatorPboH\x00\x88\x01\x01\x12\x18\n\x10preserve_padding\x18\x0c \x01(\x08\x42\x12\n\x10_field_validator\"\xd1\x01\n\x15SideLinkPropertiesPbo\x12\x1d\n\x15linked_data_type_name\x18\x01 \x01(\t\x12\x1a\n\rdefault_value\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1f\n\x17show_in_knowledge_graph\x18\x03 \x01(\x08\x12)\n\x1cknowledge_graph_display_name\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x10\n\x0e_default_valueB\x1f\n\x1d_knowledge_graph_display_name\"\xf0\x04\n\x15PickListPropertiesPbo\x12\x15\n\rdefault_value\x18\x01 \x01(\t\x12\x16\n\x0epick_list_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64irect_edit\x18\x03 \x01(\x08\x12\x10\n\x08link_out\x18\x04 \x01(\x08\x12\x14\n\x0clink_out_url\x18\x05 \x01(\t\x12\x18\n\x10index_for_search\x18\x06 \x01(\x08\x12\x30\n\x0f\x66ield_validator\x18\x07 \x01(\x0b\x32\x12.FieldValidatorPboH\x00\x88\x01\x01\x12?\n\rcolor_mapping\x18\x08 \x03(\x0b\x32(.PickListPropertiesPbo.ColorMappingEntry\x12\x1d\n\x15\x61uto_clear_field_list\x18\t \x03(\t\x12H\n\x12process_detail_map\x18\n \x03(\x0b\x32,.PickListPropertiesPbo.ProcessDetailMapEntry\x12:\n\x10\x64\x65pendent_fields\x18\x0b \x03(\x0b\x32 .SelectionDependentFieldEntryPbo\x12\x1f\n\x17is_hide_disabled_fields\x18\x0c \x01(\x08\x1a\x33\n\x11\x43olorMappingEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aO\n\x15ProcessDetailMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessDetailEntryPbo:\x02\x38\x01\x42\x12\n\x10_field_validator\"0\n\x17ParentLinkPropertiesPbo\x12\x15\n\rdefault_value\x18\x01 \x01(\t\"\x1a\n\x18MultiParentPropertiesPbo\"0\n\x17IdentifierPropertiesPbo\x12\x15\n\rdefault_value\x18\x01 \x01(\t\"\x17\n\x15\x46ileBlobPropertiesPbo\"\xba\x02\n\x11\x45numPropertiesPbo\x12\x1a\n\rdefault_value\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x0e\n\x06values\x18\x02 \x03(\t\x12;\n\rcolor_mapping\x18\x03 \x03(\x0b\x32$.EnumPropertiesPbo.ColorMappingEntry\x12\x1d\n\x15\x61uto_clear_field_list\x18\x04 \x03(\t\x12\x35\n\x10\x64\x65pendent_fields\x18\x05 \x03(\x0b\x32\x1b.EnumDependentFieldEntryPbo\x12\x1f\n\x17is_hide_disabled_fields\x18\x06 \x01(\x08\x1a\x33\n\x11\x43olorMappingEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_default_value\"v\n\x16\x44\x61teRangePropertiesPbo\x12\x15\n\rdefault_value\x18\x01 \x01(\t\x12\x11\n\tis_static\x18\x02 \x01(\x08\x12\x1d\n\x10\x64\x61te_time_format\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_date_time_format\"F\n\x16\x43hildLinkPropertiesPbo\x12\x1a\n\rdefault_value\x18\x01 \x01(\x03H\x00\x88\x01\x01\x42\x10\n\x0e_default_value\"\xe6\x01\n\x19\x41\x63tionStringPropertiesPbo\x12\x15\n\rdefault_value\x18\x01 \x01(\t\x12\x12\n\nmax_length\x18\x02 \x01(\x05\x12\x14\n\x0cunique_value\x18\x03 \x01(\x08\x12\x11\n\ticon_name\x18\x04 \x01(\t\x12\x1a\n\x12\x61\x63tion_plugin_path\x18\x05 \x01(\t\x12\x30\n\x0f\x66ield_validator\x18\x06 \x01(\x0b\x32\x12.FieldValidatorPboH\x00\x88\x01\x01\x12\x13\n\x0b\x64irect_edit\x18\x07 \x01(\x08\x42\x12\n\x10_field_validator\"\x86\x01\n\x13\x41\x63tionPropertiesPbo\x12\x11\n\ticon_name\x18\x01 \x01(\t\x12\x12\n\nicon_color\x18\x02 \x01(\t\x12\x18\n\x10\x62\x61\x63kground_color\x18\x03 \x01(\t\x12\x12\n\nfont_color\x18\x04 \x01(\t\x12\x1a\n\x12\x61\x63tion_plugin_path\x18\x05 \x01(\t\"\xf0\x01\n\x16\x41\x63\x63\x65ssionPropertiesPbo\x12\x14\n\x0cunique_value\x18\x01 \x01(\x08\x12\x18\n\x10index_for_search\x18\x02 \x01(\x08\x12\x10\n\x08link_out\x18\x03 \x01(\x08\x12\x14\n\x0clink_out_url\x18\x04 \x01(\t\x12\x14\n\x0csequence_key\x18\x05 \x01(\t\x12\x0e\n\x06prefix\x18\x06 \x01(\t\x12\x0e\n\x06suffix\x18\x07 \x01(\t\x12\x18\n\x10number_of_digits\x18\x08 \x01(\x05\x12\x1b\n\x0estarting_value\x18\t \x01(\x03H\x00\x88\x01\x01\x42\x11\n\x0f_starting_value\"\x9c\x0e\n\x10VeloxFieldDefPbo\x12&\n\x0f\x64\x61ta_field_type\x18\x01 \x01(\x0e\x32\r.FieldTypePbo\x12\x17\n\x0f\x64\x61ta_field_name\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x10\n\x08required\x18\x05 \x01(\x08\x12\x10\n\x08\x65\x64itable\x18\x06 \x01(\x08\x12\x0f\n\x07visible\x18\x07 \x01(\x08\x12\x12\n\nidentifier\x18\x08 \x01(\x08\x12\x18\n\x10identifier_order\x18\t \x01(\x05\x12)\n\x0esort_direction\x18\n \x01(\x0e\x32\x11.SortDirectionPbo\x12\x12\n\nsort_order\x18\x0b \x01(\x05\x12\x0b\n\x03tag\x18\x0c \x01(\t\x12\x14\n\x0c\x61pprove_edit\x18\r \x01(\x08\x12\x1d\n\x15workflow_only_editing\x18\x0e \x01(\x08\x12\x1f\n\tfont_size\x18\x0f \x01(\x0e\x32\x0c.FontSizePbo\x12\x11\n\tbold_font\x18\x10 \x01(\x08\x12\x13\n\x0bitalic_font\x18\x11 \x01(\x08\x12+\n\x0ftext_decoration\x18\x12 \x01(\x0e\x32\x12.TextDecorationPbo\x12\x14\n\x0cis_key_field\x18\x13 \x01(\x08\x12\x17\n\x0fkey_field_order\x18\x14 \x01(\x05\x12\x14\n\x0cis_removable\x18\x15 \x01(\x08\x12\x17\n\x0fis_system_field\x18\x16 \x01(\x08\x12\x15\n\ris_restricted\x18\x17 \x01(\x08\x12\x17\n\x0fis_audit_logged\x18\x18 \x01(\x08\x12\x11\n\tis_active\x18\x19 \x01(\x08\x12\x1e\n\x16is_for_plugin_use_only\x18\x1a \x01(\x08\x12\"\n\x1a\x64\x65\x66\x61ult_table_column_width\x18\x1b \x01(\x05\x12\x33\n\x12\x62oolean_properties\x18\x64 \x01(\x0b\x32\x15.BooleanPropertiesPboH\x00\x12-\n\x0f\x64\x61te_properties\x18\x65 \x01(\x0b\x32\x12.DatePropertiesPboH\x00\x12\x31\n\x11\x64ouble_properties\x18\x66 \x01(\x0b\x32\x14.DoublePropertiesPboH\x00\x12\x33\n\x12integer_properties\x18g \x01(\x0b\x32\x15.IntegerPropertiesPboH\x00\x12-\n\x0flong_properties\x18h \x01(\x0b\x32\x12.LongPropertiesPboH\x00\x12\x37\n\x14selection_properties\x18i \x01(\x0b\x32\x17.SelectionPropertiesPboH\x00\x12\x31\n\x11string_properties\x18j \x01(\x0b\x32\x14.StringPropertiesPboH\x00\x12\x36\n\x14side_link_properties\x18k \x01(\x0b\x32\x16.SideLinkPropertiesPboH\x00\x12/\n\x10short_properties\x18l \x01(\x0b\x32\x13.ShortPropertiesPboH\x00\x12\x35\n\x13picklist_properties\x18m \x01(\x0b\x32\x16.PickListPropertiesPboH\x00\x12:\n\x16parent_link_properties\x18n \x01(\x0b\x32\x18.ParentLinkPropertiesPboH\x00\x12<\n\x17multi_parent_properties\x18o \x01(\x0b\x32\x19.MultiParentPropertiesPboH\x00\x12\x39\n\x15identifier_properties\x18p \x01(\x0b\x32\x18.IdentifierPropertiesPboH\x00\x12\x36\n\x14\x66ile_blob_properties\x18q \x01(\x0b\x32\x16.FileBlobPropertiesPboH\x00\x12-\n\x0f\x65num_properties\x18r \x01(\x0b\x32\x12.EnumPropertiesPboH\x00\x12\x38\n\x15\x64\x61te_range_properties\x18s \x01(\x0b\x32\x17.DateRangePropertiesPboH\x00\x12\x38\n\x15\x63hild_link_properties\x18t \x01(\x0b\x32\x17.ChildLinkPropertiesPboH\x00\x12>\n\x18\x61\x63tion_string_properties\x18u \x01(\x0b\x32\x1a.ActionStringPropertiesPboH\x00\x12\x31\n\x11\x61\x63tion_properties\x18v \x01(\x0b\x32\x14.ActionPropertiesPboH\x00\x12\x37\n\x14\x61\x63\x63\x65ssion_properties\x18w \x01(\x0b\x32\x17.AccessionPropertiesPboH\x00\x42\x1a\n\x18type_specific_properties\"D\n\x14VeloxFieldDefListPbo\x12,\n\x11\x66ield_definitions\x18\x01 \x03(\x0b\x32\x11.VeloxFieldDefPbo*\xd1\x02\n\x0c\x46ieldTypePbo\x12\x1a\n\x16\x46IELD_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x42OOLEAN\x10\x01\x12\n\n\x06\x44OUBLE\x10\x02\x12\x08\n\x04\x45NUM\x10\x03\x12\x08\n\x04LONG\x10\x04\x12\x0b\n\x07INTEGER\x10\x05\x12\t\n\x05SHORT\x10\x06\x12\n\n\x06STRING\x10\x07\x12\x08\n\x04\x44\x41TE\x10\x08\x12\n\n\x06\x41\x43TION\x10\t\x12\r\n\tSELECTION\x10\n\x12\x0e\n\nPARENTLINK\x10\x0b\x12\x0e\n\nIDENTIFIER\x10\x0c\x12\x0c\n\x08PICKLIST\x10\r\x12\x08\n\x04LINK\x10\x0e\x12\x13\n\x0fMULTIPARENTLINK\x10\x0f\x12\r\n\tCHILDLINK\x10\x10\x12\x12\n\x0e\x41UTO_ACCESSION\x10\x11\x12\x0e\n\nDATE_RANGE\x10\x12\x12\r\n\tSIDE_LINK\x10\x13\x12\x11\n\rACTION_STRING\x10\x14\x12\r\n\tFILE_BLOB\x10\x15*\x88\x01\n\x10SortDirectionPbo\x12\x1e\n\x1aSORT_DIRECTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18SORT_DIRECTION_ASCENDING\x10\x01\x12\x1d\n\x19SORT_DIRECTION_DESCENDING\x10\x02\x12\x17\n\x13SORT_DIRECTION_NONE\x10\x03*h\n\x0b\x46ontSizePbo\x12\x19\n\x15\x46ONT_SIZE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x46ONT_SIZE_SMALL\x10\x01\x12\x14\n\x10\x46ONT_SIZE_MEDIUM\x10\x02\x12\x13\n\x0f\x46ONT_SIZE_LARGE\x10\x03*\x90\x01\n\x11TextDecorationPbo\x12\x1f\n\x1bTEXT_DECORATION_UNSPECIFIED\x10\x00\x12\x18\n\x14TEXT_DECORATION_NONE\x10\x01\x12\x1d\n\x19TEXT_DECORATION_UNDERLINE\x10\x02\x12!\n\x1dTEXT_DECORATION_STRIKETHROUGH\x10\x03*b\n\x0fStringFormatPbo\x12\x1d\n\x19STRING_FORMAT_UNSPECIFIED\x10\x00\x12\x17\n\x13STRING_FORMAT_PHONE\x10\x01\x12\x17\n\x13STRING_FORMAT_EMAIL\x10\x02*j\n\x0f\x44oubleFormatPbo\x12\x1d\n\x19\x44OUBLE_FORMAT_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x44OUBLE_FORMAT_CURRENCY\x10\x01\x12\x1c\n\x18\x44OUBLE_FORMAT_PERCENTAGE\x10\x02\x42\'\n#com.velox.protoapi.fielddefinitionsP\x01\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapiopycommons.ai.protoapi.fielddefinitions.velox_field_def_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ _globals['DESCRIPTOR']._loaded_options = None
34
+ _globals['DESCRIPTOR']._serialized_options = b'\n#com.velox.protoapi.fielddefinitionsP\001'
35
+ _globals['_SELECTIONPROPERTIESPBO_COLORMAPPINGENTRY']._loaded_options = None
36
+ _globals['_SELECTIONPROPERTIESPBO_COLORMAPPINGENTRY']._serialized_options = b'8\001'
37
+ _globals['_SELECTIONPROPERTIESPBO_PROCESSDETAILMAPENTRY']._loaded_options = None
38
+ _globals['_SELECTIONPROPERTIESPBO_PROCESSDETAILMAPENTRY']._serialized_options = b'8\001'
39
+ _globals['_PICKLISTPROPERTIESPBO_COLORMAPPINGENTRY']._loaded_options = None
40
+ _globals['_PICKLISTPROPERTIESPBO_COLORMAPPINGENTRY']._serialized_options = b'8\001'
41
+ _globals['_PICKLISTPROPERTIESPBO_PROCESSDETAILMAPENTRY']._loaded_options = None
42
+ _globals['_PICKLISTPROPERTIESPBO_PROCESSDETAILMAPENTRY']._serialized_options = b'8\001'
43
+ _globals['_ENUMPROPERTIESPBO_COLORMAPPINGENTRY']._loaded_options = None
44
+ _globals['_ENUMPROPERTIESPBO_COLORMAPPINGENTRY']._serialized_options = b'8\001'
45
+ _globals['_FIELDTYPEPBO']._serialized_start=7308
46
+ _globals['_FIELDTYPEPBO']._serialized_end=7645
47
+ _globals['_SORTDIRECTIONPBO']._serialized_start=7648
48
+ _globals['_SORTDIRECTIONPBO']._serialized_end=7784
49
+ _globals['_FONTSIZEPBO']._serialized_start=7786
50
+ _globals['_FONTSIZEPBO']._serialized_end=7890
51
+ _globals['_TEXTDECORATIONPBO']._serialized_start=7893
52
+ _globals['_TEXTDECORATIONPBO']._serialized_end=8037
53
+ _globals['_STRINGFORMATPBO']._serialized_start=8039
54
+ _globals['_STRINGFORMATPBO']._serialized_end=8137
55
+ _globals['_DOUBLEFORMATPBO']._serialized_start=8139
56
+ _globals['_DOUBLEFORMATPBO']._serialized_end=8245
57
+ _globals['_FIELDVALIDATORPBO']._serialized_start=69
58
+ _globals['_FIELDVALIDATORPBO']._serialized_end=137
59
+ _globals['_COLORRANGEPBO']._serialized_start=139
60
+ _globals['_COLORRANGEPBO']._serialized_end=207
61
+ _globals['_BOOLEANDEPENDENTFIELDENTRYPBO']._serialized_start=209
62
+ _globals['_BOOLEANDEPENDENTFIELDENTRYPBO']._serialized_end=284
63
+ _globals['_SELECTIONDEPENDENTFIELDENTRYPBO']._serialized_start=286
64
+ _globals['_SELECTIONDEPENDENTFIELDENTRYPBO']._serialized_end=363
65
+ _globals['_ENUMDEPENDENTFIELDENTRYPBO']._serialized_start=365
66
+ _globals['_ENUMDEPENDENTFIELDENTRYPBO']._serialized_end=437
67
+ _globals['_PROCESSDETAILENTRYPBO']._serialized_start=439
68
+ _globals['_PROCESSDETAILENTRYPBO']._serialized_end=483
69
+ _globals['_BOOLEANPROPERTIESPBO']._serialized_start=486
70
+ _globals['_BOOLEANPROPERTIESPBO']._serialized_end=675
71
+ _globals['_DATEPROPERTIESPBO']._serialized_start=677
72
+ _globals['_DATEPROPERTIESPBO']._serialized_end=792
73
+ _globals['_DOUBLEPROPERTIESPBO']._serialized_start=795
74
+ _globals['_DOUBLEPROPERTIESPBO']._serialized_end=1116
75
+ _globals['_INTEGERPROPERTIESPBO']._serialized_start=1119
76
+ _globals['_INTEGERPROPERTIESPBO']._serialized_end=1481
77
+ _globals['_LONGPROPERTIESPBO']._serialized_start=1484
78
+ _globals['_LONGPROPERTIESPBO']._serialized_end=1843
79
+ _globals['_SHORTPROPERTIESPBO']._serialized_start=1846
80
+ _globals['_SHORTPROPERTIESPBO']._serialized_end=2206
81
+ _globals['_SELECTIONPROPERTIESPBO']._serialized_start=2209
82
+ _globals['_SELECTIONPROPERTIESPBO']._serialized_end=2944
83
+ _globals['_SELECTIONPROPERTIESPBO_COLORMAPPINGENTRY']._serialized_start=2792
84
+ _globals['_SELECTIONPROPERTIESPBO_COLORMAPPINGENTRY']._serialized_end=2843
85
+ _globals['_SELECTIONPROPERTIESPBO_PROCESSDETAILMAPENTRY']._serialized_start=2845
86
+ _globals['_SELECTIONPROPERTIESPBO_PROCESSDETAILMAPENTRY']._serialized_end=2924
87
+ _globals['_STRINGPROPERTIESPBO']._serialized_start=2947
88
+ _globals['_STRINGPROPERTIESPBO']._serialized_end=3298
89
+ _globals['_SIDELINKPROPERTIESPBO']._serialized_start=3301
90
+ _globals['_SIDELINKPROPERTIESPBO']._serialized_end=3510
91
+ _globals['_PICKLISTPROPERTIESPBO']._serialized_start=3513
92
+ _globals['_PICKLISTPROPERTIESPBO']._serialized_end=4137
93
+ _globals['_PICKLISTPROPERTIESPBO_COLORMAPPINGENTRY']._serialized_start=2792
94
+ _globals['_PICKLISTPROPERTIESPBO_COLORMAPPINGENTRY']._serialized_end=2843
95
+ _globals['_PICKLISTPROPERTIESPBO_PROCESSDETAILMAPENTRY']._serialized_start=2845
96
+ _globals['_PICKLISTPROPERTIESPBO_PROCESSDETAILMAPENTRY']._serialized_end=2924
97
+ _globals['_PARENTLINKPROPERTIESPBO']._serialized_start=4139
98
+ _globals['_PARENTLINKPROPERTIESPBO']._serialized_end=4187
99
+ _globals['_MULTIPARENTPROPERTIESPBO']._serialized_start=4189
100
+ _globals['_MULTIPARENTPROPERTIESPBO']._serialized_end=4215
101
+ _globals['_IDENTIFIERPROPERTIESPBO']._serialized_start=4217
102
+ _globals['_IDENTIFIERPROPERTIESPBO']._serialized_end=4265
103
+ _globals['_FILEBLOBPROPERTIESPBO']._serialized_start=4267
104
+ _globals['_FILEBLOBPROPERTIESPBO']._serialized_end=4290
105
+ _globals['_ENUMPROPERTIESPBO']._serialized_start=4293
106
+ _globals['_ENUMPROPERTIESPBO']._serialized_end=4607
107
+ _globals['_ENUMPROPERTIESPBO_COLORMAPPINGENTRY']._serialized_start=2792
108
+ _globals['_ENUMPROPERTIESPBO_COLORMAPPINGENTRY']._serialized_end=2843
109
+ _globals['_DATERANGEPROPERTIESPBO']._serialized_start=4609
110
+ _globals['_DATERANGEPROPERTIESPBO']._serialized_end=4727
111
+ _globals['_CHILDLINKPROPERTIESPBO']._serialized_start=4729
112
+ _globals['_CHILDLINKPROPERTIESPBO']._serialized_end=4799
113
+ _globals['_ACTIONSTRINGPROPERTIESPBO']._serialized_start=4802
114
+ _globals['_ACTIONSTRINGPROPERTIESPBO']._serialized_end=5032
115
+ _globals['_ACTIONPROPERTIESPBO']._serialized_start=5035
116
+ _globals['_ACTIONPROPERTIESPBO']._serialized_end=5169
117
+ _globals['_ACCESSIONPROPERTIESPBO']._serialized_start=5172
118
+ _globals['_ACCESSIONPROPERTIESPBO']._serialized_end=5412
119
+ _globals['_VELOXFIELDDEFPBO']._serialized_start=5415
120
+ _globals['_VELOXFIELDDEFPBO']._serialized_end=7235
121
+ _globals['_VELOXFIELDDEFLISTPBO']._serialized_start=7237
122
+ _globals['_VELOXFIELDDEFLISTPBO']._serialized_end=7305
123
+ # @@protoc_insertion_point(module_scope)