@redocly/openapi-core 0.0.0-snapshot.1769191069 → 0.0.0-snapshot.1769415576

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/lib/oas-types.d.ts +190 -0
  2. package/lib/oas-types.d.ts.map +1 -1
  3. package/lib/types/arazzo.d.ts.map +1 -1
  4. package/lib/types/arazzo.js +210 -44
  5. package/lib/types/arazzo.js.map +1 -1
  6. package/lib/types/asyncapi2.d.ts.map +1 -1
  7. package/lib/types/asyncapi2.js +385 -57
  8. package/lib/types/asyncapi2.js.map +1 -1
  9. package/lib/types/asyncapi3.d.ts.map +1 -1
  10. package/lib/types/asyncapi3.js +228 -47
  11. package/lib/types/asyncapi3.js.map +1 -1
  12. package/lib/types/index.d.ts +18 -2
  13. package/lib/types/index.d.ts.map +1 -1
  14. package/lib/types/index.js +4 -2
  15. package/lib/types/index.js.map +1 -1
  16. package/lib/types/oas2.d.ts +22 -0
  17. package/lib/types/oas2.d.ts.map +1 -1
  18. package/lib/types/oas3.d.ts +44 -0
  19. package/lib/types/oas3.d.ts.map +1 -1
  20. package/lib/types/oas3.js +345 -70
  21. package/lib/types/oas3.js.map +1 -1
  22. package/lib/types/oas3_1.d.ts +46 -0
  23. package/lib/types/oas3_1.d.ts.map +1 -1
  24. package/lib/types/oas3_1.js +38 -29
  25. package/lib/types/oas3_1.js.map +1 -1
  26. package/lib/types/oas3_2.d.ts +46 -0
  27. package/lib/types/oas3_2.d.ts.map +1 -1
  28. package/lib/types/oas3_2.js +101 -23
  29. package/lib/types/oas3_2.js.map +1 -1
  30. package/lib/types/openrpc.d.ts +32 -0
  31. package/lib/types/openrpc.d.ts.map +1 -1
  32. package/lib/types/openrpc.js +215 -46
  33. package/lib/types/openrpc.js.map +1 -1
  34. package/lib/types/overlay.d.ts.map +1 -1
  35. package/lib/types/overlay.js +34 -7
  36. package/lib/types/overlay.js.map +1 -1
  37. package/lib/types/redocly-yaml.d.ts +1 -1
  38. package/lib/types/redocly-yaml.d.ts.map +1 -1
  39. package/lib/types/redocly-yaml.js +150 -38
  40. package/lib/types/redocly-yaml.js.map +1 -1
  41. package/package.json +1 -1
@@ -4,7 +4,10 @@ const Root = {
4
4
  properties: {
5
5
  asyncapi: null, // TODO: validate semver format and supported version
6
6
  info: 'Info',
7
- id: { type: 'string' },
7
+ id: {
8
+ type: 'string',
9
+ description: 'Identifier of the application the AsyncAPI document is defining.',
10
+ },
8
11
  servers: 'ServerMap',
9
12
  channels: 'ChannelMap',
10
13
  components: 'Components',
@@ -13,16 +16,26 @@ const Root = {
13
16
  defaultContentType: { type: 'string' },
14
17
  },
15
18
  required: ['asyncapi', 'channels', 'info'],
19
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.0.0',
16
20
  };
17
21
  const Channel = {
18
22
  properties: {
19
- description: { type: 'string' },
23
+ description: {
24
+ type: 'string',
25
+ description: 'An optional description of this channel item. CommonMark syntax can be used for rich text representation.',
26
+ },
20
27
  subscribe: 'Operation',
21
28
  publish: 'Operation',
22
29
  parameters: 'ParametersMap',
23
30
  bindings: 'ChannelBindings',
24
- servers: { type: 'array', items: { type: 'string' } },
31
+ servers: {
32
+ type: 'array',
33
+ items: { type: 'string' },
34
+ description: 'The servers on which this channel is available, specified as an optional unordered list of names (string keys) of Server Objects defined in the Servers Object (a map).',
35
+ },
25
36
  },
37
+ description: 'Describes the operations available on a single channel.',
38
+ documentationLink: 'https://v2.asyncapi.com/docs/concepts/channel',
26
39
  };
27
40
  const ChannelMap = {
28
41
  properties: {},
@@ -55,25 +68,42 @@ const ChannelBindings = {
55
68
  ];
56
69
  },
57
70
  additionalProperties: { type: 'object' },
71
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#channelBindingsObject',
72
+ description: 'Map describing protocol-specific definitions for a channel.',
58
73
  };
59
74
  export const Tag = {
60
75
  properties: {
61
- name: { type: 'string' },
62
- description: { type: 'string' },
76
+ name: { type: 'string', description: 'REQUIRED. The name of the tag.' },
77
+ description: {
78
+ type: 'string',
79
+ description: 'A short description for the tag. CommonMark syntax can be used for rich text representation.',
80
+ },
63
81
  externalDocs: 'ExternalDocs',
64
82
  },
65
83
  required: ['name'],
84
+ description: 'Allows adding meta data to a single tag.',
85
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#tagObject',
66
86
  };
67
87
  export const ExternalDocs = {
68
88
  properties: {
69
- description: { type: 'string' },
70
- url: { type: 'string' },
89
+ description: {
90
+ type: 'string',
91
+ description: 'A short description of the target documentation. CommonMark syntax can be used for rich text representation.',
92
+ },
93
+ url: {
94
+ type: 'string',
95
+ description: 'REQUIRED. The URL for the target documentation. This MUST be in the form of an absolute URL.',
96
+ },
71
97
  },
72
98
  required: ['url'],
99
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#externalDocumentationObject',
100
+ description: 'Allows referencing an external resource for extended documentation.',
73
101
  };
