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.
- adaline_api/__init__.py +193 -0
- adaline_api/api/__init__.py +5 -0
- adaline_api/api/default_api.py +1221 -0
- adaline_api/api_client.py +804 -0
- adaline_api/api_response.py +21 -0
- adaline_api/configuration.py +582 -0
- adaline_api/exceptions.py +216 -0
- adaline_api/models/__init__.py +89 -0
- adaline_api/models/api_message_content.py +113 -0
- adaline_api/models/api_message_content_type.py +113 -0
- adaline_api/models/base64_hosted_image_content_value.py +99 -0
- adaline_api/models/base64_hosted_image_content_value_type.py +99 -0
- adaline_api/models/base64_hosted_pdf_content_value.py +99 -0
- adaline_api/models/base64_hosted_pdf_content_value_type.py +99 -0
- adaline_api/models/base64_image_content_value.py +105 -0
- adaline_api/models/base64_image_content_value_type.py +105 -0
- adaline_api/models/base64_media.py +118 -0
- adaline_api/models/base64_media_type.py +118 -0
- adaline_api/models/base64_pdf_content_value.py +96 -0
- adaline_api/models/base64_pdf_content_value_type.py +96 -0
- adaline_api/models/base_entity.py +96 -0
- adaline_api/models/config_type.py +94 -0
- adaline_api/models/content.py +196 -0
- adaline_api/models/content_type.py +196 -0
- adaline_api/models/create_log_span_request.py +94 -0
- adaline_api/models/create_log_span_request_span.py +150 -0
- adaline_api/models/create_log_span_request_type.py +94 -0
- adaline_api/models/create_log_span_response.py +88 -0
- adaline_api/models/create_log_span_response_type.py +88 -0
- adaline_api/models/create_log_trace_request.py +104 -0
- adaline_api/models/create_log_trace_request_span.py +146 -0
- adaline_api/models/create_log_trace_request_trace.py +122 -0
- adaline_api/models/create_log_trace_request_type.py +104 -0
- adaline_api/models/create_log_trace_response.py +90 -0
- adaline_api/models/create_log_trace_response_type.py +90 -0
- adaline_api/models/deployment.py +107 -0
- adaline_api/models/deployment_prompt.py +121 -0
- adaline_api/models/deployment_prompt_config.py +94 -0
- adaline_api/models/deployment_prompt_config_type.py +94 -0
- adaline_api/models/deployment_prompt_type.py +121 -0
- adaline_api/models/deployment_prompt_variables.py +96 -0
- adaline_api/models/deployment_prompt_variables_type.py +96 -0
- adaline_api/models/deployment_type.py +107 -0
- adaline_api/models/deployment_type_prompt.py +121 -0
- adaline_api/models/enum_value.py +166 -0
- adaline_api/models/enum_value_type.py +166 -0
- adaline_api/models/error_response.py +91 -0
- adaline_api/models/error_response_type.py +91 -0
- adaline_api/models/function.py +101 -0
- adaline_api/models/function_parameter.py +139 -0
- adaline_api/models/function_parameter_type.py +139 -0
- adaline_api/models/function_parameters.py +115 -0
- adaline_api/models/function_parameters_type.py +115 -0
- adaline_api/models/function_request_http.py +121 -0
- adaline_api/models/function_request_http_type.py +121 -0
- adaline_api/models/function_request_retry.py +92 -0
- adaline_api/models/function_request_retry_type.py +92 -0
- adaline_api/models/function_tool.py +106 -0
- adaline_api/models/function_tool_definition.py +91 -0
- adaline_api/models/function_tool_definition_type.py +104 -0
- adaline_api/models/function_tool_type.py +106 -0
- adaline_api/models/function_tool_type_definition.py +91 -0
- adaline_api/models/function_type.py +106 -0
- adaline_api/models/image_content.py +109 -0
- adaline_api/models/image_content_type.py +109 -0
- adaline_api/models/image_content_value.py +140 -0
- adaline_api/models/image_content_value_type.py +140 -0
- adaline_api/models/image_message_content.py +111 -0
- adaline_api/models/image_message_content_type.py +111 -0
- adaline_api/models/image_message_content_type_value.py +154 -0
- adaline_api/models/image_message_content_value.py +154 -0
- adaline_api/models/image_source.py +140 -0
- adaline_api/models/image_source_type.py +140 -0
- adaline_api/models/log_attributes_value.py +160 -0
- adaline_api/models/log_feedback_comment.py +98 -0
- adaline_api/models/log_span.py +180 -0
- adaline_api/models/log_span_all_of_internal_feedback.py +98 -0
- adaline_api/models/log_span_content.py +224 -0
- adaline_api/models/log_span_embeddings_content.py +101 -0
- adaline_api/models/log_span_event.py +96 -0
- adaline_api/models/log_span_function_content.py +101 -0
- adaline_api/models/log_span_guardrail_content.py +101 -0
- adaline_api/models/log_span_model_content.py +109 -0
- adaline_api/models/log_span_model_stream_content.py +111 -0
- adaline_api/models/log_span_other_content.py +101 -0
- adaline_api/models/log_span_parsed_content.py +101 -0
- adaline_api/models/log_span_retrieval_content.py +101 -0
- adaline_api/models/log_span_tool_content.py +101 -0
- adaline_api/models/log_trace.py +132 -0
- adaline_api/models/log_trace_attributes_inner.py +102 -0
- adaline_api/models/log_trace_attributes_value.py +160 -0
- adaline_api/models/log_trace_attributes_value_type.py +160 -0
- adaline_api/models/log_trace_tags_inner.py +96 -0
- adaline_api/models/log_trace_type.py +132 -0
- adaline_api/models/log_trace_type_attributes_inner.py +102 -0
- adaline_api/models/log_trace_type_tags_inner.py +96 -0
- adaline_api/models/mcp_server.py +114 -0
- adaline_api/models/mcp_server_tool_configuration.py +90 -0
- adaline_api/models/mcp_server_tool_configuration_type.py +90 -0
- adaline_api/models/mcp_server_type.py +114 -0
- adaline_api/models/message.py +98 -0
- adaline_api/models/message_content_inner.py +182 -0
- adaline_api/models/message_content_type_inner.py +182 -0
- adaline_api/models/message_type.py +98 -0
- adaline_api/models/modality_enum.py +41 -0
- adaline_api/models/modality_enum_type.py +41 -0
- adaline_api/models/pdf_content.py +106 -0
- adaline_api/models/pdf_content_file.py +91 -0
- adaline_api/models/pdf_content_type.py +106 -0
- adaline_api/models/pdf_content_type_file.py +91 -0
- adaline_api/models/pdf_content_value.py +140 -0
- adaline_api/models/pdf_content_value_type.py +140 -0
- adaline_api/models/pdf_message_content.py +108 -0
- adaline_api/models/pdf_message_content_file.py +91 -0
- adaline_api/models/pdf_message_content_type.py +108 -0
- adaline_api/models/pdf_message_content_type_file.py +91 -0
- adaline_api/models/pdf_message_content_type_value.py +154 -0
- adaline_api/models/pdf_message_content_value.py +154 -0
- adaline_api/models/prompt_variable.py +96 -0
- adaline_api/models/prompt_variable_value.py +210 -0
- adaline_api/models/reasoning_content.py +100 -0
- adaline_api/models/reasoning_content_type.py +100 -0
- adaline_api/models/reasoning_content_value.py +98 -0
- adaline_api/models/reasoning_content_value_type.py +98 -0
- adaline_api/models/reasoning_content_value_union.py +140 -0
- adaline_api/models/reasoning_content_value_union_type.py +140 -0
- adaline_api/models/reasoning_message_content.py +102 -0
- adaline_api/models/reasoning_message_content_type.py +102 -0
- adaline_api/models/reasoning_message_content_type_value.py +140 -0
- adaline_api/models/reasoning_message_content_value.py +140 -0
- adaline_api/models/reasoning_redacted_value.py +109 -0
- adaline_api/models/reasoning_redacted_value_type.py +109 -0
- adaline_api/models/reasoning_thinking_value.py +111 -0
- adaline_api/models/reasoning_thinking_value_type.py +111 -0
- adaline_api/models/reasoning_value.py +140 -0
- adaline_api/models/reasoning_value_type.py +140 -0
- adaline_api/models/redacted_reasoning_content_value.py +96 -0
- adaline_api/models/redacted_reasoning_content_value_type.py +96 -0
- adaline_api/models/response_schema.py +105 -0
- adaline_api/models/response_schema_property.py +135 -0
- adaline_api/models/response_schema_property_enum_inner.py +166 -0
- adaline_api/models/response_schema_property_type.py +143 -0
- adaline_api/models/response_schema_property_type_enum_inner.py +166 -0
- adaline_api/models/response_schema_property_type_type.py +143 -0
- adaline_api/models/response_schema_structure.py +122 -0
- adaline_api/models/response_schema_structure_type.py +122 -0
- adaline_api/models/response_schema_type.py +105 -0
- adaline_api/models/role_enum.py +39 -0
- adaline_api/models/role_enum_type.py +39 -0
- adaline_api/models/span_content_detailed.py +112 -0
- adaline_api/models/span_content_detailed_type.py +112 -0
- adaline_api/models/span_content_detailed_type_variables_value.py +94 -0
- adaline_api/models/span_content_detailed_variables_value.py +94 -0
- adaline_api/models/span_content_minimal.py +91 -0
- adaline_api/models/span_content_minimal_type.py +91 -0
- adaline_api/models/span_log_req_attributes.py +160 -0
- adaline_api/models/span_log_req_attributes_type.py +160 -0
- adaline_api/models/span_log_req_content.py +137 -0
- adaline_api/models/span_log_req_content_type.py +137 -0
- adaline_api/models/span_log_request.py +93 -0
- adaline_api/models/span_log_request_span.py +139 -0
- adaline_api/models/span_log_request_type.py +93 -0
- adaline_api/models/span_log_request_type_span.py +139 -0
- adaline_api/models/span_log_response.py +87 -0
- adaline_api/models/span_log_response_type.py +87 -0
- adaline_api/models/spans_request_attribute_value.py +160 -0
- adaline_api/models/spans_request_attribute_value_type.py +160 -0
- adaline_api/models/spans_request_content_value.py +143 -0
- adaline_api/models/spans_request_content_value_type.py +143 -0
- adaline_api/models/text_content.py +96 -0
- adaline_api/models/text_content_type.py +96 -0
- adaline_api/models/text_message_content.py +98 -0
- adaline_api/models/text_message_content_type.py +98 -0
- adaline_api/models/tool_call_content.py +105 -0
- adaline_api/models/tool_call_content_type.py +105 -0
- adaline_api/models/tool_call_message_content.py +107 -0
- adaline_api/models/tool_call_message_content_type.py +107 -0
- adaline_api/models/tool_response_content.py +109 -0
- adaline_api/models/tool_response_content_api_response.py +88 -0
- adaline_api/models/tool_response_content_type.py +109 -0
- adaline_api/models/tool_response_content_type_api_response.py +88 -0
- adaline_api/models/tool_response_message_content.py +111 -0
- adaline_api/models/tool_response_message_content_api_response.py +87 -0
- adaline_api/models/tool_response_message_content_type.py +111 -0
- adaline_api/models/tool_response_message_content_type_api_response.py +87 -0
- adaline_api/models/tool_type.py +113 -0
- adaline_api/models/trace_log_patch_request.py +137 -0
- adaline_api/models/trace_log_patch_request_one_of.py +97 -0
- adaline_api/models/trace_log_patch_request_one_of1.py +97 -0
- adaline_api/models/trace_log_patch_request_type.py +137 -0
- adaline_api/models/trace_log_patch_request_type_one_of.py +97 -0
- adaline_api/models/trace_log_patch_request_type_one_of1.py +97 -0
- adaline_api/models/trace_log_patch_response.py +87 -0
- adaline_api/models/trace_log_patch_response_type.py +87 -0
- adaline_api/models/trace_log_request.py +103 -0
- adaline_api/models/trace_log_request_spans_inner.py +135 -0
- adaline_api/models/trace_log_request_trace.py +121 -0
- adaline_api/models/trace_log_request_type.py +103 -0
- adaline_api/models/trace_log_request_type_spans_inner.py +135 -0
- adaline_api/models/trace_log_request_type_trace.py +121 -0
- adaline_api/models/trace_log_response.py +89 -0
- adaline_api/models/trace_log_response_type.py +89 -0
- adaline_api/models/trace_request_attribute_value.py +160 -0
- adaline_api/models/trace_request_attribute_value_type.py +160 -0
- adaline_api/models/update_log_trace_request.py +98 -0
- adaline_api/models/update_log_trace_request_attribute_item.py +140 -0
- adaline_api/models/update_log_trace_request_attribute_item_one_of.py +102 -0
- adaline_api/models/update_log_trace_request_attribute_item_one_of1.py +96 -0
- adaline_api/models/update_log_trace_request_attribute_item_one_of_value.py +160 -0
- adaline_api/models/update_log_trace_request_tag_item.py +140 -0
- adaline_api/models/update_log_trace_request_tag_item_one_of.py +97 -0
- adaline_api/models/update_log_trace_request_tag_item_one_of1.py +97 -0
- adaline_api/models/update_log_trace_request_trace.py +120 -0
- adaline_api/models/update_log_trace_request_type.py +98 -0
- adaline_api/models/update_log_trace_response.py +87 -0
- adaline_api/models/update_log_trace_response_type.py +87 -0
- adaline_api/models/url_image_content_value.py +96 -0
- adaline_api/models/url_image_content_value_type.py +96 -0
- adaline_api/models/url_media.py +109 -0
- adaline_api/models/url_media_type.py +109 -0
- adaline_api/models/url_pdf_content_value.py +96 -0
- adaline_api/models/url_pdf_content_value_type.py +96 -0
- adaline_api/models/variable.py +96 -0
- adaline_api/models/variable_type.py +96 -0
- adaline_api/models/variable_type_value.py +196 -0
- adaline_api/models/variable_value.py +196 -0
- adaline_api/models/variables_type.py +96 -0
- adaline_api/py.typed +0 -0
- adaline_api/rest.py +213 -0
- adaline_api-1.0.0.dist-info/METADATA +227 -0
- adaline_api-1.0.0.dist-info/RECORD +233 -0
- adaline_api-1.0.0.dist-info/WHEEL +5 -0
- adaline_api-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,135 @@
|
|
|
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, StrictBool, StrictInt, StrictStr, field_validator
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from adaline_api.models.spans_request_attribute_value import SpansRequestAttributeValue
|
|
23
|
+
from adaline_api.models.spans_request_content_value import SpansRequestContentValue
|
|
24
|
+
from typing import Optional, Set
|
|
25
|
+
from typing_extensions import Self
|
|
26
|
+
|
|
27
|
+
class TraceLogRequestSpansInner(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
TraceLogRequestSpansInner
|
|
30
|
+
""" # noqa: E501
|
|
31
|
+
prompt_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the prompt in Adaline.", alias="promptId")
|
|
32
|
+
deployment_id: Optional[StrictStr] = Field(default=None, description="The deployment ID of the prompt in Adaline.", alias="deploymentId")
|
|
33
|
+
started_at: StrictInt = Field(description="Unix timestamp when the span started (milliseconds).", alias="startedAt")
|
|
34
|
+
ended_at: StrictInt = Field(description="Unix timestamp when the span ended (milliseconds).", alias="endedAt")
|
|
35
|
+
name: StrictStr = Field(description="Name/identifier for the span.")
|
|
36
|
+
status: StrictStr = Field(description="Status of the span.")
|
|
37
|
+
content: SpansRequestContentValue = Field(description="The stringified JSON content of the span (max 1MB).")
|
|
38
|
+
run_evaluation: Optional[StrictBool] = Field(default=None, description="Whether to run evaluation on this span.", alias="runEvaluation")
|
|
39
|
+
parent_reference_id: Optional[StrictStr] = Field(default=None, description="Reference ID of the parent span.", alias="parentReferenceId")
|
|
40
|
+
reference_id: Optional[StrictStr] = Field(default=None, description="External reference ID for the span.", alias="referenceId")
|
|
41
|
+
session_id: Optional[StrictStr] = Field(default=None, description="Session ID associated with the span.", alias="sessionId")
|
|
42
|
+
attributes: Optional[Dict[str, SpansRequestAttributeValue]] = Field(default=None, description="Additional key-value pairs of span attributes.")
|
|
43
|
+
tags: Optional[List[StrictStr]] = Field(default=None, description="Array of tags for categorization.")
|
|
44
|
+
__properties: ClassVar[List[str]] = ["promptId", "deploymentId", "startedAt", "endedAt", "name", "status", "content", "runEvaluation", "parentReferenceId", "referenceId", "sessionId", "attributes", "tags"]
|
|
45
|
+
|
|
46
|
+
@field_validator('status')
|
|
47
|
+
def status_validate_enum(cls, value):
|
|
48
|
+
"""Validates the enum"""
|
|
49
|
+
if value not in set(['success', 'failure', 'unknown']):
|
|
50
|
+
raise ValueError("must be one of enum values ('success', 'failure', 'unknown')")
|
|
51
|
+
return value
|
|
52
|
+
|
|
53
|
+
model_config = ConfigDict(
|
|
54
|
+
populate_by_name=True,
|
|
55
|
+
validate_assignment=True,
|
|
56
|
+
protected_namespaces=(),
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def to_str(self) -> str:
|
|
61
|
+
"""Returns the string representation of the model using alias"""
|
|
62
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
63
|
+
|
|
64
|
+
def to_json(self) -> str:
|
|
65
|
+
"""Returns the JSON representation of the model using alias"""
|
|
66
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
67
|
+
return json.dumps(self.to_dict())
|
|
68
|
+
|
|
69
|
+
@classmethod
|
|
70
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
71
|
+
"""Create an instance of TraceLogRequestSpansInner from a JSON string"""
|
|
72
|
+
return cls.from_dict(json.loads(json_str))
|
|
73
|
+
|
|
74
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
75
|
+
"""Return the dictionary representation of the model using alias.
|
|
76
|
+
|
|
77
|
+
This has the following differences from calling pydantic's
|
|
78
|
+
`self.model_dump(by_alias=True)`:
|
|
79
|
+
|
|
80
|
+
* `None` is only added to the output dict for nullable fields that
|
|
81
|
+
were set at model initialization. Other fields with value `None`
|
|
82
|
+
are ignored.
|
|
83
|
+
"""
|
|
84
|
+
excluded_fields: Set[str] = set([
|
|
85
|
+
])
|
|
86
|
+
|
|
87
|
+
_dict = self.model_dump(
|
|
88
|
+
by_alias=True,
|
|
89
|
+
exclude=excluded_fields,
|
|
90
|
+
exclude_none=True,
|
|
91
|
+
)
|
|
92
|
+
# override the default output from pydantic by calling `to_dict()` of content
|
|
93
|
+
if self.content:
|
|
94
|
+
_dict['content'] = self.content.to_dict()
|
|
95
|
+
# override the default output from pydantic by calling `to_dict()` of each value in attributes (dict)
|
|
96
|
+
_field_dict = {}
|
|
97
|
+
if self.attributes:
|
|
98
|
+
for _key_attributes in self.attributes:
|
|
99
|
+
if self.attributes[_key_attributes]:
|
|
100
|
+
_field_dict[_key_attributes] = self.attributes[_key_attributes].to_dict()
|
|
101
|
+
_dict['attributes'] = _field_dict
|
|
102
|
+
return _dict
|
|
103
|
+
|
|
104
|
+
@classmethod
|
|
105
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
106
|
+
"""Create an instance of TraceLogRequestSpansInner from a dict"""
|
|
107
|
+
if obj is None:
|
|
108
|
+
return None
|
|
109
|
+
|
|
110
|
+
if not isinstance(obj, dict):
|
|
111
|
+
return cls.model_validate(obj)
|
|
112
|
+
|
|
113
|
+
_obj = cls.model_validate({
|
|
114
|
+
"promptId": obj.get("promptId"),
|
|
115
|
+
"deploymentId": obj.get("deploymentId"),
|
|
116
|
+
"startedAt": obj.get("startedAt"),
|
|
117
|
+
"endedAt": obj.get("endedAt"),
|
|
118
|
+
"name": obj.get("name"),
|
|
119
|
+
"status": obj.get("status"),
|
|
120
|
+
"content": SpansRequestContentValue.from_dict(obj["content"]) if obj.get("content") is not None else None,
|
|
121
|
+
"runEvaluation": obj.get("runEvaluation"),
|
|
122
|
+
"parentReferenceId": obj.get("parentReferenceId"),
|
|
123
|
+
"referenceId": obj.get("referenceId"),
|
|
124
|
+
"sessionId": obj.get("sessionId"),
|
|
125
|
+
"attributes": dict(
|
|
126
|
+
(_k, SpansRequestAttributeValue.from_dict(_v))
|
|
127
|
+
for _k, _v in obj["attributes"].items()
|
|
128
|
+
)
|
|
129
|
+
if obj.get("attributes") is not None
|
|
130
|
+
else None,
|
|
131
|
+
"tags": obj.get("tags")
|
|
132
|
+
})
|
|
133
|
+
return _obj
|
|
134
|
+
|
|
135
|
+
|
|
@@ -0,0 +1,121 @@
|
|
|
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, StrictInt, StrictStr, field_validator
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from adaline_api.models.trace_request_attribute_value import TraceRequestAttributeValue
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class TraceLogRequestTrace(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
The trace object containing trace details.
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
started_at: StrictInt = Field(description="Unix timestamp when the trace started (milliseconds).", alias="startedAt")
|
|
31
|
+
ended_at: Optional[StrictInt] = Field(default=None, description="Unix timestamp when the trace ended (current time if not provided).", alias="endedAt")
|
|
32
|
+
name: StrictStr = Field(description="Name/identifier for the trace.")
|
|
33
|
+
status: StrictStr = Field(description="Status of the trace.")
|
|
34
|
+
reference_id: Optional[StrictStr] = Field(default=None, description="External reference ID for the trace.", alias="referenceId")
|
|
35
|
+
session_id: Optional[StrictStr] = Field(default=None, description="Session ID associated with the trace.", alias="sessionId")
|
|
36
|
+
attributes: Optional[Dict[str, TraceRequestAttributeValue]] = Field(default=None, description="Key-value pairs of additional trace attributes.")
|
|
37
|
+
tags: Optional[List[StrictStr]] = Field(default=None, description="Array of tags for categorization.")
|
|
38
|
+
__properties: ClassVar[List[str]] = ["startedAt", "endedAt", "name", "status", "referenceId", "sessionId", "attributes", "tags"]
|
|
39
|
+
|
|
40
|
+
@field_validator('status')
|
|
41
|
+
def status_validate_enum(cls, value):
|
|
42
|
+
"""Validates the enum"""
|
|
43
|
+
if value not in set(['success', 'failure', 'pending', 'unknown']):
|
|
44
|
+
raise ValueError("must be one of enum values ('success', 'failure', 'pending', 'unknown')")
|
|
45
|
+
return value
|
|
46
|
+
|
|
47
|
+
model_config = ConfigDict(
|
|
48
|
+
populate_by_name=True,
|
|
49
|
+
validate_assignment=True,
|
|
50
|
+
protected_namespaces=(),
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def to_str(self) -> str:
|
|
55
|
+
"""Returns the string representation of the model using alias"""
|
|
56
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
57
|
+
|
|
58
|
+
def to_json(self) -> str:
|
|
59
|
+
"""Returns the JSON representation of the model using alias"""
|
|
60
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
61
|
+
return json.dumps(self.to_dict())
|
|
62
|
+
|
|
63
|
+
@classmethod
|
|
64
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
65
|
+
"""Create an instance of TraceLogRequestTrace from a JSON string"""
|
|
66
|
+
return cls.from_dict(json.loads(json_str))
|
|
67
|
+
|
|
68
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
69
|
+
"""Return the dictionary representation of the model using alias.
|
|
70
|
+
|
|
71
|
+
This has the following differences from calling pydantic's
|
|
72
|
+
`self.model_dump(by_alias=True)`:
|
|
73
|
+
|
|
74
|
+
* `None` is only added to the output dict for nullable fields that
|
|
75
|
+
were set at model initialization. Other fields with value `None`
|
|
76
|
+
are ignored.
|
|
77
|
+
"""
|
|
78
|
+
excluded_fields: Set[str] = set([
|
|
79
|
+
])
|
|
80
|
+
|
|
81
|
+
_dict = self.model_dump(
|
|
82
|
+
by_alias=True,
|
|
83
|
+
exclude=excluded_fields,
|
|
84
|
+
exclude_none=True,
|
|
85
|
+
)
|
|
86
|
+
# override the default output from pydantic by calling `to_dict()` of each value in attributes (dict)
|
|
87
|
+
_field_dict = {}
|
|
88
|
+
if self.attributes:
|
|
89
|
+
for _key_attributes in self.attributes:
|
|
90
|
+
if self.attributes[_key_attributes]:
|
|
91
|
+
_field_dict[_key_attributes] = self.attributes[_key_attributes].to_dict()
|
|
92
|
+
_dict['attributes'] = _field_dict
|
|
93
|
+
return _dict
|
|
94
|
+
|
|
95
|
+
@classmethod
|
|
96
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
97
|
+
"""Create an instance of TraceLogRequestTrace from a dict"""
|
|
98
|
+
if obj is None:
|
|
99
|
+
return None
|
|
100
|
+
|
|
101
|
+
if not isinstance(obj, dict):
|
|
102
|
+
return cls.model_validate(obj)
|
|
103
|
+
|
|
104
|
+
_obj = cls.model_validate({
|
|
105
|
+
"startedAt": obj.get("startedAt"),
|
|
106
|
+
"endedAt": obj.get("endedAt"),
|
|
107
|
+
"name": obj.get("name"),
|
|
108
|
+
"status": obj.get("status"),
|
|
109
|
+
"referenceId": obj.get("referenceId"),
|
|
110
|
+
"sessionId": obj.get("sessionId"),
|
|
111
|
+
"attributes": dict(
|
|
112
|
+
(_k, TraceRequestAttributeValue.from_dict(_v))
|
|
113
|
+
for _k, _v in obj["attributes"].items()
|
|
114
|
+
)
|
|
115
|
+
if obj.get("attributes") is not None
|
|
116
|
+
else None,
|
|
117
|
+
"tags": obj.get("tags")
|
|
118
|
+
})
|
|
119
|
+
return _obj
|
|
120
|
+
|
|
121
|
+
|
|
@@ -0,0 +1,103 @@
|
|
|
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
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from adaline_api.models.trace_log_request_type_spans_inner import TraceLogRequestTypeSpansInner
|
|
23
|
+
from adaline_api.models.trace_log_request_type_trace import TraceLogRequestTypeTrace
|
|
24
|
+
from typing import Optional, Set
|
|
25
|
+
from typing_extensions import Self
|
|
26
|
+
|
|
27
|
+
class TraceLogRequestType(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
TraceLogRequestType
|
|
30
|
+
""" # noqa: E501
|
|
31
|
+
project_id: StrictStr = Field(description="The unique identifier of the project in Adaline.", alias="projectId")
|
|
32
|
+
trace: TraceLogRequestTypeTrace
|
|
33
|
+
spans: Optional[List[TraceLogRequestTypeSpansInner]] = Field(default=None, description="Array of span objects to create with the trace.")
|
|
34
|
+
__properties: ClassVar[List[str]] = ["projectId", "trace", "spans"]
|
|
35
|
+
|
|
36
|
+
model_config = ConfigDict(
|
|
37
|
+
populate_by_name=True,
|
|
38
|
+
validate_assignment=True,
|
|
39
|
+
protected_namespaces=(),
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def to_str(self) -> str:
|
|
44
|
+
"""Returns the string representation of the model using alias"""
|
|
45
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
46
|
+
|
|
47
|
+
def to_json(self) -> str:
|
|
48
|
+
"""Returns the JSON representation of the model using alias"""
|
|
49
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
50
|
+
return json.dumps(self.to_dict())
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
54
|
+
"""Create an instance of TraceLogRequestType from a JSON string"""
|
|
55
|
+
return cls.from_dict(json.loads(json_str))
|
|
56
|
+
|
|
57
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
58
|
+
"""Return the dictionary representation of the model using alias.
|
|
59
|
+
|
|
60
|
+
This has the following differences from calling pydantic's
|
|
61
|
+
`self.model_dump(by_alias=True)`:
|
|
62
|
+
|
|
63
|
+
* `None` is only added to the output dict for nullable fields that
|
|
64
|
+
were set at model initialization. Other fields with value `None`
|
|
65
|
+
are ignored.
|
|
66
|
+
"""
|
|
67
|
+
excluded_fields: Set[str] = set([
|
|
68
|
+
])
|
|
69
|
+
|
|
70
|
+
_dict = self.model_dump(
|
|
71
|
+
by_alias=True,
|
|
72
|
+
exclude=excluded_fields,
|
|
73
|
+
exclude_none=True,
|
|
74
|
+
)
|
|
75
|
+
# override the default output from pydantic by calling `to_dict()` of trace
|
|
76
|
+
if self.trace:
|
|
77
|
+
_dict['trace'] = self.trace.to_dict()
|
|
78
|
+
# override the default output from pydantic by calling `to_dict()` of each item in spans (list)
|
|
79
|
+
_items = []
|
|
80
|
+
if self.spans:
|
|
81
|
+
for _item_spans in self.spans:
|
|
82
|
+
if _item_spans:
|
|
83
|
+
_items.append(_item_spans.to_dict())
|
|
84
|
+
_dict['spans'] = _items
|
|
85
|
+
return _dict
|
|
86
|
+
|
|
87
|
+
@classmethod
|
|
88
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
89
|
+
"""Create an instance of TraceLogRequestType from a dict"""
|
|
90
|
+
if obj is None:
|
|
91
|
+
return None
|
|
92
|
+
|
|
93
|
+
if not isinstance(obj, dict):
|
|
94
|
+
return cls.model_validate(obj)
|
|
95
|
+
|
|
96
|
+
_obj = cls.model_validate({
|
|
97
|
+
"projectId": obj.get("projectId"),
|
|
98
|
+
"trace": TraceLogRequestTypeTrace.from_dict(obj["trace"]) if obj.get("trace") is not None else None,
|
|
99
|
+
"spans": [TraceLogRequestTypeSpansInner.from_dict(_item) for _item in obj["spans"]] if obj.get("spans") is not None else None
|
|
100
|
+
})
|
|
101
|
+
return _obj
|
|
102
|
+
|
|
103
|
+
|
|
@@ -0,0 +1,135 @@
|
|
|
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, StrictBool, StrictInt, StrictStr, field_validator
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from adaline_api.models.spans_request_attribute_value_type import SpansRequestAttributeValueType
|
|
23
|
+
from adaline_api.models.spans_request_content_value_type import SpansRequestContentValueType
|
|
24
|
+
from typing import Optional, Set
|
|
25
|
+
from typing_extensions import Self
|
|
26
|
+
|
|
27
|
+
class TraceLogRequestTypeSpansInner(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
TraceLogRequestTypeSpansInner
|
|
30
|
+
""" # noqa: E501
|
|
31
|
+
prompt_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the prompt in Adaline.", alias="promptId")
|
|
32
|
+
deployment_id: Optional[StrictStr] = Field(default=None, description="The deployment ID of the prompt in Adaline.", alias="deploymentId")
|
|
33
|
+
started_at: StrictInt = Field(description="Unix timestamp when the span started (milliseconds).", alias="startedAt")
|
|
34
|
+
ended_at: StrictInt = Field(description="Unix timestamp when the span ended (milliseconds).", alias="endedAt")
|
|
35
|
+
name: StrictStr = Field(description="Name/identifier for the span.")
|
|
36
|
+
status: StrictStr = Field(description="Status of the span.")
|
|
37
|
+
content: SpansRequestContentValueType = Field(description="The stringified JSON content of the span (max 1MB).")
|
|
38
|
+
run_evaluation: Optional[StrictBool] = Field(default=None, description="Whether to run evaluation on this span.", alias="runEvaluation")
|
|
39
|
+
parent_reference_id: Optional[StrictStr] = Field(default=None, description="Reference ID of the parent span.", alias="parentReferenceId")
|
|
40
|
+
reference_id: Optional[StrictStr] = Field(default=None, description="External reference ID for the span.", alias="referenceId")
|
|
41
|
+
session_id: Optional[StrictStr] = Field(default=None, description="Session ID associated with the span.", alias="sessionId")
|
|
42
|
+
attributes: Optional[Dict[str, SpansRequestAttributeValueType]] = Field(default=None, description="Additional key-value pairs of span attributes.")
|
|
43
|
+
tags: Optional[List[StrictStr]] = Field(default=None, description="Array of tags for categorization.")
|
|
44
|
+
__properties: ClassVar[List[str]] = ["promptId", "deploymentId", "startedAt", "endedAt", "name", "status", "content", "runEvaluation", "parentReferenceId", "referenceId", "sessionId", "attributes", "tags"]
|
|
45
|
+
|
|
46
|
+
@field_validator('status')
|
|
47
|
+
def status_validate_enum(cls, value):
|
|
48
|
+
"""Validates the enum"""
|
|
49
|
+
if value not in set(['success', 'failure', 'unknown']):
|
|
50
|
+
raise ValueError("must be one of enum values ('success', 'failure', 'unknown')")
|
|
51
|
+
return value
|
|
52
|
+
|
|
53
|
+
model_config = ConfigDict(
|
|
54
|
+
populate_by_name=True,
|
|
55
|
+
validate_assignment=True,
|
|
56
|
+
protected_namespaces=(),
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def to_str(self) -> str:
|
|
61
|
+
"""Returns the string representation of the model using alias"""
|
|
62
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
63
|
+
|
|
64
|
+
def to_json(self) -> str:
|
|
65
|
+
"""Returns the JSON representation of the model using alias"""
|
|
66
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
67
|
+
return json.dumps(self.to_dict())
|
|
68
|
+
|
|
69
|
+
@classmethod
|
|
70
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
71
|
+
"""Create an instance of TraceLogRequestTypeSpansInner from a JSON string"""
|
|
72
|
+
return cls.from_dict(json.loads(json_str))
|
|
73
|
+
|
|
74
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
75
|
+
"""Return the dictionary representation of the model using alias.
|
|
76
|
+
|
|
77
|
+
This has the following differences from calling pydantic's
|
|
78
|
+
`self.model_dump(by_alias=True)`:
|
|
79
|
+
|
|
80
|
+
* `None` is only added to the output dict for nullable fields that
|
|
81
|
+
were set at model initialization. Other fields with value `None`
|
|
82
|
+
are ignored.
|
|
83
|
+
"""
|
|
84
|
+
excluded_fields: Set[str] = set([
|
|
85
|
+
])
|
|
86
|
+
|
|
87
|
+
_dict = self.model_dump(
|
|
88
|
+
by_alias=True,
|
|
89
|
+
exclude=excluded_fields,
|
|
90
|
+
exclude_none=True,
|
|
91
|
+
)
|
|
92
|
+
# override the default output from pydantic by calling `to_dict()` of content
|
|
93
|
+
if self.content:
|
|
94
|
+
_dict['content'] = self.content.to_dict()
|
|
95
|
+
# override the default output from pydantic by calling `to_dict()` of each value in attributes (dict)
|
|
96
|
+
_field_dict = {}
|
|
97
|
+
if self.attributes:
|
|
98
|
+
for _key_attributes in self.attributes:
|
|
99
|
+
if self.attributes[_key_attributes]:
|
|
100
|
+
_field_dict[_key_attributes] = self.attributes[_key_attributes].to_dict()
|
|
101
|
+
_dict['attributes'] = _field_dict
|
|
102
|
+
return _dict
|
|
103
|
+
|
|
104
|
+
@classmethod
|
|
105
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
106
|
+
"""Create an instance of TraceLogRequestTypeSpansInner from a dict"""
|
|
107
|
+
if obj is None:
|
|
108
|
+
return None
|
|
109
|
+
|
|
110
|
+
if not isinstance(obj, dict):
|
|
111
|
+
return cls.model_validate(obj)
|
|
112
|
+
|
|
113
|
+
_obj = cls.model_validate({
|
|
114
|
+
"promptId": obj.get("promptId"),
|
|
115
|
+
"deploymentId": obj.get("deploymentId"),
|
|
116
|
+
"startedAt": obj.get("startedAt"),
|
|
117
|
+
"endedAt": obj.get("endedAt"),
|
|
118
|
+
"name": obj.get("name"),
|
|
119
|
+
"status": obj.get("status"),
|
|
120
|
+
"content": SpansRequestContentValueType.from_dict(obj["content"]) if obj.get("content") is not None else None,
|
|
121
|
+
"runEvaluation": obj.get("runEvaluation"),
|
|
122
|
+
"parentReferenceId": obj.get("parentReferenceId"),
|
|
123
|
+
"referenceId": obj.get("referenceId"),
|
|
124
|
+
"sessionId": obj.get("sessionId"),
|
|
125
|
+
"attributes": dict(
|
|
126
|
+
(_k, SpansRequestAttributeValueType.from_dict(_v))
|
|
127
|
+
for _k, _v in obj["attributes"].items()
|
|
128
|
+
)
|
|
129
|
+
if obj.get("attributes") is not None
|
|
130
|
+
else None,
|
|
131
|
+
"tags": obj.get("tags")
|
|
132
|
+
})
|
|
133
|
+
return _obj
|
|
134
|
+
|
|
135
|
+
|
|
@@ -0,0 +1,121 @@
|
|
|
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, StrictInt, StrictStr, field_validator
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from adaline_api.models.trace_request_attribute_value_type import TraceRequestAttributeValueType
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class TraceLogRequestTypeTrace(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
The trace object containing trace details.
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
started_at: StrictInt = Field(description="Unix timestamp when the trace started (milliseconds).", alias="startedAt")
|
|
31
|
+
ended_at: Optional[StrictInt] = Field(default=None, description="Unix timestamp when the trace ended (current time if not provided).", alias="endedAt")
|
|
32
|
+
name: StrictStr = Field(description="Name/identifier for the trace.")
|
|
33
|
+
status: StrictStr = Field(description="Status of the trace.")
|
|
34
|
+
reference_id: Optional[StrictStr] = Field(default=None, description="External reference ID for the trace.", alias="referenceId")
|
|
35
|
+
session_id: Optional[StrictStr] = Field(default=None, description="Session ID associated with the trace.", alias="sessionId")
|
|
36
|
+
attributes: Optional[Dict[str, TraceRequestAttributeValueType]] = Field(default=None, description="Key-value pairs of additional trace attributes.")
|
|
37
|
+
tags: Optional[List[StrictStr]] = Field(default=None, description="Array of tags for categorization.")
|
|
38
|
+
__properties: ClassVar[List[str]] = ["startedAt", "endedAt", "name", "status", "referenceId", "sessionId", "attributes", "tags"]
|
|
39
|
+
|
|
40
|
+
@field_validator('status')
|
|
41
|
+
def status_validate_enum(cls, value):
|
|
42
|
+
"""Validates the enum"""
|
|
43
|
+
if value not in set(['success', 'failure', 'pending', 'unknown']):
|
|
44
|
+
raise ValueError("must be one of enum values ('success', 'failure', 'pending', 'unknown')")
|
|
45
|
+
return value
|
|
46
|
+
|
|
47
|
+
model_config = ConfigDict(
|
|
48
|
+
populate_by_name=True,
|
|
49
|
+
validate_assignment=True,
|
|
50
|
+
protected_namespaces=(),
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def to_str(self) -> str:
|
|
55
|
+
"""Returns the string representation of the model using alias"""
|
|
56
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
57
|
+
|
|
58
|
+
def to_json(self) -> str:
|
|
59
|
+
"""Returns the JSON representation of the model using alias"""
|
|
60
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
61
|
+
return json.dumps(self.to_dict())
|
|
62
|
+
|
|
63
|
+
@classmethod
|
|
64
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
65
|
+
"""Create an instance of TraceLogRequestTypeTrace from a JSON string"""
|
|
66
|
+
return cls.from_dict(json.loads(json_str))
|
|
67
|
+
|
|
68
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
69
|
+
"""Return the dictionary representation of the model using alias.
|
|
70
|
+
|
|
71
|
+
This has the following differences from calling pydantic's
|
|
72
|
+
`self.model_dump(by_alias=True)`:
|
|
73
|
+
|
|
74
|
+
* `None` is only added to the output dict for nullable fields that
|
|
75
|
+
were set at model initialization. Other fields with value `None`
|
|
76
|
+
are ignored.
|
|
77
|
+
"""
|
|
78
|
+
excluded_fields: Set[str] = set([
|
|
79
|
+
])
|
|
80
|
+
|
|
81
|
+
_dict = self.model_dump(
|
|
82
|
+
by_alias=True,
|
|
83
|
+
exclude=excluded_fields,
|
|
84
|
+
exclude_none=True,
|
|
85
|
+
)
|
|
86
|
+
# override the default output from pydantic by calling `to_dict()` of each value in attributes (dict)
|
|
87
|
+
_field_dict = {}
|
|
88
|
+
if self.attributes:
|
|
89
|
+
for _key_attributes in self.attributes:
|
|
90
|
+
if self.attributes[_key_attributes]:
|
|
91
|
+
_field_dict[_key_attributes] = self.attributes[_key_attributes].to_dict()
|
|
92
|
+
_dict['attributes'] = _field_dict
|
|
93
|
+
return _dict
|
|
94
|
+
|
|
95
|
+
@classmethod
|
|
96
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
97
|
+
"""Create an instance of TraceLogRequestTypeTrace from a dict"""
|
|
98
|
+
if obj is None:
|
|
99
|
+
return None
|
|
100
|
+
|
|
101
|
+
if not isinstance(obj, dict):
|
|
102
|
+
return cls.model_validate(obj)
|
|
103
|
+
|
|
104
|
+
_obj = cls.model_validate({
|
|
105
|
+
"startedAt": obj.get("startedAt"),
|
|
106
|
+
"endedAt": obj.get("endedAt"),
|
|
107
|
+
"name": obj.get("name"),
|
|
108
|
+
"status": obj.get("status"),
|
|
109
|
+
"referenceId": obj.get("referenceId"),
|
|
110
|
+
"sessionId": obj.get("sessionId"),
|
|
111
|
+
"attributes": dict(
|
|
112
|
+
(_k, TraceRequestAttributeValueType.from_dict(_v))
|
|
113
|
+
for _k, _v in obj["attributes"].items()
|
|
114
|
+
)
|
|
115
|
+
if obj.get("attributes") is not None
|
|
116
|
+
else None,
|
|
117
|
+
"tags": obj.get("tags")
|
|
118
|
+
})
|
|
119
|
+
return _obj
|
|
120
|
+
|
|
121
|
+
|