mirascope 2.0.0a4__py3-none-any.whl → 2.0.0a6__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.
- mirascope/__init__.py +10 -1
- mirascope/_stubs.py +363 -0
- mirascope/api/__init__.py +8 -0
- mirascope/api/_generated/__init__.py +119 -1
- mirascope/api/_generated/annotations/__init__.py +33 -0
- mirascope/api/_generated/annotations/client.py +474 -0
- mirascope/api/_generated/annotations/raw_client.py +1095 -0
- mirascope/api/_generated/annotations/types/__init__.py +31 -0
- mirascope/api/_generated/annotations/types/annotations_create_request_label.py +5 -0
- mirascope/api/_generated/annotations/types/annotations_create_response.py +35 -0
- mirascope/api/_generated/annotations/types/annotations_create_response_label.py +5 -0
- mirascope/api/_generated/annotations/types/annotations_get_response.py +35 -0
- mirascope/api/_generated/annotations/types/annotations_get_response_label.py +5 -0
- mirascope/api/_generated/annotations/types/annotations_list_request_label.py +5 -0
- mirascope/api/_generated/annotations/types/annotations_list_response.py +21 -0
- mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item.py +35 -0
- mirascope/api/_generated/annotations/types/annotations_list_response_annotations_item_label.py +5 -0
- mirascope/api/_generated/annotations/types/annotations_update_request_label.py +5 -0
- mirascope/api/_generated/annotations/types/annotations_update_response.py +35 -0
- mirascope/api/_generated/annotations/types/annotations_update_response_label.py +5 -0
- mirascope/api/_generated/api_keys/__init__.py +7 -0
- mirascope/api/_generated/api_keys/client.py +429 -0
- mirascope/api/_generated/api_keys/raw_client.py +788 -0
- mirascope/api/_generated/api_keys/types/__init__.py +9 -0
- mirascope/api/_generated/api_keys/types/api_keys_create_response.py +28 -0
- mirascope/api/_generated/api_keys/types/api_keys_get_response.py +27 -0
- mirascope/api/_generated/api_keys/types/api_keys_list_response_item.py +27 -0
- mirascope/api/_generated/client.py +12 -0
- mirascope/api/_generated/core/client_wrapper.py +2 -14
- mirascope/api/_generated/core/datetime_utils.py +1 -3
- mirascope/api/_generated/core/file.py +2 -5
- mirascope/api/_generated/core/http_client.py +36 -112
- mirascope/api/_generated/core/jsonable_encoder.py +1 -3
- mirascope/api/_generated/core/pydantic_utilities.py +19 -74
- mirascope/api/_generated/core/query_encoder.py +1 -3
- mirascope/api/_generated/core/serialization.py +4 -10
- mirascope/api/_generated/docs/client.py +2 -6
- mirascope/api/_generated/docs/raw_client.py +4 -20
- mirascope/api/_generated/environments/__init__.py +17 -0
- mirascope/api/_generated/environments/client.py +500 -0
- mirascope/api/_generated/environments/raw_client.py +999 -0
- mirascope/api/_generated/environments/types/__init__.py +15 -0
- mirascope/api/_generated/environments/types/environments_create_response.py +24 -0
- mirascope/api/_generated/environments/types/environments_get_response.py +24 -0
- mirascope/api/_generated/environments/types/environments_list_response_item.py +24 -0
- mirascope/api/_generated/environments/types/environments_update_response.py +24 -0
- mirascope/api/_generated/errors/__init__.py +2 -0
- mirascope/api/_generated/errors/bad_request_error.py +1 -5
- mirascope/api/_generated/errors/conflict_error.py +1 -5
- mirascope/api/_generated/errors/forbidden_error.py +1 -5
- mirascope/api/_generated/errors/internal_server_error.py +1 -6
- mirascope/api/_generated/errors/not_found_error.py +1 -5
- mirascope/api/_generated/errors/unauthorized_error.py +11 -0
- mirascope/api/_generated/functions/__init__.py +29 -0
- mirascope/api/_generated/functions/client.py +433 -0
- mirascope/api/_generated/functions/raw_client.py +1049 -0
- mirascope/api/_generated/functions/types/__init__.py +29 -0
- mirascope/api/_generated/functions/types/functions_create_request_dependencies_value.py +20 -0
- mirascope/api/_generated/functions/types/functions_create_response.py +37 -0
- mirascope/api/_generated/functions/types/functions_create_response_dependencies_value.py +20 -0
- mirascope/api/_generated/functions/types/functions_find_by_hash_response.py +39 -0
- mirascope/api/_generated/functions/types/functions_find_by_hash_response_dependencies_value.py +20 -0
- mirascope/api/_generated/functions/types/functions_get_response.py +37 -0
- mirascope/api/_generated/functions/types/functions_get_response_dependencies_value.py +20 -0
- mirascope/api/_generated/functions/types/functions_list_response.py +21 -0
- mirascope/api/_generated/functions/types/functions_list_response_functions_item.py +41 -0
- mirascope/api/_generated/functions/types/functions_list_response_functions_item_dependencies_value.py +20 -0
- mirascope/api/_generated/health/client.py +2 -6
- mirascope/api/_generated/health/raw_client.py +5 -23
- mirascope/api/_generated/health/types/health_check_response.py +1 -3
- mirascope/api/_generated/organizations/__init__.py +2 -0
- mirascope/api/_generated/organizations/client.py +94 -27
- mirascope/api/_generated/organizations/raw_client.py +246 -128
- mirascope/api/_generated/organizations/types/__init__.py +2 -0
- mirascope/api/_generated/organizations/types/organizations_create_response.py +5 -3
- mirascope/api/_generated/organizations/types/organizations_create_response_role.py +1 -3
- mirascope/api/_generated/organizations/types/organizations_credits_response.py +19 -0
- mirascope/api/_generated/organizations/types/organizations_get_response.py +5 -3
- mirascope/api/_generated/organizations/types/organizations_get_response_role.py +1 -3
- mirascope/api/_generated/organizations/types/organizations_list_response_item.py +5 -3
- mirascope/api/_generated/organizations/types/organizations_list_response_item_role.py +1 -3
- mirascope/api/_generated/organizations/types/organizations_update_response.py +5 -3
- mirascope/api/_generated/organizations/types/organizations_update_response_role.py +1 -3
- mirascope/api/_generated/projects/__init__.py +2 -12
- mirascope/api/_generated/projects/client.py +38 -68
- mirascope/api/_generated/projects/raw_client.py +92 -163
- mirascope/api/_generated/projects/types/__init__.py +1 -6
- mirascope/api/_generated/projects/types/projects_create_response.py +4 -9
- mirascope/api/_generated/projects/types/projects_get_response.py +4 -9
- mirascope/api/_generated/projects/types/projects_list_response_item.py +4 -9
- mirascope/api/_generated/projects/types/projects_update_response.py +4 -9
- mirascope/api/_generated/reference.md +1862 -70
- mirascope/api/_generated/traces/__init__.py +22 -0
- mirascope/api/_generated/traces/client.py +398 -0
- mirascope/api/_generated/traces/raw_client.py +902 -18
- mirascope/api/_generated/traces/types/__init__.py +32 -0
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item.py +4 -11
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource.py +2 -6
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item.py +1 -3
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value.py +8 -24
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_array_value.py +2 -6
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value.py +3 -9
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_resource_attributes_item_value_kvlist_value_values_item.py +2 -6
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item.py +3 -9
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope.py +4 -8
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item.py +2 -6
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value.py +8 -24
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_array_value.py +2 -6
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value.py +3 -9
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_scope_attributes_item_value_kvlist_value_values_item.py +1 -3
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item.py +6 -18
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item.py +3 -9
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value.py +8 -24
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_array_value.py +2 -6
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value.py +2 -6
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_attributes_item_value_kvlist_value_values_item.py +1 -3
- mirascope/api/_generated/traces/types/traces_create_request_resource_spans_item_scope_spans_item_spans_item_status.py +2 -6
- mirascope/api/_generated/traces/types/traces_create_response.py +2 -5
- mirascope/api/_generated/traces/types/traces_create_response_partial_success.py +3 -9
- mirascope/api/_generated/traces/types/traces_get_analytics_summary_response.py +54 -0
- mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_functions_item.py +24 -0
- mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_models_item.py +22 -0
- mirascope/api/_generated/traces/types/traces_get_trace_detail_response.py +33 -0
- mirascope/api/_generated/traces/types/traces_get_trace_detail_response_spans_item.py +90 -0
- mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item.py +26 -0
- mirascope/api/_generated/traces/types/traces_search_request_attribute_filters_item_operator.py +7 -0
- mirascope/api/_generated/traces/types/traces_search_request_sort_by.py +7 -0
- mirascope/api/_generated/traces/types/traces_search_request_sort_order.py +5 -0
- mirascope/api/_generated/traces/types/traces_search_response.py +26 -0
- mirascope/api/_generated/traces/types/traces_search_response_spans_item.py +41 -0
- mirascope/api/_generated/types/__init__.py +18 -0
- mirascope/api/_generated/types/already_exists_error.py +1 -3
- mirascope/api/_generated/types/click_house_error.py +22 -0
- mirascope/api/_generated/types/database_error.py +1 -3
- mirascope/api/_generated/types/http_api_decode_error.py +1 -3
- mirascope/api/_generated/types/internal_server_error_body.py +49 -0
- mirascope/api/_generated/types/issue.py +1 -3
- mirascope/api/_generated/types/issue_tag.py +1 -8
- mirascope/api/_generated/types/not_found_error_body.py +1 -3
- mirascope/api/_generated/types/number_from_string.py +3 -0
- mirascope/api/_generated/types/permission_denied_error.py +1 -3
- mirascope/api/_generated/types/permission_denied_error_tag.py +1 -3
- mirascope/api/_generated/types/property_key_key.py +1 -3
- mirascope/api/_generated/types/stripe_error.py +20 -0
- mirascope/api/_generated/types/unauthorized_error_body.py +21 -0
- mirascope/api/_generated/types/unauthorized_error_tag.py +5 -0
- mirascope/llm/__init__.py +6 -2
- mirascope/llm/content/tool_call.py +6 -0
- mirascope/llm/exceptions.py +28 -0
- mirascope/llm/formatting/__init__.py +2 -2
- mirascope/llm/formatting/format.py +120 -8
- mirascope/llm/formatting/types.py +1 -56
- mirascope/llm/mcp/__init__.py +2 -2
- mirascope/llm/mcp/mcp_client.py +130 -0
- mirascope/llm/providers/__init__.py +26 -5
- mirascope/llm/providers/anthropic/__init__.py +3 -21
- mirascope/llm/providers/anthropic/_utils/__init__.py +2 -0
- mirascope/llm/providers/anthropic/_utils/beta_decode.py +4 -2
- mirascope/llm/providers/anthropic/_utils/beta_encode.py +13 -12
- mirascope/llm/providers/anthropic/_utils/decode.py +4 -2
- mirascope/llm/providers/anthropic/_utils/encode.py +57 -14
- mirascope/llm/providers/anthropic/_utils/errors.py +46 -0
- mirascope/llm/providers/anthropic/beta_provider.py +6 -0
- mirascope/llm/providers/anthropic/provider.py +5 -0
- mirascope/llm/providers/base/__init__.py +5 -2
- mirascope/llm/providers/base/_utils.py +2 -7
- mirascope/llm/providers/base/base_provider.py +173 -58
- mirascope/llm/providers/base/params.py +63 -34
- mirascope/llm/providers/google/__init__.py +2 -17
- mirascope/llm/providers/google/_utils/__init__.py +2 -0
- mirascope/llm/providers/google/_utils/decode.py +17 -8
- mirascope/llm/providers/google/_utils/encode.py +105 -16
- mirascope/llm/providers/google/_utils/errors.py +49 -0
- mirascope/llm/providers/google/model_info.py +1 -0
- mirascope/llm/providers/google/provider.py +9 -5
- mirascope/llm/providers/mirascope/__init__.py +5 -0
- mirascope/llm/providers/mirascope/_utils.py +77 -0
- mirascope/llm/providers/mirascope/provider.py +318 -0
- mirascope/llm/providers/mlx/__init__.py +2 -17
- mirascope/llm/providers/mlx/_utils.py +9 -2
- mirascope/llm/providers/mlx/provider.py +8 -0
- mirascope/llm/providers/ollama/__init__.py +1 -13
- mirascope/llm/providers/openai/__init__.py +10 -1
- mirascope/llm/providers/openai/_utils/__init__.py +5 -0
- mirascope/llm/providers/openai/_utils/errors.py +46 -0
- mirascope/llm/providers/openai/completions/__init__.py +2 -20
- mirascope/llm/providers/openai/completions/_utils/decode.py +14 -3
- mirascope/llm/providers/openai/completions/_utils/encode.py +15 -12
- mirascope/llm/providers/openai/completions/base_provider.py +6 -6
- mirascope/llm/providers/openai/provider.py +14 -1
- mirascope/llm/providers/openai/responses/__init__.py +1 -17
- mirascope/llm/providers/openai/responses/_utils/decode.py +2 -2
- mirascope/llm/providers/openai/responses/_utils/encode.py +43 -15
- mirascope/llm/providers/openai/responses/provider.py +13 -7
- mirascope/llm/providers/provider_id.py +1 -0
- mirascope/llm/providers/provider_registry.py +59 -3
- mirascope/llm/providers/together/__init__.py +1 -13
- mirascope/llm/responses/base_stream_response.py +24 -20
- mirascope/llm/tools/decorator.py +8 -4
- mirascope/llm/tools/tool_schema.py +33 -6
- mirascope/llm/tools/tools.py +84 -16
- mirascope/ops/__init__.py +60 -109
- mirascope/ops/_internal/closure.py +62 -11
- mirascope/ops/_internal/instrumentation/llm/llm.py +1 -2
- mirascope/ops/_internal/traced_functions.py +23 -4
- mirascope/ops/_internal/versioned_functions.py +54 -43
- {mirascope-2.0.0a4.dist-info → mirascope-2.0.0a6.dist-info}/METADATA +7 -7
- mirascope-2.0.0a6.dist-info/RECORD +316 -0
- mirascope/llm/formatting/_utils.py +0 -78
- mirascope/llm/mcp/client.py +0 -118
- mirascope/llm/providers/_missing_import_stubs.py +0 -49
- mirascope/llm/providers/load_provider.py +0 -54
- mirascope-2.0.0a4.dist-info/RECORD +0 -247
- {mirascope-2.0.0a4.dist-info → mirascope-2.0.0a6.dist-info}/WHEEL +0 -0
- {mirascope-2.0.0a4.dist-info → mirascope-2.0.0a6.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
from .traces_get_analytics_summary_response_top_functions_item import (
|
|
10
|
+
TracesGetAnalyticsSummaryResponseTopFunctionsItem,
|
|
11
|
+
)
|
|
12
|
+
from .traces_get_analytics_summary_response_top_models_item import (
|
|
13
|
+
TracesGetAnalyticsSummaryResponseTopModelsItem,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class TracesGetAnalyticsSummaryResponse(UniversalBaseModel):
|
|
18
|
+
total_spans: typing_extensions.Annotated[float, FieldMetadata(alias="totalSpans")]
|
|
19
|
+
avg_duration_ms: typing_extensions.Annotated[
|
|
20
|
+
typing.Optional[float], FieldMetadata(alias="avgDurationMs")
|
|
21
|
+
] = None
|
|
22
|
+
p50duration_ms: typing_extensions.Annotated[
|
|
23
|
+
typing.Optional[float], FieldMetadata(alias="p50DurationMs")
|
|
24
|
+
] = None
|
|
25
|
+
p95duration_ms: typing_extensions.Annotated[
|
|
26
|
+
typing.Optional[float], FieldMetadata(alias="p95DurationMs")
|
|
27
|
+
] = None
|
|
28
|
+
p99duration_ms: typing_extensions.Annotated[
|
|
29
|
+
typing.Optional[float], FieldMetadata(alias="p99DurationMs")
|
|
30
|
+
] = None
|
|
31
|
+
error_rate: typing_extensions.Annotated[float, FieldMetadata(alias="errorRate")]
|
|
32
|
+
total_tokens: typing_extensions.Annotated[float, FieldMetadata(alias="totalTokens")]
|
|
33
|
+
total_cost_usd: typing_extensions.Annotated[
|
|
34
|
+
float, FieldMetadata(alias="totalCostUsd")
|
|
35
|
+
]
|
|
36
|
+
top_models: typing_extensions.Annotated[
|
|
37
|
+
typing.List[TracesGetAnalyticsSummaryResponseTopModelsItem],
|
|
38
|
+
FieldMetadata(alias="topModels"),
|
|
39
|
+
]
|
|
40
|
+
top_functions: typing_extensions.Annotated[
|
|
41
|
+
typing.List[TracesGetAnalyticsSummaryResponseTopFunctionsItem],
|
|
42
|
+
FieldMetadata(alias="topFunctions"),
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
if IS_PYDANTIC_V2:
|
|
46
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
47
|
+
extra="allow", frozen=True
|
|
48
|
+
) # type: ignore # Pydantic v2
|
|
49
|
+
else:
|
|
50
|
+
|
|
51
|
+
class Config:
|
|
52
|
+
frozen = True
|
|
53
|
+
smart_union = True
|
|
54
|
+
extra = pydantic.Extra.allow
|
mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_functions_item.py
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TracesGetAnalyticsSummaryResponseTopFunctionsItem(UniversalBaseModel):
|
|
12
|
+
function_name: typing_extensions.Annotated[str, FieldMetadata(alias="functionName")]
|
|
13
|
+
count: float
|
|
14
|
+
|
|
15
|
+
if IS_PYDANTIC_V2:
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
17
|
+
extra="allow", frozen=True
|
|
18
|
+
) # type: ignore # Pydantic v2
|
|
19
|
+
else:
|
|
20
|
+
|
|
21
|
+
class Config:
|
|
22
|
+
frozen = True
|
|
23
|
+
smart_union = True
|
|
24
|
+
extra = pydantic.Extra.allow
|
mirascope/api/_generated/traces/types/traces_get_analytics_summary_response_top_models_item.py
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TracesGetAnalyticsSummaryResponseTopModelsItem(UniversalBaseModel):
|
|
10
|
+
model: str
|
|
11
|
+
count: float
|
|
12
|
+
|
|
13
|
+
if IS_PYDANTIC_V2:
|
|
14
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
15
|
+
extra="allow", frozen=True
|
|
16
|
+
) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
from .traces_get_trace_detail_response_spans_item import (
|
|
10
|
+
TracesGetTraceDetailResponseSpansItem,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class TracesGetTraceDetailResponse(UniversalBaseModel):
|
|
15
|
+
trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
|
|
16
|
+
spans: typing.List[TracesGetTraceDetailResponseSpansItem]
|
|
17
|
+
root_span_id: typing_extensions.Annotated[
|
|
18
|
+
typing.Optional[str], FieldMetadata(alias="rootSpanId")
|
|
19
|
+
] = None
|
|
20
|
+
total_duration_ms: typing_extensions.Annotated[
|
|
21
|
+
typing.Optional[float], FieldMetadata(alias="totalDurationMs")
|
|
22
|
+
] = None
|
|
23
|
+
|
|
24
|
+
if IS_PYDANTIC_V2:
|
|
25
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
26
|
+
extra="allow", frozen=True
|
|
27
|
+
) # type: ignore # Pydantic v2
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
class Config:
|
|
31
|
+
frozen = True
|
|
32
|
+
smart_union = True
|
|
33
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TracesGetTraceDetailResponseSpansItem(UniversalBaseModel):
|
|
12
|
+
id: str
|
|
13
|
+
trace_db_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceDbId")]
|
|
14
|
+
trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
|
|
15
|
+
span_id: typing_extensions.Annotated[str, FieldMetadata(alias="spanId")]
|
|
16
|
+
parent_span_id: typing_extensions.Annotated[
|
|
17
|
+
typing.Optional[str], FieldMetadata(alias="parentSpanId")
|
|
18
|
+
] = None
|
|
19
|
+
environment_id: typing_extensions.Annotated[
|
|
20
|
+
str, FieldMetadata(alias="environmentId")
|
|
21
|
+
]
|
|
22
|
+
project_id: typing_extensions.Annotated[str, FieldMetadata(alias="projectId")]
|
|
23
|
+
organization_id: typing_extensions.Annotated[
|
|
24
|
+
str, FieldMetadata(alias="organizationId")
|
|
25
|
+
]
|
|
26
|
+
start_time: typing_extensions.Annotated[str, FieldMetadata(alias="startTime")]
|
|
27
|
+
end_time: typing_extensions.Annotated[str, FieldMetadata(alias="endTime")]
|
|
28
|
+
duration_ms: typing_extensions.Annotated[
|
|
29
|
+
typing.Optional[float], FieldMetadata(alias="durationMs")
|
|
30
|
+
] = None
|
|
31
|
+
name: str
|
|
32
|
+
kind: float
|
|
33
|
+
status_code: typing_extensions.Annotated[
|
|
34
|
+
typing.Optional[float], FieldMetadata(alias="statusCode")
|
|
35
|
+
] = None
|
|
36
|
+
status_message: typing_extensions.Annotated[
|
|
37
|
+
typing.Optional[str], FieldMetadata(alias="statusMessage")
|
|
38
|
+
] = None
|
|
39
|
+
model: typing.Optional[str] = None
|
|
40
|
+
provider: typing.Optional[str] = None
|
|
41
|
+
input_tokens: typing_extensions.Annotated[
|
|
42
|
+
typing.Optional[float], FieldMetadata(alias="inputTokens")
|
|
43
|
+
] = None
|
|
44
|
+
output_tokens: typing_extensions.Annotated[
|
|
45
|
+
typing.Optional[float], FieldMetadata(alias="outputTokens")
|
|
46
|
+
] = None
|
|
47
|
+
total_tokens: typing_extensions.Annotated[
|
|
48
|
+
typing.Optional[float], FieldMetadata(alias="totalTokens")
|
|
49
|
+
] = None
|
|
50
|
+
cost_usd: typing_extensions.Annotated[
|
|
51
|
+
typing.Optional[float], FieldMetadata(alias="costUsd")
|
|
52
|
+
] = None
|
|
53
|
+
function_id: typing_extensions.Annotated[
|
|
54
|
+
typing.Optional[str], FieldMetadata(alias="functionId")
|
|
55
|
+
] = None
|
|
56
|
+
function_name: typing_extensions.Annotated[
|
|
57
|
+
typing.Optional[str], FieldMetadata(alias="functionName")
|
|
58
|
+
] = None
|
|
59
|
+
function_version: typing_extensions.Annotated[
|
|
60
|
+
typing.Optional[str], FieldMetadata(alias="functionVersion")
|
|
61
|
+
] = None
|
|
62
|
+
error_type: typing_extensions.Annotated[
|
|
63
|
+
typing.Optional[str], FieldMetadata(alias="errorType")
|
|
64
|
+
] = None
|
|
65
|
+
error_message: typing_extensions.Annotated[
|
|
66
|
+
typing.Optional[str], FieldMetadata(alias="errorMessage")
|
|
67
|
+
] = None
|
|
68
|
+
attributes: str
|
|
69
|
+
events: typing.Optional[str] = None
|
|
70
|
+
links: typing.Optional[str] = None
|
|
71
|
+
service_name: typing_extensions.Annotated[
|
|
72
|
+
typing.Optional[str], FieldMetadata(alias="serviceName")
|
|
73
|
+
] = None
|
|
74
|
+
service_version: typing_extensions.Annotated[
|
|
75
|
+
typing.Optional[str], FieldMetadata(alias="serviceVersion")
|
|
76
|
+
] = None
|
|
77
|
+
resource_attributes: typing_extensions.Annotated[
|
|
78
|
+
typing.Optional[str], FieldMetadata(alias="resourceAttributes")
|
|
79
|
+
] = None
|
|
80
|
+
|
|
81
|
+
if IS_PYDANTIC_V2:
|
|
82
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
83
|
+
extra="allow", frozen=True
|
|
84
|
+
) # type: ignore # Pydantic v2
|
|
85
|
+
else:
|
|
86
|
+
|
|
87
|
+
class Config:
|
|
88
|
+
frozen = True
|
|
89
|
+
smart_union = True
|
|
90
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .traces_search_request_attribute_filters_item_operator import (
|
|
8
|
+
TracesSearchRequestAttributeFiltersItemOperator,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TracesSearchRequestAttributeFiltersItem(UniversalBaseModel):
|
|
13
|
+
key: str
|
|
14
|
+
operator: TracesSearchRequestAttributeFiltersItemOperator
|
|
15
|
+
value: typing.Optional[str] = None
|
|
16
|
+
|
|
17
|
+
if IS_PYDANTIC_V2:
|
|
18
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
19
|
+
extra="allow", frozen=True
|
|
20
|
+
) # type: ignore # Pydantic v2
|
|
21
|
+
else:
|
|
22
|
+
|
|
23
|
+
class Config:
|
|
24
|
+
frozen = True
|
|
25
|
+
smart_union = True
|
|
26
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
from .traces_search_response_spans_item import TracesSearchResponseSpansItem
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TracesSearchResponse(UniversalBaseModel):
|
|
13
|
+
spans: typing.List[TracesSearchResponseSpansItem]
|
|
14
|
+
total: float
|
|
15
|
+
has_more: typing_extensions.Annotated[bool, FieldMetadata(alias="hasMore")]
|
|
16
|
+
|
|
17
|
+
if IS_PYDANTIC_V2:
|
|
18
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
19
|
+
extra="allow", frozen=True
|
|
20
|
+
) # type: ignore # Pydantic v2
|
|
21
|
+
else:
|
|
22
|
+
|
|
23
|
+
class Config:
|
|
24
|
+
frozen = True
|
|
25
|
+
smart_union = True
|
|
26
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TracesSearchResponseSpansItem(UniversalBaseModel):
|
|
12
|
+
id: str
|
|
13
|
+
trace_id: typing_extensions.Annotated[str, FieldMetadata(alias="traceId")]
|
|
14
|
+
span_id: typing_extensions.Annotated[str, FieldMetadata(alias="spanId")]
|
|
15
|
+
name: str
|
|
16
|
+
start_time: typing_extensions.Annotated[str, FieldMetadata(alias="startTime")]
|
|
17
|
+
duration_ms: typing_extensions.Annotated[
|
|
18
|
+
typing.Optional[float], FieldMetadata(alias="durationMs")
|
|
19
|
+
] = None
|
|
20
|
+
model: typing.Optional[str] = None
|
|
21
|
+
provider: typing.Optional[str] = None
|
|
22
|
+
total_tokens: typing_extensions.Annotated[
|
|
23
|
+
typing.Optional[float], FieldMetadata(alias="totalTokens")
|
|
24
|
+
] = None
|
|
25
|
+
function_id: typing_extensions.Annotated[
|
|
26
|
+
typing.Optional[str], FieldMetadata(alias="functionId")
|
|
27
|
+
] = None
|
|
28
|
+
function_name: typing_extensions.Annotated[
|
|
29
|
+
typing.Optional[str], FieldMetadata(alias="functionName")
|
|
30
|
+
] = None
|
|
31
|
+
|
|
32
|
+
if IS_PYDANTIC_V2:
|
|
33
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
34
|
+
extra="allow", frozen=True
|
|
35
|
+
) # type: ignore # Pydantic v2
|
|
36
|
+
else:
|
|
37
|
+
|
|
38
|
+
class Config:
|
|
39
|
+
frozen = True
|
|
40
|
+
smart_union = True
|
|
41
|
+
extra = pydantic.Extra.allow
|
|
@@ -4,34 +4,52 @@
|
|
|
4
4
|
|
|
5
5
|
from .already_exists_error import AlreadyExistsError
|
|
6
6
|
from .already_exists_error_tag import AlreadyExistsErrorTag
|
|
7
|
+
from .click_house_error import ClickHouseError
|
|
7
8
|
from .database_error import DatabaseError
|
|
8
9
|
from .database_error_tag import DatabaseErrorTag
|
|
9
10
|
from .http_api_decode_error import HttpApiDecodeError
|
|
10
11
|
from .http_api_decode_error_tag import HttpApiDecodeErrorTag
|
|
12
|
+
from .internal_server_error_body import (
|
|
13
|
+
InternalServerErrorBody,
|
|
14
|
+
InternalServerErrorBody_DatabaseError,
|
|
15
|
+
InternalServerErrorBody_StripeError,
|
|
16
|
+
)
|
|
11
17
|
from .issue import Issue
|
|
12
18
|
from .issue_tag import IssueTag
|
|
13
19
|
from .not_found_error_body import NotFoundErrorBody
|
|
14
20
|
from .not_found_error_tag import NotFoundErrorTag
|
|
21
|
+
from .number_from_string import NumberFromString
|
|
15
22
|
from .permission_denied_error import PermissionDeniedError
|
|
16
23
|
from .permission_denied_error_tag import PermissionDeniedErrorTag
|
|
17
24
|
from .property_key import PropertyKey
|
|
18
25
|
from .property_key_key import PropertyKeyKey
|
|
19
26
|
from .property_key_key_tag import PropertyKeyKeyTag
|
|
27
|
+
from .stripe_error import StripeError
|
|
28
|
+
from .unauthorized_error_body import UnauthorizedErrorBody
|
|
29
|
+
from .unauthorized_error_tag import UnauthorizedErrorTag
|
|
20
30
|
|
|
21
31
|
__all__ = [
|
|
22
32
|
"AlreadyExistsError",
|
|
23
33
|
"AlreadyExistsErrorTag",
|
|
34
|
+
"ClickHouseError",
|
|
24
35
|
"DatabaseError",
|
|
25
36
|
"DatabaseErrorTag",
|
|
26
37
|
"HttpApiDecodeError",
|
|
27
38
|
"HttpApiDecodeErrorTag",
|
|
39
|
+
"InternalServerErrorBody",
|
|
40
|
+
"InternalServerErrorBody_DatabaseError",
|
|
41
|
+
"InternalServerErrorBody_StripeError",
|
|
28
42
|
"Issue",
|
|
29
43
|
"IssueTag",
|
|
30
44
|
"NotFoundErrorBody",
|
|
31
45
|
"NotFoundErrorTag",
|
|
46
|
+
"NumberFromString",
|
|
32
47
|
"PermissionDeniedError",
|
|
33
48
|
"PermissionDeniedErrorTag",
|
|
34
49
|
"PropertyKey",
|
|
35
50
|
"PropertyKeyKey",
|
|
36
51
|
"PropertyKeyKeyTag",
|
|
52
|
+
"StripeError",
|
|
53
|
+
"UnauthorizedErrorBody",
|
|
54
|
+
"UnauthorizedErrorTag",
|
|
37
55
|
]
|
|
@@ -13,9 +13,7 @@ class AlreadyExistsError(UniversalBaseModel):
|
|
|
13
13
|
tag: AlreadyExistsErrorTag
|
|
14
14
|
|
|
15
15
|
if IS_PYDANTIC_V2:
|
|
16
|
-
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
17
|
-
extra="allow", frozen=True
|
|
18
|
-
) # type: ignore # Pydantic v2
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
19
17
|
else:
|
|
20
18
|
|
|
21
19
|
class Config:
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ClickHouseError(UniversalBaseModel):
|
|
10
|
+
message: str
|
|
11
|
+
cause: typing.Optional[typing.Optional[typing.Any]] = None
|
|
12
|
+
|
|
13
|
+
if IS_PYDANTIC_V2:
|
|
14
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
15
|
+
extra="allow", frozen=True
|
|
16
|
+
) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
|
@@ -13,9 +13,7 @@ class DatabaseError(UniversalBaseModel):
|
|
|
13
13
|
tag: DatabaseErrorTag
|
|
14
14
|
|
|
15
15
|
if IS_PYDANTIC_V2:
|
|
16
|
-
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
17
|
-
extra="allow", frozen=True
|
|
18
|
-
) # type: ignore # Pydantic v2
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
19
17
|
else:
|
|
20
18
|
|
|
21
19
|
class Config:
|
|
@@ -18,9 +18,7 @@ class HttpApiDecodeError(UniversalBaseModel):
|
|
|
18
18
|
tag: HttpApiDecodeErrorTag
|
|
19
19
|
|
|
20
20
|
if IS_PYDANTIC_V2:
|
|
21
|
-
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
22
|
-
extra="allow", frozen=True
|
|
23
|
-
) # type: ignore # Pydantic v2
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
24
22
|
else:
|
|
25
23
|
|
|
26
24
|
class Config:
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import typing
|
|
6
|
+
|
|
7
|
+
import pydantic
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
9
|
+
from .database_error_tag import DatabaseErrorTag
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class InternalServerErrorBody_StripeError(UniversalBaseModel):
|
|
13
|
+
tag: typing.Literal["StripeError"] = "StripeError"
|
|
14
|
+
message: str
|
|
15
|
+
cause: typing.Optional[typing.Optional[typing.Any]] = None
|
|
16
|
+
|
|
17
|
+
if IS_PYDANTIC_V2:
|
|
18
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
19
|
+
extra="allow", frozen=True
|
|
20
|
+
) # type: ignore # Pydantic v2
|
|
21
|
+
else:
|
|
22
|
+
|
|
23
|
+
class Config:
|
|
24
|
+
frozen = True
|
|
25
|
+
smart_union = True
|
|
26
|
+
extra = pydantic.Extra.allow
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class InternalServerErrorBody_DatabaseError(UniversalBaseModel):
|
|
30
|
+
tag: typing.Literal["DatabaseError"] = "DatabaseError"
|
|
31
|
+
message: str
|
|
32
|
+
cause: typing.Optional[typing.Optional[typing.Any]] = None
|
|
33
|
+
tag: DatabaseErrorTag
|
|
34
|
+
|
|
35
|
+
if IS_PYDANTIC_V2:
|
|
36
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
37
|
+
extra="allow", frozen=True
|
|
38
|
+
) # type: ignore # Pydantic v2
|
|
39
|
+
else:
|
|
40
|
+
|
|
41
|
+
class Config:
|
|
42
|
+
frozen = True
|
|
43
|
+
smart_union = True
|
|
44
|
+
extra = pydantic.Extra.allow
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
InternalServerErrorBody = typing.Union[
|
|
48
|
+
InternalServerErrorBody_StripeError, InternalServerErrorBody_DatabaseError
|
|
49
|
+
]
|
|
@@ -29,9 +29,7 @@ class Issue(UniversalBaseModel):
|
|
|
29
29
|
"""
|
|
30
30
|
|
|
31
31
|
if IS_PYDANTIC_V2:
|
|
32
|
-
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
33
|
-
extra="allow", frozen=True
|
|
34
|
-
) # type: ignore # Pydantic v2
|
|
32
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
35
33
|
else:
|
|
36
34
|
|
|
37
35
|
class Config:
|
|
@@ -4,14 +4,7 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
IssueTag = typing.Union[
|
|
6
6
|
typing.Literal[
|
|
7
|
-
"Pointer",
|
|
8
|
-
"Unexpected",
|
|
9
|
-
"Missing",
|
|
10
|
-
"Composite",
|
|
11
|
-
"Refinement",
|
|
12
|
-
"Transformation",
|
|
13
|
-
"Type",
|
|
14
|
-
"Forbidden",
|
|
7
|
+
"Pointer", "Unexpected", "Missing", "Composite", "Refinement", "Transformation", "Type", "Forbidden"
|
|
15
8
|
],
|
|
16
9
|
typing.Any,
|
|
17
10
|
]
|
|
@@ -13,9 +13,7 @@ class NotFoundErrorBody(UniversalBaseModel):
|
|
|
13
13
|
tag: NotFoundErrorTag
|
|
14
14
|
|
|
15
15
|
if IS_PYDANTIC_V2:
|
|
16
|
-
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
17
|
-
extra="allow", frozen=True
|
|
18
|
-
) # type: ignore # Pydantic v2
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
19
17
|
else:
|
|
20
18
|
|
|
21
19
|
class Config:
|
|
@@ -13,9 +13,7 @@ class PermissionDeniedError(UniversalBaseModel):
|
|
|
13
13
|
tag: PermissionDeniedErrorTag
|
|
14
14
|
|
|
15
15
|
if IS_PYDANTIC_V2:
|
|
16
|
-
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
17
|
-
extra="allow", frozen=True
|
|
18
|
-
) # type: ignore # Pydantic v2
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
19
17
|
else:
|
|
20
18
|
|
|
21
19
|
class Config:
|
|
@@ -16,9 +16,7 @@ class PropertyKeyKey(UniversalBaseModel):
|
|
|
16
16
|
key: str
|
|
17
17
|
|
|
18
18
|
if IS_PYDANTIC_V2:
|
|
19
|
-
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
20
|
-
extra="allow", frozen=True
|
|
21
|
-
) # type: ignore # Pydantic v2
|
|
19
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
20
|
else:
|
|
23
21
|
|
|
24
22
|
class Config:
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class StripeError(UniversalBaseModel):
|
|
10
|
+
message: str
|
|
11
|
+
cause: typing.Optional[typing.Optional[typing.Any]] = None
|
|
12
|
+
|
|
13
|
+
if IS_PYDANTIC_V2:
|
|
14
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
15
|
+
else:
|
|
16
|
+
|
|
17
|
+
class Config:
|
|
18
|
+
frozen = True
|
|
19
|
+
smart_union = True
|
|
20
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .unauthorized_error_tag import UnauthorizedErrorTag
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class UnauthorizedErrorBody(UniversalBaseModel):
|
|
11
|
+
message: str
|
|
12
|
+
tag: UnauthorizedErrorTag
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|