74
102
  const SecurityRequirement = {
75
103
  properties: {},
76
104
  additionalProperties: { type: 'array', items: { type: 'string' } },
105
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#securityRequirementObject',
106
+ description: 'Lists the required security schemes to execute this operation. The name used for each property MUST correspond to a security scheme declared in the Security Schemes under the Components Object.',
77
107
  };
78
108
  const ServerBindings = {
79
109
  properties: {},
@@ -102,19 +132,35 @@ const ServerBindings = {
102
132
  ];
103
133
  },
104
134
  additionalProperties: { type: 'object' },
135
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#serverBindingsObject',
136
+ description: 'Map describing protocol-specific definitions for a server.',
105
137
  };
106
138
  const Server = {
107
139
  properties: {
108
- url: { type: 'string' },
109
- protocol: { type: 'string' },
110
- protocolVersion: { type: 'string' },
111
- description: { type: 'string' },
140
+ url: {
141
+ type: 'string',
142
+ description: 'REQUIRED. A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the AsyncAPI document is being served. Variable substitutions will be made when a variable is named in {braces}.',
143
+ },
144
+ protocol: {
145
+ type: 'string',
146
+ description: 'REQUIRED. The protocol this URL supports for connection. Supported protocol include, but are not limited to: amqp, amqps, http, https, ibmmq, jms, kafka, kafka-secure, anypointmq, mqtt, secure-mqtt, solace, stomp, stomps, ws, wss, mercure, googlepubsub, pulsar.',
147
+ },
148
+ protocolVersion: {
149
+ type: 'string',
150
+ description: 'The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc.',
151
+ },
152
+ description: {
153
+ type: 'string',
154
+ description: 'An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation.',
155
+ },
112
156
  variables: 'ServerVariablesMap',
113
157
  security: 'SecurityRequirementList',
114
158
  bindings: 'ServerBindings',
115
159
  tags: 'TagList',
116
160
  },
117
161
  required: ['url', 'protocol'],
162
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#serverObject',
163
+ description: 'An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data. This object is used to capture details such as URIs, protocols and security configuration. Variable substitution can be used so that some details, for example usernames and passwords, can be injected by code generation tools.',
118
164
  };
119
165
  export const ServerMap = {
120
166
  properties: {},
@@ -127,67 +173,147 @@ export const ServerVariable = {
127
173
  enum: {
128
174
  type: 'array',
129
175
  items: { type: 'string' },
176
+ description: 'An enumeration of string values to be used if the substitution options are from a limited set.',
177
+ },
178
+ default: {
179
+ type: 'string',
180
+ description: 'The default value to use for substitution, and to send, if an alternate value is not supplied.',
181
+ },
182
+ description: {
183
+ type: 'string',
184
+ description: 'An optional description for the server variable. CommonMark syntax MAY be used for rich text representation.',
130
185
  },
131
- default: { type: 'string' },
132
- description: { type: 'string' },
133
186
  examples: {
134
187
  type: 'array',
135
188
  items: { type: 'string' },
189
+ description: 'An array of examples of the server variable.',
136
190
  },
137
191
  },
138
192
  required: [],
193
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#serverVariableObject',
194
+ description: 'An object representing a Server Variable for server URL template substitution.',
139
195
  };
140
196
  const Info = {
141
197
  properties: {
142
- title: { type: 'string' },
143
- version: { type: 'string' },
144
- description: { type: 'string' },
145
- termsOfService: { type: 'string' },
198
+ title: {
199
+ type: 'string',
200
+ description: 'REQUIRED. The title of the application.',
201
+ },
202
+ version: {
203
+ type: 'string',
204
+ description: 'REQUIRED Provides the version of the application API (not to be confused with the specification version).',
205
+ },
206
+ description: {
207
+ type: 'string',
208
+ description: 'A short description of the application. CommonMark syntax can be used for rich text representation.',
209
+ },
210
+ termsOfService: {
211
+ type: 'string',
212
+ description: 'A URL to the Terms of Service for the API. This MUST be in the form of an absolute URL.',
213
+ },
146
214
  contact: 'Contact',
147
215
  license: 'License',
148
216
  },
149
217
  required: ['title', 'version'],
218
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#infoObject',
219
+ description: 'The object provides metadata about the API. The metadata can be used by the clients if needed.',
150
220
  };
151
221
  export const Contact = {
152
222
  properties: {
153
- name: { type: 'string' },
154
- url: { type: 'string' },
155
- email: { type: 'string' },
223
+ name: {
224
+ type: 'string',
225
+ description: 'The identifying name of the contact person/organization.',
226
+ },
227
+ url: {
228
+ type: 'string',
229
+ description: 'The URL pointing to the contact information. This MUST be in the form of an absolute URL.',
230
+ },
231
+ email: {
232
+ type: 'string',
233
+ description: 'The email address of the contact person/organization. MUST be in the format of an email address.',
234
+ },
156
235
  },
236
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#contactObject',
237
+ description: 'Contact information for the exposed API.',
157
238
  };
