@redocly/openapi-core 0.0.0-snapshot.1769012238 → 0.0.0-snapshot.1769016804

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 (58) hide show
  1. package/lib/config/config.d.ts +5 -3
  2. package/lib/config/config.d.ts.map +1 -1
  3. package/lib/config/config.js +16 -31
  4. package/lib/config/config.js.map +1 -1
  5. package/lib/config/load.d.ts +4 -2
  6. package/lib/config/load.d.ts.map +1 -1
  7. package/lib/config/load.js +22 -2
  8. package/lib/config/load.js.map +1 -1
  9. package/lib/config/types.d.ts +5 -0
  10. package/lib/config/types.d.ts.map +1 -1
  11. package/lib/index.d.ts +2 -2
  12. package/lib/index.d.ts.map +1 -1
  13. package/lib/index.js +2 -2
  14. package/lib/index.js.map +1 -1
  15. package/lib/oas-types.d.ts +0 -190
  16. package/lib/oas-types.d.ts.map +1 -1
  17. package/lib/ref-utils.d.ts +2 -0
  18. package/lib/ref-utils.d.ts.map +1 -1
  19. package/lib/ref-utils.js +16 -1
  20. package/lib/ref-utils.js.map +1 -1
  21. package/lib/types/arazzo.d.ts.map +1 -1
  22. package/lib/types/arazzo.js +44 -210
  23. package/lib/types/arazzo.js.map +1 -1
  24. package/lib/types/asyncapi2.d.ts.map +1 -1
  25. package/lib/types/asyncapi2.js +57 -385
  26. package/lib/types/asyncapi2.js.map +1 -1
  27. package/lib/types/asyncapi3.d.ts.map +1 -1
  28. package/lib/types/asyncapi3.js +47 -228
  29. package/lib/types/asyncapi3.js.map +1 -1
  30. package/lib/types/index.d.ts +2 -18
  31. package/lib/types/index.d.ts.map +1 -1
  32. package/lib/types/index.js +2 -4
  33. package/lib/types/index.js.map +1 -1
  34. package/lib/types/oas2.d.ts +0 -22
  35. package/lib/types/oas2.d.ts.map +1 -1
  36. package/lib/types/oas3.d.ts +0 -44
  37. package/lib/types/oas3.d.ts.map +1 -1
  38. package/lib/types/oas3.js +70 -345
  39. package/lib/types/oas3.js.map +1 -1
  40. package/lib/types/oas3_1.d.ts +0 -46
  41. package/lib/types/oas3_1.d.ts.map +1 -1
  42. package/lib/types/oas3_1.js +29 -38
  43. package/lib/types/oas3_1.js.map +1 -1
  44. package/lib/types/oas3_2.d.ts +0 -46
  45. package/lib/types/oas3_2.d.ts.map +1 -1
  46. package/lib/types/oas3_2.js +23 -101
  47. package/lib/types/oas3_2.js.map +1 -1
  48. package/lib/types/openrpc.d.ts +0 -32
  49. package/lib/types/openrpc.d.ts.map +1 -1
  50. package/lib/types/openrpc.js +46 -215
  51. package/lib/types/openrpc.js.map +1 -1
  52. package/lib/types/overlay.d.ts.map +1 -1
  53. package/lib/types/overlay.js +7 -34
  54. package/lib/types/overlay.js.map +1 -1
  55. package/lib/types/redocly-yaml.d.ts.map +1 -1
  56. package/lib/types/redocly-yaml.js +22 -132
  57. package/lib/types/redocly-yaml.js.map +1 -1
  58. package/package.json +1 -1
@@ -4,10 +4,7 @@ const Root = {
4
4
  properties: {
5
5
  asyncapi: null, // TODO: validate semver format and supported version
6
6
  info: 'Info',
7
- id: {
8
- type: 'string',
9
- description: 'Identifier of the application the AsyncAPI document is defining.',
10
- },
7
+ id: { type: 'string' },
11
8
  servers: 'ServerMap',
12
9
  channels: 'ChannelMap',
13
10
  components: 'Components',
@@ -16,26 +13,16 @@ const Root = {
16
13
  defaultContentType: { type: 'string' },
17
14
  },
18
15
  required: ['asyncapi', 'channels', 'info'],
19
- documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.0.0',
20
16
  };
21
17
  const Channel = {
22
18
  properties: {
23
- description: {
24
- type: 'string',
25
- description: 'An optional description of this channel item. CommonMark syntax can be used for rich text representation.',
26
- },
19
+ description: { type: 'string' },
27
20
  subscribe: 'Operation',
28
21
  publish: 'Operation',
29
22
  parameters: 'ParametersMap',
30
23
  bindings: 'ChannelBindings',
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
- },
24
+ servers: { type: 'array', items: { type: 'string' } },
36
25
  },
37
- description: 'Describes the operations available on a single channel.',
38
- documentationLink: 'https://v2.asyncapi.com/docs/concepts/channel',
39
26
  };
