We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Bug: `default` not generated in OpenAPI schema for body as models
### Description

Declaring default fields (various ways) generates OpenAPI spec with missing `default` declarations.

Also, when/if fields are marked into `required` varies a bit.

Didn't test what happens when requests are sent - are the defaults actually picked up  runtime. But at least the OpenAPI schema generation fails.

(The docs don't mention _how_ these are supported so a bit difficult to know how it's _intended_.)

### MCVE

```python
import dataclasses
import json
from dataclasses import dataclass
from typing import Annotated

import msgspec
from litestar import post
from litestar.app import Litestar
from litestar.params import Parameter
from msgspec import Struct
from pydantic import BaseModel, Field


class PydanticBody(BaseModel):
    field1: Annotated[str, Field(default="dummy")]
    field2: str = Field(default="dummy")
    field3: str = "dummy"
    field4: Annotated[str, Parameter(default="dummy")]


@dataclass
class DataclassBody:
    field1: Annotated[str, Parameter(default="dummy")]  # default generated, but declared as required
    field3: str = Parameter(default="dummy")
    field4: str = "dummy"
    field5: str = dataclasses.field(default="dummy")


class MsgspecBody(Struct):
    field1: Annotated[str, Parameter(default="dummy")]  # default generated, but declared as required
    field2: Annotated[str, msgspec.field(default="dummy")]  # no default, marked as required
    field3: str = Parameter(default="dummy")
    field4: str = "dummy"
    field5: str = msgspec.field(default="dummy")


@post("/1")
async def pydantic_handler(data: PydanticBody) -> None: ...


@post("/2")
async def dataclass_handler(data: DataclassBody) -> None: ...


@post("/3")
async def msgspec_handler(data: MsgspecBody) -> None: ...


app = Litestar([pydantic_handler, dataclass_handler, msgspec_handler])

print(json.dumps(app.openapi_schema.to_schema(), indent=4))
```


### Steps to reproduce

This generates:

```json
    "components": {
        "schemas": {
            "DataclassBody": {
                "properties": {
                    "field1": {
                        "type": "string",
                        "default": "dummy"
                    },
                    "field3": {
                        "type": "string"
                    },
                    "field4": {
                        "type": "string"
                    },
                    "field5": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "field1"
                ],
                "title": "DataclassBody"
            },
            "MsgspecBody": {
                "properties": {
                    "field1": {
                        "type": "string",
                        "default": "dummy"
                    },
                    "field2": {
                        "type": "string"
                    },
                    "field3": {
                        "type": "string"
                    },
                    "field4": {
                        "type": "string"
                    },
                    "field5": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "field1",
                    "field2"
                ],
                "title": "MsgspecBody"
            },
            "PydanticBody": {
                "properties": {
                    "field1": {
                        "type": "string"
                    },
                    "field2": {
                        "type": "string"
                    },
                    "field3": {
                        "type": "string"
                    },
                    "field4": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "field4"
                ],
                "title": "PydanticBody"
            }
        }
```

### Litestar Version

2.7.0

### Platform

- [X] Linux
- [ ] Mac
- [ ] Windows
- [ ] Other (Please specify in the description above)