158
239
  export const License = {
159
240
  properties: {
160
- name: { type: 'string' },
161
- url: { type: 'string' },
241
+ name: {
242
+ type: 'string',
243
+ description: 'REQUIRED. The license name used for the API.',
244
+ },
245
+ url: {
246
+ type: 'string',
247
+ description: 'A URL to the license used for the API. This MUST be in the form of an absolute URL.',
248
+ },
162
249
  },
163
250
  required: ['name'],
251
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#licenseObject',
252
+ description: 'License information for the exposed API.',
164
253
  };
165
254
  const Parameter = {
166
255
  properties: {
167
- description: { type: 'string' },
256
+ description: {
257
+ type: 'string',
258
+ description: 'A verbose explanation of the parameter. CommonMark syntax can be used for rich text representation.',
259
+ },
168
260
  schema: 'Schema',
169
- location: { type: 'string' },
261
+ location: {
262
+ type: 'string',
263
+ description: 'A runtime expression that specifies the location of the parameter value. Even when a definition for the target field exists, it MUST NOT be used to validate this parameter but, instead, the schema property MUST be used.',
264
+ },
170
265
  },
266
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#parameterObject',
267
+ description: 'Describes a parameter included in a channel name.',
171
268
  };
172
269
  export const CorrelationId = {
173
270
  properties: {
174
- description: { type: 'string' },
175
- location: { type: 'string' },
271
+ description: {
272
+ type: 'string',
273
+ description: 'An optional description of the identifier. CommonMark syntax can be used for rich text representation.',
274
+ },
275
+ location: {
276
+ type: 'string',
277
+ description: 'REQUIRED. A runtime expression that specifies the location of the correlation ID.',
278
+ },
176
279
  },
177
280
  required: ['location'],
281
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#correlationIdObject',
282
+ description: 'An object that specifies an identifier at design time that can used for message tracing and correlation.',
178
283
  };
179
284
  const Message = {
180
285
  properties: {
181
- messageId: { type: 'string' },
286
+ messageId: {
287
+ type: 'string',
288
+ description: 'Unique string used to identify the message. The id MUST be unique among all messages described in the API. The messageId value is case-sensitive. Tools and libraries MAY use the messageId to uniquely identify a message, therefore, it is RECOMMENDED to follow common programming naming conventions.',
289
+ },
182
290
  headers: 'Schema',
183
291
  payload: 'Schema', // TODO: strictly this does not cover all cases
184
292
  correlationId: 'CorrelationId',
185
- schemaFormat: { type: 'string' }, // TODO: support official list of schema formats and custom values
186
- contentType: { type: 'string' },
187
- name: { type: 'string' },
188
- title: { type: 'string' },
189
- summary: { type: 'string' },
190
- description: { type: 'string' },
293
+ schemaFormat: {
294
+ type: 'string',
295
+ description: 'A string containing the name of the schema format used to define the message payload. If omitted, implementations should parse the payload as a Schema object. When the payload is defined using a $ref to a remote file, it is RECOMMENDED the schema format includes the file encoding type to allow implementations to parse the file correctly.',
296
+ }, // TODO: support official list of schema formats and custom values
297
+ contentType: {
298
+ type: 'string',
299
+ description: `The content type to use when encoding/decoding a message's payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field.`,
300
+ },
301
+ name: {
302
+ type: 'string',
303
+ description: 'A machine-friendly name for the message.',
304
+ },
305
+ title: {
306
+ type: 'string',
307
+ description: 'A human-friendly title for the message.',
308
+ },
309
+ summary: {
310
+ type: 'string',
311
+ description: 'A short summary of what the message is about.',
312
+ },
313
+ description: {
314
+ type: 'string',
315
+ description: 'A verbose explanation of the message. CommonMark syntax can be used for rich text representation.',
316
+ },
191
317
  tags: 'TagList',
192
318
  externalDocs: 'ExternalDocs',
193
319
  bindings: 'MessageBindings',
@@ -195,6 +321,8 @@ const Message = {
195
321
  traits: 'MessageTraitList',
196
322
  },
197
323
  additionalProperties: {},
324
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#messageObject',
325
+ description: 'Describes a message received on a given channel and operation.',
198
326
  };
199
327
  const MessageBindings = {
200
328
  properties: {},
@@ -223,6 +351,8 @@ const MessageBindings = {
223
351
  ];
224
352
  },
225
353
  additionalProperties: { type: 'object' },
354
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#messageBindingsObject',
355
+ description: 'Map describing protocol-specific definitions for a message.',
226
356
  };
227
357
  const OperationBindings = {
228
358
  properties: {},
@@ -251,58 +381,119 @@ const OperationBindings = {
251
381
  ];
252
382
  },
253
383
  additionalProperties: { type: 'object' },
384
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#operationBindingsObject',
385
+ description: 'Map describing protocol-specific definitions for an operation.',
254
386
  };
255
387
  const OperationTrait = {
256
388
  properties: {
257
389
  tags: 'TagList',
258
- summary: { type: 'string' },
259
- description: { type: 'string' },
390
+ summary: {
391
+ type: 'string',
392
+ description: 'A short summary of what the operation is about.',
393
+ },
394
+ description: {
395
+ type: 'string',
396
+ description: 'A verbose explanation of the operation. CommonMark syntax can be used for rich text representation.',
397
+ },
260
398
  externalDocs: 'ExternalDocs',
261
- operationId: { type: 'string' },
399
+ operationId: {
400
+ type: 'string',
401
+ description: 'Unique string used to identify the operation. The id MUST be unique among all operations described in the API. The operationId value is case-sensitive. Tools and libraries MAY use the operationId to uniquely identify an operation, therefore, it is RECOMMENDED to follow common programming naming conventions.',
402
+ },
262
403
  security: 'SecurityRequirementList',
263
404
  bindings: 'OperationBindings',
264
405
  },
265
406
  required: [],
407
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#operationTraitObject',
408
+ description: 'Describes a trait that MAY be applied to an Operation Object. This object MAY contain any property from the Operation Object, except message and traits.',
266
409
  };