40
27
  const ChannelMap = {
41
28
  properties: {},
@@ -68,42 +55,25 @@ const ChannelBindings = {
68
55
  ];
69
56
  },
70
57
  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.',
73
58
  };
74
59
  export const Tag = {
75
60
  properties: {
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
- },
61
+ name: { type: 'string' },
62
+ description: { type: 'string' },
81
63
  externalDocs: 'ExternalDocs',
82
64
  },
83
65
  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',
86
66
  };
87
67
  export const ExternalDocs = {
88
68
  properties: {
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
- },
69
+ description: { type: 'string' },
70
+ url: { type: 'string' },
97
71
  },
98
72
  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.',
101
73
  };
102
74
  const SecurityRequirement = {
103
75
  properties: {},
104
76
  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.',
107
77
  };
108
78
  const ServerBindings = {
109
79
  properties: {},
@@ -132,35 +102,19 @@ const ServerBindings = {
132
102
  ];
133
103
  },
134
104
  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.',
137
105
  };
138
106
  const Server = {
139
107
  properties: {
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
- },
108
+ url: { type: 'string' },
109
+ protocol: { type: 'string' },
110
+ protocolVersion: { type: 'string' },
111
+ description: { type: 'string' },
156
112
  variables: 'ServerVariablesMap',
157
113
  security: 'SecurityRequirementList',
158
114
  bindings: 'ServerBindings',
159
115
  tags: 'TagList',
160
116
  },
161
117
  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.',
164
118
  };
165
119
  export const ServerMap = {
166
120
  properties: {},
@@ -173,147 +127,67 @@ export const ServerVariable = {
173
127
  enum: {
174
128
  type: 'array',
175
129
  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.',
185
130
  },
131
+ default: { type: 'string' },
132
+ description: { type: 'string' },
186
133
  examples: {
187
134
  type: 'array',
188
135
  items: { type: 'string' },
189
- description: 'An array of examples of the server variable.',
190
136
  },
191
137
  },
192
138
  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.',
195
139
  };
196
140
  const Info = {
197
141
  properties: {
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
- },
142
+ title: { type: 'string' },
143
+ version: { type: 'string' },
144
+ description: { type: 'string' },
145
+ termsOfService: { type: 'string' },
214
146
  contact: 'Contact',
215
147
  license: 'License',
216
148
  },
217
149
  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.',
220
150
  };
221
151
  export const Contact = {
222
152
  properties: {
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
- },
153
+ name: { type: 'string' },
154
+ url: { type: 'string' },
155
+ email: { type: 'string' },
235
156
  },
236
- documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#contactObject',
237
- description: 'Contact information for the exposed API.',
238
157
  };
239
158
  export const License = {
240
159
  properties: {
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
- },
160
+ name: { type: 'string' },
161
+ url: { type: 'string' },
249
162
  },
250
163
  required: ['name'],
251
- documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#licenseObject',
252
- description: 'License information for the exposed API.',
253
164
  };
254
165
  const Parameter = {
255
166
  properties: {
256
- description: {
257
- type: 'string',
258
- description: 'A verbose explanation of the parameter. CommonMark syntax can be used for rich text representation.',
259
- },
167
+ description: { type: 'string' },
260
168
  schema: 'Schema',
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
- },
169
+ location: { type: 'string' },
265
170
  },
266
- documentationLink: 'https://v2.asyncapi.com/docs/reference/specification/v2.6.0#parameterObject',
267
- description: 'Describes a parameter included in a channel name.',
268
171
  };
269
172
  export const CorrelationId = {
270
173
  properties: {
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
- },
174
+ description: { type: 'string' },
175
+ location: { type: 'string' },
279
176
  },
280
177
  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.',
283
178
  };
