adaline-api 1.0.0__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.
Files changed (233) hide show
  1. adaline_api/__init__.py +193 -0
  2. adaline_api/api/__init__.py +5 -0
  3. adaline_api/api/default_api.py +1221 -0
  4. adaline_api/api_client.py +804 -0
  5. adaline_api/api_response.py +21 -0
  6. adaline_api/configuration.py +582 -0
  7. adaline_api/exceptions.py +216 -0
  8. adaline_api/models/__init__.py +89 -0
  9. adaline_api/models/api_message_content.py +113 -0
  10. adaline_api/models/api_message_content_type.py +113 -0
  11. adaline_api/models/base64_hosted_image_content_value.py +99 -0
  12. adaline_api/models/base64_hosted_image_content_value_type.py +99 -0
  13. adaline_api/models/base64_hosted_pdf_content_value.py +99 -0
  14. adaline_api/models/base64_hosted_pdf_content_value_type.py +99 -0
  15. adaline_api/models/base64_image_content_value.py +105 -0
  16. adaline_api/models/base64_image_content_value_type.py +105 -0
  17. adaline_api/models/base64_media.py +118 -0
  18. adaline_api/models/base64_media_type.py +118 -0
  19. adaline_api/models/base64_pdf_content_value.py +96 -0
  20. adaline_api/models/base64_pdf_content_value_type.py +96 -0
  21. adaline_api/models/base_entity.py +96 -0
  22. adaline_api/models/config_type.py +94 -0
  23. adaline_api/models/content.py +196 -0
  24. adaline_api/models/content_type.py +196 -0
  25. adaline_api/models/create_log_span_request.py +94 -0
  26. adaline_api/models/create_log_span_request_span.py +150 -0
  27. adaline_api/models/create_log_span_request_type.py +94 -0
  28. adaline_api/models/create_log_span_response.py +88 -0
  29. adaline_api/models/create_log_span_response_type.py +88 -0
  30. adaline_api/models/create_log_trace_request.py +104 -0
  31. adaline_api/models/create_log_trace_request_span.py +146 -0
  32. adaline_api/models/create_log_trace_request_trace.py +122 -0
  33. adaline_api/models/create_log_trace_request_type.py +104 -0
  34. adaline_api/models/create_log_trace_response.py +90 -0
  35. adaline_api/models/create_log_trace_response_type.py +90 -0
  36. adaline_api/models/deployment.py +107 -0
  37. adaline_api/models/deployment_prompt.py +121 -0
  38. adaline_api/models/deployment_prompt_config.py +94 -0
  39. adaline_api/models/deployment_prompt_config_type.py +94 -0
  40. adaline_api/models/deployment_prompt_type.py +121 -0
  41. adaline_api/models/deployment_prompt_variables.py +96 -0
  42. adaline_api/models/deployment_prompt_variables_type.py +96 -0
  43. adaline_api/models/deployment_type.py +107 -0
  44. adaline_api/models/deployment_type_prompt.py +121 -0
  45. adaline_api/models/enum_value.py +166 -0
  46. adaline_api/models/enum_value_type.py +166 -0
  47. adaline_api/models/error_response.py +91 -0
  48. adaline_api/models/error_response_type.py +91 -0
  49. adaline_api/models/function.py +101 -0
  50. adaline_api/models/function_parameter.py +139 -0
  51. adaline_api/models/function_parameter_type.py +139 -0
  52. adaline_api/models/function_parameters.py +115 -0
  53. adaline_api/models/function_parameters_type.py +115 -0
  54. adaline_api/models/function_request_http.py +121 -0
  55. adaline_api/models/function_request_http_type.py +121 -0
  56. adaline_api/models/function_request_retry.py +92 -0
  57. adaline_api/models/function_request_retry_type.py +92 -0
  58. adaline_api/models/function_tool.py +106 -0
  59. adaline_api/models/function_tool_definition.py +91 -0
  60. adaline_api/models/function_tool_definition_type.py +104 -0
  61. adaline_api/models/function_tool_type.py +106 -0
  62. adaline_api/models/function_tool_type_definition.py +91 -0
  63. adaline_api/models/function_type.py +106 -0
  64. adaline_api/models/image_content.py +109 -0
  65. adaline_api/models/image_content_type.py +109 -0
  66. adaline_api/models/image_content_value.py +140 -0
  67. adaline_api/models/image_content_value_type.py +140 -0
  68. adaline_api/models/image_message_content.py +111 -0
  69. adaline_api/models/image_message_content_type.py +111 -0
  70. adaline_api/models/image_message_content_type_value.py +154 -0
  71. adaline_api/models/image_message_content_value.py +154 -0
  72. adaline_api/models/image_source.py +140 -0
  73. adaline_api/models/image_source_type.py +140 -0
  74. adaline_api/models/log_attributes_value.py +160 -0
  75. adaline_api/models/log_feedback_comment.py +98 -0
  76. adaline_api/models/log_span.py +180 -0
  77. adaline_api/models/log_span_all_of_internal_feedback.py +98 -0
  78. adaline_api/models/log_span_content.py +224 -0
  79. adaline_api/models/log_span_embeddings_content.py +101 -0
  80. adaline_api/models/log_span_event.py +96 -0
  81. adaline_api/models/log_span_function_content.py +101 -0
  82. adaline_api/models/log_span_guardrail_content.py +101 -0
  83. adaline_api/models/log_span_model_content.py +109 -0
  84. adaline_api/models/log_span_model_stream_content.py +111 -0
  85. adaline_api/models/log_span_other_content.py +101 -0
  86. adaline_api/models/log_span_parsed_content.py +101 -0
  87. adaline_api/models/log_span_retrieval_content.py +101 -0
  88. adaline_api/models/log_span_tool_content.py +101 -0
  89. adaline_api/models/log_trace.py +132 -0
  90. adaline_api/models/log_trace_attributes_inner.py +102 -0
  91. adaline_api/models/log_trace_attributes_value.py +160 -0
  92. adaline_api/models/log_trace_attributes_value_type.py +160 -0
  93. adaline_api/models/log_trace_tags_inner.py +96 -0
  94. adaline_api/models/log_trace_type.py +132 -0
  95. adaline_api/models/log_trace_type_attributes_inner.py +102 -0
  96. adaline_api/models/log_trace_type_tags_inner.py +96 -0
  97. adaline_api/models/mcp_server.py +114 -0
  98. adaline_api/models/mcp_server_tool_configuration.py +90 -0
  99. adaline_api/models/mcp_server_tool_configuration_type.py +90 -0
  100. adaline_api/models/mcp_server_type.py +114 -0
  101. adaline_api/models/message.py +98 -0
  102. adaline_api/models/message_content_inner.py +182 -0
  103. adaline_api/models/message_content_type_inner.py +182 -0
  104. adaline_api/models/message_type.py +98 -0
  105. adaline_api/models/modality_enum.py +41 -0
  106. adaline_api/models/modality_enum_type.py +41 -0
  107. adaline_api/models/pdf_content.py +106 -0
  108. adaline_api/models/pdf_content_file.py +91 -0
  109. adaline_api/models/pdf_content_type.py +106 -0
  110. adaline_api/models/pdf_content_type_file.py +91 -0
  111. adaline_api/models/pdf_content_value.py +140 -0
  112. adaline_api/models/pdf_content_value_type.py +140 -0
  113. adaline_api/models/pdf_message_content.py +108 -0
  114. adaline_api/models/pdf_message_content_file.py +91 -0
  115. adaline_api/models/pdf_message_content_type.py +108 -0
  116. adaline_api/models/pdf_message_content_type_file.py +91 -0
  117. adaline_api/models/pdf_message_content_type_value.py +154 -0
  118. adaline_api/models/pdf_message_content_value.py +154 -0
  119. adaline_api/models/prompt_variable.py +96 -0
  120. adaline_api/models/prompt_variable_value.py +210 -0
  121. adaline_api/models/reasoning_content.py +100 -0
  122. adaline_api/models/reasoning_content_type.py +100 -0
  123. adaline_api/models/reasoning_content_value.py +98 -0
  124. adaline_api/models/reasoning_content_value_type.py +98 -0
  125. adaline_api/models/reasoning_content_value_union.py +140 -0
  126. adaline_api/models/reasoning_content_value_union_type.py +140 -0
  127. adaline_api/models/reasoning_message_content.py +102 -0
  128. adaline_api/models/reasoning_message_content_type.py +102 -0
  129. adaline_api/models/reasoning_message_content_type_value.py +140 -0
  130. adaline_api/models/reasoning_message_content_value.py +140 -0
  131. adaline_api/models/reasoning_redacted_value.py +109 -0
  132. adaline_api/models/reasoning_redacted_value_type.py +109 -0
  133. adaline_api/models/reasoning_thinking_value.py +111 -0
  134. adaline_api/models/reasoning_thinking_value_type.py +111 -0
  135. adaline_api/models/reasoning_value.py +140 -0
  136. adaline_api/models/reasoning_value_type.py +140 -0
  137. adaline_api/models/redacted_reasoning_content_value.py +96 -0
  138. adaline_api/models/redacted_reasoning_content_value_type.py +96 -0
  139. adaline_api/models/response_schema.py +105 -0
  140. adaline_api/models/response_schema_property.py +135 -0
  141. adaline_api/models/response_schema_property_enum_inner.py +166 -0
  142. adaline_api/models/response_schema_property_type.py +143 -0
  143. adaline_api/models/response_schema_property_type_enum_inner.py +166 -0
  144. adaline_api/models/response_schema_property_type_type.py +143 -0
  145. adaline_api/models/response_schema_structure.py +122 -0
  146. adaline_api/models/response_schema_structure_type.py +122 -0
  147. adaline_api/models/response_schema_type.py +105 -0
  148. adaline_api/models/role_enum.py +39 -0
  149. adaline_api/models/role_enum_type.py +39 -0
  150. adaline_api/models/span_content_detailed.py +112 -0
  151. adaline_api/models/span_content_detailed_type.py +112 -0
  152. adaline_api/models/span_content_detailed_type_variables_value.py +94 -0
  153. adaline_api/models/span_content_detailed_variables_value.py +94 -0
  154. adaline_api/models/span_content_minimal.py +91 -0
  155. adaline_api/models/span_content_minimal_type.py +91 -0
  156. adaline_api/models/span_log_req_attributes.py +160 -0
  157. adaline_api/models/span_log_req_attributes_type.py +160 -0
  158. adaline_api/models/span_log_req_content.py +137 -0
  159. adaline_api/models/span_log_req_content_type.py +137 -0
  160. adaline_api/models/span_log_request.py +93 -0
  161. adaline_api/models/span_log_request_span.py +139 -0
  162. adaline_api/models/span_log_request_type.py +93 -0
  163. adaline_api/models/span_log_request_type_span.py +139 -0
  164. adaline_api/models/span_log_response.py +87 -0
  165. adaline_api/models/span_log_response_type.py +87 -0
  166. adaline_api/models/spans_request_attribute_value.py +160 -0
  167. adaline_api/models/spans_request_attribute_value_type.py +160 -0
  168. adaline_api/models/spans_request_content_value.py +143 -0
  169. adaline_api/models/spans_request_content_value_type.py +143 -0
  170. adaline_api/models/text_content.py +96 -0
  171. adaline_api/models/text_content_type.py +96 -0
  172. adaline_api/models/text_message_content.py +98 -0
  173. adaline_api/models/text_message_content_type.py +98 -0
  174. adaline_api/models/tool_call_content.py +105 -0
  175. adaline_api/models/tool_call_content_type.py +105 -0
  176. adaline_api/models/tool_call_message_content.py +107 -0
  177. adaline_api/models/tool_call_message_content_type.py +107 -0
  178. adaline_api/models/tool_response_content.py +109 -0
  179. adaline_api/models/tool_response_content_api_response.py +88 -0
  180. adaline_api/models/tool_response_content_type.py +109 -0
  181. adaline_api/models/tool_response_content_type_api_response.py +88 -0
  182. adaline_api/models/tool_response_message_content.py +111 -0
  183. adaline_api/models/tool_response_message_content_api_response.py +87 -0
  184. adaline_api/models/tool_response_message_content_type.py +111 -0
  185. adaline_api/models/tool_response_message_content_type_api_response.py +87 -0
  186. adaline_api/models/tool_type.py +113 -0
  187. adaline_api/models/trace_log_patch_request.py +137 -0
  188. adaline_api/models/trace_log_patch_request_one_of.py +97 -0
  189. adaline_api/models/trace_log_patch_request_one_of1.py +97 -0
  190. adaline_api/models/trace_log_patch_request_type.py +137 -0
  191. adaline_api/models/trace_log_patch_request_type_one_of.py +97 -0
  192. adaline_api/models/trace_log_patch_request_type_one_of1.py +97 -0
  193. adaline_api/models/trace_log_patch_response.py +87 -0
  194. adaline_api/models/trace_log_patch_response_type.py +87 -0
  195. adaline_api/models/trace_log_request.py +103 -0
  196. adaline_api/models/trace_log_request_spans_inner.py +135 -0
  197. adaline_api/models/trace_log_request_trace.py +121 -0
  198. adaline_api/models/trace_log_request_type.py +103 -0
  199. adaline_api/models/trace_log_request_type_spans_inner.py +135 -0
  200. adaline_api/models/trace_log_request_type_trace.py +121 -0
  201. adaline_api/models/trace_log_response.py +89 -0
  202. adaline_api/models/trace_log_response_type.py +89 -0
  203. adaline_api/models/trace_request_attribute_value.py +160 -0
  204. adaline_api/models/trace_request_attribute_value_type.py +160 -0
  205. adaline_api/models/update_log_trace_request.py +98 -0
  206. adaline_api/models/update_log_trace_request_attribute_item.py +140 -0
  207. adaline_api/models/update_log_trace_request_attribute_item_one_of.py +102 -0
  208. adaline_api/models/update_log_trace_request_attribute_item_one_of1.py +96 -0
  209. adaline_api/models/update_log_trace_request_attribute_item_one_of_value.py +160 -0
  210. adaline_api/models/update_log_trace_request_tag_item.py +140 -0
  211. adaline_api/models/update_log_trace_request_tag_item_one_of.py +97 -0
  212. adaline_api/models/update_log_trace_request_tag_item_one_of1.py +97 -0
  213. adaline_api/models/update_log_trace_request_trace.py +120 -0
  214. adaline_api/models/update_log_trace_request_type.py +98 -0
  215. adaline_api/models/update_log_trace_response.py +87 -0
  216. adaline_api/models/update_log_trace_response_type.py +87 -0
  217. adaline_api/models/url_image_content_value.py +96 -0
  218. adaline_api/models/url_image_content_value_type.py +96 -0
  219. adaline_api/models/url_media.py +109 -0
  220. adaline_api/models/url_media_type.py +109 -0
  221. adaline_api/models/url_pdf_content_value.py +96 -0
  222. adaline_api/models/url_pdf_content_value_type.py +96 -0
  223. adaline_api/models/variable.py +96 -0
  224. adaline_api/models/variable_type.py +96 -0
  225. adaline_api/models/variable_type_value.py +196 -0
  226. adaline_api/models/variable_value.py +196 -0
  227. adaline_api/models/variables_type.py +96 -0
  228. adaline_api/py.typed +0 -0
  229. adaline_api/rest.py +213 -0
  230. adaline_api-1.0.0.dist-info/METADATA +227 -0
  231. adaline_api-1.0.0.dist-info/RECORD +233 -0
  232. adaline_api-1.0.0.dist-info/WHEEL +5 -0
  233. adaline_api-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,114 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Adaline API