267
410
  const MessageTrait = {
268
411
  properties: {
269
- messageId: { type: 'string' },
412
+ messageId: {
413
+ type: 'string',
414
+ description: 'Unique string used to identify the message. The id MUST be unique among all messages described in the API. The messageId value is case-sensitive. Tools and libraries MAY use the messageId to uniquely identify a message, therefore, it is RECOMMENDED to follow common programming naming conventions.',
415
+ },
270
416
  headers: 'Schema',
271
417
  correlationId: 'CorrelationId',
272
- schemaFormat: { type: 'string' },
273
- contentType: { type: 'string' },
274
- name: { type: 'string' },
275
- title: { type: 'string' },
276
- summary: { type: 'string' },
277
- description: { type: 'string' },
418
+ schemaFormat: {
419
+ type: 'string',
420
+ description: 'A string containing the name of the schema format/language used to define the message payload. If omitted, implementations should parse the payload as a Schema object.',
421
+ },
422
+ contentType: {
423
+ type: 'string',
424
+ description: `The content type to use when encoding/decoding a message's payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field.`,
425
+ },
426
+ name: {
427
+ type: 'string',
428
+ description: 'A verbose explanation of the message. CommonMark syntax can be used for rich text representation.',
429
+ },
430
+ title: {
431
+ type: 'string',
432
+ description: 'A human-friendly title for the message.',
433
+ },
434
+ summary: {
435
+ type: 'string',
436
+ description: 'A short summary of what the message is about.',
437
+ },
438
+ description: {
439
+ type: 'string',
440
+ description: 'A verbose explanation of the message. CommonMark syntax can be used for rich text representation.',
441
+ },
278
442
  tags: 'TagList',
279
443
  externalDocs: 'ExternalDocs',
280
444
  bindings: 'MessageBindings',
281
445
  examples: 'MessageExampleList',
282
446
  },
283
447
  additionalProperties: {},
448
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#messageTraitObject',
449
+ description: 'Describes a trait that MAY be applied to a Message Object. This object MAY contain any property from the Message Object, except payload and traits.',
284
450
  };
285
451
  const Operation = {
286
452
  properties: {
287
453
  tags: 'TagList',
288
- summary: { type: 'string' },
289
- description: { type: 'string' },
454
+ summary: {
455
+ type: 'string',
456
+ description: 'A short summary of what the operation is about.',
457
+ },
458
+ description: {
459
+ type: 'string',
460
+ description: 'A verbose explanation of the operation. CommonMark syntax can be used for rich text representation.',
461
+ },
290
462
  externalDocs: 'ExternalDocs',
291
- operationId: { type: 'string' },
463
+ operationId: {
464
+ type: 'string',
465
+ description: 'Unique string used to identify the operation. The id MUST be unique among all operations described in the API. The operationId value is case-sensitive. Tools and libraries MAY use the operationId to uniquely identify an operation, therefore, it is RECOMMENDED to follow common programming naming conventions.',
466
+ },
292
467
  security: 'SecurityRequirementList',
293
468
  bindings: 'OperationBindings',
294
469
  traits: 'OperationTraitList',
295
470
  message: 'Message',
296
471
  },
297
472
  required: [],
473
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#operationObject',
474
+ description: 'Describes a publish or a subscribe operation. This provides a place to document how and why messages are sent and received.',
298
475
  };
299
476
  export const MessageExample = {
300
477
  properties: {
301
- payload: { isExample: true },
302
- summary: { type: 'string' },
303
- name: { type: 'string' },
304
- headers: { type: 'object' },
478
+ payload: {
479
+ isExample: true,
480
+ description: `The value of this field MUST validate against the Message Object's payload field.`,
481
+ },
482
+ summary: {
483
+ type: 'string',
484
+ description: 'A short summary of what the example is about.',
485
+ },
486
+ name: {
487
+ type: 'string',
488
+ description: 'A machine-friendly name.',
489
+ },
490
+ headers: {
491
+ type: 'object',
492
+ description: `The value of this field MUST validate against the Message Object's headers field.`,
493
+ },
305
494
  },
495
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#messageExampleObject',
496
+ description: 'Message Example Object represents an example of a Message Object and MUST contain either headers and/or payload fields.',
306
497
  };