284
179
  const Message = {
285
180
  properties: {
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
- },
181
+ messageId: { type: 'string' },
290
182
  headers: 'Schema',
291
183
  payload: 'Schema', // TODO: strictly this does not cover all cases
292
184
  correlationId: 'CorrelationId',
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
- },
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' },
317
191
  tags: 'TagList',
318
192
  externalDocs: 'ExternalDocs',
319
193
  bindings: 'MessageBindings',
@@ -321,8 +195,6 @@ const Message = {
321
195
  traits: 'MessageTraitList',
322
196
  },
323
197
  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.',
326
198
  };
327
199
  const MessageBindings = {
328
200
  properties: {},
@@ -351,8 +223,6 @@ const MessageBindings = {
351
223
  ];
352
224
  },
353
225
  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.',
356
226
  };
357
227
  const OperationBindings = {
358
228
  properties: {},
@@ -381,119 +251,58 @@ const OperationBindings = {
381
251
  ];
382
252
  },
383
253
  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.',
386
254
  };
387
255
  const OperationTrait = {
388
256
  properties: {
389
257
  tags: 'TagList',
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
- },
258
+ summary: { type: 'string' },
259
+ description: { type: 'string' },
398
260
  externalDocs: 'ExternalDocs',
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
- },
261
+ operationId: { type: 'string' },
403
262
  security: 'SecurityRequirementList',
404
263
  bindings: 'OperationBindings',
405
264
  },
406
265
  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.',
409
266
  };
410
267
  const MessageTrait = {
411
268
  properties: {
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
- },
269
+ messageId: { type: 'string' },
416
270
  headers: 'Schema',
417
271
  correlationId: 'CorrelationId',
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
- },
272
+ schemaFormat: { type: 'string' },
273
+ contentType: { type: 'string' },
274
+ name: { type: 'string' },
275
+ title: { type: 'string' },
276
+ summary: { type: 'string' },
277
+ description: { type: 'string' },
442
278
  tags: 'TagList',
443
279
  externalDocs: 'ExternalDocs',
444
280
  bindings: 'MessageBindings',
445
281
  examples: 'MessageExampleList',
446
282
  },
447
283
  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.',
450
284
  };
451
285
  const Operation = {
452
286
  properties: {
453
287
  tags: 'TagList',
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
- },
288
+ summary: { type: 'string' },
289
+ description: { type: 'string' },
462
290
  externalDocs: 'ExternalDocs',
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
- },
291
+ operationId: { type: 'string' },
467
292
  security: 'SecurityRequirementList',
468
293
  bindings: 'OperationBindings',
469
294
  traits: 'OperationTraitList',
470
295
  message: 'Message',
471
296
  },
472
297
  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.',
475
298
  };
476
299
  export const MessageExample = {
477
300
  properties: {
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
- },
301
+ payload: { isExample: true },
302
+ summary: { type: 'string' },
303
+ name: { type: 'string' },
304
+ headers: { type: 'object' },
494
305
  },
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.',
497
306
  };
