@@ -199,7 +199,7 @@ class Object(Schema):
199199 min_properties : int | None = None
200200 required : list [str ] = field (default_factory = list )
201201 properties : list [Property ] = field (default_factory = list )
202- # additional_properties: Optional[Union[ bool, Schema]] = field(default=True) # TODO
202+ additional_properties : bool | Schema | None = None
203203
204204
205205@dataclass
@@ -214,7 +214,7 @@ class Parameter:
214214 description : str | None = None
215215 example : Any | None = None
216216 examples : dict [str , Any ] = field (default_factory = dict )
217- # allow_reserved: bool # TODO
217+ allow_reserved : bool | None = None
218218 deprecated : bool | None = field (default = False )
219219 style : (
220220 str
@@ -228,6 +228,18 @@ class Parameter:
228228 extensions : dict [str , Any ] | None = field (default_factory = dict )
229229
230230
231+ @dataclass
232+ class Encoding :
233+ """Encoding definition for request body properties."""
234+
235+ content_type : str | None = None
236+ headers : list [Header ] = field (default_factory = list )
237+ style : str | None = None
238+ explode : bool | None = None
239+ allow_reserved : bool | None = None
240+ extensions : dict [str , Any ] | None = field (default_factory = dict )
241+
242+
231243@dataclass
232244class Content :
233245 """Request/response content definition."""
@@ -236,7 +248,7 @@ class Content:
236248 schema : Schema
237249 example : Any | None = None
238250 examples : dict [str , Any ] = field (default_factory = dict )
239- # encoding: dict[str, Encoding] # TODO
251+ encoding : dict [str , Encoding ] | None = None
240252
241253
242254@dataclass
@@ -260,6 +272,19 @@ class Header:
260272 extensions : dict [str , Any ] | None = field (default_factory = dict )
261273
262274
275+ @dataclass
276+ class Link :
277+ """Link definition for response links."""
278+
279+ operation_ref : str | None = None
280+ operation_id : str | None = None
281+ parameters : dict [str , Any ] = field (default_factory = dict )
282+ request_body : Any | None = None
283+ description : str | None = None
284+ server : Server | None = None
285+ extensions : dict [str , Any ] | None = field (default_factory = dict )
286+
287+
263288@dataclass
264289class Response :
265290 """API response definition."""
@@ -269,6 +294,7 @@ class Response:
269294 code : int | None = None
270295 content : list [Content ] | None = None
271296 headers : list [Header ] = field (default_factory = list )
297+ links : dict [str , Link ] | None = None
272298
273299
274300@dataclass
@@ -313,7 +339,7 @@ class Operation:
313339 tags : list [str ] = field (default_factory = list )
314340 security : list [dict [str , Any ]] = field (default_factory = list )
315341 extensions : dict [str , Any ] | None = field (default_factory = dict )
316- # callbacks: dict[str, Callback ] = field(default_factory=dict) # TODO
342+ callbacks : dict [str , Any ] = field (default_factory = dict )
317343
318344
319345@dataclass
0 commit comments