307
498
  const Components = {
308
499
  properties: {
@@ -329,6 +520,7 @@ const ImplicitFlow = {
329
520
  authorizationUrl: { type: 'string' },
330
521
  },
331
522
  required: ['authorizationUrl', 'scopes'],
523
+ description: 'Configuration for the OAuth Implicit flow.',
332
524
  };
333
525
  const PasswordFlow = {
334
526
  properties: {
@@ -337,6 +529,7 @@ const PasswordFlow = {
337
529
  tokenUrl: { type: 'string' },
338
530
  },
339
531
  required: ['tokenUrl', 'scopes'],
532
+ description: 'Configuration for the OAuth Password flow.',
340
533
  };
341
534
  const ClientCredentials = {
342
535
  properties: {
@@ -345,6 +538,7 @@ const ClientCredentials = {
345
538
  tokenUrl: { type: 'string' },
346
539
  },
347
540
  required: ['tokenUrl', 'scopes'],
541
+ description: 'Configuration for the OAuth Client Credentials flow.',
348
542
  };
349
543
  const AuthorizationCode = {
350
544
  properties: {
@@ -354,6 +548,7 @@ const AuthorizationCode = {
354
548
  tokenUrl: { type: 'string' },
355
549
  },
356
550
  required: ['authorizationUrl', 'tokenUrl', 'scopes'],
551
+ description: 'Configuration for the OAuth Authorization Code flow.',
357
552
  };
358
553
  export const SecuritySchemeFlows = {
359
554
  properties: {
@@ -382,13 +577,32 @@ const SecurityScheme = {
382
577
  'gssapi',
383
578
  ],
384
579
  },
385
- description: { type: 'string' },
386
- name: { type: 'string' },
387
- in: { type: 'string', enum: ['query', 'header', 'cookie', 'user', 'password'] },
388
- scheme: { type: 'string' },
389
- bearerFormat: { type: 'string' },
580
+ description: {
581
+ type: 'string',
582
+ description: 'A short description for security scheme. CommonMark syntax MAY be used for rich text representation.',
583
+ },
584
+ name: {
585
+ type: 'string',
586
+ description: 'REQUIRED. The name of the header, query or cookie parameter to be used.',
587
+ },
588
+ in: {
589
+ type: 'string',
590
+ enum: ['query', 'header', 'cookie', 'user', 'password'],
591
+ description: 'REQUIRED. The location of the API key. Valid values are "user" and "password" for apiKey and "query", "header" or "cookie" for httpApiKey.',
592
+ },
593
+ scheme: {
594
+ type: 'string',
595
+ description: 'REQUIRED. The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.',
596
+ },
597
+ bearerFormat: {
598
+ type: 'string',
599
+ description: 'A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes.',
600
+ },
390
601
  flows: 'SecuritySchemeFlows',
391
- openIdConnectUrl: { type: 'string' },
602
+ openIdConnectUrl: {
603
+ type: 'string',
604
+ description: 'REQUIRED. OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of an absolute URL.',
605
+ },
392
606
  },
393
607
  required(value) {
394
608
  switch (value?.type) {
@@ -423,15 +637,21 @@ const SecurityScheme = {
423
637
  }
424
638
  },
425
639
  extensionsPrefix: 'x-',
640
+ documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#securitySchemeObject',
641
+ description: 'Defines a security scheme that can be used by the operations.',
426
642
  };
427
643
  // --- Per-protocol node types
428
644
  // http
429
645
  const HttpChannelBinding = {
430
646
  properties: {}, // empty object
647
+ description: 'Protocol-specific information for an HTTP channel.',
648
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/http/README.md#channel',
431
649
  };
432
650
  ChannelBindings.properties.http = HttpChannelBinding;
433
651
  const HttpServerBinding = {
434
652
  properties: {}, // empty object
653
+ description: 'Protocol-specific information for an HTTP server.',
654
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/http#server',
435
655
  };
436
656
  ServerBindings.properties.http = HttpServerBinding;
437
657
  const HttpMessageBinding = {
@@ -439,6 +659,8 @@ const HttpMessageBinding = {
439
659
  headers: 'Schema',
440
660
  bindingVersion: { type: 'string' },
441
661
  },
662
+ description: 'Protocol-specific information for an HTTP message, i.e., a request or a response.',
663
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/http/README.md#message',
442
664
  };
443
665
  MessageBindings.properties.http = HttpMessageBinding;
444
666
  const HttpOperationBinding = {
@@ -451,6 +673,8 @@ const HttpOperationBinding = {
451
673
  headers: 'Schema',
452
674
  bindingVersion: { type: 'string' },
453
675
  },
676
+ description: 'Protocol-specific information for an HTTP operation.',
677
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/http/README.md#operation',
454
678
  };
455
679
  OperationBindings.properties.http = HttpOperationBinding;
456
680
  // ws
@@ -461,18 +685,26 @@ const WsChannelBinding = {
461
685
  headers: 'Schema',
462
686
  bindingVersion: { type: 'string' },
463
687
  },
688
+ description: 'Protocol-specific information for a WebSockets channel.',
689
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/websockets/README.md#channel',
464
690
  };
465
691
  ChannelBindings.properties.ws = WsChannelBinding;
466
692
  const WsServerBinding = {
467
693
  properties: {}, // empty object
694
+ description: 'Protocol-specific information for a WebSockets server.',
695
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/websockets#server',
468
696
  };
469
697
  ServerBindings.properties.ws = WsServerBinding;
470
698
  const WsMessageBinding = {
471
699
  properties: {}, // empty object
700
+ description: 'Protocol-specific information for a WebSockets message.',
701
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/websockets/README.md#message',
472
702
  };
473
703
  MessageBindings.properties.ws = WsMessageBinding;
474
704
  const WsOperationBinding = {
475
705
  properties: {}, // empty object
706
+ description: 'Protocol-specific information for a WebSockets operation.',
707
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/websockets/README.md#operation',
476
708
  };
477
709
  OperationBindings.properties.ws = WsOperationBinding;
478
710
  // kafka
@@ -493,10 +725,14 @@ const KafkaChannelBinding = {
493
725
  topicConfiguration: 'KafkaTopicConfiguration',
494
726
  bindingVersion: { type: 'string' },
495
727
  },
728
+ description: 'Protocol-specific information for a Kafka channel.',
729
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/kafka/README.md#channel',
496
730
  };
497
731
  ChannelBindings.properties.kafka = KafkaChannelBinding;
498
732
  const KafkaServerBinding = {
499
733
  properties: {}, // empty object
734
+ description: 'Protocol-specific information for a Kafka server.',
735
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/kafka#server',
500
736
  };
501
737
  ServerBindings.properties.kafka = KafkaServerBinding;
502
738
  const KafkaMessageBinding = {
@@ -507,6 +743,8 @@ const KafkaMessageBinding = {
507
743
  schemaLookupStrategy: { type: 'string' },
508
744
  bindingVersion: { type: 'string' },
509
745
  },
746
+ description: 'Protocol-specific information for a Kafka message.',
747
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/kafka/README.md#message',
510
748
  };
511
749
  MessageBindings.properties.kafka = KafkaMessageBinding;
512
750
  const KafkaOperationBinding = {
@@ -515,6 +753,8 @@ const KafkaOperationBinding = {
515
753
  clientId: 'Schema',
516
754
  bindingVersion: { type: 'string' },
517
755
  },
756
+ description: 'Protocol-specific information for a Kafka operation.',
757
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/kafka/README.md#operation',
518
758
  };
519
759
  OperationBindings.properties.kafka = KafkaOperationBinding;
520
760
  // anypointmq
@@ -524,10 +764,14 @@ const AnypointmqChannelBinding = {
524
764
  destinationType: { type: 'string' },
525
765
  bindingVersion: { type: 'string' },
526
766
  },
767
+ description: 'Protocol-specific information for an Anypoint MQ channel.',
768
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/anypointmq/README.md#channel',
527
769
  };
528
770
  ChannelBindings.properties.anypointmq = AnypointmqChannelBinding;
529
771
  const AnypointmqServerBinding = {
530
772
  properties: {}, // empty object
773
+ description: 'Protocol-specific information for an Anypoint MQ server.',
774
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/anypointmq#server',
531
775
  };
532
776
  ServerBindings.properties.anypointmq = AnypointmqServerBinding;
533
777
  const AnypointmqMessageBinding = {
@@ -535,19 +779,27 @@ const AnypointmqMessageBinding = {
535
779
  headers: 'Schema',
536
780
  bindingVersion: { type: 'string' },
537
781
  },
782
+ description: 'Protocol-specific information for an Anypoint MQ message.',
783
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/anypointmq/README.md#message',
538
784
  };
539
785
  MessageBindings.properties.anypointmq = AnypointmqMessageBinding;
540
786
  const AnypointmqOperationBinding = {
541
787
  properties: {}, // empty object
788
+ description: 'Protocol-specific information for an Anypoint MQ operation.',
789
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/anypointmq/README.md#operation',
542
790
  };
543
791
  OperationBindings.properties.anypointmq = AnypointmqOperationBinding;
544
792
  // amqp
545
793
  const AmqpChannelBinding = {
546
794
  properties: {}, // empty object
795
+ description: 'Protocol-specific information for an AMQP 0-9-1 channel.',
796
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/amqp/README.md#channel',
547
797
  };
548
798
  ChannelBindings.properties.amqp = AmqpChannelBinding;
549
799
  const AmqpServerBinding = {
550
800
  properties: {}, // empty object
801
+ description: 'Protocol-specific information for an AMQP 0-9-1 server.',
802
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/amqp#server',
551
803
  };
552
804
  ServerBindings.properties.amqp = AmqpServerBinding;
553
805
  const AmqpMessageBinding = {
@@ -556,6 +808,8 @@ const AmqpMessageBinding = {
556
808
  messageType: { type: 'string' },
557
809
  bindingVersion: { type: 'string' },
558
810
  },
811
+ description: 'Protocol-specific information for an AMQP 0-9-1 message.',
812
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/amqp/README.md#message',
559
813
  };
560
814
  MessageBindings.properties.amqp = AmqpMessageBinding;
561
815
  const AmqpOperationBinding = {
@@ -573,23 +827,33 @@ const AmqpOperationBinding = {
573
827
  ack: { type: 'boolean' },
574
828
  bindingVersion: { type: 'string' },
575
829
  },
830
+ description: 'Protocol-specific information for an AMQP 0-9-1 operation.',
831
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/amqp/README.md#operation',
576
832
  };
577
833
  OperationBindings.properties.amqp = AmqpOperationBinding;
578
834
  // amqp1
579
835
  const Amqp1ChannelBinding = {
580
836
  properties: {}, // empty object
837
+ description: 'Protocol-specific information for an AMQP 1.0 channel.',
838
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/amqp1/README.md#channel',
581
839
  };
582
840
  ChannelBindings.properties.amqp1 = Amqp1ChannelBinding;
583
841
  const Amqp1ServerBinding = {
584
842
  properties: {}, // empty object
843
+ description: 'Protocol-specific information for an AMQP 1.0 server.',
844
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/amqp1#server',
585
845
  };
586
846
  ServerBindings.properties.amqp1 = Amqp1ServerBinding;
587
847
  const Amqp1MessageBinding = {
588
848
  properties: {}, // empty object
849
+ description: 'Binding Protocol-specific information for an AMQP 1.0 message.',
850
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/amqp1/README.md#message',
589
851
  };
590
852
  MessageBindings.properties.amqp1 = Amqp1MessageBinding;
591
853
  const Amqp1OperationBinding = {
592
- properties: {}, // empty object
854
+ properties: {}, // empty object,
855
+ description: 'Protocol-specific information for an AMQP 1.0 operation.',
856
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/amqp1/README.md#operation',
593
857
  };
594
858
  OperationBindings.properties.amqp1 = Amqp1OperationBinding;
595
859
  // mqtt
@@ -599,6 +863,8 @@ const MqttChannelBinding = {
599
863
  retain: { type: 'boolean' },
600
864
  bindingVersion: { type: 'string' },
601
865
  },
866
+ description: 'Protocol-specific information for an MQTT channel.',
867
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/mqtt/README.md#channel',
602
868
  };