498
307
  const Components = {
499
308
  properties: {
@@ -520,7 +329,6 @@ const ImplicitFlow = {
520
329
  authorizationUrl: { type: 'string' },
521
330
  },
522
331
  required: ['authorizationUrl', 'scopes'],
523
- description: 'Configuration for the OAuth Implicit flow.',
524
332
  };
525
333
  const PasswordFlow = {
526
334
  properties: {
@@ -529,7 +337,6 @@ const PasswordFlow = {
529
337
  tokenUrl: { type: 'string' },
530
338
  },
531
339
  required: ['tokenUrl', 'scopes'],
532
- description: 'Configuration for the OAuth Password flow.',
533
340
  };
534
341
  const ClientCredentials = {
535
342
  properties: {
@@ -538,7 +345,6 @@ const ClientCredentials = {
538
345
  tokenUrl: { type: 'string' },
539
346
  },
540
347
  required: ['tokenUrl', 'scopes'],
541
- description: 'Configuration for the OAuth Client Credentials flow.',
542
348
  };
543
349
  const AuthorizationCode = {
544
350
  properties: {
@@ -548,7 +354,6 @@ const AuthorizationCode = {
548
354
  tokenUrl: { type: 'string' },
549
355
  },
550
356
  required: ['authorizationUrl', 'tokenUrl', 'scopes'],
551
- description: 'Configuration for the OAuth Authorization Code flow.',
552
357
  };
553
358
  export const SecuritySchemeFlows = {
554
359
  properties: {
@@ -577,32 +382,13 @@ const SecurityScheme = {
577
382
  'gssapi',
578
383
  ],
579
384
  },
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
- },
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' },
601
390
  flows: 'SecuritySchemeFlows',
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
- },
391
+ openIdConnectUrl: { type: 'string' },
606
392
  },
607
393
  required(value) {
608
394
  switch (value?.type) {
@@ -637,21 +423,15 @@ const SecurityScheme = {
637
423
  }
638
424
  },
639
425
  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.',
642
426
  };
643
427
  // --- Per-protocol node types
644
428
  // http
645
429
  const HttpChannelBinding = {
646
430
  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',
649
431
  };
650
432
  ChannelBindings.properties.http = HttpChannelBinding;
651
433
  const HttpServerBinding = {
652
434
  properties: {}, // empty object
653
- description: 'Protocol-specific information for an HTTP server.',
654
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/http#server',
655
435
  };
656
436
  ServerBindings.properties.http = HttpServerBinding;
657
437
  const HttpMessageBinding = {
@@ -659,8 +439,6 @@ const HttpMessageBinding = {
659
439
  headers: 'Schema',
660
440
  bindingVersion: { type: 'string' },
661
441
  },
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',
664
442
  };
665
443
  MessageBindings.properties.http = HttpMessageBinding;
666
444
  const HttpOperationBinding = {
@@ -673,8 +451,6 @@ const HttpOperationBinding = {
673
451
  headers: 'Schema',
674
452
  bindingVersion: { type: 'string' },
675
453
  },
676
- description: 'Protocol-specific information for an HTTP operation.',
677
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/http/README.md#operation',
678
454
  };
679
455
  OperationBindings.properties.http = HttpOperationBinding;
680
456
  // ws
@@ -685,26 +461,18 @@ const WsChannelBinding = {
685
461
  headers: 'Schema',
686
462
  bindingVersion: { type: 'string' },
687
463
  },
688
- description: 'Protocol-specific information for a WebSockets channel.',
689
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/websockets/README.md#channel',
690
464
  };
691
465
  ChannelBindings.properties.ws = WsChannelBinding;
692
466
  const WsServerBinding = {
693
467
  properties: {}, // empty object
694
- description: 'Protocol-specific information for a WebSockets server.',
695
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/websockets#server',
696
468
  };
697
469
  ServerBindings.properties.ws = WsServerBinding;
698
470
  const WsMessageBinding = {
699
471
  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',
702
472
  };
703
473
  MessageBindings.properties.ws = WsMessageBinding;
704
474
  const WsOperationBinding = {
705
475
  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',
708
476
  };
709
477
  OperationBindings.properties.ws = WsOperationBinding;
710
478
  // kafka
@@ -725,14 +493,10 @@ const KafkaChannelBinding = {
725
493
  topicConfiguration: 'KafkaTopicConfiguration',
726
494
  bindingVersion: { type: 'string' },
727
495
  },
728
- description: 'Protocol-specific information for a Kafka channel.',
729
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/kafka/README.md#channel',
730
496
  };
731
497
  ChannelBindings.properties.kafka = KafkaChannelBinding;
732
498
  const KafkaServerBinding = {
733
499
  properties: {}, // empty object
734
- description: 'Protocol-specific information for a Kafka server.',
735
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/kafka#server',
736
500
  };
737
501
  ServerBindings.properties.kafka = KafkaServerBinding;
738
502
  const KafkaMessageBinding = {
@@ -743,8 +507,6 @@ const KafkaMessageBinding = {
743
507
  schemaLookupStrategy: { type: 'string' },
744
508
  bindingVersion: { type: 'string' },
745
509
  },
746
- description: 'Protocol-specific information for a Kafka message.',
747
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/kafka/README.md#message',
748
510
  };
749
511
  MessageBindings.properties.kafka = KafkaMessageBinding;
750
512
  const KafkaOperationBinding = {
@@ -753,8 +515,6 @@ const KafkaOperationBinding = {
753
515
  clientId: 'Schema',
754
516
  bindingVersion: { type: 'string' },
755
517
  },
756
- description: 'Protocol-specific information for a Kafka operation.',
757
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/kafka/README.md#operation',
758
518
  };
759
519
  OperationBindings.properties.kafka = KafkaOperationBinding;
760
520
  // anypointmq