<!-- POLAR PLEDGE BADGE START -->
---
> [!NOTE]  
> While we are open for sponsoring on [GitHub Sponsors](https://github.com/sponsors/litestar-org/) and 
> [OpenCollective](https://opencollective.com/litestar), we also utilize [Polar.sh](https://polar.sh/) to engage in pledge-based sponsorship.
>
> Check out all issues funded or available for funding [on our Polar.sh dashboard](https://polar.sh/litestar-org)
> * If you would like to see an issue prioritized, make a pledge towards it!
> * We receive the pledge once the issue is completed & verified
> * This, along with engagement in the community, helps us know which features are a priority to our users.

<a href="https://polar.sh/litestar-org/litestar/issues/3201">
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://polar.sh/api/github/litestar-org/litestar/issues/3201/pledge.svg?darkmode=1">
  <img alt="Fund with Polar" src="https://polar.sh/api/github/litestar-org/litestar/issues/3201/pledge.svg">
</picture>
</a>
<!-- POLAR PLEDGE BADGE END -->


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `litestar/_openapi/schema_generation/plugins/struct.py`
Content:
```
1 from __future__ import annotations
2 
3 from typing import TYPE_CHECKING
4 
5 from msgspec import Struct
6 from msgspec.structs import fields
7 
8 from litestar.plugins import OpenAPISchemaPlugin
9 from litestar.types.empty import Empty
10 from litestar.typing import FieldDefinition
11 from litestar.utils.predicates import is_optional_union
12 
13 if TYPE_CHECKING:
14     from msgspec.structs import FieldInfo
15 
16     from litestar._openapi.schema_generation import SchemaCreator
17     from litestar.openapi.spec import Schema
18 
19 
20 class StructSchemaPlugin(OpenAPISchemaPlugin):
21     def is_plugin_supported_field(self, field_definition: FieldDefinition) -> bool:
22         return not field_definition.is_union and field_definition.is_subclass_of(Struct)
23 
24     def to_openapi_schema(self, field_definition: FieldDefinition, schema_creator: SchemaCreator) -> Schema:
25         def is_field_required(field: FieldInfo) -> bool:
26             return field.required or field.default_factory is Empty
27 
28         type_hints = field_definition.get_type_hints(include_extras=True, resolve_generics=True)
29         struct_fields = fields(field_definition.type_)
30 
31         return schema_creator.create_component_schema(
32             field_definition,
33             required=sorted(
34                 [
35                     field.encode_name
36                     for field in struct_fields
37                     if is_field_required(field=field) and not is_optional_union(type_hints[field.name])
38                 ]
39             ),
40             property_fields={
41                 field.encode_name: FieldDefinition.from_kwarg(type_hints[field.name], field.encode_name)
42                 for field in struct_fields
43             },
44         )
45
```

Path: `litestar/_openapi/schema_generation/plugins/dataclass.py`
Content:
```
1 from __future__ import annotations
2 
3 from dataclasses import MISSING, fields
4 from typing import TYPE_CHECKING
5 
6 from litestar.plugins import OpenAPISchemaPlugin
7 from litestar.typing import FieldDefinition
8 from litestar.utils.predicates import is_optional_union
9 
10 if TYPE_CHECKING:
11     from litestar._openapi.schema_generation import SchemaCreator
12     from litestar.openapi.spec import Schema
13 
14 
15 class DataclassSchemaPlugin(OpenAPISchemaPlugin):
16     def is_plugin_supported_field(self, field_definition: FieldDefinition) -> bool:
17         return field_definition.is_dataclass_type
18 
19     def to_openapi_schema(self, field_definition: FieldDefinition, schema_creator: SchemaCreator) -> Schema:
20         type_hints = field_definition.get_type_hints(include_extras=True, resolve_generics=True)
21         dataclass_fields = fields(field_definition.type_)
22         return schema_creator.create_component_schema(
23             field_definition,
24             required=sorted(
25                 field.name
26                 for field in dataclass_fields
27                 if (
28                     field.default is MISSING
29                     and field.default_factory is MISSING
30                     and not is_optional_union(type_hints[field.name])
31                 )
32             ),
33             property_fields={
34                 field.name: FieldDefinition.from_kwarg(type_hints[field.name], field.name) for field in dataclass_fields
35             },
36         )
37
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/litestar/_openapi/schema_generation/plugins/dataclass.py b/litestar/_openapi/schema_generation/plugins/dataclass.py
--- a/litestar/_openapi/schema_generation/plugins/dataclass.py
+++ b/litestar/_openapi/schema_generation/plugins/dataclass.py
@@ -1,9 +1,11 @@
 from __future__ import annotations
 
+import dataclasses
 from dataclasses import MISSING, fields
 from typing import TYPE_CHECKING
 
 from litestar.plugins import OpenAPISchemaPlugin
+from litestar.types import Empty
 from litestar.typing import FieldDefinition
 from litestar.utils.predicates import is_optional_union
 
@@ -31,6 +33,11 @@
                 )
             ),
             property_fields={
-                field.name: FieldDefinition.from_kwarg(type_hints[field.name], field.name) for field in dataclass_fields
+                field.name: FieldDefinition.from_kwarg(
+                    annotation=type_hints[field.name],
+                    name=field.name,
+                    default=field.default if field.default is not dataclasses.MISSING else Empty,
+                )
+                for field in dataclass_fields
             },
         )
diff --git a/litestar/_openapi/schema_generation/plugins/struct.py b/litestar/_openapi/schema_generation/plugins/struct.py
--- a/litestar/_openapi/schema_generation/plugins/struct.py
+++ b/litestar/_openapi/schema_generation/plugins/struct.py
@@ -2,6 +2,7 @@
 
 from typing import TYPE_CHECKING
 
+import msgspec
 from msgspec import Struct
 from msgspec.structs import fields
 
@@ -38,7 +39,11 @@
                 ]
             ),
             property_fields={
-                field.encode_name: FieldDefinition.from_kwarg(type_hints[field.name], field.encode_name)
+                field.encode_name: FieldDefinition.from_kwarg(
+                    type_hints[field.name],
+                    field.encode_name,
+                    default=field.default if field.default not in {msgspec.NODEFAULT, msgspec.UNSET} else Empty,
+                )
                 for field in struct_fields
             },
         )

{"golden_diff": "diff --git a/litestar/_openapi/schema_generation/plugins/dataclass.py b/litestar/_openapi/schema_generation/plugins/dataclass.py\n--- a/litestar/_openapi/schema_generation/plugins/dataclass.py\n+++ b/litestar/_openapi/schema_generation/plugins/dataclass.py\n@@ -1,9 +1,11 @@\n from __future__ import annotations\n \n+import dataclasses\n from dataclasses import MISSING, fields\n from typing import TYPE_CHECKING\n \n from litestar.plugins import OpenAPISchemaPlugin\n+from litestar.types import Empty\n from litestar.typing import FieldDefinition\n from litestar.utils.predicates import is_optional_union\n \n@@ -31,6 +33,11 @@\n                 )\n             ),\n             property_fields={\n-                field.name: FieldDefinition.from_kwarg(type_hints[field.name], field.name) for field in dataclass_fields\n+                field.name: FieldDefinition.from_kwarg(\n+                    annotation=type_hints[field.name],\n+                    name=field.name,\n+                    default=field.default if field.default is not dataclasses.MISSING else Empty,\n+                )\n+                for field in dataclass_fields\n             },\n         )\ndiff --git a/litestar/_openapi/schema_generation/plugins/struct.py b/litestar/_openapi/schema_generation/plugins/struct.py\n--- a/litestar/_openapi/schema_generation/plugins/struct.py\n+++ b/litestar/_openapi/schema_generation/plugins/struct.py\n@@ -2,6 +2,7 @@\n \n from typing import TYPE_CHECKING\n \n+import msgspec\n from msgspec import Struct\n from msgspec.structs import fields\n \n@@ -38,7 +39,11 @@\n                 ]\n             ),\n             property_fields={\n-                field.encode_name: FieldDefinition.from_kwarg(type_hints[field.name], field.encode_name)\n+                field.encode_name: FieldDefinition.from_kwarg(\n+                    type_hints[field.name],\n+                    field.encode_name,\n+                    default=field.default if field.default not in {msgspec.NODEFAULT, msgspec.UNSET} else Empty,\n+                )\n                 for field in struct_fields\n             },\n         )\n", "issue": "Bug: `default` not generated in OpenAPI schema for body as models\n### Description\r\n\r\nDeclaring default fields (various ways) generates OpenAPI spec with missing `default` declarations.\r\n\r\nAlso, when/if fields are marked into `required` varies a bit.\r\n\r\nDidn't test what happens when requests are sent - are the defaults actually picked up  runtime. But at least the OpenAPI schema generation fails.\r\n\r\n(The docs don't mention _how_ these are supported so a bit difficult to know how it's _intended_.)\r\n\r\n### MCVE\r\n\r\n```python\r\nimport dataclasses\r\nimport json\r\nfrom dataclasses import dataclass\r\nfrom typing import Annotated\r\n\r\nimport msgspec\r\nfrom litestar import post\r\nfrom litestar.app import Litestar\r\nfrom litestar.params import Parameter\r\nfrom msgspec import Struct\r\nfrom pydantic import BaseModel, Field\r\n\r\n\r\nclass PydanticBody(BaseModel):\r\n    field1: Annotated[str, Field(default=\"dummy\")]\r\n    field2: str = Field(default=\"dummy\")\r\n    field3: str = \"dummy\"\r\n    field4: Annotated[str, Parameter(default=\"dummy\")]\r\n\r\n\r\n@dataclass\r\nclass DataclassBody:\r\n    field1: Annotated[str, Parameter(default=\"dummy\")]  # default generated, but declared as required\r\n    field3: str = Parameter(default=\"dummy\")\r\n    field4: str = \"dummy\"\r\n    field5: str = dataclasses.field(default=\"dummy\")\r\n\r\n\r\nclass MsgspecBody(Struct):\r\n    field1: Annotated[str, Parameter(default=\"dummy\")]  # default generated, but declared as required\r\n    field2: Annotated[str, msgspec.field(default=\"dummy\")]  # no default, marked as required\r\n    field3: str = Parameter(default=\"dummy\")\r\n    field4: str = \"dummy\"\r\n    field5: str = msgspec.field(default=\"dummy\")\r\n\r\n\r\n@post(\"/1\")\r\nasync def pydantic_handler(data: PydanticBody) -> None: ...\r\n\r\n\r\n@post(\"/2\")\r\nasync def dataclass_handler(data: DataclassBody) -> None: ...\r\n\r\n\r\n@post(\"/3\")\r\nasync def msgspec_handler(data: MsgspecBody) -> None: ...\r\n\r\n\r\napp = Litestar([pydantic_handler, dataclass_handler, msgspec_handler])\r\n\r\nprint(json.dumps(app.openapi_schema.to_schema(), indent=4))\r\n```\r\n\r\n\r\n### Steps to reproduce\r\n\r\nThis generates:\r\n\r\n```json\r\n    \"components\": {\r\n        \"schemas\": {\r\n            \"DataclassBody\": {\r\n                \"properties\": {\r\n                    \"field1\": {\r\n                        \"type\": \"string\",\r\n                        \"default\": \"dummy\"\r\n                    },\r\n                    \"field3\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"field4\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"field5\": {\r\n                        \"type\": \"string\"\r\n                    }\r\n                },\r\n                \"type\": \"object\",\r\n                \"required\": [\r\n                    \"field1\"\r\n                ],\r\n                \"title\": \"DataclassBody\"\r\n            },\r\n            \"MsgspecBody\": {\r\n                \"properties\": {\r\n                    \"field1\": {\r\n                        \"type\": \"string\",\r\n                        \"default\": \"dummy\"\r\n                    },\r\n                    \"field2\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"field3\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"field4\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"field5\": {\r\n                        \"type\": \"string\"\r\n                    }\r\n                },\r\n                \"type\": \"object\",\r\n                \"required\": [\r\n                    \"field1\",\r\n                    \"field2\"\r\n                ],\r\n                \"title\": \"MsgspecBody\"\r\n            },\r\n            \"PydanticBody\": {\r\n                \"properties\": {\r\n                    \"field1\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"field2\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"field3\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"field4\": {\r\n                        \"type\": \"string\"\r\n                    }\r\n                },\r\n                \"type\": \"object\",\r\n                \"required\": [\r\n                    \"field4\"\r\n                ],\r\n                \"title\": \"PydanticBody\"\r\n            }\r\n        }\r\n```\r\n\r\n### Litestar Version\r\n\r\n2.7.0\r\n\r\n### Platform\r\n\r\n- [X] Linux\r\n- [ ] Mac\r\n- [ ] Windows\r\n- [ ] Other (Please specify in the description above)\r\n\r\n<!-- POLAR PLEDGE BADGE START -->\r\n---\r\n> [!NOTE]  \r\n> While we are open for sponsoring on [GitHub Sponsors](https://github.com/sponsors/litestar-org/) and \r\n> [OpenCollective](https://opencollective.com/litestar), we also utilize [Polar.sh](https://polar.sh/) to engage in pledge-based sponsorship.\r\n>\r\n> Check out all issues funded or available for funding [on our Polar.sh dashboard](https://polar.sh/litestar-org)\r\n> * If you would like to see an issue prioritized, make a pledge towards it!\r\n> * We receive the pledge once the issue is completed & verified\r\n> * This, along with engagement in the community, helps us know which features are a priority to our users.\r\n\r\n<a href=\"https://polar.sh/litestar-org/litestar/issues/3201\">\r\n<picture>\r\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://polar.sh/api/github/litestar-org/litestar/issues/3201/pledge.svg?darkmode=1\">\r\n  <img alt=\"Fund with Polar\" src=\"https://polar.sh/api/github/litestar-org/litestar/issues/3201/pledge.svg\">\r\n</picture>\r\n</a>\r\n<!-- POLAR PLEDGE BADGE END -->\r\n\n", "before_files": [{"content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING\n\nfrom msgspec import Struct\nfrom msgspec.structs import fields\n\nfrom litestar.plugins import OpenAPISchemaPlugin\nfrom litestar.types.empty import Empty\nfrom litestar.typing import FieldDefinition\nfrom litestar.utils.predicates import is_optional_union\n\nif TYPE_CHECKING:\n    from msgspec.structs import FieldInfo\n\n    from litestar._openapi.schema_generation import SchemaCreator\n    from litestar.openapi.spec import Schema\n\n\nclass StructSchemaPlugin(OpenAPISchemaPlugin):\n    def is_plugin_supported_field(self, field_definition: FieldDefinition) -> bool:\n        return not field_definition.is_union and field_definition.is_subclass_of(Struct)\n\n    def to_openapi_schema(self, field_definition: FieldDefinition, schema_creator: SchemaCreator) -> Schema:\n        def is_field_required(field: FieldInfo) -> bool:\n            return field.required or field.default_factory is Empty\n\n        type_hints = field_definition.get_type_hints(include_extras=True, resolve_generics=True)\n        struct_fields = fields(field_definition.type_)\n\n        return schema_creator.create_component_schema(\n            field_definition,\n            required=sorted(\n                [\n                    field.encode_name\n                    for field in struct_fields\n                    if is_field_required(field=field) and not is_optional_union(type_hints[field.name])\n                ]\n            ),\n            property_fields={\n                field.encode_name: FieldDefinition.from_kwarg(type_hints[field.name], field.encode_name)\n                for field in struct_fields\n            },\n        )\n", "path": "litestar/_openapi/schema_generation/plugins/struct.py"}, {"content": "from __future__ import annotations\n\nfrom dataclasses import MISSING, fields\nfrom typing import TYPE_CHECKING\n\nfrom litestar.plugins import OpenAPISchemaPlugin\nfrom litestar.typing import FieldDefinition\nfrom litestar.utils.predicates import is_optional_union\n\nif TYPE_CHECKING:\n    from litestar._openapi.schema_generation import SchemaCreator\n    from litestar.openapi.spec import Schema\n\n\nclass DataclassSchemaPlugin(OpenAPISchemaPlugin):\n    def is_plugin_supported_field(self, field_definition: FieldDefinition) -> bool:\n        return field_definition.is_dataclass_type\n\n    def to_openapi_schema(self, field_definition: FieldDefinition, schema_creator: SchemaCreator) -> Schema:\n        type_hints = field_definition.get_type_hints(include_extras=True, resolve_generics=True)\n        dataclass_fields = fields(field_definition.type_)\n        return schema_creator.create_component_schema(\n            field_definition,\n            required=sorted(\n                field.name\n                for field in dataclass_fields\n                if (\n                    field.default is MISSING\n                    and field.default_factory is MISSING\n                    and not is_optional_union(type_hints[field.name])\n                )\n            ),\n            property_fields={\n                field.name: FieldDefinition.from_kwarg(type_hints[field.name], field.name) for field in dataclass_fields\n            },\n        )\n", "path": "litestar/_openapi/schema_generation/plugins/dataclass.py"}], "after_files": [{"content": "from __future__ import annotations\n\nfrom typing import TYPE_CHECKING\n\nimport msgspec\nfrom msgspec import Struct\nfrom msgspec.structs import fields\n\nfrom litestar.plugins import OpenAPISchemaPlugin\nfrom litestar.types.empty import Empty\nfrom litestar.typing import FieldDefinition\nfrom litestar.utils.predicates import is_optional_union\n\nif TYPE_CHECKING:\n    from msgspec.structs import FieldInfo\n\n    from litestar._openapi.schema_generation import SchemaCreator\n    from litestar.openapi.spec import Schema\n\n\nclass StructSchemaPlugin(OpenAPISchemaPlugin):\n    def is_plugin_supported_field(self, field_definition: FieldDefinition) -> bool:\n        return not field_definition.is_union and field_definition.is_subclass_of(Struct)\n\n    def to_openapi_schema(self, field_definition: FieldDefinition, schema_creator: SchemaCreator) -> Schema:\n        def is_field_required(field: FieldInfo) -> bool:\n            return field.required or field.default_factory is Empty\n\n        type_hints = field_definition.get_type_hints(include_extras=True, resolve_generics=True)\n        struct_fields = fields(field_definition.type_)\n\n        return schema_creator.create_component_schema(\n            field_definition,\n            required=sorted(\n                [\n                    field.encode_name\n                    for field in struct_fields\n                    if is_field_required(field=field) and not is_optional_union(type_hints[field.name])\n                ]\n            ),\n            property_fields={\n                field.encode_name: FieldDefinition.from_kwarg(\n                    type_hints[field.name],\n                    field.encode_name,\n                    default=field.default if field.default not in {msgspec.NODEFAULT, msgspec.UNSET} else Empty,\n                )\n                for field in struct_fields\n            },\n        )\n", "path": "litestar/_openapi/schema_generation/plugins/struct.py"}, {"content": "from __future__ import annotations\n\nimport dataclasses\nfrom dataclasses import MISSING, fields\nfrom typing import TYPE_CHECKING\n\nfrom litestar.plugins import OpenAPISchemaPlugin\nfrom litestar.types import Empty\nfrom litestar.typing import FieldDefinition\nfrom litestar.utils.predicates import is_optional_union\n\nif TYPE_CHECKING:\n    from litestar._openapi.schema_generation import SchemaCreator\n    from litestar.openapi.spec import Schema\n\n\nclass DataclassSchemaPlugin(OpenAPISchemaPlugin):\n    def is_plugin_supported_field(self, field_definition: FieldDefinition) -> bool:\n        return field_definition.is_dataclass_type\n\n    def to_openapi_schema(self, field_definition: FieldDefinition, schema_creator: SchemaCreator) -> Schema:\n        type_hints = field_definition.get_type_hints(include_extras=True, resolve_generics=True)\n        dataclass_fields = fields(field_definition.type_)\n        return schema_creator.create_component_schema(\n            field_definition,\n            required=sorted(\n                field.name\n                for field in dataclass_fields\n                if (\n                    field.default is MISSING\n                    and field.default_factory is MISSING\n                    and not is_optional_union(type_hints[field.name])\n                )\n            ),\n            property_fields={\n                field.name: FieldDefinition.from_kwarg(\n                    annotation=type_hints[field.name],\n                    name=field.name,\n                    default=field.default if field.default is not dataclasses.MISSING else Empty,\n                )\n                for field in dataclass_fields\n            },\n        )\n", "path": "litestar/_openapi/schema_generation/plugins/dataclass.py"}]}