5
+
6
+ API for managing Adaline deployments, logs, and core type definitions.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing_extensions import Annotated
23
+ from adaline_api.models.mcp_server_tool_configuration_type import McpServerToolConfigurationType
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class McpServerType(BaseModel):
28
+ """
29
+ McpServerType
30
+ """ # noqa: E501
31
+ type: StrictStr
32
+ url: Annotated[str, Field(strict=True)] = Field(description="MCP server URL must start with https://")
33
+ name: Annotated[str, Field(min_length=1, strict=True)]
34
+ tool_configuration: Optional[McpServerToolConfigurationType] = Field(default=None, alias="toolConfiguration")
35
+ authorization_token: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(default=None, alias="authorizationToken")
36
+ __properties: ClassVar[List[str]] = ["type", "url", "name", "toolConfiguration", "authorizationToken"]
37
+
38
+ @field_validator('type')
39
+ def type_validate_enum(cls, value):
40
+ """Validates the enum"""
41
+ if value not in set(['url']):
42
+ raise ValueError("must be one of enum values ('url')")
43
+ return value
44
+
45
+ @field_validator('url')
46
+ def url_validate_regular_expression(cls, value):
47
+ """Validates the regular expression"""
48
+ if not re.match(r"^https:\/\/", value):
49
+ raise ValueError(r"must validate the regular expression /^https:\/\//")
50
+ return value
51
+
52
+ model_config = ConfigDict(
53
+ populate_by_name=True,
54
+ validate_assignment=True,
55
+ protected_namespaces=(),
56
+ )
57
+
58
+
59
+ def to_str(self) -> str:
60
+ """Returns the string representation of the model using alias"""
61
+ return pprint.pformat(self.model_dump(by_alias=True))
62
+
63
+ def to_json(self) -> str:
64
+ """Returns the JSON representation of the model using alias"""
65
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
66
+ return json.dumps(self.to_dict())
67
+
68
+ @classmethod
69
+ def from_json(cls, json_str: str) -> Optional[Self]:
70
+ """Create an instance of McpServerType from a JSON string"""
71
+ return cls.from_dict(json.loads(json_str))
72
+
73
+ def to_dict(self) -> Dict[str, Any]:
74
+ """Return the dictionary representation of the model using alias.
75
+
76
+ This has the following differences from calling pydantic's
77
+ `self.model_dump(by_alias=True)`:
78
+
79
+ * `None` is only added to the output dict for nullable fields that
80
+ were set at model initialization. Other fields with value `None`
81
+ are ignored.
82
+ """
83
+ excluded_fields: Set[str] = set([
84
+ ])
85
+
86
+ _dict = self.model_dump(
87
+ by_alias=True,
88
+ exclude=excluded_fields,
89
+ exclude_none=True,
90
+ )
91
+ # override the default output from pydantic by calling `to_dict()` of tool_configuration
92
+ if self.tool_configuration:
93
+ _dict['toolConfiguration'] = self.tool_configuration.to_dict()
94
+ return _dict
95
+
96
+ @classmethod
97
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
98
+ """Create an instance of McpServerType from a dict"""
99
+ if obj is None:
100
+ return None
101
+
102
+ if not isinstance(obj, dict):
103
+ return cls.model_validate(obj)
104
+
105
+ _obj = cls.model_validate({
106
+ "type": obj.get("type"),
107
+ "url": obj.get("url"),
108
+ "name": obj.get("name"),
109
+ "toolConfiguration": McpServerToolConfigurationType.from_dict(obj["toolConfiguration"]) if obj.get("toolConfiguration") is not None else None,
110
+ "authorizationToken": obj.get("authorizationToken")
111
+ })
112
+ return _obj
113
+
114
+
@@ -0,0 +1,98 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Adaline API
5
+
6
+ API for managing Adaline deployments, logs, and core type definitions.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict
21
+ from typing import Any, ClassVar, Dict, List
22
+ from adaline_api.models.content import Content
23
+ from adaline_api.models.role_enum import RoleEnum
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class Message(BaseModel):
28
+ """
29
+ Chat message with role and multi-modal content for LLM conversations
30
+ """ # noqa: E501
31
+ role: RoleEnum
32
+ content: List[Content]
33
+ __properties: ClassVar[List[str]] = ["role", "content"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of Message from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # override the default output from pydantic by calling `to_dict()` of each item in content (list)
75
+ _items = []
76
+ if self.content:
77
+ for _item_content in self.content:
78
+ if _item_content:
79
+ _items.append(_item_content.to_dict())
80
+ _dict['content'] = _items
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of Message from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "role": obj.get("role"),
94
+ "content": [Content.from_dict(_item) for _item in obj["content"]] if obj.get("content") is not None else None
95
+ })
96
+ return _obj
97
+
98
+
@@ -0,0 +1,182 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Adaline API
5
+
6
+ API for managing Adaline deployments, logs, and core type definitions.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import json
17
+ import pprint
18
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
19
+ from typing import Any, List, Optional
20
+ from adaline_api.models.image_content import ImageContent
21
+ from adaline_api.models.reasoning_content import ReasoningContent
22
+ from adaline_api.models.text_content import TextContent
23
+ from adaline_api.models.tool_call_content import ToolCallContent
24
+ from adaline_api.models.tool_response_content import ToolResponseContent
25
+ from pydantic import StrictStr, Field
26
+ from typing import Union, List, Set, Optional, Dict
27
+ from typing_extensions import Literal, Self
28
+
29
+ MESSAGECONTENTINNER_ONE_OF_SCHEMAS = ["ImageContent", "ReasoningContent", "TextContent", "ToolCallContent", "ToolResponseContent"]
30
+
31
+ class MessageContentInner(BaseModel):
32
+ """
33
+ MessageContentInner
34
+ """
35
+ # data type: TextContent
36
+ oneof_schema_1_validator: Optional[TextContent] = None
37
+ # data type: ImageContent
38
+ oneof_schema_2_validator: Optional[ImageContent] = None
39
+ # data type: ToolCallContent
40
+ oneof_schema_3_validator: Optional[ToolCallContent] = None
41
+ # data type: ToolResponseContent
42
+ oneof_schema_4_validator: Optional[ToolResponseContent] = None
43
+ # data type: ReasoningContent
44
+ oneof_schema_5_validator: Optional[ReasoningContent] = None
45
+ actual_instance: Optional[Union[ImageContent, ReasoningContent, TextContent, ToolCallContent, ToolResponseContent]] = None
46
+ one_of_schemas: Set[str] = { "ImageContent", "ReasoningContent", "TextContent", "ToolCallContent", "ToolResponseContent" }
47
+
48
+ model_config = ConfigDict(
49
+ validate_assignment=True,
50
+ protected_namespaces=(),
51
+ )
52
+
53
+
54
+ discriminator_value_class_map: Dict[str, str] = {
55
+ }
56
+
57
+ def __init__(self, *args, **kwargs) -> None:
58
+ if args:
59
+ if len(args) > 1:
60
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
61
+ if kwargs:
62
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
63
+ super().__init__(actual_instance=args[0])
64
+ else:
65
+ super().__init__(**kwargs)
66
+
67
+ @field_validator('actual_instance')
68
+ def actual_instance_must_validate_oneof(cls, v):
69
+ instance = MessageContentInner.model_construct()
70
+ error_messages = []
71
+ match = 0
72
+ # validate data type: TextContent
73
+ if not isinstance(v, TextContent):
74
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TextContent`")
75
+ else:
76
+ match += 1
77
+ # validate data type: ImageContent
78
+ if not isinstance(v, ImageContent):
79
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ImageContent`")
80
+ else:
81
+ match += 1
82
+ # validate data type: ToolCallContent
83
+ if not isinstance(v, ToolCallContent):
84
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ToolCallContent`")
85
+ else:
86
+ match += 1
87
+ # validate data type: ToolResponseContent
88
+ if not isinstance(v, ToolResponseContent):
89
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ToolResponseContent`")
90
+ else:
91
+ match += 1
92
+ # validate data type: ReasoningContent
93
+ if not isinstance(v, ReasoningContent):
94
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ReasoningContent`")
95
+ else:
96
+ match += 1
97
+ if match > 1:
98
+ # more than 1 match
99
+ raise ValueError("Multiple matches found when setting `actual_instance` in MessageContentInner with oneOf schemas: ImageContent, ReasoningContent, TextContent, ToolCallContent, ToolResponseContent. Details: " + ", ".join(error_messages))
100
+ elif match == 0:
101
+ # no match
102
+ raise ValueError("No match found when setting `actual_instance` in MessageContentInner with oneOf schemas: ImageContent, ReasoningContent, TextContent, ToolCallContent, ToolResponseContent. Details: " + ", ".join(error_messages))
103
+ else:
104
+ return v
105
+
106
+ @classmethod
107
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
108
+ return cls.from_json(json.dumps(obj))
109
+
110
+ @classmethod
111
+ def from_json(cls, json_str: str) -> Self:
112
+ """Returns the object represented by the json string"""
113
+ instance = cls.model_construct()
114
+ error_messages = []
115
+ match = 0
116
+
117
+ # deserialize data into TextContent
118
+ try:
119
+ instance.actual_instance = TextContent.from_json(json_str)
120
+ match += 1
121
+ except (ValidationError, ValueError) as e:
122
+ error_messages.append(str(e))
123
+ # deserialize data into ImageContent
124
+ try:
125
+ instance.actual_instance = ImageContent.from_json(json_str)
126
+ match += 1
127
+ except (ValidationError, ValueError) as e:
128
+ error_messages.append(str(e))
129
+ # deserialize data into ToolCallContent
130
+ try:
131
+ instance.actual_instance = ToolCallContent.from_json(json_str)
132
+ match += 1
133
+ except (ValidationError, ValueError) as e:
134
+ error_messages.append(str(e))
135
+ # deserialize data into ToolResponseContent
136
+ try:
137
+ instance.actual_instance = ToolResponseContent.from_json(json_str)
138
+ match += 1
139
+ except (ValidationError, ValueError) as e:
140
+ error_messages.append(str(e))
141
+ # deserialize data into ReasoningContent
142
+ try:
143
+ instance.actual_instance = ReasoningContent.from_json(json_str)
144
+ match += 1
145
+ except (ValidationError, ValueError) as e:
146
+ error_messages.append(str(e))
147
+
148
+ if match > 1:
149
+ # more than 1 match
150
+ raise ValueError("Multiple matches found when deserializing the JSON string into MessageContentInner with oneOf schemas: ImageContent, ReasoningContent, TextContent, ToolCallContent, ToolResponseContent. Details: " + ", ".join(error_messages))
151
+ elif match == 0:
152
+ # no match
153
+ raise ValueError("No match found when deserializing the JSON string into MessageContentInner with oneOf schemas: ImageContent, ReasoningContent, TextContent, ToolCallContent, ToolResponseContent. Details: " + ", ".join(error_messages))
154
+ else:
155
+ return instance
156
+
157
+ def to_json(self) -> str:
158
+ """Returns the JSON representation of the actual instance"""
159
+ if self.actual_instance is None:
160
+ return "null"
161
+
162
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
163
+ return self.actual_instance.to_json()
164
+ else:
165
+ return json.dumps(self.actual_instance)
166
+
167
+ def to_dict(self) -> Optional[Union[Dict[str, Any], ImageContent, ReasoningContent, TextContent, ToolCallContent, ToolResponseContent]]:
168
+ """Returns the dict representation of the actual instance"""
169
+ if self.actual_instance is None:
170
+ return None
171
+
172
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
173
+ return self.actual_instance.to_dict()
174
+ else:
175
+ # primitive type
176
+ return self.actual_instance
177
+
178
+ def to_str(self) -> str:
179
+ """Returns the string representation of the actual instance"""
180
+ return pprint.pformat(self.model_dump())
181
+
182
+
@@ -0,0 +1,182 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Adaline API
5
+
6
+ API for managing Adaline deployments, logs, and core type definitions.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import json
17
+ import pprint
18
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
19
+ from typing import Any, List, Optional
20
+ from adaline_api.models.image_content_type import ImageContentType
21
+ from adaline_api.models.reasoning_content_type import ReasoningContentType
22
+ from adaline_api.models.text_content_type import TextContentType
23
+ from adaline_api.models.tool_call_content_type import ToolCallContentType
24
+ from adaline_api.models.tool_response_content_type import ToolResponseContentType
25
+ from pydantic import StrictStr, Field
26
+ from typing import Union, List, Set, Optional, Dict
27
+ from typing_extensions import Literal, Self
28
+
29
+ MESSAGECONTENTTYPEINNER_ONE_OF_SCHEMAS = ["ImageContentType", "ReasoningContentType", "TextContentType", "ToolCallContentType", "ToolResponseContentType"]
30
+
31
+ class MessageContentTypeInner(BaseModel):
32
+ """
33
+ MessageContentTypeInner
34
+ """
35
+ # data type: TextContentType
36
+ oneof_schema_1_validator: Optional[TextContentType] = None
37
+ # data type: ImageContentType
38
+ oneof_schema_2_validator: Optional[ImageContentType] = None
39
+ # data type: ToolCallContentType
40
+ oneof_schema_3_validator: Optional[ToolCallContentType] = None
41
+ # data type: ToolResponseContentType
42
+ oneof_schema_4_validator: Optional[ToolResponseContentType] = None
43
+ # data type: ReasoningContentType
44
+ oneof_schema_5_validator: Optional[ReasoningContentType] = None
45
+ actual_instance: Optional[Union[ImageContentType, ReasoningContentType, TextContentType, ToolCallContentType, ToolResponseContentType]] = None
46
+ one_of_schemas: Set[str] = { "ImageContentType", "ReasoningContentType", "TextContentType", "ToolCallContentType", "ToolResponseContentType" }
47
+
48
+ model_config = ConfigDict(
49
+ validate_assignment=True,
50
+ protected_namespaces=(),
51
+ )
52
+
53
+
54
+ discriminator_value_class_map: Dict[str, str] = {
55
+ }
56
+
57
+ def __init__(self, *args, **kwargs) -> None:
58
+ if args:
59
+ if len(args) > 1:
60
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
61
+ if kwargs:
62
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
63
+ super().__init__(actual_instance=args[0])
64
+ else:
65
+ super().__init__(**kwargs)
66
+
67
+ @field_validator('actual_instance')
68
+ def actual_instance_must_validate_oneof(cls, v):
69
+ instance = MessageContentTypeInner.model_construct()
70
+ error_messages = []
71
+ match = 0
72
+ # validate data type: TextContentType
73
+ if not isinstance(v, TextContentType):
74
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TextContentType`")
75
+ else:
76
+ match += 1
77
+ # validate data type: ImageContentType
78
+ if not isinstance(v, ImageContentType):
79
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ImageContentType`")
80
+ else:
81
+ match += 1
82
+ # validate data type: ToolCallContentType
83
+ if not isinstance(v, ToolCallContentType):
84
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ToolCallContentType`")
85
+ else:
86
+ match += 1
87
+ # validate data type: ToolResponseContentType
88
+ if not isinstance(v, ToolResponseContentType):
89
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ToolResponseContentType`")
90
+ else:
91
+ match += 1
92
+ # validate data type: ReasoningContentType
93
+ if not isinstance(v, ReasoningContentType):
94
+ error_messages.append(f"Error! Input type `{type(v)}` is not `ReasoningContentType`")
95
+ else:
96
+ match += 1
97
+ if match > 1:
98
+ # more than 1 match
99
+ raise ValueError("Multiple matches found when setting `actual_instance` in MessageContentTypeInner with oneOf schemas: ImageContentType, ReasoningContentType, TextContentType, ToolCallContentType, ToolResponseContentType. Details: " + ", ".join(error_messages))
100
+ elif match == 0:
101
+ # no match
102
+ raise ValueError("No match found when setting `actual_instance` in MessageContentTypeInner with oneOf schemas: ImageContentType, ReasoningContentType, TextContentType, ToolCallContentType, ToolResponseContentType. Details: " + ", ".join(error_messages))
103
+ else:
104
+ return v
105
+
106
+ @classmethod
107
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
108
+ return cls.from_json(json.dumps(obj))
109
+
110
+ @classmethod
111
+ def from_json(cls, json_str: str) -> Self:
112
+ """Returns the object represented by the json string"""
113
+ instance = cls.model_construct()
114
+ error_messages = []
115
+ match = 0
116
+
117
+ # deserialize data into TextContentType
118
+ try:
119
+ instance.actual_instance = TextContentType.from_json(json_str)
120
+ match += 1
121
+ except (ValidationError, ValueError) as e:
122
+ error_messages.append(str(e))
123
+ # deserialize data into ImageContentType
124
+ try:
125
+ instance.actual_instance = ImageContentType.from_json(json_str)
126
+ match += 1
127
+ except (ValidationError, ValueError) as e:
128
+ error_messages.append(str(e))
129
+ # deserialize data into ToolCallContentType
130
+ try:
131
+ instance.actual_instance = ToolCallContentType.from_json(json_str)
132
+ match += 1
133
+ except (ValidationError, ValueError) as e:
134
+ error_messages.append(str(e))
135
+ # deserialize data into ToolResponseContentType
136
+ try:
137
+ instance.actual_instance = ToolResponseContentType.from_json(json_str)
138
+ match += 1
139
+ except (ValidationError, ValueError) as e:
140
+ error_messages.append(str(e))
141
+ # deserialize data into ReasoningContentType
142
+ try:
143
+ instance.actual_instance = ReasoningContentType.from_json(json_str)
144
+ match += 1
145
+ except (ValidationError, ValueError) as e:
146
+ error_messages.append(str(e))
147
+
148
+ if match > 1:
149
+ # more than 1 match
150
+ raise ValueError("Multiple matches found when deserializing the JSON string into MessageContentTypeInner with oneOf schemas: ImageContentType, ReasoningContentType, TextContentType, ToolCallContentType, ToolResponseContentType. Details: " + ", ".join(error_messages))
151
+ elif match == 0:
152
+ # no match
153
+ raise ValueError("No match found when deserializing the JSON string into MessageContentTypeInner with oneOf schemas: ImageContentType, ReasoningContentType, TextContentType, ToolCallContentType, ToolResponseContentType. Details: " + ", ".join(error_messages))
154
+ else:
155
+ return instance
156
+
157
+ def to_json(self) -> str:
158
+ """Returns the JSON representation of the actual instance"""
159
+ if self.actual_instance is None:
160
+ return "null"
161
+
162
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
163
+ return self.actual_instance.to_json()
164
+ else:
165
+ return json.dumps(self.actual_instance)
166
+
167
+ def to_dict(self) -> Optional[Union[Dict[str, Any], ImageContentType, ReasoningContentType, TextContentType, ToolCallContentType, ToolResponseContentType]]:
168
+ """Returns the dict representation of the actual instance"""
169
+ if self.actual_instance is None:
170
+ return None
171
+
172
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
173
+ return self.actual_instance.to_dict()
174
+ else:
175
+ # primitive type
176
+ return self.actual_instance
177
+
178
+ def to_str(self) -> str:
179
+ """Returns the string representation of the actual instance"""
180
+ return pprint.pformat(self.model_dump())
181
+
182
+
@@ -0,0 +1,98 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Adaline API
5
+
6
+ API for managing Adaline deployments, logs, and core type definitions.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict
21
+ from typing import Any, ClassVar, Dict, List
22
+ from adaline_api.models.content_type import ContentType
23
+ from adaline_api.models.role_enum_type import RoleEnumType
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class MessageType(BaseModel):
28
+ """
29
+ MessageType
30
+ """ # noqa: E501
31
+ role: RoleEnumType
32
+ content: List[ContentType]
33
+ __properties: ClassVar[List[str]] = ["role", "content"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of MessageType from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # override the default output from pydantic by calling `to_dict()` of each item in content (list)
75
+ _items = []
76
+ if self.content:
77
+ for _item_content in self.content:
78
+ if _item_content:
79
+ _items.append(_item_content.to_dict())
80
+ _dict['content'] = _items
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of MessageType from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "role": obj.get("role"),
94
+ "content": [ContentType.from_dict(_item) for _item in obj["content"]] if obj.get("content") is not None else None
95
+ })
96
+ return _obj
97
+
98
+