@@ -764,14 +524,10 @@ const AnypointmqChannelBinding = {
764
524
  destinationType: { type: 'string' },
765
525
  bindingVersion: { type: 'string' },
766
526
  },
767
- description: 'Protocol-specific information for an Anypoint MQ channel.',
768
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/anypointmq/README.md#channel',
769
527
  };
770
528
  ChannelBindings.properties.anypointmq = AnypointmqChannelBinding;
771
529
  const AnypointmqServerBinding = {
772
530
  properties: {}, // empty object
773
- description: 'Protocol-specific information for an Anypoint MQ server.',
774
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/anypointmq#server',
775
531
  };
776
532
  ServerBindings.properties.anypointmq = AnypointmqServerBinding;
777
533
  const AnypointmqMessageBinding = {
@@ -779,27 +535,19 @@ const AnypointmqMessageBinding = {
779
535
  headers: 'Schema',
780
536
  bindingVersion: { type: 'string' },
781
537
  },
782
- description: 'Protocol-specific information for an Anypoint MQ message.',
783
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/anypointmq/README.md#message',
784
538
  };
785
539
  MessageBindings.properties.anypointmq = AnypointmqMessageBinding;
786
540
  const AnypointmqOperationBinding = {
787
541
  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',
790
542
  };
791
543
  OperationBindings.properties.anypointmq = AnypointmqOperationBinding;
792
544
  // amqp
793
545
  const AmqpChannelBinding = {
794
546
  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',
797
547
  };
798
548
  ChannelBindings.properties.amqp = AmqpChannelBinding;
799
549
  const AmqpServerBinding = {
800
550
  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',
803
551
  };
804
552
  ServerBindings.properties.amqp = AmqpServerBinding;
805
553
  const AmqpMessageBinding = {
@@ -808,8 +556,6 @@ const AmqpMessageBinding = {
808
556
  messageType: { type: 'string' },
809
557
  bindingVersion: { type: 'string' },
810
558
  },
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',
813
559
  };
814
560
  MessageBindings.properties.amqp = AmqpMessageBinding;
815
561
  const AmqpOperationBinding = {
@@ -827,33 +573,23 @@ const AmqpOperationBinding = {
827
573
  ack: { type: 'boolean' },
828
574
  bindingVersion: { type: 'string' },
829
575
  },
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',
832
576
  };
833
577
  OperationBindings.properties.amqp = AmqpOperationBinding;
834
578
  // amqp1
835
579
  const Amqp1ChannelBinding = {
836
580
  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',
839
581
  };
840
582
  ChannelBindings.properties.amqp1 = Amqp1ChannelBinding;
841
583
  const Amqp1ServerBinding = {
842
584
  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',
845
585
  };
846
586
  ServerBindings.properties.amqp1 = Amqp1ServerBinding;
847
587
  const Amqp1MessageBinding = {
848
588
  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',
851
589
  };
852
590
  MessageBindings.properties.amqp1 = Amqp1MessageBinding;
853
591
  const Amqp1OperationBinding = {
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',
592
+ properties: {}, // empty object
857
593
  };
858
594
  OperationBindings.properties.amqp1 = Amqp1OperationBinding;
859
595
  // mqtt
@@ -863,8 +599,6 @@ const MqttChannelBinding = {
863
599
  retain: { type: 'boolean' },
864
600
  bindingVersion: { type: 'string' },
865
601
  },
866
- description: 'Protocol-specific information for an MQTT channel.',
867
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/mqtt/README.md#channel',
868
602
  };
869
603
  ChannelBindings.properties.mqtt = MqttChannelBinding;
870
604
  const MqttServerBindingLastWill = {
@@ -883,16 +617,12 @@ const MqttServerBinding = {
883
617
  keepAlive: { type: 'integer' },
884
618
  bindingVersion: { type: 'string' },
885
619
  },
886
- description: 'Protocol-specific information for an MQTT server.',
887
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mqtt#server',
888
620
  };
889
621
  ServerBindings.properties.mqtt = MqttServerBinding;
890
622
  const MqttMessageBinding = {
891
623
  properties: {
892
624
  bindingVersion: { type: 'string' },
893
625
  },
894
- description: 'Protocol-specific information for an MQTT message.',
895
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/mqtt/README.md#message',
896
626
  };
897
627
  MessageBindings.properties.mqtt = MqttMessageBinding;