603
869
  ChannelBindings.properties.mqtt = MqttChannelBinding;
604
870
  const MqttServerBindingLastWill = {
@@ -617,12 +883,16 @@ const MqttServerBinding = {
617
883
  keepAlive: { type: 'integer' },
618
884
  bindingVersion: { type: 'string' },
619
885
  },
886
+ description: 'Protocol-specific information for an MQTT server.',
887
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mqtt#server',
620
888
  };
621
889
  ServerBindings.properties.mqtt = MqttServerBinding;
622
890
  const MqttMessageBinding = {
623
891
  properties: {
624
892
  bindingVersion: { type: 'string' },
625
893
  },
894
+ description: 'Protocol-specific information for an MQTT message.',
895
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/mqtt/README.md#message',
626
896
  };
627
897
  MessageBindings.properties.mqtt = MqttMessageBinding;
628
898
  const MqttOperationBinding = {
@@ -631,36 +901,52 @@ const MqttOperationBinding = {
631
901
  retain: { type: 'boolean' },
632
902
  bindingVersion: { type: 'string' },
633
903
  },
904
+ description: 'Protocol-specific information for an MQTT operation.',
905
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/mqtt/README.md#operation',
634
906
  };
635
907
  OperationBindings.properties.mqtt = MqttOperationBinding;