898
628
  const MqttOperationBinding = {
@@ -901,52 +631,36 @@ const MqttOperationBinding = {
901
631
  retain: { type: 'boolean' },
902
632
  bindingVersion: { type: 'string' },
903
633
  },
904
- description: 'Protocol-specific information for an MQTT operation.',
905
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/mqtt/README.md#operation',
906
634
  };
907
635
  OperationBindings.properties.mqtt = MqttOperationBinding;
908
636
  // mqtt5
909
637
  const Mqtt5ChannelBinding = {
910
638
  properties: {}, // empty object
911
- description: 'Protocol-specific information for an MQTT 5 channel.',
912
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mqtt5#channel',
913
639
  };
914
640
  ChannelBindings.properties.mqtt5 = Mqtt5ChannelBinding;
915
641
  const Mqtt5ServerBinding = {
916
642
  properties: {}, // empty object
917
- description: 'Protocol-specific information for an MQTT 5 server.',
918
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mqtt5#server',
919
643
  };
920
644
  ServerBindings.properties.mqtt5 = Mqtt5ServerBinding;
921
645
  const Mqtt5MessageBinding = {
922
646
  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',
925
647
  };
926
648
  MessageBindings.properties.mqtt5 = Mqtt5MessageBinding;
927
649
  const Mqtt5OperationBinding = {
928
650
  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',
931
651
  };
932
652
  OperationBindings.properties.mqtt5 = Mqtt5OperationBinding;
933
653
  // nats
934
654
  const NatsChannelBinding = {
935
655
  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',
938
656
  };
939
657
  ChannelBindings.properties.nats = NatsChannelBinding;
940
658
  const NatsServerBinding = {
941
659
  properties: {}, // empty object
942
- description: 'Protocol-specific information for a NATS server.',
943
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/nats#server',
944
660
  };
945
661
  ServerBindings.properties.nats = NatsServerBinding;
946
662
  const NatsMessageBinding = {
947
663
  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',
950
664
  };
951
665
  MessageBindings.properties.nats = NatsMessageBinding;
952
666
  const NatsOperationBinding = {
@@ -954,8 +668,6 @@ const NatsOperationBinding = {
954
668
  queue: { type: 'string' },
955
669
  bindingVersion: { type: 'string' },
956
670
  },
957
- description: 'Protocol-specific information for a NATS operation.',
958
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/nats/README.md#operation',
959
671
  };
960
672
  OperationBindings.properties.nats = NatsOperationBinding;
961
673
  // jms
@@ -965,14 +677,10 @@ const JmsChannelBinding = {
965
677
  destinationType: { type: 'string' },
966
678
  bindingVersion: { type: 'string' },
967
679
  },
968
- description: 'Protocol-specific information for a JMS channel.',
969
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/jms/README.md#channel',
970
680
  };
971
681
  ChannelBindings.properties.jms = JmsChannelBinding;
972
682
  const JmsServerBinding = {
973
683
  properties: {}, // empty object
974
- description: 'Protocol-specific information for a JMS server.',
975
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/jms#server',
976
684
  };
977
685
  ServerBindings.properties.jms = JmsServerBinding;
978
686
  const JmsMessageBinding = {
@@ -980,8 +688,6 @@ const JmsMessageBinding = {
980
688
  headers: 'Schema',
981
689
  bindingVersion: { type: 'string' },
982
690
  },
983
- description: 'Protocol-specific information for a JMS message.',
984
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/jms/README.md#message',
985
691
  };
986
692
  MessageBindings.properties.jms = JmsMessageBinding;
987
693
  const JmsOperationBinding = {
@@ -989,16 +695,12 @@ const JmsOperationBinding = {
989
695
  headers: 'Schema',
990
696
  bindingVersion: { type: 'string' },
991
697
  },
992
- description: 'Protocol-specific information for a JMS operation.',
993
- documentationLink: 'https://github.com/asyncapi/bindings/blob/master/jms/README.md#operation',
994
698
  };
995
699
  OperationBindings.properties.jms = JmsOperationBinding;
996
700
  // sns
997
701
  // solace
998
702
  const SolaceChannelBinding = {
999
703
  properties: {}, // empty object
1000
- description: 'Protocol-specific information for a Solace channel.',
1001
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/solace#channel',
1002
704
  };
1003
705
  ChannelBindings.properties.solace = SolaceChannelBinding;