636
908
  // mqtt5
637
909
  const Mqtt5ChannelBinding = {
638
910
  properties: {}, // empty object
911
+ description: 'Protocol-specific information for an MQTT 5 channel.',
912
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mqtt5#channel',
639
913
  };
640
914
  ChannelBindings.properties.mqtt5 = Mqtt5ChannelBinding;
641
915
  const Mqtt5ServerBinding = {
642
916
  properties: {}, // empty object
917
+ description: 'Protocol-specific information for an MQTT 5 server.',
918
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mqtt5#server',
643
919
  };
644
920
  ServerBindings.properties.mqtt5 = Mqtt5ServerBinding;
645
921
  const Mqtt5MessageBinding = {
646
922
  properties: {}, // empty object
923
+ description: 'Protocol-specific information for an MQTT 5 message.',
924
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/mqtt5/README.md#message',
647
925
  };
648
926
  MessageBindings.properties.mqtt5 = Mqtt5MessageBinding;
649
927
  const Mqtt5OperationBinding = {
650
928
  properties: {}, // empty object
929
+ description: 'Protocol-specific information for an MQTT 5 operation.',
930
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/mqtt5/README.md#operation',
651
931
  };
652
932
  OperationBindings.properties.mqtt5 = Mqtt5OperationBinding;
653
933
  // nats
654
934
  const NatsChannelBinding = {
655
935
  properties: {}, // empty object
936
+ description: 'Protocol-specific information for a NATS channel.',
937
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/nats/README.md#channel',
656
938
  };
657
939
  ChannelBindings.properties.nats = NatsChannelBinding;
658
940
  const NatsServerBinding = {
659
941
  properties: {}, // empty object
942
+ description: 'Protocol-specific information for a NATS server.',
943
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/nats#server',
660
944
  };
661
945
  ServerBindings.properties.nats = NatsServerBinding;
662
946
  const NatsMessageBinding = {
663
947
  properties: {}, // empty object
948
+ description: 'Protocol-specific information for a NATS message.',
949
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/nats/README.md#message',
664
950
  };
665
951
  MessageBindings.properties.nats = NatsMessageBinding;
666
952
  const NatsOperationBinding = {
@@ -668,6 +954,8 @@ const NatsOperationBinding = {
668
954
  queue: { type: 'string' },
669
955
  bindingVersion: { type: 'string' },
670
956
  },
957
+ description: 'Protocol-specific information for a NATS operation.',
958
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/nats/README.md#operation',
671
959
  };
672
960
  OperationBindings.properties.nats = NatsOperationBinding;
673
961
  // jms
@@ -677,10 +965,14 @@ const JmsChannelBinding = {
677
965
  destinationType: { type: 'string' },
678
966
  bindingVersion: { type: 'string' },
679
967
  },
968
+ description: 'Protocol-specific information for a JMS channel.',
969
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/jms/README.md#channel',
680
970
  };
681
971
  ChannelBindings.properties.jms = JmsChannelBinding;
682
972
  const JmsServerBinding = {
683
973
  properties: {}, // empty object
974
+ description: 'Protocol-specific information for a JMS server.',
975
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/jms#server',
684
976
  };
685
977
  ServerBindings.properties.jms = JmsServerBinding;
686
978
  const JmsMessageBinding = {
@@ -688,6 +980,8 @@ const JmsMessageBinding = {
688
980
  headers: 'Schema',
689
981
  bindingVersion: { type: 'string' },
690
982
  },
983
+ description: 'Protocol-specific information for a JMS message.',
984
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/jms/README.md#message',
691
985
  };
692
986
  MessageBindings.properties.jms = JmsMessageBinding;
693
987
  const JmsOperationBinding = {
@@ -695,12 +989,16 @@ const JmsOperationBinding = {
695
989
  headers: 'Schema',
696
990
  bindingVersion: { type: 'string' },
697
991
  },
992
+ description: 'Protocol-specific information for a JMS operation.',
993
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/jms/README.md#operation',
698
994
  };
699
995
  OperationBindings.properties.jms = JmsOperationBinding;
700
996
  // sns
701
997
  // solace
702
998
  const SolaceChannelBinding = {
703
999
  properties: {}, // empty object
1000
+ description: 'Protocol-specific information for a Solace channel.',
1001
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/solace#channel',
704
1002
  };
705
1003
  ChannelBindings.properties.solace = SolaceChannelBinding;
706
1004
  const SolaceServerBinding = {
@@ -708,10 +1006,14 @@ const SolaceServerBinding = {
708
1006
  bindingVersion: { type: 'string' },
709
1007
  msgVpn: { type: 'string' },
710
1008
  },
1009
+ description: 'Protocol-specific information for a Solace message.',
1010
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/solace#message',
711
1011
  };
712
1012
  ServerBindings.properties.solace = SolaceServerBinding;
713
1013
  const SolaceMessageBinding = {
714
1014
  properties: {}, // empty object
1015
+ description: 'Protocol-specific information for a Solace message.',
1016
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/solace#message',
715
1017
  };
716
1018
  MessageBindings.properties.solace = SolaceMessageBinding;
717
1019
  const SolaceDestination = {
@@ -731,58 +1033,84 @@ const SolaceOperationBinding = {
731
1033
  bindingVersion: { type: 'string' },
732
1034
  destinations: listOf('SolaceDestination'),
733
1035
  },
1036
+ description: 'Protocol-specific information for a Solace operation.',
1037
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/solace#operation',
734
1038
  };
735
1039
  OperationBindings.properties.solace = SolaceOperationBinding;
736
1040
  // sqs
737
1041
  // stomp
738
1042
  const StompChannelBinding = {
739
1043
  properties: {}, // empty object
1044
+ description: 'Protocol-specific information for a STOMP channel.',
1045
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/stomp/README.md#channel',
740
1046
  };
741
1047
  ChannelBindings.properties.stomp = StompChannelBinding;
742
1048
  const StompServerBinding = {
743
1049
  properties: {}, // empty object
1050
+ description: 'Protocol-specific information for a STOMP server.',
1051
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/stomp#server',
744
1052
  };
745
1053
  ServerBindings.properties.stomp = StompServerBinding;
746
1054
  const StompMessageBinding = {
747
1055
  properties: {}, // empty object
1056
+ description: 'Protocol-specific information for a STOMP message.',
1057
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/stomp/README.md#message',
748
1058
  };
749
1059
  MessageBindings.properties.stomp = StompMessageBinding;
750
1060
  const StompOperationBinding = {
751
1061
  properties: {}, // empty object
1062
+ description: 'Protocol-specific information for a STOMP operation.',
1063
+ documentationLink: 'https://github.com/asyncapi/bindings/blob/master/stomp/README.md#operation',
752
1064
  };
753
1065
  OperationBindings.properties.stomp = StompOperationBinding;
754
1066
  // redis
755
1067
  const RedisChannelBinding = {
756
1068
  properties: {}, // empty object
1069
+ description: 'Protocol-specific information for a Redis channel.',
1070
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/redis#channel',
757
1071
  };
758
1072
  ChannelBindings.properties.redis = RedisChannelBinding;
759
1073
  const RedisServerBinding = {
760
1074
  properties: {}, // empty object
1075
+ description: 'Protocol-specific information for a Redis server.',
1076
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/redis#server',
761
1077
  };
762
1078
  ServerBindings.properties.redis = RedisServerBinding;
763
1079
  const RedisMessageBinding = {
764
1080
  properties: {}, // empty object
1081
+ description: 'Protocol-specific information for a Redis message.',
1082
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/redis#message',
765
1083
  };
766
1084
  MessageBindings.properties.redis = RedisMessageBinding;
767
1085
  const RedisOperationBinding = {
768
1086
  properties: {}, // empty object
1087
+ description: 'Protocol-specific information for a Redis operation.',
1088
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/redis#operation',
769
1089
  };
770
1090
  OperationBindings.properties.redis = RedisOperationBinding;
771
1091
  // mercure
772
1092
  const MercureChannelBinding = {
773
1093
  properties: {}, // empty object
1094
+ description: 'Protocol-specific information for a Mercure channel.',
1095
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mercure#channel',
774
1096
  };
775
1097
  ChannelBindings.properties.mercure = MercureChannelBinding;
776
1098
  const MercureServerBinding = {
777
1099
  properties: {}, // empty object
1100
+ description: 'Protocol-specific information for a Mercure server.',
1101
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mercure#server',
778
1102
  };
779
1103
  ServerBindings.properties.mercure = MercureServerBinding;
780
1104
  const MercureMessageBinding = {
781
1105
  properties: {}, // empty object
1106
+ description: 'Protocol-specific information for a Mercure message.',
1107
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mercure#message',
782
1108
  };
783
1109
  MessageBindings.properties.mercure = MercureMessageBinding;
784
1110
  const MercureOperationBinding = {
785
1111
  properties: {}, // empty object
1112
+ description: 'Protocol-specific information for a Mercure operation.',
1113
+ documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mercure#operation',
786
1114
  };
787
1115
  OperationBindings.properties.mercure = MercureOperationBinding;
788
1116
  // ibmmq