1004
706
  const SolaceServerBinding = {
@@ -1006,14 +708,10 @@ const SolaceServerBinding = {
1006
708
  bindingVersion: { type: 'string' },
1007
709
  msgVpn: { type: 'string' },
1008
710
  },
1009
- description: 'Protocol-specific information for a Solace message.',
1010
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/solace#message',
1011
711
  };
1012
712
  ServerBindings.properties.solace = SolaceServerBinding;
1013
713
  const SolaceMessageBinding = {
1014
714
  properties: {}, // empty object
1015
- description: 'Protocol-specific information for a Solace message.',
1016
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/solace#message',
1017
715
  };
1018
716
  MessageBindings.properties.solace = SolaceMessageBinding;
1019
717
  const SolaceDestination = {
@@ -1033,84 +731,58 @@ const SolaceOperationBinding = {
1033
731
  bindingVersion: { type: 'string' },
1034
732
  destinations: listOf('SolaceDestination'),
1035
733
  },
1036
- description: 'Protocol-specific information for a Solace operation.',
1037
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/solace#operation',
1038
734
  };
1039
735
  OperationBindings.properties.solace = SolaceOperationBinding;
1040
736
  // sqs
1041
737
  // stomp
1042
738
  const StompChannelBinding = {
1043
739
  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',
1046
740
  };
1047
741
  ChannelBindings.properties.stomp = StompChannelBinding;
1048
742
  const StompServerBinding = {
1049
743
  properties: {}, // empty object
1050
- description: 'Protocol-specific information for a STOMP server.',
1051
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/stomp#server',
1052
744
  };
1053
745
  ServerBindings.properties.stomp = StompServerBinding;
1054
746
  const StompMessageBinding = {
1055
747
  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',
1058
748
  };
1059
749
  MessageBindings.properties.stomp = StompMessageBinding;
1060
750
  const StompOperationBinding = {
1061
751
  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',
1064
752
  };
1065
753
  OperationBindings.properties.stomp = StompOperationBinding;
1066
754
  // redis
1067
755
  const RedisChannelBinding = {
1068
756
  properties: {}, // empty object
1069
- description: 'Protocol-specific information for a Redis channel.',
1070
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/redis#channel',
1071
757
  };
1072
758
  ChannelBindings.properties.redis = RedisChannelBinding;
1073
759
  const RedisServerBinding = {
1074
760
  properties: {}, // empty object
1075
- description: 'Protocol-specific information for a Redis server.',
1076
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/redis#server',
1077
761
  };
1078
762
  ServerBindings.properties.redis = RedisServerBinding;
1079
763
  const RedisMessageBinding = {
1080
764
  properties: {}, // empty object
1081
- description: 'Protocol-specific information for a Redis message.',
1082
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/redis#message',
1083
765
  };
1084
766
  MessageBindings.properties.redis = RedisMessageBinding;
1085
767
  const RedisOperationBinding = {
1086
768
  properties: {}, // empty object
1087
- description: 'Protocol-specific information for a Redis operation.',
1088
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/redis#operation',
1089
769
  };
1090
770
  OperationBindings.properties.redis = RedisOperationBinding;
1091
771
  // mercure
1092
772
  const MercureChannelBinding = {
1093
773
  properties: {}, // empty object
1094
- description: 'Protocol-specific information for a Mercure channel.',
1095
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mercure#channel',
1096
774
  };
1097
775
  ChannelBindings.properties.mercure = MercureChannelBinding;
1098
776
  const MercureServerBinding = {
1099
777
  properties: {}, // empty object
1100
- description: 'Protocol-specific information for a Mercure server.',
1101
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mercure#server',
1102
778
  };
1103
779
  ServerBindings.properties.mercure = MercureServerBinding;
1104
780
  const MercureMessageBinding = {
1105
781
  properties: {}, // empty object
1106
- description: 'Protocol-specific information for a Mercure message.',
1107
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mercure#message',
1108
782
  };
1109
783
  MessageBindings.properties.mercure = MercureMessageBinding;
1110
784
  const MercureOperationBinding = {
1111
785
  properties: {}, // empty object
1112
- description: 'Protocol-specific information for a Mercure operation.',
1113
- documentationLink: 'https://github.com/asyncapi/bindings/tree/master/mercure#operation',
1114
786
  };
1115
787
  OperationBindings.properties.mercure = MercureOperationBinding;
1116
788
  // ibmmq